Metainformationen zur Seite
SPS / PLC Programmierung
Eine kurze Zusammenfassung aller Sprachelemente.
Strukturierter Text (ST, auch SCL) ist eine der sechs in IEC 61131-3 festgeschriebenen Programmiersprachen für Automatisierungstechnik. Sie orientiert sich an PASCAL und enthält sowohl Sprachelemente dieser Sprache als auch SPS-typische Elemente. Besonders geeignet ist ST für alle Aufgaben, die sich mit mathematischen Formeln beschreiben lassen, wie die Programmierung komplexer Algorithmen, mathematischer Funktionen und für Rezept- und Datenverwaltung. Solche Programmteile werden mit ST bedeutend vereinfacht.
Typisch für Strukturierten Text sind Anweisungen, die wie in Hochsprachen bedingt (IF..THEN..ELSE) oder in Schleifen (WHILE..DO) ausgeführt werden können. Für SPS-typische Aufgaben wie Timer, Trigger, Counter und RS-FlipFlop kommen auch in ST die Funktionsbausteine der Standardbibliothek zum Einsatz.
Sprachelemente
Struktuierter Text (ST)
IF
ST-Anweisung IF
Die IF-Anweisung verwenden Sie, um eine Bedingung zu prüfen und, abhängig von dieser Bedingung, Anweisungen auszuführen.
Syntax:
IF <boolean expression_1> THEN <IF-instructions> {ELSIF <boolean expression_2> THEN <ELSIF-instruction_1> ELSIF <boolean expression_n> THEN <ELSIF_instruction_n-1> ELSE <ELSE_instructions>} END_IF;
Der Abschnitt innerhalb der geschweiften Klammer {} ist optional.
Wenn <boolean expression_1> TRUE liefert, führt TwinCAT nur die <IF-instructions> und keine der anderen Anweisungen aus.
Ansonsten prüft TwinCAT die booleschen Ausdrücke, beginnend mit <boolean expression_2>, nacheinander bis ein Ausdruck TRUE liefert. Anschließend wertet TwinCAT alle Anweisungen, die zwischen diesem Ausdruck und vor der nächsten ELSE oder ELSIF -Anweisung stehen, aus und führt sie entsprechend aus.
Wenn keiner der booleschen Ausdrücke TRUE liefert, wertet TwinCAT nur die <ELSE_instructions> aus.
Beispiel:
IF fTemp < 17 THEN
bHeatingOn := TRUE;
ELSIF fTemp > 25 THEN
bOpenWindow := TRUE;
ELSE
bHeatingOn := FALSE; bOpenWindow := FALSE;
END_IF;
Siehe auch:
ExST-Anweisung CONTINUE
—-
FOR
CASE
WHILE
REPEAT
RETURN
JMP
EXIT
CONTINUE
Aufruf Funktionsbausteine
Kommentare