Интернет. Браузеры. Программы. Ноутбук. Компьютеры

G- и М-коды. G-коды Команды чпу

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

Программа, написанная с использованием G-кода, имеет жесткое строение.

Все команды управления объединяются в кадры - состоящие из одной или более команд.

Кадр завершается символом перевода строки (CR/LF).

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

Если говорить коротко, то наш ПК через USB, просто посылают команды на порт принтера (микроконтроллера), а принтер без прикословно их выполняет.

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

Описание команд будет производится для прошивки MARLIN , возможно будет работать и на других прошивках.

Будут рассмотрены самые только самые основные команды (рабочий минимум), в поисках экзотики, можно пройти по ссылке .

Сами команды делятся на группы:

G - Подготовительные (основные) команды;

М - Вспомогательные (технологические) команды.

Эти команды имеют параметры.

X - Координата точки траектории по оси X [G0 X100 Y0 Z0 ]

Y - Координата точки траектории по оси Y [G0 X0 Y100 Z0 ]

Z - Координата точки траектории по оси Z [G0 X0 Y0 Z100 ]

E - Координата точки выдавливания пластика [G1 E100 F100 ]

P - Параметр команды [M300 S5000 P280 ]

S - Параметр команды [G04 S15 ]

F - Параметр команды, подача (скорость) [G1 Y10 X10 F1000 ]

G - команды

G0 - Холостой ход, без работы инструмента [G 0 X 10 ]

G1 - Координированное движение по осям X Y Z E [G 1 X 10 ]

G4 - Пауза в секундах [G4 S15 ]

G28 - Команда Home - паркуем головку [G28 Y0 X0 Z0 ]

G90 - Использовать абсолютные координаты [G90 ]

G91 - Использовать относительные координаты [G91 ]

G92 - Установить текущую заданную позицию [G92 ]

Пояснение:

Относительные координаты - это координаты относительно текущего положения головки.

На пример, если головка находиться в положении X10 Y10, то при подаче команды G91

G1 X10 F1000 , произойдет смещение головы на 10 мм по оси Х на скорости 1000.

Эту команду можно делать много раз, до достижения «софтового» ограничение в прошивке.

Абсолютные координаты - это координаты, строго привязанные к рабочей области.

При выполнении команды G90 G1 X10 F1000 - головка сместиться в координату X10 на скорости 1000.

Команда выполниться только один раз.

Обычные команды

M0 - Сделать паузу и ожидать нажатия кнопки на LCD дисплеи (работает если в прошивку установлен параметр ULTRA_LCD) [G0 X10 Y10 Z10 M0 ]

M17 - Подать ток на двигатели (двигатели руками не вращаются)

M18 - Убрать ток с двигателей (двигатели можно вращать руками, аналог M84)

M42 - Управление контактами ARDUINO MEGA 2560 [M42 P4 S255 ]

M80 - Включить питание, только для ATX - блок питания

M81 - Выключить питания, только для ATX - блок питания

M84 - Выключение всех осей (моторов после простоя) [M84 S10 ]

М112 - Экстренная остановка

M114 - Получить текущие координаты

M115 - Получить версию прошивки

M117 - Написать сообщение на экране [M117 Hello World ]

M119 - Получить статус концевиков

M300 - Проиграть звук [M300 S5000 P280 ]

Команды SD карты

M21 - Инициализировать SD карту

M22 - Использовать SD карту

M23 - Выбрать файл с SD карты [M23 filename.gcode ]

M24 - Начать/возобновить печать с SD карты

M25 - Пауза печати с SD карты

M26 - Установить позицию SD карты в байтах [M 26 S 12345 ]

M27 - Узнать статус печати с SD карты

M28 - Записать файл на SD карту [M 28 filename . gcode ]

M29 - Закончить записать файла на SD карте

M30 - Удалить файл с SD карты [M 30 filename . gcode ]

M31 - Получить значение, сколько прошло времени с последнего M109

M32 - Выбрать файл с SD карты и начать печатать [M 32 / path / filename # ]

M928 - Логирование на SD карту [M 928 filename . gcode ]

Экструдер

M82 - Установить экструдер в абсолютную систему координат

M83 - Установить экструдер в относительную систему координат

M104 - Ожидание нагрева экструдера до определенной температуры [M104 S190 ]

M105 - Получить текущую температуру экструдера [M105 S2 ]

M106 - Включение вентилятора обдува детали [M106 S127 ] - мощность 50%

M107 - Выключение вентилятора обдува детали [M 107 ]

M109 - Нагреть экструдер и удерживать температуру [M109 S215 ]

Стол

M140 - Установить температуру стола [M140 S65 ]

M190 - Нагреть стол и удерживать температуру [M190 S60 ]

В Pronterface можно включить режим ответа в меню Settings / Debug communications , программа будет писать все ответы от принтера.

Можно дописать в слайсерах (Slic3r и Cura) в начале и в конце G-код файла.

Или открыть файл с G-кодом в блокноте и написать все руками. =)

