G-CODE
- Основные сведения о G-CODE
- Основные команды
- Основные вспомогательные команды
- Параметры команд
- Примеры G-CODE
- Программы для создания G-CODE
Автор: Исаев Михаил Сергеевич
1. Основные сведения о G-CODE
G-код — условное именование языка программирования устройств с числовым программным управлением (ЧПУ).
Был создан компанией Electronic Industries Alliance в начале 1960-х . Окончательная доработка была одобрена в феврале 1980 года как стандарт RS274D. Комитет ISO утвердил G-код как стандарт ISO 6983-1:1982, затем вышло переиздание этого стандарта ISO 6983-1:2009, Госкомитет по стандартам СССР — как ГОСТ 20999-83. В советской технической литературе G-код обозначается как код ИСО 7-бит (ISO 7-bit). G-код кодировали на 8-дорожечную перфоленту в коде ISO 7-bit (разработан для представления информации УЧПУ в виде машинного кода так же, как и коды AEG и PC8C), восьмая дорожка использовалась для контроля чётности.
1. Основные сведения о G-CODE: Структура программы
Программа, написанная с использованием G-кода, имеет жесткое строение. Все команды управления объединяются в кадры — группы, состоящие из одной или более команд. Кадр завершается символом перевода строки (CR/LF) и имеет номер, за исключением первого кадра программы и комментариев. Первый (а в некоторых случаях ещё и последний) кадр содержит только один знак «%». Завершается программа командой M02 или M30. Комментарии к программе размещаются в круглых скобках, как после программных кодов, так и в отдельном кадре.
Порядок команд в кадре строго не оговаривается, но традиционно предполагается, что первыми указываются подготовительные команды затем команды перемещения, затем выбора режимов обработки и технологические команды.
2. Подготовительные (Основные) команды
Коды
Описание
G00-G03
Позиционирование инструмента
G17-G19
Переключение рабочих плоскостей (XY, ZX, YZ)
G20-G21
Не стандартизовано
G40-G44
Компенсация размера различных частей инструмента (длина, диаметр)
G53-G59
Переключение систем координат
G80-G85
Циклы сверления, растачивания, нарезания резьбы
G90-G91
Переключение систем координат (абсолютная, относительная)
2. Основные команды
G00
Ускоренное перемещение инструмента (холостой ход)
G01
G02
G0 X0 Y0 Z100;
Линейная интерполяция
Круговая интерполяция по часовой стрелке
G01 X0. Y0. Z100 F200;
G03
G02 X15. Y15. R5 F200;
Круговая интерполяция против часовой стрелки
G04
Задержка выполнения программы, способ задания величины задержки зависит от реализации системы управления
G03 X15. Y15. R5 F200;
G10
G15
Задать новые координаты для начала координат
G04 P500;
Отмена полярной системы координат
G10 X10 Y10 Z10;
G16
G15 X15. Y22.5; G15;
Полярная система координат (X радиус Y угол)
G17
Выбор рабочей плоскости X-Y
G16 X15. Y22.5
G18
Выбор рабочей плоскости Z-X
G19
Выбор рабочей плоскости Y-Z
G20
Режим работы в дюймовой системе
G90 G20;
2. Основные команды
G21
Режим работы в метрической системе
G22
G90 G21;
Активировать установленный предел перемещений (Станок не выйдет за их предел)
G28
Вернуться на референтную точку
G30
G22 G01 X15 Y25;
G29 G91 Z0 Y0;
Поднятие по оси Z на точку смены инструмента
G40
Отмена компенсации радиуса инструмента
G30 G91 Z0;
G41
G1 G40 X0. Y0. F200
Компенсировать радиус инструмента слева от траектории
G42
Компенсировать радиус инструмента справа от траектории
G43
G41 X15. Y15. D1 F100
G42 X15. Y15. D1 F100
Компенсировать длину инструмента положительно
G44
Компенсировать длину инструмента отрицательно
G43 X15. Y15. Z100. H1 S1000 M3
G49
G44 X15. Y15. Z4. H1 S1000 M3
Отмена компенсации длины инструмента
G53
Отключить смещение начала системы координат станка
G49 Z100
G54-G59
G53 G0 X0. Y0. Z0.
Переключиться на заданную оператором систему координат
G54 G0 X0. Y0. Z100.
2. Основные команды
G61-G64
Переключение режимов Точный Стоп/Постоянная скорость
G68
Поворот координат на нужный угол
G70
Цикл продольного чистового точения
G71
G68 X0 Y0 R45;
G70 P10 Q15
Цикл многопроходного продольного чернового точения
G80
Отмена циклов сверления, растачивания, нарезания резьбы метчиком и т. д.
G71 P10 Q15 D0.5 UO.2 W0.5
G81
G80
Цикл сверления
G82
Цикл сверления с задержкой
G83
G81 X0 Y0. Z-10. R3 F100
G82 X0. Y0. Z-10. R3 P100 F100
Цикл прерывистого сверления (с полным выводом сверла)
G84
Цикл нарезания резьбы
G83 X0. Y0. Z-10. R3 Q8 F100
G90
G91
G95 G84 M29 X0. Y0. Z-10. R3 F1.411
Задание абсолютных координат опорных точек траектории
Задание координат инкрементально последней введённой опорной точки
G90 G1 X0.5. Y0.5. F10
G94
G91 G1 X4. Y5. F100
F (подача) — в формате мм/мин.
G95
F (подача) — в формате мм/об.
G94 G80 Z100
G99
G95 G84 X0. Y0. Z-10. R3 F1.411
После каждого цикла не отходить на "проходную точку"
G99 G91 X10 K4;
3. Основные вспомогательные команды
M00
Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемая «безусловная технологическая остановка»
M01
G0 X0 Y0 Z100 M0
Приостановить работу станка до нажатия кнопки «старт», если включён режим подтверждения остановки
M02
Конец программы, без сброса модальных функций
G0 X0 Y0 Z100 M1
M03
M04
M02
Начать вращение шпинделя по часовой стрелке
Начать вращение шпинделя против часовой стрелки
M3 S2000
M05
M4 S2000
Остановить вращение шпинделя
M06
Сменить инструмент
M5
M07
T15 M6
Включить дополнительное охлаждение
M08
Включить основное охлаждение. Иногда использование более одного M-кода в одной строке (как в примере) недопустимо, для этого используются M13 и M14
M3 S2000 M7
M3 S2000 M8
3. Основные вспомогательные команды
M09
Выключить охлаждение
M13
G0 X0 Y0 Z100 M5 M9
Включить охлаждение и вращение шпинделя по часовой стрелке
M14
Включить охлаждение и вращение шпинделя против часовой стрелки
S2000 M13
M17
M25
S2000 M14
Конец подпрограммы
Замена инструмента вручную
M17
M97
M25
Запуск подпрограммы, находящейся в той же программе (где P — номер кадра, в случае примера переход осуществится к строке N25), действует не везде , предположительно — только на станках HAAS
M98
Запуск подпрограммы, находящейся отдельно от основной программы (где P — номер подпрограммы, в случае примера переход осуществится к программе O1015)
M97 P25
M99
M98 P1015
Конец подпрограммы
M30
Конец программы, со сбросом модальных функций
M99
M30
4. параметры команд
X
Координата точки траектории по оси X
Y
G0 X100 Y0 Z0
Координата точки траектории по оси Y
Z
Координата точки траектории по оси Z
G0 X0 Y100 Z0
P
G0 X0 Y0 Z100
Параметр команды
F
Скорость рабочей подачи.Для фрезерных станков это дюймы в минуту (IPM) или миллиметры в минуту (mm/min),
S
G04 P101
Для токарных станков это дюймы за оборот (IPR) или миллиметры за оборот (mm/rev).
R
Частота вращения шпинделя
G1 G91 X10 F100
Параметр стандартного цикла или радиус дуги (расширение стандарта)
D
S3000 M3
G81 R1 0 R2 −10 F50 или G2 G91 X12.5 R12.5
Параметр коррекции выбранного инструмента
L
Число вызовов подпрограммы
I
G1 G41 D1 X10. F150.
M98 L82 P10 или G65 L82 P10 X_Y_R_
Параметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси X.
J
Параметр дуги при круговой интерполяции. Инкрементальное расстояние от начального
G03 X10 Y10 I0 J0 F10
K
G03 X10 Y10 I0 J0 F10
Параметр дуги при круговой интерполяции. Инкрементальное расстояние дуги по оси Z.
L
Вызов подпрограммы с данной меткой
G03 X10 Y10 I0 K0 F10
L12
5. Примеры G-Code
Пример программы управления (G-кода) для систем числового программного управления для фрезерования окружности
% O0001 (Krug) (Номер программы (O0001) и её название (Krug)) G00 Z0.5 (поднятие инструмента на безопасную высоту) G00 X-80 Y0 (перемещение инструмента к точке начала фрезерования) G01 Z-2 F60 (опускание инструмента на необходимую глубину фрезерования) G02 I10 F80 (фрезерование круга) G00 Z0.5 (поднятие инструмента на безопасную высоту) G00 X0 Y0 (перемещение инструмента на исходную точку) M30 (конец управляющей программы) %
5. Примеры G-Code
Пример программы управления (G-кода) для систем числового программного управления для фрезерования контура в виде прямоугольного треугольника
% O0002 (Treugolnik) (Номер программы (O0002) и её название (Treugolnik)) G00 Z0.5 F70 (поднятие инструмента на безопасную высоту) G00 X20 Y30 (перемещение к точке начала фрезерования) G01 Z-3 F60 (опускание инструмента на необходимую глубину фрезерования) G01 X20 Y150 F60 (фрезерование катета a) G01 X110 Y30 (фрезерование гипотенузы) G01 X20 Y30 (фрезерование катета b) G00 Z0.5 (поднятие фрезы на безопасную высоту) G00 X0 Y0 (перемещение инструмента на исходную точку) M30 (конец управляющей программы) %
5. Примеры G-Code
Пример программы управления (G-кода) для систем числового программного управления для фрезерования контура в виде прямоугольника
% O0003 (Prjamougolnik) (Номер программы (O0003) и её название (Prjamougolnik)) G00 Z0.5 (поднятие инструмента на безопасную высоту) G00 X0 Y0 (перемещение инструмента к точке начала фрезерования (точке 5)) G01 Z-2 F60 (опускание инструмента на необходимую глубину фрезерования) G01 X0 Y200 F60 (фрезерование стороны a) G01 X300 Y200 (фрезерование стороны b) G01 X300 Y0 (фрезерование стороны a) G01 X0 Y0 (фрезерование стороны b, возврат к точке начала фрезерования) G00 Z0.5 (поднятие инструмента на безопасную высоту) M30 (конец управляющей программы) %
6. Программы для создания G-Code