P3: Basic PLC Program for SINUMERIK 840D sl
13.13 Block descriptions
Basic Functions
Function Manual, 09/2011, 6FC5397-0BP40-2BA0
999
13.13.12 FC 3: GP_PRAL Basic program, interruptdriven section
Function
Blocksynchronized transfers from the NCK to the PLC (auxiliary and G functions) are carried out in the
interruptdriven part of the basic program. Auxiliary functions are subdivided into normal and highspeed auxiliary
functions.
The highspeed functions of an NC block are buffered and the transfer acknowledged to the NC. These are
passed to the application interface at the start of the next OB1 cycle.
Highspeed auxiliary functions programmed immediately one after the other, are not lost for the user program.
This is ensured by a mechanism in the basic program.
Normal auxiliary functions are acknowledged to the NC only after one completed cycle duration. This allows the
application to issue a read disable to the NC.
The G Functions are evaluated immediately and passed to the application interface.
NC process interrupts
If the interrupt is triggered by the NC (possible in each IPO cycle), a bit in the local data of OB 40
("GP_IRFromNCK") is set by the basic program, when the FB 1 parameter "UserIR": = TRUE"). This data is not
set on other events (process interrupts through I/Os). This information makes it possible to branch into the
associated interrupt routine in the user program in order to initiate the necessary action.
To be able to implement highspeed, jobdriven processing of the user program for the machine, the following NC
functions are available in the interrupt processing routine (OB 40 program section) for the PLC user program:
• Selected auxiliary functions
• Tool-change function for tool-management option
• Position reached for positioning axes, indexing axes and spindles with activation via PLC
The functions listed above can or must be evaluated by the user program in OB 40 in order to initiate reactions on
the machine. As an example, the revolver switching mechanism can be activated when a T command is
programmed on a turning machine.
For further details on programming hardware interrupts (time delay, interruptibility, etc.) refer to the
corresponding SIMATIC documentation.
ToUserIF :=
TRUE,
//Signals transferred from DB2 to interface
//to interface
Ack :=
I6.1);
//Acknowledgment of error messages
//via I 6.1
END_ORGANIZATION_BLOCK