AS: Init-Ausführung und Sprung

Sara
2009-04-07
2009-04-11
  • Sara - 2009-04-07

    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]

     
  • Uwe - 2009-04-08

    Da du,

    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

     
  • Sara - 2009-04-09

    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!

    Uwe hat geschrieben:
    so und nu sind Osterferien

    Bist du eigentlich Schüler oder studierst du?

    Wünsch dir gesegnete Ostern.

    Sara

     
  • Uwe - 2009-04-10

    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

     
  • gravieren - 2009-04-10

    Hi Uwe

    Zitat:
    damit ich mir meine tägliche Bämme leisten kann

    Was ist eine Bämme

     
  • Matze001 - 2009-04-11

    Ein Brot / Brötchen.

    MfG

    Marcel

     

Log in to post a comment.