14: P
ROGRAM
B
RANCHING
I
NSTRUCTIONS
14-4
FT1A S
MART
A
XIS
U
SER
’
S
M
ANUAL
FT9Y-B1382
Correct Structure for Calling Subroutine
When a LCAL instruction is executed, the remaining program instructions on the same rung may not be executed upon return, if
input conditions are changed by the subroutine. After the LRET instruction of a subroutine, program execution begins with the
instruction following the LCAL instruction, depending on current input condition.
When instructions following a LCAL instruction must be executed after the subroutine is called, make sure the subroutine does not
change input conditions unfavorably. In addition, include subsequent instructions in a new ladder line, separated from the LCAL
instruction.
Example: LCAL and LRET
The following example demonstrates a program to call three different portions of program depending on the input. When the
subroutine is complete, program execution returns to the instruction following the LCAL instruction.
I0
LCAL
S1
0
REP
S1 –
D0
D1 –
D1
MOV(W)
REP
S1 –
D20
D1 –
D21
MOV(W)
Correct
I0
LCAL
S1
0
REP
S1 –
D0
D1 –
D1
MOV(W)
REP
S1 –
D20
D1 –
D21
MOV(W)
Incorrect
Separate the ladder line for each LCAL instruction.
I0 status may be changed by the subroutine upon return.
M0
S
M0
S
I0
When input I0 is on, program execution jumps to label 0.
When input I1 is on, program execution jumps to label 1.
When input I2 is on, program execution jumps to label 2.
M8121 is the 1-sec clock special internal relay.
When jump occurs to label 0, output Q0 oscillates in 1-sec increments.
Program execution returns to the address of input I1.
M8122 is the 100-ms clock special internal relay.
When jump occurs to label 1, output Q1 oscillates in 100-ms increments.
Program execution returns to the address of input I2.
M8123 is the 10-ms clock special internal relay.
When jump occurs to label 2, output Q2 oscillates in 10-ms increments.
Program execution returns to the address of END.
I0
LCAL
S1
0
END
I1
LCAL
S1
1
I2
LCAL
S1
2
M8121
LRET
M8122
LRET
M8123
LRET
Q0
Q1
Q2
LABEL
0
LABEL
1
LABEL
2
Summary of Contents for microsmart pentra
Page 1: ...FT1A SERIES FC9Y B1382 Ladder Programming Manual ...
Page 6: ...Preface 5 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...
Page 104: ...7 DATA COMPARISON INSTRUCTIONS 7 10 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...
Page 122: ...8 BINARY ARITHMETIC INSTRUCTIONS 8 18 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...
Page 138: ...10 SHIFT ROTATE INSTRUCTIONS 10 12 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...
Page 162: ...11 DATA CONVERSION INSTRUCTIONS 11 24 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...
Page 188: ...12 CALENDAR COMPARISON INSTRUCTIONS 12 26 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...
Page 198: ...15 REFRESH INSTRUCTIONS 15 4 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...
Page 202: ...16 INTERRUPT CONTROL INSTRUCTIONS 16 4 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...
Page 266: ...20 DUAL TEACHING TIMER INSTRUCTIONS 20 4 FC5A MICROSMART USER S MANUAL FC9Y B1273 ...
Page 318: ...25 USER COMMUNICATION INSTRUCTIONS 25 22 FT1A SMARTAXIS USER S MANUAL FT9Y B1382 ...