M190 S60 - включаем нагрев стола и ждём, пока он не нагреется до температуры 60 градусов

M109 S210 - включаем нагрев сопла и ждём, пока оно не нагреется до температуры 210 градусов

G21 - устанавливает метрическую систему координат

G90 - устанавливает абсолютную систему координат

M82 - устанавливает абсолютную систему координат для экструдера

M107 - выключаем обдув детали

M300 S5000 P280 – звуковой сигнал

G28 X0 Y0 - команда Home X Y

G28 Z0 - команда Home Z

G1 X100 Y100 Z5 F1000 - центруем сопло относительно стола

G92 E0 - обнуляет количество выдавленного пластика

G1 F300 E4 - выдавливаем 4 мм пластика со скоростью 300 мм

M117 Printing - выводит сообщение на экран

M106 S125 - включаем обдув детали со скоростью 50%

G1 Z0 - опускаем сопло на 0 мм

G1 X96.11 Y110.92 E87.55

G1 Z0.2 - поднимаем сопло на 0.2 мм

G1 X96.11 Y111.00 E89.60 - ездим по координатам и выдавливаем пластик

M140 S50 - изменяем температуру стола

G1 Z4.8 - поднимаем сопло на 4.8 мм

G1 X96.11 Y110.92 E87.55 - ездим по координатам и выдавливаем пластик

G1 Z5 - поднимаем сопло на 5 мм

G1 X96.11 Y111.00 E89.60 - ездим по координатам и выдавливаем пластик

G91 - устанавливает относительную систему координат

G1 E-5 F200 - всасывание экструдером 5 мм прутка

M104 S0 - отключением нагрев экструдера

M140 S0 - отключением нагрев стола

M107 - выключаем обдув детали

M84 - выключаем шаговые двигатели

M300 S5000 P280 – звуковой сигнал

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

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 H1 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 -код ». В данном материале представлена общая информация по G-коду (G-code).

G-code это условное именование языка для программирования устройств с ЧПУ (CNC) (Числовое программное управление). Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980-о года как RS274D стандарт. Комитет ИСО утвердил G-code, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР - как ГОСТ 20999-83. В советской технической литературе G-code обозначается, как код ИСО-7 бит.

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

Программа, написанная с использованием G-code, имеет жесткую структуру. Все команды управления объединяются в кадры - группы, состоящие из одной или более команд. Кадр завершается символом перевода строки (ПС/LF) и имеет номер, за исключеним первого кадра программы. Первый кадр содержит только один символ» %». Завершается программа командой M02 или M30.

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

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

Сводная таблица кодов:

Таблица основных команд:

Код Описание Пример
G00 Ускоренное перемещение инструмента (холостой ход) G0 X0 Y0 Z100;
G01 Линейная интерполяция G01 X0 Y0 Z100 F200;
G02 Круговая интерполяция почасовой стрелки G02 X15 Y15 R5 F200;
G03 Круговая интерполяция против часовой стрелки G03 X15 Y15 R5 F200;
G04 Задержка на P миллисекунд G04 P500;
G10 Задать новые координаты для начала координат G10 X10 Y10 Z10;
G11 Отмена G10G11;
G15 Отмена G16G15 G90;
G16 Переключение в полярную систему координат G16 G91 X100 Y90;
G20 Режим работы в дюймовой системе G90 G20;
G21 Режим работы в метрической системе G90 G21;
G22 Активировать установленый предел перемещений (Станок невыйдет за их предел). G22 G01 X15 Y25;
G23 Отмена G22G23 G90 G54;
G28 Вернуться на референтную точку G28 G91 Z0 Y0;
G30 Поднятие по оси Z на точку смены инструмента G30 G91 Z0;
G40 Отмена компенсации размера инструмента G1 G40 X0 Y0 F200;
G41 Компенсировать радиус инструмента слева G41 X15 Y15 D1 F100;
G42 Компенсировать радиус инструмента справа G42 X15 Y15 D1 F100;
G43 Компенсировать высоту инструмента положительно G43 X15 Y15 Z100 H1 S1000 M3;
G44 Компенсировать высоту инструмента отрицательно G44 X15 Y15 Z4 H1 S1000 M3;
G53 Переключиться на систему координат станка G53 G0 X0 Y0 Z0;
G54-G59 Переключиться на заданную оператором систему координат G54 G0 X0 Y0 Z100;
G68 Поворот координат на нужный угол G68 X0 Y0 R45;
G69 Отмена G68G69;
G80 Отмена циклов сверления (G81-G84)G80 Z100;
G81 Цикл сверления G81 X0 Y0 Z-10 R3 F100;
G82 Цикл сверления сзадержкой G82 X0 Y0 Z-10 R3 P100 F100;
G83 Цикл сверления сотходом G83 X0 Y0 Z-10 R3 Q8 F100;
G84 Цикл нарезание резьбы
G90 Абсолютная система координат G90 G21;
G91 Относительная система координат G91 G1 X4 Y5 F100;
G94 F (подача) - в формате мм/мин. G94 G80 Z100;
G95 F (подача)- в формате мм/об. G95 G84 X0 Y0 Z-10 R3 F1.411;
G98 Отмена G99G98 G15 G90;
G99 После каждого цикла не отходить на «подходную точку» G99 G91 X10 K4;

