04-24-2024, 08:52 AM
Hallo Markus,
ich hab Dein Macro mal kurz getestet. Meiner Meinung macht die Steuerung genau das, was Du programmiert hast:
* ich hab den G54-Offset auf X=100 Y=100 gestellt.
* ich bin auf den Nullpunkt gefahren, d.h. die Koordinatenanzeige steht jetzt auf X0 Y0 und ich stehe absolut auf G53 X100 Y100
* ich starte Dein Macro. Es gibt folgendes aus:
Wert11=100 Wert12=100 Wert15=55.865 Wert16=34.032
Neue Positionen X=44.135 Y=65.968
* Der neue Offset von G54 steht danach auf X-55.865 Y-34.0325
Möglicherweise ist das nicht, was Du erwartet hast, aber es erscheint logisch, wenn man den Code anschaut.
G1 X=#21 Y=#22 (Anfahren des Werstücknullpunktes)
...
#909=#10 (Aktivieren des Werkstückoffsets)
#900=X (Ubernehmen der X Koordinaten)
#901=Y (Ubernehmen der Y Koordinaten)
L53 (Nullen der X & Y Koordinaten im aktiven Werkstückoffset)
Mit "#909=#10" setzt Du zuerst den aktivierten Offset von G53 auf G54 zurück. Die Maschine ist vorher mit G1 auf die neue Position gefahre, also X=44.135 Y=65.968. Das entspricht im alten Offset G54 gerechnet aber den Koordinaten X-55.865 Y-34.032. (Die 0,5µm Differenz bei Y kommt wahrscheinlich durch die Rundung auf ganzzahlige Schritte des Antriebs) Mit "#900=X" und "#901=Y" werden die Momentan-Werte von X und Y genommen und mit "L53" gespeichert. Alles OK aus der Sicht der Steuerung, denke ich.
Was Du wahrscheinlich machen wolltest, war aber:
#900=#21 (Offset kompensiert X-Achse)
#901=#22 (Offset kompensiert Y-Achse)
L53
Das würde den berechneten Offset speichern und nicht die aktuell angezeigten Koordinaten. Ich vermute mal, dass Dein Macro mit der alten Version funktioniert hatte, war eigentlich "Glücksache" und dadurch bedingt, dass X und Y bei "#909=..." nicht aktualisiert wurde, also noch auf den Werten von G53 stand. War also mehr oder weniger eine Verkettung von zwei Bugs, einer von mir und einer von Dir.
Programmiert man es eindeutig, dann funktioniert es unabhängig von der Softwareversion.
ich hab Dein Macro mal kurz getestet. Meiner Meinung macht die Steuerung genau das, was Du programmiert hast:
* ich hab den G54-Offset auf X=100 Y=100 gestellt.
* ich bin auf den Nullpunkt gefahren, d.h. die Koordinatenanzeige steht jetzt auf X0 Y0 und ich stehe absolut auf G53 X100 Y100
* ich starte Dein Macro. Es gibt folgendes aus:
Wert11=100 Wert12=100 Wert15=55.865 Wert16=34.032
Neue Positionen X=44.135 Y=65.968
* Der neue Offset von G54 steht danach auf X-55.865 Y-34.0325
Möglicherweise ist das nicht, was Du erwartet hast, aber es erscheint logisch, wenn man den Code anschaut.
G1 X=#21 Y=#22 (Anfahren des Werstücknullpunktes)
...
#909=#10 (Aktivieren des Werkstückoffsets)
#900=X (Ubernehmen der X Koordinaten)
#901=Y (Ubernehmen der Y Koordinaten)
L53 (Nullen der X & Y Koordinaten im aktiven Werkstückoffset)
Mit "#909=#10" setzt Du zuerst den aktivierten Offset von G53 auf G54 zurück. Die Maschine ist vorher mit G1 auf die neue Position gefahre, also X=44.135 Y=65.968. Das entspricht im alten Offset G54 gerechnet aber den Koordinaten X-55.865 Y-34.032. (Die 0,5µm Differenz bei Y kommt wahrscheinlich durch die Rundung auf ganzzahlige Schritte des Antriebs) Mit "#900=X" und "#901=Y" werden die Momentan-Werte von X und Y genommen und mit "L53" gespeichert. Alles OK aus der Sicht der Steuerung, denke ich.
Was Du wahrscheinlich machen wolltest, war aber:
#900=#21 (Offset kompensiert X-Achse)
#901=#22 (Offset kompensiert Y-Achse)
L53
Das würde den berechneten Offset speichern und nicht die aktuell angezeigten Koordinaten. Ich vermute mal, dass Dein Macro mit der alten Version funktioniert hatte, war eigentlich "Glücksache" und dadurch bedingt, dass X und Y bei "#909=..." nicht aktualisiert wurde, also noch auf den Werten von G53 stand. War also mehr oder weniger eine Verkettung von zwei Bugs, einer von mir und einer von Dir.
