Gibt es in SCL den Analog von def in Python ?

ssyn

Level-2
Beiträge
128
Reaktionspunkte
12
Zuviel Werbung?
-> Hier kostenlos registrieren
Z.B. habe ich eine FB in SCL und da gibt es irgendwelche Zeile, die wiederholt mehrere Mals.

Code:
if input = 'aa' then

string := DELETE(IN:=String, L:=2, P:=1); // Zeile XXX
aaN := aaN +1;

elsif  input = 'bb'

string := DELETE(IN:=String, L:=2, P:=1);  // Zeile XXX
bbN := bbN +1;

elsif  input = 'cc'

string := DELETE(IN:=String, L:=2, P:=1);  // Zeile XXX
ccN := ccN +1;

end_if;

Kann ich DIREKT in FB diese Zeile als inklusive Funktion, wie def in Python, benutzen. Ja, ich kann zusätzliche FC in SCL schreiben und dann in FB aufrufen, aber gibt es nicht die andere Lösung? GOTO?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann ich DIREKT in FB diese Zeile als inklusive Funktion, wie def in Python, benutzen.
Mit Spaghetti-Programmierung geht alles, auch sowas. Am aufwendigsten sind da die Rücksprünge zur Aufrufstelle, da braucht man einen Sprungverteiler mit noch mehr GOTO.

Warum willst Du keinen zusätzlichen FC? Gehen Dir die FC-Nummern aus? ;) Oder ist das zu viel Tipparbeit, dreimal die gleiche Zeile zu kopieren?

Innerhalb eines Bausteins kann man keinen anderen Baustein oder eine Function schreiben. In Step7 classic V5.x konnte man noch mehrere Bausteine hintereinander in die selbe SCL-Quelle schreiben, in TIA geht das nicht, da kann man aber Unterordner im Bausteine-Ordner verwenden, um zusammengehörende Bausteine zusammenzufassen.


Du kannst dafür in einem FB Aktionen definieren und aufrufen.
Hier geht es um Siemens SCL. Seit wann gibt es da die Aktionen??

Harald
 
Zurück
Oben