Synchronisation scenarios
Synchronisation of 2 decoders on 2 channels
- Decoder 3 waits for decoder 1, decoder 1 continues to operate without interruption
Programing Example
Synchronisation of 2 decoders on 2 channels
% kanal_1 ... (Signal P100) (Synchronisation at DEC level) (Synchronisation with channel 3) (Parameter V.P.SYNC) V.P.SYNC = 1000 P100 = 814 #SIGNAL [IDP100 P[0]= V.P.SYNC CH3] : | % kanal_3 ... (Wait request 814) (Synchronisation at DEC level) (Synchronisation with channel 1) (Parameter V.P.SIGNAL) #WAIT [ID814 P[0]= V.P.SIGNAL CH1] : |
Synchronisation between decoder and interpolators on 3 channels
- Interpolator 1 waits for interpolator 2 and decoder 3,
- Interpolator 2 waits for interpolator 1 and decoder 3,
- Decoder 3 signals to interpolator 1 and interpolator 2.
Programing Example
Synchronisation between decoder and interpolators on 3 channels
% kanal_1 ... (Wait request 968) (Sync. At IPO level) (Sync. with channels 2 and 3) #WAIT SYN [ID968 CH2 CH3] : | %kanal_2 ... (Wait request 968) (Sync. At IPO level) (Sync. with channels 3 and 1) #WAIT SYN [ID968 CH3 CH1] : | % kanal_3 ... (Signal 968) (Sync. At DEC level) (Sync. with channels 1 and 2) #SIGNAL [ID968 CH1 CH2] : |
Synchronisation between interpolators on 3 channels
- Interpolator 1 waits for interpolator 2,
- Interpolator 3 waits for interpolator 2,
- Interpolator 2 signals to interpolator 1 and interpolator 3.
Programing Example
Synchronisation between interpolators on three channels
% kanal_1 ... (Wait request 100) (Sync. At IPO level) (Sync. with channel 2) #WAIT SYN [ID100 CH2] : | %kanal_2 ... (Signal 100) (Sync. At IPO level) (Sync. with channels 1 and 3) #SIGNAL SYN [ID100 CH1 CH3] : | % kanal_3 ... (Wait request 100) (Sync. At IPO level) (Sync. with channel 2) #WAIT SYN [ID100 CH2] : |
Synchronisation between decoder and interpolator of one channel
- Decoder waits until interpolator has reached position X 250.
- Motion block "G01 X370 Z200 F80" is already on the NC channel and is processed after signalling.
- Motion block "G01 X900" is decoded only after synchronisation.
Attention
In the case of synchronisation requests between decoder and interpolator, states may occur in which the NC program cannot be decoded further since no acknowledgement has yet arrived. The acknowledgement is, however, not dispatched by the interpolator since the signal block does not reach the interpolator owing to the buffer effect of the NC channel. A #FLUSH which flushes the NC channel must be provided in such cases in order to avoid possible deadlocks.
Programing Example
Synchronisation between decoder and interpolator of one channel
% kanal_1 G00 X100 Y500 G01 X250 F300 (Signal 88) (Synchronisation at interp. level, synchronisation with channel 1) #SIGNAL SYN [ID88 CH1] (Operation) G01 X370 Z200 F80 (Wait request 88) (Synchronisation at decoder level, synchronisation with channel 1) #FLUSH #WAIT [ID88 CH1] G01 X900 : |