Matemáticas

El firmware admite operaciones matemáticas extensas en G-code usando expresiones encerradas entre corchetes []. Estas expresiones se pueden usar en parámetros de G-code y con el M118.1 P# comando para evaluar e imprimir resultados. Tenga en cuenta que todas las funciones que usan letras están en minúsculas y distinguen mayúsculas de minúsculas.

Operaciones aritméticas básicas

Operadores

  • +: Suma

  • -: Resta

  • *: Multiplicación

  • /: División

  • ^: Exponenciación (potencia)

  • mod: Módulo (resto)

Ejemplos

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

Funciones matemáticas

Funciones trigonométricas (ángulos en grados)

  • sin[x]: Seno de x grados

  • cos[x]: Coseno de x grados

  • tan[x]: Tangente de x grados

  • asin[x]: Arcoseno de x (devuelve grados)

  • acos[x]: Arcocoseno de x (devuelve grados)

  • atan[x]: Arcotangente de x (devuelve grados)

Ejemplos

Otras funciones matemáticas

  • sqrt[x]: Raíz cuadrada de x

  • abs[x]: Valor absoluto de x

  • round[x]: Redondear x al entero más cercano

  • fix[x]: Función piso (truncar al entero)

  • fup[x]: Función techo (redondear hacia arriba al entero)

  • ln[x]: Logaritmo natural de x

  • exp[x]: Función exponencial (e^x)

Ejemplos

Operadores de comparación

Se pueden usar comparaciones booleanas y evaluarán a 1 (verdadero) o 0 (falso):

Comparaciones booleanas

  • eq: Igual (con tolerancia)

  • ne: No igual

  • gt: Mayor que

  • ge: Mayor o igual que

  • lt: Menor que

  • le: Menor o igual que

Ejemplos

Operadores lógicos

Se pueden usar operadores lógicos y evaluarán a 1 (verdadero) o 0 (falso):

Lógica booleana

  • y: AND lógico (ambos valores deben ser distintos de cero)

  • or: OR lógico (al menos un valor debe ser distinto de cero)

  • xor: XOR lógico (exactamente un valor debe ser distinto de cero)

  • nor: NOR lógico (ambos valores deben ser cero)

Ejemplos

Expresiones complejas

Se pueden usar expresiones complejas y se evaluarán según el orden normal de operaciones PEMDAS.

Orden de operaciones (PEMDAS)

  1. Paréntesis/Corchetes

  2. Exponenciación

  3. Multiplicación/División/Módulo

  4. Suma/Resta

  5. Operadores de comparación

  6. Operadores lógicos

Ejemplos

Manejo de errores

Lo siguiente son los comportamientos esperados cuando se encuentran errores:

  • División por cero: Se detiene con error

  • Módulo por cero: Se detiene con error

  • Funciones indefinidas: Devuelve nan

  • Variables inválidas: Se detiene con error

  • Corchetes desajustados: Se detiene con error

Lecturas adicionales

GCodeTutor.comarrow-up-right tiene un buen artículo que describe cómo se pueden usar las variables y las matemáticas en GCode.

Última actualización