G-код - G-code

машинные коды
ПарадигмаПроцедурный, Императив
РазработаноМассачусетский Институт Технологий
Впервые появился1950-е годы (первое издание)
Расширения имени файла.gcode, .mpt, .mpf, .nc и некоторые другие
Главный реализации
многие, в основном Сименс Синумерик, FANUC, Хаас, Heidenhain, Mazak. Обычно существует один международный стандарт -ISO 6983.

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

G-код - это язык, на котором люди говорят компьютерным Станки как сделать что-нибудь. «Как» определяется инструкциями G-кода, предоставляемыми контроллеру машины (промышленному компьютеру), который сообщает двигателям, куда двигаться, с какой скоростью двигаться и по какому пути следовать. Две наиболее распространенные ситуации заключаются в том, что в пределах станок например, токарный станок или мельница, а режущий инструмент перемещается в соответствии с этими инструкциями по траектории инструмента, срезая материал, чтобы оставить только готовую заготовку и / или незавершенную заготовку точно позиционируют по любой из девяти осей[1] вокруг трех измерений относительно траектории инструмента, и один или оба могут перемещаться относительно друг друга. Та же концепция распространяется и на неразрезные инструменты, такие как формовочные или полировальные инструменты, фотопечать, аддитивные методы, такие как 3D печать, и измерительные приборы.

Реализации

Первая реализация языка программирования с числовым программным управлением была разработана в Массачусетский технологический институт Лаборатория сервомеханизмов в конце 1950-х гг. За прошедшие десятилетия многие организации (коммерческие и некоммерческие) разработали множество реализаций. В этих реализациях часто использовался G-код. Основная стандартизированная версия, используемая в США, была урегулирована Альянс электронной промышленности в начале 1960-х гг.[нужна цитата ] Окончательная редакция была утверждена в феврале 1980 г. как RS-274-D.[2] В других странах стандарт ISO 6983 часто используется, но многие европейские страны используют другие стандарты. Например, DIN 66025 используется в Германии, а PN-73M-55256 и PN-93 / M-55251 ранее использовались в Польше.

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

Одна стандартизированная версия G-кода, известная как BCL (Binary Cutter Language) используется только на очень небольшом количестве машин. BCL, разработанный в Массачусетском технологическом институте, был разработан для управления станками с ЧПУ по прямым и дугам.[3]

В период с 1970-х по 1990-е годы многие производители станков с ЧПУ пытались преодолеть трудности совместимости за счет стандартизации контроллеров станков, построенных Fanuc. Сименс была еще одним лидером на рынке систем ЧПУ, особенно в Европе. В 2010-х годах различия и несовместимость контроллеров не так опасны, потому что операции обработки обычно разрабатываются с помощью приложений CAD / CAM, которые могут выводить соответствующий G-код для конкретной машины с помощью программного инструмента, называемого постпроцессором (иногда сокращенно до "почтовый").

Некоторые станки с ЧПУ используют «диалоговое» программирование, которое волшебник -подобный режим программирования, который либо скрывает G-код, либо полностью исключает использование G-кода. Некоторыми популярными примерами являются Advanced One Touch (AOT) Okuma, ProtoTRAK Southwestern Industries, Mazatrol Mazak, Ultimax и Winmax Hurco, система интуитивного программирования (IPS) Haas и диалоговое программное обеспечение CAPS от Mori Seiki.

G-код начинался как ограниченный язык, в котором отсутствовали такие конструкции, как циклы, условные операторы и переменные, объявленные программистом с естественный -слово, включая имена (или выражения, в которых они используются). Он не мог закодировать логику, но был просто способом «соединить точки», когда программист от руки вычислял расположение многих точек. Последние реализации G-кода включают возможности макроязыка несколько ближе к язык программирования высокого уровня. Кроме того, все основные производители (например, Fanuc, Siemens, Heidenhain) предоставляют доступ к данным ПЛК, таким как данные позиционирования осей и данные инструмента,[4] через переменные, используемые программами ЧПУ. Эти конструкции упрощают разработку приложений автоматизации.

Конкретные коды

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

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

Есть и другие коды; коды типов можно рассматривать как регистры в компе.

На протяжении многих лет было указано, что термин «G-код» неточен, потому что «G» - это только один из многих буквенных адресов в полном языке. Это происходит из буквального смысла термина, относящегося к однобуквенному адресу и к конкретным кодам, которые могут быть с ним образованы (например, G00, G01, G28), но каждая буква английского алфавита является используется где-то на языке. Тем не менее, «G-код» метонимически установлено как общее название языка.

Письменные адреса

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

Источники: Smid 2008;[5] Smid 2010;[6] Грин и др. 1996 г.[7]

ПеременнаяОписаниеИнформация о следствии
ААбсолютное или инкрементное положение оси A (ось вращения вокруг оси X)Положительное вращение определяется как вращение против часовой стрелки, если смотреть от X положительного к X отрицательному.
BАбсолютное или инкрементное положение оси B (ось вращения вокруг оси Y)
CАбсолютное или инкрементное положение оси C (ось вращения вокруг оси Z)
DОпределяет диаметр или радиальное смещение, используемое для компенсации на режущий инструмент. D используется для глубины резания на токарных станках. Он используется для выбора диафрагмы и команд на фотоплоттерах.G41: компенсация левого резца, G42: компенсация правого резца
EТочная подача для нарезания резьбы на токарных станках
FОпределяет скорость подачиОбычными единицами измерения являются расстояние за время для фрезерных станков (дюймы в минуту, IPM или миллиметры в минуту, мм / мин) и расстояние за оборот для токарных станков (дюймы на оборот, IPR или миллиметры на оборот, мм / оборот).
гАдрес для подготовительных командКоманды G часто сообщают системе управления, какой тип движения требуется (например, быстрое позиционирование, линейная подача, круговая подача, фиксированный цикл) или какое значение смещения использовать.
ЧАСОпределяет коррекцию длины инструмента;
Инкрементная ось, соответствующая оси C (например, на токарно-фрезерном станке)
G43: Отрицательная компенсация длины инструмента, G44: Положительная компенсация длины инструмента
яОпределяет центр дуги по оси X для G02 или G03 команды дуги.
Также используется как параметр в некоторых фиксированных циклах.
Центр дуги - это относительное расстояние от текущего положения до центра дуги, а не абсолютное расстояние от системы координат заготовки (WCS).
JОпределяет центр дуги по оси Y для G02 или G03 команды дуги.
Также используется как параметр в некоторых фиксированных циклах.
Та же информация следствия, что и выше.
KОпределяет центр дуги по оси Z для G02 или G03 команды дуги.
Также используется как параметр в некоторых фиксированных циклах, равный L адрес.
Та же информация следствия, что и выше.
LКоличество циклов фиксированного цикла;
Уточнение того, какой регистр редактировать с помощью G10
Количество циклов фиксированного цикла: Определяет количество повторений («петель») фиксированного цикла при каждый должность. Принято равным 1, если не запрограммировано с другим целым числом. Иногда K адрес используется вместо L. При инкрементальном позиционировании (G91 ) серию отверстий, расположенных на одинаковом расстоянии друг от друга, можно запрограммировать как петлю, а не как отдельные позиции.
G10 использовать: Указание того, какой регистр редактировать (рабочие коррекции, коррекции радиуса инструмента, коррекции длины инструмента и т. Д.).
MРазная функцияКод действия, вспомогательная команда; описания различаются. Многие M-коды требуют машинных функций, поэтому люди часто говорят, что «M» означает «машина», хотя это и не предназначалось.
NНомер строки (кадра) в программе;
Номер системного параметра для изменения с помощью G10
Номера строк (блоков): Необязательный, поэтому часто опускается. Необходимы для определенных задач, таких как M99 п адрес (чтобы сообщить элементу управления, к какому блоку программы вернуться, если не по умолчанию) или Перейти к операторы (если их поддерживает элемент управления). N нумерацию не нужно увеличивать на 1 (например, она может увеличиваться на 10, 20 или 1000) и может использоваться для каждого блока или только в определенных местах программы.
Номер системного параметра: G10 позволяет изменять параметры системы под управлением программы.[8]
ОНазвание программыНапример, O4501. В течение многих лет для дисплеев управления ЧПУ было обычным делом использовать срезанный ноль глифы, чтобы можно было легко отличить букву «О» от цифры «0». Сегодняшние элементы управления графическим интерфейсом часто имеют выбор шрифтов, как и ПК.
пСлужит адресом параметра для различных кодов G и M
  • С участием G04, определяет значение времени задержки.
  • Также служит параметром в некоторых постоянных циклах, представляя время ожидания или другие переменные.
  • Также используется при вызове и завершении подпрограмм. (С участием M98, он указывает, какую подпрограмму вызывать; с M99, он указывает номер блока основной программы, к которому нужно вернуться.)
