Из-за широкого применения в станках ЧПУ электронных систем и элементов, их специфических особенностей и условий работы, в большой мере усложнились требования к условиям работы и настройки данных, повысилось значение грамотного персонала в техобслуживании и наладки. Одно из таких требований – это знание определённых языков/кодов, которые используется в программирование станка. В данной работе мы расскажем о G-коде.
Историческая часть
G-код(также может называться NC-код) – это условное название языка для программирования устройств с ЧПУ. Также данный язык является стандартным для многих моделей 3D-принтеров, где с помощью него можно управлять процессом печати. Файлы данного кода(GCODE) можно открыть в разных программах, например GCode Viewer, Simplify3D и даже в Блокноте. Так как содержимое языка – это простой текст.
Его первая реализация была разработана в лаборатории в конце 1950-х годов в Массачусетском технологическом институте. Впоследствии разные коммерческие и некоммерческие организации брали за основу именно этот код для своих новых проектов. Основная стандартизированная версия, используемая в США, была создана в 1960 году компанией Electronic Industries Alliance, но окончательно доработанная версия была одобрена в феврале 1980-х. Его представили как стандарт RS-274-D. В других европейских странах используют другие стандарты. Например, в Германии используется DIN66025, а в Польше PN-73M-55256 и PN-93. Также в Госкомитете по стандартом СССР этот код утвердили как ГОСТ 20999-83 (но в технической литературе обозначается как ИСО 7-бит, так как G код кодировался на 8 дорожечных перфолент).
G-код писался как ограниченный язык, в котором не было сложных процессов. Он был простым способом «соединить точки», когда программист вручную вычислял расположение многих точек, но впоследствии стал включать в себя возможности для высокого уровня программирования. И производители систем УЧПУ, стали использовать G-код в качестве базового подмножества языка программирования, расширяя его по своему усмотрению
Основные команды
Основные команды начинаются с буквы G (это буква является аббревиатурой от слова general). Используется до 4 кодов в кадре. Этот перечень команд может:
1)Перемещать рабочие инструменты оборудования с заданной скоростью по линейной и круговой траектории;
2)Выполнять простые действия (сверление, резьба и т.д.);
3)Управлять параметрами инструмента в системе координат и рабочей плоскости.
Также G-коды подразделяются на модальные (действия распространяются на последующие кадры) и немодальные (действия ограничиваются одним кадром).
Примеры некоторых G-кодов с расшифровкой:
Коды |
Назначение |
Описание |
G00-G03 |
Позиционирование инструмента |
G00-ускоренное перемещение инструмента на очень высокой скорости (не используется для обработки деталей); G01-перемещение по прямой траектории с заданной скоростью(линейная интерполяция); G02-перемещение по дуге окружности по часовой стрелки с определённой скоростью(круговая интерполяция по часовой стрелке); G03- перемещение по дуге окружности против часовой стрелки с определённой скоростью(круговая интерполяция против часовой стрелке). |
G17-G19 |
Переключение на разные рабочие плоскости (XY, ZX, YZ) |
G17-выбор рабочей плоскости XY; G18-выбор рабочей плоскости XZ; G19-выбор рабочей плоскости YZ. |
G20-G21 |
Не специализированы |
G20-режим работы в домовой системе; G21-режим работы в метрической системе. |
G40-G44 |
Компенсация размеров длины и диаметра инструментов |
G40-отмена компенсации радиуса для инструмента; G41-компенсация радиуса инструмента слева от траектории; G42-компенсация радиуса инструмента справа от траектории; G43-компенсация длины инструмента в положительную сторону(применяется для смены оборудования); G44-компенсация длины инструмента в отрицательную сторону. |
G53-G59 |
Переключение координатных систем |
G53-переключение в систему координат станка; G54-G59-переключение на выбранную оператором систему координат. |
G80-G84 |
Фазы нарезки резьбы, сверления, расточки |
G80-отмена всех циклов нарезания резьбы. растачивания, сверления т.д.; G81-цикл сверления; G82-цикл сверления с задержкой на дне отверстия; G83-период прерывистого сверления; G84-цикл нарезания резьбы. |
G90-G91 |
Переключение на относительные и абсолютные системы координат |
G90-переход на абсолютную систему координат (т.е. отсчет всех координат от постоянной нулевой точки); G91-переход на относительную систему координат опорных точек траектории(т.е. все координаты рассчитываются от предыдущей позиции задаются в виде приращений). |
Дополнительные коды
Вместе с G-кодами также используются М-коды – дополнительные коды (аббревиатура от слова miscellaneous). На разных станках CNC могут немного отличаться. Эти команды управляют рабочими органами и режимами оборудования с ЧПУ. Они используются одиночно или вместе с другими кодами. М-коды делятся на два вида:
-
Стандартные – они управляют устройствами, которыми оборудованы все станки (шпиндель, рабочие органы, системы охлаждения);
-
Специальные – они взаимодействуют с рабочими режимами на одном или сразу нескольких станках одинаковой модели (сжатие/разжатие поворотных осей, включение/выключение измерительной головки)
Примеры некоторых M-кодов с расшифровкой:
M00 |
Временная остановка станка |
M02 |
Завершение программы без стерания модальных настроек |
M03 |
Запуск шпинделя, вращение по часовой стрелке |
M04 |
Запуск шпинделя, вращение против часовой стрелке |
M05 |
Остановка оборотов шпинделя |
M06 |
Смена рабочего органа |
M08 |
Запуск основного охлаждения |
M09 |
Стоп основного охлаждения |
M17 |
Завершение подпрограммы |
M25 |
Ручная смена рабочего органа |
M98 |
Запуск подпрограммы отдельно от главной |
M99 |
Выключение подпрограммы |
M30 |
Завершение программы и откат всех настроек |
Параметры команд
Параметры команд задаются буквами латинского алфавита и используются вместе с G и M кодами при программировании станка с ЧПУ:
-
Перемещение инструмента в декартовых плоскостях- X,Y,Z;
-
Частота вращения шпинделя в об/мин-S
-
Настройка подачи инструмента-F
-
Номерное значение кадров в программе управления-N
-
Метка подпрограммы c номером-O
-
Номер инструмента, который требуется поставить на замену в патроне-T
-
R-радиус, но в повторяющихся циклов-расстояние отвода инструментов, а в команде вращения-угол поворота и радиус дуги в системе координат.
-
Показатель компенсации для длины инструмента-H
-
Пропуск кадра, который не надо исполнять-/
-
Указание смещения по осям X,Y,Z-I,J,K
Пример небольшой программы с использованием G-кода
N1 G0 X0 Y0
N2 X12. Y13.
N3 G1 X15. Y15. F200
N4 X40. Y15.
N5 X40. Y35.
N6 X15. Y35.
N7 X15. Y60.
N8 X40. Y60.
N9 Z5.
N10 G0 X15. Y60.
N11 X15. Y35.
N12 Z-5.
N13 G1 X15. Y15.
N14 Z5.
N15 G0 X0 Y0
N16 M2