Что такое G-код?
GO! Go! go! от первой буквы английского слова - двигайся, иди - и образовано название стандарта управления ЧПУ станками - G-кода.
Фактически это набор инструкций, начинающихся с буквы G - коды движения, или M - коды управления навесным оборудованием и автоматикой станка. (M - machine - станок)
Т.е. все просто - два набора инструкций - G и M и еще набор аргументов, которые указывают на оси, смещения, длительность паузы, высоту инструмента и его диаметр, номер инструмента и т.д.
G код был удобен для сохранения на перфокарты или перфоленты и легко, при определенном навыке (да, такие мамонты еще живы), читался прямо с ленты. Поэтому он - краток и легко понимаем. И на нем можно разговаривать со станком, который как "тупая" железяка, понимает только этот язык. ;)
Коды движения.
Существует всего четыре базовых кода движения, на основе которых можно запрограммировать любое движение станка, это-
G00 - быстрое (холостое) движение станка - инструмент или указанная в качестве аргумента ось, двигаются с максимально возможной скоростью. При применении этого кода инструмент не должен касаться тела заготовки, иначе с большой вероятностью он сломается.
G01 - рабочее (с указанной скоростью) движение станка - инструмент при применении этого кода погружен в тело заготовки и двигается по указанным осям с заданной аргументом F (feedrate - скорость подачи) скоростью.
G02 и G03 - круговая интерполяция - движение по окружности по часовой G02 и против часовой G03 стрелки. Движение осуществляется с скоростью указанной аргументом F. Скорость подачи указывается в той же строке, что и код или используется указанная в строке, где аргумент был использован последний раз.
Все! Больше кодов движения нет. Есть еще множество циклов, упрощающих жизнь программиста ЧПУ, к примеру G81, G82, G83, G84 - циклы сверления, или G70 и G71 - циклы точения, но и без них начинающему можно обойтись. И их стоит применять только тогда, когда научитесь задавать движения станка с помощью описанных выше базовых кодов движения.
Просто указать код движения будет не корректно. Конечно же станку или роботу вместе с кодом движения надо указать и оси и значения координат, куда он должен двигаться.
Пример:
G00 X0.0 Y0.0 Z10.0 - станок двигается на максимально возможной скорости в точку {0;0:10}, можно трактовать как установить инструмент на высоте 10 мм над поверхностью заготовки в начале координат.
G01 Z-2.0 F350.0 - переместить инструмент в координату -2 мм по оси Z (опустить вниз) со скоростью 350 мм в минуту.
Про единицы измерения - в G коде есть два кода, которые указывают, в каких единицах измерения действует станок, это
G20 - работать в имперской системе (все единицы расстояния - дюймы, скорости - дюймы в минуту)
G21 - работать в метрической системе (расстояния в мм, скорость в мм в минуту или мм в секунду или мм на оборот, вот эти варианты скорости указываются в настройках станка, а не в коде управления движением)
О системе координат - в G коде есть два кода, показывающие, что будет означать значение аргумента оси, будет ли это координата, в которую надо двигаться (G90 - абсолютная система координат), или это будет расстояние, на которое надо двигаться (G91 - относительная система координат).
Коды управления навесным оборудованием станка (не осями)
Мы научились двигать осями станка с помощью базовых G кодов. Но для целостности картины не хватает управления шпинделем (если он не ось, а простой двигатель, который крутиться и не крутиться). Вот они, самые используемые машинный коды.
M3 - включить вращение шпинделя (по часовой стрелке обычно)
M5 - выключить вращение шпинделя
М3 применяется с аргументом S (speed - скорость вращения инструмента - обороты в минуту)
Ну и важный М код - M30 - закончить выполнение программы.
Вот этих кодов достаточно для написание простых и не очень (зависит от терпения) программ управления станком.
Простой пример
Создадим простую программу, которая на любом фрезерном станке с 3-мя осями отфрезерует квадрат со стороной около (в зависимости от диаметра инструмента) 100 мм с глубиной погружения 1 мм. Считаем, что нижний левый угол заготовки имеет координаты X0 Y0, а верхняя плоскость заготовки имеет координату по оси Z=0.
G21 - работаем в метрической системе
G00 X0.0 Y0.0 Z20.0 - поставим фрезу в начало координат на плоскости XY и в высоту безопасности по оси Z
M3 S10000 - включим шпиндель и зададим скорость вращения в 10 тысяч оборотов в минуту
G01 Z-1.0 F500.0 - медленно со скоростью 500 мм в минуту опустим фрезу в заготовку
G01 Y100.0 - и начнем движение по осям, вверх на 100 мм
G01 X100.0 - влево на 100 мм
G01 Y0.0 - вниз на 100 мм
G01 X0.0 - вправо на 100 мм
G00 Z20.0 - и быстро поднимем фрезу в высоту безопасности
M5 - выключим шпиндель
M30 - завершим программу
Вот! Как видите, ничего сложного. С помощью этих кодов можно сделать практически любую программу, к примеру, для хоббийного фрезерного станка.
Если Вам интересно, голосуйте лайком за продолжение цикла статей на тему программирования ЧПУ станков. Спасибо, что дочитали до конца!