18: P
ROGRAM
B
RANCHING
I
NSTRUCTIONS
18-4
« FC4A M
ICRO
S
MART
U
SER
’
S
M
ANUAL
»
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 FC4A-C10R2
Page 1: ...FC4A SERIES Micro Programmable Logic Controller User s Manual FC9Y B812 ...
Page 6: ...PREFACE 4 FC4A MICROSMART USER S MANUAL ...
Page 94: ...2 MODULE SPECIFICATIONS 2 74 FC4A MICROSMART USER S MANUAL ...
Page 184: ...6 ALLOCATION NUMBERS 6 20 FC4A MICROSMART USER S MANUAL ...
Page 218: ...8 ADVANCED INSTRUCTIONS 8 8 FC4A MICROSMART USER S MANUAL ...
Page 240: ...11 BINARY ARITHMETIC INSTRUCTIONS 11 8 FC4A MICROSMART USER S MANUAL ...
Page 244: ...12 BOOLEAN COMPUTATION INSTRUCTIONS 12 4 FC4A MICROSMART USER S MANUAL ...
Page 252: ...13 SHIFT ROTATE INSTRUCTIONS 13 8 FC4A MICROSMART USER S MANUAL ...
Page 274: ...15 WEEK PROGRAMMER INSTRUCTIONS 15 8 FC4A MICROSMART USER S MANUAL ...
Page 378: ...22 DUAL TEACHING TIMER INSTRUCTIONS 22 4 FC4A MICROSMART USER S MANUAL ...
Page 386: ...23 INTELLIGENT MODULE ACCESS INSTRUCTIONS 23 8 FC4A MICROSMART USER S MANUAL ...
Page 408: ...24 ANALOG I O CONTROL 24 22 FC4A MICROSMART USER S MANUAL ...
Page 426: ...26 COMPUTER LINK COMMUNICATION 26 6 FC4A MICROSMART USER S MANUAL ...