Войти
Портал компьютерных советов - Hiper-ru
  • Не включается компьютер: ПК включается и сразу выключается
  • Как добавить или убрать звуковую дорожку в программе Sony Vegas Удаление из dvd файлов ненужной звуковой дорожки
  •  не удается установить сетевое подключение Ошибка не удается установить соединение сервером
  • Как выгрузить контрагентов из 1с 8
  • Чтение файла, запись в файл
  • Как открыть банковскую карту: инструкция и рекомендации
  • G code команды. М-коды. G коды для ЧПУ

    G code команды. М-коды. G коды для ЧПУ
    Чтобы произвести обработку на станке с ЧПУ необходимо иметь управляющую программу (УП), которую можно написать вручную или автоматизировано с помощью CAM системы. Согласно ГОСТ20523-80 УП – это совокупность команд на языке программирования, соответствующая заданному алгоритму функционирования станка по обработке конкретной заготовки. Совокупность команд с заданным форматом и определенным набором правил функционирования, используемая для записи информации, называется кодом программирования . Например, буквенно-цифровой код БЦК5 использовался для записи информации на пятидорожечную перфоленту. Носители информации на основе перфоленты или перфокарт уже давно не используются, поэтому данный код также не актуален.

    Для программирования современного оборудования используется буквенно-цифровой код ИСО 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 – звуковой сигнал

    Благодарю Вас за внимание!