7-128
EFCALL(P)
(7) to can be used with the EFCALL (P) instruction.
(8) The number of function devices used by subroutine programs must be identical to the
number of arguments used by the EFCALL (P) instruction. Further, the function devices
should be identical to the types of arguments used by the EFCALL (P) instruction.
(9) Up to 16 levels of nesting can be used with the EFCALL (P) instruction. However, this 16
levels is the total number of levels in the CALL(P), FCALL(P), ECALL(P), EFCALL(P), and
XCALL instructions.
Operation Error
(1) In any of the following cases, an operation error occurs, the error flag (SM0) turns ON, and
an error code is stored into SD0.
• The device specified for the argument cannot be secured for the data size.
(Error code: 4101)
• Following the execution of the EFCALL (P) instruction, an END, FEND, GOEND, or STOP
instruction is executed before the execution of the RET instruction.
(Error code: 4211)
• An RET instruction is executed prior to the execution of the EFCALL (P) instruction.
(Error code: 4212)
• A 17th nesting level is executed. (Error code: 4213)
• The subroutine program of the pointer designated by the EFCALL (P) instruction does not
exist. (Error code: 4210)
• The designated file does not exist. (Error code: 4210)
• The designated file cannot be executed. (Error code: 2411)
Program Example
(1) The following program executes a subroutine program with argument when X0 is ON, and
forces non-execution processing when X20 is turned from ON to OFF.
[Ladder Mode] [List Mode]
S1
S5
"ABC" P0
EFCALL
"ABC" P0ECALL
FEND
RET RET RET
END
P0
P10
P20
ECALL "DEF" P10 ECALL "GHI" P20
EFCALL
"DEF" P10
EFCALL
"GHI" P20
Step
Instruction
Device