SCL-Syntax-Referenz: IF, CASE, FOR, WHILE, REPEAT
Komplette SCL-Syntax-Übersicht für Siemens TIA Portal. IF/THEN/ELSE, CASE, FOR, WHILE, REPEAT mit Codebeispielen. Für S7-1200 und S7-1500.
SCL-Syntax-Referenz: IF, CASE, FOR, WHILE, REPEAT
SCL (Structured Control Language) ist Siemens' Implementierung des IEC-61131-3-Standards Structured Text (ST). Hochsprache, Pascal-ähnlich, verfügbar auf S7-300, S7-400, S7-1200 und S7-1500.
IF / THEN / ELSE / ELSIF
IF #Temperatur > 80.0 THEN
#Kuehlung := TRUE;
ELSIF #Temperatur > 60.0 THEN
#Kuehlung := FALSE;
#Warnung := TRUE;
ELSE
#Kuehlung := FALSE;
#Warnung := FALSE;
END_IF;
Regeln: Bedingung = BOOL. Jedes IF braucht END_IF. Semikolons nach jeder Anweisung. ELSIF (nicht ELSEIF).
CASE
CASE #Schritt OF
0: #Motor := FALSE; #Ventil := FALSE; // Ruhe
1: #Ventil := TRUE; // Befüllen
2: #Motor := TRUE; // Mischen
3: #Ventil := TRUE; #Motor := FALSE; // Entleeren
ELSE: #Alarm := TRUE; // Unbekannter Schritt
END_CASE;
Mehrere Werte: 1, 2, 3: oder Bereich 100..199: möglich. Selektor muss Integer-Typ sein (INT, DINT).
FOR-Schleife
FOR #i := 0 TO 9 DO
#Werte[#i] := 0; // Array leeren
END_FOR;
Mit Schrittweite: FOR #i := 0 TO 100 BY 10 DO
Rückwärts: FOR #i := 10 TO 1 BY -1 DO
Regeln: Schleifenzähler im Schleifenkörper NICHT verändern (Siemens-Programmierrichtlinie). EXIT zum vorzeitigen Abbruch.
WHILE-Schleife
WHILE #i < 100 AND NOT #Fehler DO
#Puffer[#i] := #Eingangsdaten;
#i := #i + 1;
END_WHILE;
Bedingung wird VOR jeder Iteration geprüft (kann null Mal ausgeführt werden).
REPEAT / UNTIL
REPEAT
#Versuch := #Versuch + 1;
#Erfolg := DATEN_SENDEN();
UNTIL #Erfolg OR (#Versuch >= 3)
END_REPEAT;
Wird mindestens einmal ausgeführt. Endet wenn Bedingung TRUE wird (Gegenteil von WHILE!).
RETURN
Verlässt den aktuellen Baustein sofort:
IF NOT #Freigabe THEN
RETURN;
END_IF;
EXIT
Bricht die innerste Schleife ab:
FOR #i := 0 TO 99 DO
IF #Werte[#i] = #Suchwert THEN
#Gefunden := #i;
EXIT;
END_IF;
END_FOR;
Zuweisung
#Ausgang := #Eingang;
#Ergebnis := #A + #B * #C;
#Motor := #Start AND NOT #Stop;
Kommentare
// Einzeilige Kommentare
(* Mehrzeilige Kommentare *)
Teil der SCL-Referenz. Gepflegt von PLCcheck.ai.
Ihren AWL-Code nach SCL konvertieren
PLCcheck Pro analysiert Ihren S5/S7-AWL-Code und erzeugt automatisch SCL-Äquivalente. Programm hochladen und die Konvertierung Seite an Seite sehen.
Code zur AWL→SCL-Konvertierung hochladen → | AWL nach SCL Leitfaden →
Verwandte Artikel
SPS-Programmierung: AWL vs. KOP vs. FUP vs. SCL – Welche Sprache wofür?
Vergleich der vier SPS-Programmiersprachen AWL, KOP, FUP und SCL nach IEC 61131-3. Stärken, Schwächen, Einsatzbereiche und welche Sprache für welche Aufgabe die richtige ist.
12 Min. Lesezeit
migration-guideAWL-Abkündigung bei S7-1500: Warum SCL Pflicht wird
Warum AWL auf S7-1500 nur im Emulationsmodus läuft, was das für Performance und Wartbarkeit bedeutet, und wie Sie Ihren AWL-Code nach SCL konvertieren.
10 Min. Lesezeit
migration-guideS7-300 auf S7-1500 migrieren: Kompletter Leitfaden
Schritt-für-Schritt-Anleitung zur Migration von Siemens S7-300 auf S7-1500 mit TIA Portal. Hardware-Zuordnung, Migrations-Assistent, optimierte Datenbausteine, AWL→SCL-Konvertierung und typische Fallstricke.
15 Min. Lesezeit
SPS-Code mit KI analysieren
PLCcheck Pro erklärt, dokumentiert, optimiert und migriert SPS-Code — automatisch.
PLCcheck Pro testen →Nicht verbunden mit Siemens AG. S5, S7, STEP 5, STEP 7 und TIA Portal sind Marken der Siemens AG.