Hallo Fliegerkind, Heini.
Ich mach das so!
Im Toll Information muß stehen Tool = 0 WICHTIG.
Vor dem Programmstart Werkstückoberfläche ankratzen und DRO Absolut Z nullen.
Dann Freifahren in Z, Meßvorgang auslösen.
Dann fährt das Script zum Schalter um diesen Anzutasten -> Z-Wert wird in einer Variablen 1001 Gespeichert, nach verlassen des Scripts bleibt die Variable erhalten.
Diese wird dann bei Mach bei (Offset Alt5) Gage Block Heigt eingetragen.
So wie es sein soll.
Jetzt das Programm ( G CODE ) Starten.
Wichtig ist hier das Werkzeug 1 als erstes im Programm angewählt wird. Dieses Werkzeug war vorher Null.
Programmlauf bis zum Werkzeugwechsel
Fräser oder Bohrer Einbauen
Meßvorgang auslösen.
Jetzt fährt das Script zum Schalter um diesen Anzutasten, die gespeicherte Variable (bzw. der Inhalt o.g. DROs) wird ins Z DRO geschrieben
Programmlauf bis zum Werkzeugwechsel
Jetzt fährt das Script zum Schalter um diesen Anzutasten, die gespeicherte Variable (bzw. der Inhalt o.g. DROs) wird ins Z DRO geschrieben
...
usw usw...
Ich habe mal für mich und andere alles zusammengefasst und als PDF unten angehangen.
Es Können Fehler enthalten sein.
Es soll nur als Hilfe dienen.
Hier mal mein Aktuelles eigenes Mach Skript für einen Festen WZLS, Benutzung auf eigene Gefahr!!!
If GetOEMDRO (824) <1 Then
SetOEMDRO(1216,GetOEMDRO(83))
SetOEMDRO(1217,GetOEMDRO(84))
SetGageH = GetOEMDRO(186)
Code "G0G53 Z" & GetOEMDRO(54)
While IsMoving()
Wend
code "g0 g53 x" & GetOEMDRO(1218)
While IsMoving()
Wend
code "g0 g53 y" & GetOEMDRO(1219)
While IsMoving()
Wend
code "g0 g53 z" & GetOEMDRO(1220)
While IsMoving()
Wend
code "g31 z-1000 f300"
While IsMoving()
Wend
code "g53 g0 z" & GetOEMDRO(85)+3
While IsMoving()
Wend
code "g31 z-150 f50"
While IsMoving()
Wend
G54 = GetOemDro(49)
ZNeu= GetOemDro(85)
Differenz=(ZNeu-G54)'Berechnung
SetOemDro(1001, Differenz)'Setze Wert Tasterhöhe
Code "G4 P2.0" 'Warte bis Werte übernommen
Code "G0G53 Z" & GetOEMDRO(54)
Code "G0G53 X" & GetOEMDRO(1216)
Code "G0G53 Y" & GetOEMDRO(1217)
Code "F" &FeedCurrent
End If
If GetOEMDRO (824) >0 Then
FeedCurrent = GetOemDRO(818)
SetOEMDRO(1216,GetOEMDRO(83))
SetOEMDRO(1217,GetOEMDRO(84))
Code "G0G53 Z" & GetOEMDRO(54)
While IsMoving()
Wend
code "g0 g53 x" & GetOEMDRO(1218)
While IsMoving()
Wend
code "g0 g53 y" & GetOEMDRO(1219)
While IsMoving()
Wend
code "g0 g53 z" & GetOEMDRO(1220)
While IsMoving()
Wend
code "g31 z-1000 f300"
While IsMoving()
Wend
code "g53 g0 z" & GetOEMDRO(85)+2
While IsMoving()
Wend
code "g31 z-150 f50"
While IsMoving()
Wend
Taster = GetOemDro(1001)
SetDRO(2,Taster)
Code "G4 P2.00" 'Warte bis Werte übernommen
Code "G0G53 Z" & GetOEMDRO(54)
Code "G0G53 X" & GetOEMDRO(1216)
Code "G0G53 Y" & GetOEMDRO(1217)
Code "F" &FeedCurrent
Else
End If
Ich hoffe es hilft hier etwas weiter.
Mfg
Thomas