200
FX
3U
/FX
3UC
Series Programmable Controllers
Programming Manual - Basic & Applied Instruction Edition
8 Program Flow – FNC 00 to FNC 09
8.2 FNC 01 – CALL / Call Subroutine
Caution
1. Using a label (P) number twice or more
In CALL instructions, a same number can be used twice or more in operands (P).
However, do not use a label (P) and number used in another instruction (CJ instruction).
Program examples
1. Example of fundamental use (no nesting)
2. Example of multiple CALL instructions in subroutines (multiple nesting)
CALL instruction can be used up to 4 times in subroutine programs. Nesting of up to five layers is allowed.
Label
P 9
FNC 01
CALLP
P 9
X030
X020
FNC 00
CJ
P 9
User program
Bad
Label
P 10
FNC 01
CALL
P 10
FNC 06
FEND
FNC 02
SRET
END
X000
Main program
While X000 is ON, the program execution jumps to a
step with the label P10.
Subroutine program
When SRET instruction is executed after the subroutine
program has executed, the program execution returns to
the original step +1.
Label
P 11
Label
P 12
FNC 01
CALLP
P 11
FNC 06
FEND
FNC 01
CALL
P 12
FNC 02
SRET
FNC 02
SRET
END
Main program
When X001 turns ON from OFF, the program execution
jumps to the label P11 only once.
Subroutine program 1
When SRET instruction is executed, the program
execution returns to the main program.
If X002 is ON while the subroutine program 1 is
executed, the program execution jumps to a step with
the label P12.
Subroutine program 2
The subroutine program with P12 is executed, and then
the program execution returns to the subroutine program
with P11 by SRET instruction.
X001
X002
X003