Moin.

Ich bin grade bisschen zu doof für wohl einfachsten G-Code.
Entweder seh ich da was nicht oder es geht tatsächlich technisch nicht.

Ich hab einen Laser Cutter, der über GRBL gesteuert werden kann.
Arbeitsfläche sind 400x400 mm.

Bisher war der G-Code, der nach einem Auftrag gesendet wird:
Code:
G90
G0 X0 Y0
Damit fährt der Laser dahin zurück, wo er angefangen hat, und verdeckt damit perfekt das Werkstück. Ich muss also jedes Mal das Ding erst mal wegbewegen, um ans Werkstück zu kommen.

Was ich jetzt machen möchte, wäre was wie:
Code:
G0 X400 Y400
Der Laser soll also ins gegenüberliegende Eck fahren, wo er nicht im Weg umgeht.

Das klappt, solange ich NICHT mit
Code:
G92 X0 Y0
ein neues Origin festlege.
Angenommen, der Laserkopf ist aktuell bei mechanischen X40 Y50, ich setze G92 X0 Y0, dann würde
Code:
G0 X400 Y400
den Laser auf tatsächliche X440 Y450 fahren wollen. Die Software erkennt, dass die Werte grösser sind als mechanisch möglich, stoppt mit einem Soft Limit Error, bewegt den Kopf garnicht und verlang einen Reset. Damit ist der mit G92 gesetzte Punkt natürlich weg. Zitat Waldi, der Möter: "Bläääd".

Ich Suche jetzt eine Befehlsabfolge, die den Kopf zu den mechanischen X400 Y400 fährt, unabhängig davon, was vorher mit G92 für ein Origin festgelegt wurde, und auch so, dass dieses Origin beibehalten wird (so, dass ich danach mit z.B. G0 X0 Y0 wieder an das Origin komme.)

Also er startet einen Auftrag bei X40 Y50, fährt den Kopf danach zu X400 Y400, Werkstückwechsel, und er legt wieder bei X40 Y50 los.

Wie würde man das machen, wenn das so überhaupt möglich ist?

MfG
Stefan