Step 7 Graph7 Kette - Aktion vor Transition im Zyklus oder vice versa?

MightyMirko

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forengemeinde,

ich habe eine Frage zu Prozessabbild, den Zyklus und die Auswirkungen auf das Programmieren.
ich habe an meiner PLC S7-317 2DNDP eine Blackbox an der PLC Baugruppenbits A0.1 und E0.1 hängen. Blackbox Funktion ist, wenn A0.1, dann bestrome E0.1.

Wenn ich in einem Schritt, nennen wir in mal S200, folgende Aktion setze:
S1 N A0.1
und S200 hat die Transition
E0.1 = 1


Wenn die Blackbox nun keine Reaktionszeit hat und E0.1 direkt bestromt, dann würde die Kette dennoch erst einen Zyklus später weiterschalten?
Was passiert, wenn die Transition eine Variable db1.dbx0.1 abfragt, welche vor Kettenaufruf beschrieben worden ist
Code:
U E0.1
=db1.dbx0.1
Was passiert, wenn die Transition eine Variable db1.dbx0.1 abfragt, welche nach Kettenaufruf beschrieben worden ist
Code:
U E0.1
U A0.1
O
UN E0.1
UN A0.1
=db1.dbx0.1

ich habe das Prozessabbild, den Zyklus und die Auswirkungen auf das Programmieren noch nicht 100%ig verinnerlicht.


Prinzipiell vereinfacht ist die Frage "Was passiert zuerst, Aktion oder Transition"
 
PA lesen, Programm wird abgearbeitet, PA schreiben. Soweit so gut. Alles was Du normal innerhalb Deines Zyklus machst wird erst am Ende ausgeführt.

Wenn Du
Code:
U db1.dbx0.1
= q0.1

U E0.1
=db1.dbx0.1
machst, dann wird im Folgezyklus der Ausgang gesetzt wenn der Eingang beim Einlesen des PA geschaltet war

Wenn Du
Code:
U E0.1
= db1.dbx0.1

U db1.dbx0.1
= Q0.1
machst, dann würde der Ausgang im selben Zyklus gesetzt in dem der Eingang true eingelesen wurde.


Das Programm arbeitet immer von oben nach unten. Es springt nicht von alleine durch die Gegend. Also wird nach und nach das abgearbeitet was Du schreibst. Darauf musst Du beim Programmieren achten.
Anders sieht es aus wenn Du am Ende einen Sprung nach oben ausführst und die Anweisungen nochmal bearbeitet werden. Dann verlängert sich aber auch Dein Zyklus entsprechend.

Ob es nun eine Graph-Kette ist oder eine AWL-Anweisung spielt keine Rolle: Immer von oben nach unten.

Eine SPS ist nicht eventgetriggert und ruft dann den entsprechenden Code auf sondern fragt in jedem Zyklus erneut ab ob Bedingungen erfüllt wurden oder nicht. Sollte eine Bedingung in dem Moment erfüllt werden während eines Zyklus und die Anweisung würde danach kommen, so würde die Reaktion erst einen Zyklus später wahr werden, eben beim Einlesen des PA.

Es gibt mittel und Wege während eines Zyklus erneut einen Teil des PA zu aktualisieren bzw. einzulesen, fraglich ist aber meist ob man es denn braucht.
 
Zurück
Oben