Dekodierstopp mit externem Triggerevent (@717)

In manchen Fällen kann es z.B. von Ereignissen in der SPS abhängen, ob das NC-Teileprogramm warten muss oder fortgesetzt werden kann. Mit den 2 Typen von M-Funktionen gibt es dabei folgende Probleme:

Beispiel:

Aus dem NC-Teileprogramm wird während einer Positionierung mit einer fliegenden M-Funktion ein Prozess A angestoßen. Dabei wird vorausgesetzt, dass der Verfahrsatz im NC-Programm für gewöhnlich lang genug ist, so dass der Prozess A in der SPS fertig gestellt werden kann. Ist A fertig, so soll das NC-Teileprogramm mit Lookahead das nächste Segment abfahren. Für den Fall, dass A allerdings nicht fertig geworden ist, soll die NC am Segmentende anhalten und warten, bis der Prozess A beendet ist. Genau dieses Szenario kann mit dem Befehl @717 realisiert werden. Dabei schickt die SPS das sogenannte 'GoAhead'-Kommando, wenn Prozess A beendet ist.

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 ...

Trifft das Go-Ahead Signal früh genug aus der SPS ein, so werden die Sätze N50 & N70 vom Lookahead verbunden und die Bahngeschwindigkeit wird dann nicht reduziert. Falls das Signal in der Verzögerungsphase von N50 eintrifft, so wird die Geschwindigkeit dann wieder aufgebaut. Ansonsten wird gewartet, bis das Signal aus der SPS eintrifft.

Hinweis Der Dekodierstopp darf nicht bei aktiver Werkzeugkorrektur oder Kreisverrundung programmiert werden, da diese dann nicht mehr funktionieren.

Der Funktionsbaustein 'ItpGoAheadEx' liefert den Fehlercode 0x410A, wenn zum Zeitpunkt des Aufrufs kein @717 im Interpreter anliegt.