Содержание

G-коды для ЧПУ: программируем станок своими силами

Для станков с программным числовым управлением существует специальный язык. Этот язык называют 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.

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

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

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

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

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

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

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

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

G и M коды для программирования обработки на станках с ЧПУ


Программирование обработки на станках с ЧПУ осуществляется на языке, который обычно называют языком 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).

Параметры интерполяции I, J, K, которые определяют координаты центра дуги окружности в выбранной плоскости, программируются в приращениях от начальной точки к центру окружности, в направлениях, параллельных осям 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 соответственно.

R

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

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

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

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

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

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

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

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

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



G b m коды. Описание G и M кодов для программирования ЧПУ (CNC) станков

Программирование систем числового программного управления (ЧПУ) производится посредством 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 — ручная замена инструмента.

Примеры различных управляющих программ для станков с числовым программным управлением представлены

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

Для станков с программным числовым управлением существует специальный язык. Этот язык называют 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.

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

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

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

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

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

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

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

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

Добрый день Уважаемые читатели!

Программа, написанная с использованием 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 – звуковой сигнал

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

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

Рис. 16.1. Пример ускоренного перемещения. G00 X80 Z10 – позиционирование в точку с координатами (80; 10). Более подробную информацию вы найдете в главе 6

G01 – линейная интерполяция. Код G01 – команда линейной интерполяции, обеспечивающая перемещение инструмента по прямой линии с заданной скоростью. Скорость перемещения указывается F-адресом. Код G01 отменяется с помощью кодов G00, G02HG03.

Рис. 16.2. Пример линейной интерполяции. G01 Х35 Y45 F200 – перемещение по прямой в точку с координатами (35; 45) со скоростью подачи 200 мм/мин. Более подробную информацию вы найдете в главе 6

G02 – круговая интерполяция (дуга в направлении часовой стрелки). Код G02 предназначен для выполнения круговой интерполяции, то есть для перемещения инструмента по дуге (окружности) в направлении часовой стрелки с заданной скоростью. Скорость перемещения указывается F-адресом. Код G02 отменяется с помощью кодов G00, G01 и G03.

G03 – круговая интерполяция (дуга против часовой стрелки). Код G03 предназначен для выполнения круговой интерполяции, то есть для перемещения инструмента по дуге (окружности) против часовой стрелки с заданной скоростью. Скорость перемещения указывается F-адресом. Код G03 отменяется с помощью кодов G00, G01 и G02.


Рис. 16.3. Круговая интерполяция в разных плоскостях

G04 – выдержка. Код G04 – команда на выполнение выдержки (паузы) с заданным временем. Этот немодальный код программируется вместе с X- или Р-адресом, который указывает длительность времени выдержки. Обычно это время составляет от 0.001 до 99999.999 секунды. Код G04, X- или Р-адрес программируются вместе в одном кадре, который не содержит никаких перемещений.

Если для определения времени выдержки используется Р, то нельзя программировать десятичную точку. Адрес Р определяет время выдержки в миллисекундах, а X – в секундах. Если команда G04 программируется без временного фактора, то она воспринимается системой ЧПУ как немодальная команда для точного останова.

Пример:
G04 Х1.5 – выдержка 1.5 секунды;
G04 Р2000 – выдержка 2 секунды.

G09 – точный останов. Из-за автоматического ускорения и замедления осевых перемещений исполнительных органов станка с ЧПУ не происходит точная обработка кромок углов при переходе от одного движения резания к другому. Эта неточность обработки выражается в закруглении или притуплении углов.

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

Рис. 16.4. Необходимо получить острую кромку в правом верхнем углу контура

Рис. 16.5. Скругление кромки

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

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

% O0005 N100 G21 N102 G0 G17 G40 G49 G80 G90 N104 T1 M6 N106 G0 G90 G54 X30. Y-22.5 S1000 M3 N108 G43 h2 Z100. N110 Z10. N112 G1 Z-2. F100. N114 Y-12.5 N116 G09 Y17.5 N118 X-25. N120 X-35. N122 Z8. N124 G0 Z100. N126 M5 N132 M30 %

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

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

G10 – включение режима ввода данных в СЧПУ. Команда G10 позволяет устанавливать или смещать рабочую систему координат и вводить определенные значения в регистры коррекции инструмента памяти СЧПУ при помощи управляющей программы или специальной (отдельной) программы.

Если вы хотите ввести какие-либо значения в регистры коррекции при помощи УП, то они должны находиться в начале программы. Этим вы обеспечиваете согласованность значений в регистрах коррекции и самой программы обработки.

Обычно для ввода значений в регистры коррекции применяется следующий формат:
G10 L11 P_R_;
где G10 – включение режима ввода данных; L11 – настройка регистра коррекции инструмента; Р – выбор регистра коррекции, который необходимо изменить; R – вводимое значение коррекции.

Если команда G10 используется одновременно с кодом G90, то значения в регистрах коррекции переписываются (заменяются новыми значениями). Когда G10 работает вместе с кодом G91, то значения в корректорах складываются (или вычитаются) с числовым значением при R. К примеру, кадр G10 G90 Lll P12 RIOO.05 заменяет существующее значение в регистре коррекции № 12 на новое значение 100.05.

Для того чтобы установить или сместить рабочую систему координат, используется следующий формат:
G10 L2 P_X_Y_Z_;
где G10 – включение режима ввода данных; L2 – определение стандартной рабочей системы координат; Р – выбор рабочей системы координат; X, Y, Z – значения, определяющие новое положение рабочей системы координат.

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

G11 – выключение режима ввода данных в СЧПУ. При помощи команды G11 отменяется команда G10 для включения режима ввода данных в СЧПУ.

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

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

Работать в полярной системе координат можно в одной из трех плоскостей. С кодом G17 вы работаете в плоскости XY, с кодом G18 – в плоскости XZ, а с помощью кода G19 – в плоскости YZ.


Рис. 16.6. Полярные координаты: точка А (5;20) и точка В (4; 120)

Если активна плоскость XY, то X-адрес определяет радиус, a Y устанавливает угол относительно оси X. Если активна плоскость XZ, то X адрес определяет радиус, a Z устанавливает угол относительно оси X. Если активна плоскость YZ, то Y-адрес определяет радиус, a Z устанавливает угол относительно оси Y. Положительным считается угол, который отсчитывается против часовой стрелки.

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

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


G90 G17 G16
G81 G98 X4 Y30 Z-2 R0.5 F50
Y60
Y90
G15 G80

Команда G16 является модальной, поэтому остается активной до тех пор, пока ее не отменят командой G15.

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

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

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

Рис. 16.7. G17, G18, G19 используются для выбора активной плоскости системы координат

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

Пример:
N10 G20 G40 G49 G54 G80 G90 – код G20 в строке безопасности.
Команда является модальной и действует до тех пор, пока ее не отменят командой G21.

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

Пример:
N10 G21 G40 G49 G54 G80 G90 – код G21 в строке безопасности.
Команда является модальной и действует до тех пор, пока ее не отменят командой G20.

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

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

G27 – проверка возврата к исходной позиции. Код G27 работает аналогично коду G28 (см. далее). Единственная разница заключается в том, что если позиция, к которой произошло перемещение исполнительного органа, не соответствует исходной позиции, то в случае с G27 система ЧПУ станка выдает аварийное сообщение или сигнал.

Команды G27 и G28 могут использоваться в циклах и макросах автоматической смены инструмента. Перед выполнением этих G-кодов обычно отменяют коррекцию инструмента.

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

Условный кадр для автоматического возврата в исходную позицию выглядит так:

G91G28X0.0Y0.0Z0.0

Если в кадре с G28 указываются оси X, Y и Z с нулевыми значениями, то возврат в исходную позицию происходит по этим трем осям. Однако не всегда нужно выполнять эту операцию со всеми осями. Возможно, что вам потребуется перемещение только по двум из них. Например, для возврата по осям Z и Y в программе обработки должен стоять следующий кадр:

G91 G28 Y0.0. Z0.0

Обратите особое внимание на находящийся в кадре код G91. Как вы знаете, этот код активирует работу в относительных координатах. Дело в том, что G28 позволяет запрограммировать некоторую промежуточную точку, в которую будет совершено перемещение, перед тем как станок вернется в исходную позицию. На самом деле координаты, указанные в кадре, являются координатами именно промежуточной точки. В приведенных ранее примерах мы указывали в качестве координат промежуточной точки нулевые значения. Так как в кадре стоит код относительных координат G91, то станок должен переместиться относительно текущей позиции на нуль миллиметров по каждой из осей. То есть не должен никуда двигаться. Вот поэтому при наличии в УП кадра G91 G28 Х0.0 Y0.0 Z0.0 станок будет сразу возвращен в исходную позицию без «заезда» в промежуточную точку.

Если в программе обработки находится кадр G91 G28 Х10.0 Z20.0, то станок сначала переместится вправо и вверх, а только затем вернется в нулевую точку. Для чего нужна эта промежуточная точка? Код G28 вызывает ускоренное перемещение, аналогичное G00, а в этом случае оно может быть непрямолинейным. То есть можно запросто что-нибудь «зацепить». Опытный программист старается сначала поднять инструмент вверх, а уже затем «отпустить» станок в нулевую точку:

G91 G28 Х0.0 Y0.0 Z20.0

Рис. 16.8. Если в УП присутствует команда G91 G28 Х10 Y25, то инструмент сначала переместится в промежуточную точку, а затем вернется в нуль станка

Опасайтесь указывать в кадре с G28 код абсолютных координат G90. Если в УП находится кадр G90 G28 Х0.0 Y0.0 Z0.0, то очень высока вероятность столкновения режущего инструмента с частями станка или деталью.

G30 – возврат к позиции смены инструмента. При помощи команды G30 осуществляется автоматический возврат оси Z к позиции смены инструмента и отменяется действующая коррекция инструмента. Кадр для выполнения возврата к позиции смены инструмента должен выглядеть так:

Будьте внимательны: если в кадре вместо G90 находится код G91, то шпиндель будет перемещаться к поверхности рабочего стола.

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

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

Рис. 16.9. Функция пропуска с реакцией на внешний сигнал

G40 – отмена автоматической коррекции радиуса инструмента. Автоматическая коррекция радиуса инструмента отменяется программированием команд G40 и D00. Обычно код G40 находится в кадре с командой прямолинейного холостого перемещения от контура детали.

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

G41 – коррекция на радиус, инструмент слева от детали. Код G41 применяется для включения автоматической коррекции радиуса инструмента, находящегося слева от детали. Направление смещения определяется, если смотреть на траекторию сверху вниз, то есть со стороны «+Z» в направлении «–Z».

G42 – коррекция на радиус, инструмент справа от детали. Код G42 применяется для включения автоматической коррекции радиуса инструмента, находящегося справа от детали. Направление смещения определяется, если смотреть на траекторию сверху вниз, то есть со стороны «+Z» в направлении «–Z».

Рис. 16.11. Коррекция справа

G43 – компенсация длины инструмента. При выполнении УП базовая позиция шпинделя (точка пересечения торца и оси вращения) определяется запрограммированными координатами. Проблема заключается в том, что в базовой позиции шпинделя обработка резанием не осуществляется. Обработка производится кромкой режущего инструмента, которая находится на некотором расстоянии от базовой точки шпинделя. Для того чтобы в запрограммированную координату приходила именно режущая кромка, а не шпиндель, необходимо «объяснить» СЧПУ, на какую величину по оси Z нужно сместить эту базовую точку.

Компенсация длины инструмента осуществляется путем программирования команды G43 и Н-слова данных. Обычно компенсация длины активируется совместно с холостым перемещением по оси Z.

Пример: G43 H01 Z100

G49 – отмена компенсации длины инструмента. Компенсация длины инструмента отменяется путем программирования команды G49 или Н00.

G50 – выключение режима масштабирования. Код G50 предназначен для выключения режима масштабирования G51.

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

Можно указать коэффициент масштаба для всех осей одновременно или отдельно для каждой оси. Если коэффициент масштаба более 1, то система координат увеличивается. Если же коэффициент масштаба менее 1, то система координат уменьшается.

Для единого изменения масштаба обычно используется следующий формат:

где G51 – включение режима масштабирования; X – координата по оси X для средней точки масштаба; Y – координата по оси Y для средней точки масштаба; Z – координата по оси Z для средней точки масштаба; Р – коэффициент масштаба для всех осей.

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

