G code команды. М-коды. G коды для ЧПУ
Для программирования современного оборудования используется буквенно-цифровой код ИСО 7 бит (ISO 7 bit) , разработанный в начале 60-х годов компанией Electronic Industries Alliance с финальной доработкой в начале 80-х годов. Также известен как G или CNC код. В СССР регламентировался ГОСТ 20999-83.
Основные единицы данного кода – G и M команды.
G – называются подготовительными и определяют режим и условия работы станка и системы ЧПУ. Стандартные подготовительные функции лежат в диапазоне G00-G99.
G00...G09
– команды общего порядка, позиционирование, линейная или круговая интерполяция;
G10...G39
– особенности непрерывной обработки; выбор осей, плоскостей, видов интерполяции;
В таблице ниже приведены основные подготовительные функции.
G00
– ускоренное перемещение (холостой ход);
G01
– линейное перемещение (рабочий ход);
G02
– круговая интерполяция с движением по часовой стрелке;
G03
- круговая интерполяция с движением по против часовой стрелки;
G04
– останов выполнения программы на заданное время;
G17
– рабочая плоскость XY;
G18
– рабочая плоскость XZ;
G19
– рабочая плоскость YZ;
G40
– отмена коррекции на радиус инструмента;
G41
– коррекция на радиус инструмента слева от контура;
G42
- коррекция на радиус инструмента справа от контура;
G43
– коррекция на длину инструмента положительная;
G44
– коррекция на длину инструмента отрицательная;
G49
– отмена коррекции на длину;
G53
- программирование в системе координат станка;
G54...G59
– установка рабочей системы координат;
G70
– программирование перемещений в дюймах;
G71
– программирование перемещений в мм;
G80
– отмена циклов сверления;
G81...G89
– циклы сверления;
G90
– задание перемещений в абсолютных координатах;
G91
– задание перемещений в приращениях от предыдущего значения;
G94
- задание скорости перемещения (подачи) в мм/мин;
G95
- задание скорости перемещения (подачи) в мм/об;
G97
- обороты в минуту;
Между собой G-коды выделяются в отдельные группы , в пределах которых действие одной функции может отменяться другой, например ускоренное перемещение G00 действует до тех пор, пока в программе не встретится другая функция этой группы G01, G02 или G03. Не допускается использование в одном кадре нескольких функций из одной группы.
Функции с адресом (префиксом) M – называются вспомогательными и предназначены для управления различными устройствами станка, например вкл/выкл шпиндель, охлаждение и т.д.
M00
– программируемый останов, без потери информации;
M02
– конец программы, модальные функции сохраняются;
M03
– вкл. шпинделя по часовой стрелке;
M04
- вкл. шпинделя против часовой стрелке;
M05
– выкл. шпинделя;
M06
– сменить инструмент;
M08
– вкл. охлаждение;
M09
– выкл. охлаждение;
M10
– зажим поворотной оси;
M11
– разжим поворотной оси;
M30
- конец программы, модальные функции отменяются;
В следующих главах рассмотрим некоторые функции подробно.
В настоящее время для программирования систем ЧПУ используется множество языков программирования, в основе которых лежит универсальный язык ИСО 7 бит. Однако каждый производитель вносит свои особенности, которые реализуются через подготовительные (G-коды) и вспомогательные (M-коды) функции.Функции с адресом G – называются подготовительными , они определяют условия работы станка связанные с программированием геометрии перемещения инструмента. Подробное описание G-кодов можно найти в главе код ИСО 7 бит .
В данной главе подробно рассмотрим назначение вспомогательных функций.
Функции с адресом M – называются вспомогательными (от анг. Miscellaneous) и предназначены для управления различными режимами и устройствами станка.
Вспомогательные функции могут использоваться одиночно или совместно с другими адресами, например, кадр ниже производит установку инструмента с номером 1 в шпиндель.
N10 T1 M6, где
T1
– инструмент номер 1;
M6
– смена инструмента;
В данном случае под командой М6 на стойке ЧПУ скрывается целый набор команд, которые обеспечивают процесс замены инструмента:
Перемещение инструмента в позицию смены;
- выключение оборотов шпинделя;
- перемещение устанавливаемого инструмента в магазине;
- замена инструмента;
Использование М-кодов допускается в кадрах с перемещением инструмента, например в строке ниже охлаждение включится (M8) одновременно с началом движения фрезы.
N10 X100 Y150 Z5 F1000 M8
М-коды, включающие какое-либо устройство станка, имеют парный М код, который это устройство выключает. Например,
M8
– включить охлаждение, M9
– выключить охлаждение;
M3
– включить обороты шпинделя, M5
– выключить обороты;
Допускается использование нескольких М команд в одном кадре.
Соответственно чем больше устройств имеет станок, тем больше М команд будет задействовано в его управлении.
Условно все вспомогательные функции можно разделить на стандартные и специальные . Стандартные вспомогательные функции используются производителями ЧПУ для управления устройствами, имеющимися на каждом станке (шпиндель, охлаждение, смена инструмента и т.д.). Тогда как специальные программируют режимы на одном конкретном станке или группе станков данной модели (вкл/выкл измерительную головку, зажим/разжим поворотных осей).
На картинке выше представлен поворотный шпиндель многоосевого станка. Для увеличения жесткости при позиционной обработке станок оснащен зажимами поворотных осей, которые управляются М кодами: M10/M12 – включить зажимы для осей A и С. М11/М13 – выключить зажимы. На другом оборудовании производитель станка может данные команды настроить на управление другими устройствами.
Список стандартных М команд
M0 – останов программы;M1 – останов по требованию;
M2 – конец программы;
M3 – включить обороты шпинделя по часовой стрелке;
M4 – включить обороты шпинделя против часовой стрелки;
M5 – останов шпинделя;
M6 – автоматическая смена инструмента;
M8 – включить охлаждение (как правило СОЖ);
M9 – выключить охлаждение;
M19 – ориентация шпинделя;
M30 – завершение программы (как правило со сбросом всех параметров);
M98 – вызов подпрограммы;
M99 – возврат из подпрограммы в основную;
Специальные вспомогательные функции производитель станка описывает в соответствующей технической документации.
М00 – запрограммированный останов. Когда СЧПУ исполняет команду М00, то происходит так называемый запрограммированный останов. Все осевые перемещения останавливаются и возобновляются лишь после того, как оператор станка нажмет клавишу Старт цикла на панели УЧПУ. При этом шпиндель продолжает вращаться (у большинства станков) и другие функции остаются активными. Если оператор станка нажимает клавишу Старт цикла, то выполнение программы будет продолжено с кадра, следующего за М00.
М01 – останов по выбору. Код М01 предназначен для останова по выбору. Действует он аналогично коду М00, однако предоставляет выбор оператору – нужно или не нужно прерывать выполнение управляющей программы. На панели УЧПУ практически любого станка имеется клавиша (или переключатель) М01. Если эта клавиша нажата, то при чтении кадра с М01 происходит останов. Если же клавиша не нажата, то кадр М01 пропускается и выполнение УП не прерывается.
М02 – конец программы. Код М02 информирует СЧПУ о завершении программы.
М03 – прямое вращение шпинделя. При помощи кода М03 включается прямое (по часовой стрелке) вращение шпинделя с запрограммированным числом оборотов (S-слово). Команда М03 остается действующей до тех пор, пока она не будет отменена с помощью М04 или М05.
М04 – обратное вращение шпинделя. При помощи кода М04 включается обратное (против часовой стрелки) вращение шпинделя с запрограммированным числом оборотов (S-слово). Команда М04 остается действующей до тех пор, пока она не будет отменена с помощью М03 или М05.
М05 – останов шпинделя. Команда М05 останавливает вращение шпинделя, но не останавливает осевые перемещения (за исключением режима G95).
М06 – автоматическая смена инструмента. При помощи команды М06 инструмент, закрепленный в шпинделе, меняется на инструмент, находящийся в положении готовности в магазине инструментов.
М07 – включение подачи СОЖ в распыленном виде. Команда М07 включает подачу СОЖ в зону обработки в распыленном виде, если станок обладает такой возможностью.
М08 – включение подачи СОЖ. Команда М08 включает подачу СОЖ в зону обработки в виде струи.
М09 – выключение подачи СОЖ. Команда М09 выключает подачу СОЖ и отменяет команды М07 и М08.
М19 – юстировка шпинделя. При помощи команды M19 осуществляется радиальная юстировка шпинделя (поворот в определенное положение), чтобы выставить приводной носик шпинделя на позицию смены инструмента. В этом положении шпиндель обычно зажимается и его не провернуть рукой.
М20 – отмена юстировки шпинделя. При помощи команды М20 отменяется команда юстировки шпинделя М19.
М30 – конец программы. Код М30 информирует СЧПУ о завершении программы.
М98 – вызов подпрограммы. Команда М98 предназначена для вызова подпрограммы. Вместе с этой командой программируется Р-слово данных, которое обозначает номер вызываемой подпрограммы.
Пример:
М98 Р1001 – вызвать подпрограмму О1001.
М99 – конец подпрограммы. При помощи команды М99 по окончании подпрограммы осуществляется возврат к главной программе, из которой была вызвана подпрограмма.
Управляющая программа для ЧПУ станка состоит из последовательности кадров и обычно начинается с символа начало программы (%) и заканчивается М02 или М30.
Каждый кадр программы представляет собой один шаг обработки и (в зависимости от ЧПУ) может начинаться с номера кадра (N1...N10 и т.д.), а заканчиваться символом конец кадра (;).
Кадр управляющей программы состоит из операторов в форме слов (G91, M30, X10. и т.д.). Слово состоит из символа (адреса) и цифры, представляющее арифметическое значение.
Адреса X, Y, Z, U, V, W, P, Q, R, A, B, C, D, E являются размерными перемещениям, используют для обозначения координатных осей, вдоль которых осуществляются перемещения.
Слова, описывающие перемещения, могут иметь знак (+) или (-). При отсутствии знака перемещение считается положительным.
Адреса I, J, K означают параметры интерполяции.
G - подготовительная функция.
M - вспомогательная функция.
S - функция главного движения.
F - функция подачи.
T, D, H - функции инструмента.
Символы могут принимать другие значения в зависимости от конкретного УЧПУ.
Подготовительные функции (G коды)
На исполнение G-код запускается в программах управления станком
Добрый день Уважаемые читатели!
Программа, написанная с использованием G-кода, имеет жесткое строение.
Все команды управления объединяются в кадры - состоящие из одной или более команд.
Кадр завершается символом перевода строки (CR/LF).
Порядок команд в кадре строго не оговаривается, но традиционно предполагается, что первыми указываются подготовительные команды, затем команды перемещения, затем выбора режимов обработки и технологические команды.
Если говорить коротко, то наш ПК через USB, просто посылают команды на порт принтера (микроконтроллера), а принтер без прикословно их выполняет.
Немного забегая вперед скажу, что G-код для принтера местами отличается от привычного G-кода. Какие-то команды были переделаны под нужды принтера, какие-то были удалены, какие-то вообще не используются, но в целом все очень похоже.
Описание команд будет производится для прошивки MARLIN , возможно будет работать и на других прошивках.
Будут рассмотрены самые только самые основные команды (рабочий минимум), в поисках экзотики, можно пройти по ссылке .
Сами команды делятся на группы:
G - Подготовительные (основные) команды;
М - Вспомогательные (технологические) команды.
Эти команды имеют параметры.
X - Координата точки траектории по оси X [G0 X100 Y0 Z0 ]
Y - Координата точки траектории по оси Y [G0 X0 Y100 Z0 ]
Z - Координата точки траектории по оси Z [G0 X0 Y0 Z100 ]
E - Координата точки выдавливания пластика [G1 E100 F100 ]
P - Параметр команды [M300 S5000 P280 ]
S - Параметр команды [G04 S15 ]
F - Параметр команды, подача (скорость) [G1 Y10 X10 F1000 ]
G - команды
G0 - Холостой ход, без работы инструмента [G 0 X 10 ]
G1 - Координированное движение по осям X Y Z E [G 1 X 10 ]
G4 - Пауза в секундах [G4 S15 ]
G28 - Команда Home - паркуем головку [G28 Y0 X0 Z0 ]
G90 - Использовать абсолютные координаты [G90 ]
G91 - Использовать относительные координаты [G91 ]
G92 - Установить текущую заданную позицию [G92 ]
Пояснение:
Относительные координаты - это координаты относительно текущего положения головки.
На пример, если головка находиться в положении X10 Y10, то при подаче команды G91
G1 X10 F1000 , произойдет смещение головы на 10 мм по оси Х на скорости 1000.
Эту команду можно делать много раз, до достижения «софтового» ограничение в прошивке.
Абсолютные координаты - это координаты, строго привязанные к рабочей области.
При выполнении команды G90 G1 X10 F1000 - головка сместиться в координату X10 на скорости 1000.
Команда выполниться только один раз.
Обычные команды
M0 - Сделать паузу и ожидать нажатия кнопки на LCD дисплеи (работает если в прошивку установлен параметр ULTRA_LCD) [G0 X10 Y10 Z10 M0 ]
M17 - Подать ток на двигатели (двигатели руками не вращаются)
M18 - Убрать ток с двигателей (двигатели можно вращать руками, аналог M84)
M42 - Управление контактами ARDUINO MEGA 2560 [M42 P4 S255 ]
M80 - Включить питание, только для ATX - блок питания
M81 - Выключить питания, только для ATX - блок питания
M84 - Выключение всех осей (моторов после простоя) [M84 S10 ]
М112 - Экстренная остановка
M114 - Получить текущие координаты
M115 - Получить версию прошивки
M117 - Написать сообщение на экране [M117 Hello World ]
M119 - Получить статус концевиков
M300 - Проиграть звук [M300 S5000 P280 ]
Команды SD карты
M21 - Инициализировать SD карту
M22 - Использовать SD карту
M23 - Выбрать файл с SD карты [M23 filename.gcode ]
M24 - Начать/возобновить печать с SD карты
M25 - Пауза печати с SD карты
M26 - Установить позицию SD карты в байтах [M 26 S 12345 ]
M27 - Узнать статус печати с SD карты
M28 - Записать файл на SD карту [M 28 filename . gcode ]
M29 - Закончить записать файла на SD карте
M30 - Удалить файл с SD карты [M 30 filename . gcode ]
M31 - Получить значение, сколько прошло времени с последнего M109
M32 - Выбрать файл с SD карты и начать печатать [M 32 / path / filename # ]
M928 - Логирование на SD карту [M 928 filename . gcode ]
Экструдер
M82 - Установить экструдер в абсолютную систему координат
M83 - Установить экструдер в относительную систему координат
M104 - Ожидание нагрева экструдера до определенной температуры [M104 S190 ]
M105 - Получить текущую температуру экструдера [M105 S2 ]
M106 - Включение вентилятора обдува детали [M106 S127 ] - мощность 50%
M107 - Выключение вентилятора обдува детали [M 107 ]
M109 - Нагреть экструдер и удерживать температуру [M109 S215 ]
Стол
M140 - Установить температуру стола [M140 S65 ]
M190 - Нагреть стол и удерживать температуру [M190 S60 ]
В Pronterface можно включить режим ответа в меню Settings / Debug communications , программа будет писать все ответы от принтера.
Можно дописать в слайсерах (Slic3r и Cura) в начале и в конце G-код файла.
Или открыть файл с G-кодом в блокноте и написать все руками. =)
M190 S60 - включаем нагрев стола и ждём, пока он не нагреется до температуры 60 градусов
M109 S210 - включаем нагрев сопла и ждём, пока оно не нагреется до температуры 210 градусов
G21 - устанавливает метрическую систему координат
G90 - устанавливает абсолютную систему координат
M82 - устанавливает абсолютную систему координат для экструдера
M107 - выключаем обдув детали
M300 S5000 P280 – звуковой сигнал
G28 X0 Y0 - команда Home X Y
G28 Z0 - команда Home Z
G1 X100 Y100 Z5 F1000 - центруем сопло относительно стола
G92 E0 - обнуляет количество выдавленного пластика
G1 F300 E4 - выдавливаем 4 мм пластика со скоростью 300 мм
M117 Printing - выводит сообщение на экран
M106 S125 - включаем обдув детали со скоростью 50%
G1 Z0 - опускаем сопло на 0 мм
G1 X96.11 Y110.92 E87.55
G1 Z0.2 - поднимаем сопло на 0.2 мм
G1 X96.11 Y111.00 E89.60 - ездим по координатам и выдавливаем пластик
M140 S50 - изменяем температуру стола
G1 Z4.8 - поднимаем сопло на 4.8 мм
G1 X96.11 Y110.92 E87.55 - ездим по координатам и выдавливаем пластик
G1 Z5 - поднимаем сопло на 5 мм
G1 X96.11 Y111.00 E89.60 - ездим по координатам и выдавливаем пластик
G91 - устанавливает относительную систему координат
G1 E-5 F200 - всасывание экструдером 5 мм прутка
M104 S0 - отключением нагрев экструдера
M140 S0 - отключением нагрев стола
M107 - выключаем обдув детали
M84 - выключаем шаговые двигатели
M300 S5000 P280 – звуковой сигнал
Благодарю Вас за внимание!
- Не включается компьютер: ПК включается и сразу выключается
- Как добавить или убрать звуковую дорожку в программе Sony Vegas Удаление из dvd файлов ненужной звуковой дорожки
- не удается установить сетевое подключение Ошибка не удается установить соединение сервером
- Как выгрузить контрагентов из 1с 8
- Чтение файла, запись в файл
- Как открыть банковскую карту: инструкция и рекомендации
- Ностальгия по HTC HD2 Описание htc hd2 wm 6