G-code | это... Что такое G-code? (original) (raw)
G-код — условное именование языка программирования устройств с числовым программным управлением (ЧПУ). Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980 года как стандарт RS274D. Комитет ISO утвердил G-код, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР — как ГОСТ 20999-83. В советской технической литературе G-код обозначается, как код ИСО 7-бит (ISO 7-bit), так как G-код для представления на перфоленте её кодировали на 8-ми дорожечную перфоленту в коде ISO 7-bit(разработан для представления информации УЧПУ в виде машинного кода также как и коды AEG и PC8C),восьмая дорожка использовалась для контроля чётности.
Производители систем УЧПУ(CNC)как правило используют софт управления станком,для которого написанная(оператором) программа обработки в качестве осмысленных команд управления используется G-код в качестве базового подмножества языка программирования, расширяя его по своему усмотрению.[1]
Содержание
- 1 Структура программы
- 2 Сводная таблица кодов
- 3 Таблица основных команд
- 4 Таблица технологических кодов
- 5 Параметры команд
- 6 См. также
- 7 Пример
- 8 Примечания
- 9 Ссылки
Структура программы
Программа, написанная с использованием G-кода, имеет жесткую структуру. Все команды управления объединяются в кадры — группы, состоящие из одной или более команд. Кадр завершается символом перевода строки (CR/LF) и имеет номер, за исключением первого кадра программы и комментариев. Первый (а в некоторых случаях ещё и последний) кадр содержит только один символ «%». Завершается программа командой M02 или M30. Комментарии к программе размещаются в круглых скобках, как после программных кодов, так и в отдельном кадре.
Порядок команд в кадре строго не оговаривается, но традиционно предполагается, что первыми указываются подготовительные команды, (например, выбор рабочей плоскости), затем команды перемещения, затем выбора режимов обработки и технологические команды.
Подпрограммы могут быть описаны после команды M02, но до M30. Начинается подпрограмма с кадра вида Lxx, где xx — номер подпрограммы, заканчивается командой M17.
Сводная таблица кодов
Основные (называемые в стандарте подготовительными) команды языка начинаются с буквы G:
- Перемещение рабочих органов оборудования с заданной скоростью (линейное и круговое)
- Выполнение типовых последовательностей (таких, как обработка отверстий и резьба)
- Управление параметрами инструмента, системами координат, и рабочих плоскостей
Подготовительные (основные) команды
Коды | Описание |
---|---|
G00-G03 | Позиционирование инструмента |
G17-G19 | Переключение рабочих плоскостей (XY, ZX, YZ) |
G20-G21 | Не стандартизовано |
G40-G44 | Компенсация размера различных частей инструмента (длина, диаметр) |
G53-G59 | Переключение систем координат |
G80-G85 | Циклы сверления, растачивания, нарезания резьбы |
G90-G91 | Переключение систем координат (абсолютная, относительная) |
Таблица основных команд
Команда | Описание | Пример |
---|---|---|
G00 | Ускоренное перемещение инструмента (холостой ход) | G0 X0 Y0 Z100 |
G01 | Линейная интерполяция | G01 X0 Y0 Z100 F200 |
G02 | Круговая интерполяция по часовой стрелке | G02 X15 Y15 R5 F200 |
G03 | Круговая интерполяция против часовой стрелки | G03 X15 Y15 R5 F200 |
G04 | Задержка выполнения программы, способ задания величины задержки зависит от реализации системы управления | G04 |
G15 | Отмена полярной системы координат | G15 X15 Y22.5; G15; |
G16 | Полярная система координат (X радиус Y угол) | G16 X15 Y22.5 |
G17 | Выбор рабочей плоскости X-Y | |
G18 | Выбор рабочей плоскости Z-X | |
G19 | Выбор рабочей плоскости Y-Z | |
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 |
G49 | Отмена компенсации длины инструмента | G49 Z100 |
G53 | Отключить смещение начала системы координат станка | G53 G0 X0 Y0 Z0 |
G54-G59 | Переключиться на заданную оператором систему координат | G54 G0 X0 Y0 Z100 |
G70 | Программировать в дюймах | G70 |
G71 | Программировать в мм | G71 |
G80 | Отмена циклов сверления, растачивания, нарезания резьбы метчиком и т. д. | G80 |
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 M29 X0 Y0 Z-10 R3 F1.411 |
G90 | Задание абсолютных координат опорных точек траектории | G90 G1 X0.5 Y0.5 F10 |
G91 | Задание координат инкрементально последней введённой опорной точки | G91 G1 X4 Y5 F100 |
G94 | F (подача) — в формате мм/мин. | G94 G80 Z100 |
G95 | F (подача) — в формате мм/об. | G95 G84 X0 Y0 Z-10 R3 F1.411 |
максимум 4 команды в кадре
Таблица технологических кодов
Технологические команды языка начинаются с буквы М. Включают такие действия, как:
- Сменить инструмент
- Включить/выключить шпиндель
- Включить/выключить охлаждение
- Работа с подпрограммами
Вспомогательные (технологические) команды
Код | Описание | Пример |
---|---|---|
M00 | Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемый «безусловный технологический останов» | G0 X0 Y0 Z100 M0 |
M01 | Приостановить работу станка до нажатия кнопки «старт», если включён режим подтверждения останова | G0 X0 Y0 Z100 M1 |
M02 | Конец программы, без сброса модальных функций | M02 |
M03 | Начать вращение шпинделя по часовой стрелке | M3 S2000 |
M04 | Начать вращение шпинделя против часовой стрелки | M4 S2000 |
M05 | Остановить вращение шпинделя | M5 |
M06 | Сменить инструмент | T15 M6 |
M07 | Включить дополнительное охлаждение | M3 S2000 M7 |
M08 | Включить основное охлаждение. Иногда использование более одного M-кода в одной строке (как в примере) недопустимо, для этого используются M13 и M14 | M3 S2000 M8 |
M09 | Выключить охлаждение | G0 X0 Y0 Z100 M5 M9 |
M13 | Включить охлаждение и вращение шпинделя по часовой стрелке | S2000 M13 |
M14 | Включить охлаждение и вращение шпинделя против часовой стрелки | S2000 M14 |
M17 | Конец подпрограммы | M17 |
M25 | Замена инструмента вручную | M25 |
M97 | Запуск подпрограммы, находящейся в той же программе (где P - номер кадра, в случае примера переход осуществится к строке N25), действует не везде, предположительно - только на станках HAAS | M97 P25 |
M98 | Запуск подпрограммы, находящейся отдельно от основной программы (где P - номер подпрограммы, в случае примера переход осуществится к программе O1015) | M98 P1015 |
M99 | Конец подпрограммы | M99 |
M30 | Конец программы, со сбросом модальных функций | M30 |
не больше одного кода в кадре
Параметры команд
Параметры команд задаются буквами латинского алфавита
Код | Описание | Пример |
---|---|---|
X | Координата точки траектории по оси X | G0 X100 Y0 Z0 |
Y | Координата точки траектории по оси Y | G0 X0 Y100 Z0 |
Z | Координата точки траектории по оси Z | G0 X0 Y0 Z100 |
P | Параметр команды | G04 P101 |
F | Скорость рабочей подачи | G1 G91 X10 F100 |
S | Скорость вращения шпинделя | S3000 M3 |
R | Параметр стандартного цикла или радиус дуги (расширение стандарта) | G81 R1 0 R2 −10 F50 или G1 G91 X12.5 R12.5 |
H | Параметр коррекции выбранного инструмента | G1 G41 D1 X10. F150. |
P | Число вызовов подпрограммы | L82 P10 |
I,J,K | Параметры дуги при круговой интерполяции | G03 X10 Y10 I0 J0 F10 |
L | Вызов подпрограммы с данной меткой | L12 |
См. также
- Языки программирования
- Металлорежущий станок
- Числовое программное управление
- Параметрическое программирование
Пример
Обработка буквы W (вписанной в прямоугольник 34х27 мм, см рис.) на условном вертикально-фрезерном станке с ЧПУ, фрезой диаметром 4 мм, в заготовке из органического стекла:
Красным цветом выделен результат обработки.
Кадр | Содержание | Комментарий |
---|---|---|
% | Начало программы | |
N1 | G90 G40 G17 | Система координат абсолютная, компенсация на радиус инструмента выключена, плоскость интерполяции XoY |
N2 | S500 M3 | Задать скорость вращения шпинделя и включить шпиндель |
N3 | G0 X2.54 Y26.15 | Переход в точку начала обработки на холостом ходу |
N4 | Z1.0 | Подход к заготовке по Z, недоходя 1 мм, на холостом ходу |
N4 | G1 Z-1.0 F100 | Врезание в заготовку на подаче 100 мм/мин |
N5 | X5.19 Y 2.0 | Первый штрих буквы W |
N6 | X7.76 | Продолжение движения |
N7 | X16.93 Y26.15 | Второй штрих буквы W |
N8 | X18.06 | Продолжение движения |
N9 | X25.4 Y2.0 | Третий штрих буквы W |
N10 | X25.96 | Продолжение движения |
N11 | X32.17 Y 26.15 | Четвертый штрих буквы W |
N12 | G0 Z12 | Отвод инструмента от заготовки на холостом ходу |
N13 | M5 | Выключить шпиндель |
N14 | M30 | Конец программы |
Примечания
Ссылки
- CAM расширение Inkscape для экспорта в G-code
- Симуляция работы программ на G-коде в реальном времени
- Real-Time 3D Graphics Simulation for G-code (англ.)
- Overview of canonical machining functions (англ.)
- SIMUL CNC (англ.)
- Руководство программиста ЧПУ Mazatrol с перечнем G-кодов
- Подборка ссылок на сайты редакторов визуализаторов G-кода
- Образовательный сайт по ЧПУ (CNC) программированию