Decoder Stop with external trigger event (@717)
Sometimes the question of whether the NC part of the program must wait or can continue may depend, for instance, on events in the PLC. With the two types of M-functions this can give rise to the following problems:
- Handshake: Because of the M-function's handshake the path velocity must be brought to zero at the location where the M-function is programmed, after which confirmation is awaited from the PLC.
- On The Fly (also known as a fast M-function): Because no confirmation from the PLC is waited for, there is also no way for the partial program to wait for the PLC.
- Even a combination of the two types of M-function does not help here.
Sample:
During positioning with a flying M-function, a process A is initiated by the NC partial program. It is assumed here that the set of processes in the NC program is typically long enough for process A to be completed in the PLC. If A is ready, then the NC partial program should execute the next segment with look-ahead. In case A is not ready, however, then the NC should stop at the end of the segment and wait until process A has finished. It is exactly this scenario that can be implemented with the command @717. The PLC here sends the so-called 'GoAhead' command when process A has finished.
N10 ...
N20 G0 X0 Y0 Z0
N30 G01 X500 F6000
N40 M70 (flying M-function that triggers process A)
N50 G01 X700
N60 @717 (decoder stop with external trigger event)
N70 G01 X1000
N80 ...
If the GoAhead signal reaches the PLC early enough, then blocks N50 and N70 are linked by look-ahead, and the path velocity is not then reduced. If the signal arrives during the deceleration phase of N50, then the velocity is once more increased. Otherwise, the machine waits for the signal from the PLC.
The function block 'ItpGoAheadEx' returns the error code 0x410A, if no @717 is present in the interpreter at the time of the call.