G75 ist sicher sinnvoll, wenn der Hersteller den Werkzeugwechsel-Punkt über G75 definiert hat.
Das dürfte aber mittlerweile der Vergangenheit angehören.
Im L6 wird die feste Position für den Werkzeugwechsel, wenn benötigt, wie nachfolgend oder ähnlich angefahren.
CODE
;*** WWP_L.SPF ***
;*** Werkzeugwechselpunkt LINKS ***
G641 ADISPOS=50;Positionier-Überschleifabstand 50mm
SOFT; sanfte Beschleunigung
D0;Schneide abwählen
;*** Freifahren nach Z+ bis 1mm vor Software-Endschalter:
SUPA G0 Z=$MA_POS_LIMIT_PLUS[Z]-1
;*** Rückzug nach Y+ (hinter die Trennwand) bis 1mm vor
Software-EndschalterSUPA G0 Y=$MA_POS_LIMIT_PLUS[Y]-1 POSA[B]=0
;*** Positionieren nach X- bis 1mm vor Software-Endschalter
SUPA G0 X=$MA_POS_LIMIT_MINUS[Y]+1
G64
BRISK
RET
CODE
;*** WWP_R.SPF ***
;*** Werkzeugwechselpunkt RECHTS ***
G641 ADISPOS=50;Positionier-Überschleifabstand 50mm
SOFT; sanfte Beschleunigung
D0;Schneide abwählen
;*** Freifahren nach Z+ bis 1mm vor Software-Endschalter:
SUPA G0 Z=$MA_POS_LIMIT_PLUS[Z]-1
;*** Rückzug nach Y+ (hinter die Trennwand) bis 1mm vor Software-Endschalter
SUPA G0 Y=$MA_POS_LIMIT_PLUS[Y]-1 POSA[B]=0
;*** Positionieren nach X+ bis 1mm vor Software-Endschalter
SUPA G0 X=$MA_POS_LIMIT_PLUS[X]-1
;(hier ist auch jede andere geeignete Position im MKS möglich.)
G64; Bahnsteuerbetrieb (Einschaltbedingung)
BRISK; Harte Beschleunigung (Einschaltbedingung)
RET; zurück ohne Bewegungsstop
Beide UPs ins Verzeichnis "SPF" kopieren.
Benennung wie in der ersten Zeile, oder je nach persönlichem Geschmack.
Aufruf (bsw.):
CODE
...
(Freifahren)
T="FRAESER"
WWP_R
M6
D1
...
Die Vorpositionierung der B-Achse zum Werkzeugwechsel (0°) ist hier durch POSA von den Linearbewegungen (G0) von Y und X entkoppelt.
Wenn diese Art der Positionierung auch für andere Zwecke benutzt wird, bsw. zum Arbeitsbereichwechsel ohne Werkzeugwechsel, muß die Schneide natürlich anschließend wieder angewählt werden.
Möglich ist dann auch die Zwischenspeicherung der aktiven Schneide in einer Integer-Variable am UP-Anfang:
CODE
def int Schneide
Schneide=$P_TOOLNO
...
und die Aktivierung am Ende:
CODE
...
D=Schneide
RET