Rockwell Software:

microsoft certified partner
 

IEC 1131


   What Is IEC 1131?
   Ladder Diagram
   Sequential Function Chart
   Function Block Diagram
   Structured Text
   Instruction Lists
 

IEC 1131 Structured Text Overview
This high-level language resembles Pascal or Basic, and, in fact, people trained in computer programming languages often find it the easiest language to use for programming control logic. When symbolic addressing is used, ST programs resemble sentences, making it highly intelligible to the novice user as well. ST is ideal for tasks requiring complex math, algorithms or decision-making. Its concise format allows a large algorighm to be displayed on a single page (vs multiple pages of ladder logic).

The IEC 1131-3 standard is extensible. I.E. Vendors may augment their offerings to meet the needs of specific markets. As an example of this extensibility Rockwell Software augments ST with an exclusive feature called "PowerText™". It supplements standard ST with real-time display of discrete status, force status, analog values and floating-point values. This PowerText information is automatically integrated into the source code, and is invaluable for debugging and application commissioning.

Benefits of Structured Text

Structured Text Constructs Structured Text Examples

Example 1 (Sorting machine)

IF (LIMIT_SWITCH_1 AND BOX_PRESENT) THEN
GATE1 := OPEN;
GATE2 := CLOSE;
ELSIF ((LIMIT_SWITCH_2 OR (WEIGHT <> SETPOINT))) THEN
GATE1 := CLOSE;
GATE2 := OPEN;
ELSIF (LIMIT_SWITCH_3 XOR LIMIT_SWITCH_4) THEN
GATE1 := OPEN;
GATE2 := OPEN;
ELSE
GATE1 := CLOSE;
GATE2 := CLOSE;
END_IF;
Example 2 (Split-range temperature control, with deadband)
CASE (TEMPERATURE) OF
0 .. 120 :
HEAT_VALVE := OPEN;
COOL_VALVE := CLOSE;
150 .. 32767 :
HEAT_VALVE := CLOSE;
COOL_VALVE := CLOSE;
ELSE
HEAT_VALVE := CLOSE;
COOL_VALVE := CLOSE;
END_CASE;
PID (CONTROL_BLOCK, TANK_#27_TEMPERATURE, TIEBACK, COOLANT_VALVE);
Example 3 (Computational examples)
POWER := (CURRENT ** 2.0) * RESISTANCE;
F8:1 := ((N7:1 * 3.1428571) + (N7:3 / N7:4));
F8:0 := ( SIN (ANGLE)) MOD 6.0;
JSR (3, 0);
Example 4 (If-Then-Else example)
IF I:000/0 AND !I:001/5 THEN
N7:0 := 1;
ELSIF i:000/2 OR (N7:5 <> (N7:6 * N7:2)) THEN
N7:0 :=2;
ELSIF !I001/4 THEN
N7:0 := 3;
ELSE
N7:0 :=4;
END_IF;
Example 5 (For-Next examples)
FOR N7:0 := 10 TO 0 BY -1 DO
N7:4 := N7:4 + 1;
END_FOR;

FOR N7:1 := 0 TO 10 DO
N7:1 := N7:1 + 1;
END_FOR;

Example 6 (While example)
WHILE I:000/0 AND (I:001/0 OR !I:002/1) DO
N7:0 := N7:0 + 1;
END_WHILE;
Example 7 (Case example)
CASE N7:12 OF
0:
N7:1 := 1;
1, 9:
N7:1 := 2;
2..4:
N7:1 := 3;
10, 5..8:
N7:1 := 4;
ELSE
N7:1 :=5;
END_CASE;
Example 8 (Using Ladder Diagram instructions in Structured Text programs)
IF (!I:000/00) THEN
ARL(0, ST15:3, R6:6, 82,0);
END_IF;

R6:6.DN AND ONS(B3/4) MOV(ST15:3.LEN, N17:85);