13: P
ROGRAM
B
RANCHING
I
NSTRUCTIONS
13-4
FC6A S
ERIES
MICROS
MART
L
ADDER
P
ROGRAMMING
M
ANUAL
FC9Y-B1726
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 that calls three different portions of program depending on the input. When the
subroutine is complete, program execution returns to the instruction following the LCAL instruction.
Separate the ladder line for each LCAL instruction.
I0 status may be changed by the subroutine upon return.
I0
LCAL
S1
0
REP
S1 –
D0
D1 –
D1
MOV(W)
REP
S1 –
D20
D1 –
D21
MOV(W)
Correct
M0
S
I0
I0
LCAL
S1
0
REP
S1 –
D0
D1 –
D1
MOV(W)
REP
S1 –
D20
D1 –
D21
MOV(W)
Incorrect
M0
S
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-s clock special internal relay.
When jump occurs to label 0, output Q0 oscillates in 1-s 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 FC6A Series
Page 1: ...B 1726 7 FC6A SERIES Ladder Programming Manual ...
Page 8: ...Preface 7 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 32: ...1 OPERATION BASICS 1 20 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 96: ...3 INSTRUCTIONS REFERENCE 3 18 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 130: ...4 BASIC INSTRUCTIONS 4 34 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 192: ...9 SHIFT ROTATE INSTRUCTIONS 9 12 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 272: ...12 DISPLAY INSTRUCTIONS 12 24 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 284: ...14 REFRESH INSTRUCTIONS 14 6 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 502: ...25 DATA LOG INSTRUCTIONS 25 22 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 546: ...26 SCRIPT 26 44 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...
Page 598: ...APPENDIX A 14 FC6A SERIES MICROSMART LADDER PROGRAMMING MANUAL FC9Y B1726 ...