562
7 APPLICATION INSTRUCTIONS
7.4 Structure Creation Instructions
Correct operation: While D0 is specified for FD0 in the subroutine program, D4 is used in the subroutine program.
• Up to 16 CALL(P) instructions can be nested. Note that the 16-level nesting is the total of the CALL(P), FACLL(P),
ECALL(P), EFCALL(P), and XCALL instructions.
• Devices which are turned on in the subroutine program hold the on state even when the subroutine program is not
executed. The on state can be changed to off by executing the FCALL(P) instruction.
• An FBD/LD program cannot be created as a subroutine program.
• FBD/LD does not support the execution of a subroutine program with an argument.
(1) The operation result of the subroutine program is stored.
(2) These values are replaced with the function device values.
(3) Undefined values are stored.
Error code
(SD0)
Description
2820H The device specified in an argument from (s1) to (s5) cannot be secured for the data size.
3360H More than 16 CALL(P) instructions are nested. (The 17th instruction is executed.)
3380H The subroutine program corresponding to the pointer specified by (P) does not exist.
3381H After execution of the CALL(P) instruction, the END, FEND, GOEND, or STOP instruction is executed before the RET instruction.
3382H The RET instruction is executed before the CALL(P) instruction.
M0
M0
P0
CALL P0 D0
/K3K100 FD0
FEND
+K100D4
RET
1000
100
10
0
1000
100
1
33
FD0
FD0 FD0FD0
1000
100
10
0
1000
100
10
0
1000
100
10
1000
0 0 100 100
100
1
33
D0
D1
D2
D3
D0
D1
D2
0
D0
D1
D2
D3
D0
D1
D2
D3
D0
D1
D2
D3
(2)
(2)
(2)
(2)
(1)
D0D0D0
D3
D4 D4 D4D4D4D4 D4D4
(1)
(1)
(3)
(3)
(3)
(3)
(3)
(3)
(3)
(3)
Before the execution of
the subroutine program
Immediately after the execution
of the CALL instruction
At the execution of
the subroutine program
After the execution of
the RET instruction
P0CALL
FEND RET RET RET
END
P0
P10 P20
CALL P10 CALL P20