G-коды представляют собой ключевые команды стандарта RS-274 (ISO 6983), которые указывают станку ЧПУ:
- Как интерполировать траекторию движения инструмента (линейно, круговыми дугами и т.д.).
- В каких режимах подачи или скорости вращать шпиндель.
- Какие системы координат, коррекции инструмента и циклы обработки использовать.
Модальность G-кодов
Каждый G-код может быть:
- Модальным (Modal): действие кода сохраняется до тех пор, пока не будет переопределено другим кодом из той же группы.
- Немодальным (One-shot): действует только в том кадре (строке), где указан. Пример — G04 (пауза).
Основные оси, координаты и параметры
- Оси X, Y, Z в фрезерных системах обычно соответствуют двум горизонтальным (X, Y) и одной вертикальной (Z).
- На токарных станках чаще всего работают оси X и Z. Иногда добавляется Y для спецопераций.
- Плоскости обработки: G17 (XY), G18 (XZ), G19 (YZ).
- Режимы координат: G90 (абсолютный), G91 (приращательный).
- Единицы измерения: G20 (дюймы), G21 (миллиметры).
G-код позволяет использовать следующие основные параметры для управляющих команд:
- X - координата точки траектории по оси X (например, G00 X25.4 Y2.3),
- Y - координата точки траектории по оси Y (например, G01 X25.4 Y2.3 Z0.2),
- Z - координата точки траектории по оси Z (например, G01 X25.4 Y2.3 Z0.2),
- P - параметр команды G04 (например, P120),
- F - скорость рабочей подачи (например, G01 X10.5 F75),
- S - скорость вращения шпинделя (например, S1500 M3),
- R - параметр стандартного цикла или радиус дуги,
- H - параметр коррекции выбранного инструмента,
- I,J,K - параметры дуги при круговой интерполяции (например, G03 X5 Y5 I0 J0).
Логические группы G-кодов (от G00 до G188)
Далее приведён полный список G-кодов, разбитый по их функциональному назначению. Такая группировка облегчает поиск и понимание структуры команд.
Основные команды перемещения и интерполяции (G00–G09)
- G00 – Быстрое перемещение (Rapid Traverse) без учёта подачи F (максимальная скорость станка)
- G01 – Линейная интерполяция (Linear Interpolation) с заданной скоростью подачи (F)
- G02 – Круговая интерполяция CW (Circular Interpolation Clockwise) программируют дуги, задавая конечную точку и центр (I, J, K) либо радиус (R)
- G03 – Круговая интерполяция CCW (Circular Interpolation Counterclockwise)
- G04 – Пауза (Dwell) в программе на определённое время (P), что полезно для ожидания стабилизации шпинделя, охлаждения или иных процессов.
- G05 – Высокоскоростная обработка (High Speed Machining, не во всех ЧПУ)
- G05.1 – Расширенный высокоскоростной режим (AI Nano / HPCC)
- G07.1 – Цилиндрическая интерполяция (Cylinder Interpolation, Fanuc)
- G08 – Жёсткая look-ahead / ускоренная обработка (не везде)
- G09 – Точное останавливание (Exact Stop Check, немодально)
Управление параметрами координат, плоскостей и полярного режима (G10–G19)
- G10 – Программируемый ввод данных (Programmable Data Input)
- G11 – Отмена G10 (завершение ввода)
- G12 – Циркулярная обработка кармана по часовой (Circle Pocket CW) – специфично для Haas
- G13 – Циркулярная обработка кармана против часовой (CCW)
- G15 – Отмена полярной системы координат
- G16 – Установка полярной системы координат
- G17 – Плоскость XY
- G18 – Плоскость XZ
- G19 – Плоскость YZ
Настройка единиц измерения и возврат в домашнюю точку (G20–G29)
- G20 – Дюймовая система (Inch)
- G21 – Метрическая система (Metric)
- G22 – G27 – Стандартизированного значения для кодов G22, G23, G24, G25, G26 и G27 в общепринятом стандарте RS‑274 (ISO 6983) не существует. Эти коды обычно зарезервированы для специальных или пользовательских функций и могут выполнять различные задачи в зависимости от производителя и модели ЧПУ. Рекомендуется обратиться к технической документации вашего станка для получения точной информации о назначении этих кодов.
- G28 – Возврат в «дом» (Home Position) точку станка по указанным осям. Часто применяется для безопасного подъёма инструмента перед сменой инструмента или завершением программы.
- G29 – Выход из «дома» (Return from Reference)
Дополнительные возвраты, зондирование и нарезание резьбы (G30–G39)
- G30 – Возврат к альтернативной референтной точке (2-я/3-я/4-я)
- G31 – Пропуск (Skip) / Зондирование (Probe)
- G32 – Прямое нарезание резьбы (в ряде токарных Fanuc)
- G33 – Линейное резьбонарезание (Thread Cutting)
- G34, G35, G36, G37 – Расширенные циклы резьбонарезания (не всегда доступны)
- G38.x – Дополнительные команды зондирования (например, G38.2)
- G39 – Автоматическая компенсация в углу (Corner Rounding)
Команды коррекции инструмента (G40–G49)
- G40 – Отмена коррекции на радиус (Cutter Comp Cancel)
- G41 – Коррекция слева (Cutter Comp Left) нужно, чтобы компенсировать фактический радиус инструмента при обработке контуров
- G42 – Коррекция справа (Cutter Comp Right)
- G43 – Положительная коррекция длины (Tool Length +)
- G44 – Отрицательная коррекция длины (Tool Length –)
- G45, G46, G47, G48 – Изменение текущих коррекций (увеличить/уменьшить и т. д.)
- G49 – Отмена коррекции длины
Рабочие смещения, масштабирование и машинные координаты (G50–G59)
- G50 – (Токарные) ограничение RPM при G96 или (Фрезерные) масштабирование
- G51 – Включение масштабирования (Scaling)
- G52 – Локальное смещение нуля (Local Zero Shift)
- G53 – Обращение к машинным координатам (Machine Coordinates)
- G54 – 1-я рабочая система координат
- G55 – 2-я рабочая система координат
- G56 – 3-я рабочая система координат
- G57 – 4-я рабочая система координат
- G58 – 5-я рабочая система координат
- G59 – 6-я рабочая система координат (или G59 P… для расширенных)
Точная остановка, макровызовы и поворот координат (G60–G69)
- G60 – Позиционирование в одном направлении (Single Direction)
- G61 – Точная остановка (Exact Stop Mode)
- G62 – Автокоррекция углов (Auto Corner Override)
- G63 – Режим жесткого нарезания резьбы (Tapping Mode)
- G64 – Непрерывная интерполяция (Constant Velocity Mode)
- G65 – Немодальный вызов макропрограммы (Macro Call)
- G66 – Модальный вызов макропрограммы (Modal Macro Call)
- G67 – Отмена модального вызова макроса
- G68 – Поворот системы координат (Coordinate Rotation)
- G69 – Отмена поворота
Циклы черновой/чистовой обработки на токарных станках (G70–G79)
- G70 – Цикл чистовой обработки (Finish Cycle)
- G71 – Черновое продольное точение (Rough Turning)
- G72 – Черновое точение по торцу (Rough Facing)
- G73 – Прерывистое сверление (Peck Drilling) / «дробление стружки»
- G74 – Сверление с обратным ходом / левая резьба (в токарных)
- G75 – Прорезка канавок (Grooving)
- G76 – Многошаговый цикл точного нарезания резьбы
- G77 – Специальные повторные циклы (редко)
- G78 – Альтернативный цикл резьбонарезания (Fanuc)
- G79 – Редко используемый спеццикл (зависит от ЧПУ)
Циклы сверления и растачивания (G80–G89)
- G80 – Отмена всех циклов (Cancel Canned Cycle)
- G81 – Простой цикл сверления (Drilling Cycle)
- G82 – Сверление с выдержкой (Spot Drill / Counterbore)
- G83 – Глубокое сверление с прерыванием (Peck Drilling)
- G84 – Цикл нарезания резьбы метчиком (Tapping Cycle)
- G85 – Растачивание/развёртывание (Boring, no dwell)
- G86 – Растачивание с остановкой шпинделя
- G87 – Обратное растачивание (Back Boring)
- G88 – Растачивание с ручным подтягиванием (Manual Retract)
- G89 – Растачивание с выдержкой (Boring, dwell)
Режимы координат, подачи и постоянной скорости резания (G90–G99)
- G90 – Абсолютная система координат (Absolute) (точки задаются относительно нулевой точки детали)
- G91 – Приращательная система координат (Incremental) (каждая команда задаёт перемещение от текущей позиции)
- G92 – Установка текущих координат / Ограничение скорости шпинделя (в токарных)
- G94 – Подача в единицах/мин (Feed per Minute)
- G95 – Подача в единицах/оборот (Feed per Revolution)
- G96 – Постоянная скорость резания (Constant Surface Speed, CSS) шпиндель подстраивает обороты в зависимости от текущего диаметра
- G97 – Обычная (фиксированная) частота вращения (Cancel CSS)
- G98 – Возврат в начальный уровень (Initial Level Return) в циклах
- G99 – Возврат на R-уровень (Retract Level Return) в циклах
Пользовательские расширения, офсеты и спецфункции (G100–G119)
- G100, G101, G102, G103, G104, G105, G106, G107, G108, G109: могут использоваться для зеркалирования, ограничений look-ahead, пользовательских макросов.
- G110, G111, G112, G113, G114, G115, G116, G117, G118, G119: часто дополнительные рабочие смещения (Work Offsets). Например, в Haas – G110 может соответствовать седьмому офсету, G111 – восьмому и т. д. В ряде систем G112 – «Polar to Cartesian».
Дополнительные смещения и макросы (G120–G139)
- G120, G121, G122, G123, G124, G125, G126, G127, G128, G129: ещё больше рабочих офсетов или пользовательских команд.
- G130, G131, G132, G133, G134, G135, G136, G137, G138, G139: часто зарезервированные или кастомные макросы (измерительные циклы, калибровка).
Функции многокоординатной обработки (G140–G159)
- G140, G141, G142, G143, G144, G145, G146, G147, G148, G149: могут быть связаны с 5-осевым позиционированием, измерением, спецциклами.
- G150 – Комплексная фрезеровка кармана (Haas Pocket Milling).
- G151, G152, G153, G154, G155, G156, G157, G158, G159: дальнейшие спецциклы, синхронизация, сложные макросы.
Управление дополнительными осями и синхронизацией (G160–G179)
- G160, G161, G162, G163, G164, G165, G166, G167, G168, G169: доп. оси, синхронизация шпинделей на многошпиндельных станках, пользовательские макросы.
- G170, G171, G172, G173, G174, G175, G176, G177, G178, G179: калибровка, измерения, или специфические режимы (зависят от производителя).
Установка точности, сглаживания и спецкоманды (G180–G188)
- G180, G181, G182, G183, G184, G185, G186 – Зарезервированные/пользовательские макрокоманды.
- G187 – Установка точности и сглаживания (Tolerance Control) в Haas.
- G188 – Пользовательская команда (Pause / Message / Macro Call и др.).
Важно: коды в диапазоне G100–G188 не унифицированы общим стандартом; производители (Haas, Fanuc, Siemens) внедряют там собственные расширения. Обязательно проверяйте руководства вашего станка.
Примеры управляющих программ
Пример фрезерной программы
%
O1000 (Пример фрезерной обработки)
G90 G94 G17 G21 (Абсолютные координаты, подача в мм/мин, плоскость XY, мм)
G28 G91 Z0 (Поднять ось Z в "дом" приращательно)
G90 (Вернуться к абсолюту)
T1 M06 (Смена инструмента 1)
G43 H01 Z50.0 (Компенсация длины, подняться на Z=50)
S2000 M03 (Шпиндель 2000 об/мин, по часовой)
M08 (Включить СОЖ)
G00 X0 Y0 (Быстрый переход к точке (0,0))
G01 Z0 F200 (Линейная подача до Z=0)
G01 X50 Y50 F300 (Перемещение до (50,50) с подачей 300)
G02 X100 Y50 I25 J0 (Дуга по часовой с центром, смещённым на I=25 от начальной точки)
G01 Y0 (Линейное движение к Y=0)
G00 Z50 (Подъем)
M09 (Выключить СОЖ)
G28 G91 Z0 (Возврат в дом)
G90 M30 (Конец программы)
%
Пример токарной программы
% O2000 (Пример токарной обработки) G21 (Метрическая система) G28 U0 W0 (Возврат осей X и Z в нулевую точку) T0101 (Инструмент №1, корректор №1) G97 S800 M03 (Фиксированная скорость шпинделя 800 об/мин, вращение CW) G00 X2.0 Z0.1 (Быстрый подход к детали) G01 Z-1.0 F0.2 (Линейная подача в глубину) G00 X2.2 (Отход) G28 U0 W0 (Возврат домой) M30 %
Основные M-коды (кратко)
Помимо G-кодов, в управляющих программах также активно используются M-коды (Machine codes) для включения/выключения шпинделя, СОЖ, смены инструмента и т. д. Ниже — краткий список самых распространённых:
- M00 – Программная остановка (Program Stop)
- M01 – Опциональная остановка (Optional Stop)
- M02 – Завершение программы (End of Program, устаревший, лучше M30)
- M03 – Включить шпиндель по часовой (Spindle On CW)
- M04 – Включить шпиндель против часовой (Spindle On CCW)
- M05 – Остановить шпиндель (Spindle Stop)
- M06 – Смена инструмента (Tool Change)
- M08 – Включить охлаждение (Coolant On)
- M09 – Выключить охлаждение (Coolant Off)
- M30 – Конец программы и сброс (End & Rewind)
- M98 – Вызов подпрограммы (Subprogram Call)
- M99 – Возврат из подпрограммы (Subprogram Return) / окончание
Практические рекомендации
- Безопасное начало программы: Часто используют «Safety Block», сбрасывающий режимы в «стандарт». G90 G94 G17 G21 G40 G49 G80 Это отменяет коррекции, выбирает плоскость XY, ставит абсолютный режим и т.д.
- Модальность: Запомните, что G01 (линейная интерполяция) и другие модальные коды не требуется указывать повторно в каждом блоке, пока они не сменятся другим кодом из той же группы.
- Коррекции инструмента: G41/G42 (радиус), G43/G44 (длина). При неверном входе/выходе возможны рывки и ошибки.
- Проверка траектории: Перед запуском на станке используйте CAM-симуляцию или встроенный симулятор, чтобы убедиться в отсутствии коллизий.
- Особенности G100–G188: Обязательно читайте документацию вашей системы ЧПУ. Они могут означать дополнительные офсеты, пользовательские макросы, карманы (G150), режимы сглаживания (G187) и т.д.
Основные стандарты: RS-274 (ISO 6983) задаёт «классическую» основу G-кодов (до G99). Всё, что выходит за эти рамки, как правило, «привязано» к конкретным производителям (Haas, Fanuc, Siemens и т.д.).
Рекомендуемые источники и документация:
- Официальные мануалы Haas (операторские и программистские руководства для Mill и Lathe)
- Fanuc Series 0i/31i/32i Manuals
- Siemens SINUMERIK 828D/840D
- Материалы по G-кодам на сайте: cncmaching.ru
При работе со станками ЧПУ будьте внимательны к нюансам конкретной модели. И помните, что от корректности программирования G-кодами зависят точность, качество обработки и безопасность оператора.