QПриращение клевки в постоянных циклахНапример, G73, G83 (циклы долбления)
рОпределяет размер радиуса дуги или определяет высоту отвода в постоянных циклах фрезерованияДля радиусов не все элементы управления поддерживают адрес R для G02 и G03, и в этом случае используются векторы IJK. Для высоты отвода "уровень R", как он называется, возвращается к значению, если G99 запрограммирован.
SОпределяет скорость, либо скорость шпинделя, либо скорость резания в зависимости от режимаТип данных = целое число. В G97 режим (который обычно используется по умолчанию), целое число после S интерпретируется как число об / мин (об / мин). В G96 режим (постоянная скорость на поверхности или CSS), целое число после S интерпретируется как поверхностная скорость —Sfm (G20 ) или м / мин (G21 ). Смотрите также Скорости и подачи. На многофункциональных (токарно-фрезерных или токарно-фрезерных) станках, какой шпиндель получает ввод (главный шпиндель или вспомогательные шпиндели), определяется другими М-кодами.
ТВыбор инструментаЧтобы понять, как работает T-адрес и как он взаимодействует (или нет) с M06 необходимо изучить различные методы, такие как программирование револьверной головки токарного станка, ATC (автоматическая смена инструмента, установленная M06 ) фиксированный выбор инструмента, выбор инструмента случайной памяти ATC, концепция «ожидания следующего инструмента» и пустые инструменты.[5] Для программирования на любом конкретном станке необходимо знать, какой метод использует этот станок.[5]
UИнкрементальная ось, соответствующая оси X (обычно управляет только токарная группа A)
Также определяет время ожидания на некоторых машинах (вместо "п " или "Икс ").
В этих элементах управления X и U отменяют G90 и G91 соответственно. На этих токарных станках G90 вместо фиксированный адрес цикла для черновой обработки.
VИнкрементальная ось, соответствующая оси YДо 2000-х годов адрес V использовался очень редко, потому что большинство токарных станков, которые использовали U и W, не имели оси Y, поэтому они не использовали V. (Зеленый и другие. 1996[7] даже не указали V в своей таблице адресов). Это все еще часто имеет место, хотя распространение токарного инструмента и токарно-фрезерной обработки сделало использование адреса V менее редким, чем раньше (Smid 2008[5] показывает пример). Смотрите также G18.
WИнкрементальная ось, соответствующая оси Z (обычно управляет только токарная группа A)В этих элементах управления Z и W отменяют G90 и G91 соответственно. На этих токарных станках G90 вместо фиксированный адрес цикла для черновой обработки.
ИксАбсолютное или инкрементное положение оси X.
Также определяет время ожидания на некоторых машинах (вместо "п " или "U ").
YАбсолютное или инкрементное положение оси Y
ZАбсолютное или инкрементное положение оси ZОсь вращения главного шпинделя часто определяет, какая ось станка обозначена буквой Z.

Список G-кодов, обычно встречающихся на FANUC и элементы управления аналогичной конструкции для фрезерования и токарной обработки

Источники: Smid 2008;[5] Smid 2010;[6] Грин и др. 1996 г.[7]

