Program Execution / Subroutines 04.97
The WF 723 C does not distinguish between main program or subroutine, i.e. a subroutine can
be directly started like a main program or by a subroutine call.
A called subroutine is executed block by block, starting with the first block number, until a
return to the next higher level is effected. Such a return is triggered by a traversing block with
subroutine end (M17 or M29) or by the execution of the last traversing block of a subroutine.
Modally effective G-functions are effective starting at the block number in which they are
programmed. They stay also effective when jumping to subroutines or back to the main
program.
If a subroutine is terminated with M18, M18 will only be output as an
M-function
➯
no return function.
3.3.3 Programming guidelines
Please adhere to the following guidelines for subroutine execution:
• The 2-level nesting depth must not be exceeded, otherwise the program execution is
aborted and an error message is output.
• Calling a superior program (main program or subroutine) in the subroutine results in an
exceeded nesting depth and is illegal. It is also illegal that a program calls itself.
• When changing program levels, flying block change is not possible. Before the program
level is changed, the axes are brought to an exact stop.
• If subroutine calls are programmed in skippable blocks, the subroutine will not be executed
if the control signal ”Skip block” [SA] is set.
• All definitions in the main program (G- functions, tool offset, zero point offsets, etc.) are
transferred to the subroutines.
3 – 4 ©
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)