G90 stelt um auf absolute Koordinaten.
Du müsstest also nen G90 machen, gefolgt von deinen Wunsch-Koordinaten.
G91 stellt wieder auf "relativ" um.
G90 stelt um auf absolute Koordinaten.
Du müsstest also nen G90 machen, gefolgt von deinen Wunsch-Koordinaten.
G91 stellt wieder auf "relativ" um.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Leider nicht ganz. Das Ding bleibt irgendwie in dem Koordinatensystem, das ich davor mit G92 verschoben hab.
Mal Beispiele (jetzt nur für X, damits kürzer ist)
Kopf fährt zu den "echten" X400. ("echt" = wenn ich an die Führungsschiene ein Lineal pappe und schau, wo der Kopf dann steht). Da, wo er eigentlich hin soll, egal von wo aus er dann mit egal welchem Nullpunkt startet.Code:Reset $H (Home-Befehl) G90 X400
Kopf ist bei "echten" X20Code:Reset $H G90 X20
Neuer Nullpunkt gesetzt.Code:G92 X0
Kopf bleibt stehen (bei den "echten" X20)Code:G90 X0
Kopf zurück, wo er nach $H war (zu den "echten" X0)Code:X-20
Soft Limit Fehler, da er zu den "echten" X420 fahren will, was aber ausserhalb der mechanisch möglichen x400 liegt.Code:X400
Ich müsste X380 senden, damit er zu den echten X400 fährt.
Muss einer dieser 3 Punkte sein:
a) ich hab nen kompletten Denkfehler
b) das ist in der Steuerung falsch umgesetzt
c) es geht mit G-Code einfach nicht
Ich weiss jetzt nicht genau: merkt sich (oder soll, nach Definition) eine CNC-Maschine das ursprüngliche "prä-G92-Koordinatensystem"? Oder gibts da nur 1 und das wird halt mit G92 einfach verschoben? Aber "irgendwie" muss sie das ja noch wissen, da sie weiss, wie viel sie noch fahren kann, bevors den Soft Limit Error gibt.
#ifndef MfG
#define MfG
Normalerweise wird beim Start genullt- also Home angefahren. Da sollte es Endschalter in irgendeiner Form geben.
Macht zumindest jeder 3D-Drucker.
Dennoch kannst du auf absolute Koordinaten umschalten mit G90. G91 stellt wieder relative ein, also:
G90 X10 Y10 fährt Position X und Y 10 an //solange hier kein G91 kommt, bleiben wir bei absoluten Koordinaten
X20 Y20 fährt Position X20,Y20 an
G91 X10 Y10 fährt Position X30 Y30 an //hier stellen wir _dauerhaft_ um auf relative Koordinaten, bis wieder ein G90 kommt.
X10 Y10 fährt nun Position X40, Y40 an
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Naja, das mit G90/G91 zwischen absolut/relativ umschalten ist mir schon klar.
Es ging eher um das Umschalten zu einem anderen, absoluten Koordinatensystem.
Beim Stichwort "Endschalter" hats aber plötzlich geklickt.
Vermutlich nicht die Lösung, die du meintest, und auch nicht die, die ich mir vorgestellt hab, aber immerhin führt die zum Soll-Ergebnis:
Also Home zu den Endschaltern bei 0/0, damit weiss ich jetzt, wo der Kopf ist.Code:$H G91 G0 X400 Y400 G90
Dann einfach relativ die 400/400 fahren und ich bin am Ziel.
Ohne die Reise über die Schalter wüsste ich ja sonst nicht, wo der Kopf gerade ist, und könnte damit bei verschobenem Koordinatensystem weder mit G90 noch G91 ans Ziel.
Die Werte für G92 weiss ich ja nicht numerisch. Ich fahr den Laser einfach optisch mit niedrigster Leistung da hin, wo er loslegen soll, G92 X0 Y0 und gib ihm.
Wenn der Laser eh schon da in der Nähe der Ecke ist, sind das mit dem Umweg über Home max. 4-5 Sekunden, die er da "umsonst" unterwegs ist. Aber ist ja keine Live-Fertigung für Formel-1-Ersatzteile, dass das was ausmacht.
#ifndef MfG
#define MfG
Je nach verwendeter Firmware muss Home nicht bei 0,0 sein.
Bei meinem 3D-Drucker ist Home beispielsweise irgendwo bei -20 oder so.
0,0 ist die vordere, linke Ecke des Arbeitsbereiches- Home liegt ausserhalb.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Lesezeichen