G программирование. Описание G-кодов. Расшифровка основных G кодов для ЧПУ


Данная статья не дописана и требует до- или, даже, переработки. Примеры и данные в этой статье могут быть не проверены, тесты не отлажены, а информация не действительна. Я постараюсь, чтобы таких статей было по-меньше, но пока они есть . Смотрите: NikiWiki:Отказ от ответственности

Поэтому, в этой статье я опишу те правила, которые сам для себя разработал, обучаясь программированию на этом, как я уже сказал, плоском, но от этого только еще более сложном языке.

Паузы

Особенность этой команды в том, что, если Вы выключите в интерфейсе остановку по этой команде, то программа будет выполняться без остановок. Иными словами это очень удобная функция языка и интерфейса для отладки программ.

Нумерация строк

Однако, при таком раскладе Вы не сможете воспользоваться GOTO

N100 GOTO 120 N110 M02 (Остановка программы) N120 (GOTO переходит непосредственно сюда)

Пример глупый, но демонстрирующий то, что если Вы не пронумеровали Ваши строки, то и попасть при помощи GOTO в нужное место кода Вы не сможете.

Еще одна особенность в том, что LinuxCNC сам расставляет свои номера строк. И, при ошибке или переходе, выводит окна с указанием именно им созданных номеров и кодов.

Учитывая все вышесказанное, я принял для себя решение нумеровать строки только если того требует алгоритм (помните, что использование GOTO это "не наш метод", т.е. его надо избегать).

Нумеровать строки нужно только после отладки основной части программы и, по-возможности, автоматически.

Сброс установок

Разбивайте код на блоки и/или подпрограммы

Лично я программирую много и уже очень давно. Но всегда, когда встречаю длинный и не читаемый текст - путаюсь. Я лично предпочитаю, чтобы код был разбит на блоки (функции/методы/что угодно) и каждый блок кода был понятен при визуальном его рассмотрении. И уж точно этот код должен быть виден на одном экране.

  • Написание одного, но понятного и разбитого на блоки файла;
  • Разбиение всего алгоритма на функции, описываемые командой ;

И в том и в другом случае, можно рассматривать "блок" или "подпрограмму" как угодно, но, желательно понимать какие данные ей передаются на вход, и какие результаты получаются. А для этого она должна быть понятна, обозрима, и в ней должны быть четкие входные параметры и четкий результат.

В объектно-ориентированном программировании интерфейс иногда называют контрактом. Посему любая подпрограмма должна иметь четкую документацию интерфейса ее вызова. Я уж не говорю о том, что она должна быть отлажена и, по-возможности, проверять входные данные и режимы.

Алгоритмический подход

Возможно я еще начинающий Gкодер, но наука о программировании не менялась с момента ее появления. И она требовала составлять алгоритмы и избегать больших линейных блоков кода.

Так например, я достиг цели и обработал свой Жертвенный стол получив код программы на сайте, где был предоставлен доступ к on-line генератору кода. И это был файл размером в мегабайт. Читать не возможно. Одни и теже коды повторяли "зиг-заги". Включить в него что-либо, например замедление когда фреза доходит до вкрученной в стол футорки - невозможно.

Куда проще и понятнее выглядит функция, приведенная в статье про Жертвенный стол . В ней все наглядно и понятно. Для чего же еще нужен компьютер, если не для генерации кода по мере необходимости?

Иными словами, я испробовал и "прямой" подход с генерацией миллиона линейных команд и алгоритмический, требующий приложения мозга. Второй вариант мне подходит, а первый - постараюсь избегать.

Пусть Ваша программа "разговаривает"

В LinuxCNC есть полезная функция - MSG , она выводит сообщения в окно программы. Будет здорово, если Ваша программа будет сообщать о своих действиях. Не уверен, что это именно "Хороший тон", но мне такой подход люб. Конечно, если у Вас программа отлажена годами и Вы перешли к изготовлению второго миллиона одинаковых деталей - смысла "разговаривать" у программы нет, но мне, как новичку, кажется, что сообщения будут полезны. Особенно, если они содержат, кроме простых "Hello World" еще и какие-либо данные программы. Параметры или состояние чего-либо.

Облёт заготовки