G51 X Y Z I J К

где G51 – включение режима масштабирования; X – координата по оси X для средней точки масштаба; Y – координата по оси Y для средней точки масштаба; Z – координата по оси Z для средней точки масштаба; I – коэффициент масштаба для оси X; J – коэффициент масштаба для оси Y; К – коэффициент масштаба для оси Z.

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

Основная программа


G90 G01 F100
M98 P101
G51 X5 Y5 I-1 J1 K1
M98 P101
G51 X5 Y5 I-1 J-1 K1
M98 P101
G51 X5 Y5 I1 J-1 K1
M98 P101


Рис. 16.13. Зеркальное отображение траектории

Подпрограмма

O0101
G90 X6 Y6
Y7
X7
X8 Y8
X9
Y6
X6
M99

G52 – локальная система координат. СЧПУ позволяет устанавливать, кроме стандартных рабочих систем координат, еще и локальные системы координат. Код G52 используется для определения подчиненной системы координат в пределах действующей рабочей системы (G54–G59).

Когда СЧПУ станка исполняет команду G52, то начало действующей рабочей системы координат смещается на значение, указанное при помощи слов данных X, Y и Z:


Рис. 16.14. Локальная система координат

Команда G52 автоматически отменяется, если программируется другая рабочая система координат G54–G59 или с помощью команды G52 Х0. Y0. Z0.

G54–G59 – стандартные рабочие системы координат. При помощи кодов G54, G55, G56, G57, G58 и G59 определяется, в какой рабочей системе координат будет производиться обработка детали. Подробную информацию об этих кодах и о взаимосвязи рабочей системы координат с системой координат станка вы можете найти в главе 3. Путем выбора различных координатных систем программист может при помощи одной и той же программы обрабатывать различные детали. Если была выбрана одна из координатных систем G54–G59, то она действует до тех пор, пока не будет активирована другая координатная система.

G60 – позиционирование в одном направлении. С помощью команды G60 ко всем запрограммированным позициям по каждой оси можно перемещаться из определенного направления («+» или «–»). Благодаря этому появляется возможность исключить ошибки позиционирования, которые могут возникать из-за мертвого хода в системах сервопривода. Чаще всего направление и величина перемещения задаются параметрами СЧПУ.

G61 – режим точного останова. Команда G61 предназначена для включения режима точного останова. Функция точного останова подробно описана в характеристике кода G09. Единственная разница между кодами G61 и G09 заключается в том, что G09 является немодальной командой, то есть действует только в определенном кадре. Модальный код G61 остается активным, пока не будет запрограммирована команда на изменение этого режима, например с помощью кода G63 для включения режима нарезания резьбы метчиком или кода G64 режима резания.

G63 – режим нарезания резьбы метчиком. Режим нарезания резьбы метчиком активируется при помощи кода G63 и используется в циклах нарезания резьбы. В этом режиме невозможна корректировка скорости подачи при помощиспециальной рукоятки на панели УЧПУ станка. Режим отменяется программированием команды режима резания G64.

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

G65 – немодальный вызов макропрограммы. Код G65 позволяет выполнить макропрограмму, находящуюся в памяти СЧПУ. Формат для немодального вызова макропрограммы выглядит следующим образом:

где G65 – команда для вызова макропрограммы; Р – номер макропрограммы; L – количество выполнений макропрограммы. Если L не указывается, то СЧПУ считает, что L = l.

G66 – модальный вызов макропрограммы. Команда G66 предназначена для вызова макропрограммы, как и команда G65. Единственная разница между двумя этими кодами заключается в том, что G66 является модальным кодом и макропрограмма выполняется при каждом перемещении, пока не будет запрограммирована команда G67. Формат для модального вызова макропрограммы:

где G66 – команда для вызова макропрограммы; Р – номер макропрограммы; L – количество выполнений макропрограммы.

Если L не указывается, то СЧПУ считает, что L = 1.

G67 – отмена модального вызова макропрограммы. При помощи кода G67 отменяется режим модального вызова макропрограммы G66.

G68 – вращение координат. Модальная команда G68 позволяет выполнить поворот координатной системы на определенный угол. Для выполнения такого поворота требуется указать плоскость вращения, центр вращения и угол поворота. Плоскость вращения устанавливается при помощи кодов G17 (плоскость XY), G18 (плоскость XZ) и G19 (плоскость YZ). Если желаемая плоскость вращения уже активирована, то программирование команд G17, G18 и G19 в кадре с G68 не требуется.

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

Угол вращения указывается при помощи R-слова данных. Формат для команды вращения координат обычно следующий:

G69 – отмена вращения координат. При помощи кода G68 отменяется режим вращения координат.

G73–G89 – постоянные циклы

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

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

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

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

Код G92 используют для сдвига текущего положения нулевой точки путем изменения значений в регистрах рабочих смещений. Когда СЧПУ выполнит команду G92, то значения в регистрах смещений изменятся и станут равными значениям, которые определены X-, Y- и Z-словами данных. Самое главное – учтите, что X-, Y-, Z-слова данных будут показывать текущее положение инструмента в новой координатной системе.

Рассмотрим, как работает команда G92, на конкретном примере. На рис. 16.15 изображены две заготовки. Заготовка А находится в начальной нулевой точке, которую установил оператор. Нам необходимо обработать заготовку В, которая расположена на 60 мм правее заготовки А, путем смещения начальной нулевой точки.

Рис. 16.15. С помощью G92 мы заменяем регистры абсолютной позиции станка и смещаем нулевую точку

Сначала переместим инструмент в известную нам начальную нулевую точку, а затем используем G92:


G00 X0 Y0
G92 X-60 Y0

Кадр G92 Х-60 Y0 означает, что новое текущее положение инструмента определено координатами (–60; 0), то есть на 60 мм левее требуемой нулевой точки. Таким образом, искомая нулевая точка будет находиться на 60 мм правее текущего положения инструмента.

Существует другой метод для достижения этого же результата. Можно сначала переместить инструмент в позицию, которую мы хотим сделать новой нулевой точкой, и затем выполнить команду G92 Х0 Y0.


G00 X60 Y0
G92 X0 Y0

Команда G92 сама по себе не вызывает осевых перемещений. Указанное при помощи G92 смещение координатной системы на большинстве станков может быть отменено возвратом в нулевую точку или выключением станка.

G94 – скорость подачи в дюймах/миллиметрах в минуту. При помощи команды G94 указанная скорость подачи устанавливается в дюймах за 1 минуту или в миллиметрах за 1 минуту.

Если действует дюймовый режим G20, то скорость подачи F определяется как подача в дюймах за 1 минуту. Если же активен метрический режим G21, то скорость подачи F определяется как подача в миллиметрах за 1 минуту.

G20 F10 – скорость подачи 10 дюймов в минуту; G21 F10 – скорость подачи 10 миллиметров в минуту.

Модальный код G94 остается активным до тех пор, пока не будет запрограммирован код G95.

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

G20 F0.1 – скорость подачи равна 0.1 дюйма на оборот; G21 F0.1 – скорость подачи равна 0.1 миллиметра на оборот. Модальный код G95 остается активным до тех пор, пока не будет запрограммирован код G94.

G98 – возврат к исходной плоскости в цикле. Если постоянный цикл станка работает совместно с кодом G98, то инструмент возвращается к исходной плоскости в конце каждого цикла и между всеми обрабатываемыми отверстиями. Исходная плоскость – это координата по оси Z (уровень), в которой находится инструмент перед вызовом постоянного цикла. Команда G98 отменяется при помощи команды G99.

G99 – возврат к плоскости отвода в цикле. Если цикл сверления работает совместно с кодом G99, то инструмент возвращается к плоскости отвода между всеми обрабатываемыми отверстиями. Плоскость отвода – это координата по оси Z (уровень), с которой начинается сверление на рабочей подаче и в которую возвращается инструмент после того, как он достиг дна обрабатываемого отверстия. Плоскость отвода обычно устанавливается в кадре цикла с помощью R-адреса. Команда G99 отменяется при помощи команды G98.

G-код — наименование языка программирования систем с числовым программным управлением (ЧПУ).

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

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

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

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

