-> Hier kostenlos registrieren
Hallo zusammen,
kann mir vll jmd erklären wie bei Codesys der genau Ablauf beim Abarbeiten einer Schrittkette in AS ist?
Wann wird die Transitionsbedingung eines vorherigen Schittes geprüft? Im gleichen Zyklus der SPS oder im nächsten Zyklus?
Und in Welchem Zyklus wird der darauffolgende Schritt aktiv, sofern die Transitionsbedingung erfüllt ist?
Hintergrund ist die Portierung eines S7-Programms nach IEC61131 in Codesys.
Anscheinend ist die Abarbeitung der Tranistionen bei S7-Graph anders als bei Codesys.
Dazu ein Bsp:
Trans2 prüft ob var. Ready TRUE ist, wenn TRUE erfolg der Übergang ist Schritt 3.
Trans3 prüft unter anderem ebenfalls ob die var. Ready TRUE ist, wenn ja...->Schritt4..
In Schritt 3 wird der Befehl zum Senden eines Telegramms gesetzt, was dann in anderen Bausteinen ausgeführt wird.
Im nächsten Zyklus wird wird die var. Ready von einem anderen Baustein auf FALSE gesetzt und nach erfolgreichem empfangen der Daten wieder auf TRUE.
In Schritt 3 soll so lange gewartet werden, bis die empfangenen Daten verarbeitet wurden und die var. Ready wieder TRUE ist.
Jedoch wird in Schritt 3 nicht gewartet und direkt in Schritt 4 übergegangen, da die Bedingung von Trans2 auch in Trans3 zutrifft.
Im Debugmodus habe ich festgestellt wenn ich in Schritt 3 einen Einzelschritt weiter gehe, dass im Hintergrund schon Schritt 4 aktiv ist, obwohl das Programm an einer ganz anderen Stelle ausgeführt wird.
Bei S7-Graph ist dies nicht der Fall. Da wird in Schritt 3 gewartet bis alle Daten empfangen wurden und dann erst in Schritt 4 übergegangen.
Die Programmierung ist bei Codesys AS und S7-Graph genau gleich umgesetzt.
Prüft S7 die nachfolgende Bedingung im nächsten SPS-Zyklus und Codesys im gleichen Zyklus?
Hoffe jmd hat Erfahrung damit und kann mir den unterschied zwischen Codesys AS und S7-Graph bei der Abarbeitung von Schrittketten erklären.
Die Dokumentation zu diesem Thema sind ziemlich dürftig.
Danke im Voraus
Gruß
Thomas
kann mir vll jmd erklären wie bei Codesys der genau Ablauf beim Abarbeiten einer Schrittkette in AS ist?
Wann wird die Transitionsbedingung eines vorherigen Schittes geprüft? Im gleichen Zyklus der SPS oder im nächsten Zyklus?
Und in Welchem Zyklus wird der darauffolgende Schritt aktiv, sofern die Transitionsbedingung erfüllt ist?
Hintergrund ist die Portierung eines S7-Programms nach IEC61131 in Codesys.
Anscheinend ist die Abarbeitung der Tranistionen bei S7-Graph anders als bei Codesys.
Dazu ein Bsp:
Trans2 prüft ob var. Ready TRUE ist, wenn TRUE erfolg der Übergang ist Schritt 3.
Trans3 prüft unter anderem ebenfalls ob die var. Ready TRUE ist, wenn ja...->Schritt4..
In Schritt 3 wird der Befehl zum Senden eines Telegramms gesetzt, was dann in anderen Bausteinen ausgeführt wird.
Im nächsten Zyklus wird wird die var. Ready von einem anderen Baustein auf FALSE gesetzt und nach erfolgreichem empfangen der Daten wieder auf TRUE.
In Schritt 3 soll so lange gewartet werden, bis die empfangenen Daten verarbeitet wurden und die var. Ready wieder TRUE ist.
Jedoch wird in Schritt 3 nicht gewartet und direkt in Schritt 4 übergegangen, da die Bedingung von Trans2 auch in Trans3 zutrifft.
Im Debugmodus habe ich festgestellt wenn ich in Schritt 3 einen Einzelschritt weiter gehe, dass im Hintergrund schon Schritt 4 aktiv ist, obwohl das Programm an einer ganz anderen Stelle ausgeführt wird.
Bei S7-Graph ist dies nicht der Fall. Da wird in Schritt 3 gewartet bis alle Daten empfangen wurden und dann erst in Schritt 4 übergegangen.
Die Programmierung ist bei Codesys AS und S7-Graph genau gleich umgesetzt.
Prüft S7 die nachfolgende Bedingung im nächsten SPS-Zyklus und Codesys im gleichen Zyklus?
Hoffe jmd hat Erfahrung damit und kann mir den unterschied zwischen Codesys AS und S7-Graph bei der Abarbeitung von Schrittketten erklären.
Die Dokumentation zu diesem Thema sind ziemlich dürftig.
Danke im Voraus
Gruß
Thomas