Справочник G-кодов ЧПУ (G-code): разбор кодов и ошибок
Обновлено: . Справочник по стандарту ISO 6983 для Fanuc, Haas, Siemens, Heidenhain.
Короткий ответ: что такое G-коды
G-коды — подготовительные команды программы для станка с ЧПУ по стандарту ISO 6983 (RS-274). Они определяют тип перемещения (G00 быстрый ход, G01 линия, G02 и G03 дуга), плоскость, систему координат, коррекции и циклы обработки. Каждый G-код — это буква G и число, а значения осей и подачи пишут рядом адресами X, Y, Z, F, S.
- Модальные коды действуют до отмены (G01, G90, G41). Немодальные — только в своём кадре (G04, G28, G53).
- G00–G99 — стандартный диапазон. Всё выше G99 — расширения производителя (например, у Haas G100–G187).
- Диалекты отличаются: Fanuc и Haas близки, Siemens и Heidenhain используют собственные команды и циклы.
- На токарных Fanuc G70–G76, G90, G92 и G94 — циклы, а на фрезерных те же номера значат другое.
- Если станок отвечает «неверный G-код», ищите код в разделе ошибок стойки или в хабе кодов ошибок ЧПУ.
Как устроен кадр управляющей программы
Программа состоит из кадров (строк). Кадр — это набор «слов»: адресная буква и число. Станок выполняет кадры по порядку, а все модальные команды сохраняются между кадрами. Пример:
N30 G01 X50. Y20. F300 M08
| Слово | Значение |
|---|---|
N30 |
Номер кадра. Необязателен, нужен для поиска и переходов. |
G01 |
Линейная интерполяция. Модальна: действует в следующих кадрах, пока не включат G00, G02, G03. |
X50. Y20. |
Координаты конечной точки. Десятичная точка обязательна: «X50» на многих стойках читается как 0,050 мм. |
F300 |
Подача: 300 мм/мин при G94 (мм/об при G95). |
M08 |
Вспомогательная функция: включить СОЖ. |
Адреса в программе
| Адрес | Что задаёт |
|---|---|
X Y Z |
Координаты линейных осей. U, V, W на токарных Fanuc задают приращения осей X, Y, Z. |
A B C |
Поворотные оси вокруг X, Y и Z. |
I J K |
Приращения до центра дуги (по X, Y, Z) или параметры цикла. |
R |
Радиус дуги, плоскость возврата в циклах, радиус скругления. |
F |
Подача (мм/мин или мм/об), шаг резьбы при G32/G76. |
S |
Обороты шпинделя (об/мин) или скорость резания (м/мин) при G96. |
T |
Номер инструмента, на токарных вместе с номером корректора (T0101). |
D H |
Номера корректоров: D для радиуса, H для длины инструмента. |
P Q |
Параметры циклов: выдержка (мс), глубина шага, номер подпрограммы или рабочей системы. |
L |
Число повторов подпрограммы или тип данных в G10. |
O / % |
Номер программы (на Fanuc и Haas) и разделитель начала и конца файла. |
Модальность и группы G-кодов
Каждый модальный код относится к группе: одновременно действует только один код группы. Включение нового кода группы автоматически отменяет предыдущий. Поэтому G01 и G02 не нужно «выключать» друг другом, а G41 отменяют только G40 (или G42 вместо него).
| Группа | Коды | Что задаёт |
|---|---|---|
| Перемещение | G00 G01 G02 G03 |
Тип интерполяции. |
| Плоскость | G17 G18 G19 |
Плоскость для дуг, коррекции и циклов. |
| Абсолют / приращения | G90 G91 |
Режим ввода координат. |
| Подача | G94 G95 |
Мм/мин или мм/об. |
| Единицы | G20 G21 |
Дюймы или мм. |
| Коррекция на радиус | G40 G41 G42 |
Выключена, слева, справа. |
| Коррекция на длину | G43 G44 G49 |
Плюс, минус, отмена. |
| Циклы сверления | G73 G74 G76 G80–G89 |
Постоянные циклы. G80 отменяет. |
| Плоскость возврата | G98 G99 |
Куда возвращается инструмент после цикла. |
| Рабочие координаты | G54–G59 |
Выбор смещения нуля детали. |
| Режим траектории | G61 G64 |
Точный останов или сглаженный режим. |
| Скорость шпинделя (токарные) | G96 G97 |
Постоянная скорость резания или обороты. |
Номера групп (01, 02, 03 и т. д.) различаются между сериями Fanuc и в руководстве конкретной стойки. Здесь приведена логическая группировка: нескольких кодов из одной группы в одном кадре быть не должно. Если вы поставите их, станок выполнит только последний или выдаст ошибку.
Таблица G-кодов: 94 команд с примерами
В таблице собраны стандартные G-коды Fanuc-подобных стоек (группы M — фрезерные, T — токарные), основные циклы и особые коды Haas. В последнем столбце — ближайший аналог на Siemens Sinumerik. Введите код или слово в поиск, чтобы отфильтровать таблицу, например G83, резьба или коррекция.
Показаны все коды
Такого кода нет в таблице. Посмотрите хаб кодов ошибок, если ищете сообщение стойки, или задайте вопрос инженеру.
Перемещение и интерполяция (G00–G09)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G00 | Быстрое позиционирование | Ускоренный ход к точке без обработки. Траектория не обязательно прямая: оси могут идти независимо, поэтому подвод рядом с деталью и оснасткой делайте раздельно по осям. | G00 X50. Y20. |
G0 |
| G01 | Линейная интерполяция | Прямолинейное движение по прямой с подачей F: в мм/мин при G94 или в мм/об при G95. Основная команда резания. | G01 X50. Y20. F300 |
G1 |
| G02 | Круговая интерполяция по часовой стрелке | Дуга по часовой стрелке в выбранной плоскости. Центр задают приращениями I, J, K от начальной точки либо радиусом R. Полную окружность можно задать только через I/J/K. R со знаком «−» даёт дугу больше 180°. | G02 X30. Y10. I5. J0. F200 |
G2, CIP |
| G03 | Круговая интерполяция против часовой стрелки | То же, что G02, но дуга против часовой стрелки. Направление определяют, глядя на плоскость со стороны положительного направления третьей оси. | G03 X30. Y10. R5. F200 |
G3, CIP |
| G04 | Выдержка (пауза) | Останавливает подачу на заданное время при вращающемся шпинделе. На Fanuc адреса X и U дают секунды, P без точки даёт миллисекунды. На Haas P с десятичной точкой задаёт секунды. Используют после сверления на дне отверстия и перед сменой направления. | G04 P500 |
G4 F0.5 |
| G05 | Режим сглаживания и высокоскоростной обработки (Fanuc) | Включает режимы управления контуром с заглядыванием вперёд. Синтаксис зависит от опции стойки, у Fanuc G05 P10000 включает контурное управление, G05.1 Q1 включает AI-режим. На других системах команда не поддерживается или значит другое. | G05.1 Q1 |
CYCLE832 |
| G07.1 | Цилиндрическая интерполяция (Fanuc) | Развёртка цилиндрической поверхности на плоскость: паз или контур задают в плоскости, станок выполняет его на цилиндре. На Haas соответствует G107. | G07.1 C25. |
TRACYL |
| G09 | Точный останов в конце кадра | Замедляет движение до остановки в конечной точке кадра и проверяет позицию. Нужен для острых углов без скругления. Не путать с режимом G61. | G09 G01 X50. F300 |
G9 |
Данные, плоскости и единицы измерения (G10–G29)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G10 | Программируемый ввод данных | Записывает смещения и параметры из программы. L2 пишет рабочие смещения, L10 и L12 пишут геометрию инструмента. Используют после измерения детали щупом. | G10 L2 P1 X-250. Y-180. |
системные переменные |
| G11 | Отмена ввода данных | Завершает режим программируемого ввода данных G10. | G11 |
— |
| G15, G16 | Полярные координаты: отмена и включение | G16 переводит координаты в радиус и угол. Удобно для окружностей отверстий. G15 отменяет режим. | G16 G90 X30. Y45. |
POLAR |
| G17, G18, G19 | Выбор плоскости XY, ZX, YZ | Определяют плоскость для дуг, коррекции на радиус и циклов. G17 — XY (по умолчанию на фрезерных), G18 — ZX (по умолчанию на токарных), G19 — YZ. | G17 |
G17, G18, G19 |
| G20, G21 | Дюймы и миллиметры | Выбирают единицы ввода. Переключайте только в начале программы: после смены нужно заново проверить смещения и подачи. | G21 |
G70, G71 |
| G22, G23 | Контроль зон хода: включение и выключение | Включают и выключают контроль запретной зоны, заданной параметрами или G22 в программе. | G22 X100. Y100. Z-50. I-100. J-100. K0. |
— |
| G27 | Проверка возврата в референтную точку | Выводит оси в референтную точку и проверяет, что станок пришёл в неё. Если нет, срабатывает сообщение. В Fanuc это ошибка PS0092. | G27 X0 Y0 Z0 |
— |
| G28 | Возврат в референтную точку | Идёт в промежуточную точку, затем в референтную. Всегда сочетайте с G91 и нулём: так ось идёт в ноль прямо от текущей позиции. Без G91 станок сначала поедет в абсолютную координату. | G91 G28 Z0. |
G74 |
| G29 | Возврат из референтной точки | Из референтной точки через промежуточную, заданную в G28, в указанную позицию. | G29 X50. Y50. |
— |
Референтные точки, щуп и резьба (G30–G39)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G30 | Возврат во 2-ю, 3-ю, 4-ю референтную точку | Парковочная позиция для смены инструмента или смены паллеты. Номер задаётся адресом P (по умолчанию 2). | G91 G30 P2 Z0. |
G75 |
| G31 | Пропуск (skip): движение до сигнала датчика | Движение останавливается по сигналу датчика контакта. На этом строятся измерения щупом: привязка детали и инструмента. Подача должна быть малой и постоянной. | G31 Z-20. F100 |
MEAS=1 |
| G32 | Нарезание резьбы с постоянным шагом (токарные) | Один рабочий ход резьбы с шагом F. Каждый проход программируют отдельно. Для многопроходной резьбы используйте G92 или G76. | G32 Z-30. F2.0 |
G33 |
| G33 | Нарезание резьбы (фрезерные и общий) | Резьба с синхронизацией шпинделя и подачи. На Siemens G33 — основная команда резьбы. | G33 Z-20. K1.5 |
G33 |
| G37 | Автоматическое измерение длины инструмента | Движение к датчику длины инструмента и запись результата в корректор. На токарных работает как автоматическая коррекция по оси. | — | — |
| G39 | Дуга при обходе внешних углов (Fanuc M) | Во время коррекции на радиус задаёт скругление внешних углов дугой вместо линейного пересечения. | G39 |
— |
Коррекция инструмента (G40–G49)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G40 | Отмена коррекции на радиус инструмента | Выключает G41 и G42. Всегда ставьте перед сменой плоскости, перед G28 и в начале программы. | G40 |
G40 |
| G41 | Коррекция на радиус слева от контура | Станок смещает траекторию влево по ходу движения на величину радиуса из корректора D. Вход в коррекцию делайте линейным ходом длиннее радиуса инструмента. Подробнее: статья о G41 и G42. | G41 D01 G01 X10. Y0 F300 |
G41 |
| G42 | Коррекция на радиус справа от контура | То же, но справа от контура. При попутном фрезеровании по часовой стрелке контур обходят с G41, при встречном используют G42, в зависимости от направления вращения шпинделя. | G42 D01 G01 X10. Y0 F300 |
G42 |
| G43 | Коррекция на длину инструмента, плюс | Прибавляет длину из корректора H к координате Z. Включайте в блоке подхода по Z перед первым резанием. | G43 H01 Z50. |
T и D (длина в корректоре) |
| G44 | Коррекция на длину инструмента, минус | То же с обратным знаком. Используется редко. | G44 H01 Z50. |
— |
| G45–G48 | Увеличение и уменьшение смещения корректора | Прибавляют или вычитают величину корректора к перемещению в кадре (однократно или вдвойне). Используют для скруглений и подгонки. | G91 G01 G45 X10. D01 F200 |
— |
| G49 | Отмена коррекции на длину инструмента | Отменяет G43 и G44. Ставьте в безопасной строке начала программы и перед сменой инструмента. | G49 |
— |
Рабочие системы координат и преобразования (G50–G69)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G50 | Токарные: ограничение оборотов и установка координат; фрезерные: отмена масштабирования | На токарных G50 S задаёт максимум оборотов при постоянной скорости резания. G50 с осями задаёт систему координат (на новых стойках вместо неё используют G54). На фрезерных отменяет масштабирование. | G50 S2500 |
LIMS |
| G51 | Масштабирование (Fanuc M) | Увеличивает или уменьшает контур относительно центра. После использования отмените G50. Не работает вместе с некоторыми циклами. | G51 X0 Y0 P2. |
SCALE |
| G50.1, G51.1 | Зеркальное отражение: отмена и включение | Зеркалят контур относительно оси или точки. При зеркалении меняется направление дуг и коррекции, поэтому станок инвертирует G02/G03 и G41/G42. | G51.1 X0 |
MIRROR |
| G52 | Локальная система координат | Сдвигает начало координат относительно текущей рабочей системы. Отменяется командой G52 X0 Y0 Z0. | G52 X10. Y5. |
TRANS |
| G53 | Движение в станочных координатах | Один кадр в системе координат станка, без рабочих смещений. Типично для отвода шпинделя вверх перед сменой инструмента. | G53 G00 Z0. |
SUPA |
| G54–G59 | Рабочие системы координат 1–6 | Выбирают смещение нуля детали, записанное в таблице смещений. Рабочая система остаётся действующей до выбора другой. | G54 |
G54–G59 |
| G54.1 Pn | Дополнительные рабочие системы координат (Fanuc) | Расширение до 48 (и больше, в зависимости от опции) дополнительных смещений, номер задаёт P. У Haas такую роль играет G154 P1–P99. | G54.1 P12 |
G505–G599 |
| G60 | Односторонний подвод к позиции | Позиция всегда достигается с одной стороны, чтобы исключить влияние люфта. Величину подхода задаёт параметр. | G60 X50. Y20. |
— |
| G61 | Режим точного останова | Станок замедляется до остановки в конце каждого кадра. Точно, но медленно. Отменяется G64. | G61 |
G60, G601, G9 |
| G62 | Автоматическое снижение подачи на углах | Снижает подачу на внутренних углах при коррекции на радиус, чтобы уменьшить врезание. | G62 |
— |
| G63 | Режим нарезания резьбы метчиком | Блокирует корректировку подачи и остановку по паузе во время нарезания метчиком, чтобы избежать поломки. | G63 |
— |
| G64 | Режим резания (сглаженный) | Станок не останавливается между кадрами. Основной режим резания. | G64 |
G64 |
| G65 | Вызов макроса (подпрограммы с аргументами) | Вызывает программу и передаёт ей значения через адреса (A, B, C, ...). На этом строятся пользовательские циклы и циклы измерения щупом. | G65 P9810 X0. Y0. Z-10. F100. |
вызов циклов |
| G66, G67 | Модальный вызов макроса: включение и отмена | Вызывает макрос после каждого перемещения. Отменяется G67. | G66 P9020 R3. |
MCALL |
| G68, G69 | Поворот системы координат: включение и отмена | Поворачивает контур на угол R вокруг заданной точки. Используйте для обработки детали, повёрнутой на станке, или для одинаковых элементов под углом. | G68 X0 Y0 R45. |
ROT, AROT |
| G68.2 | Наклонная плоскость обработки (Fanuc) | Задаёт плоскость обработки, повёрнутую в пространстве. Требует опции и настроенной кинематики пятиосевого станка. | G68.2 X0 Y0 Z0 I0 J45. K0 |
CYCLE800 |
Токарные циклы (G70–G76, G90, G92, G94)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G70 | Чистовой цикл (токарные) | Чистовой проход по контуру, описанному блоками от P до Q. Выполняется после G71, G72 или G73. | G70 P100 Q200 |
CYCLE95 |
| G71 | Черновой цикл: продольное точение | Снимает припуск проходами вдоль оси Z. Формат: G71 U(глубина) R(отвод); G71 P(начало) Q(конец) U(припуск X) W(припуск Z) F(подача). | G71 U2. R0.5G71 P100 Q200 U0.4 W0.2 F0.3 |
CYCLE95 |
| G72 | Черновой цикл: торцевое точение | То же, но проходы идут вдоль оси X. Применяется для торцов и дисков. | G72 W2. R0.5G72 P100 Q200 U0.4 W0.2 F0.3 |
CYCLE95 |
| G73 | Цикл повторения контура (токарные) | Повторяет контур с постепенным смещением. Применяется для заготовок, близких по форме к детали (литьё, поковка). Не путайте с G73 в сверлении. | G73 U5. W3. R3 |
CYCLE95 |
| G74 | Торцевое сверление с выводом стружки (токарные) | Глубокое отверстие по оси Z с периодическим отводом сверла. Формат: G74 R(отвод); G74 Z(глубина) Q(шаг в мкм) F(подача). | G74 R1.G74 Z-60. Q5000 F0.1 |
CYCLE83 |
| G75 | Цикл канавок по диаметру (токарные) | Прорезка канавок по оси X с выводом стружки. | G75 R1.G75 X40. P3000 F0.1 |
CYCLE93 |
| G76 | Цикл многопроходной резьбы (токарные) | Резьба за несколько проходов. Две строки: G76 P(число чистовых проходов, выход, угол) Q(мин. глубина, мкм) R(припуск); G76 X(диаметр впадины) Z(длина) R(конус) P(высота профиля, мкм) Q(первая глубина, мкм) F(шаг). | G76 P011060 Q100 R0.05G76 X17.55 Z-25. P1227 Q300 F2.0 |
CYCLE99 |
| G90 | Цикл продольной обточки (токарные, тип A) | Один проход по диаметру с возвратом. На фрезерных G90 — абсолютные координаты. | G90 X30. Z-40. F0.2 |
— |
| G92 | Цикл резьбы (токарные); установка координат (фрезерные) | На токарных G92 — одиночный проход резьбы с возвратом. На фрезерных G92 задаёт систему координат. Для рабочих смещений используйте G54–G59. | G92 X19. Z-25. F2.0 |
CYCLE99 |
| G94 | Цикл торцевой обточки (токарные) | Один проход по торцу с возвратом. На фрезерных G94 — подача в мм/мин. | G94 X20. Z-2. F0.2 |
— |
Циклы сверления и растачивания (G73–G89)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G73 | Высокоскоростное сверление с дроблением стружки | Сверло подходит на шаг Q и коротко отводится, ломая стружку. Отвод небольшой. Подходит для неглубоких отверстий. | G73 X20. Y20. Z-25. R2. Q3. F150 |
CYCLE83 |
| G74 | Нарезание левой резьбы метчиком | Метчик идёт с левым вращением шпинделя. Для жёсткого нарезания включают M29 до цикла. | G74 X20. Y20. Z-15. R5. F1.5 |
CYCLE84 |
| G76 | Тонкое растачивание | Расточная оправка останавливается на дне, шпиндель ориентируется, резец отводится в сторону на Q и выходит без следа. | G76 X20. Y20. Z-20. R2. Q0.3 F80 |
CYCLE86 |
| G80 | Отмена постоянных циклов | Выключает циклы сверления и растачивания G73–G89. Ставьте после последнего отверстия и в безопасной строке начала программы. | G80 |
MCALL |
| G81 | Сверление, центровка | Подача до глубины Z, быстрый отвод. Без выдержки. | G81 X20. Y20. Z-8. R2. F150 |
CYCLE81 |
| G82 | Сверление с выдержкой на дне | Как G81, но с паузой P на дне. Подходит для зенковки и глухих отверстий с ровным дном. | G82 X20. Y20. Z-5. R2. P500 F100 |
CYCLE82 |
| G83 | Глубокое сверление с полным выводом сверла | Сверло выходит из отверстия каждые Q, удаляя стружку и подавая СОЖ. Для глубоких отверстий (глубина более 3–5 диаметров). | G83 X20. Y20. Z-40. R2. Q5. F120 |
CYCLE83 |
| G84 | Нарезание правой резьбы метчиком | Метчик идёт вниз с правым вращением, на дне реверс. При жёстком нарезании F = S × P (шаг резьбы). | M29 S500G84 X20. Y20. Z-15. R5. F1.5 |
CYCLE84, CYCLE840 |
| G85 | Растачивание, рабочий ход вниз и вверх | Подача вниз и подача вверх без остановки шпинделя. Для развёртки и чистового растачивания. | G85 X20. Y20. Z-20. R2. F80 |
CYCLE85 |
| G86 | Растачивание с остановкой шпинделя и быстрым выводом | На дне шпиндель останавливается, вывод быстрый. На поверхности остаётся след, поэтому только для черновых операций. | G86 X20. Y20. Z-20. R2. F80 |
CYCLE86 |
| G87 | Обратное растачивание (Fanuc); растачивание с ручным выводом (Haas) | У Fanuc резец заходит с обратной стороны детали. У Haas цикл другой: оператор выводит инструмент вручную. Сверяйте по руководству станка. | G87 X20. Y20. Z-20. R2. Q0.5 F80 |
CYCLE87 |
| G88 | Растачивание с выдержкой и ручным выводом | Дно с выдержкой, остановка шпинделя, вывод вручную. | G88 X20. Y20. Z-20. R2. P500 F80 |
CYCLE88 |
| G89 | Растачивание с выдержкой и рабочим выводом | Рабочий ход вниз, пауза на дне, рабочий ход вверх. | G89 X20. Y20. Z-20. R2. P500 F80 |
CYCLE89 |
Режимы координат, подачи и скорости (G90–G99)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G90 | Абсолютные координаты | Координаты в кадре отсчитываются от нуля рабочей системы. Основной режим фрезерных станков. На токарных Fanuc (тип A) G90 — цикл обточки, а приращения задают адресами U и W. | G90 |
G90, AC() |
| G91 | Приращения | Координаты в кадре отсчитываются от текущей позиции. Опасная команда в сочетании с G28 и циклами, если не уверены в текущем режиме. | G91 |
G91, IC() |
| G92 | Установка системы координат (фрезерные) | Задаёт текущую позицию как новые координаты. На современных станках вместо неё используют G54 и G10. | G92 X0 Y0 Z0 |
— |
| G93 | Подача по обратному времени | F задаёт величину, обратную времени выполнения кадра. Применяется в пятиосевой обработке. | G93 G01 X10. Y10. F2. |
— |
| G94 | Подача в мм/мин | F — подача в мм/мин. Основной режим для фрезерных станков. | G94 F300 |
G94 |
| G95 | Подача в мм/об | F — подача на оборот шпинделя. Основной режим для токарных и для нарезания резьбы метчиком. | G95 F0.2 |
G95 |
| G96 | Постоянная скорость резания | S задаёт скорость в м/мин, обороты меняются при смене диаметра. Обязательно ограничьте обороты командой G50 S. | G96 S200 M03 |
G96 S |
| G97 | Отмена постоянной скорости: обороты в об/мин | S задаёт обороты шпинделя. Основной режим для фрезерных и сверления. | G97 S2500 M03 |
G97 S |
| G98 | Возврат на исходный уровень после цикла (фрезерные) | После отверстия инструмент возвращается на уровень, где включили цикл. Безопасно при крепеже и выступах на детали. | G98 |
— |
| G99 | Возврат на плоскость R после цикла (фрезерные) | Инструмент возвращается на плоскость R. Быстрее, но риск столкнуться с выступами. | G99 |
— |
Особые коды Haas (G100 и выше)
| Код | Название и тип | Описание и формат | Пример | Siemens |
|---|---|---|---|---|
| G100, G101 | Отмена и включение зеркального отражения (Haas) | Зеркалят заданную ось. Нужно задать ось и точку зеркала. | G101 X0. |
MIRROR |
| G102 | Вывод позиции в RS-232 (Haas) | Выводит координаты осей в порт RS-232. Применяется редко. | G102 |
— |
| G103 | Ограничение опережающего просмотра кадров (Haas) | Задаёт число кадров, которые стойка просматривает вперёд. G103 P0 отключает ограничение. | G103 P1 |
— |
| G107 | Цилиндрическое отображение (Haas) | Аналог G07.1 Fanuc: обработка на цилиндре по развёртке. | G107 X0. R25. |
TRACYL |
| G110–G129 | Рабочие системы координат 7–26 (Haas) | Дополнительные смещения Haas. В современных стойках вместо них используют G154 P1–P99. | G110 |
— |
| G136 | Автоматическое измерение центра нуля (Haas) | Работает со щупом: определяет центр отверстия или выступа и записывает смещение. | G136 X0. |
— |
| G141 | Трёхмерная коррекция на радиус (Haas) | Коррекция инструмента в пространстве для пятиосевой обработки. | G141 D01 |
— |
| G143 | Коррекция длины инструмента при пятиосевой обработке (Haas) | Компенсирует длину инструмента с учётом поворотных осей. | G143 H01 Z0. |
TRAORI |
| G150 | Фрезерование кармана по пользовательскому контуру (Haas) | Выбирает карман, описанный в отдельной подпрограмме, и снимает материал проходами. | G150 P1000 G41 D01 Z-5. Q3. I1. K0.5 F300 |
POCKET3 |
| G153 | Пятиосевое высокоскоростное глубокое сверление (Haas) | Аналог G73 для сверления при наклонных поворотных осях. | G153 X20. Y20. Z-20. R2. Q3. F100 |
— |
| G154 | Выбор рабочих координат P1–P99 (Haas) | Расширение рабочих смещений до 99. Аналог G54.1 у Fanuc. | G154 P25 |
— |
| G155 | Обратное нарезание резьбы (Haas) | Цикл метчика с реверсом: нарезание в обратном направлении при левой резьбе. | G155 X20. Y20. Z-15. R5. F1.5 |
— |
| G174, G184 | Жёсткое нарезание на не вертикальной оси (Haas) | G174 — против часовой стрелки, G184 — по часовой. Для нарезания по осям X и Y и наклонным. | G184 X20. Y20. Z-15. R5. F1.5 |
CYCLE84 |
| G187 | Контроль точности и сглаживания (Haas) | Выбор режима точности: E задаёт допуск, P — уровень сглаживания. Влияет на скорость обработки. | G187 P2 E0.01 |
CYCLE832 |
| G188 | Получение программы из рабочей таблицы (Haas) | Загружает программу, привязанную к паллете, из таблицы паллет. | G188 |
— |
Важно. Коды G70–G76, G90, G92 и G94 на токарных и фрезерных стойках значат разное. Кодов G100 и выше в стандарте ISO нет, это расширения Haas и других производителей. Состав кодов зависит от серии стойки и купленных опций, поэтому финальную проверку проводите по руководству вашего станка.
Fanuc, Haas, Siemens, Heidenhain: как соотносятся команды
Большинство станков в СНГ работает на Fanuc-подобных стойках (Fanuc, Haas, Mitsubishi, Mazak в режиме EIA/ISO). Siemens Sinumerik имеет собственный язык и режим ISO-диалекта. Heidenhain TNC программируют диалогом Klartext, G-коды поддерживаются отдельно. Таблица показывает ближайшие аналоги.
| Функция | Fanuc / Haas | Siemens Sinumerik | Heidenhain TNC (Klartext) |
|---|---|---|---|
| Быстрый ход | G00 |
G0 |
L X.. Y.. FMAX |
| Линейная интерполяция | G01 F |
G1 F |
L X.. Y.. F.. |
| Дуга | G02/G03 I J или R |
G2/G3, CIP, CT |
CC, C, CR |
| Выдержка | G04 P |
G4 F |
CYCL DEF 9 DWELL TIME |
| Абсолют / приращения | G90 / G91 |
G90 / G91, AC() / IC() |
Адрес I для приращений |
| Рабочие системы координат | G54–G59, G54.1 P / G154 P |
G54–G59, G500 |
CYCL DEF 7 DATUM SHIFT, таблицы Preset |
| Коррекция на радиус | G41 / G42 D / G40 |
G41 / G42 / G40 |
RL / RR / R0 |
| Коррекция на длину | G43 H / G49 |
Корректор инструмента T и D |
TOOL CALL |
| Возврат в референтную точку | G91 G28 Z0. |
G74, SUPA |
L Z+... R0 FMAX M91 |
| Сверление | G81, G82, G83 |
CYCLE81, CYCLE82, CYCLE83 |
CYCL DEF 200 / 203 / 205 |
| Нарезание резьбы метчиком | G84 + M29 |
CYCLE84, CYCLE840 |
CYCL DEF 207 RIGID TAPPING |
| Поворот системы координат | G68 / G69 |
ROT, AROT |
CYCL DEF 10 ROTATION |
| Зеркальное отражение | G51.1 / G101 |
MIRROR, AMIRROR |
CYCL DEF 8 MIRRORING |
| Масштабирование | G51 / G50 |
SCALE, ASCALE |
CYCL DEF 11 SCALING |
| Постоянная скорость резания | G96 S / G97 |
G96 S / G97, LIMS |
Токарные циклы отдельно, на фрезерных не применяется |
| Макросы и параметры | G65 P, переменные # |
R-параметры, CYCLE, переменные |
Q-параметры |
| Измерение щупом | G31, G65 |
MEAS=1, циклы измерения |
TCH PROBE |
Станки на Siemens могут принимать Fanuc-подобную программу, если включён ISO-режим (команда G291), но не все циклы совпадут. Для Heidenhain G-коды загружаются через ISO-режим или конвертер. Перед переносом программы между стойками прогоните её на графике. Подробнее о стойках: виды и устройство стоек ЧПУ.
M-коды: основные вспомогательные функции
M-коды управляют станком, а не траекторией. Их состав задаёт производитель станка: общие M-коды совпадают, остальные нужно искать в руководстве. В кадре действует только один M-код из группы.
| Код | Функция | Комментарий |
|---|---|---|
| M00 | Остановка программы | Программа ждёт нажатия Cycle Start. Используется для замера или смены оснастки. |
| M01 | Остановка по выбору | Срабатывает, если включена кнопка Optional Stop. |
| M02 | Конец программы | Останавливает программу без возврата в начало. |
| M03, M04 | Шпиндель по часовой и против | Нужен адрес S с оборотами или скоростью. |
| M05 | Остановка шпинделя | Ставят перед сменой инструмента и измерением. |
| M06 | Смена инструмента | Номер инструмента задают адресом T (на токарных T0101). Подробнее: устройство автоматической смены инструмента. |
| M07, M08, M09 | Туман, СОЖ, отключение | M09 выключает M07 и M08. |
| M19 | Ориентация шпинделя | Нужна для расточных циклов и смены инструмента. |
| M29 | Жёсткое нарезание метчиком (Fanuc) | Ставится перед G84. Подачу задают F = S × шаг. |
| M30 | Конец программы с возвратом в начало | Стандартное завершение. Обычно выключает шпиндель и СОЖ. |
| M48, M49 | Разрешить и запретить корректировки подачи и оборотов | M49 фиксирует программные значения. |
| M98, M99 | Вызов подпрограммы и возврат | M98 P1001 L3 вызывает программу O1001 три раза. M99 возвращает из подпрограммы. |
Примеры программ с разбором по кадрам
Примеры упрощены и показывают логику. Перед запуском на станке проверьте номера инструментов, корректоров, смещения и параметры вашей стойки.
Фрезерная программа: наружный контур 60×40 мм и четыре отверстия
O1001 (CONTOUR 60X40 + 4 HOLES)
G21 G17 G40 G49 G80 G90
T1 M06
G54 G00 X-45. Y-30.
S4000 M03
G43 H1 Z50. M08
Z2.
G01 Z-5. F150
G41 D1 G01 X-30. Y-20. F400
Y20.
X30.
Y-20.
X-30.
G40 G01 X-45. Y-30.
G00 Z50. M09
T2 M06
G54 G00 X-20. Y-10.
S2500 M03
G43 H2 Z50. M08
G98 G81 X-20. Y-10. Z-12. R2. F120
X20.
Y10.
X-20.
G80
G00 Z50. M09
M05
G91 G28 Z0.
G90
M30
| Кадр | Что делает |
|---|---|
G21 G17 G40 G49 G80 G90 |
Безопасная строка: мм, плоскость XY, отмена коррекции на радиус, на длину и циклов, абсолютные координаты. Защищает от режимов, оставшихся от предыдущей программы. |
T1 M06 |
Загрузка инструмента 1 (фреза Ø10). |
G54 G00 X-45. Y-30. |
Рабочая система 1 и быстрый подвод к точке рядом с контуром. |
G43 H1 Z50. M08 |
Коррекция на длину, подход по Z, включение СОЖ. |
G41 D1 G01 X-30. Y-20. |
Включение коррекции на радиус линейным ходом длиннее радиуса фрезы. Фреза слева от контура: попутное фрезерование при M03. |
Y20. X30. Y-20. X-30. |
Обход контура: координаты без G-кода, потому что G01 модален. |
G40 G01 X-45. Y-30. |
Отмена коррекции на отходящем линейном ходу. |
G98 G81 ... X20. Y10. X-20. |
Цикл сверления, отвод на исходный уровень. Следующие кадры повторяют цикл в новых точках. |
G80 |
Отмена цикла после последнего отверстия. |
G91 G28 Z0. |
Возврат Z в референтную точку от текущей позиции. |
G90 M30 |
Возврат к абсолютным координатам и завершение программы. |
Токарная программа: вал Ø32 с резьбой M20×2
O2001 (SHAFT M20X2)
G21 G40 G97 G99
T0101
G50 S2500
G96 S200 M03
G00 X35. Z2.
G71 U2. R0.5
G71 P100 Q200 U0.4 W0.1 F0.25
N100 G00 X16.
G01 Z0. F0.1
X20. Z-2.
Z-25.
X28.
Z-45.
N200 X32.
G70 P100 Q200
G00 X100. Z100.
T0303
G97 S800 M03
G00 X22. Z5.
G76 P011060 Q100 R0.05
G76 X17.55 Z-23. P1227 Q300 F2.0
G00 X100. Z100.
M05
M30
| Кадр | Что делает |
|---|---|
G50 S2500 |
Ограничивает обороты до 2500 об/мин: без этого при G96 на малом диаметре шпиндель разгонится до предела. |
G96 S200 M03 |
Постоянная скорость резания 200 м/мин, шпиндель по часовой. |
G71 U2. R0.5 |
Черновой цикл: глубина прохода 2 мм на сторону, отвод 0,5 мм. |
G71 P100 Q200 U0.4 W0.1 F0.25 |
Контур описан кадрами N100–N200. Припуск под чистовую 0,4 мм по диаметру и 0,1 мм по оси Z, подача 0,25 мм/об. |
N100 G00 X16. ... N200 X32. |
Контур: фаска 2 мм, цилиндр Ø20 под резьбу, цилиндр Ø28, торец до Ø32. Первый кадр цикла содержит только ось X. |
G70 P100 Q200 |
Чистовой проход по тому же контуру. |
G76 P011060 Q100 R0.05 |
Параметры резьбового цикла: один чистовой проход, фаска на выходе, угол профиля 60°, минимальная глубина 0,1 мм, припуск на чистовой 0,05 мм. |
G76 X17.55 Z-23. P1227 Q300 F2.0 |
Диаметр впадины 17,55 мм, длина резьбы до Z-23, высота профиля 1,227 мм (1227 мкм), первая глубина 0,3 мм, шаг 2 мм. |
Значения профиля и припусков рассчитаны для метрической резьбы M20×2 и зависят от материала и инструмента. Проверьте их по справочнику резьбы и руководству вашей стойки.
Формулы режимов, которые нужны для G-кода
| Величина | Формула | Пример |
|---|---|---|
| Обороты шпинделя n, об/мин | n = 1000 × Vc / (π × D) |
Vc = 120 м/мин, D = 16 мм: n ≈ 2 387 об/мин |
| Скорость резания Vc, м/мин | Vc = π × D × n / 1000 |
D = 16 мм, n = 2 387: Vc ≈ 120 м/мин |
| Минутная подача F, мм/мин (фрезерование) | F = fz × z × n |
fz = 0,05, z = 3, n = 2 387: F ≈ 358 мм/мин |
| Подача при жёстком нарезании резьбы метчиком | F = S × P (P — шаг резьбы) |
M8×1,25 при S = 800: F = 1 000 мм/мин |
| Подача на оборот (токарные), мм/об | F = Vf / n |
Vf = 100 мм/мин, n = 500: F = 0,2 мм/об |
| Глубина профиля метрической резьбы h | h ≈ 0,6134 × P на сторону (наружная) |
P = 2: h ≈ 1,227 мм, параметр P в G76 = 1227 |
Режимы резания зависят от материала, инструмента и жёсткости станка. Рекомендации производителя инструмента всегда приоритетнее общих формул.
Ошибки стойки, которые вызывают G-коды
Большинство сообщений о программе появляется из-за синтаксиса, режима или параметров цикла. Таблица показывает типичные сообщения, к какому G-коду они относятся и что сделать.
| Сообщение | Стойка | Причина и что сделать |
|---|---|---|
| PS0010 IMPROPER G-CODE | Fanuc | Код не поддерживается или опция выключена; код из другой серии (M и T). Сверьте код с руководством. Разбор: ошибки P/S на Fanuc. |
| PS0011 NO FEEDRATE COMMANDED | Fanuc | Нет подачи F при G01, G02, G03. Добавьте F. Подробнее: ошибка PS0011. |
| PS0003 TOO MANY DIGITS, PS0005 NO DATA AFTER ADDRESS | Fanuc | Слишком длинное число или адрес без значения: проверьте десятичные точки. PS0003, PS0005. |
| PS0020 OVER TOLERANCE OF RADIUS | Fanuc | Начальный и конечный радиус дуги G02/G03 не совпадают. Проверьте I, J, K или R. |
| PS0033, PS0034, PS0041 коррекция на радиус | Fanuc | Нет решения при коррекции или зарез на дуге: включайте G41/G42 линейным ходом, радиус дуги не меньше радиуса фрезы. Подробнее: PS0041, как работает G41 и G42. |
| PS0070 NO PROGRAM SPACE | Fanuc | Нет места в памяти программ. Удалите ненужные или выполняйте программу с карты памяти (DNC). PS0070. |
| PS0090, PS0091, PS0092 | Fanuc | Возврат в референтную точку не выполнен или проверка G27 не пройдена. Выполните G28 или ручной ZRN. Разбор: станок не находит ноль. |
| 310 недопустимый G-код | Haas | Код не поддерживается стойкой или написан неверно. Сверьтесь со списком Haas. |
| 302, 306 недопустимые R, I, J, K | Haas | Неверные параметры дуги G02/G03: радиус меньше половины расстояния между точками, или не задан центр. |
| 320 нет скорости подачи, 326 G04 без кода P | Haas | Не задана подача или время выдержки. |
| 340, 341, 367 коррекция на режущий инструмент | Haas | Коррекция включена на дуге или выключена неверно, интерференция. Включайте G41/G42 линейным ходом. |
| Ошибки программы EIA/ISO | Mazak | Ошибки ISO-программы на Mazatrol: ошибки EIA/ISO Mazak. |
Остальные сообщения стоек Fanuc, Haas, Siemens и Heidenhain: хаб кодов ошибок ЧПУ: 229 кодов с поиском. Для обзоров по стойкам: FANUC, Haas, Siemens Sinumerik, Heidenhain.
Практика: безопасный старт и проверка программы
Безопасная строка в начале программы
Первая строка отменяет режимы, оставшиеся от предыдущей программы. Для фрезерной группы Fanuc и Haas типичная строка: G21 G17 G40 G49 G80 G90. Для токарной: G21 G40 G97 G99. Смысл: единицы, плоскость, отмена коррекций и циклов, режим подачи.
Чек-лист перед первым запуском
- Проверьте смещения. Рабочая система (G54) и корректоры инструмента заполнены и выбраны верно. Привязать деталь и инструмент быстрее и надёжнее щупом: привязка детали щупом: автоматический цикл или ручная.
- Прогоните программу в графике. Симуляция покажет траекторию и выходы за пределы хода.
- Запустите без шпинделя и подачи. Режим Dry Run при поднятой Z и поднятой по оси оснастке.
- Первый запуск покадрово. Single Block, ускоренный ход 25%, рука на стопе. Проверьте оставшийся путь (Distance to go) перед каждым врезанием.
- Сохраните параметры и программы. Перед правкой смещений и параметров сделайте резервную копию: резервное копирование параметров ЧПУ.
Типичные ошибки программиста
- G91 перед G28 без возврата к G90. Следующие кадры идут в приращениях: станок едет не туда. После G91 G28 всегда ставьте G90.
- Нет отмены цикла. После G81–G89 забыли G80: каждая координата запускает цикл сверления.
- Включение G41 на дуге. Вход в коррекцию делайте линейным ходом, длиннее радиуса фрезы.
- Пропущенная десятичная точка. X50 читается как 0,050 мм на многих стойках.
- Нет отмены коррекции на длину. G49 перед сменой инструмента и перед G28.
- G96 без ограничения оборотов. На малом диаметре шпиндель разгоняется до предела. Ставьте G50 S.
- Перенос программы между стойками без проверки. G70–G76 на токарных и фрезерных Fanuc, Haas и Siemens значат разное.
Когда G-код связан с оборудованием
Некоторые команды работают только при исправных датчиках и приводах. Измерение щупом (G31, G65 с циклами) требует исправного датчика контакта: измерительные щупы для станков с ЧПУ. Пятиосевые команды G68.2 и G43.4 зависят от настройки поворотных осей: 4-я и 5-я ось станка. Если станок останавливается в цикле измерения или не находит нулевую точку, дело не в программе: ошибки возврата в референтную точку. Если после коррекции деталь выходит в брак, причины в ошибках позиционирования ЧПУ.
Глоссарий
- Адрес
- Буква в кадре (X, Y, F, S, T), к которой относится число.
- Кадр
- Строка программы: набор слов, которые станок выполняет вместе.
- Модальный код
- Команда, действующая до отмены другой командой той же группы.
- Интерполяция
- Согласованное движение нескольких осей по прямой или дуге.
- Корректор
- Ячейка таблицы станка, где хранятся длина и радиус инструмента.
- Рабочая система координат
- Начало отсчёта координат на детали (G54–G59), записанное в таблице смещений.
- Референтная точка
- Фиксированная позиция станка, по которой стойка определяет положение осей.
- Постоянный цикл
- Готовая последовательность движений (сверление, резьба), запускаемая одним кадром.
- Постпроцессор
- Программа CAM, которая переводит траекторию в G-код конкретной стойки.
- Dry Run
- Пробный запуск программы на станке без резания.
- Single Block
- Режим выполнения программы по одному кадру.
- CRC
- Коррекция на радиус режущей кромки (G41, G42).
Вопросы и ответы
Что такое G-коды?
G-коды — подготовительные функции программы для станка с ЧПУ, стандарт ISO 6983 (RS-274). Они задают тип движения (быстрый ход, линия, дуга), плоскость, систему координат, коррекции инструмента и циклы обработки. Адреса X, Y, Z, F, S, T задают значения, а M-коды управляют вспомогательными функциями станка.
Чем отличаются G-коды и M-коды?
G-коды описывают геометрию и режимы движения: куда и как перемещаться. M-коды управляют станком: включают шпиндель (M03, M04), СОЖ (M08), меняют инструмент (M06), завершают программу (M30). Часть M-кодов определяет производитель станка, поэтому их список нужно сверять с руководством.
Чем G00 отличается от G01?
G00 — ускоренный ход без резания, скорость задана параметрами станка, подача F игнорируется. G01 — линейная интерполяция с рабочей подачей F. Траектория G00 не всегда прямая, поэтому рядом с деталью подводят по одной оси.
В чём разница между G90 и G91?
G90 — абсолютные координаты, отсчёт от нуля рабочей системы. G91 — приращения, отсчёт от текущей позиции. Ошибка режима — частая причина столкновения, поэтому в начале программы всегда указывают нужный режим.
Для чего нужны G41 и G42?
G41 и G42 включают коррекцию на радиус инструмента слева и справа от контура. Станок сам смещает траекторию на величину из корректора D, поэтому контур программируют по детали, а не по оси фрезы. Отменяет коррекцию G40.
Для чего нужен G28 и почему его пишут с G91?
G28 возвращает ось в референтную точку через промежуточную. С G91 и нулём (G91 G28 Z0.) ось идёт в референтную точку от текущей позиции. Без G91 станок сначала идёт в абсолютную координату, что может привести к столкновению.
Чем G54 отличается от G92?
G54–G59 выбирают рабочие смещения из таблицы станка, они сохраняются после выключения питания. G92 (на фрезерных) временно задаёт текущую позицию как новые координаты. На современных станках G92 не рекомендуют, а смещения записывают в таблицу.
Какие G-коды отвечают за сверление?
Циклы G73, G74, G76, G80–G89 на фрезерных стойках: G81 сверление, G82 с выдержкой, G83 глубокое с выводом стружки, G84 резьба метчиком, G85–G89 растачивание. На токарных стойках глубокое сверление выполняет G74, а резьбу G76.
Что такое G96 и G97?
G96 включает постоянную скорость резания: S задаёт м/мин, обороты растут при уменьшении диаметра. G97 отменяет режим и задаёт обороты в об/мин. С G96 обязательно ограничивают обороты командой G50 S.
Что такое модальные и немодальные G-коды?
Модальный код действует до отмены другим кодом той же группы (например, G01). Немодальный действует только в кадре, где записан (например, G04, G28, G53). Модальность определяет, что нужно повторять в каждом кадре.
Существуют ли G-коды выше G99?
Стандарт ISO 6983 определяет G00–G99. Коды G100 и выше — расширения производителей. У Haas это G100–G187, у Fanuc — десятичные коды (G05.1, G54.1, G68.2). На стойках Siemens и Heidenhain вместо этого используют собственные команды и циклы.
Одинаковы ли G-коды на Fanuc, Haas, Siemens и Heidenhain?
Базовые G00–G04, G17–G21, G40–G43, G90, G91 близки на Fanuc и Haas. Siemens использует в основном другие команды (CYCLE81, TRANS, ROT) и поддерживает ISO-режим. У Heidenhain основной язык — диалог Klartext, а G-коды поддерживаются отдельно. Коды сверяйте с руководством.
Что значит ошибка «неверный G-код» на станке?
У Fanuc это PS0010 (IMPROPER G-CODE): код не поддерживается стойкой или опция не включена. У Haas это аварийное сообщение 310 (недопустимый G-код). Проверьте код в руководстве стойки и серию стойки, M или T, потому что одни и те же G70–G76 в них значат разное.
Можно ли использовать G02 и G41 одновременно?
Да, но включать коррекцию нужно линейным ходом: на дуге G41/G42 включать нельзя (ошибка стойки). Подвод и отвод делайте прямолинейными блоками длиннее радиуса инструмента.
Как проверить программу с G-кодами до запуска на станке?
Прогоните программу в графике или симуляторе стойки, затем на станке с отключённой подачей и выключенным шпинделем (Dry Run). Первый запуск делайте покадрово, с ручкой коррекции ускоренного хода на 25% и рукой на кнопке остановки.
Источники и ограничения
Справочник составлен на основе стандарта ISO 6983-1 (RS-274) и общепринятой практики программирования Fanuc-подобных стоек, а также открытых описаний особых кодов Haas и аналогов команд Siemens Sinumerik и Heidenhain TNC. Формулировки и примеры подготовлены для этой страницы.
Для проверки используйте официальную документацию производителей: руководство оператора и руководство по программированию вашей стойки Fanuc, список G-кодов Haas из руководства оператора станка, руководство по программированию Siemens Sinumerik и руководство пользователя Heidenhain TNC.
Ограничения. Набор команд определяет серия стойки, прошивка и опции, выбранные производителем станка. Примеры не заменяют руководство вашего станка и не проверены на конкретном оборудовании. Перед запуском на станке выполните проверку в графике и первый запуск без резания. Если нашли расхождение с руководством вашей стойки, сообщите нам: страница обновляется.





