Примечание: Модальный означает, что код остается в силе до тех пор, пока не будет заменен или отменен другим разрешенным кодом. Немодальный означает, что он выполняется только один раз. См., Например, коды G09, G61 и G64 ниже.
КодОписаниеФрезерование
(М)
Превращение
(Т)
Информация о следствии
G00Быстрое позиционированиеMТПри 2- или 3-осевом перемещении G00 (в отличие от G01 ) традиционно не обязательно движется по одной прямой между начальной и конечной точками. Он перемещает каждую ось с максимальной скоростью, пока не будет достигнута ее векторная величина. Более короткий вектор обычно заканчивается первым (при одинаковых скоростях осей). Это имеет значение, потому что это может привести к движению «собачьей ноги» или клюшке, которое программист должен учитывать, в зависимости от того, какие препятствия находятся поблизости, чтобы избежать сбоя. Некоторые машины предлагают интерполированные пороги в качестве функции для простоты программирования (можно предположить прямую линию).
G01Линейная интерполяцияMТСамый распространенный код рабочей лошадки для кормления во время стрижки. Программа определяет начальную и конечную точки, а система управления автоматически вычисляет (интерполирует ) промежуточные точки, через которые должна пройти прямая линия (отсюда "линейный "). Затем система управления вычисляет угловые скорости, с которыми необходимо повернуть ось. винты через их серводвигатели или шаговые двигатели. Компьютер выполняет тысячи вычислений в секунду, а двигатели быстро реагируют на каждый ввод. Таким образом, реальная траектория обработки происходит с заданной скоростью подачи на траектории, которая является точно линейной в очень малых пределах.
G02Круговая интерполяция, по часовой стрелкеMТОчень похож по концепции на G01. Опять же, контроль интерполирует промежуточные точки и подает команду серво- или шаговым двигателям на вращение на величину, необходимую для ходового винта, чтобы перевести движение в правильное положение режущей кромки инструмента. Этот процесс, повторяющийся тысячи раз в минуту, генерирует желаемую траекторию. В случае G02 при интерполяции создается круг, а не линия. Как и в случае с G01, фактическая траектория обработки происходит с заданной скоростью подачи на траектории, которая точно соответствует идеальной (в G02 Бывает, кружок) с точностью до очень маленьких пределов. Фактически, интерполяция настолько точна (когда все условия верны), что фрезерование интерполированной окружности может исключить такие операции, как сверление и часто даже чистовое растачивание. Адреса для центра радиуса или дуги: G02 и G03 принимают либо р адрес (для желаемого радиуса на детали) или IJK адреса (для векторов-компонентов, определяющих вектор от начальной точки дуги до центра дуги). Состав резака: На большинстве элементов управления вы не можете запустить G41 или G42 в G02 или G03 режимы. Вы, должно быть, уже получили компенсацию в более раннем G01 блок. Часто программируется короткое линейное движение подвода, просто чтобы обеспечить компенсацию резца перед тем, как начнется основное действие, круговое резание. Полные круги: Если начальная точка дуги и конечная точка дуги идентичны, инструмент вырезает дугу на 360 ° (полный круг). (Некоторые старые элементы управления не поддерживают это, потому что дуги не могут пересекаться между квадрантами декартовой системы. Вместо этого они требуют четырех дуг четверти окружности, запрограммированных один за другим.)
G03Круговая интерполяция против часовой стрелкиMТТа же информация следствия, что и для G02.
G04ЖитьMТПринимает адрес на период ожидания (может быть Икс, U, или п ). Период ожидания определяется параметром управления, обычно установленным на миллисекунды. Некоторые машины могут принимать X1.0 (s ) или P1000 (РС ), которые эквивалентны. Выбор продолжительности пребывания: Часто задержка должна длиться всего один или два полных оборота шпинделя. Обычно это намного меньше одной секунды. При выборе значения продолжительности помните, что длительная выдержка является пустой тратой времени цикла. В некоторых ситуациях это не имеет значения, но для серийного производства большого объема (более тысячи циклов) стоит рассчитать, что, возможно, вам понадобится всего 100 РС, и вы можете назвать это 200, чтобы быть в безопасности, но 1000 - это просто пустая трата (слишком долго).
G05 P10000Высокоточный контурный контроль (HPCC)M Использует глубокий взгляд вперед буфер и обработка моделирования для обеспечения лучшего ускорения и замедления движения оси во время контурного фрезерования
G05.1 Q1.Расширенный контроль предварительного просмотра AIM Использует глубокий взгляд вперед буфер и обработка моделирования для обеспечения лучшего ускорения и замедления движения оси во время контурного фрезерования
G06.1 Неравномерный рациональный B-сплайн (NURBS) ОбработкаM Активирует неравномерный Rational B Spline для обработки сложных кривых и форм волны (этот код подтвержден в Mazatrol 640M ISO Programming)
G07Обозначение воображаемой осиM  
G09Проверка точной остановки, немодальноMТМодальная версия G61.
G10Программируемый ввод данныхMТИзменяет значение рабочей координаты и коррекции инструмента[9][8]
G11Отмена записи данныхMТ 
G17Выбор плоскости XYM  
G18Выбор плоскости ZXMТ
G19Выбор самолета YZM  
G20Программирование в дюймыMТНесколько необычно, за исключением США и (в меньшей степени) Канады и Великобритании. Однако на глобальном рынке компетенция как в G20, так и в G21 всегда может оказаться необходимой в любое время. Обычное минимальное приращение в G20 составляет одну десятитысячную дюйма (0,0001 дюйма), что больше, чем обычное минимальное приращение в G21 (одна тысячная миллиметра, 0,001 мм, то есть одна микрометр ). Это физическое различие иногда способствует программированию G21.
G21Программирование в миллиметры (мм)MТРаспространены во всем мире. Однако на глобальном рынке компетенция как в G20, так и в G21 всегда может оказаться необходимой в любое время.
G28Возврат в исходное положение (машинный нуль, он же контрольная точка станка)MТПринимает адреса X Y Z, которые определяют промежуточную точку, через которую будет проходить режущая кромка инструмента на своем пути домой к нулю станка. Они относятся к нулю части (также известному как программный ноль), а НЕ машинному нулю.
G30Возврат к второстепенному исходному положению (машинный нуль, он же контрольная точка станка)MТПринимает адрес P с указанием который нулевая точка станка для использования если машина имеет несколько второстепенных точек (от P1 до P4). Принимает адреса X Y Z, которые определяют промежуточную точку, через которую проходит режущая кромка инструмента на своем пути домой к нулю станка. Они выражаются в виде нулевой части (она же программный ноль), а НЕ машинного нуля.
G31Подача, пока функция пропускаM  Используется для датчиков и систем измерения длины инструмента.
G32Одноточечная нарезка резьбы, длинный стиль (если не используется цикл, например, G76 ) ТПохожий на G01 линейная интерполяция, кроме автоматической синхронизации шпинделя для одноточечная резьба.
G33Постоянный-подача заправкаM  
G33Одноточечная нарезка резьбы, длинный стиль (если не используется цикл, например, G76 ) ТНекоторые органы управления токарным станком назначают этот режим G33, а не G32.
G34Нарезание резьбы с переменным шагомM  
G40Компенсация радиуса инструмента выключенаMТВыключи компенсация радиуса фрезы (CRC). Отменяет G41 или G42.
G41Коррекция радиуса инструмента слеваMТВключать компенсация радиуса фрезы (CRC), слева, для фрезерования подъемом.
Фрезерование: Учитывая правосторонний резак и M03 направление шпинделя, G41 соответствует подъемное фрезерование (фрезерование вниз). Принимает адрес (D или ЧАС ), который вызывает значение регистра смещения для радиуса.
Превращение: Часто на токарных станках не требуется адреса D или H, потому что любой активный инструмент автоматически вызывает с ним свои геометрические смещения. (Каждая револьверная станция привязана к своему регистру смещения геометрии.)

G41 и G42 для фрезерования были частично автоматизированы и устранены (хотя и не полностью) с тех пор, как CAM программирование стало более распространенным. CAM-системы позволяют пользователю программировать, как если бы он использовал фрезу нулевого диаметра. Фундаментальная концепция компенсации радиуса фрезы все еще действует (то есть, полученная поверхность будет находиться на расстоянии R от центра фрезы), но образ программирования отличается. Человек не управляет траекторией инструмента с осознанным и кропотливым вниманием к G41, G42 и G40, потому что программное обеспечение CAM заботится об этом. Программное обеспечение имеет различные варианты выбора режима CRC, например компьютер, управление, износ, обратный износ, выкл., некоторые из которых вообще не используют G41 / G42 (подходит для черновой обработки или больших допусков на чистовую обработку), а другие используют его, чтобы смещение износа можно было настроить на станке (лучше для жестких допусков на чистовую обработку).