Функция GO3 предназначена для выполнения перемещения инструмента по дуге (окружности) в направлении против часовой стрелки с заданной скоростью (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 становится определяющей при использовании круговой интерполяции, вращении системы координат и постоянных циклов сверления.

G20 — ввод дюймовых данных.

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

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

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

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

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

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

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

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

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

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

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

G52 — локальная система координат.

СЧПУ позволяет устанавливать кроме стандартных рабочих систем координат (G54-G59) еще и локальные. Когда СЧПУ станка выполняет команду G52, то начало действующей рабочей системы координат смещается на значение указанное при помощи слов данных X, Y и Z. Код G52 автоматически отменяется с помощью команды G52 ХО YO Z0.

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

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

G68 — вращение координат.

Код G68 позволяет выполнить поворот координатной системы на определенный угол. Для выполнения поворота требуется указать плоскость вращения, центр вращения и угол поворота. Плоскость вращения устанавливается при помощи кодов G17, G18 и G19. Центр вращения устанавливается относительно нулевой точки активной рабочей системы координат (G54 — G59). Угол вращения указывается при помощи R. Например: G17 G68 X0. Y0. R120.

G69 — отмена вращения координат.

Код G69 отменяет режим вращения координат G68.

G73 — высокоскоростной цикл прерывистого сверления.

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

G74 — цикл нарезания левой резьбы.

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

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 минуту (если действует функция G20) или в миллиметрах за 1 минуту (если действует функция G21). Программируется вместе с функцией подачи (F). Код G94 отменяется кодом G95.

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

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

G98 — возврат к исходной плоскости в цикле.

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

G99 — возврат к плоскости отвода в цикле.

Если постоянный цикл станка работает совместно с функцией G99, то инструмент возвращается к плоскости отвода между всеми обрабатываемыми отверстиями. Функция G99 отменяется при помощи G98

G-code, потерявшийся брат Assembler-а / Хабр

Про язык управления промышленными CNC-станками и всевозможными любительскими устройствами вроде 3D-принтеров написано очень много статей, но почитать о том, какова идеология этого языка и как она связана с аппаратной реализацией — почти негде. Поскольку моя работа связана непосредственно с программированием станков и автоматизацией производства, я попробую заполнить этот пробел, а также объяснить, почему выбрал такой странный заголовок.


Пару слов о себе, и почему я вообще решил написать об этом. Мои рабочие обязанности заключаются, в том числе, в том, чтобы заставить любой имеющийся в компании станок с ЧПУ делать всё, что он вообще может физически. Компания — небольшая (единицы сотен сотрудников), но в арсенале — вертикальные фрезерные автоматы Haas трех разных поколений, горизонтальные фрезерные автоматы DMG Mori нескольких типов, лазерный резак Mitsubishi, токарные автоматы Citizen Cincom и куча всего еще. И весь этот зоопарк управляется программами на

G-code

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

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

Для человека, привыкшего писать на языках высокого уровня, G-code, на первый взгляд, кажется ущербным. Он выглядит, как древний Basic с его goto, отсутствием явного определения переменных и прочими архаизмами. Но стоит посмотреть на него внимательнее, и становится понятно, что эта «ущербность» и «архаизм» — результат нескольких практических факторов: это язык довольно старый, он придуман для выполнения в строгих рамках доступных ресурсов, он решает одну и довольно простую задачу. Так что это вовсе не «ущербность», а рациональный минимализм, роднящий его с Assembler-ом.

Базовый синтаксис

Если вы хоть раз видели программу на G-code, то знаете, что это последовательность строк, которые состоят из буквенных кодов, за которыми следуют некие числа. Эти буквенные коды называются «адрес». Причина такого термина очень проста: в первых контроллерах станков программа выполнялась путем записи значений в ячейки памяти, которым были даны буквенные имена. Исполнительные устройства, в свою очередь, читали значения по этим адресам и делали то, что от них требуется. Когда мне приходится обучать операторов, я объясняю им, что контроллер, на самом деле, можно условно поделить на две части: ту, что отвечает за интерфейс с пользователем, и ту, что отвечает за работу механизмов. Они часто и физически разнесены по разным платам. А общение между ними происходит все еще через ограниченный набор этих самых ячеек памяти. Другой вопрос, что со временем, к именованным адресам, которые обозначаются буквами латинского алфавита, добавились еще численные адреса (начинающиеся с символа #), через которые осуществляется доступ к портам ввода-вывода, настройкам, специальным возможностям, и так далее.

Традиционно, когда описывают синтаксис G-code, говорят, что любая команда в программе начинается с буквы G для «подготовительных» кодов и M — для дополнительных, что номер строки начинается с буквы N, а номер программы или подпрограммы — с буквы O. Это, в принципе, правда, но не вся и не всегда.

Во-первых, деление на G- и M-коды — условно. Раньше, во времена первых станков с ЧПУ, это имело практическое значение, потому что связь синтаксиса с аппаратной реализацией была жестче. Сейчас же, это деление практически потеряло свое значение. Однако, правило о том, что M-код может быть только один на строке, все же стоит выполнять, как в старые времена, потому что никогда не знаешь точно, на сколько вольно производитель контроллера станка обошелся с реализацией языка. Например, на станках DMG Mori, автоматическое измерение длины инструмента, установленного в шпинделе, выполняется кодом G324, но если вы просто хотите активировать измерительный сенсор для того, чтобы почистить его (при этом крышка, под которой он скрыт во время обычной работы, открывается, и он выдвигается, но измерение не происходит), вам нужно выполнить код M44. По классической логике языка, использование G-кода для измерения длины — нестандартное решение, потому что вы явно не хотите, чтобы одновременно с этим (одной строкой кода) выполнялись какие-то еще действия. Но в современных реалиях это не имеет значения. На станках Haas та же операция измерения делается вообще запуском специальной подпрограммы с параметрами (тип и номер инструмента), а не одним кодом. Плюс, практически любой контроллер позволяет определять пользовательские G- или M-коды, полностью стирая различие между ними.

Ветвление и циклы

В G-code есть условный и безусловный переход по команде

GOTO

. Синтаксис адреса (аргумента) этой команды может различаться. Чаще всего, это число, соответствующее номеру строки, заданному на самой строке, как

Nчисло

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

Условный переход выполняется традиционным IF [выражение] THEN команда. Конструкция ELSE в языке не нужна, потому что если условие — ложно, команда на этой строке не будет выполнена, а будет выполнен переход на следующую строку. Это важно понимать, потому что ошибка с тем, чтобы поместить команду, которая должна быть выполнена только если условие истинно, на следующую строку — одна из самых распространенных в «ручном» программировании. Вероятно, это случается с неопытными программистами, которые до этого привыкли к синтаксису языков высокого уровня. В некоторых реализациях не обязательно и THEN, что добавляет краткости, но не добавляет читаемости. Сравните (даже не имея представления о смысле):

IF [#1 NE 10] THEN #2=20

и

IF [#1 NE 10] #2=20

Циклы в явном виде реализованы конструкцией

WHILE [выражение] DOметка ... ENDметка

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

GOTO

. Но «запрыгнуть» внутрь цикла, используя размещенную внутри него метку — нельзя. Возможно, в каких-то контроллерах это и разрешено, но в тех, на которых я это проверял, это вызывает ошибку.

Подпрограммы

История использования подпрограмм в G-code тянется еще со времен перфолент. Существует несколько способов их вызывать, и это достаточно избыточно. Каждая программа или подпрограмма на G-code имеет свой идентификатор — цифровой код. Положение (под)программы определяет, должен ли этот идентификатор начинаться с латинской O или латинской N. По этому коду их можно вызывать разными способами. Эти способы (используемые для этого коды) различаются, например, тем, где контроллер будет искать эту подпрограмму — внутри файла (на станках Haas это код

M97

) программы или во всех файлах (а это уже

M98

). Если подпрограмма содержится в файле программы и имеет идентификатор номера строки (N), ее следует вызывать, как «внутреннюю подпрограмму». В этом случае, совершенно не нужно беспокоиться об уникальности идентификатора. Если же подпрограмма имеет идентификатор, начинающийся с буквы O, она может содержаться и внутри файла основной программы, и в отдельном файле. В этом случае, следует заботиться о том, чтобы номер был уникален среди всех программ в памяти контроллера, потому что иначе, контроллер либо выдаст ошибку при попытке записать такую подпрограмму в его память, либо, что хуже, может выполнить первую попавшуюся подпрограмму из нескольких с одинаковыми номерами. На большинстве контроллеров это, к счастью, невозможно. В общем, любую программу можно вызвать, как подпрограмму, только из-за отсутствия кода возврата

M99

, аналога return, и присутствия кода остановки

M30

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

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

Указатели, переменные, регистры

Хотя G- и M-коды контроллеров — довольно большая тема, переменные — еще более обширная и сложная история. Дело в том, что «железо» станков управляется огромным количеством переменных, напоминающих по принципу их работы регистры процессоров. Доступ к этим регистрам в каких-то случаях возможен по предопределенным буквенным именам, в каких-то — по номерам, в каких-то — по назначенным буквенно-цифровым именам. При этом, свойства, назначение и поведение этих переменных могут быть совершенно разными.

Если вы хоть раз видели программу на G-code для промышленного станка, вы, возможно, заметили, что в начале самой программы, а иногда — в начале каждого фрагмента или подпрограммы, отвечающей за один инструмент или один элемент детали, есть длинная строка кодов, которые вроде бы ничего не делают. Это так называемая safe line. Она нужна, потому что станок помнит свое состояние. Например, содержимое какого-то регистра может сохраняться даже после выключения и включения станка, потому абсолютно всегда имеет смысл в явном виде устанавливать желаемое состояние перед совершением каких-то операций. Это напоминает то, как в web-разработке используются Reset.css и Normalize.css. Иначе, это правило для программистов звучит как «никогда не предполагай, что станок находится в определенном состоянии, если ты его в это состояние не привел». Пренебрежение этим может стоить дорого, включая капитальный ремонт станка. При этом, наиболее надежной практикой считается именно приведение станка в искомое состояние, а не проверка, находится ли он в нем. Почему? Потому что приведение, как правило, делается одной безусловной командой, а проверка требует условного ветвления.

Практический пример. При использовании контроллера Haas, некоторые адреса доступны для чтения только по номеру ячейки памяти, тогда как для записи — по буквенному псевдониму и по номеру. Скажем, чтобы установить скорость вращения шпинделя, достаточно выполнить код S<целое число>, запись IF [S EQ 200] (проверка если скорость шпинделя равна 200) работать не будет, нужно писать IF [#цифровой номер ячейки EQ 200]. Очевидно, что установить нужную скорость — куда проще, чем проверить ее. Более того, я с большим трудом могу себе представить ситуацию, когда проверка была бы действительно нужна, за исключением всего одного случая, с которым мне пришлось столкнуться. Некоторые станки имеют в своем наборе инструментов вентилятор, который устанавливается в шпиндель, как обычный держатель фрез. Это нужно, чтобы сдувать охлаждающую жидкость и стружку с детали после окончания ее обработки. Работа вентилятора зависит от скорости вращения — он складной, ему нужна определенная скорость, чтобы раскрыться от центробежной силы. Но станок имеет функцию изменения скорости вращения шпинделя, чтобы при отладке программы оператор мог на ходу переопределить скорость, заданную программой. Однако, если забыть отключить это изменение, вентилятор может или не раскрыться, или разлететься от слишком быстрого вращения. До того, как я начал работать в компании, этот вопрос никак не решался, считалось, что это ответственность оператора. Я же обратил на это внимание после первого происшествия и написал дополнение к программе для вентилятора, которое запускает вентилятор сразу после его установки в шпиндель, затем читает по нумерованному адресу (на счастье, документированному) значение реальной скорости вращения, делит его на устанавливаемую программой скорость и определяет, не различаются ли они больше чем на 1% (легкие вариации допускаются, хотя 1% — это порог с запасом), и если различаются — останавливает программу, включая индикатор ошибки и выдавая сообщение о том, что переопределение скорости следует отключить. Иронично, что тот же самый контроллер позволяет запретить переопределение некоторых параметров из программы (скорости движения стола, например), но не скорости вращения шпинделя. Почему? Так решил производитель. А моя задача — сделать так, как нужно производству, несмотря на то, что думает производитель, не нарушая гарантию. Для типичного производственного программиста, который не связан с автоматизацией, подобное решение выходит за рамки его деятельности.

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

Приведение типов

Это одна из неприятных особенностей многих реализаций G-code и контроллеров. Глядя на параметр

X10

, логично предположить, что это целое число. Но, в зависимости от того, как контроллер работает и как настроен, машина может интерпретировать и как

X10.0

и как

X0.0010

— в втором случае, это будет «десять минимальных единиц инкремента для данного контроллера». (Что, в свою очередь, может быть и десять микрон и десять десятитысячных долей дюйма.) Чудовищно, правда? Студенты и начинающие операторы постоянно делают эту ошибку. При этом, это можно настроить в контроллере. Потому, для полной переносимости и независимости от настроек, десятичная точка должна быть в цифровых значениях координат абсолютно всегда.

Хуже становится, когда речь о параметрах, передаваемых вызываемой подпрограмме. Практический пример. Автоматический измеритель длины инструмента Renishaw, установленный на станке Haas, требует для запуска измерения одного инструмента код G65 P9023 A12. T1, где T1 — номер инструмента (1, в данном случае). Но если вы хотите измерить сразу несколько инструментов, код будет G65 P9023 A22. I1. J2. K3. Тут уже параметры должны быть с точкой. Почему? Потому что когда вы пишете в T, этот адрес предназначен для хранения номера инструмента, потому на станке Haas он автоматически интерпретируется как целое число (мне неизвестны реализации, где это может быть дробное число, но я не могу этого исключить, например — у одного инструмента могут быть разные режущие кромки, нумеруемые, как дробная часть его номера). А вот когда параметры передаются через регистры, хранящие локальный стек переменных общего назначения, точка нужа, потому что там может храниться что угодно. При этом, у тех же станков Haas есть две настройки, которые отвечают за изменение этого поведения. Одна касается ввода параметров в контроллер, а другая — интерпретации некоторых именованных регистров использующихся для хранения координат.

Об обучении

Программированию станков с ЧПУ учат очень разными путями и с разными задачами. В одном случае, речь просто о том, чтобы научить пользоваться CAD/CAM, чтобы программист был в состоянии превратить модель (чертёж) в код, исполняемый на том или ином станке, изготавливающий деталь по модели. Это напоминает процесс обучения программированию «общего назначения» в ВУЗе, где вопросы исполнения кода, аппаратной архитектуры и написания кода на Ассемблере рассматриваются очень поверхностно. В других, заметно более редких случаях, процесс более всего напоминает обучение системному программированию, а примеры исполнения кода на конкретной архитектуре входят в него, как неотъемлемая часть. Поскольку я когда-то учился цифровой электронике, и программирование железа на низком уровне было частью этого, пусть и в довольно скромном объеме, второй вариант лично мне как-то ближе, и именно так я старался преподавать это сам, когда у меня была такая возможность.

Я вполне допускаю, что некоторые аналогии в статье могут показаться кому-то натянутыми, но я и не претендую на их точность. Речь, скорее, о сходстве «духа» упомянутых выше языков, о том, что опыт «ассемблерного мышления» может довольно сильно способствовать глубокому пониманию G-code, тогда как опыт программирования только на языках высокого уровня, отделенных от аппаратной реализации, может вызвать недоумение и даже некоторую неприязнь у того, у кого вдруг возникнет необходимость писать вручную для станков с ЧПУ.

ЧПУ станок G коды что это такое

ЧПУ станок G коды что это такое

2018-02-08

Пару лет назад никто даже не подозревал о станках с ЧПУ, однако сейчас они пользуются огромной популярностью и установлены практически на каждом промышленном предприятии. С помощью этих станков производится почти все изделия для разных сфер использования. Программное управление прочно закрепилось в этих станках, потому что производство чего-либо в настоящее время невозможно без контроля машинами.
Аббревиатура ЧПУ расшифровывается как числовое программное управление. Числовым оно названо из-за внесения параметров в числовом виде, который будет понятен оператору. Пересчет внесенных значений обычно происходит автоматически. Слово программное обозначает то, что работа производится через специальное программное обеспечение. Некоторые виды станков включают в себя 3D реализацию. Управление связано с тем, что весь цикл программы осуществляется автоматически. Один такой станок способен выпустить более одной сотник деталей за день. При отсутствии такого станка выпуск такого количества деталей был практически невозможен. Коды, которые управляют станком, мгновенно загружаются в котроллер. Это происходи с помощью человека. Однако дальнейший процесс уже не требует его участия.
Станки с управлением ЧПУ могут быть совершенно разными. Обычно на его основе работают плазморезы, фрезерные и токарные станки, станки для обработки дерева. Это лишь часть самых востребованных станков ЧПУ. Существует еще огромное множество других видов, которые отличаются своим назначением.
Станок ЧПУ является наиболее универсальным вариантом для обработки любых материалов, так как это обработка происходит в автоматическом режиме. За перемещение инструмента и детали отвечает специально заложенный в конструкцию станка контроллер.
Для того чтобы создать коды для программы управления необходимо перенести размеры чертежа в окна стандартных циклов. Все значения, которые были введены, необходимо сохранить, а команды прописать в процессе, который носит название компиляция. Оператор должен задать точку привязки инструмента, которая будет являться положением для начала движения фрезы. Замер точного значения этой точки осуществляется с помощью датчиков бесконтактных систем. Когда произведено введение всех вышеописанных данных, нужно нажать кнопку пуска, которая запустить автоматический цикл. Когда будет осуществляться рез, оператор следит за тем, чтобы инструмент оставался целым, а изготавливаемая деталь соответствовала спроектированному чертежу. Если станок ЧПУ будет предназначен для металла, то стоит воспользоваться функцией паузы, чтобы удалить стружку.
Системы управления работают на одинаковом принципе управления, что было достигнуто благодаря постоянному совершенствованию ЧПУ. Первоначально было лишь управляющее железо, которое принадлежало компании Fanuc. Однако постепенно фирмы стали искать более удобный способ работы на станках, и пришли к той системе, которая существует сейчас.
Оператор осуществляет контроль работы станка с помощью пульта управления. Все операции, связанные с вычислением происходят в плате с ЧПУ-процессором. Разъемы интерфейсов, расположенные на панели используются для того, чтобы загружать и выгружать программы и создавать аварийные архивы. Также есть возможность использовать такой разъем для SD-карты.
Оперативная память этой системы копируется на жесткий диск. Это место является резервным. Для других случаев может быть использована карта. Высокая точность обеспечивает серводвигатель, в который встроены датчики положения. Также всегда добавлены линейные датчики, разрешение которых составляет 0,01.
Станки с ЧПУ требует в работе с ними наличие различных программных обеспечений, однако зачастую используется управляющий код. Даже станки для любителей, как правило, основываются на этом программном обеспечении. Его называют «G-код». Это язык программирования, предназначенный для станков с системой ЧПУ, а также команда с параметрами (самостоятельный структурный элемент). До появления G-кода существовал язык программирования, который назывался ISO 7 bit. Такое название было обусловлено тем, что до появления компьютеров с привычным для всех  монитором и клавиатурой с программой G-код, все записывали на перфоленту. Для этого использовал семь дорожек, которые предназначались для кодирования, а функция восьмой отвечала за контроль честности.
Как элемент языка G-код – это команды, которые должны задаваться какими-либо параметрами. Примером таких параметров может стать G00 X45 Y 62. Данная запись означает инструкцию по ускоренному перемещению рабочего станка в точку с координатами 45.
G-код представляет собой условное название для языка программирования станков с ЧПУ системой.  Он был создан благодаря компании Electronic Industries Alliance в 1960 году. Окончательный вариант G-кода был представлен зимой 1980 года. Его представили как стандарт RS274D. Этот язык программирования был утвержден комитетом ISO и переименован в стандарт ISO 6983-1:1982. Поэтому в старых советских записях G-код обозначают как код с названием ISO 7 bit.
Язык этого кода установлен российским ГОСТом. Также там описаны спецификации языка, которые поддерживает все ЧПУ, установленные на станках. Но иногда производителя вносят в них свои дополнения. Поэтому язык каждой ЧПУ слегка отличается друг от друга, но эта разница несущественна и обычно описана в инструкции.
G-коды соединяются между собой и образуют кадры. Каждый такой кадр включает в себе определенное количество команд или их группу, а завершает его символ, обозначающий перевод строки. Объединение кадров создает подпрограммы. Подпрограммы имеют возможность использовать созданный код несколько раз. Такая способность облегчает работу при создании сложных и длинных программ.
Программа, которую удается написать с помощью G-код, как правило, всегда четко структурирована. G-коды и созданные с помощью них команды объединены в кадры. Каждый кадр имеет свой номер, но это не распространяется на первый в программе кадр. Первый кадр всегда должен содержать только один символ «%».
Однако написание программ для станков с ЧПУ системой не достаточно практично и выгодно. Работа даже над самой простой и небольшой программой обычно отнимает слишком много времени, а также требует огромного количества внимания. Так как допустить ошибку в написании программы нельзя. Сейчас чаще всего используют более понятные и простые программы, такие как САМ. Она представляет собой систему с графическим интерфейсом. Эти системы транслируют полученные от человека инструкции в G-коды. Эта программа освобождает программиста от ненужной и муторной работы – поиска ошибок, что позволяет ему сосредоточиться на создании детали и программы.
Команды, написанные с помощью G-кода, начинаются с буквы G. К самым распространенным командам, которые относятся к этапу подготовки, являются: перемещение рабочих деталей оборудования с необходимой скоростью, управление параметрами инструмента и выполнение последовательных команд (резка, обработка).
Одной из первых в списке команд G-кода является команда, которая называется быстрое позиционирование. Эта команда обозначается числовым кодом, состоящим из двух нулей. Её запись выглядит так — G00.
Данная команда G-кода для станков предназначена для выполнения функции ускоренного перемещения. Задавая эту команду, станок должен выполнить перемещение, имеющегося у него инструмента для резки, с высокой скоростью. Перемещение инструмента выполняется до позиции обработки или на безопасную позицию. Эта функция никогда не должна быть использована для обработки. Это связано с осуществлением данной команды на очень высокой скорости. Этот G-код можно отменить. Для этого необходимо использовать коды: G01, G02, G03.
В языке программирования существует 7 подготовительных G-кодов. А также большое количество основных, технологических и вспомогательных кодов. Все эти G-коды представлены в инструкциях, с описанием действия, который выполняет тот или иной код. Вспомогательные и технологические G-коды обычно начинаются не как все остальные с буквы G, в начале их при записи ставится буква M. Параметры команд, которые записываются с помощью кодов, задаются с помощью букв латинского алфавита.

Не удается найти страницу | Autodesk Knowledge Network

(* {{l10n_strings.REQUIRED_FIELD}})

{{l10n_strings.CREATE_NEW_COLLECTION}}*

{{l10n_strings.ADD_COLLECTION_DESCRIPTION}}

{{l10n_strings.COLLECTION_DESCRIPTION}} {{addToCollection.description.length}}/500 {{l10n_strings.TAGS}} {{$item}} {{l10n_strings.PRODUCTS}} {{l10n_strings.DRAG_TEXT}}  

{{l10n_strings.DRAG_TEXT_HELP}}

{{l10n_strings.LANGUAGE}} {{$select.selected.display}}

{{article.content_lang.display}}

{{l10n_strings.AUTHOR}}  

{{l10n_strings.AUTHOR_TOOLTIP_TEXT}}

{{$select.selected.display}} {{l10n_strings.CREATE_AND_ADD_TO_COLLECTION_MODAL_BUTTON}} {{l10n_strings.CREATE_A_COLLECTION_ERROR}}

Применение ПЛК в системах позиционирования. G-коды

Рисунок 1 — Комплексная автоматизация промышленного производства

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

Современные системы ЧПУ, называемые CNC (англ. Computer Numerical Control), основаны на системе управления построенной на микроконтроллере (обычно самодельные блоки управления), промышленном компьютере или программируемом логическом контроллере (ПЛК).Любой станок с ЧПУ имеет два или более направления для движения, которые называемых осями. Причем движение по этим осям осуществляется точно и автоматически. На универсальном станке движение детали или инструмента порождается путем ручных операций, выполняемых станочником (например, вращением рукояток). Вместо этого станки с ЧПУ оснащены сервомоторами, которые приводятся в действие системой с ЧПУ, а та в свою очередь в точности исполняет команды управляющей программы. Обобщая, можно сказать, что тип движения (ускоренный, линейный или круговой), оси перемещений, величина и скорость перемещения программируются во всех типах систем с ЧПУ. На рисунке схема управления линейным перемещением на станке с ЧПУ.

Применение именно ПЛК для создания полноценной системы ЧПУ в локальных условиях набирает особую популярность. Стоимость готовых станков ЧПУ на базе промышленных компьютеров очень велика, и оправдывает себя в крупном производстве. Разработка системы основанной на ПЛК, позволяет создать решение не уступающее по характеристикам в быстродействие и, что самое главное, в гибкости более мощным станкам. ПЛК разработанные для управления приводами имеют специальную структуру предназначенную для считывания и вырабатывания команд управления. В структуру входят: мощный обрабатывающий процессор, быстродействующие входы/выходы, специальная среда программирования, способная сама обрабатывать программы специальных языков программирования, используемых в промышленных станках ЧПУ.

Самой распространенным из таких языков является стандарт RS274D или как его условно называют G-код. Данный язык был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980. Комитет ISO утвердил G-код, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР – как ГОСТ 20999-83. В советской технической литературе G-код обозначается, как код ИСО 7-бит (ISO 7-bit).Программа, написанная с использованием G-кода, имеет жесткую структуру. Все команды управления объединяются в кадры-группы, состоящие из одной или более команд. Завершается программа командой M02 или M30. Порядок команд в кадре строго не оговаривается, но традиционно предполагается, что первыми указываются подготовительные команды, (например, выбор рабочей плоскости), затем команды перемещения, затем выбора режимов обработки и технологические команды.

Основные (называемые в стандарте подготовительными) команды языка начинаются с буквы G:

  • Перемещение рабочих органов с заданной скоростью (G00-G04)
  • Выполнение типовых последовательностей таких, как обработка отверстий и резьб (G80-G84)
  • Управление параметрами инструмента, системами координат, и рабочих плоскостей (G17-G19, G53-G59)

Технологические команды языка начинаются с буквы М. Включают такие действия, как:

  • Сменить инструмент (M06)
  • Включить/выключить шпиндель(M03, M04)
  • Включить/выключить охлаждение(M13, М14)
Рисунок 2 — Получение G-кодов

Современные программы позволяют получить управляющую программу содержащую G-код из чертежей формата dxf, dwg (AutoCAD, Компас 3D) методом конвертирования в программах NCPlot (платная), ACE converter (бесплатная) так и самому создавать управляющую программу и эмулировать ее: ArtCAM, SolidCAM (платные), inkscape (бесплатная). Остается только правильно реализовать G-коды средствами ПЛК. Фирма Delta Electronics разработала специализированную серию программируемых логических контроллеров DVP-PM для создания локальных систем ЧПУ. Данный ПЛК может осуществлять, в зависимости от модели, 2-х или 3-осевую интерполяцию. Контроллер имеет высокоскоростные выходы для вырабатывания сигналов управления сервоприводом. Так как выходы обладают очень большой частотой срабатывания, до 500 кГц, то благодаря этому, в комплекте с сервоприводами, можно обеспечить высокое быстродействие всей системы а не ее отдельных компонентов. Мощный процессор обеспечивает как высокое быстродействие, так и вычисление большого объема информации.

Управление сервоприводами можно осуществлять специальными командами позиционирования, но основной отличительной особенностью является способность контроллера самому анализировать записанные в него G-коды. Конечно такие команды как смена инструмента, переключение рабочих поверхностей, циклы сверления или нарезание резьб, контроллер не осуществляет, так как это не его прямое назначение. ПЛК поддерживает инструкции G0—G4 (позиционирование инструмента) и G90—G92 (переключение системы координат), т. е. команды, отвечающие именно за перемещение инструмента. Происходит это следующим образом. Средой программирования контроллеров DVP-PM служит бесплатная программа PMSoft. Языки программирования это LD или IL, стандарта IEC61131-3. Добавление в листинг готовой программы управления основанной на G-кодах происходит путем экспортирования файла содержащего текст данной программы. Формат файла не имеет значения, т. к. PMSoft сам его распознает, но обычно используется стандартный *.txt.

Рисунок 3 — Результат преобразования программы ПЛК с интегрированным G-кодом управления инструментом по осям

Используя встроенный помощник, можно легко задать начальные параметры программы, такие как максимальные скорости движения, тип выходного импульсного сигнала, начальную позицию, систему счета и т. п. Очень важно задать систему единиц, чтобы ПЛК знал какими единицами оперировать. Таких единиц три:

1. Машинные: система оперирует импульсами. Выражается это так, конечное положение через 10 000 импульсов, скорость перемещения 10 кГц. Следовательно, мы должны точно настроить сервопривод и знать, что 10 000 импульсов это, к примеру, 50 см, а скорость 10 кГц соответствует 0,1 м/сек.

2. Механические: длинна, скорость, угол перемещения задаются в единицах системы СИ. Предварительно необходимо в соответствующих регистрах задать единицы для перевода.

3. Комбинированные: при задании координат используют механические единицы, а скорости — машинные.

В результате, инструкции и G-коды масштабируются в соответствии с выбранными нами единицами. При использовании G-кодов необходимо учитывать:

Рисунок 4 — Общий алгоритм работы системы
  • G-коды полученные в CAM программе и не поддерживаемые контроллером не учитываются при выполнении.
  • Инструкция быстрого перемещения (G0) использует максимальную скорость перемещения.
  • Инструкции перемещения и скорость имеют преемство, т. е. в каждой строке кода если идет одна и та же команда необязательно прописывать каждый раз инструкцию и значение скорости, достаточно один раз задать инструкцию и затем задавать координаты. Выполнение инструкции будет идти до тех пор, пока не появится новая.
  • Задание системы координат, G90 и G9, выполняются первыми если в строке есть еще команды.
  • Неразделенные пробелом команды будут определены.
  • Координаты и скорости с десятичной точкой будут умножены на 1000.

Контроллеры программируемые DVP-PM имеют модификацию как для двух, так и для трех осей. Если используем двухкоординатный PM, то рассмотрим ситуацию с моделированием перемещения по оси Z. В нашем случае это функции: поднять/опустить инструмент, функции захвата и т. п. Когда G-коды содержат координаты перемещения по оси Z, среда создает специальную подпрограмму (называется P255), которая вызывается в ходе программы и осуществляет перемещение по оси Z. В качестве сигнала управления для оси Z можно использовать: собственные дискретные выходы (если перемещения инструмента выполняет к примеру), либо другой ПЛК (например программируемый логический контроллер DVP-SS2) или модуль расширения с сервоприводом (если необходимо позиционирование).

Рисунок 5 — Технические средства для построения системы

Разберем реальный пример:

Рисунок 6 — Контур обработки

1. Начертим контур обработки в CAD программе, к примеру в Компас-3D.

2. Получим из чертежа G-код с помощью CAM программы NCPlot v2.21

3. Сохраним полученный файл. Сохраняется в формате *.NC (можно открыть блокнотом и внести коррективы) и следующим шагом запишем его в PM.

Рисунок 7 — Структура программы
  • 01100 — Здесь разместили подготовительные команды (максимальная скорость, время разгона/замедления, система единиц)
  • Р255 — Подпрограмма для перемещения по оси Z (поднять/опустить) инструмент (срабатывает выход Y0)
  • 0ХО — G-код в подпрограмме перемещения (ОХО)
Рисунок 8 — Выставление параметров перемещения по осям

Чтобы не прописывать вручную, зададим с помощью помощника следующие параметры перемещения по осям:

  • систему единиц, единицы перевода;
  • максимальную скорость,время разгона/замедления, скорость JOG;
  • параметры логики входов и ручного задания;
  • формат выходных импульсов, систему координат, начальную координату, электронный кулачковый.
Рисунок 9 — Параметры в программе инструкций

G-код сразу записывается в подпрограмму OX, так как в главной программе инструкции позиционирования применять нельзя. Удобнее G-код вызывать из подпрограмм с заголовком P, а в OX записывать параметры перемещения для обрабатываемого контура (скорость холостого хода, и т. п.) Так и поступим.

Рисунок 10 — Параметры в программе инструкций

Загрузим программу в ПЛК и с помощью встроенного в PMSoft монитора XYChart (перемещение по осям) посмотрим на перемещение инструмента по координатам XY. Жирным выделено рабочие перемещения а тонким, перемещение холостого хода.

Дополнительные материалы:

Читайте также:

Что такое G-код? Что такое M-Code? Что они означают при обработке с ЧПУ?

Как ясно видно из названия, ЧПУ (числовое программное управление) — это автоматизированное управление обрабатывающими инструментами с помощью компьютера. Однако это не происходит просто так; для этого требуется правильно закодированная запрограммированная инструкция.

Итак, что такое G-код? Что такое М-код? И как на самом деле работает программирование G-кода и M-кода? В этой статье объясняется каждый из них, но сначала давайте коснемся того, что на самом деле представляет собой программирование.

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

Если вас интересует процесс программирования, прочтите эту статью.

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

Что такое G-Code — Мастер действий

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

За буквой G следует число, которое является командой для изменения геометрии. Например, «G00» — это команда быстрого перемещения. Он перемещает инструмент к геометрии детали с максимальной скоростью и обычно используется для перемещения инструмента и детали от ближнего к дальнему или наоборот.

Вот несколько примеров G-кода:

  • G00: быстрое перемещение в определенную координатную позицию
  • G01: Линейная подача
  • G02 / G03: Подача по часовой стрелке / против часовой стрелки

За этими кодами, например G00, следует геометрическое местоположение.Геометрия передается с координатами на осях, то есть координаты «X» и «Y» на плоскости.

Давайте разберемся с «G00G58X-120.Y-5». Вы знаете, что «G00» означает быстрое движение. «G58» задает рабочие координаты, изменяя геометрию относительно рабочих смещений, например, начало координат детали. «Х-120». означает переход к «-120 мм» по оси X и «Y-5». означает переход к «-5 мм» по оси Y.

G-код может повторять действие бесконечно, пока оно не будет остановлено. Например, G01, за которым следует последовательность позиций X, Y или Z, означает, что все перемещения линейной подачи происходят в G01.Типичным примером обработки является торцевое фрезерование, при котором последовательность позиций используется для обработки контура торца детали.

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

Оси X и Y позиционируют шпиндель точно для выполнения резки или другой функции.

Что такое M-Code — Организатор функций

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

Вот несколько примеров M-кода:

  • M00: Остановить любую функцию, выполняемую программой в данный момент
  • M03: вращать шпиндель по часовой стрелке
  • M08 / M09: Заливка охлаждающей жидкости вкл. / Выкл.

Подобно G-коду, M-код состоит из буквы «M» и числа. Однако, в отличие от G-кода, M-код может быть более специфичным для разных машин и более настраиваемым.Оба типа необходимы для того, чтобы станок с ЧПУ выполнял свои функции.

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

Строка программы Пояснение
N102M6T2 Номер кадра 102, смена инструмента на инструмент 2
(3 «ФАСОВАЯ СТАНЦИЯ) Комментарий — машина не считывается, но сообщает, что инструмент 2 инженера-оператора представляет собой 3-дюймовую торцевую фрезу
M82 Поддон А чек
IF [# 10002 + # 11002LT150.] GOTO2001 Высота инструмента мин. Проверка
IF [# 10002 + # 11002GT154.] GOTO2002 Проверка макс. Высоты инструмента
G00G90B267. Быстрое абсолютное позиционирование, поддон поворачивается на B 267 (градусов)
M08 Охлаждающая жидкость на
(ЧАСТЬ B) Комментарий

Некоторые примеры строк программирования кода и их значение. Все, что указано в скобках, не считывается машиной.Это комментарии для программиста и оператора.

Другие команды. Прочие машины.

Помимо G-кодов, M-кодов и позиционирования осей X / Y / Z, при обработке с ЧПУ используются другие команды. Для команды запуска вращения шпинделя M03 требуется команда «S», которая управляет скоростью шпинделя в об / мин.

Вот как это добавляется к нашему текущему образцу кода: G00G58X-120.Y-5.M03S3820.

«S3820» указывает скорость шпинделя 3820 об / мин. Пока что программа установила геометрию и скорость шпинделя.

Другие возможные функции:

  • F: Подача
  • T: Номер инструмента
  • H: вызов коррекции длины инструмента

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

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

Сила программного обеспечения

В то время как машины часто программируются напрямую с помощью G-кода, программист с ЧПУ часто использует инструмент программирования высокого уровня с автоматизированным производством (CAM).

Mastercam — это программа для создания кода, которая помогает программистам создавать правильный код для проекта. Стандарт в индустрии ЧПУ, Mastercam принимает входные данные от программиста (все, что ему нужно сделать) и производит правильное программирование G-кода и M-кода.

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

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

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

Кому нужно знать G-код и M-код?

В зависимости от ваших должностных обязанностей, возможно, чтение этой статьи — все, что вам нужно знать о программировании ЧПУ с использованием G-кода и M-кода. Или вам, возможно, придется копнуть глубже, чтобы правильно выполнять свои повседневные обязанности.

В цехе станков с ЧПУ знание кода полезно для многих должностей. Магазины с хорошей внутренней программой обучения объяснят основы программирования новым сотрудникам в процессе ориентации. Другие могут включать его в программу обучения операторов на рабочем месте.

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

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

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

Итак, вы взломали код! Ну, по крайней мере, вы знаете, что такое G-код и M-код, и знаете некоторые другие связанные команды. Возможно, теперь вы подумываете о том, чтобы воспользоваться опытом цеха с ЧПУ.

Наше руководство охватывает девять сценариев, которые могут (или не могут) привести к работе со станками с ЧПУ. Чтобы узнать, когда вы знаете, что пора работать с высокотехнологичным станочным цехом с ЧПУ?, Просто нажмите на изображение ниже.

Справочник G-кодов и M-кодов для токарных станков с ЧПУ для токарных станков с ЧПУ

Категория

G00

Движение

Двигайтесь по прямой на быстрой скорости. XYZ конечной точки

G00 и MDI.

Линейное движение: G00 и G01

G01

Движение

Двигайтесь по прямой на последней скорости, задаваемой скоростью (F) XYZ конечной точки

G01 и MDI.

Линейное движение: G00 и G01

G02

Движение

Дуга окружности по часовой стрелке при скорости (F)

XYZ конечной точки

IJK относительно центра

R для радиуса

Дуги окружности: G02 и G03
G03

Движение

Дуга окружности против часовой стрелки со скоростью (F)

XYZ конечной точки

IJK относительно центра

R для радиуса

Дуги окружности: G02 и G03
G04

Движение

Выдержка: остановка на указанное время.

P для миллисекунд

X в секунду

Точное время и скорость: выдержка, точный останов, компенсация люфта
G09

Движение

Проверка точной остановки Точное время и скорость: выдержка, точный останов, компенсация люфта
G10

Компенсация

Программируемый ввод параметров
G17

Координата

Выбрать плоскость X-Y Координаты G-кода ЧПУ
G18

Координата

Выбрать плоскость X-Z Координаты G-кода ЧПУ
G19

Координата

Выбрать плоскость Y-Z Координаты G-кода ЧПУ
G20

Координата

Координаты программы в дюймах G20 и G21: преобразование единиц
G21

Координата

Координаты программы в мм G20 и G21: преобразование единиц
G27

Движение

Проверка возврата контрольной точки G28: возврат к контрольной точке
G28

Движение

Вернуться в исходное положение G28: возврат к контрольной точке
G29

Движение

Возврат из исходной позиции G28: возврат к контрольной точке
G30

Движение

Вернитесь ко 2-й, 3-й и 4-й контрольной точке G28: возврат к контрольной точке
G32

Консервы

Нарезание резьбы с постоянным шагом (как G01, синхронизированное со шпинделем)
G40

Компенсация

Коррекция на инструмент выключена (компенсация радиуса.)
G41

Компенсация

Коррекция на инструмент слева (поправка радиуса)
G42

Компенсация

Коррекция на инструмент правый (поправка радиуса)
G43

Компенсация

Применить коррекцию на длину инструмента (плюс)
G44

Компенсация

Применить коррекцию на длину инструмента (минус)
G49

Компенсация

Коррекция на длину инструмента отменить
G50

Компенсация

Сбросить все масштабные коэффициенты на 1.0
G51

Компенсация

Включить масштабные коэффициенты
G52 Местная рабочая смена для всех систем координат: добавить смещения XYZ
G53 Система координат станка (отменить рабочие смещения)
G54 Рабочая система координат (1-я деталь)
G55 Рабочая система координат (2-я деталь)
G56 Рабочая система координат (3-я деталь)
G57 Рабочая система координат (4-я деталь)
G58 Система координат заготовки (5-я деталь)
G59 Система координат заготовки (6-я деталь)
G61

Прочие

Режим проверки точной остановки Точное время и скорость: выдержка, точный останов, компенсация люфта
G62

Прочие

Автоматический корректор угла
G63

Прочие

Режим нарезания
G64

Прочие

Лучшая скорость
G65

Прочие

Пользовательский макрос, простой вызов Подпрограммы и макросы
G70

Консервы

Цикл чистовой токарной обработки
G71

Консервы

Цикл черновой токарной обработки

G71: цикл черновой токарной обработки

G71 Тип II: Черновая токарная обработка с выемками

G72

Консервы

Цикл черновой наплавки
G73

Консервы

Цикл повторения шаблона
G74

Консервы

Цикл сверления по метке
G75

Консервы

Цикл обработки канавок
G76

Консервы

Цикл нарезания резьбы G76 Цикл нарезания резьбы на токарном станке
G80

Консервы

Отмена постоянного цикла
G83

Консервы

Цикл торцевого сверления
G84

Консервы

Цикл торцевого нарезания
G86

Консервы

Постоянный цикл растачивания, останов шпинделя, ускоренный выход
G87

Консервы

Цикл бокового сверления
G88

Консервы

Цикл бокового нарезания резьбы
G89

Консервы

Цикл бокового растачивания
G90 Абсолютное программирование XYZ (системы типа B и C)
G90.1 Абсолютное программирование IJK (системы типа B и C)
G91 Инкрементальное программирование XYZ (системы типа B и C)
G91.1 Инкрементное программирование IJK (системы типа B и C)
G92 Цикл нарезания резьбы
G92 (альтернативный)

Движение

Фиксатор максимальной скорости шпинделя S
G94

Движение

Цикл токарной обработки торца
G96

Движение

Постоянная скорость резания ВКЛ G96: постоянная поверхностная скорость
G97

Движение

Отмена постоянной поверхностной скорости G96: постоянная поверхностная скорость
G98

Движение

Скорость подачи в минуту G98 G-Code и G99 G-Code: постоянный цикл возврата или режимы подачи
G99

Движение

Скорость подачи за оборот G98 G-Code и G99 G-Code: постоянный цикл возврата или режимы подачи
G190 Движение Режим радиуса Программирование токарных станков с ЧПУ
G191 Движение Режим диаметра Программирование токарных станков с ЧПУ

М-коды

M00

М-код

Остановка программы (необязательно)
M01

М-код

Дополнительная остановка: оператор выбран для включения
M02

М-код

Конец программы
M03

М-код

Шпиндель включен (вращение по часовой стрелке) M03 и MDI.
M04

М-код

Шпиндель включен (вращение против часовой стрелки)
M05

М-код

Стопор шпинделя M05 и MDI.
M06

М-код

Смена инструмента
M07

М-код

Mist Coolant ON M07 и MDI.
M08

М-код

Заливка охлаждающей жидкости на M08 и MDI.
M09

М-код

Охлаждающая жидкость ВЫКЛ M09 и MDI.
M13

М-код

Шпиндель включен (вращение по часовой стрелке) + охлаждающая жидкость включена M13 и MDI.
M14

М-код

Шпиндель включен (вращение против часовой стрелки) + охлаждающая жидкость включена M14 и MDI.
М30

М-код

Конец программы, режимы перемотки назад и сброса
M97

М-код

Вызов подпрограммы Haas-Style Подпрограммы и макросы
M98

М-код

Вызов подпрограммы Подпрограммы и макросы
M99

М-код

Возврат из подпрограммы Подпрограммы и макросы

ЧПУ Вернуться к ссылке [Easy Tutorial & Guide]

Учебное пособие по G-коду CNCCookbook

Что делает G28 «Возврат в исходное положение»?

G28 — один из тех странных g-кодов, которые вы используете не очень часто, но когда он вам нужен, он чертовски удобен.Его функция — вернуться в исходное положение станка, иногда называемое нулевым положением. Это нулевое положение возврата — это то место, где начинается большинство программ, большинство станков переходят в это положение, когда вы вручную возвращаете или ссылаетесь на станок, и это исходное или нулевое положение для расчета смещений приспособлений для фрез и смещений геометрии для токарных станков.

Обычно G28 позволяет выполнять перемещение через промежуточное положение. Движение в исходное положение выполняется на пороге (G0), а промежуточное положение используется для предотвращения столкновений на пути.На многих машинах, если у вас включен режим Single Block, вы дважды нажимаете кнопку Cycle Start: один раз, чтобы перейти в промежуточное положение, и один раз, чтобы закончить в исходной позиции.

Указание промежуточной позиции G28 на фрезерных станках

Промежуточная позиция указывается с помощью одного или нескольких слов позиции (X, Y или Z) после G28. Если станок находится в абсолютном режиме, эти координаты положения относятся к нулю программы (нулю детали). В относительном режиме координаты указываются относительно текущего положения инструмента.Давайте попробуем несколько примеров:

Перейти прямо в исходную позицию

G91 G28 X0 Y0 Z0

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

Переместитесь на расстояние прямо, затем в исходную позицию

G91 G28 X0 Y0 Z4.0

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

Остерегайтесь абсолютного режима!

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

G28 на токарных станках

Та же идея, но у нас немного другая система координат для работы на токарном центре или токарном станке с ЧПУ.

Предположим, мы будем использовать буквы U и W для представления дополнительных ходов. Тогда

G28 W0

— аналог G91 G28 Z0 на фрезере.Следовательно, инструмент перемещается только по оси X (поскольку инкрементное перемещение по оси Z равно 0), и это промежуточная точка. Отсюда следует, что с оставшимся движением в Z.

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

G28 в Mach4

До сих пор обсуждение G28 было сосредоточено на том, как работают элементы управления Fanuc. Вот как это работает:

G28 X ~ Y ~ Z ~

X, Y и Z определяют промежуточное положение, которое будет интерпретироваться так, как если бы G0 X ~ Y ~ Z ~ появился перед G28 без XYZ.Это то же самое, что и Fanuc.

G30 совпадает с G28

G28.1: Дом топоров

Выпуск G28.1 просто делает то, что происходит, когда вы вручную используете «Ref All» для размещения всех осей вашего станка.

Упражнения

1. Достаньте руководство по программированию для вашей машины и посмотрите, как G28 должен работать.

2. Напишите практический код, используя G28, и выполните его на своем компьютере. Настройте так, чтобы нулевая деталь находилась высоко в воздухе, чтобы не было реальной опасности столкновения.

Следующая статья: Компенсация за инструмент: CAM для бедняков

G-Code для программирования ЧПУ | Блог Fusion 360

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

В этой статье мы поговорим об основном компоненте каждой программы ЧПУ — G-коде.

Краткий обзор G-кода

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

G-код

был впервые установлен в 1960-х годах Ассоциацией электронной промышленности (EIA). Хотя официальный язык был задокументирован как RS-274D, вы слышите, как все называют его G-кодом.Почему? Многие слова или отдельные фрагменты кода, составляющие этот машинный язык, начинаются с буквы G.

Хотя G-код должен быть универсальным стандартом, вы обнаружите, что многие производители станков с ЧПУ разработали свои собственные уникальные особенности. В конце дня мы все ели мороженое, но Haas может быть со вкусом клубники, а Tormach может быть со вкусом шоколада. Из-за этой разницы в разновидностях G-кода крайне важно понимать, как ваша собственная машина использует G-код.

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

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

Блоки G-кода

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

 G01 X1 Y1 F20 T01 M03 S500 

В этой единственной строке мы даем машине ряд инструкций:

  • G01 — Выполнить движение с линейной подачей
  • X1 / Y1 — Перейти к этим координатам X и Y
  • F20 — Переместить со скоростью подачи 20
  • T01 — Используйте инструмент 1 для выполнения работы
  • M03 — Токарная обработка шпиндель на
  • S500 — Установите скорость шпинделя 500

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

Программы G-кода

Цель каждой программы G-кода — производить детали наиболее безопасным и эффективным способом. Для этого вы обычно найдете блоки G-кода, расположенные в определенном порядке, например:

  1. Запустите программу ЧПУ.
  2. Загрузите необходимый инструмент.
  3. Включите шпиндель.
  4. Включите охлаждающую жидкость.
  5. Переместить в позицию над деталью.
  6. Запустить процесс обработки.
  7. Выключить охлаждающую жидкость.
  8. Выключите шпиндель.
  9. Отойдите от детали в безопасное место.
  10. Завершить программу ЧПУ.

Этот поток представляет собой простую программу, использующую только один инструмент для одной операции. На практике вы обычно промываете и повторяете шаги со 2 по 9. Например, приведенная ниже программа G-кода включает все вышеперечисленные блоки кода с повторяющимися разделами там, где это необходимо:

Модальные и адресные коды

Как и другие языки программирования, G-код может бесконечно повторять действие, пока не будет остановлено.Этот процесс цикла использует модальный код, который действует до тех пор, пока вы не отключите его или не измените его другим модальным кодом. Например, M03 — это модальный код, который будет запускать шпиндель неопределенно долго, пока вы не скажете ему остановиться с помощью M05. А теперь подожди секунду. Это слово (помните: слово — это небольшой фрагмент кода) не начиналось с буквы G, но это все равно G-код. Слова, начинающиеся с буквы М, представляют собой машинные коды, и они включают или выключают такие функции станка, как охлаждающая жидкость, шпиндель и зажимы. Я перечислю некоторые из наиболее распространенных в следующем разделе, но вы можете найти список M-кодов вашего компьютера в документации.

G-code также включает в себя полный список адресных кодов. Вы можете думать об этом как о словаре G-кода, который определяет конкретное поведение. Коды адресов начинаются с буквенного обозначения, например G, а затем с набора цифр. Например, X2 определяет адресный код с координатой X, где 2 — это значение по оси X, на которое нужно переместить станок.

Полный список адресных кодов включает:

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

  • % Начинает или завершает программу ЧПУ.
  • () Определяет комментарий, написанный оператором ЧПУ; иногда они должны быть заглавными.
  • / Игнорирует все символы, которые идут после косой черты
  • ; Определяет, когда заканчивается блок кода, не показанный в текстовом редакторе

Объяснение G-кодов и M-кодов

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

G0 — Быстрое движение

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

G1 — линейное перемещение

Этот код указывает станку двигаться по прямой к координатной позиции с определенной скоростью подачи.Например, G1 X1 Y1 F32 переместит станок в координаты X1, Y1 со скоростью подачи 32.

G2, G3 — дуга по часовой стрелке, дуга против часовой стрелки

Эти коды указывают станку двигаться по дуге к месту назначения координат. Две дополнительные координаты, I и J, определяют центральное положение дуги, как показано ниже:

G17, G18, G19 — обозначения плоскостей

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

G40, G41, G42 — Коррекция диаметра фрезы

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

G43 — Коррекция длины инструмента

Этот код определяет длину отдельных инструментов по высоте по оси Z. Это позволяет станку с ЧПУ понять, где острие инструмента относительно детали, с которой он работает.Регистр определяет коррекцию длины инструмента, где H — коррекция длины инструмента, а Z — длина инструмента.

G54 — Рабочее смещение

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

М-коды

Коды

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

Стандартные циклы в G-коде

Последний аспект G-кода, который нужно затронуть, — это постоянные циклы. Они похожи на методы или функции в компьютерном программировании. Они позволяют выполнять сложные действия всего в нескольких строках кода без необходимости вводить все детали.

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

Некоторые общие циклы сверления включают:

G81 — простой цикл сверления

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

G83 — сверло Peck Drill

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

G98 — возврат к начальной быстрой высоте

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

Основные принципы работы

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

Некоторые руководства рекомендуют запоминать наиболее распространенные коды G и M. Хотя это может сработать, практика ведет к совершенству! Постоянно используйте и обновляйте основы G-кода на протяжении всей карьеры, и они останутся с вами. Вот небольшая викторина, чтобы узнать, где вы находитесь.

Готовы применить свои знания в области программирования ЧПУ и G-кода? Попробуйте Fusion 360 сегодня!

Коды G и M для станков с ЧПУ — Фрезерные и токарные станки с ЧПУ

Полный список G-кодов и M-кодов для станков с ЧПУ.

Этот список кодов G и M можно использовать в качестве справочных при программировании или обучении программированию на станках с ЧПУ.

Полный список кодов G и M, которые являются общими почти для всех систем ЧПУ, которые используются в мастерских станков с ЧПУ по всему миру.

Фрезерование с ЧПУ Список кодов G

Код G Описание
G00 Ускоренный ход
G01 Линейная интерполяция
G02 Круговая интерполяция CW
Круговая интерполяция CCW
G04 Dwell
G17 Выбор плоскости XY
G18 Выбор плоскости ZX
G19 Выбор плоскости YZ
G28 Возврат в референтную позицию
G30 Возврат во 2-ю, 3-ю и 4-ю референтную позицию
G40 Отмена коррекции на режущий инструмент
G41 Компенсация на режущий инструмент слева
G42 Коррекция на режущий инструмент справа
G43 Коррекция на длину инструмента + направление
G44 Коррекция на длину инструмента — направление
G49 Отмена коррекции на длину инструмента
G53 Выбор системы координат станка
G54 Выбор системы координат заготовки 1
G55 Выбор системы координат заготовки 2
G56 Выбор системы координат заготовки 3
G57 Выбор системы координат заготовки 4
G58 Координаты заготовки Выбор системы 5
G59 Выбор системы координат детали 6
G68 Вращение координат
G69 Отмена вращения координат
G73 Цикл сверления с высверливанием
G74 Режущий круг по левой спирали
G76 Цикл чистового растачивания
G80 Отмена постоянного цикла
G81 Цикл сверления, цикл точечного растачивания
G82 Цикл сверления или цикл контр-растачивания
G83 Цикл сверления с шагом
G84 Цикл нарезания резьбы
G85 Цикл растачивания
G86 Цикл растачивания
G87 Цикл обратного растачивания
G88 Цикл растачивания
G89 Цикл растачивания
G90 Абсолютная команда
G91 Команда приращения
G92 Настройка для рабочая система координат или зажим на максимальном шпинделе скорость
G98 Возврат к начальной точке в постоянном цикле
G99 Возврат в точку R в постоянном цикле

Токарный станок с ЧПУ Список кодов G

Dwell
Код G Описание
G00 Ускоренный ход
G01 Линейная интерполяция
G02 Круговая интерполяция по часовой стрелке
G03 Круговая интерполяция по часовой стрелке
G04
Точная остановка
G10 Программируемый ввод данных
G20 Ввод в дюймах
G21 Ввод в мм
G22 Сохраненная функция проверки хода на
G23 Сохраненная функция проверки хода выключена 9006 8
G27 Проверка возврата референтной позиции
G28 Возврат к референтной позиции
G32 Нарезание резьбы
G40 Отмена компенсации радиуса вершины инструмента
G41 Коррекция на радиус вершины инструмента слева
G42 Коррекция на радиус вершины инструмента справа
G70 Цикл чистовой обработки
G71 Цикл токарной обработки
G72 Цикл торцевания
G73 Цикл повторения шаблона
G74 Цикл сверления с торцом
G75 Цикл нарезания канавок
G76 Цикл нарезания резьбы
G92 Настройка системы координат или макс.установка скорости шпинделя
G94 Подача в минуту
G95 Подача на оборот
G96 Контроль постоянной скорости резания
G97 Отмена постоянного контроля скорости резания

Список кодов M для фрезерования с ЧПУ

Код M Описание
M00 Остановка программы
M01 Остановка дополнительной программы
M02 Конец программы
M03 Пуск шпинделя вперед по часовой стрелке
M04 Пуск шпинделя в обратном направлении CCW
M05 Останов шпинделя
M06 Слишком сильная замена
M07 Охлаждающая жидкость ВКЛ. шпиндель
M08 Coola nt ВКЛ — заливная охлаждающая жидкость
M09 СОЖ ВЫКЛ
M19 Ориентация шпинделя
M28 Возврат к исходной точке
M29 Жесткий метчик
M30 Конец программы (Сброс)
M41 Выбор пониженной передачи
M42 Выбор высокой передачи
M94 Отменить зеркальное отображение
M95 Зеркальное отображение оси X
M96 Зеркальное отображение оси Y
M98 Вызов подпрограммы
M99 Конец подпрограммы

Список кодов M токарного станка с ЧПУ

Код M Описание
M00 Остановка программы
M01 Дополнительная программа остановка м
M02 Конец программы
M03 Пуск шпинделя вперед CW
M04 Пуск шпинделя назад CCW
M05 Останов шпинделя
M08 Охлаждающая жидкость включена
M09 Охлаждающая жидкость выключена
M29 Режим жесткого метчика
M30 Сброс в конце программы
M40 Шестерня шпинделя посередине
M41 Low Gear Select
M42 High Gear Select
M68 Гидравлический патрон закрыт
M69 Гидравлический патрон открыт
M78 Задняя бабка выдвигается
M79 Задняя бабка реверсивный
M94 Зеркальное изображение отменить
M95 Зеркальное отображение оси X
M98 Вызов подпрограммы
M99 Конец подпрограммы

G-code Знание — ключ к освоению любого станка с ЧПУ

M06 ? G54? S1000? Эти цифры что-нибудь значат для вас? Знание наиболее распространенных команд в вашем G-коде может не быть в верхней части вашего списка приоритетов, но оно может иметь большое значение, помогая вам понять, что делает ваша машина.Станки с ЧПУ действительно хорошо делают то, что им говорят. Это , ваша задача — убедиться, что вы говорите ему, что нужно делать правильные вещи, — и трудно эффективно взаимодействовать с машиной, если вы не говорите на ее языке.

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

G-code — это простой язык программирования для станков с ЧПУ. Он состоит из строк кода, организованных в блоки. Каждый блок управляет одной операцией обработки с ЧПУ, например операцией резки с использованием определенного инструмента. Каждая строка в блоке помечена буквой N и числом.Эти номера строк обычно представляют собой только четные числа (N2, N4, N6 и т. Д.).

Программы G-кода загружаются в станок с ЧПУ для управления операциями обработки.

Поскольку компьютеры стали меньше, дешевле в использовании и более общедоступными, G-код был создан с использованием CAM или автоматизированного производства. Программа CAM принимает вашу 3D-модель CAD, выбранные инструменты и некоторую другую информацию в качестве входных данных. Затем он оптимизирует траектории инструментов и выводит G-код, чтобы сообщить станку с ЧПУ, что делать.Можно писать программы с G-кодом вручную (я сделал короткую в аспирантуре!), Но для сложных операций обработки, требующих десятков тысяч строк кода, если вы не перфекционист мазохист , вы, вероятно, этого не сделаете. хочу.

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

G0 X8 (координата x) Y13 (координата y).

Вы также можете добавлять комментарии в конец строк через точку с запятой:

S100 F200; установить скорость и подачу

Почему важно знать G-код?

Если я что-то знаю об инженерах (а я точно знаю, потому что я один из них), так это то, что нам нравится понимать, как все работает. G-код — это язык, который сообщает станку с ЧПУ, что делать, поэтому понимание этого языка необходимо, чтобы действительно понять, как работает станок с ЧПУ.

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

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

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

Каковы критические команды G-кода?

Каждая команда G-кода представляет собой комбинацию букв и цифр, и в языке используются 5 основных букв. Каждая буква соответствует разному типу действия, выполняемого машиной. Это буквы, которые вам необходимо знать:

  • M: коды действий станка
  • G: коды движения
  • F: управление подачей
  • S: скорость шпинделя
  • T: операции с инструментом

Каждая из этих букв является в паре с номером, чтобы создать настоящую команду.Вот список наиболее распространенных и важных команд:

M-команды

M-команды управляют станком, выполняя такие действия, как запуск или остановка шпинделя или инициирование смены инструмента.

M00: остановка программы

M02: конец программы

M03: шпиндель включен, вращение по часовой стрелке

M04: шпиндель включен, вращение против часовой стрелки

M05: остановка шпинделя

M06: смена инструмента

M08: затопление вкл.

M09: залив охлаждающей жидкости выключен

M30: режимы окончания программы, перемотки и сброса

G-команды

G-команды подготавливают машину к определенному движению.Обычно они сопровождаются координатами, поэтому машина тоже знает, куда двигаться. Есть также некоторые команды G, которые используются в начале программы в качестве «безопасных» настроек, чтобы убедиться, что станок с ЧПУ находится в правильном режиме.

Команды движения

G0: ускоренное движение

Ускоренное движение используется для перехода к новым координатам, чтобы начать резку, или для возврата к карусели инструментов для смены инструмента. Эта команда используется только тогда, когда инструмент НЕ контактирует с вашей деталью.

G01: управляемое движение

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

G02: движение по часовой стрелке

Движение по часовой стрелке предназначено для криволинейных траекторий. В этом режиме требуются конечные координаты, а также расстояние до центральной точки дуги как по осям X, так и по Y. Команда I — это расстояние по оси X до центральной точки, а команда J — это расстояние по оси Y до центральной точки. Начальная точка дуги — это положение станка при запуске G2, поэтому вам может потребоваться сначала переместить станок в правильное начальное положение.

Пример: G02 X10 Y7 I0 J-5

G02 подготавливает станок к управляемому движению по часовой стрелке

G03: против часовой стрелки

Эта команда создает дугу между двумя точками так же, как G2, но в направлении против часовой стрелки.

Команды безопасности

G17, G18, G19: рабочая плоскость

G17 устанавливает плоскость x / y как плоскость для обработки. G18 устанавливает плоскость z / x, а G19 устанавливает плоскость y / z.

G20 / 21: единицы

G20 устанавливает единицы измерения в дюймы, а G21 устанавливает единицы в миллиметры.Это ДОЛЖНО соответствовать вашей модели САПР!

G28: исходное положение

G28 отправляет станок прямо в исходное положение. Машина поедет прямо туда (возможно, попутно наткнувшись на вашу деталь). Укажите промежуточный момент, и вы можете быть уверены, что машина ни во что не врежется по пути домой. Эта точка может быть одной координатой, например Z0, или полностью определенной, например X0 Y0 Z0.

G90 / G91

Эти команды управляют режимом, в котором станок интерпретирует координаты.G90 переводит станок с ЧПУ в абсолютный режим, то есть он перейдет, например, в позицию X10 Y10 из любого другого места. И наоборот, G91 указывает станку работать в инкрементальном или относительном режиме. Это означает, что станок будет перемещать 10 единиц по оси X и 10 единиц по оси Y для одной и той же команды X10 Y10.

T: Операции с инструментом

T указывает номер инструмента, на который нужно изменить, вместе с командой M06 (смена инструмента). При настройке станка с ЧПУ каждому инструменту присваивается номер.

Эти инструменты готовы к загрузке в станок с ЧПУ и помечены для операций обработки

S: Скорость шпинделя

Это устанавливает скорость шпинделя на число, следующее за S. Например, S500 означает 500 оборотов в минуту (в типовые агрегаты).

F: Скорость подачи

F контролирует, насколько быстро машина перемещается при реализации режимов движения G к указанным координатам. Единицы здесь зависят от того, что вы установили с помощью G20 или G21.

Большинство этих команд стандартизированы и будут работать на любом станке с ЧПУ, который использует G-код.Однако у некоторых станков также есть свои уникальные команды, поэтому убедитесь, что вы выучили особый словарь вашего станка с ЧПУ!

Хотя вы, возможно, не пишете программу CAM самостоятельно, полезно знать, какие команды управляют вашим станком с ЧПУ. Помните, что ваш станок Haas или DMG Mori сделает точно , что вы ему скажете! Знание G-кода гарантирует, что вы говорите ему, что нужно делать правильные вещи.

Устали обрабатывать собственные детали? Пусть Fictiv сделает это за вас! Зарегистрируйтесь и загрузите деталь, чтобы увидеть, как быстро мы можем доставить.

Объяснение G-кода | Список наиболее важных команд G-кода

Если ваша работа или хобби соотносятся с станками с ЧПУ или 3D-принтерами, то понимание того, что такое G-код и как он работает, имеет важное значение для вас. Итак, в этом руководстве мы изучим основы языка G-кода, каковы наиболее важные или распространенные команды G-кода, и мы объясним, как они работают.

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

G-code — это язык программирования для станков с ЧПУ (числовое программное управление).G-код означает «геометрический код». Мы используем этот язык, чтобы сказать машине, что делать или как что-то делать. Команды G-кода указывают машине, куда двигаться, с какой скоростью двигаться и по какому пути двигаться.

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

Аналогичным образом, в случае аддитивного производства или 3D-принтеров, команды G-кода инструктируют машину наносить материал слой за слоем, формируя точную геометрическую форму.

Как читать команды G-кода?

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

Если мы внимательно посмотрим на код, мы можем заметить, что большинство строк имеют одинаковую структуру. Кажется, что «сложная» часть G-кода — это все те числа, которые мы видим, которые являются просто декартовыми координатами.

Давайте взглянем на одну строку и объясним, как она работает.

G01 X247.951560 Y11.817060 Z-1.000000 F400.000000

Строка имеет следующую структуру:

G ## X ## Y ## Z ## F ##

  • Во-первых, это команда G-кода , и в данном случае это G01 , что означает «двигаться по прямой в определенное положение».
  • Мы объявляем положение или координаты со значениями X , Y и Z .
  • Наконец, с помощью значения F мы устанавливаем скорость подачи или скорость, с которой будет выполняться перемещение.

Подводя итог, линия G01 X247.951560 Y11.817060 Z-1.000000 F400.000000 сообщает станку с ЧПУ двигаться по прямой от его текущего положения до координат X247.951560, Y11.817060 и Z- 1.000000 при скорости 400 мм / мин. Единица измерения — мм / мин, потому что, если мы посмотрим назад на изображение примера G-кода, мы увидим, что мы использовали команду G21, которая устанавливает единицы измерения в миллиметры. Если нам нужны единицы измерения в дюймах, мы используем вместо этого команду G20.

Самые важные / распространенные команды G-кода

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

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

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

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

G01 — Линейная интерполяция

Команда G-кода G01 указывает станку двигаться по прямой с заданной скоростью подачи или скоростью. Мы указываем конечное положение значениями X , Y и Z , а скорость — значением F .Контроллер машины вычисляет (интерполирует) промежуточные точки, через которые нужно пройти, чтобы получить эту прямую линию. Хотя эти команды G-кода просты и интуитивно понятны, за ними контроллер машины выполняет тысячи вычислений в секунду, чтобы выполнить эти движения.

В отличие от команды G00, которая используется только для позиционирования, команда G01 используется, когда станок выполняет свою основную работу. В случае токарного или фрезерного станка — прямолинейная резка материала, а в случае 3D-принтера — прямолинейная экструзия материала.

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

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

Для лучшего понимания мы добавим команду G02 после команды G01 из предыдущего примера.

Итак, в первом примере у нас есть команда G01, которая перемещает станок в точку X5, Y12. Теперь это будет отправной точкой для команды G02. С помощью параметров X и Y команды G02 мы устанавливаем конечную точку. Теперь, чтобы добраться до этой конечной точки, используя круговое движение или дугу, нам нужно определить ее центральную точку. Мы делаем это с помощью параметров I и J.Значения I и J относятся к начальной или конечной точке предыдущей команды. Итак, чтобы получить центральную точку по X5 и Y7, нам нужно сделать смещение 0 по оси X и смещение -5 по оси Y.

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

Итак, здесь у нас все еще есть та же конечная точка, что и в предыдущем примере (X10, Y7), но теперь центральная точка находится в другом положении (X0, Y2).Благодаря этому мы получили более широкую дугу по сравнению с предыдущей.

G00, G01, G02 Пример — ручное программирование G-кода

Давайте рассмотрим простой пример фрезерования с ЧПУ с использованием этих трех основных команд G-кода: G00, G01 и G02.

Чтобы получить траекторию для формы, показанной на изображении выше, нам необходимо выполнить следующие команды G-кода:

 G00 X5 Y5; точка B
G01 X0 Y20 F200; точка C
G01 X20 Y0; точка D
G02 X10 Y-10 I0 J-10; точка E
G02 X-4 Y-8 I-10 J0; точка F
G01 X-26 Y-2; точка B 

С помощью первой команды G00 мы быстро переводим станок из исходного или исходного положения в точку B (5,5).Отсюда мы начинаем с «резки» со скоростью подачи 200 с помощью команды G01 . Здесь можно отметить, что для перехода из точки B (5,5) в точку C (5,25) мы используем значения X и Y относительно начальной точки B. Итак, +20 единиц в направлении Y приведет нас к точке C (5,25). Фактически, это зависит от того, выбрали ли мы машину для интерпретации координат как абсолютных или относительных. Мы объясним это в следующем разделе.

Как только мы достигаем точки C (5,25), у нас есть еще одна команда G01 для достижения точки D (25,25).Затем мы используем команду G02, круговое движение, чтобы добраться до точки E (35,15) с центральной точкой (25,15). На самом деле у нас есть такая же центральная точка (25,15) для следующей команды G02, чтобы добраться до точки F (31,7). Однако мы должны отметить, что параметры I и J отличаются от предыдущей команды, потому что мы смещаем центр от последней конечной точки или точки E. 7) вернуться к пункту Б (5,5).

Итак, вот как мы можем вручную запрограммировать G-код для создания этой формы.Однако мы должны отметить, что это не полный G-код, потому что нам не хватает еще нескольких базовых команд. Мы сделаем полный G-код в следующем примере, так как сначала нам нужно объяснить эти команды G-кода.

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

Как и G02, команда G-кода G03 определяет движение станка по круговой схеме. Единственная разница здесь в том, что движение идет против часовой стрелки. Все остальные функции и правила такие же, как у команды G02.

Итак, с помощью этих трех основных команд G-кода, G01 , G02 и G03 , мы можем сгенерировать траекторию инструмента буквально для любой формы, которую мы хотим. Теперь вам может быть интересно, как это возможно, но на самом деле это простая задача для компьютера и программного обеспечения CAM. Да, это правда, что иногда мы можем вручную создать программу G-кода, но в большинстве случаев мы делаем это с помощью соответствующего программного обеспечения, которое намного проще и безопаснее.

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

G20 / G21 — Выбор единиц

Команды G20 и G21 определяют единицы G-кода: дюймы или миллиметры.

  • G20 = дюймы
  • G21 = миллиметры

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

G17 / G18 / G18 — Выбор плоскости G-кода

С помощью этих команд G-кода мы выбираем рабочую плоскость станка.

  • G17 — плоскость XY
  • G18 — самолет XZ
  • G19 — самолет YZ

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

G28 — Возвращение домой

Команда G28 указывает станку переместить инструмент в исходную точку или исходное положение. Чтобы избежать столкновения, мы можем включить промежуточную точку с параметрами X, Y и Z. Инструмент пройдет через эту точку, прежде чем перейдет в контрольную точку. G28 X ## Y ## Z ##

Исходное положение можно определить с помощью команды G28.1 X ## Y ## Z ## .

G90 / G91 — Команды G-кода позиционирования

С помощью команд G90 и G91 мы сообщаем машине, как интерпретировать координаты. G90 для абсолютного режима и G91 для относительного режима .

В абсолютном режиме инструмент всегда позиционируется от абсолютной точки или от нуля.Таким образом, команда G01 X10 Y5 переместит инструмент в эту точную точку (10,5), независимо от предыдущей позиции.

С другой стороны, в относительном режиме инструмент позиционируется относительно последней точки. Таким образом, если станок в настоящее время находится в точке (10,10), команда G01 X10 Y5 переведет инструмент в точку (20,15). Этот режим также называется «инкрементным режимом».

Другие команды и правила

Итак, команды G-кода, которые мы объяснили выше, являются наиболее распространенными, но их гораздо больше.Существуют такие команды, как компенсация резца, масштабирование, системы координат заготовки, выдержка и т. Д.

Помимо G-кода, существуют также команды M-кода, которые используются при генерации реальной полноценной программы G-кода. Вот несколько распространенных команд M-кода:

  • M00 — Остановка программы
  • M02 — Конец программы
  • M03 — Шпиндель ВКЛ — по часовой стрелке
  • M04 — шпиндель включен — против часовой стрелки
  • M05 — Упор шпинделя
  • M06 — Смена инструмента
  • M08 — Жидкость для заливки ON
  • M09 — Дымоход ВЫКЛ
  • M30 — Конец программы

В случае 3D-принтера:

  • M104 — Запуск нагрева экструдера
  • M109 — Подождите, пока экструдер достигнет T0
  • M140 — Подогрев станины
  • M190 — Подождите, пока кровать не достигнет T0
  • M106 — Установить скорость вентилятора

Для некоторых из этих команд требуются соответствующие параметры.Например, при включении шпинделя с помощью M03 мы можем установить скорость шпинделя с помощью параметра S. Итак, линия M30 S1000 включит шпиндель на скорости 1000 об / мин.

Мы также можем отметить, что многие коды являются модальными , что означает, что они остаются в силе до тех пор, пока не будут отменены или заменены другим кодом. Например, скажем, у нас есть код для линейного движения резания G01 X5 Y7 F200 . Если следующее движение снова будет линейным резанием, мы можем просто ввести координаты X и Y, без надписи G01 спереди.

 G01 X5 Y7 F200
X10 Y15
X12 Y20
G02 X5 Y5 I0 J-5
X3 Y6 I-2 J0 

То же самое относится и к параметру скорости подачи F. Нам не нужно включать его в каждую строку, если мы не хотим изменить его значение.

В некоторых файлах G-кода вы также можете увидеть « N ## » перед командами. Слово N просто для нумерации строки или блока кода. Это может быть полезно для идентификации конкретной строки в случае ошибки в огромной программе.

Пример простой программы G-кода

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

%
G21 G17 G90 F100
M03 S1000
G00 X5 Y5; точка B
G01 X5 Y5 Z-1; точка B
G01 X5 Y15 Z-1; точка C
G02 X9 Y19 Z-1 I4 J0; точка D
G01 X23 Y19 Z-1; точка E
G01 X32 Y5 Z-1; точка F
G01 X21 Y5 Z-1; точка G
G01 X21 Y8 Z-1; точка H
G03 X19 Y10 Z-1 I-2 J0; пункт I
G01 X13 Y10 Z-1; точка J
G03 X11 Y8 Z-1 I0 J-2; точка K
G01 X11 Y5 Z-1; точка L
G01 X5 Y5 Z-1; точка B
G01 X5 Y5 Z0
G28 X0 Y0
M05
M30
% 

Описание программы G-кода:

  1. Инициализация кода.Этот символ (%) всегда присутствует в начале и в конце программы.
  2. Линия безопасности: настройка программирования в метрической системе (все размеры в мм), плоскость XY, абсолютное позиционирование и скорость подачи 100 дюймов / мин.
  3. Шпиндель вращается по часовой стрелке со скоростью 1000 об / мин.
  4. Быстрое позиционирование в B (5,5).
  5. Управляемое движение в том же положении, но опускание инструмента до -1.
  6. Линейное движение резания в положение C (5,15).
  7. Круговое движение по часовой стрелке до точки D (9,19) с центром в точке (9,15).
  8. Линейная резка до точки E (23,19).
  9. Линейная резка до точки F (32,5).
  10. То же прямое резание до точки G (21,5).
  11. Еще один прямой распил до точки H (21,8).
  12. Круговая интерполяция против часовой стрелки в положение I (19,10) с центром в точке (19,8).
  13. Линейный разрез до точки J (13,10).
  14. Круговая резка против часовой стрелки в положение K (11,8) с центром в точке (13,8).
  15. Линейная резка в положение L (11,5).
  16. Окончательное линейное перемещение резания в положение B (5,5).
  17. Поднимите инструмент.
  18. Перейти в исходное положение.
  19. Шпиндель выключен.
  20. Окончание основной программы.

Вот как выглядит этот код, готовый к отправке на наш станок с ЧПУ через программное обеспечение Universal G-code Sender:

Итак, используя эти основные команды G-кода, описанные выше, нам удалось написать наш собственный полноценный G-код. Конечно, этот пример довольно прост, и для более сложных форм нам обязательно нужно использовать программное обеспечение CAM.Вот пример сложного G-кода фигуры лошади:

Для сравнения, в этом коде около 700 строк, но все они генерируются автоматически. G-код был создан с использованием Inkscape в качестве примера для моей DIY-машины для резки пенопласта Arduino с ЧПУ. Вот как получилась форма:

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

Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *