Synchronisationsszenarien
Synchronisation von 2 Decodern in 2 Kanälen
- Decoder 3 wartet auf Decoder 1, Decoder 1 arbeitet ohne Unterbrechung weiter
Programmierbeispiel
Synchronisation von 2 Decodern in 2 Kanälen
% kanal_1 ... (Signal P100) (Synchronisation auf DEC-Ebene) (Synchronisation mit Kanal 3) (Parameter V.P.SYNC) V.P.SYNC = 1000 P100 = 814 #SIGNAL [IDP100 P[0]= V.P.SYNC CH3] : | % kanal_3 ... (Warteanforderung 814) (Synchronisation auf DEC-Ebene) (Synchronisation mit Kanal 1) (Parameter V.P.SIGNAL) #WAIT [ID814 P[0]= V.P.SIGNAL CH1] : |
Synchronisation zwischen Decoder und Interpolatoren in 3 Kanälen
- Interpolator 1 wartet auf Interpolator 2 und Decoder 3,
- Interpolator 2 wartet auf Interpolator 1 und Decoder 3,
- Decoder 3 signalisiert an Interpolator 1 und Interpolator 2.
Programmierbeispiel
Synchronisation zwischen Decoder und Interpolatoren in 3 Kanälen
% kanal_1 ... (Warteanforderung 968) (Sync. auf Interp.-Ebene) (Sync. mit Kanal 2 und 3) #WAIT SYN [ID968 CH2 CH3] : | %kanal_2 ... (Wartenaforderung 968) (Sync. auf Interp.-Ebene) (Sync. mit Kanal 3 und 1) #WAIT SYN [ID968 CH3 CH1] : | % kanal_3 ... (Signal 968) (Sync. auf Decoder-Ebene) (Sync. mit Kanal 1 und 2) #SIGNAL [ID968 CH1 CH2] : |
Synchronisation zwischen Interpolatoren in 3 Kanälen
- Bahn 1 wartet auf Bahn 2,
- Bahn 3 wartet auf Bahn 2,
- Bahn 2 signalisiert an Bahn 1 und Bahn 3.
Programmierbeispiel
Synchronisation zwischen Interpolatoren in drei Kanälen
% kanal_1 ... (Warteanforderung 100) (Sync. auf Interp.-Ebene) (Sync. mit Kanal 2) #WAIT SYN [ID100 CH2] : | %kanal_2 ... (Signal 100) (Sync. auf Interp.-Ebene) (Sync. mit Kanal 1 und 3) #SIGNAL SYN [ID100 CH1 CH3] : | % kanal_3 ... (Warteanforderung 100) (Sync. auf Interp.-Ebene) (Sync. mit Kanal 2) #WAIT SYN [ID100 CH2] : |
Synchronisation zwischen Decoder und Interpolator eines Kanals
- Decoder wartet bis Interpolator Position X 250 erreicht hat.
- Bewegungssatz "G01 X370 Z200 F80" ist bereits im NC-Kanal und wird nach Signalisierung abgearbeitet.
- Bewegungssatz "G01 X900" wird erst nach Synchronisation decodiert.
Achtung
Bei Synchronisationsanforderungen zwischen Decoder und Interpolator kann es zu Zuständen kommen, in denen das NC-Programm nicht weiter decodiert werden kann, da noch keine Quittierung eingetroffen ist. Die Quittierung wird vom Interpolator jedoch auch nicht weggeschickt, da der Signalsatz den Interpolator aufgrund der Bufferwirkung des NC-Kanals nicht erreicht. Um mögliche Verklemmungen zu vermeiden, ist in solchen Fällen ein #FLUSH vorzusehen, durch den der NC-Kanal leergeräumt wird.
Programmierbeispiel
Synchronisation zwischen Decoder und Interpolator eines Kanals
% kanal_1 G00 X100 Y500 G01 X250 F300 (Signal 88) (Synchronisation auf Interp.-Ebene, Synchronisation mit Kanal 1) #SIGNAL SYN [ID88 CH1] (Bearbeitung) G01 X370 Z200 F80 (Warteanforderung 88) (Synchronisation auf Decoder-Ebene, Synchronisation mit Kanal 1) #FLUSH #WAIT [ID88 CH1] G01 X900 : |