# On/off handshake with PLC

While block search is active, the PLC is notified of every technology M function (e.g. torch on/off). As opposed to normal mode, however, this is not executed. Instead this is handled in the PLC by a special module. The PLC is then notified of every change in status of block search mode (on/off). The PLC then acknowledges the change and sends it to the NC: The NC waits for the acknowledgement from the PLC in the same way as for synchronised M functions.

If block search is active during an NC reset, block search without handshake is deselected (the PLC should then be notified of the reset by the reset-specific control unit).

Block search on/off to PLC
Description | At every block search on/off request, the CNC initiates a handshake with the PLC; As long as the request element has the value TRUE, the PLC is notified of every change in block search mode.
Access | If an NC program starts with block search mode activated, the CNC sets the CNC signal to TRUE and waits for the PLC signal, indicating that the PLC is ready for block search. When the PLC has executed the necessary actions to prepare for block search, it notifies this to the CNC by setting the PLC signal to TRUE.

After this signal, the NC program can be processed in block search mode. This takes place either by the “Continue motion” or “Program start” commands.

If the re-engagement position is reached while the NC program is processed, the CNC signals this by setting the CNC signal to FALSE.

The PLC detects this, completes its preparations for operation with real axis motions and then sets the PLC signal to FALSE.

ST path, ST element for CNC Build >= 2800
ST path | gpCh[channel_idx]^.bahn_lc_control.block_search with channel_idx = [0, HLI_SYS_CH_MAXIDX]
Data type | LC_CONTROL_BOOL_UNIT
CNC signal |
ST element | .command_r
Data type | BOOL
Value range | [TRUE = NC program was started in block search mode, FALSE = block search OFF]
PLC signal |
ST element | .state_r
Data type | BOOL
Value range | [TRUE = PLC acknowledged the notification about block search activation, FALSE = PLC acknowledged the notification of block search deactivation]
Request |
ST element | .enable_w
Data type | BOOL
Value range | [TRUE = PLC wants to be notified about activation of block search, FALSE]

ST path, ST element for CNC Build > 2800
ST path | pMC[channel_idx]^.addr^.LCControlBahn_Data.LCControlBoolUnit_BlockSearch with channel_idx = [1, HLI_SYS_CHNMAX]
Data type | LCControlBoolUnit
CNC signal |
ST element | .X_Command
PLC signal |
ST element | .X_State
Request |
ST element | .X_Enable

Interaction between BOOLEAN-LC control unit and PLC

## Notice

When the CNC is reset, the CNC resets the CNC signal and the PLC signal.