When the CALL function receives power flow, it causes the logic execution to go immediately to the
designated program block, external C block (parameterized or not), or parameterized block and
execute it. After the block’s execution is complete, control returns to the point in the logic
immediately following the CALL instruction.
Notes:
▪ A CALL function can be used in any program block, including the _MAIN block, or a parameterized
block. It cannot be used in an external block.
▪ You cannot call a _MAIN block.
▪ The called block must exist in the target before making the call.
▪ There is no limit to the number of calls that can be made from or to a given block.
▪ You can set up recursive subroutines by having a block call itself. When stack size is configured
to be the default (64K), the PLC guarantees a minimum of eight nested calls before an
Application Stack Overflow fault is logged.
▪ Each block has a predefined parameter, Y0, which the CPU sets to 1 upon each invocation of the
block. Y0 can be controlled by logic within the block and provides the output status of the block.
When the Y0 parameter of a Program Block, parameterized block, or external C block returns ON,
the CALL passes power to the right; when it returns OFF, the CALL does not pass power to the
right.