Supplementary conditions
Interrupt rules
1. For every interrupt that cannot be immediately executed, or is presently already being
processed, an additional interrupt request is saved. All other interrupt requests for this
interrupt are lost.
2. If an interrupt is currently being processed and an additional interrupt with higher priority
initiated, then this interrupts the lower-priority interrupt. The lower priority interrupt is
continued after the higher priority interrupt has been completed. If, while the higher priority
interrupt is being processed, additional requests are received for the lower-priority interrupt,
then one request is saved. All others are lost.
3. If an interrupt is currently being processed and an additional interrupt with higher priority
initiated, then this interrupts the lower-priority interrupt. The higher priority interrupt is
processed. If a higher priority interrupt is initiated, the actual interrupt is interrupted and the
higher priority interrupt processed. A maximum of six active interrupt levels are possible.
One interrupt level presently being processed and five waiting interrupt levels. For each
active interrupt level, a maximum of one additional interrupt request is saved. All other
interrupt requests are lost. Interrupt requests are also lost if these are requested for
additional interrupt levels (interrupt level ≥ 7).
Examples
Example 1: Assign interrupt routines and define the priority
Program code Comment
...
N20 SETINT(3) PRIO=1 ABHEB_Z ; IF input 3 == 1 THEN start interrupt routine
"ABHEB_Z"
N30 SETINT(2) PRIO=2 ABHEB_X ; IF input 2 == 1 THEN start interrupt routine
"ABHEB_X".
...
The interrupt routines are executed in the sequence of the priority values if the inputs become
available simultaneously (are energized simultaneously): First "ABHEB_Z", then "ABHEB_X".
Example 2: Newly assign an interrupt routine
Program code Comment
...
N20 SETINT(3) PRIO=2 ABHEB_Z ; IF input 3 == 1 THEN start interrupt routine
"ABHEB_Z"
...
N80 SETINT(3) PRIO=1 ABHEB_X ; IF input 3 == 1 THEN start interrupt routine
"ABHEB_X"
...
Work preparation
3.3 Interrupt routine (ASUB)
NC programming
542 Programming Manual, 12/2019, 6FC5398-2EP40-0BA0