Mathematik

Die Firmware unterstützt umfangreiche mathematische Operationen in G-Code mittels Ausdrücken, die in eckige Klammern eingeschlossen sind []. Diese Ausdrücke können in G-Code-Parametern und mit dem M118.1 P# Befehl verwendet werden, um Ergebnisse zu berechnen und auszugeben. Beachten Sie, dass alle Funktionen, die Buchstaben verwenden, kleingeschrieben und case-sensitiv sind.

Grundlegende arithmetische Operationen

Operatoren

  • +: Addition

  • -: Subtraktion

  • *: Multiplikation

  • /: Division

  • ^: Exponentiation (Potenz)

  • mod: Modulo (Rest)

Beispiele

M118.1 P[1+1]        ; Gibt Ergebnis = 2.000 zurück
M118.1 P[5-3]        ; Gibt Ergebnis = 2.000 zurück
M118.1 P[4*3]        ; Gibt Ergebnis = 12.000 zurück
M118.1 P[10/2]       ; Gibt Ergebnis = 5.000 zurück
M118.1 P[2^3]        ; Gibt Ergebnis = 8.000 zurück
M118.1 P[7mod3]      ; Gibt Ergebnis = 1.000 zurück
G01 X[#103+2*#107]

Mathematische Funktionen

Trigonometrische Funktionen (Winkel in Grad)

  • sin[x]: Sinus von x Grad

  • cos[x]: Kosinus von x Grad

  • tan[x]: Tangens von x Grad

  • asin[x]: Arkussinus von x (gibt Grad zurück)

  • acos[x]: Arkuskosinus von x (gibt Grad zurück)

  • atan[x]: Arkustangens von x (gibt Grad zurück)

Beispiele

Andere mathematische Funktionen

  • sqrt[x]: Quadratwurzel von x

  • abs[x]: Absolutwert von x

  • round[x]: Rundet x auf die nächste ganze Zahl

  • fix[x]: Abrundfunktion (auf ganze Zahl kürzen)

  • fup[x]: Aufrundfunktion (auf ganze Zahl aufrunden)

  • ln[x]: Natürlicher Logarithmus von x

  • exp[x]: Exponentialfunktion (e^x)

Beispiele

Vergleichsoperatoren

Boolesche Vergleiche können verwendet werden und ergeben 1 (wahr) oder 0 (falsch):

Boolesche Vergleiche

  • eq: Gleich (mit Toleranz)

  • ne: Ungleich

  • gt: Größer als

  • ge: Größer als oder gleich

  • lt: Kleiner als

  • le: Kleiner als oder gleich

Beispiele

Logische Operatoren

Logische Operatoren können verwendet werden und ergeben 1 (wahr) oder 0 (falsch):

Boolesche Logik

  • und: Logisches UND (beide Werte müssen ungleich null sein)

  • or: Logisches ODER (mindestens ein Wert muss ungleich null sein)

  • xor: Logisches XOR (genau ein Wert muss ungleich null sein)

  • nor: Logisches NOR (beide Werte müssen null sein)

Beispiele

Komplexe Ausdrücke

Komplexe Ausdrücke können verwendet werden und werden gemäß der normalen PEMDAS-Reihenfolge ausgewertet.

Reihenfolge der Operationen (PEMDAS)

  1. Klammern/Schachtelung

  2. Exponentiation

  3. Multiplikation/Division/Modulo

  4. Addition/Subtraktion

  5. Vergleichsoperatoren

  6. Logische Operatoren

Beispiele

Fehlerbehandlung

Folgendes sind die erwarteten Verhaltensweisen, wenn Fehler auftreten:

  • Division durch Null: Stoppt mit Fehler

  • Modulo durch Null: Stoppt mit Fehler

  • Nicht definierte Funktionen: Gibt nan zurück

  • Ungültige Variablen: Stoppt mit Fehler

  • Nicht übereinstimmende Klammern: Stoppt mit Fehler

Weiterführende Lektüre

GCodeTutor.comarrow-up-right hat einen guten Artikel, der beschreibt, wie Variablen und Mathematik in GCode verwendet werden können.

Zuletzt aktualisiert