if_then

Use if_then to complete an action when specific conditions occur.
Operands
if bool_expression then
<statement>;
Operand
Type
Format
Enter
Bool_
expression
BOOL
Tag expression
BOOL tag or expression that evaluates to a BOOL value
(BOOL expression)
Description
The syntax is described in the table.
To use
elsif
or
else
, follow these guidelines.
To select from several possible groups of statements, add one or more
elsif
statements.
Each
elsif
represents an alternative path.
Specify as many
elsif
paths as you need.
The controller executes the first true
if
or
elsif
and skips the rest of the
elsif
s and the
else
.
To do something when all of the
if
or
elsif
conditions are false, add an
else
statement.
The table summarizes different combinations of
if
,
then
,
elsif
, and
else
.
If
And
Use this construct
Doing something if or when conditions are true
Do nothing if conditions are false
if_then
Do something else if conditions are false
if_then_else
Selecting alternative statements or groups of statements based on input conditions
Do nothing if conditions are false
if_then_elsif
Assign default statements if all conditions are false
if_then_elsif_else
Affects Math Status Flags
No
Major/Minor Faults
None.
Examples
Example 1
if…then
If performing this
Enter this structured text
if
rejects > 3 then
if
rejects > 3
then
conveyor = off (0)
conveyor := 0;
alarm = on (1)
alarm := 1;
end_if
;
Example 2
if_then_else
If performiing this
Enter this structured text
If conveyor direction contact = forward (1) then
if
conveyor_direction
then
light = off
light := 0;
Otherwise light = on
else
light [:=] 1;
end_if
;
The [:=] tells the controller to clear light whenever the controller does the following :
Enters the RUN mode.
Example 3
if…then…elsif
If performing this
Enter this structured text
If sugar low limit switch = low (on) and sugar high limit switch = not high
(on) then
if
Sugar.Low & Sugar.High
then
inlet valve = open (on)
Sugar.Inlet [:=] 1;
Until sugar high limit switch = high (off )
elsif
not(Sugar.High)
then
Sugar.Inlet := 0;
end_if
;
The [:=] tells the controller to clear Sugar.Inlet whenever the controller does the following :
Enters the RUN mode.
Example 4
if…then…elsif…else
If performing this
Enter this structured text
If tank temperature > 100
if
tank.temp > 200
then
then pump = slow
pump.fast :=1; pump.slow :=0; pump.off :=0;
If tank temperature > 200
elsif
tank.temp > 100
then
then pump = fast
pump.fast :=0; pump.slow :=1; pump.off :=0;
Otherwise pump = off
else
pump.fast :=0; pump.slow :=0; pump.off :=1;
end_if
;
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.
Normal