Программирование обработки на современных станках с ЧПУ осуществляется на языке, который обычно называют языком ИСО (ISO) 7 бит, или языком G- и М-кодов. Коды с адресом G, называемые подготовительными, определяют настройку СЧПУ на определенный вид работы. Коды с адресом М называются вспомогательными и предназначены для управления режимами работы станка.
Например, если программист хочет, чтобы инструмент перемещался по прямой линии, он использует G01. А если необходимо произвести смену инструмента, то в программе обработки он указывает М06.
Для управления многочисленными функциями станка с ЧПУ применяется довольно большое число различных кодов. Тем не менее, изучив набор основных G- и М-кодов, вы легко сможете создать управляющую программу.
В табл. 5.1 приведен список базовых кодов, которые мы подробно рассмотрим в этой и последующих главах. А в главе «Справочник G- и М-кодов» вы найдете подробное описание всех стандартных кодов и примеры их использования.
Таблица 5.1. Базовые коды программирования обработки
Код (функция) | Назначение и пример кадра с кодом |
---|---|
Осевое перемещение | |
G00 | Ускоренный ход – перемещение на очень высокой скорости в указанную точку G00 X10. Y20. Z25. |
G01 | Линейная интерполяция – перемещение по прямой линии на указанной скорости подачи G01 X10. Y20. F100 |
G02 | Круговая интерполяция – перемещение по дуге по часовой стрелке на указанной скорости подачи G02 X10. Y20. R10. F100 |
G03 | Круговая интерполяция – перемещение по дуге против часовой стрелки на указанной скорости подачи G03 X10. Y20. R10. F100 |
Настройка | |
G20 | Ввод дюймовых данных G20 G00 X10. Y20 |
G21 | Ввод метрических данных G21 G00 X10. Y20 |
G90 | Абсолютное позиционирование – все координаты отсчитываются от постоянной нулевой точки G90 G00 X10. Y20 |
G91 | Относительное позиционирование – все координаты отсчитываются от предыдущей позиции G91 G00 X10. Y20 |
Обработка отверстий | |
G81 | Цикл сверления G81 X10. Y20. Z-5. F30 |
G82 | Цикл сверления с задержкой на дне отверстия G82 X10. Y20. Z-5. R1. P2. F30 |
G83 | Прерывистый цикл сверления G83 X10. Y20. Z-5. Q0.25 R1. F30 |
G85 | Цикл растачивания отверстия G85 X10. Y20. Z-5. F30 |
Вспомогательные коды (функции) | |
M00 | Запрограммированный останов – выполнение программы временно прекращается |
M01 | Запрограммированный останов по выбору – выполнение программы временно прекращается, если активирован режим останова по выбору |
М03 | Прямое вращение шпинделя – шпиндель вращается по часовой стрелке |
М04 | Обратное вращение шпинделя – шпиндель вращается против часовой стрелки |
М05 | Останов шпинделя |
М06 | Автоматическая смена инструмента М06 Т02 |
M08 | Включение подачи охлаждающей жидкости |
M09 | Выключение подачи охлаждающей жидкости |
M30 | Конец программы, перевод курсора к началу программы |
Программирование систем числового программного управления (ЧПУ) производится посредством G-кода.
G-код - общее название языка программирования, регламентированного
стандартом ISO 6983-1:1982, стандартом ГОСТ 20999-83.
В технической литературе
Советского Союза G-код именуется, как код ИСО 7-бит (ISO 7-bit).
Несмотря на общую регламентацию, G-код имеет множество реализаций и дополнений, вводимых, в основном, разработчиками аппаратных устройств систем числового программного управления, что тем не менее не мешает ему оставаться главным стандартом в отрасли.
В целом программа, написанная с использованием G-кода, состоит из кадров, каждый кадр содержит набор команд управления.
Команды управления могут следовать в кадре в любом порядке, но обычно в целях удобства прочтения управляющей программы системы числового программного управления, сначала идут подготовительные команды, затем команды управления перемещением режущего инструмента, следом команды выбора режимов обработки материала и завершают кадр - технологические команды.
Начинается и
заканчивается текст управляющей программы символом «%».
Далее может следовать
название программы после символа «O».
Комментарии в тексте управляющей программы
размещаются либо в круглых скобках, либо предваряются символом «;».
Каждая управляющая команда может иметь один или несколько параметров, которые обозначаются буквами латинского алфавита.
G-код позволяет использовать следующие основные параметры для управляющих команд:
X - координата точки траектории по оси X (например, ),
Y - координата точки траектории по оси Y (например, ),
Z - координата точки траектории по оси Z (например, G01 X25.4 Y2.3 Z0.2),
P - параметр (например, P120),
(например, G01 X10.5 F75),
S - скорость вращения шпинделя (например, S1500 M3),
R - параметр стандартного цикла или радиус дуги,
H - параметр коррекции выбранного инструмента,
I,J,K - параметры дуги при круговой интерполяции (например, ).
Основные команды
Команда G15 - отмена полярной системы координат.
Команда G16 - назначение полярной системы координат (X радиус, Y угол).
Команды G54-G59 - переключение на заданную оператором систему координат.
Команда G80 - отмена циклов сверления, растачивания, нарезания резьбы метчиком и т. д.
Команда G81 - цикл сверления.
Команда G82 - цикл сверления с задержкой.
Команда G83 - цикл прерывистого сверления (с полным выводом сверла).
Команда G84 - цикл нарезания резьбы.
Команда G97 S (скорость) - задание частоты вращения шпинделя с помощью S-слова.
Основные вспомогательные (технологические) команды
Команда M03 - начало вращения шпинделя по часовой стрелке.
Команда M04 - начало вращения шпинделя против часовой стрелки.
Команда M05 - остановка вращения шпинделя.
Команда M06 - смена инструмента.
Команда M07 - включение дополнительного охлаждения.
Команда M08 - включение основного охлаждения.
Команда M09 - выключение охлаждения.
Команда M13 - выключение охлаждения и вращения шпинделя по часовой стрелке.
Команда M14 - выключение охлаждения и вращения шпинделя против часовой стрелки.
Команда M17 - конец подпрограммы.
Команда M25 - ручная замена инструмента.
Примеры различных управляющих программ для станков с числовым программным управлением представлены
При написании и отладке управляющих программ для станков с числовым программным управлением можно использовать приложение , автоматически создающее управляющие программы для станков с системами ЧПУ после ввода всех необходимых параметров и геометрических размеров.
В настоящее время для программирования систем ЧПУ используется множество языков программирования, в основе которых лежит универсальный язык ИСО 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 – выключить зажимы. На другом оборудовании производитель станка может данные команды настроить на управление другими устройствами.
Специальные вспомогательные функции производитель станка описывает в соответствующей технической документации.
Чтобы произвести обработку на станке с ЧПУ необходимо иметь управляющую программу (УП), которую можно написать вручную или автоматизировано с помощью 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
- конец программы, модальные функции отменяются;
В следующих главах рассмотрим некоторые функции подробно.
На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют "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 | Ускоренное перемещение инструмента (холостой ход) | 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 | Цикл нарезание резьбы | |
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; |