https://www.lexium.ru/2026/06/magiya-peremennykh-g-kod-kotoryjj-podstraivaetsya-sam/

Как автоматизировать рутину: гид по пользовательским кнопкам в LaserGRBL

Работа с лазерным станком часто включает повторение одних и тех же действий: подвод каретки, включение лазера для фокусировки, очерчивание границ заготовки. Постоянно прописывать G-код вручную или искать нужные команды в истории — пустая трата времени.

Разработчики LaserGRBL предусмотрели элегантное решение — пользовательские кнопки (Custom Buttons). Это инструмент, который позволяет упаковать сложный набор команд в один клик мыши. Давайте разберем, как с ними работать и как с помощью встроенных переменных вывести автоматизацию на новый уровень.

⚠️ Состояние на Июнь 2026: Интерфейс LaserGRBL остается стабильным. Все приведенные скриншоты и пути актуальны для версии 3.8.2 и выше. Убедитесь, что ваша версия обновлена, чтобы использовать переменные [$num].

Что такое пользовательские кнопки?

По сути, это программируемые макросы. Вы создаете графическую кнопку прямо на панели управления LaserGRBL и привязываете к ней блок команд G-кода. При нажатии станок выполняет всё, что вы прописали: от простого перемещения до запуска сложных циклов.

Это незаменимо, когда нужно:

  • Быстро обрисовать «габаритный прямоугольник» будущей гравировки, чтобы убедиться, что заготовка лежит правильно.
  • Переместить инструмент в точку смены материала.
  • Реализовать сложную логику, например, включение лазера на минимальной мощности для прицеливания.

Где их найти и как создать?

В LaserGRBL нет отдельного меню «Настройки макросов». Всё интуитивно спрятано в контекстном меню:

  1. Запустите программу и посмотрите на верхнюю панель, где расположены стрелки перемещения, кнопка «Домой» и т.д.
  2. Кликните правой кнопкой мыши по любому пустому месту в этой области (или даже по существующей кнопке).
  3. В выпадающем списке выберите Add new (Добавить новую), чтобы начать с чистого листа, или Import (Импортировать), если хотите загрузить готовый файл-образец.

Три типа кнопок: выбираем под задачу

Перед написанием кода вы столкнетесь с выбором типа кнопки. От этого зависит, как она будет реагировать на ваши действия мышкой.

1. Обычная кнопка (Button)

Самый простой и популярный тип. Одно нажатие — один блок кода.

  • Когда использовать: Для абсолютного большинства задач. Запуск подготовительных процедур, установка нуля координат, выполнение конкретной G-команды.
  • Пример: Рисуем рамку вокруг загруженной картинки.

2. Кнопка-переключатель (TwoStateButton)

У нее два визуальных состояния (Вкл/Выкл) и два разных блока кода. Первое нажатие выполняет действие и «залипает», второе — выполняет альтернативный код и отлипает.

  • Когда использовать: Для опций, требующих фиксации. Идеальный пример — тестовое включение лазера.
  • Сценарий: Нажали кнопку — лазер зажегся на минимальной мощности (помогает поймать фокус в середине линзы). Отпустили — лазер не гаснет. Нажали еще раз — лазер погас.

3. Кнопка с удержанием (PushButton)

Выполняет код, только пока вы держите ее нажатой. Отпустили — срабатывает второй блок кода (обычно стоп или отмена).

  • Когда использовать: Для ручных перемещений. Это аналог джойстика. Пока держите — ось едет. Бросили — остановка.
  • Важно: Требует особой осторожности в настройке, чтобы не сломать механику.

Магия переменных: G-код, который подстраивается сам

Главная сила кастомных кнопок — использование переменных. Вам не нужно вручную переписывать координаты каждый раз, когда меняется размер изображения. Переменные берут актуальные данные из интерфейса LaserGRBL. Они заключаются в квадратные скобки [ ], и внутри них можно проводить вычисления.

Вот список самых необходимых переменных (валидны для LaserGRBL 2026):

Переменная Что подставляется Практический пример
Границы изображения
[left] Координата X левого края G0 X[left] Y[top]
[right] Координата X правого края G0 X[right-5]
[top] Координата Y верхнего края G0 X[left] Y[top]
[bottom] Координата Y нижнего края G0 Y[bottom]
[width] Ширина изображения [width]/2
[height] Высота изображения G0 X[left+[width]/2]
Интерфейс и перемещения
[jogstep] Текущий шаг перемещения (Jog Step) G91 X[jogstep]
[jogspeed] Текущая скорость подачи (Jog Speed) G0 F[jogspeed]
Координаты положения
[WCO.X] Смещение нуля (Work Offset) по осям [WCO.Z]
[MPos.X] Машинная позиция G92 X[MPos.X+10]
[WPos.X] Рабочая позиция G0 X[WPos.X-5]
Системные параметры GRBL
[$num] Значение настроек из прошивки [$30]
💡 Лайфхак: Внутри скобок работают простые формулы. Запись [left+5] сработает корректно и сдвинет каретку на 5 мм правее границы картинки. По состоянию на июнь 2026 года эта функция критически важна для точной обводки контура (Overscan).

Готовые решения: стартуем без программирования

Если вы пока не готовы писать макросы самостоятельно, создатели LaserGRBL выложили в открытый доступ пакеты предустановленных кнопок. Это отличная база для обучения.

Что нужно сделать:

  1. Скачайте официальный файл с готовыми кнопками (обычно он идет в формате .zip или рядом с дистрибутивом программы).
  2. Кликните правой кнопкой мыши по панели инструментов в LaserGRBL.
  3. Выберите «Import», укажите путь к файлу и загрузите его.

Сразу после импорта вы получите рабочие кнопки для обводки контура, включения/выключения лазера и перемещений. Изучив их код (правый клик -> Edit), вы быстро поймете логику и создадите свои.

Часто задаваемые вопросы (FAQ)

В: Можно ли переместить кнопки на панели?

Да. Зажмите клавишу Alt, захватите кнопку мышью и перетащите в нужное место. Там же в контекстном меню можно добавить разделители для группировки.

В: Почему кнопка не нажимается или не работает в 2026 версии?

Проверьте, подключен ли COM-порт (статус должен быть Idle или Run). Если в коде есть ошибка в синтаксисе G-кода, LaserGRBL подсветит строку красным в логе при попытке выполнения. Убедитесь, что у вас стоит версия не ниже 3.8.2.

В: Я указал [width/2], но станок поехал не в центр. Почему?

Вероятно, вы забыли указать абсолютную систему координат. Код должен выглядеть так: G90 (абсолютные координаты) и затем G0 X[left+[width]/2].

Заключение

Пользовательские кнопки — это «секретное оружие» опытных операторов LaserGRBL. Потратив 15 минут на их настройку, вы навсегда избавитесь от рутины и ускорите позиционирование в разы. Начните с импорта готового шаблона, а затем адаптируйте его под специфику вашего станка.

Данное руководство проверено и обновлено в июне 2026 года. Все упомянутые функции и переменные полностью работоспособны на актуальных сборках ПО.

Напишите комментарий