HINWEIS:
Verwenden Sie den Editor-Assistenten in ST.
Die bequemste Methode, um Funktionen/FBs in ST zu bearbeiten, besteht darin, die benötigten Code-Objekte als Vorlagen aus dem Editor-Assistenten in den Code-Editor zu ziehen. Lesen Sie hierzu das Thema "ST-Code programmieren: Funktionen/Funktionsbausteine: Einfügen".
In diesem Thema finden Sie Informationen über die in der textuellen IEC 61131-Programmiersprache ST (Strukturierter Text) vorhandenen Code-Elemente.
Ausdrücke
Hier finden Sie verwandte Themen
Ausdrücke sind Teile von Anweisungen. Ein Ausdruck liefert genau einen Wert zurück, der dann in der weiteren Ausführung der Anweisung verwendet wird, in welcher der Ausdruck vorkommt.
Jeder Ausdruck besteht aus Operanden und Operatoren oder Funktionsaufrufen.
Operanden und Operatoren sind Bestandteile von ST-Ausdrücken.
Operanden können Literale, Variablen oder Namen von Funktionen sein.
Operanden werden über Operatoren verknüpft, d.h. Operatoren werden auf Operanden angewendet.
In einem Ausdruck wird der Operator mit der höchsten Priorität zuerst ausgeführt, gefolgt vom Operator mit der nächst niedrigeren Priorität.
HINWEIS:
Obwohl der Compiler die korrekte Rangfolge der einzelnen Operatoren innerhalb einer Anweisung berücksichtigt, sollten Sie Klammern setzen, um die Rangfolge der Operatoren hervorzuheben und somit den Code besser lesbar zu machen.
Folgende ST-Operatoren sind definiert:
Operator |
Beispiel |
Wert des Beispiels |
Beschreibung |
Priorität |
( ) |
(INT#2 + INT#3) * (INT#4 + INT#5) |
INT#45 |
Klammerung |
Höchste |
- |
-INT#10 |
INT#-10 |
Negation |
|
NOT |
NOT TRUE |
FALSE |
Komplement |
|
*, MUL |
INT#10*INT#3 |
INT#30 |
Multiplikation |
|
/, DIV |
INT#6/INT#2 |
INT#3 |
Division |
|
+, ADD |
INT#2+INT#3 |
INT#5 |
Addition |
|
-, SUB |
INT#4-INT#2 |
INT#2 |
Subtraktion |
|
<, LT >, GT <=, LE >=, GE |
INT#4 > INT#12 |
FALSE |
Vergleich |
|
=, EQ |
T#26h = T#1d2h |
TRUE |
Gleichheit |
|
<>, NE |
INT#8 <>INT#16 |
TRUE |
Ungleichheit |
|
&, AND |
TRUE & FALSE |
FALSE |
Boolesches UND |
|
OR |
TRUE OR FALSE |
TRUE |
Boolesches ODER |
|
XOR |
TRUE XOR FALSE |
TRUE |
Boolesches Exklusiv-ODER |
Niedrigste |
Zuweisungen (Anweisungen vom Typ 'Zuweisung')
Eine Zuweisung kopiert den Wert des Ausdrucks auf der rechten Seite des Operators ':=' in die Variable auf der linken Seite.
VariablenName := Ausdruck;
Die Variable und der Wert des Ausdrucks müssen beide denselben Datentyp haben. Andernfalls ist vorher eine Typkonvertierung erforderlich.
Implizite Typkonvertierungen von sicherheitsbezogenen in Standard-Datentypen sind mit dem Zuweisungsoperator möglich. Implizite Typkonvertierungen von Standard-Datentypen in sicherheitsbezogene Datentypen sind dagegen nicht zulässig. Siehe Kapitel "Mischen von sicherheitsbezogenen und Standard-Variablen in ST".
Funktions- und Funktionsbaustein-Aufrufe
Details zur Syntax von Funktions-/Funktionsbaustein-Aufrufen finden Sie im Thema "Funktion/Funktionsbaustein: Einfügen".
Mischen von sicherheitsbezogenen Variablen und Standard-Variablen in ST
HINWEIS:
Begriffsdefinition: Standard = nicht-sicherheitsbezogen.
Der Begriff "Standard" bezeichnet nicht-sicherheitsbezogene Elemente/Objekte. Beispiele: Ein Standard-Prozessdaten-Element wird nur von einem nicht-sicherheitsbezogenen I/O-Gerät (d.h. einem Standard-Gerät) gelesen/geschrieben. Standard-Variablen/-Funktionen/-Funktionsbausteine sind nicht-sicherheitsbezogene Daten. Der Begriff "Standard-Steuerung" bezeichnet die nicht-sicherheitsbezogene Steuerung.
Sicherheitsbezogene und Standard-Variablen können zusammen in einer Anweisung verwendet werden, wenn bestimmte Regeln eingehalten werden. Prinzipiell ist es erlaubt, sicherheitsbezogene Variablen Standard-Variablen zuzuweisen, aber nicht umgekehrt.
Weitere Informationen
Details hierzu finden Sie im Thema "Mischen von sicherheitsbezogenen und Standard-Variablen in ST".
Zur einfacheren Unterscheidung werden Standard-Variablen und sicherheitsbezogene Variablen im ST-Code-Editor unterschiedlich dargestellt. Sicherheitsbezogene Variablen sind rot unterstrichen, Standard-Variablen sind nicht unterstrichen.
Kommentartexte sind in runde Klammern mit Sternchen eingeschlossen:
(* Dies ist ein Kommentar *)