Таблица технологических кодов:

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

  • Сменить инструмент
  • Включить/выключить шпиндель
  • Включить/выключить охлаждение
  • Вызвать/закончить подпрограмму

Вспомогательные (технологические) команды:

Код Описание Пример
M00 Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемый «технологический останов» G0 X0 Y0 Z100 M0;
M01 Приостановить работу станка до нажатия кнопки «старт», если включен режим подтверждения останова G0 X0 Y0 Z100 M1;
M02 Конец программы M02;
M03 Начать вращение шпинделя по часовой стрелке M3 S2000;
M04 Начать вращение шпинделя против часовой стрелки M4 S2000;
M05 Остановить вращение шпинделя M5;
M06 Сменить инструмент M6 T15;
M07 Включить дополнительное охлаждение M3 S2000 M7;
M08 Включить основное охлаждение M3 S2000 M8;
M09 Выключить охлаждение G0 X0 Y0 Z100 M5 M9;
M30 Конец информации M30;
M98 Вызов подпрограммы M98 P101;
M99 Конец подпрограммы, возврат к основной программе M99;

Параметры команд задаются буквами латинского алфавита:

Код константы Описание Пример
X Координата точки траектории по оси X G0 X0 Y0 Z100
Y Координата точки траектории по оси Y G0 X0 Y0 Z100
Z Координата точки траектории по оси Z G0 X0 Y0 Z100
F Скорость рабочей подачи G1 G91 X10 F100
S Скорость вращения шпинделя S3000 M3
R Радиус или параметр стандартного цикла G1 G91 X12.5 R12.5 или G81 R1 0 R2 -10 F50
D Параметр коррекции выбранного инструмента M06 T1 D1
P Величина задержки или число вызовов подпрограммы M04 P101 или G82 R3 Z-10 P1000 F50
I,J,K Параметры дуги при круговой интерполяции G03 X10 Y10 I0 J0 F10
L Вызов подпрограммы с данной меткой L12 P3

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

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

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

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

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

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

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

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

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

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

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

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

Управляющая программа состоит из последовательности кадров и обычно начинается с символа начало программы (%) и заканчивается М02 или М30.

Каждый кадр программы представляет собой один шаг обработки и (в зависимости от УЧПУ) может начинаться с номера кадра (N1...N10 и т.д.), а заканчиваться символом конец кадра (;).

Кадр управляющей программы состоит из операторов в форме слов (G91, M30, X10. и т.д.). Слово состоит из символа (адреса) и цифры, представляющее арифметическое значение.

Адреса X, Y, Z, U, V, W, P, Q, R, A, B, C, D, E являются размерными перемещениям, используют для обозначения координатных осей, вдоль которых осуществляются перемещения.

Слова, описывающие перемещения, могут иметь знак (+) или (-). При отсутствии знака перемещение считается положительным.

Адреса I, J, K означают параметры интерполяции.

G - подготовительная функция.

M - вспомогательная функция.

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

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

T, D, H - функции инструмента.

Символы могут принимать другие значения в зависимости от конкретного УЧПУ.

G коды для ЧПУ

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

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

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

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

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

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

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

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

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

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

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

G04 - пауза.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

M коды для ЧПУ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

М10 - зажим.

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

М11 - разжим.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