По-этой причине я разработал алгоритм "облёта" заготовки. Суть алгоритма такова:

  1. Задаем безопасную высоту, общую переменную, которуб будет использовать весь код и никогда не менять. На этой высоте "летать" можно сколь угодно. Для моего станка и жертвенного стола , а также, учитывая текущие задачи и заготовки, эта высота составляет 35мм над уровнем. Ибо смый высокий крепеж у меня имеет именно такую высоту;
  2. Перед выполнением любой обработки определяем границы заготовки "переезжаем" по периметру, останавливаясь на каждом шагу чтобы определить что границы в первом приближении ничего не ломают и станок ни обо что не ударится;
  3. На последнем этапе опускаемся на высоту 1мм над уровнем заготовки и повторяем процедуру. Повторение - мать учения и так мы куда более точно определеяем что никто ничего не поломает и в самом конце, когда программа отработает и будет переведено в стружку тьма хорошего материала, не окажется, что существовавшее ранее отверстие или брак в заготовке попадает на самое видное место.

Начало обработки

Любой датчик высоты/длины инструмента имеет погрешность. По этой причине, если Вы подадите станку команду

G00 0

(в случае, если заготовка на высоте 0 находится) или

G00 [#]

Для станков с программным числовым управлением существует специальный язык. Этот язык называют ISO 7 bit. Система G кодов для ЧПУ представляет собой специальные команды для работы фрезерных и токарных станков с ПУ, в командах задаются специальные параметры. Обучение ЧПУ программированию производится в технических колледжах или на курсах дополнительного образования.

Что такое G-код

Кодовая система для токарно – представляет собой особую группу команд, которые распознаются станками с функциями программного управления. Кодовая система была разработана компанией Electronic Industries Allience в 1960 году и доработана в 1980 году. С 1982 года она начала действовать в России. Кодовый язык входит в структуру основ программирования, он непрерывно совершенствуется и изменяется.

Какие бывают G-коды

Программы с G-кодом пишутся в виде текстового формата, каждую строчку называют кадром. Кадр состоит из буквенного символа – это адрес и цифра, в которой выражено числовое значение. Коды бывают основными и вспомогательными. На основе такой программы работает токарный и фрезерный станок с ЧПУ.

Команды группы G называют подготовительными. Они задают движение рабочих элементов на станке с определенной скоростью. Скорость может быть круговой или линейной. Также G-код используется для обработки отверстий и резьбы. Еще одной функцией является управление параметрами и координатными системами аппаратуры.

Основные команды программы направлены на выполнение следующих функций:

  • G00 – G04 функция позиционирования;
  • G17 – G19 осуществляют переключение рабочих параметров;
  • G40 – G44 компенсация длины и диаметра разных элементов аппарата;
  • G54 – G59 переключение координатных систем;
  • G71 – функция обработки отверстий;
  • G80 – G84 функция нарезания резьбы и сверления;
  • G90 – G92 переключение абсолютной и относительной систем координат.

Символы бывают разными: М выполняет вспомогательные функции, такая команда необходима для смены инструмента, вызова подпрограммы и ее завершения, S – это функция основного движения, F – подача, Т, D, Н являются выражением функций инструмента.

Значение символа зависит от вида станка с ЧПУ. Программирование осуществляется на основе этих кодов.

Подготовительные функции

Подготовительные функции в кодовой системе выражены символом G. Каждому коду соответствует особенное значение. Все подготовительные команды, к примеру, выбор рабочей плоскости или выбор скорости перемещения, задаются первыми в программе. В коде зашифрована определенная функция. Числовыми значениями задаются параметры.

Расшифровка основных G кодов для ЧПУ

Перейдем к рассмотрению того, как расшифровываются основные G коды для станков с ПУ.

G00

Задает скоростное позиционирование. Ее используют, когда нужно быстро переместить режущий инструмент в готовое состояние для начала работы или поместить его в безопасную позицию. Ускоренный вариант не применяют в процессе обработки деталей, поскольку скорость, которая развивается в данном случае, очень высока. Данную команду можно отменить с помощью команды G01, G02, G03.

G01

Представляет собой линейную интерполяцию. Такая команда необходима для движения инструмента по прямой, скорость задается символом F. Отмена функции осуществляется кодами G00, G02, G03. Пример записи команды: G01 X20 Y150 F60.

G02

Задает движение по часовой стрелке, режущий инструмент начинает двигаться по дугообразной траектории, скорость задается символом F. Также задаются параметры в координатной плоскости. Символы I, J, K – определяющие координаты дуги в плоскости. Отмена осуществляется кодами G00, G01, G03.

G03

Это движение против часовой стрелки по дуге с заданной скоростью.

G04

Задают перерыв в работе. продолжительность паузы задается Х или Р символом. Обычно пауза длится около одной секунды.

G17

Задает плоскость. С помощью кода G17 выбирают координаты XY. Такая функция необходима для вращающихся движений и процесса сверления.

G18

Задает плоскость в координатах XZ, эта плоскость становится рабочей в процессе круговой интерполяции, вращательных движениях и процессе сверления.

G19

Позволяет выбрать рабочую площадь в координатах YZ. Такая функция необходима для движения инструмента в круговой интерполяции и постоянном цикле сверления.

G20

Позволяет вводить данные в дюймовых измерениях. Функция предназначена для работы с дюймовыми показателями.

G21

Позволяет работать с метрическими показателями. Он необходим при работе с данными, выраженными в метрах.

G40

Отменяет функцию автоматической коррекции на заданный радиус инструмента, задаваемого G41 и G42.

G41

Включает автокоррекцию на радиус инструмента, который располагается слева от обрабатываемой детали относительно хода его движения. В программу также входит функция D.

G42

Аналогичен коду G41, он предназначен для автокоррекции на радиус, расположенный справа от обрабатываемой детали. Программу также задают с функцией D.

G43

Необходим для компенсации длины инструмента, корректирует его положение и задается вместе с функцией инструмента Н.

G52

Задает локальные координатные параметры помимо стандартных параметров.

G53

Позволяет переключаться на координатную систему рабочего станка.

G54 – G59

Осуществляют заданное смещение рабочего элемента относительно координатных параметров станка. Используя коды G54, G55, G56, G57, G58, G59 можно определить, в какой именно системе координат будет совершаться работа. Меняя коды, программист получает возможность обрабатывать разнообразные детали.

Если кодами G54 – G59 была задана какая-либо координатная система, то она будет действовать до тех пор, пока не будет отменена, и введутся другие параметры.

G64

Представляет собой режим резки, при этом автоматически отменяются другие функции.

G68

Задается вращение координат, команда позволяет смещать координатную систему под определенным углом. Плоскость вращения, центр и угол поворота задается командами G17, G18, G19, R. Команда G69 отменяет эту функцию.

G71

Позволяет делать отверстия в изделиях.

G73

Это функция высокоскоростного сверления отверстий.

G74

Используется для нарезания левой резьбы.

G81, G82, G83

Используются для цикла сверления: стандартного, с выдержкой и прерывистого.

G85 – G87

Позволяют осуществлять разные циклы растачивания.

G92

Позволяет установить абсолютные накопители положения.

G97

Задает параметры оборотов, производимых за одну минуту.

Все коды взаимодействуют между собой и образовывают отдельную группу. В системе программы одна функция сменяется другой. Пример кодовой программы можно найти в интернете. Кодовая таблица должна быть в поле зрения во время программирования.

Требования к написанию программы

Программы, которые пишут для станка с ЧПУ на основе использования джи кодов, имеют определенную совершенно четкую структуру, которая состоит из нескольких команд. Все команды для работы со станком объединяются по группам – кадрам. Завершение одного кадра отмечается символом CR/LF, программу заканчивает вспомогательный код М02 или М30.

Если к программе необходимо сделать комментарий, то его размещают в круглых скобках. К примеру, (перемещение к точке начала фрезерования). Комментарий может находиться сразу после кода, но можно также и вынести его в отдельную строку.

Одна и та же команда может повторяться неоднократно, заданное количество раз в определенной последовательности. Программа пишется с помощью основных и вспомогательных функций. Ее считывают токарные и фрезерные станки.

Генерированием кодов для работы за станком на производстве занимаются специальные программы. На каждом предприятии такая система действует отлажено и ее контролирует оператор. При необходимости любую программу можно сгенерировать самостоятельно с помощью специального программного обеспечения, которое можно скачать в интернете.

Никаких специальных знаний для этого не потребуется, достаточно иметь представление о декартовой системе координат, знать физические величины и определения из курса геометрии. В качестве примера можно воспользоваться уже готовой программой. Для работы потребуются таблицы с расшифровкой кодов.

Для создания кода необходимо иметь следующие знания:

  • введение геометрических параметров и размеров обрабатываемой детали;
  • знать параметры инструментов и устройств, с помощью которых осуществляется работа;
  • толщина слоя, которую потребуется снять;
  • глубина введения инструмента для проделывания прорезей.

На практике такие действия произвести несложно. Для того чтобы понять как устроена система, можно посмотреть пример записи команд, потребуется также вспомогательная таблица с кодами.

Существуют специальные сервисы, позволяющие создавать программы для станков онлайн, их можно генерировать на готовом примере. Никакое дополнительное программное обеспечение устанавливать на компьютер не потребуется. Все, что нужно, это выход в интернет. При программировании требуется особая внимательность, если ошибиться в ведении числового показания, можно повредить деталь или сломать станки. Программы, созданные таким образом, можно использовать на токарных, фрезерных, плазменных станках и обрабатывать самые разные материалы.

Программирование обработки на современных станках с ЧПУ осуществляется на языке, который обычно называют языком ИСО (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-CODE.
Решил написать пост об основах G-CODE.

И так приступим …

Не для кого не секрет, что наш с Вами 3D принтер является простым ЧПУ станком (CNC), который просто выполняет команды оператора.

Чтобы мы с принтером понимали друг друга, умными людьми в начале 1960 годов был придуман специальный язык под названием « G-CODE » (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 карты
M20 - Прочитать 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 – звуковой сигнал

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

Программирование обработки на станках с ЧПУ осуществляется на языке, который обычно называют языком ISO 7 бит или языком G и M кодов. Язык G и М кодов основывается на положениях Международной организации по стандартизации (ISO) и Ассоциации электронной промышленности (EIA).

Производители систем ЧПУ придерживаются этих стандартов для описания основных функций, но допускают вольности и отступления от правил, когда речь заходит о специальных возможностях своих систем.

Японские системы ЧПУ FANUC (FANUC CORPORATION) были одними из первых, адаптированных под работу с G и М кодами и использующими этот стандарт наиболее полно. В настоящее время стойки FANUC являются наиболее распространенными как за рубежом, так и в России.

Системы ЧПУ других известных производителей, например SINUMERIK (SIEMENS AG) и HEIDENHAIN, также имеют возможности по работе с G и М кодами, однако некоторые специфические коды могут отличаться. О разнице в программировании специфических функций можно узнать из документации к конкретной системе ЧПУ.

Существует три метода программирования обработки для станков с ЧПУ :

  • Ручное программирование.

Все операторы станков с ЧПУ, технологи-программисты должны иметь хорошее представление о технике ручного программирования. Это как начальные классы в школе, обучение в которых дает базу для последующего образования.

  • Программирование на пульте УЧПУ.

Когда программы создаются и вводятся прямо на стойке ЧПУ, используя клавиатуру и дисплей. Например, оператор станка может произвести верификацию УП или выбрать требуемый постоянный цикл при помощи специальных пиктограмм и вставить его в код управляющей программы.

  • Программирование при помощи CAD/CAM системы.

Программирование при помощи CAD/САМ системы позволяет "поднять" процесс написания программ обработки на более высокий уровень. Работая с CAD/CAM системой, технолог-программист избавляет себя от трудоемких математических расчетов и получает инструменты, значительно повышающие скорость написания управляющих программ.

Cовокупность команд на языке программирования, соответствующая алгоритму функционирования станка по обработке конкретной заготовки называется управляющая программа (УП) .

Управляющая программа состоит из последовательности кадров и обычно начинается с символа начало программы (%) и заканчивается М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 коды для ЧПУ

G00 - быстрое позиционирование.

Функция G00 используется для выполнения ускоренного перемещения режущего инструмента к позиции обработки или к безопасной позиции. Ускоренное перемещение никогда не используется для выполнения обработки, так как скорость движения исполнительного органа станка очень высока. Код G00 отменяется кодами: G01, G02, G03.

G01 - линейная интерполяция.

Функция G01 используется для выполнения прямолинейных перемещений с заданной скоростью (F) . При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z). Код G01 отменяется кодами: G00, G02, G03.

G02 - круговая интерполяция по часовой стрелке.

Функция G02 предназначена для выполнения перемещения инструмента по дуге (окружности) в направлении часовой стрелки с заданной скоростью (F). При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z).

Код G02 отменяется кодами: G00, G01, G03.

G03 - круговая интерполяция против часовой стрелки.

Функция G03 предназначена для выполнения перемещения инструмента по дуге (окружности) в направлении против часовой стрелки с заданной скоростью (F). При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z).

