Makrobefehle

  • Wenn du absolute koordinaten verwendest brauchst du deine Grafik doch einfach nur noch in der Lightburn arbeitsfläche passend zu positionieren. Da brauchts keinen Werkstücknullpunkt und komplizierte Makros.

    Das ginge prinzipiell sogar auf der Fräse.

    Gruß,

    Christian


    „Der größte Feind des Wissens ist nicht Unwissenheit, sondern die Illusion, wissend zu sein.“
    Stephen Hawking

  • $H + Achsbezeichnung ist der GRBL Code für „run home cycle“.

    Du musst also in der GRBL Referenz nachschauen.

    Die zu finden ist ja kein Problem.


    grüße

    grüße ralfg

  • https://www.sainsmart.com/blog…grbl-v1-1-quick-reference


    Dort steht unter „Grbl Non Gcode Commands“

    $H = Run Homing Cycle


    Für G 28 steht dort :

    Go to safe position. NOTE: If you have not run a homing cycle and have set the safe position this is very ‘unsafe’ to use.


    Es kommt doch darauf an was im Controller erwartet wird.


    G28 ist ein G-Code Befehl. G-Code Befehle setzen sich immer zusammen aus "G" für geometrische Befehle oder "M" für Hilfsbefehle, die alle nichtgeometrischen Aktionen der Maschine steuern. Hinter den beiden Buchstaben stehen direkte Anweisungen was mit diesem Befehl geschieht. Diese Befehle können modal oder nichtmodal sein.


    Alle Zeile die mit "$" beginnen sind Makros. Diese Makros müssen irgendwo definiert werden. Das kann in der Steuerung sein oder auch im Postprozessor, also dem Teil des Programms was den G-Code erzeugt. Mit "$" bezeichnete Zeilen können eben nicht von der Maschinensteuerung ausgeführt werden, sie müssen vorher aufgelöst werden.

    So kann ich in meinem CAM durch $ Makros alle Einstellungen auslesen und z.b. als Information im G-Code ausgeben.

    Ich kann auch eigene Makros definieren die, wenn sie ausgelöst werden, definierte Befehle oder Befehlsfolgen alas G-Code ausgeben.


    Um mit $HZ umgehen zu können muss also in der Steuerung das Makro definiert sein, damit eine Abfolge von G-Befehlen abgearbeitet wird.

    grüße ralfg

    4 Mal editiert, zuletzt von ralfg ()

  • Hock Dich doch einfach mal hin und probier es aus....was passiert denn wenn ein GRBL 1.1 H "Custom" installiert wurde?

    Nach meinem Verständnis existiert da die Z-Achse nicht weil die schlicht ausdokumentiert wurde.

    Du kannst entweder mit einer Z-Achse arbeiten oder nur mit X und Y


    Das Homing der Achsen funktioniert dann wie folgt:


    Mit Z-Achse: erst die Z-Achse und dann X und Y gleichzeitig

    Ohne Z-Achse: X und Y verfahren gleich


    Ohne Z-Achse die "config.h" bearbeiten und dort einstellen: erst X und dann Y


    Also haben wir mehrere Optionen nur wenn niemandem bekannt ist wie da was wie eingestellt ist...viel Spaß.

    Von dem Controller für GRBL erwate ich nichts, der macht was hinterlegt ist und dies ist ihm vollkommen Latte.


    So, dann mal viel Spaß beim ausprobieren, beim versuchen und testen...dann noch beim ändern, neu flashen und hoffen was verwurschtelt wurde funktioniert.

    Dann noch gucken was die Makros machen beim GRBL bzw. der Software.


    Dann noch eins, die Z-Achse mal in LightBurn aktivieren und auch probieren und zwar genau das gleiche wie ohne oder umgekehrt.


    Da schreib mir/uns mal Deine Erfahrungen und dann spiel mit dem Macro an so einem GRBL Controller und drauf achten welche Firmware zum Einsatz kommt.



    Na, ich bin gespannt : )

  • Davon ab sind Makros Befehle die ich entweder vor oder nach einem G-Code laufen lasse.

    Das Dollarzeichen ($) ist bei GRBL kein Macro sondern die Komandozeile und die benötige ich um Einstellungen ändern zu können, speichern oder zurücksetzen....da stehen diverse Befehle zur Verfügung.


    Das hier nur mal so...

    Das mal gut lesen!


    $RST=$ Setzt die Grbl-Einstellungen auf die Standardwerte zurück.

    $RST=# Löscht die G54-G59 WCS Offsets und die G28/30 Positionen im EEPROM.

    $RST=* Löscht und lädt alle Daten aus dem EEPROM.


    Das kann man eingeben falls mal irgendwo etwas hängt und eventuell Fehler kommen...ein Versuch ist es wert!



    Abfrage einer Referenzfahrt (wenn FluidNC installiert wurde auf einem DLC32)


    $Homing/Cycle0=XY Der erste Zyklus XY wird zur gleichen Zeit referenziert

    $Homing/Cycle0=X zur Referenzfahrt X im ersten Zyklus, $Homing/Cycle1=Y zur Referenzfahrt Y im zweiten Zyklus.

    $Homing/Cycle1=Y Homing Y im zweiten Zyklus.

  • ralfg
    Danke für den Link zur "Quickreferenz".


    Ich hoffe, das bringt mich nun doch wieder etwas dem Ziel näher.
    Nun heißt es erkunden und ausprobieren, was geht und was nicht.
    Einen separaten Achsen-Offset gibt es schon mal nicht, mit dem man das Rechteck des Laser-Flecks, bei G41/G42 etwas kompensieren könnte. da ist dann wohl, ein besserer Laser mit quadratischem Laser-Fleck angesagt, oder ich muß damit leben, bzw. muß die Konstruktion so anpassen, dass das Werkstück perfekt rauskommt.
    Aber erstmal muß ich wohl durch die Mühle und ausprobieren und testen.

    In den Maschineneinstellungen habe ich nach Achs-Offsets für die Referenzfahrt gesucht, aber nur einen generellen "Homing pull-off (mm) ($27)" der aber nur von "$H","$HX" und "$HY" so benutzt wird. Für die Referenzfahrt der Z-Achse mit "$HZ", ist das offenbar anders gelöst da fährt Z noch 5mm weiter und wird dann genullt.

    Mein Set: TwoTrees TS2 10W (Makerbase MKS DLC32 V2.1)(Update mit TS35 und neuer auch funktionierender Laser-Firmware), gesteuert von LightBurn 1.4.04, Ausgestattet mit Wabentisch, "Air-Assist" aus 2 Airbrush-Kompressoren (max. 3-4bar) im Tandem-Betrieb, Rauchabsaugung mit Hepa-Filtern und Aktivkohle-Filter, über und unter dem Wabentisch.

  • 1.Update:
    Ich habe nun in verschiedenen Dokumenten gestöbert und habe Einiges herausgefunden. Vielleicht finde ich auch noch etwas im Lightburn-Forum des Herstellers.
    Der G-Code-Satz entspricht in etwa der Fanuc 0i. Also das Minimum. Die GRBL-Befehls-Referenz hat auch etwas Erhellung gebracht.


    Für die Aufgaben, die ich eigentlich lösen wollte, habe ich erstmal eine, von vielleicht mehreren möglichen Lösungen gefunden.
    Wichtig und auch beabsichtigt ist, dass ich mit dem Taststift erstmal im JOG (Bewegen) auf eine noch nicht ausgeschnittene Stelle des Materials zielen muss, bevor ich das Makro starten kann. Allerdings macht das Makro auch genau das, was ich von ihm erwartet habe.


    ScrShot_008.jpg


    G10 L2 setzt den gewünschten einstellbaren Nullpunkt. P1 ist die erste Verschiebung G54.

    Mit der Eingabe von "$#" in der Kommandozeile der Konsole, bekommt man dann die gespeicherten Verschiebungen angezeigt.

    Mein Set: TwoTrees TS2 10W (Makerbase MKS DLC32 V2.1)(Update mit TS35 und neuer auch funktionierender Laser-Firmware), gesteuert von LightBurn 1.4.04, Ausgestattet mit Wabentisch, "Air-Assist" aus 2 Airbrush-Kompressoren (max. 3-4bar) im Tandem-Betrieb, Rauchabsaugung mit Hepa-Filtern und Aktivkohle-Filter, über und unter dem Wabentisch.

    2 Mal editiert, zuletzt von hapo () aus folgendem Grund: Ergänzung

  • Mir ist auch aufgefallen, dass "$HZ" nicht nur die Z-Achse referenziert und nur diesen Z-Wert abnullt, sondern auch die aktuelle Position der X- und Y-Achse zum Maschinen-Nullpunkt erklärt. Ich befürchte dass das nicht so gedacht ist. jedenfalls hatte ich das nicht so erwartet.
    Nach jedem Antasten des Werkstücks, muss also die ganze Prozedur von: Z ($HZ) referenzieren, Ebene ($H) referenzieren und eventuelle Verschiebung auf dem Werkstück setzen und aktivieren. :/ ?(

    Das sollte, wie ich meine, auch in Lightburn oder vom Maschinenhersteller so dokumentiert werden, zumal man diese "Homing"-Makros scheinbar nirgends einsehen und wohl auch nicht verändern kann. :rolleyes:

    Mein Set: TwoTrees TS2 10W (Makerbase MKS DLC32 V2.1)(Update mit TS35 und neuer auch funktionierender Laser-Firmware), gesteuert von LightBurn 1.4.04, Ausgestattet mit Wabentisch, "Air-Assist" aus 2 Airbrush-Kompressoren (max. 3-4bar) im Tandem-Betrieb, Rauchabsaugung mit Hepa-Filtern und Aktivkohle-Filter, über und unter dem Wabentisch.

  • Darf ich mal fragen was Du machen möchtest bzw. den Sinn oder Zweck?

    Laut TS2 sind dort Makros hinterlegt und beim Einrichten eine Anleitung wie das genutzt werden soll.


    Ich hab einen Neje Max 4 und da gibt es solche Dinge wohl auch aber die nutze ich nie : )

    Eingestellt wird der Layer und die Zustellung der Achse sowie Versatz.

    Da brauchte es die Fokuslänge und Materialstärke...fertig.

  • Plottmania

    Eigentlich ist Deine Frage schon über deinem Kommentar beantwortet.
    Und nein, in der Anleitung zum TS2, wird zwar knapp, aber eigentlich ausreichend beschrieben, wie man die Teile montiert, die Software installiert und in Betrieb nimmt. Dass eine Maschinenkonfiguration im Lightburn-Installationsordner gibt, die man einfach in Lightburn laden kann, darauf muss man selbst kommen.
    Die Doku zu Lightburn weiß natürlich auch nichts vom Inhalt, der vom Hersteller editierten Makro-Schalter. Ein einziger Hinweis wird gegeben, dass man die Makros nach Belieben gestalten und mit G-Code-Leben füllen kann. ;) Wozu die Makros sind, kann man ja am Namen erkennen. Da muß auch nichts weiter zur Bedienung erklärt werden.

    Wozu man allerdings mehrere Makros braucht, die lediglich die Z-Achse um die halbe Materialstärke absenkt, ist mir Schleierhaft. Aus der Lightburn-Doku habe ich erfahren, dass man Schnittwerte in einer durchaus praktikablen "Material-Datenbank" ablegen und beim Einrichten der Layer einfach übernehmen kann. Da sind dann auch die Fokus-Änderungen für jeden Durchgang hinterlegt.
    Und wie oben erwähnt, sind die Makros nicht wirklich durchdacht. Ich hätte beispielsweise nicht erwartet, dass "$HZ" den Maschinen-Nullpunkt exakt auf die Tastposition in allen 3 Achsen stellt. :/ damit ist die bei Steuerungs-Hochlauf angefahrene Referenz in X und Y verloren.
    Mir schein das Ganze auf "Plug & (bad) Play" ausgelegt zu sein. Das ist für den Anfang zwar gut und sicher, lässt aber wenig "Spielraum" für die Kreativität.

    Mein Set: TwoTrees TS2 10W (Makerbase MKS DLC32 V2.1)(Update mit TS35 und neuer auch funktionierender Laser-Firmware), gesteuert von LightBurn 1.4.04, Ausgestattet mit Wabentisch, "Air-Assist" aus 2 Airbrush-Kompressoren (max. 3-4bar) im Tandem-Betrieb, Rauchabsaugung mit Hepa-Filtern und Aktivkohle-Filter, über und unter dem Wabentisch.

  • Würdest du den selben Effekt nicht erreichen, indem du in LB einfach Absolute Koordinaten auf Aktuelle Position änderst?

    Nur indirekt, denn ich möchte nicht inkrementell von einem beliebigen (zufällig variablen) Punkt aus, den ich im JOG angefahren habe, starten. Ausnahmen bestätigen die Regel.

    Wie das erst wird, wenn ich eine Ausricht-Kamera installiert habe, wird wohl noch abzuwarten sein.

    Maschinen-Rahmen und Wabentisch sind rechtwinklig und parallel zueinander fixiert. Mein gewöhnlicher Werkstück-Anschlag ist die linke untere Innen-Kante vom Rahmen des Wabentischs, der aber nicht exakt mit der Laser-Position nach dem "Homing" übereinstimmt. Zudem habe ich einige fest definierte "Anschlaghilfen", wie beispielsweise, einen 2mm dicken Stahlwinkel mit exakt 20mm breiten Schenkeln, der wiederum an der ebenfalls 2mm hohen Wabentischkante angelegt wird. Den benutze ich beispielsweise für Papier und Folien, die sonst gern im Spalt zwischen Rahmen und Waben-Auflage rutschen können.
    Ich bin von Dreh- und Fräsmaschinen gewohnt, dass das Werkstück an einem fest definierten Punkt ausgerichtet und gespannt ist, der als "Anker" für mein WKS (Werkstück-Koordinaten-System) dient. Das WKS ist hier der Startpunkt in Maschinenkoordinaten. Die Verschiebung vom Maschinen-Nullpunkt (Home-Position), zur Anschlagkante, an dem das Werkstück ausgerichtet wird, kann man in G54 (erste "einstellbare" Nullpunktverschiebung) eintragen und mit "G54" im Programm, oder der Befehlszeile in der Konsole, aufrufen. An den "echten" NC-Steuerungen ist das komfortabel über eine Eingabemaske im UI einstellbar, oder über steuerungseigene NC-Befehle (nicht nur G-Code) aus dem Programm heraus, oder der "manuellen Dateneingabe", MDA (Sinumerik) bzw. MDI (Fanuc), was hier von der "Konsole", etwas anders und rudimentärer geleistet wird.
    Mit etwas höherem Suchaufwand in mehreren englisch-sprachigen Online-Dokus, habe ich nun den "Gold-Standard" zusammenklabustert: "G10 L2 P1 X<Verschiebewert-X> Y<Verschiebewert-Y>", setzt die angegebenen Werte in der Standard-Nullpunktverschiebung G54, die auch als einzige vom Postprozessor als Aufruf ausgegeben wird.
    Ich bin mir sicher, dass meine Art der Herangehensweise nicht jedermanns Geschmack ist, so wie andere Herangehensweisen nicht unbedingt meinen Geschmack treffen werden. ;)
    ich möchte irgendwann mit Freude die Maschine anschalten und einfach so arbeiten können, dass ich mich auf das Werkstück konzentrieren kann und mich nicht vor jedem Programm-Start, um jede mögliche und unmögliche Maschineneinstellung kümmern zu müssen. ;)

    Mein Set: TwoTrees TS2 10W (Makerbase MKS DLC32 V2.1)(Update mit TS35 und neuer auch funktionierender Laser-Firmware), gesteuert von LightBurn 1.4.04, Ausgestattet mit Wabentisch, "Air-Assist" aus 2 Airbrush-Kompressoren (max. 3-4bar) im Tandem-Betrieb, Rauchabsaugung mit Hepa-Filtern und Aktivkohle-Filter, über und unter dem Wabentisch.

  • Solcherlei Befehlssatz könntest du auch im Start g-code unterbringen. Dann vergisst man es auch nicht so leicht.


    Nur zur Info, Lightburn ist weder ein CNC CAM noch will es eines sein. ;)

    Gruß,

    Christian


    „Der größte Feind des Wissens ist nicht Unwissenheit, sondern die Illusion, wissend zu sein.“
    Stephen Hawking

  • Solcherlei Befehlssatz könntest du auch im Start g-code unterbringen. Dann vergisst man es auch nicht so leicht.

    Das Problem: Das Anfang-Makro und das Ende-Makro, werden immer in ein NC-Programm eingefügt, egal welche Einstellung ich für einen bestimmten Anschlag brauche. Hier sollten nur generelle Programm-Einstellungen, die immer verwendet werden, programmiert werden.


    Das, was ich erstmal lösen wollte, habe ich ausführlich beschrieben und mittlerweile auch gelöst.
    Die GBRL-Codes, die ich aber immer noch suche, weil sie entweder nicht dokumentiert, oder nicht veröffentlicht sind, werde ich hoffentlich noch beim Hersteller der Maschine, oder der Software erfahren können. ;)

    Mein Set: TwoTrees TS2 10W (Makerbase MKS DLC32 V2.1)(Update mit TS35 und neuer auch funktionierender Laser-Firmware), gesteuert von LightBurn 1.4.04, Ausgestattet mit Wabentisch, "Air-Assist" aus 2 Airbrush-Kompressoren (max. 3-4bar) im Tandem-Betrieb, Rauchabsaugung mit Hepa-Filtern und Aktivkohle-Filter, über und unter dem Wabentisch.

  • Nur mal so, ein GRBL ist nicht gleich ein GRBL!

    Du kannst Dir FluidNC anschauen, grblHAL oder GRBL und jetzt gehts los : )


    Ich hab hier ein GRBL 1.4. und das kann Werkzeugwechsel.


    Vergleich mal die Befehle der Versionen, da ist grblHAL bzw. FluidNC schon ein kleiner Unterschied zu dem GrurkenGRBL

    Das 1.4er schon sehr lustig und wird richtig lustig.


    Das stink normale GRBL...


    https://plottmania.de/article/17-grbl-und-was-das-ist/


    Der Neje wird auch beschrieben mit Makros und ich nutze keinen einzigen, verfahre und richte aus.

  • Ich habe eine TwoTrees TS2. Die Maschine hat eine Z-Achse. Weil kein separater Schalter zur Verfügung steht, wird die Z-Achse auf der Werkstück-Oberfläche referenziert.

    Das Problem ist, dass $HZ mir den Maschinennullpunkt für alle Achsen, genau dort setzt, wo ich angetastet habe. Deshalb suche ich ja eine andere Möglichkeit, die Z-Ache allein zu referenzieren. An das unter $HZ hinterlegte Makro komme ich nicht ran und kann es deshalb auch nicht so abändern, wie ich es brauche (oder sein sollte). $H setzt ja auch nur den Maschinennullpunkt für die angetasteten Achsen.
    Die Maschinenkonfiguration beruht auf GRBL 1.1, ob das Board auch mit anderen Versionen zurechtkommt, weiß ich nicht.
    Ich möchte aber erstmal das nutzen, was vorhanden ist, aber scheinbar nur unzureichend dokumentiert ist.

    Mein Set: TwoTrees TS2 10W (Makerbase MKS DLC32 V2.1)(Update mit TS35 und neuer auch funktionierender Laser-Firmware), gesteuert von LightBurn 1.4.04, Ausgestattet mit Wabentisch, "Air-Assist" aus 2 Airbrush-Kompressoren (max. 3-4bar) im Tandem-Betrieb, Rauchabsaugung mit Hepa-Filtern und Aktivkohle-Filter, über und unter dem Wabentisch.

  • Welches GRBL 1.1...da wäre ein F oder ein H und dann die Frage bei H ob es das Custom ist nur für X und Y?


    Du hast das Video gesehen?


    https://youtu.be/kxnh1c4LMQ0

    Also mir gibt $I folgendes aus


    [VER:1.1.2022070501:]

    [OPT:PHSW]

    [MSG:Using machine:LKS DLC32]

    [MSG:Mode=AP:SSDI=Laser_59453:IP=192.168....]


    Mit GRBL hatte ich bisher noch nie zu tun. Also bin ich da "Newbie".
    Mit Sicherheit kann ich aber sagen, dass 4Achsen unterstützt werden. 3 sind bereits in Betrieb und können durch eine A-Achse ergänzt werden.

    Und ja, ich habe das Video gesehen und kaum etwas davon verstanden. ;)

    Die Listen der GRBL-Codes, die ich gefunden habe, sind scheinbar sehr Hersteller-abhängig, beziehen sich auf GRBL-Versionen, die nicht angegeben sind und helfen deshalb nur bedingt weiter.

    Auch die Listen der unterstützten ISO-G-Codes, ist etwas verwirrend und oft nur eine Auflistung ohne Syntax-Beschreibung und ob sie modal bzw. satzweise wirken.
    Du scheinst dich da ja gut auszukennen. Wenn du mir zu der Version die passenden Codes auflisten könntest, oder einen Link zu einem passenden PDF senden, wäre ich schon mal sehr dankbar.
    Wie schon so oft erwähnt, suche ich entweder eine Möglichkeit, $HZ zu editieren, oder eine andere Methode, um die Z-Referenzfahrt lediglich auf die Z-Achse zu beschränken und nicht den Maschinen-Nullpunkt auf die Stelle zu setzen, wo der ~29mm vom Laser entfernte Kuhschwanz-Taster die Oberfläche berührt hat

    Mich würde auch brennend interessieren, wer die Makros wo hinterlegt. Eigentlich müsste das doch der Maschinen-Hersteller machen, denn nur der weiß, wie hoch er die Z-Achse haben will, nachdem sie referenziert wurde.

    Mein Set: TwoTrees TS2 10W (Makerbase MKS DLC32 V2.1)(Update mit TS35 und neuer auch funktionierender Laser-Firmware), gesteuert von LightBurn 1.4.04, Ausgestattet mit Wabentisch, "Air-Assist" aus 2 Airbrush-Kompressoren (max. 3-4bar) im Tandem-Betrieb, Rauchabsaugung mit Hepa-Filtern und Aktivkohle-Filter, über und unter dem Wabentisch.

  • Dann brauchst Du ein FLuidNC auf den DLC 32...ganz einfach.

    Die Firmware von MakerBase ist alles andere als.....nein, es ist Mist!


    Oder Du nimmst die Firmware und dies hab ich beschrieben Du änderst die config.h

    Da die Zeile für die Referenzfahrten und hier stelltst Du ein: Z-Homing als erstes und dann X/Y-Homing (gleichzeitig).


    Ich vermute (ich bin mir da nicht sicher) bei FluidNC kann man jede Achse seperat mit einem Homing ausführen.

    Ich hab alles übersetzt für das ganz normale GRBL


    https://plottmania.de/article/17-grbl-und-was-das-ist/


    Was da jetzt besser ist und was noch alles unterstützt wird in FluidNC, grblHAL oder GRBL 1.4 kann man auch erlesen.

    Auf den MKS DLC ist aber nur das ganz normale GRBL


    Du kannst es flashen, nichts kaputt machen und einfach aufspielen.

    Passt es nicht wieder zurück und gut ist.



    Bitte:


    http://wiki.fluidnc.com/en/config/macros