G42Коррекция радиуса инструмента справаMТВключать компенсация радиуса фрезы (CRC), верно, для обычного фрезерования. Аналогичная информация о следствии, что и для G41. Учитывая правостороннюю фрезу и направление шпинделя M03, G42 соответствует обычное фрезерование (фрезерование вверх).
G43Отрицательная компенсация смещения высоты инструментаM Принимает адрес, обычно H, для вызова значения регистра коррекции длины инструмента. Ценность отрицательный потому что это будет добавлено в положение линии датчика. G43 - наиболее часто используемая версия (по сравнению с G44).
G44Положительная компенсация смещения высоты инструментаM Принимает адрес, обычно H, для вызова значения регистра коррекции длины инструмента. Ценность положительный потому что это будет вычтенный от положения линии датчика. G44 - редко используемая версия (по сравнению с G43).
G45Смещение оси однократное увеличениеM  
G46Смещение оси однократное уменьшениеM  
G47Двойное смещение осиM  
G48Смещение оси в два раза меньшеM  
G49Отмена коррекции коррекции длины инструментаM Отменяет G43 или G44.
G50Определите максимальную скорость шпинделя ТПринимает S целое число адреса, которое интерпретируется как об / мин. Без этой функции G96 режим (CSS) будет вращать шпиндель до «широко открытой дроссельной заслонки» при приближении к оси вращения.
G50Отмена функции масштабированияM  
G50Регистр положения (программирование вектора от нуля детали до вершины инструмента) ТРегистр положения - один из оригинальных методов для связи системы координат детали (программы) с положением инструмента, что косвенно связывает ее с система координат станка, единственная позиция, которую элемент управления действительно "знает". Больше не программируется, потому что G54 - G59 (WCS) - лучший, новый метод. Вызывается через G50 для поворота, G92 для фрезерования. Эти G-адреса также имеют альтернативное значение (которые видят). Регистр положения все еще может быть полезен для программирования сдвига нулевой точки. «Ручной абсолютный» переключатель, который имеет очень мало полезных приложений в контекстах WCS, был более полезен в контексте позиционного регистра, потому что он позволял оператору перемещать инструмент на определенное расстояние от детали (например, касаясь 2,0000 "датчик"), а затем объявить контроллеру, каким будет оставшееся расстояние (2,0000).
G52Местная система координат (LCS)M Временно перемещает нулевую точку программы в новое место. Это просто «смещение от смещения», то есть дополнительное смещение, добавленное к WCS компенсировать. В некоторых случаях это упрощает программирование. Типичный пример - переход от детали к детали в многосекционной установке. С участием G54 активный, G52 X140.0 Y170.0 смещает программный ноль на 140 мм по X и на 170 мм по Y. Когда часть "там" выполнена, G52 X0 Y0 возвращает программный нуль к нормальному G54 (уменьшая смещение G52 до нуля). Тот же результат может быть достигнут (1) с использованием нескольких источников WCS, G54 / G55 / G56 / G57 / G58 / G59; (2) на новых элементах управления, G54.1 P1 / P2 / P3 и т. Д. (вплоть до P48); или (3) используя G10 для программируемого ввода данных, при котором программа может записывать новые значения смещения в регистры смещения.[8] Используемый метод зависит от конкретного приложения магазина.
G53Система координат станкаMТПринимает абсолютные координаты (X, Y, Z, A, B, C) относительно машинного нуля, а не программного нуля. Может быть полезно при смене инструмента. Только немодальные и абсолютные. Последующие блоки интерпретируются как «назад к G54 "даже если он явно не запрограммирован.
G54 - G59Системы рабочих координат (WCS)MТВ значительной степени заменили регистр позиций (G50 и G92 ). Каждый набор смещений осей связывает программный ноль непосредственно с машинным нулем. Стандарт - это 6 кортежей (от G54 до G59), с возможностью расширения до 48 через G54.1 P1 до P48.
G54.1 P1 - P48Расширенные системы координат заготовкиMТЕще до 48 WCS помимо 6, предусмотренных в стандартной комплектации от G54 до G59. Обратите внимание на расширение типа данных G-кода с плавающей точкой (ранее все целые числа). Появились и другие примеры (например, G84.2 ). Современные элементы управления имеют оборудование справиться с этим.
G61Проверка точной остановки, модальнаяMТМожет быть отменено с помощью G64. Немодальная версия G09.
G62Автоматическая коррекция углаMТ 
G64Режим резки по умолчанию (отменить режим проверки точной остановки)MТОтменяет G61.
G68Повернуть систему координатM Поворачивает систему координат в текущей плоскости, заданной с помощью G17, G18, или G19. Центр вращения задается двумя параметрами, которые различаются в зависимости от реализации каждого поставщика. Поворот на угол, заданный аргументом R. Это можно использовать, например, для выравнивания системы координат с смещенной деталью.Его также можно использовать для повторения последовательности движений вокруг центра. Не все производители поддерживают вращение системы координат.
G69Отключить вращение системы координатM Отменяет G68.
G70Фиксированный цикл, многократно повторяющийся цикл, для чистовой обработки (включая контуры) Т 
G71Фиксированный цикл, многократный повторяющийся цикл, для черновой обработки (акцент оси Z) Т 
G72Фиксированный цикл, многократно повторяющийся цикл, для черновой обработки (акцент оси X) Т 
G73Фиксированный цикл, многократно повторяющийся цикл, для черновой обработки, с повторением образца Т 
G73Цикл сверления клевков для фрезерования - высокоскоростной (БЕЗ полного отвода от клевков)M Отводится только до увеличения зазора (системный параметр). Когда основной проблемой является стружколом, а не забивание канавок стружкой. Сравнить G83.
G74Цикл сверления для точения Т 
G74Цикл нарезания резьбы для фрезерования, левая нить, Направление шпинделя M04M См. Примечания на G84.
G75Цикл обработки канавок для точения Т 
G76Цикл чистового растачивания для фрезерованияM Включает OSS и сдвиг (ориентированный останов шпинделя и смещение инструмента вне осевой линии для отвода)
G76Цикл нарезания резьбы для токарной обработки, многократный повторяющийся цикл Т 
G80Отмена постоянный циклMТФрезерование: Отменяет все циклы, такие как G73, G81, G83 и т. д. Ось Z возвращает либо на начальный уровень Z, либо на уровень R, как запрограммировано (G98 или G99 соответственно).
Превращение: Обычно не требуется на токарных станках, потому что новый G-адрес группы 1 (G00 к G03 ) отменяет активный цикл.
G81Простой цикл сверленияM Жилище не построено
G82Цикл сверления с задержкойM Остается на дне скважины (глубина Z) на количество миллисекунды указанный п адрес. Подходит для случаев, когда важна чистота дна отверстия. Подходит для точечного сверления, потому что трещина обязательно будет очищаться равномерно. Рассмотрим "выбор продолжительности пребывания " не есть G04.
G83Цикл сверления клевков (полный отвод от клевков)M После каждого клевания возвращается на уровень R. Хорошо очищает канавки от чипсы. Сравнить G73.
G84Нажатие цикл, правая резьба, M03 направление шпинделяM G74 и G84 - это правая и левая «пара» для нарезания резьбы по старинке с нежесткой оправкой (стиль «нарезной головки»). Сравните жесткую "пару" врезки, G84.2 и G84.3.
G84.2Цикл нарезания резьбы, правая резьба, M03 направление шпинделя, жесткий резцедержательM См. Примечания на G84. Жесткое нарезание резьбы синхронизирует скорость и подачу в соответствии с желаемой спиралью резьбы. То есть он синхронизирует градусы вращения шпинделя с микронами осевого хода. Следовательно, для удерживания метчика можно использовать жесткую оправку. Эта функция недоступна на старых машинах или более новых машинах младшего класса, которые должны использовать движение "саморезной головки" (G74 /G84 ).
G84.3Цикл нарезания резьбы, левая нить, M04 направление шпинделя, жесткий резцедержательM См. Примечания на G84 и G84.2.
G85скучный цикл, подача / подачаM 
  • Хороший цикл для развертки.
  • В некоторых случаях это хорошо для одноточечного расточного инструмента, хотя в других случаях недостаточная глубина резания на обратном выходе плохо влияет на качество поверхности, и в этом случае G76 Вместо этого можно использовать (OSS / shift).
  • Если нужно остановиться на дне отверстия, см. G89.
G86цикл растачивания, подача / останов шпинделя / быстрый выходM Сверлильный инструмент оставляет небольшой след на обратном пути. Соответствующий цикл для некоторых приложений; для других, G76 Вместо этого можно использовать (OSS / shift).
G87скучный цикл, просверливаниеM За проклятие. Только возврат на исходный уровень (G98 ); этот цикл не может использовать G99 потому что это Уровень R находится на дальней стороне детали, дальше от шпиндельной бабки.
G88цикл растачивания, подача / останов шпинделя / ручное управлениеM  
G89скучный цикл, кормление / пребывание / кормлениеM G89 похож на G85 но с задержкой, добавленной на дне отверстия.
G90Абсолютное программированиеMТ (В)Позиционирование определяется относительно нуля детали.
Фрезерование: Всегда как указано выше.
Превращение: Иногда, как указано выше (группа Fanuc типа B и аналогичная конструкция), но на большинстве токарных станков (группа Fanuc типа A и аналогичная конструкция) G90 / G91 не используются для абсолютного / инкрементного режимов. Вместо, U и W инкрементные адреса и Икс и Z являются абсолютными адресами. На этих токарных станках G90 вместо этого является фиксированным адресом цикла для черновой обработки.
G90Фиксированный цикл, простой цикл, для черновой обработки (акцент оси Z) Т (А)Когда не используется для абсолютного программирования (см. Выше)
G91Инкрементальное программированиеMТ (В)Позиционирование определяется относительно предыдущей позиции.
Фрезерование: Всегда как указано выше.
Превращение: Иногда, как указано выше (группа Fanuc типа B и аналогичная конструкция), но на большинстве токарных станков (группа Fanuc типа A и аналогичная конструкция) G90 / G91 не используются для абсолютного / инкрементного режимов. Вместо, U и W инкрементные адреса и Икс и Z являются абсолютными адресами. На этих токарных станках G90 - это фиксированный адрес цикла для черновой обработки.
G92Регистр положения (программирование вектора от нуля детали до вершины инструмента)MТ (В)Та же информация следствия, что и на Регистр положения G50.
Фрезерование: Всегда как указано выше.
Превращение: Иногда, как указано выше (группа Fanuc типа B и аналогичная конструкция), но на большинстве токарных станков (группа Fanuc типа A и аналогичная конструкция) регистр позиции G50.
G92Цикл заправки, простой цикл Т (А) 
G94Скорость подачи в минутуMТ (В)На токарных станках группы типа A скорость подачи в минуту составляет G98.
G94Фиксированный цикл, простой цикл, для черновой обработки (Икс -осевой упор) Т (А)Если скорость подачи не указана в минуту (см. Выше)
G95Подача на оборотMТ (В)На токарных станках группы типа A скорость подачи на оборот составляет G99.
G96Постоянная поверхностная скорость (CSS) ТАвтоматически изменяет скорость шпинделя для достижения постоянной скорости резания. Увидеть скорости и подачи. Принимает S целое число адреса, которое интерпретируется как SFM в G20 режим или как м / мин в G21 Режим.
G97Постоянная скорость шпинделяMТПринимает целое число S-адреса, которое интерпретируется как об / мин (об / мин). Режим скорости по умолчанию для каждого системного параметра, если режим не запрограммирован.
G98Вернуться к исходному уровню Z в постоянном циклеM  
G98Скорость подачи в минуту (группа типа A) Т (А)Скорость подачи в минуту составляет G94 на группу типа B.
G99Вернуться к Уровень R в постоянном циклеM  
G99Подача на оборот (группа типа A) Т (А)Скорость подачи на оборот составляет G95 на группу типа B.
G100Измерение длины инструментаM  

