K1: Mode group, channel, program operation, reset response
9.15 Replacing functions by subprograms
Basic Functions
658
Function Manual, 09/2011, 6FC5397-0BP40-2BA0
9.15.4
Properties of the subprograms
General Rules
• The subprogram called when making the replacement can contain the command
PROC
and the attribute
SBLOF
and
DISPLOF
.
• The replacement is also made in the ISO language mode. However, the replacement subprograms are
exclusively processed in the standard language mode (Siemens). There is an implicit switchover into the
standard language mode. The original language mode is reselected with the return jump from the
replacement subprogram.
• System variables are exclusively used to transfer information to the replacement subprogram. Transfer
parameters are not possible.
• The behavior for a single block and attribute
SBLOF
depends on the setting in:
MD10702 IGNORE_SINGLEBLOCK_MASK, bit 14 (prevent single-block stop)
• For replacement subprograms with the attribute
DISPLOF
in the block display, the program line is displayed
as actual block, which resulted in the subprogram being called.
• In the replacement subprogram, areas or the complete replacement subprogram can be protected against
interruptions, such as NC stop, read-in inhibit etc., using the
DELAYFSTON
and
DELAYFSTOF
commands.
• Replacements do not occur recursively, i.e. the function that has led to the replacement subroutine call is no
longer replaced if it is programmed again in the replacement subroutine.
Value Meaning
0
The replacement subprogram behaves like a "normal" subprogram:
• Return jump with
M17
: Stop at the end of the subprogram
Note
The output of the M function at the PLC depends on:
MD20800 $MC_SPF_END_TO_VDI, bit 0 (subprogram end to PLC)
- Bit 0 = 0: no output
- Bit 0 = 1: M17 is output to the PLC.
• Return jump with
RET
: No stop at the end of the replacement subprogram
1
In the block, in which the replacement subprogram is called, only one stop is made.
Regardless of whether:
• the subprogram was called at the block start and/or at the block end
• other subprograms are called in the subprogram
• the subprogram is exited with
M17
or
RET
The single block stop takes place for the replacement of M functions at the end of the
replacement subprogram.
For the replacement of T and D/DL functions, the time of the single block stop depends on
when the subprogram is called:
• Call at block start: Single block stop at the end of the block
• Call at the block end: Single block stop at the end of the replacement subprogram