G-коды. Быстро и без проблем создаём G-коды рельефа в программе Bmp2Cnc Команды g code для чпу
Программирование систем числового программного управления (ЧПУ) производится посредством 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 - ручная замена инструмента.
Примеры различных управляющих программ для станков с числовым программным управлением представлены
При написании и отладке управляющих программ для станков с числовым программным управлением можно использовать приложение , автоматически создающее управляющие программы для станков с системами ЧПУ после ввода всех необходимых параметров и геометрических размеров.
На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют "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; |
В погоне за мощными постт процесорами - CAM-приложениями станочники не замечают недорогой, доступный и легкий в применении и изучении программмный продукт. На всех форумах, куча вопросов умным гуру - как разобраться в настройках универсальных программ, рыская по интернету в поисках взломанных копий дорогих программам, мы почему-то не задумываемся, что легче приобрести недорогой программмный продукт и честно и законно, а что важно - и весьма эффективно, применять его на своем оборудовании.
Всё большее распространение сейчас получают домашние хоббийные и самодельные или ретрофитные станки с ЧПУ или станки конструкторы. С программой управления обычно всё понятно - это MACH, практически, нет альтернатив. А с выбором пост-процессора у домашнего мастера обычно возникают проблеммы.
Рассмотрим использование станка с ЧПУ для создания несложного барельефа.
Недорогое решение вопроса G-кода для этой цели - простая и удобная программа Bmp2Cnc.
G-кодовую управляющую программу (УП G-кодов) Bmp2Cnc создает по полутоновому изображению. В программу также можно закачать и цветную фотографию: есть возможность конвертирования цветной картинки в полутоновую, но мы здесь для примера будем применять уже готовый черно-белый рисунок:
Разберём работу с программой по шагам.
Итак, загружаем картинку в программу . Меняем размер изображения на тот, который соответствует размеру будущей барельефа. Вводим значение 100 мм в окошко "Ширина" и, если в чекбоксе ниже стоит птичка, высота картинки изменяется с тем же масштабом:
Далее выбираем ноль. Проще всего за начало координат УП принимать левый нижний угол картинки. Почему? Удобство заключается в том, что габариты барельефа будут в дальнейшем понятнее отображаться в программе управления Mach3, легче далее будет манипулировать управляющей программой - масштабировать деталь, зацикливать, т.е. выполнять несколько одинаковых обработок одной управляющей программой на одной заготовке, и так далее:
Наступает самый интересный момент. Сейчас мы увидим деталь в объеме. В секции "Глубина" мы задаем глубины для белого и черного цвета изображения. Для нашей барельефа размерами 100 на 100 устанавливаем глубину для самого темного оттенка черного сначала 10 мм, нажимаем кнопку "Применить". Через секунду мы видим полученный рельеф в окне графической визуализации:
Нужно добавить еще объему? Задаем глубину 15 мм. Теперь деталь смотрится достаточно объемно:
В следующем диалоге bmp2cnc выбираем подходящий для нашей системы постпроцессор - Mach2-3 в миллиметрах и переходим к выбору инструмента :
Подбираем подходящую фрезу с острым носиком, которая будет достаточно чисто обрабатывать нашу деталь:
Выбирая диаметр инструмента - фрезы и иту параллельных проходов, не стоит увлекаться и задавать слишком высокие параметры - иначе обработка растянется на часы или даже сутки! Здесь лучше пойти на компромисс, пусть деталь получится слегка шершавой, в конце концов, пройтись шкуркой, в любом случае, придется (так как исходная картинка была невысокого качества), зато станок выполнит обработку гораздо быстрее:
Число проходов по глубине можно задать любое в зависимости от твердости материала, качества инструмента и т.д.
Здесь в шестом диалоге программы есть очень полезная функция, которая, кстати, в других маститых программах и реализуется "со скрипом". Нажатием одной кнопки можно отсечь лишние для обработки плоскости, чем существенно укоротить время обработки. Мы отсекаем нижнюю плоскость - и наша модель принимает окончательный вид :
Нажатие кнопки "Вычислить" - и мы видим полученные траектории обработки. В отдельном окошке - готовая управляющая программа:
Далее можно запустить имитацию обработки . Анимированный инструмент-фреза на экране программы будет перемещаться по созданным в Bmp2Cnc траекториям, предоставляя нам прекрасную визуализацию работы станка:
Вот и всё . Файл УП G-кодов можно отдавать на станок, а результаты работы можно сохранить как Bmp2Cnc-проект для последующих обращений и изменений, или как Stl или Dxf модель.
Готовая УП G-кодов загружена в Mach3:
Код G | Группа | Функция |
G00* | 01 | Позиционирование (ускоренный ход) |
G01 | 01 | Линейная интерполяция (подача на врезание) |
G02 | 01 | Круговая интерполяция против часовой стрелки |
G03 | 01 | Круговая интерполяция по часовой стрелке |
G04 | 00 | Выдержка (пауза) |
G10 | 00 | Ввод данных программы |
G11 | 00 | Ввод данных программы- конец режима |
G18* | 16 | Выбор плоскости ZpXp |
G20 | 01 | Черновой цикл за один проход |
G21 | 01 | Цикл нарезания резьбы за один проход |
G22* | 09 | Запомненный предел перемещения оси активизирован |
G24 | 01 | Цикл подрезания торца за один проход |
G28 | 00 | Возврат к референтной точке |
G30 | 00 | Возврат к базовым 2-й, 3-й и 4-й точке |
G33 | 01 | Нарезание резьбы |
G34 | 01 | Нарезание резьбы с переменным шагом |
G40* | 07 | Окончание компенсация радиуса инструмента |
G41 | 07 | Компенсация радиуса инструмента справа |
G42 | 07 | Компенсация радиуса инструмента слева |
G52 | 00 | |
G53 | 00 | Создание локальной системы координат |
G53 | 00 | Создание станочной системы координат |
G54* | 14 | Выбор системы координат детали 1 |
G55 | 14 | Выбор системы координат детали 2 |
G56 | 14 | Выбор системы координат детали 3 |
G57 | 14 | Выбор системы координат детали 4 |
G58 | 14 | Выбор системы координат детали 5 |
G59 | 14 | Выбор системы координат детали 6 |
G65 | 00 | Макровызов |
G66 | 12 | Модальный макровызов |
G67* | 12 | Окончание модального макровызова |
G70 | 06 | Ввод размеров в дюймах |
G71 | 06 | Ввод размеров в мм |
G72 | 00 | Цикл чистовой обработки |
G73 | 00 | Цикл черновой обработки с несколькими проходами |
G74 | 00 | Цикл подрезки торца с несколькими проходами |
G75 | 00 | Цикл повторения профиля с несколькими проходами |
G76 | 00 | Цикл сверления с с удалением стружки в конце |
G77 | 00 | Цикл сверления наружного/внутреннего диаметра |
G78 | 00 | Цикл для многозаходной резьбы |
G80* | 10 | Отмена цикла сверления |
G83 | 10 | Цикл радиального сверления |
G84 | 10 | Цикл осевого нарезания резьбы |
G86 | 10 | Цикл радиального сверления |
G90* | 03 | Программирование в абсолютных величинах |
G91 | 03 | Программирование в приращениях |
G92 | 00 | Установка координатной системы или макс, скорости вращения шпинделя |
G94 | 05 | Подача в мм/мин |
G95* | 05 | Подача в мм/оборот |
G96 | 02 | Включение постоянной скорости резания |
G97* | 02 | Выключение постоянной скорости резания |
G98 | 11 | Возврат к начальной плоскости цикла сверления |
G99 | 11 | Возврат к плоскости точки R цикла сверления |
G112 | 21 | |
G113 | 21 | |
G112 | 21 | Режим интерполяции в полярных коодинатах |
G113 | 21 | Аннулирование режима интерполяции в полярных коодинатах |
Функции G - это подготовительные функции, которые отражают вид перемещения станка, режим интерполяции и тип размеров. Существует два типа функций G:
Не модальные функции G группы 00, которые активны только в каждом кадре;
Модальные функции G (другие, чем те, которые относятся к труппе 00), действие которых продолжается до тех пор, пока они заменятся другими функциями той же группы.
Функции G, отмеченные звездочкой (*) являются активными при включении станка или после сброса числового управления (RESET).
Если какая-либо функция G запрограммирована, но она не входит в приведенный перечень или если она не соответствует ни одной из деблокированных опций, тогда будет индицироваться аварийное сообщение номер 010.
Многие функции G можно программировать в одном и том же кадре, однако, они не должны принадлежать к одной и той же группе. Если функции G одной и той же группы имеются в одном кадре, тог-да будет отрабатываться только последняя.
G00 - Позиционирование на ускоренном ходу. Инструмент перемещается взапрограммированную координату,заданную либо в абсолютных величинах, либо в приращениях. Вид перемещения инструмента может определяться параметром станка.
нелинейное перемещение происходит отдельно по каждой оси X и Z, траектория движения инструмента не прямая.
линейное траектория инструмента - это линейная интерполяция как при С01.
Позиционирование происходит на подаче, которая требует минимального времени перемещения, но при этом не превышает величины ускоренного хода каждой оси.
G01 - линейная интерполяция (рабочая подача). Данная функция управляет линейным перемещением инструментов. Она может задаваться как в абсолютных величинах, так и в приращениях.
Скорость подачи задаётся функцией F...
G02 - круговая или винтовая интерполяция против часовой стрелки.
G03 - круговая или винтовая интерполяция по часовой стрелке.
Направления перемещения, которое вызывается данными функциями в плоскости ZX. Некоторые коды могут отличатся у разных производителей систем ЧПУ , но это редкость.
Программирование обработки на современных станках с ЧПУ осуществляется на языке, который обычно называют языком ИСО (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 | Конец программы, перевод курсора к началу программы |