Список M-кодов, обычно встречающихся на FANUC и элементах управления аналогичной конструкции для фрезерования и токарной обработки

Источники: Smid 2008;[5] Smid 2010;[6] Грин и др. 1996 г.[7]

Некоторые старые элементы управления требуют, чтобы коды M находились в отдельных блоках (то есть не в одной строке).

КодОписаниеФрезерование
(М)
Превращение
(Т)
Информация о следствии
M00Обязательная остановкаMТНеобязательный - машина всегда останавливается при достижении M00 в выполнении программы.
M01Дополнительная остановкаMТМашина останавливается на точке M01, только если оператор нажимает дополнительную кнопку остановки.
M02Конец программыMТПрограмма заканчивается; выполнение может или не может вернуться к началу программы (в зависимости от элемента управления); может или не может сбрасывать значения регистров. M02 был исходным кодом конца программы, который теперь считается устаревшим, но все еще поддерживается для обратной совместимости.[10] Многие современные средства управления рассматривают M02 как эквивалент M30.[10] Увидеть M30 для дополнительного обсуждения состояния управления при выполнении M02 или M30.
M03Шпиндель включен (вращение по часовой стрелке)MТСкорость шпинделя определяется адресом S, в любом число оборотов в минуту (G97 Режим; по умолчанию) или поверхность футов в минуту или [поверхность] метров в минуту (G96 режим [CSS] под любым G20 или G21 ). В правило правой руки может использоваться, чтобы определить, какое направление - по часовой стрелке, а какое - против часовой стрелки.

Винты с правосторонней спиралью, движущиеся в направлении затяжки (и канавки с правосторонней спиралью, вращающиеся в направлении резания), определяются как движущиеся в направлении M03 и условно обозначены как «по часовой стрелке». Направление M03 всегда M03, независимо от местной точки обзора и местного различия CW / CCW.

M04Шпиндель включен (вращение против часовой стрелки)MТСм. Комментарий выше на M03.
M05Стопор шпинделяMТ 
M06Автоматическая смена инструмента (ATC)MТ (иногда)Многие токарные станки не используют M06, потому что Т сам адрес индексирует турель.
Для программирования на любом конкретном станке необходимо знать, какой метод использует этот станок. Чтобы понять, как работает адрес T и как он взаимодействует (или нет) с M06, необходимо изучить различные методы, такие как программирование револьверной головки токарного станка, выбор фиксированного инструмента ATC, выбор инструмента случайной памяти ATC, концепция «ожидания следующего инструмента» и пустые инструменты.[5]
M07Охлаждающая жидкость на (туман)MТ 
M08Охлаждающая жидкость включена (заливка)MТ 
M09Охлаждающая жидкость отключенаMТ 
M10Зажим поддона наM Для обрабатывающих центров с устройством смены паллет
M11Зажим поддона отключенM Для обрабатывающих центров с устройством смены паллет
M13Шпиндель включен (вращение по часовой стрелке), охлаждающая жидкость включена (заливка)M Этот один M-код выполняет работу обоих M03 и M08. Для конкретных моделей машин нет ничего необычного в наличии таких комбинированных команд, которые делают программы более короткими и быстрыми.
M19Ориентация шпинделяMТОриентация шпинделя чаще вызывается внутри циклов (автоматически) или во время настройки (вручную), но она также доступна под управлением программы через M19. Аббревиатура OSS (ориентированный останов шпинделя) можно рассматривать как ссылку на ориентированный останов в пределах циклов.

Актуальность ориентации шпинделя возросла по мере развития технологий. Хотя 4- и 5-осевое контурное фрезерование и ЧПУ однонаправленный зависели от датчиков положения шпинделя в течение десятилетий, до появления широко распространенных приводных инструментов и токарно-фрезерных / токарно-фрезерных систем, они не были так часто актуальны для «обычной» (не «специальной») обработки для оператора (в отличие от к станку), чтобы узнать угловую ориентацию шпинделя, как сейчас, за исключением определенных контекстов (например, смена инструмента, или G76 циклы чистового растачивания с заданным отводом инструмента). Большая часть фрезерования элементов, индексированных вокруг токарной заготовки, выполнялась с отдельными операциями на индексирующая головка настройки; в некотором смысле, индексирующие головки изначально были изобретены как отдельные части оборудования, которые использовались в отдельных операциях, что могло обеспечить точную ориентацию шпинделя в мире, где в противном случае его обычно не существовало (и в этом не было необходимости). Но поскольку CAD / CAM и многоосная обработка с ЧПУ с несколькими осями ротационной фрезы становится нормой, даже для "обычных" (не "специальных") приложений, станочники теперь часто заботятся о шагах просто для любой шпиндель на 360 ° с точностью.

M21Зеркало, Икс -осьM  
M21Задняя бабка вперед Т 
M22Зеркало, Y -осьM  
M22Задняя бабка назад Т 
M23Зеркало выключеноM  
M23Постепенное вытягивание нити ВКЛ. Т 
M24Постепенное вытягивание нити ВЫКЛ. Т 
M30Конец программы, с возвратом к началу программыMТСегодня M30 считается стандартным кодом завершения программы и возвращает выполнение в начало программы. Большинство элементов управления также по-прежнему поддерживают исходный код конца программы, M02, обычно рассматривая его как эквивалент M30. Дополнительная информация: Сравнить M02 с M30. Во-первых, M02 был создан в те времена, когда перфолента ожидалось, что он будет достаточно коротким, чтобы объединиться в непрерывный цикл (вот почему на старых элементах управления M02 не запускал перемотку ленты).[10] Другой код конца программы, M30, был добавлен позже, чтобы приспособить более длинные перфоленты, которые наматывались на катушка и, следовательно, требовалась перемотка, прежде чем мог начаться следующий цикл.[10] На многих новых элементах управления больше нет разницы в том, как выполняются коды - оба действуют как M30.
M41Выбор передачи - передача 1 Т 
M42Выбор передачи - передача 2 Т 
M43Выбор передачи - передача 3 Т 
M44Выбор передачи - передача 4 Т 
M48Допускается переопределение скорости подачиMТМФО (ручное изменение скорости подачи)
M49Переопределение скорости подачи НЕ допускаетсяMТПредотвращать МФО (ручное изменение скорости подачи). Это правило также обычно вызывается (автоматически) в циклах нарезания резьбы или одноточечных циклов нарезания резьбы, где подача точно коррелирует со скоростью. То же самое с SSO (коррекция скорости шпинделя) и кнопка остановки подачи. Некоторые элементы управления способны обеспечить SSO и MFO во время нарезания резьбы.
M52Выгрузить последний инструмент из шпинделяMТТакже пустой шпиндель.
M60Автоматическая смена поддонов (APC)M Для обрабатывающих центров с устройством смены паллет
M98Вызов подпрограммыMТБерет адрес п чтобы указать, какую подпрограмму вызывать, например, «M98 P8979» вызывает подпрограмму O8979.
M99Конец подпрограммыMТОбычно помещается в конец подпрограммы, где он возвращает управление выполнением основной программе. По умолчанию управление возвращается к блоку после вызова M98 в основной программе. Возврат к другому номеру блока можно указать с помощью адреса P. M99 также может использоваться в основной программе с пропуском кадра для бесконечного цикла основной программы при работе стержня на токарных станках (пока оператор не переключит пропуск кадра).
M100Очистить соплоУ некоторых 3D-принтеров есть предопределенная процедура для протирания сопла экструдера по осям X и Y, часто о гибкий скребок, установленный в зоне разгрузки.

