Synchronisationsszenarien
Synchronisation von zwei Decodern in zwei Kanälen

- Decoder 3 wartet auf Decoder 1, Decoder 1 arbeitet ohne Unterbrechung weiter
Programmierbeispiel
% 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 drei 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
% 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 drei Kanälen

- Bahn 1 wartet auf Bahn 2,
- Bahn 3 wartet auf Bahn 2,
- Bahn 2 signalisiert an Bahn 1 und Bahn 3.
Programmierbeispiel
% 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.
Hinweis | |
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 Signal-Satz 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
% 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
...