NETWORK
TITLE =Sprungverteiler Schrittkette
//------------------------------------------
M004: L #STEP.Nr;
SPL aE;
//------------------------------------------
//Schrittkette
SPA a0; //Schritt 0 - Initalisierung
SPA a1; //Schritt 1 - Anschläge auf
SPA a2; //Schritt 2 - warten bis Anschläge oben
..
..
SPA a21; //Schritt 21 - Ablauf beenden
aE: NOP 0;
SPA work;
NETWORK
TITLE =Teilablauf: Start Schrittkette
//------------------------------------------
NETWORK
TITLE =Schritt 0: Initalisierung
a0: CLR ;
= #wait.IN;
SPA pNr;
NETWORK
TITLE =Schritt 1: Anschläge auf
a1: SET ;
= "V Anschlag links heben";
= "V Anschlag rechts heben";
SPA pNr;
NETWORK
TITLE =Schritt 2: warten bis Anschläge oben
//Watchdog starten
a2: SET ;
= #wait.IN;
L T#500MS;
T #wait.PT;
//warten auf Zeitüberschreitung
U #wait.Q;
SPB Err
//Warten bis Anschläge oben
UN #Anschlaege_oben
SPB work;
CLR ;
= #wait.IN;
SPA pNr;
..
..
..
NETWORK
TITLE =Schritt 16: Ablauf beenden
a21: UN #beenden
SPB work;
..
..
SPA zNr;
SPA pNr;
NETWORK
TITLE =Schritt zuweisen
//Schrittnummer um "1" hochzählen
pNr: L #STEP.Nr;
L 1;
+I ;
//Schrittnummer zuweisen
zNr: T #STEP.Nr;
NETWORK
TITLE =Ende Schrittkette
work: NOP 0;
NETWORK
TITLE =Wartezeit
CALL #wait ;
NETWORK
//kein fehler Baustein beenden
BEA
//Fehler zueweisen
Err: L #STEP.Nr;
T #Err.Nr;
END_FUNCTION_BLOCK