G-code это условное именование языка для программирования устройств с ЧПУ (CNC)(Числовое программное управление). Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980-о года как RS274D стандарт. Комитет ИСО утвердил G-code, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР — как ГОСТ 20999-83. В советской технической литературе G-code обозначается, как код ИСО-7 бит.

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

Программа, написанная с использованием G-code, имеет жесткую структуру. Все команды управления объединяются в кадры — группы, состоящие из одной или более команд. Кадр завершается символом перевода строки (ПС/LF) и имеет номер, за исключеним первого кадра программы. Первый кадр содержит только один символ «%». Завершается программа командой M02 или M30.

Сводная таблица кодов

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

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

Подготовительные (основные) команды

Таблица основных команд

Код Описание Пример
G00 Ускоренное перемещение инструмента (холостой ход) G0 X0 Y0 Z100;
G01 Линейная интерполяция G01 X0 Y0 Z100 F200;
G02 Круговая интерполяция по часовой стрелки G02 X15 Y15 R5 F200;
G03 Круговая интерполяция против часовой стрелки G03 X15 Y15 R5 F200;
G04 Задержка на P миллисекунд G04 P500;
G10 Задать новые координаты для начала координат G10 X10 Y10 Z10;
G11 Отмена G10 G11;
G15 Отмена G16 G15 G90;
G16 Переключение в полярную систему координат G16 G91 X100 Y90;
G20 Режим работы в дюймовой системе G90 G20;
G21 Режим работы в метрической системе G90 G21;
G22 Активировать установленый предел перемещений (Станок не выйдет за их предел). G22 G01 X15 Y25;
G23 Отмена G22 G23 G90 G54;
G28 Вернуться на референтную точку G28 G91 Z0 Y0;
G30 Поднятие по оси Z на точку смены инструмента G30 G91 Z0;
G40 Отмена компенсации размера инструмента G1 G40 X0 Y0 F200;
G41 Компенсировать радиус инструмента слева G41 X15 Y15 D1 F100;
G42 Компенсировать радиус инструмента справа G42 X15 Y15 D1 F100;
G43 Компенсировать высоту инструмента положительно G43 X15 Y15 Z100 H1 S1000 M3;
G44 Компенсировать высоту инструмента отрицательно G44 X15 Y15 Z4 H1 S1000 M3;
G53 Переключиться на систему координат станка G53 G0 X0 Y0 Z0;
G54-G59 Переключиться на заданную оператором систему координат G54 G0 X0 Y0 Z100;
G68 Поворот координат на нужный угол G68 X0 Y0 R45;
G69 Отмена G68 G69;
G80 Отмена циклов сверления (G81-G84) G80 Z100;
G81 Цикл сверления G81 X0 Y0 Z-10 R3 F100;
G82 Цикл сверления с задержкой G82 X0 Y0 Z-10 R3 P100 F100;
G83 Цикл сверления с отходом G83 X0 Y0 Z-10 R3 Q8 F100;
G84 Цикл нарезание резьбы
G90 Абсолютная система координат G90 G21;
G91 Относительная система координат G91 G1 X4 Y5 F100;
G94 F (подача)- в формате мм/мин. G94 G80 Z100;
G95 F (подача)- в формате мм/об. G95 G84 X0 Y0 Z-10 R3 F1.411;
G98 Отмена G99 G98 G15 G90;
G99 После каждого цикла не отходить на «подходную точку» G99 G91 X10 K4;

Таблица технологических кодов

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

  • Сменить инструмент
  • Включить/выключить шпиндель
  • Включить/выключить охлаждение
  • Вызвать/закончить подпрограмму

Вспомогательные (технологические) команды

Код Описание Пример
M00 Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемый "технологический останов" G0 X0 Y0 Z100 M0;
M01 Приостановить работу станка до нажатия кнопки «старт», если включен режим подтверждения останова G0 X0 Y0 Z100 M1;
M02 Конец программы M02;
M03 Начать вращение шпинделя по часовой стрелке M3 S2000;
M04 Начать вращение шпинделя против часовой стрелки M4 S2000;
M05 Остановить вращение шпинделя M5;
M06 Сменить инструмент M6 T15;
M07 Включить дополнительное охлаждение M3 S2000 M7;
M08 Включить основное охлаждение M3 S2000 M8;
M09 Выключить охлаждение G0 X0 Y0 Z100 M5 M9;
M30 Конец информации M30;
M98 Вызов подпрограммы M98 P101;
M99 Конец подпрограммы, возврат к основной программе M99;

Лучшие статьи по теме