Пример программы

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

Образец
БлокироватьКодОписание
%Сигнализирует начало данных во время передачи файла. Первоначально использовалось для остановки перемотки ленты, не обязательно для запуска программы. Для некоторых элементов управления (FANUC) первый LF (EOB) - это запуск программы. ISO использует%, EIA использует ER (0x0B).
O4968 (ОПИСАНИЕ ДОПОЛНИТЕЛЬНОЙ ПРОГРАММЫ ИЛИ КОММЕНТАРИЙ)Пример программы обработки лица и поворота. Комментарии заключаются в круглые скобки.
N01M216Включите монитор нагрузки
N02G20 G90 G54 D200 G40Дюймовые единицы. Абсолютный режим. Активировать смещение нулевой точки. Активируйте коррекцию инструмента. Деактивировать компенсацию радиуса вершины инструмента.
Значимость: Этот блок часто называют безопасный блок или предохранительный блок. Его команды могут быть разными, но обычно они похожи на те, что показаны здесь. Идея состоит в том, что блок безопасности всегда следует указывать в верхней части любой программы в качестве общего значения по умолчанию, если только не существует какой-либо очень конкретной / конкретной причины для его пропуска. Блок безопасности похож на санитарная проверка или предполетный контрольный список: он явно обеспечивает условия, которые в противном случае были бы неявными, оставленными на усмотрение. Блокировка безопасности снижает риск сбоев, а также может помочь переориентировать мышление людей, которые пишут или читают программу в спешке.
N03G50 S2000Установить максимальную скорость шпинделя в об / мин - эта настройка влияет на режим постоянной скорости резания.
N04T0300Подставить револьверную головку к инструменту 3. Сбросить коррекцию износа (00).
N05G96 S854 M03Постоянная скорость резания [автоматически меняет скорость шпинделя], 854 SFM, начать вращение шпинделя по часовой стрелке
N06G41 G00 X1.1 Z1.1 T0303 M08Включите режим компенсации радиуса фрезы, быстрое положение на 0,55 дюйма над осевой линией (1,1 дюйма в диаметре) и положительное значение на 1,1 дюйма от рабочего смещения по Z, активируйте залив охлаждающей жидкости
N07G01 Z1.0 F.05Подача по горизонтали со скоростью 0,050 дюйма на оборот шпинделя, пока инструмент не будет расположен на 1 дюйм положительно от рабочего смещения.
N08Х-0,016Пропустите инструмент немного дальше центра - инструмент должен пройти, по крайней мере, на радиус его вершины за центр детали, чтобы предотвратить оставшийся гребешок материала.
N09G00 Z1.1Быстрое позиционирование; отвести в исходное положение
N10X1.0Быстрое позиционирование; следующий проход
N11G01 Z0.0 F.05Подайте горизонтально, разрезая пруток до диаметра 1 дюйм до исходной точки, 0,05 дюйма / об.
N12G00 X1.1 M05 M09Очистите деталь, остановите шпиндель, отключите охлаждающую жидкость
N13G91 G28 X0Ось X в исходное положение - возврат в исходное положение станка по оси X
N14G91 G28 Z0Главная ось Z - возврат в исходное положение станка по оси Z
N15G90Вернитесь в абсолютный режим. Отключить монитор нагрузки
N16M30Остановка программы, перемотка к началу программы, ожидание начала цикла
%Сигнал об окончании данных во время передачи файла. Первоначально использовался для обозначения конца ленты, а не обязательно конца программы. ISO использует%, EIA использует ER (0x0B).
Путь к инструменту для программы

Несколько замечаний:

  1. Даже в этой короткой программе есть место для некоторого стиля программирования. Группировка кодов в строке N06 могла быть размещена на нескольких строках. Это могло упростить отслеживание выполнения программы.
  2. Многие коды модальный, что означает, что они остаются в силе до тех пор, пока не будут отменены или заменены противоречащим кодом. Например, если была выбрана резка с переменной скоростью (CSS) (G96), она действует до конца программы. Во время работы скорость шпинделя увеличивается по мере приближения инструмента к центру заготовки для поддержания постоянной скорости резания. Точно так же, если выбрана ускоренная подача (G00), все движения инструмента будут быстрыми, пока не будет выбран код скорости подачи (G01, G02, G03).
  3. Обычной практикой является использование монитора нагрузки на станках с ЧПУ. Монитор нагрузки останавливает станок, если нагрузка на шпиндель или подачу превышает предустановленное значение, которое задается во время операции настройки. Функции монитора нагрузки разнообразны:
    1. Предотвратите повреждение станка в случае поломки инструмента или ошибки программирования.
      1. Это особенно важно, потому что это обеспечивает безопасную «механическую обработку без выключения света», при которой операторы настраивают работу и запускают ее в течение дня, а затем уходят домой на ночь, оставляя машины работать и резать детали на ночь. Поскольку поблизости нет людей, которые слышали, видели или учуяли такую ​​проблему, как сломанный инструмент, монитор нагрузки выполняет важную сторожевую функцию. Когда он обнаруживает состояние перегрузки, которое семантически предполагает затупившийся или сломанный инструмент, он подает команду на остановку обработки. В настоящее время доступна технология для отправки предупреждений кому-либо удаленно (например, спящему владельцу, оператору или владельцу-оператору), если это необходимо, что может позволить им вмешаться и возобновить производство, а затем снова уйти. Это может быть разницей между прибыльностью или убытком на некоторых работах, потому что обработка без отключения электроэнергии сокращает количество рабочих часов на каждую деталь.
    2. Предупредите о том, что инструмент тускнеет и его необходимо заменить или заточить. Таким образом, оператору, обслуживающему несколько машин, машина, по сути, говорит: «Сделайте паузу там, и займитесь чем-нибудь здесь».
  4. Обычная практика - быстро подвести инструмент к «безопасной» точке, которая находится близко к детали - в данном случае на расстоянии 0,1 дюйма - а затем начать подачу инструмента. Насколько близко это «безопасное» расстояние, зависит от предпочтений. программиста и / или оператора и максимальные материальные условия для сырья.
  5. Если программа неправильная, высока вероятность, что машина крушение, или протолкните инструмент в деталь, тиски или станок с высокой мощностью. Это может быть дорогостоящим, особенно в новых обрабатывающих центрах. Можно чередовать программу с дополнительными остановками (код M01), которые позволяют программе запускаться по частям в целях тестирования. Необязательные остановки остаются в программе, но пропускаются во время нормальной работы. К счастью, большинство программного обеспечения CAD / CAM поставляется с симуляторами ЧПУ, которые отображают движение инструмента во время выполнения программы. В настоящее время окружающие объекты (патрон, зажимы, приспособление, задняя бабка и др.) Включены в 3D модели, и симуляция очень похожа на целую видеоигру или среду виртуальной реальности, что значительно снижает вероятность непредвиденных сбоев. Многие современные станки с ЧПУ также позволяют программистам выполнять программу в режиме моделирования и наблюдать за рабочими параметрами станка в определенной точке выполнения. Это позволяет программистам обнаруживать семантические ошибки (в отличие от синтаксических ошибок), прежде чем терять материал или инструменты из-за неправильной программы. В зависимости от размера детали восковые блоки также могут использоваться для тестирования. Кроме того, многие станки поддерживают переопределение оператором как скорости, так и скорости подачи, которые можно использовать для снижения скорости станка, что позволяет операторам останавливать выполнение программы до того, как произойдет сбой.
  6. В образовательных целях в программу выше были включены номера строк. Обычно они не нужны для работы машины и увеличивают размер файлов, поэтому редко используются в промышленности. Однако, если в коде используются операторы ветвления или цикла, то номера строк вполне могут быть включены в качестве цели этих операторов (например, GOTO N99).
  7. Некоторые машины не позволяют использовать несколько М-кодов в одной строке.

