Hallo, ich habe mir eine primitive Schrittkette aufgebaut. Dazu habe ich eine Case genutzt. Für die Übersichtlichkeit würde ich aber gerne die Weiterleitung in den nächsten Schritt Automatisieren. Das heisst, ich hätte gerne so was wie eine "next" aus AWL Dort habe ich immer eine SPB next eingefügt. Das hat dann eine Logik ausgeführt, die dann die Schrittnummer erhöht hat und eine über eine Sprungverteiler in den entsprechenden nächsten Schritt weiter geleitet hat.
Wie kann ich das in SCL am geschicktesten umsetzen oder nachbilden? Ich habe schon gelesen, dass man z.B. eine GOTO nutzen kann aber ist das eine gute Lösung oder gibt es da was einfacheres was ich nutzen kann?
Wie kann ich das in SCL am geschicktesten umsetzen oder nachbilden? Ich habe schon gelesen, dass man z.B. eine GOTO nutzen kann aber ist das eine gute Lösung oder gibt es da was einfacheres was ich nutzen kann?
Code:
CASE "GlobalDB".stepnr OF
1:
"Lampe80.0" := 1;
IF "SchalterE80.0" = 1
THEN "GlobalDB".stepnr := "GlobalDB".stepnr +1;
END_IF;
2:
"Lampe80.1" := 1;
IF "SchalterE80.1" = 1
THEN
"GlobalDB".stepnr := "GlobalDB".stepnr +1;
END_IF;
3:
"Lampe80.2" := 1;
IF "SchalterE80.2" = 1
THEN
"GlobalDB".stepnr := "GlobalDB".stepnr +1;
END_IF;
4:
"Lampe80.3" := 1;
IF "SchalterE80.3" = 1
THEN
"GlobalDB".stepnr := "GlobalDB".stepnr +1;
END_IF;
5:
"Lampe80.0" := 0;
"Lampe80.1" := 0;
"Lampe80.2" := 0;
"Lampe80.3" := 0;
IF "SchalterE80.4" = 1
THEN
"GlobalDB".stepnr := 1;
END_IF;
;
ELSE // Statement section ELSE
;
END_CASE;