TIA Programmablauf nach JMP im Safeprogramm

Jerome94

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich habe eine Frage bzgl. des JMP-Befehls im Safety-Programm (S7 1500 / TIA V17).
Da ich leider keine Bilder hochladen kann/darf, werde ich meine Problemstellung kurz erläutern.

Ich habe zwei aufeinanderfolgende Netzwerke, welche jeweils einen Jump-Befehl enthalten. Je nach Wertstatus soll natürlich in ein anderes Netzwerk gesprungen werden (kein Rücksprung erforderlich). Die Reihenfolge ich habe unterhalb dargestellt:

Netzwerk 1: Wenn Wertstatus = 0 JMP in Netzwerk 3
Netzwerk 2: Wenn Wertstatus = 1 JMP in Netzwerk 4
Netzwerk 3: Führe Aktion X aus
Netzwerk 4: Führe Aktion Y aus

Nun lautet meine Frage: Wenn der Wertstatus = 0 wird, springe ich folglich in Netzwerk 3 und die Aktion X wird ausgeführt. Wird nach der Abarbeitung des Netzwerkes 3 auch das Netzwerk 4 bearbeitet und somit Aktion Y ausgeführt?
Wie ich drauf komme, dass es nicht funktionieren könnte? Weil sich in Netzwerk 4 die Flag von Netzwerk 2 befindet. Ich weiß leider nicht, ob quasi in das Netzwerk gesprungen werden MUSS oder ob das Netzwerk auch im normalen Programmablauf weiterhin bearbeitet wird.
Aus dem Bauch heraus würde ich sagen "klar, Aktion Y wird immer ausgeführt", aber Bauchgefühl hat gerade im Sicherheitsteil wenig zu suchen.

Das 2. JMP ist dafür da, damit Aktion X (Netzwerk 3) im Fall, dass der Wertstatus = 1 ist, nicht ausgeführt wird.


Gerne würde ich ohne JMP arbeiten, aber finde derzeit keine alternative Option für meine Programmierung, da ich einen MOVE-Baustein nicht immer ausführen möchte sondern nur wenn der Wertstatus = 0 wird und der EN Eingang des Bausteins im Sicherheitsteil nicht verwendet werden darf/kann.

Für Antworten und Hinweise wäre ich euch sehr dankbar!
Vielen Dank im Voraus :)
 
Prinzipiell funktionier die Abarbeitungsreihenfolge im Safety-Programm nicht anders, als im normalen Programm.

Konkret heißt das, dass alle Netzwerke zyklisch durchlaufen werden. Die Sprungmarken, sind ja nur die Ziele, die bewusst "angsprungen" werden müssen. Bei dir heißt das, wenn Wertstatus = 0, dann werden NW3 und NW4 abgearbeitet, wenn Wertstatus = 1, dann wird nur NW4 abgearbeitet.

/edit: Ansonsten gilt auch im Safetyprogramm, Versuch macht klug. Wenn du dir über Funktionsweisen unsicher bist, dann nutze gerne Möglichkeiten, dass ganze zu testen (PLCSIM, Testaufbau, etc.)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Prinzipiell funktionier die Abarbeitungsreihenfolge im Safety-Programm nicht anders, als im normalen Programm.

Konkret heißt das, dass alle Netzwerke zyklisch durchlaufen werden. Die Sprungmarken, sind ja nur die Ziele, die bewusst "angsprungen" werden müssen. Bei dir heißt das, wenn Wertstatus = 0, dann werden NW3 und NW4 abgearbeitet, wenn Wertstatus = 1, dann wird nur NW4 abgearbeitet.
Super, vielen Dank für die schnelle Antwort! :)
 
Wahrscheinlich kannst du dir NW 1 auch komplett sparen (solange es sich um eine sichere Variable handelt oder du die Plausibilität sicher stellst). Wenn du nur über NW3 springen willst, dann reicht auch der Vergleich aus NW2 und das Sprungziel in NW4. Macht es meiner Meinung nach auch einfacher zu lesen, weil dann die Funktion der Sprungmarke sofort ins Auge sticht.
 
Zurück
Oben