Im Handbuch S. 2-17 steht unter "Aktiver Schritt", dass nach dem Aufruf eines AS-Bausteins zunächst in den Initialisierungsschritt Init gesprungen wird und seine Aktion(en) ausgeführt werden. Ist das bei jedem Aufruf der Fall, auch wenn ein anderer Schritt aktiv ist?
Dazu fand ich auf der CoDeSys-website das Projekt "Reaktor" (unter Examples, Visualisierung. s. Anhang). Dort wird im Schritt Init der Reaktor resetet. Das passiert auch dann, wenn die Ablaufsteuerung bei einem anderen Schritt (z.B. Step 3) ist. (Einfach mal Visualisierung starten, Start drücken und nach 1s Reset drücken.) Ist es richtig, dass, sobald ein AS-Baustein aufgerufen wird, im selben Zyklus erst der Init-Schritt abgearbeitet wird und sofort danach der aktive Schritt? Oder wie sonst funktioniert das Reseten beim Reaktor?
Und nun Frage 2:
Am Ende eines jeden AS-Bausteins ist ein Sprung. Muss es den geben? Ich würde gerne am Ende den Ablauf beenden und keinen Sprung haben. Oder wäre dann die Konsequenz, dass, wenn es den Sprung nicht gäbe, der Baustein nach Erreichen des Endes nicht weiterlaufen würde, auch wenn er neu aufgerufen würde (in derselben Instanz)?
also ich sehe das so (ohne jedoch absolut sicher zu sein da ich AS nicht nutze)
Zitat:
Im Handbuch S. 2-17 steht unter "Aktiver Schritt", dass nach dem Aufruf eines AS-Bausteins zunächst in den Initialisierungsschritt Init gesprungen wird und seine Aktion(en) ausgeführt werden. Ist das bei jedem Aufruf der Fall, auch wenn ein anderer Schritt aktiv ist?
Nein, nur beim ersten mal oder wenn der Init-Step angesprungen wird.
(kann man mit Breakpoints testen)
Zitat:
Ist es richtig, dass, sobald ein AS-Baustein aufgerufen wird, im selben Zyklus erst der Init-Schritt abgearbeitet wird und sofort danach der aktive Schritt?
Nein der Init-Schritt wird nicht aufgerufen sondern nur der aktive Schritt.
Zitat:
Oder wie sonst funktioniert das Reseten beim Reaktor?
Um das zu verstehen muß man die AS-Flags kennen. (Schau mal in die Hilfe unter AS-Flags)
Die boolsche Variable SFCReset ist nicht nur eine lokale Variable,
so wie es zunächst scheint,
sondern auch ein AS-Flag (eine Variable mit einem reservierten Namen).
Diese Variable wird von dem Reset-Button aus der Visu gesetzt.
Eine lokale Variable mit diesem reservierten Namen bewirkt das der aktive Schritt abgebrochen wird und in den Init-Schritt gesprungen wird.
(steht auch so in der Hilfe und kann durch Breakpoints nachvollzogen werden)
Zitat:
Am Ende eines jeden AS-Bausteins ist ein Sprung. Muss es den geben?
Ja, der läßt sich meiner Meinung nach auch nicht löschen.
so und nu sind Osterferien
Uwe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hier ihr,
hab zur AS 2 Fragen:
Im Handbuch S. 2-17 steht unter "Aktiver Schritt", dass nach dem Aufruf eines AS-Bausteins zunächst in den Initialisierungsschritt Init gesprungen wird und seine Aktion(en) ausgeführt werden. Ist das bei jedem Aufruf der Fall, auch wenn ein anderer Schritt aktiv ist?
Dazu fand ich auf der CoDeSys-website das Projekt "Reaktor" (unter Examples, Visualisierung. s. Anhang). Dort wird im Schritt Init der Reaktor resetet. Das passiert auch dann, wenn die Ablaufsteuerung bei einem anderen Schritt (z.B. Step 3) ist. (Einfach mal Visualisierung starten, Start drücken und nach 1s Reset drücken.) Ist es richtig, dass, sobald ein AS-Baustein aufgerufen wird, im selben Zyklus erst der Init-Schritt abgearbeitet wird und sofort danach der aktive Schritt? Oder wie sonst funktioniert das Reseten beim Reaktor?
Und nun Frage 2:
Am Ende eines jeden AS-Bausteins ist ein Sprung. Muss es den geben? Ich würde gerne am Ende den Ablauf beenden und keinen Sprung haben. Oder wäre dann die Konsequenz, dass, wenn es den Sprung nicht gäbe, der Baustein nach Erreichen des Endes nicht weiterlaufen würde, auch wenn er neu aufgerufen würde (in derselben Instanz)?
Danke schonmal im Voraus!
Sara
Reaktor.zip [7.41 KiB]
Da du,
also ich sehe das so (ohne jedoch absolut sicher zu sein da ich AS nicht nutze)
Nein der Init-Schritt wird nicht aufgerufen sondern nur der aktive Schritt.
Um das zu verstehen muß man die AS-Flags kennen. (Schau mal in die Hilfe unter AS-Flags)
Die boolsche Variable SFCReset ist nicht nur eine lokale Variable,
so wie es zunächst scheint,
sondern auch ein AS-Flag (eine Variable mit einem reservierten Namen).
Diese Variable wird von dem Reset-Button aus der Visu gesetzt.
Eine lokale Variable mit diesem reservierten Namen bewirkt das der aktive Schritt abgebrochen wird und in den Init-Schritt gesprungen wird.
(steht auch so in der Hilfe und kann durch Breakpoints nachvollzogen werden)
so und nu sind Osterferien
Uwe
Aaah, klick. Verstanden. Hab mich eh gefragt, wie das so läuft mit dem Reset und ob ich das wirklich richtig verstanden habe.
Danke, Uwe!
Bist du eigentlich Schüler oder studierst du?
Wünsch dir gesegnete Ostern.
Sara
Bist du neugierig ...
bin Elektriker und arbeite ...
damit ich mir meine tägliche Bämme leisten kann
Auch für dich ein schönes Osterfest
Uwe
Wer nicht fragt bleibt dumm
Hi Uwe
Was ist eine Bämme
Ein Brot / Brötchen.
MfG
Marcel