Параметры интерполяции I, J, K, которые определяют координаты центра дуги окружности в выбранной плоскости, программируются в приращениях от начальной точки к центру окружности, в направлениях, параллельных осям X, Y, Z соответственно.

Код G03 отменяется кодами: G00, G01, G02.

G04 - пауза.

Функция G04 - команда на выполнение выдержки с заданным временем. Этот код программируется вместе с X или Р адресом, который указывает длительность времени выдержки. Обычно, это время составляет от 0.001 до 99999.999 секунд. Например G04 X2.5 - пауза 2.5 секунды, G04 Р1000 - пауза 1 секунда.

G17 - выбор плоскости XY.

Код G17 предназначен для выбора плоскости XY в качестве рабочей. Плоскость XY становится определяющей при использовании круговой интерполяции, вращении системы координат и постоянных циклов сверления.

G18 - выбор плоскости XZ.

Код G18 предназначен для выбора плоскости XZ в качестве рабочей. Плоскость XZ становится определяющей при использовании круговой интерполяции, вращении системы координат и постоянных циклов сверления.

G19 - выбор плоскости YZ.

Код G19 предназначен для выбора плоскости YZ в качестве рабочей. Плоскость YZ становится определяющей при использовании круговой интерполяции, вращении системы координат и постоянных циклов сверления.

