На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют "G-код". В данном материале представлена общая информация по G-коду (G-code)
G-code это условное именование языка для программирования устройств с ЧПУ (CNC)(Числовое программное управление). Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980-о года как RS274D стандарт. Комитет ИСО утвердил G-code, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР — как ГОСТ 20999-83. В советской технической литературе G-code обозначается, как код ИСО-7 бит.
Производители систем управления используют G-code в качестве базового подмножества языка программирования, расширяя его по своему усмотрению.
Программа, написанная с использованием G-code, имеет жесткую структуру. Все команды управления объединяются в кадры — группы, состоящие из одной или более команд. Кадр завершается символом перевода строки (ПС/LF) и имеет номер, за исключеним первого кадра программы. Первый кадр содержит только один символ «%». Завершается программа командой M02 или M30.
Сводная таблица кодов
Основные, в стандарте называются подготовительными, команды языка начинаются с буквы G:
- Перемещение рабочих органов оборудования с заданой скоростью (линейное и круговое)
- Выполнение типовых последовательностей (таких, как обработка отверстий и резьб)
- Управление параметрами инструмента, системами координат, и рабочих плоскостей
Подготовительные (основные) команды
Коды | Описание |
G00-G04 |
Позиционирование инструмента |
G17-G19 |
Переключение рабочих плоскостей (XY, XZ, YZ) |
G20-G21 |
Не стандаризовано |
G40-G44 |
Компенсация размера различных частей инструмента (длина, диаметр) |
G53-G59 |
Переключение систем координат |
G80-G84 |
Циклы сверления, нарезания резьбы |
G90-G92 |
Переключение систем координат (абсолютная, относительная) |
Код | Описание | Пример |
G00 |
Ускоренное перемещение инструмента (холостой ход) |
G0 X0 Y0 Z100; |
G01 |
Линейная интерполяция |
G01 X0 Y0 Z100 F200; |
G02 |
Круговая интерполяция по часовой стрелки |
G02 X15 Y15 R5 F200; |
G03 |
Круговая интерполяция против часовой стрелки |
G03 X15 Y15 R5 F200; |
G04 |
Задержка на P миллисекунд |
G04 P500; |
G10 |
Задать новые координаты для начала координат |
G10 X10 Y10 Z10; |
G11 |
Отмена G10 |
G11; |
G15 |
Отмена G16 |
G15 G90; |
G16 |
Переключение в полярную систему координат |
G16 G91 X100 Y90; |
G20 |
Режим работы в дюймовой системе |
G90 G20; |
G21 |
Режим работы в метрической системе |
G90 G21; |
G22 |
Активировать установленый предел перемещений (Станок не выйдет за их предел). |
G22 G01 X15 Y25; |
G23 |
Отмена G22 |
G23 G90 G54; |
G28 |
Вернуться на референтную точку |
G28 G91 Z0 Y0; |
G30 |
Поднятие по оси Z на точку смены инструмента |
G30 G91 Z0; |
G40 |
Отмена компенсации размера инструмента |
G1 G40 X0 Y0 F200; |
G41 |
Компенсировать радиус инструмента слева |
G41 X15 Y15 D1 F100; |
G42 |
Компенсировать радиус инструмента справа |
G42 X15 Y15 D1 F100; |
G43 |
Компенсировать высоту инструмента положительно |
G43 X15 Y15 Z100 H1 S1000 M3; |
G44 |
Компенсировать высоту инструмента отрицательно |
G44 X15 Y15 Z4 H1 S1000 M3; |
G53 |
Переключиться на систему координат станка |
G53 G0 X0 Y0 Z0; |
G54-G59 |
Переключиться на заданную оператором систему координат |
G54 G0 X0 Y0 Z100; |
G68 |
Поворот координат на нужный угол |
G68 X0 Y0 R45; |
G69 |
Отмена G68 |
G69; |
G80 |
Отмена циклов сверления (G81-G84) |
G80 Z100; |
G81 |
Цикл сверления |
G81 X0 Y0 Z-10 R3 F100; |
G82 |
Цикл сверления с задержкой |
G82 X0 Y0 Z-10 R3 P100 F100; |
G83 |
Цикл сверления с отходом |
G83 X0 Y0 Z-10 R3 Q8 F100; |
G84 |
Цикл нарезание резьбы |
G95 G84 X0 Y0 Z-10 R3 F1.411; |
G90 |
Абсолютная система координат |
G90 G21; |
G91 |
Относительная система координат |
G91 G1 X4 Y5 F100; |
G94 |
F (подача)- в формате мм/мин. |
G94 G80 Z100; |
G95 |
F (подача)- в формате мм/об. |
G95 G84 X0 Y0 Z-10 R3 F1.411; |
G98 |
Отмена G99 |
G98 G15 G90; |
G99 |
После каждого цикла не отходить на «подходную точку» |
G99 G91 X10 K4; |
Таблица технологических кодов
Технологические команды языка начинаются с буквы М. Включают такие действия, как:
- Сменить инструмент
- Включить/выключить шпиндель
- Включить/выключить охлаждение
- Вызвать/закончить подпрограмму
Вспомогательные (технологические) команды
Код | Описание | Пример |
M00 |
Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемый "технологический останов" |
G0 X0 Y0 Z100 M0; |
M01 |
Приостановить работу станка до нажатия кнопки «старт», если включен режим подтверждения останова |
G0 X0 Y0 Z100 M1; |
M02 |
Конец программы |
M02; |
M03 |
Начать вращение шпинделя по часовой стрелке |
M3 S2000; |
M04 |
Начать вращение шпинделя против часовой стрелки |
M4 S2000; |
M05 |
Остановить вращение шпинделя |
M5; |
M06 |
Сменить инструмент |
M6 T15; |
M07 |
Включить дополнительное охлаждение |
M3 S2000 M7; |
M08 |
Включить основное охлаждение |
M3 S2000 M8; |
M09 |
Выключить охлаждение |
G0 X0 Y0 Z100 M5 M9; |
M30 |
Конец информации |
M30; |
M98 |
Вызов подпрограммы |
M98 P101; |
M99 |
Конец подпрограммы, возврат к основной программе |
M99; |
Параметры команд задаются буквами латинского алфавита
Код | Описание | Пример |
X |
Координата точки траектории по оси X |
G0 X0 Y0 Z100 |
Y |
Координата точки траектории по оси Y |
G0 X0 Y0 Z100 |
Z |
Координата точки траектории по оси Z |
G0 X0 Y0 Z100 |
F |
Скорость рабочей подачи |
G1 G91 X10 F100 |
S |
Скорость вращения шпинделя |
S3000 M3 |
R |
Радиус или параметр стандартного цикла |
G1 G91 X12.5 R12.5 или G81 R1 0 R2 -10 F50 |
D |
Параметр коррекции выбранного инструмента |
M06 T1 D1 |
P |
Величина задержки или число вызовов подпрограммы |
M04 P101 или G82 R3 Z-10 P1000 F50 |
I,J,K |
Параметры дуги при круговой интерполяции |
G03 X10 Y10 I0 J0 F10 |
L |
Вызов подпрограммы с данной меткой |
L12 P3 |
Вернуться назад
|