Structured Text (ST) is a list of statements that are run in order.
Structured Text is one of the five programming languages defined the IEC 61131-3 standard.
You can build structured text code using these statement types:
Statement Type | Examples |
---|---|
Assignment Statement |
Assigns a value to a variable. For example:
Running := TRUE; Setpoints[0] := 12.5; Setpoints[1] := Setpoints[0] + 2.5; |
Function Call Statement |
Call a function discarding the return value. For example:
StartPump(); IncreaseTargetSetpoint( Increment:=5.5 ); |
IF Statement |
Choose different statements to run depending on a condition.
For example:
IF Level < 2.5 THEN State := 'Normal'; ELSE State := 'High'; END_IF; |
CASE Statement |
Run a block of statements based on a selector value.
For example:
CASE PumpState OF 0: StateDescription := "Stopped"; 1: StateDescription := "Running"; 2: StateDescription := "Failed"; ELSE StateDescription := "Invalid"; END_CASE; |
FOR Statement |
Run statements a defined number of times.
For example:
Sum := 0; FOR Index:=0 TO 3 DO Sum := Sum + Values[ Index ]; END_FOR; |
FOR EACH Statement |
Run statements for each item in a collection.
For example:
FOR EACH Item IN Collection DO ... END_FOR; |
WHILE Statement |
Run statements while a condition is true.
For example:
Index := 0; Sum := 0; WHILE Index < 10 DO Sum := Sum + Values[ Index ]; Index := Index + 1; END_WHILE; |
REPEAT Statement |
Run statements until a condition is true.
For example:
Index := 0; Sum := 0; REPEAT Sum := Sum + Values[ Index ]; Index := Index + 1; UNTIL Index >= 10 END_REPEAT; |
EXIT Statement |
Exit a loop statement early.
For example:
FOR Idx:=0 TO 9 DO IF Flags[ Idx ] THEN EXIT; END_IF; END_FOR; |
RETURN Statement |
Return from a Program Unit early.
For example:
IF ProcessedFinished THEN RETURN; END_IF; |
In Fernhill SCADA you can use Structured Text code in:
To learn about IEC 61131-3 Common Elements you can use in ST programs and functions.
For the meaning of terms used in Fernhill SCADA.