Среда программирования

Среда программирования G-кода развивалась параллельно со средами общего программирования - от самых ранних сред (например, написание программы карандашом, ввод ее в перфоратор) до новейших сред, сочетающих CAD (системы автоматизированного проектирования ), CAM (автоматическое производство ) и многофункциональные редакторы G-кода. (Редакторы G-кода аналогичны Редакторы XML, семантически используя цвета и отступы [плюс другие функции], чтобы помочь пользователю в основных текстовые редакторы не могу. Пакеты CAM аналогичны Иды в общем программировании.)

Две смены парадигмы высокого уровня заключались в следующем: (1) отказ от «ручного программирования» (с использованием только карандаша или текстового редактора и человеческого разума) в пользу Программное обеспечение CAM системы, которые автоматически генерируют G-код через постпроцессоры (аналогично разработке визуальный методы общего программирования) и (2) отказ от жестко запрограммированных конструкций в пользу параметрических (аналогично разнице в общем программировании между жестким кодированием константы в уравнение и объявлением ее переменной и присвоением ей новых значений по желанию; и объектно-ориентированный подход в целом). Макро (параметрическое) программирование ЧПУ использует понятные человеку имена переменных, реляционные операторы, и структуры цикла, как и общее программирование, для сбора информации и логики с машиночитаемой семантикой. В то время как более старое ручное программирование с ЧПУ могло описывать только конкретные экземпляры деталей в числовой форме, макропрограммирование описывает абстракции, которые можно легко применить в самых разных случаях. Это различие имеет много аналогов, как до эпохи вычислений, так и после ее появления, например (1) создание текста в виде растровых изображений по сравнению с использованием кодировка символов с глифы; (2) уровень абстракции табличной инженерные чертежи, с множеством номеров деталей, параметрически определяемых одним и тем же чертежом и таблицей параметров; или (3) способ, которым HTML прошел этап использования разметки контента для целей презентации, а затем превратился в CSS модель. Во всех этих случаях более высокий уровень абстракции вводил то, чего не хватало семантически.

ШАГ-NC отражает ту же тему, которую можно рассматривать как еще один шаг на пути, начавшемся с разработки станков, приспособлений и приспособлений, а также числового управления, которые все стремились «встроить навыки в инструмент». Последние разработки G-кода и STEP-NC направлены на встраивание информации и семантики в инструмент. Эта идея не нова; с самого начала числового управления концепция сквозной среды CAD / CAM была целью таких ранних технологий, как DAC-1 и APT. Эти усилия устраивали такие огромные корпорации, как GM и Boeing. Однако, малые и средние предприятия пережила эпоху более простых реализаций ЧПУ, с относительно примитивным G-кодом «соедините точки» и ручным программированием, пока CAD / CAM не усовершенствовался и не стал распространяться по всей отрасли.

Любой станок с большим количеством осей, шпинделей и инструментальных станций трудно правильно программировать вручную. Это делалось годами, но нелегко. Эта проблема существовала на протяжении десятилетий в программировании винтовых станков с ЧПУ и поворотного переноса, а теперь она также возникает с современными новыми обрабатывающими центрами, называемыми «токарно-фрезерные станки», «токарно-фрезерные станки», «многозадачные станки» и «многофункциональные станки». Теперь, когда CAD / CAM системы широко используются, программирование ЧПУ (например, с помощью G-кода) требует, чтобы CAD / CAM (в отличие от ручного программирования) был практичным и конкурентоспособным в сегментах рынка, которые обслуживаются этими классами станков.[11] Как говорит Смид: «Объедините все эти топоры с некоторыми дополнительными функциями, и объем знаний, необходимых для успеха, будет, мягко говоря, ошеломляющим».[12] Однако в то же время программисты по-прежнему должны досконально понимать принципы ручного программирования и должны критически мыслить и пересматривать некоторые аспекты решений программного обеспечения.

Примерно с середины 2000-х годов кажется, что приближается «смерть ручного программирования» (то есть написания строк G-кода без помощи CAD / CAM). Однако в настоящее время он находится только в немного контексты, что ручное программирование устарело. В настоящее время множество CAM-программирования происходит среди людей, которые устали или неспособны к ручному программированию, но это неправда, что все Программирование ЧПУ может быть выполнено или выполнено также или так же эффективно, не зная G-кода.[13][14] Настройка и уточнение программы ЧПУ на станке - это область практики, где проще или эффективнее редактировать G-код напрямую, чем редактировать траектории инструмента CAM и повторно обрабатывать программу.

Создание живых режущих деталей на станках с компьютерным управлением стало проще и сложнее с помощью программного обеспечения CAD / CAM. Эффективно написанный G-код может стать проблемой для программного обеспечения CAM. В идеале машинист с ЧПУ должен хорошо знать как ручное, так и CAM-программирование, чтобы можно было использовать преимущества как грубого CAM, так и элегантного ручного программирования там, где это необходимо. Многие старые машины были построены с ограниченным память компьютера в то время, когда память была очень дорогой; Считалось, что 32K вполне достаточно места для ручных программ, тогда как современное программное обеспечение CAM может размещать гигабайты кода. CAM отлично справляется с быстрым запуском программы, которая может занимать больше памяти машины и дольше запускаться. Это часто делает его весьма полезным для обработки небольшого количества деталей. Но необходимо найти баланс между временем, необходимым для создания программы, и временем, которое требуется программе для обработки детали. Стало проще и быстрее изготавливать всего несколько деталей на новых машинах с большим объемом памяти. Это сказалось как на ручных программистах, так и на ручных машинистах. Учитывая естественные оборот до выхода на пенсию, нереально ожидать сохранения большого числа операторов, обладающих высокой квалификацией в ручном программировании, когда их коммерческая среда по большей части больше не может дать бесчисленные часы глубокого опыта, которые потребовались для развития этого навыка; и все же потерю этой базы опыта можно оценить, и бывают моменты, когда такого пула очень не хватает, потому что некоторые прогоны ЧПУ все еще не могут быть оптимизированы без таких навыков.

Сокращения, используемые программистами и операторами

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