G40 - отмена коррекции на радиус инструмента.

Функция G40 отменяет действие автоматической коррекции на радиус инструмента G41 и G42.

G41 - левая коррекция на радиус инструмента.

Функция G41 применяется для включения автоматической коррекции на радиус инструмента находящегося слева от обрабатываемой поверхности (если смотреть от инструмента в направлении его движения относительно заготовки). Программируется вместе с функцией инструмента (D).

G42 - правая коррекция на радиус инструмента.

Функция G42 применяется для включения автоматической коррекции на радиус инструмента находящегося справа от обрабатываемой поверхности (если смотреть от инструмента в направлении его движения относительно заготовки). Программируется вместе с функцией инструмента (D).

G43 - коррекция на положение инструмента.

Функция G43 применяется для компенсации длинны инструмента. Программируется вместе с функцией инструмента (H).

G54 - G59 - заданное смещение.

Смещение рабочей системы координат детали относительно системы координат станка.

G70 - ввод дюймовых данных.

Функция G70 активизирует режим работы с дюймовыми данными.

G71 - ввод метрических данных.

Функция G71 активизирует режим работы с метрическими данными.

G80 - отмена постоянного цикла.

Функция, которая отменяет любой постоянный цикл.

G81 - стандартный цикл сверления.

Цикл G81 предназначен для зацентровки и сверления отверстий. Движение в процессе обработки происходит на рабочей подаче. Движение в исходное положение после обработки идет на ускоренной подаче.

