Математика

Прошивка поддерживает обширные математические операции в G-коде с использованием выражений, заключённых в квадратные скобки []. Эти выражения можно использовать в параметрах G-кода и с помощью M118.1 P# команды для вычисления и вывода результатов. Обратите внимание, что все функции, использующие буквы, пишутся строчными буквами и чувствительны к регистру.

Базовые арифметические операции

Операторы

  • +: Сложение

  • -: Вычитание

  • *: Умножение

  • /: Деление

  • ^: Возведение в степень

  • mod: Остаток от деления (модуль)

Примеры

M118.1 P[1+1]        ; Возвращает результат = 2.000
M118.1 P[5-3]        ; Возвращает результат = 2.000
M118.1 P[4*3]        ; Возвращает результат = 12.000
M118.1 P[10/2]       ; Возвращает результат = 5.000
M118.1 P[2^3]        ; Возвращает результат = 8.000
M118.1 P[7mod3]      ; Возвращает результат = 1.000
G01 X[#103+2*#107]

Математические функции

Тригонометрические функции (углы в градусах)

  • sin[x]: Синус x градусов

  • cos[x]: Косинус x градусов

  • tan[x]: Тангенс x градусов

  • asin[x]: Арксинус x (возвращает значение в градусах)

  • acos[x]: Арккосинус x (возвращает значение в градусах)

  • atan[x]: Арктангенс x (возвращает значение в градусах)

Примеры

Другие математические функции

  • sqrt[x]: Квадратный корень из x

  • abs[x]: Модуль (абсолютное значение) x

  • round[x]: Округление x до ближайшего целого

  • fix[x]: Функция floor (усечение до целого)

  • fup[x]: Функция ceiling (округление вверх до целого)

  • ln[x]: Натуральный логарифм x

  • exp[x]: Экспоненциальная функция (e^x)

Примеры

Операторы сравнения

Булевы сравнения можно использовать — они оцениваются как 1 (истина) или 0 (ложь):

Булевы сравнения

  • eq: Равно (с учётом допуска)

  • ne: Не равно

  • gt: Больше чем

  • ge: Больше или равно

  • lt: Меньше чем

  • le: Меньше или равно

Примеры

Логические операторы

Логические операторы можно использовать — они оцениваются как 1 (истина) или 0 (ложь):

Булева логика

  • и: Логическое AND (оба значения должны быть ненулевыми)

  • or: Логическое OR (по крайней мере одно значение должно быть ненулевым)

  • xor: Логическое XOR (ровно одно значение должно быть ненулевым)

  • nor: Логическое NOR (оба значения должны быть нулевыми)

Примеры

Сложные выражения

Можно использовать сложные выражения — они будут вычисляться в обычном порядке операций PEMDAS.

Порядок операций (PEMDAS)

  1. Скобки/Брэкеты

  2. Возведение в степень

  3. Умножение/Деление/Остаток

  4. Сложение/Вычитание

  5. Операторы сравнения

  6. Логические операторы

Примеры

Обработка ошибок

Ниже приведены ожидаемые поведения при возникновении ошибок:

  • Деление на ноль: Останавливается с ошибкой

  • Остаток от деления на ноль: Останавливается с ошибкой

  • Неопределённые функции: Возвращает nan

  • Недопустимые переменные: Останавливается с ошибкой

  • Несоответствующие скобки: Останавливается с ошибкой

Дальнейшее чтение

GCodeTutor.comarrow-up-right имеет хорошую статью, описывающую, как переменные и математика могут использоваться в GCode.

Последнее обновление