Technical data

Nesting other levels
When an event occurs, which requires higher priority processing, the
current level is interrupted by the system program and the higher
priority level is activated.
This occurs in the following situations:
at error levels
and program processing
levels at RESTART: always at operation boundaries,
all other levels: at block or operation boundaries
(depending on the setting in DX 0
refer to Chapter 7)
Specific system program
Each program processing level has its special system program.
ISTACK
After the system program calls an organization block, the CPU
executes the STEP 5 statements it contains. The current register record
is saved in the ISTACK and a new register record is set up (register:
ACCU 1 to 4, block stack pointer, block address register, data block
start address, data block length, step address counter and the base
address register).
If "normal" program execution is interrupted by the occurrence of an
event, following the execution of the OB, the CPU continues the
program execution at the point of interruption as long as no stop is
programmed in the OB.
Example:
CYCLE
CYCLE
BCF
BCF
ADF
ADF
ADF
BCF
CYCLE
Depth 3
Depth 2
Depth 1
ISTACK =
ISTACK
ISTACK
ISTACK
Image of the
interrupted levels
STP
WARM RESTART
Fig. 4-3: Principle of level change and ISTACK
Example:
At the CYCLE processing level, the system program
updates the process image of the inputs and
outputs, triggers the cycle monitoring time and
invokes management of the programmer interface
(system checkpoint).
4
Program Processing Levels
CPU 928B Programming Guide
C79000-B8576-C898-01
4 - 9