G82 - сверление с выдержкой.

Цикл G82 предназначен для сверления и зенкования отверстий. Движение в процессе обработки происходит на рабочей подаче с паузой в конце. Движение в исходное положение после обработки идет на ускоренной подаче.

G83 - цикл прерывистого сверления.

Цикл G83 предназначен для глубокого сверления отверстий. Движение в процессе обработки происходит на рабочей подаче с периодическим выводом инструмента в плоскость отвода. Движение в исходное положение после обработки идет на ускоренной подаче.

G84 - цикл нарезания резьбы.

Цикл G84 предназначен для нарезания резьбы метчиком. Движение в процессе обработки происходит на рабочей подаче, шпиндель вращается в заданном направлении. Движение в исходное положение после обработки идет на рабочей подаче с обратным вращением шпинделя.

G85 - стандартный цикл растачивания.

Цикл G85 предназначен для развертывания и растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. Движение в исходное положение после обработки идет на рабочей подаче.

G86 - цикл растачивания с остановкой вращения шпинделя.

Цикл G86 предназначен для растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. В конце обработки происходит остановка шпинделя. Движение в исходное положение после обработки идет на ускоренной подаче.

G87 - цикл растачивания с отводом вручную.

Цикл G87 предназначен для растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. В конце обработки происходит остановка шпинделя. Движение в исходное положение после обработки идет вручную.