СокращениеРасширениеИнформация о следствии
APCавтоматический сменщик паллетУвидеть M60.
УВДавтоматический сменщик инструментаУвидеть M06.
CAD / CAMсистемы автоматизированного проектирования и автоматическое производство 
CCWпротив часовой стрелкиУвидеть M04.
ЧПУкомпьютеризированное числовое управление 
CRCкомпенсация радиуса фрезыСмотрите также G40, G41, и G42.
CSскорость резанияСсылаясь на скорость резания (скорость резания) в поверхность футов в минуту (SFM, SFM) или метров в минуту (м / мин).
CSSпостоянная поверхностная скоростьУвидеть G96 для объяснения.
CWпо часовой стрелкеУвидеть M03.
DNCпрямое числовое управление или распределенное числовое управление Иногда его называют «капельной подачей» или «капельным числовым программным управлением» из-за того, что файл может быть «капельно» подан в машину построчно по последовательному протоколу, например RS232. DNC позволяет машинам с ограниченным объемом памяти запускать файлы большего размера.
DOCглубина резанияОтносится к тому, насколько глубоким (в направлении Z) будет данный разрез.
EOBконец блокаСиноним G-кода конец строки (EOL). А управляющий персонаж приравнивая к новая линия. Во многих реализациях G-кода (а также, в более общем смысле, во многих языки программирования ), а точка с запятой (;) является синонимом EOB. В некоторых элементах управления (особенно старых) он должен быть явно набран и отображен. Другое программное обеспечение рассматривает его как непечатаемый / неотображаемый символ, как и приложения для обработки текста относиться к Pilcrow (¶).
E-stopэкстренная остановка 
EXTвнешнийНа панели управления одно из положений переключателя режима - «внешний», иногда сокращенно «EXT», относящееся к любому внешнему источнику данных, например, магнитной ленте или DNC, в отличие от память компьютера который встроен в само ЧПУ.
FIMполное движение индикатора 
FPMфутов в минутуУвидеть SFM.
HBMгоризонтально-расточной станокТип станка, который специализируется на растачивании больших отверстий, как правило, в больших заготовках.
HMCгоризонтальный обрабатывающий центр 
HSMвысокоскоростная обработкаОтносится к обработке на скорости считается высоким по традиционным стандартам. Обычно достигается с помощью специальных приспособлений для шпинделя с редуктором или новейших шпинделей с высоким числом оборотов. На современных станках HSM относится к стратегии резания с небольшой, постоянной стружкой и высокой скоростью подачи, обычно на полной или близкой к полной глубине резания.[15]
HSSбыстрорежущей сталиТип инструментальная сталь используется для изготовления фрез. Все еще широко используется сегодня (универсальный, доступный, способный), хотя карбид и другие продолжают сокращать свою долю коммерческого применения из-за более высокой скорости съема материала.
вдюйм (е) 
IPFдюймов на флейтуТакже известен как загрузка чипа или IPT. Увидеть F адрес и скорость подачи.
IPMдюймов в минутуУвидеть F адрес и скорость подачи.
ПИСдюймов на оборотУвидеть F адрес и скорость подачи.
IPTдюймов на зубТакже известен как загрузка чипа или IPF. Увидеть F адрес и скорость подачи.
MDIручной ввод данныхРежим работы, в котором оператор может вводить строки программы (блоки кода), а затем выполнять их, нажимая запуск цикла.
MEMобъем памятиНа панели управления одно из положений переключателя режимов - «память», иногда сокращенно «MEM», относящееся к память компьютера который встроен в само ЧПУ, в отличие от любого внешнего источника данных, такого как лента или DNC.
МФОручная коррекция скорости подачиДиск или кнопки MFO позволяют оператору ЧПУ или станочнику умножать запрограммированное значение подачи на любой процент, обычно от 10% до 200%. Это необходимо для точной настройки скорости и подачи минимизировать болтовня, улучшить чистота поверхности, увеличить срок службы инструмента и т. д. В SSO и функции MFO могут быть заблокированы по разным причинам, например, для синхронизации скорости и подачи при нарезании потоков, или даже для предотвращения «зацикливания» / «преследования» операторами. В некоторых новых элементах управления синхронизация скорости и подачи при нарезании резьбы достаточно сложна, чтобы SSO и MFO могли быть доступны во время нарезания резьбы, что помогает с точной настройкой скоростей и подач, чтобы уменьшить дребезг на потоках или при ремонтных работах, связанных с захватом существующие темы.[16]
мммиллиметр (s) 
MPGручной генератор импульсовСсылаясь на ручку (маховик) (каждый щелчок ручки генерирует один импульс сервовхода)
NCчисловое управление 
OSSориентированный стопор шпинделяСм. Комментарии на M19.
SFMповерхность футов в минутуСмотрите также скорости и подачи и G96.
SFPMповерхность футов в минутуСмотрите также скорости и подачи и G96.
SPTодноточечная резьба 
SSOкоррекция скорости шпинделяДиск или кнопки SSO позволяют оператору ЧПУ или механику умножать запрограммированное значение скорости на любой процент, обычно от 10% до 200%. Это необходимо для точной настройки скорости и подачи минимизировать болтовня, улучшить чистота поверхности, увеличить срок службы инструмента и т. д. SSO и МФО функции могут быть заблокированы по разным причинам, например, для синхронизации скорости и подачи при нарезании резьбы или даже для предотвращения "солдатская "/" сторожит " операторами. В некоторых более новых элементах управления синхронизация скорости и подачи при нарезании резьбы достаточно сложна, чтобы SSO и MFO могли быть доступны во время нарезания резьбы, что помогает с точной настройкой скоростей и подач для уменьшения дребезга на резьбах или при ремонтных работах, связанных с захватом существующие темы.[16]
TC или T / Cсмена инструмента, устройство смены инструмента Увидеть M06.
МДПобщее показание индикатора 
TPIрезьбы на дюйм 
USBуниверсальная последовательная шинаОдин тип подключения для передачи данных
VMCвертикальный обрабатывающий центр 
VTLтокарный станок с вертикальной револьверной головкойТип станка, который по сути представляет собой токарный станок с вертикальной осью Z, что позволяет лицевой панели сидеть как большой поворотный стол. Концепция VTL пересекается с концепцией вертикально-расточного станка.

Смотрите также

Расширенные разработки

Подобные концепции

Проблемы во время применения

использованная литература

  1. ^ Карло Апро (2008). Секреты 5-осевой обработки. Industrial Press Inc. ISBN  0-8311-3375-9.
  2. ^ Стандарт EIA RS-274-D Формат сменных переменных блоков данных для позиционирования, контурной обработки и контурной обработки / позиционирования станков с числовым программным управлением, Вашингтон, округ Колумбия: Ассоциация электронной промышленности, февраль 1979 г.
  3. ^ Мартин., Либицки (1995). Стандарты информационных технологий: в поисках общего байта. Берлингтон: Elsevier Science. п. 321. ISBN  9781483292489. OCLC  895436474.
  4. ^ «Макросистемные переменные Fanuc». Получено 2014-06-30.
  5. ^ а б c d е ж г Smid 2008.
  6. ^ а б c Smid 2010.
  7. ^ а б c d Зеленый 1996, стр. 1162–1226.
  8. ^ а б c Smid 2004, п. 61
  9. ^ «Часто задаваемые вопросы - к вашим услугам». atyourservice.haascnc.com. Архивировано из оригинал 1 января 2015 г.. Получено 5 апреля 2018.
  10. ^ а б c d Smid 2010, стр. 29–30.
  11. ^ Редакция MMS (2010-12-20), «Система CAM упрощает программирование токарных станков швейцарского типа», Современный механический цех, 83 (8 [янв 2011]): 100–105. Интернет впереди печати.
  12. ^ Smid 2008, п. 457.
  13. ^ Линч, Майк (18 января 2010 г.), «Когда программисты должны знать код G», Современный механический цех (онлайн-изд.).
  14. ^ Линч, Майк (2011-10-19), «Пять мифов и заблуждений о ЧПУ [колонка CNC Tech Talk, комментарий редактора]», Современный механический цех (онлайн-изд.), заархивировано оригинал на 2017-05-27, получено 2011-11-22.
  15. ^ Маринак, Дэн. «Стратегии траектории инструмента для высокоскоростной обработки». www.mmsonline.com. Получено 2018-03-06.
  16. ^ а б Корн, Дерек (2014-05-06), "Что такое потоки с произвольной скоростью?", Современный механический цех.

Список используемой литературы

внешняя ссылка