Structured Text Programming
524 Rockwell Automation Publication 1756-RM006K-EN-P - November 2018
Multiple, distinct values value1, value2, valueN : <statement>
Use a comma (,) to separate each value.
A range of values value1..valueN : <statement>
Use two periods (..) to identify the range.
Distinct values plus a range of values valuea, valueb, value1..valueN : <statement>
The CASE construct is similar to a switch statement in the C or C++
programming languages. With the CASE construct, the controller executes only
the statements that associated with the first matching selector value. Execution
always breaks after the statements of that selector and goes to the END_CASE
statement.
Affects Math Status Flags
No
Major/Minor Faults
None
Example
If you want this Enter this structured text
If recipe number = 1 then Ingredient A outlet 1 = open (1) Ingredient B
outlet 4 = open (1)
CASE recipe_number OF
1:
Ingredient_A.Outlet_1 :=1;
Ingredient_B.Outlet_4 :=1;
If recipe number = 2 or 3 then
Ingredient A outlet 4 = open (1)
Ingredient B outlet 2 = open (1)
2,3:
Ingredient_A.Outlet_4 :=1;
Ingredient_B.Outlet_2 :=1;
If recipe number = 4, 5, 6, or 7 then Ingredient A outlet 4 = open (1)
Ingredient B outlet 2 = open (1)
4 to 7: Ingredient_A.Outlet_4 :=1;
Ingredient_B.Outlet_2 :=1;
If recipe number = 8, 11, 12, or 13 then Ingredient A outlet 1 = open (1)
Ingredient B outlet 4 = open (1)
8,11…13
Ingredient_A.Outlet_1 :=1;
Ingredient_B.Outlet_4 :=1;
Otherwise all outlets = closed (0) ELSE
Ingredient_A.Outlet_1 [:=]0;
Ingredient_A.Outlet_4 [:=]0;
Ingredient_B.Outlet_2 [:=]0;
Ingredient_B.Outlet_4 [:=]0;
END_CASE;
The [:=] tells the controller to also clear the outlet tags whenever the controller
does the following: