Interrupt routines (ASUB)
If a subprogram is called in the context of an interrupt routine, this will not be executed at the
program level currently active in the channel (n) but at the next lowest program level (n+1). So
that this remains possible even at the lowest program level, 2 additional program levels (16 and
17) are available in conjunction with interrupt routines.
If more than 2 program levels are required, this has to be taken into account explicitly in the
structuring of the part program executed in the channel. In other words, only a maximum of as
many program levels may be used in order to leave sufficient program levels available for
interrupt processing.
If interrupt processing needs 4 program levels for example, the part program must be structured
so that it uses a maximum of up to program level 13. In the event of an interrupt, the 4 program
levels it requires (14 to 17) will be available to it.
Siemens cycles
Siemens cycles need 3 program levels. Therefore, a Siemens cycle must be called at the latest
in:
● Part program processing: program level 12
● interrupt routine: program level 14
3.2.1.4 Search path
When a subprogram without path details is called, the control system searches the available
program memory using a predefined search sequence (see "Search path for subprogram call
(Page 559)").
3.2.1.5 Formal and actual parameters
Formal and actual parameters occur in conjunction with the definition and calling of
subprograms with parameter transfer.
Formal parameter
When a subprogram is defined, the parameters to be transferred to it (known as the formal
parameters) have to be defined with type and parameter name.
The formal parameters define, therefore, the interface of the subprogram.
Example:
Program code Comment
PROC CONTOUR (REAL X, REAL Y) ; Formal parameters: X and Y, both REAL type
N20 X1=X Y1=Y ; Traversing of axis X1 to position X and axis
Y1 to position Y
...
N100 RET
Work preparation
3.2 Subprogram technique
NC programming
Programming Manual, 12/2019, 6FC5398-2EP40-0BA0 493