Profibus und Zeitkritische Funktionen

lefrog

Level-2
Beiträge
281
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Folgendes Problem: Steuerung S7-315-2DP mit 2x16DI und 2x16DO, über Profibus 7 Servoregler, 10 Frequenzumrichter, 2 Kuka-Roboter und 5 Beckhoff-Buskopplern. Und ein Pilz Pnoz Multi.

Nun werden wir an einer Stelle in der Anlage einen zeitkritischen Prozess haben, in dem uns unnötige Zyklus- oder Übertragungszeiten echt weh tun können. Kann man irgendwie abschätzen wie lange es z.B dauern kann, wenn ein Eingang an einer Busklemme gesetzt wird, bis der entsprechend verknüpfte Ausgang an der selben Busklemme gesetzt wird?

Ich habe da mehrere Lösungsansätze... entweder wird die zeitkritische Busklemme über einen seperaten Controller (Ethernet oder Profibus...) an die SPS angeklemmt. Oder man macht gar nichts. Oder man baut an die entsprechende Stelle in der Anlage eine kleine seperate SPS. Oder man geht mit den Ein- und Ausgängen, welche zeitkritisch sind, direkt in den Schaltschrank auf die E/A Karten (schnelle Karten von Siemens).

Was würdet Ihr empfehlen?

Zur Anwendung: Glasscheiben werden auf einem Übergabeschieber erkannt, Lineareinheit verfährt, Glas wird mit zweitem Zylinder übergeben, zurück in Grundstellung. Abfrage Lineareinheit vorne - hinten, Schieber eingefahren - ausgefahren, Initiatoren Glas erkannt links - rechts. Und dafür einen Takt von 2 Sekunden. Wenn sich also die Verzögerung der Steuerung bei ca. 100-200ms aufhällt, kann ich damit leben...

Achso...Profibus mit 12MB/sec. Daten je Umrichter ca. 10 Worte, Roboter je 10 Worte. Klemmen zusammen ca. 90 Eingänge und 50 Ausgänge.

Viele Grüße, Tobias
 
Hi

Ich mach hier mal eine einfach Rechnung Profi Bus 10ms, das ist schon lange dann kommt deine Zykluszeit der SPS angenommen 20 -30ms im schlechten fall mal 2. Profi Bus mit 10ms wieder zurück dann kommt dein Ausgang in ca. 50-80 ms damit solltest du leben können.

Wenn du die besagten Eingänge als PEW abfragst und den Ausgang als PAW beschreibst dann kommst du nicht über 50ms.
 
Zuletzt bearbeitet:
Hallo
schaue schon eine ganze weile in diesem Forum nach, und bin sehr begeistert darüber.
Hier an dieser Stelle erst einmal ein dickes LOB an die Betreiber.
Zum obrigen Thema habe ich Momentan mit dem gleichen Problem zu tun.
Dort ist als Lösungsansatz eine ET200 mit integrierter CPU verwendet worden.
Sie ist in der Lage selbständig kleinere Rechenoperationen auszuführen, ohne dabei mit dem Master kommunizieren zu müssen
 
@lefrog
Wenn du den Profibus in der Hardwarekonfig eingerichtet hast, kannst du in der CPU/DP unter Eigenschaften/Eigenschaften/Netzeistellungen/Busparameter eine Ttr, Ttr typisch finden. Mach mal die Hilfe dazu auf, da wird erläutert, was das alles genau bedeutet. Damit kann man dei Buszeiten schon mal in etwa abschätzen. Als größeres Problem sehe ich bei dir eher die Zykluszeit der SPS, wo liegt die denn jetzt? Evtl. wäre eine schnellere CPU (VIPA?) ganz nützlich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Danke erst einmal für die Anworten!
Wo die aktuelle Zykluszeit liegt kann ich nicht sagen - ich bin noch voll in der Verdrahtung. Nächste Woche wird das erste mal eingeschaltet, die Busklemmen muss ich noch bestellen. Da ist unser Standart Beckhoff.
Also mit den genannten Zykluszeiten von unter 100ms kann ich sicher leben - ich muss zugeben, ich habe mit weitaus mehr gerechnet.

Viele Grüße, Tobias
 
Hallo Tobias,

falls die OB1-Zykluszeit zu groß werden sollte, kannst du den zeitkritischen Teil eventuell auch im OB35 ausführen (mit Direktzugriff auf Peripherie).


Gruß, Onkel
 
Hallo!

Onkel Dagobert schrieb:
Hallo Tobias,
falls die OB1-Zykluszeit zu groß werden sollte, kannst du den zeitkritischen Teil eventuell auch im OB35 ausführen (mit Direktzugriff auf Peripherie).
Gruß, Onkel

...das interessiert mich nun... kann ich dann einfach die Programmierung für den Teil der Anlage in den OB35 packen? Was bedeutet hier Direktzugriff? Nicht mehr über Ein- und Ausgänge wie A1.0 oder E2.3?

Viele Grüße, Tobias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Direktzugriff bedeutet L PEW bzw. T PAW. Die U E Befehle gehen über das Prozessabbild, die PE-Befehle greifen direkt auf die Peripherie zu. Soweit in der Theorie. In der Praxis sind aber die Profibuszyklen und die SPS-Zyklen nicht synchron. Mit dem Direktzugriff wird somit auf den letzten gültigen Wert im PB-Puffer zugegriffen bzw. der nächste Wert vorgemerkt, der ausgegeben wird (soweit mein Kenntnisstand).
 
lefrog schrieb:
...das interessiert mich nun... kann ich dann einfach die Programmierung für den Teil der Anlage in den OB35 packen? Was bedeutet hier Direktzugriff? Nicht mehr über Ein- und Ausgänge wie A1.0 oder E2.3?

Viele Grüße, Tobias


Ja du greifst dann über das PAW0 für den A1.0 PEW 2 für E2.3,
dadurch bist du nicht vom Prozessabbild der Ein-/Ausgänge abhängig musst allerdings ein wenig aufpassen da du dir auch die anderen Ausgänge überschreibst im gesamten Wort.


PAW = Peripherie ausgangs wort
PAB = Peripherie ausgangs byte

PEB = Peripherie eingangs byte
 
Hallo Tobias,

lefrog schrieb:
... kann ich dann einfach die Programmierung für den Teil der Anlage in den OB35 packen?..
Warum nicht? Der Unterschied ist doch nur, dass dieser Programmteil in einem vorgegebenen Intervall ausgeführt wird. Da der Ob35 den OB1 mehrmals (ja nach Aufrufintervall) unterbricht, verlängert sich der OB1-Zyklus entsprechend. Daten, die du global verwendest und im OB35 schreibend bearbeitest, können natürlich in einem OB1-Zyklus mehrmals den Wert wechseln. Sonst gibt es eigentlich nicht viel zu beachten.

Wenn du mehr als ein Wort vom PEW/PAW bearbeiten möchtest, dann verwende die SFC14/15. Damit kannst du z.Bsp. die gesamten Daten eines Slaves konsistent lesen bzw. schreiben.


Gruß, Onkel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Den SFC14/15 nutze ich für die 17 Umrichter, der Umgang ist mir daher bekannt...
Ein dickes Dankeschön an alle - Ihr habt mir neue Wege gezeigt. Ich bin nun positiv eingestellt und denke, dass das Problem nun sauber und sicher gelöst werden kann - Ansätze habe ich nun genug... ;)

Viele Grüße, Tobias
 
Zurück
Oben