G90 - режим абсолютного позиционирования.

В режиме абсолютного позиционирования G90 перемещения исполнительных органов производятся относительно нулевой точки рабочей системы координат G54-G59 (программируется, куда должен двигаться инструмент). Код G90 отменяется при помощи кода относительного позиционирования G91.

G91 - режим относительного позиционирования.

В режиме относительного (инкрементального) позиционирования G91 за нулевое положение каждый раз принимается положение исполнительного органа, которое он занимал перед началом перемещения к следующей опорной точке (программируется, на сколько должен переместиться инструмент). Код G91 отменяется при помощи кода абсолютного позиционирования G90.

G94 - скорость подачи в дюймах/миллиметрах в минуту.

При помощи функции G94 указанная скорость подачи устанавливается в дюймах или в миллиметрах за 1 минуту. Программируется вместе с функцией подачи (F). Код G94 отменяется кодом G95.

G95 - скорость подачи в дюймах/миллиметрах на оборот.

При помощи функции G95 указанная скорость подачи устанавливается в дюймах или в миллиметрах на 1 оборот шпинделя. Т.е. скорость подачи F синхронизируется со скоростью вращения шпинделя S. Код G95 отменяется кодом G94.

M коды для ЧПУ

М00 - программируемый останов.

Когда СЧПУ исполняет команду М00, то происходит останов. Все осевые перемещения останавливаются, при этом шпиндель (у большинства станков) продолжает вращаться. Работа по программе возобновляется со следующего кадра после нажатия кнопки "Старт".

М01 - останов с подтверждением.

Код М01 действует аналогично М00, но выполняется только после подтверждения с пульта управления станка. Если клавиша подтверждения нажата, то при чтении кадра с М01 происходит останов. Если же клавиша не нажата, то кадр М01 пропускается и выполнение УП не прерывается.

М02 - завершение программы.

Код М02 указывает на завершение программы и приводит к останову шпинделя, подачи и выключению охлаждения.

М0З - вращение шпинделя по часовой стрелке.

При помощи кода М0З включается прямое вращение шпинделя с запрограммированным числом оборотов (S) . Код М0З действует до тех пор, пока он не будет отменен с помощью М04 или М05.

М04 - вращение шпинделя против часовой стрелки.

При помощи кода М04 включается обратное вращение шпинделя с запрограммированным числом оборотов (S). Код М04 действует до тех пор, пока он не будет отменен с помощью М03 или М05.

М05 - останов шпинделя.

Код М05 останавливает вращение шпинделя, но не останавливает осевые перемещения.

М06 - смена инструмента.

При помощи кода М06 инструмент, закрепленный в шпинделе, меняется на инструмент, находящийся в положении готовности в магазине инструментов.

М07 - включение охлаждения №2.

Код М07 включает подачу СОЖ в зону обработки в распыленном виде, если станок обладает такой возможностью.

М08 - включение охлаждения №1.

Код М08 включает подачу СОЖ в зону обработки в виде струи.

М09 - отключение охлаждения.

Код М09 выключает подачу СОЖ и отменяет команды М07 и М08.

М10 - зажим.

Код М10 относиться к работе с зажимным приспособлением подвижных органов станка.

М11 - разжим.

Код М11 относиться к работе с зажимным приспособлением подвижных органов станка.

МЗ0 - конец информации.

Код МЗ0 информирует СЧПУ о завершении программы, приводит к останову шпинделя, подачи и выключению охлаждения.

Дополнительные функции и символы при программировании станков с ЧПУ

X, Y, Z - команды осевого перемещения.

А, В, С - команды кругового перемещения вокруг осей X, Y, Z соответственно.

I, J, К - параметры круговой интерполяции параллельные осям X, Y, Z соответственно.

При круговой интерполяции G02 или G03, R определяет радиус, который соединяет начальную и конечную точки дуги. В постоянных циклах R определяет положение плоскости отвода. При работе с командой вращения R определяет угол поворота координатной системы.

D - значение коррекции на радиус инструмента.

Н - значение компенсации длины инструмента.

F - функция подачи.

S - функция главного движения.

Т - значение определяющее номер инструмента, который необходимо переместить в позицию смены, путем поворота инструментального магазина.

N - нумерация кадров УП.

/ - пропуск кадра.

(...) - комментарии в УП.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: