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 |
|
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. | Расширенный контроль предварительного просмотра AI | M | Использует глубокий взгляд вперед буфер и обработка моделирования для обеспечения лучшего ускорения и замедления движения оси во время контурного фрезерования | |
G06.1 | Неравномерный рациональный B-сплайн (NURBS) Обработка | M | Активирует неравномерный Rational B Spline для обработки сложных кривых и форм волны (этот код подтвержден в Mazatrol 640M ISO Programming) | |
G07 | Обозначение воображаемой оси | M | ||
G09 | Проверка точной остановки, немодально | M | Т | Модальная версия G61. |
G10 | Программируемый ввод данных | M | Т | Изменяет значение рабочей координаты и коррекции инструмента[9][8] |
G11 | Отмена записи данных | M | Т | |
G17 | Выбор плоскости XY | M | ||
G18 | Выбор плоскости ZX | M | Т | |
G19 | Выбор самолета YZ | M | ||
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 | Цикл нарезания резьбы для фрезерования, левая нить, Направление шпинделя M04 | M | См. Примечания на 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 |
| |
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 (ОПИСАНИЕ ДОПОЛНИТЕЛЬНОЙ ПРОГРАММЫ ИЛИ КОММЕНТАРИЙ) | Пример программы обработки лица и поворота. Комментарии заключаются в круглые скобки. | |
N01 | M216 | Включите монитор нагрузки |
N02 | G20 G90 G54 D200 G40 | Дюймовые единицы. Абсолютный режим. Активировать смещение нулевой точки. Активируйте коррекцию инструмента. Деактивировать компенсацию радиуса вершины инструмента. Значимость: Этот блок часто называют безопасный блок или предохранительный блок. Его команды могут быть разными, но обычно они похожи на те, что показаны здесь. Идея состоит в том, что блок безопасности всегда следует указывать в верхней части любой программы в качестве общего значения по умолчанию, если только не существует какой-либо очень конкретной / конкретной причины для его пропуска. Блок безопасности похож на санитарная проверка или предполетный контрольный список: он явно обеспечивает условия, которые в противном случае были бы неявными, оставленными на усмотрение. Блокировка безопасности снижает риск сбоев, а также может помочь переориентировать мышление людей, которые пишут или читают программу в спешке. |
N03 | G50 S2000 | Установить максимальную скорость шпинделя в об / мин - эта настройка влияет на режим постоянной скорости резания. |
N04 | T0300 | Подставить револьверную головку к инструменту 3. Сбросить коррекцию износа (00). |
N05 | G96 S854 M03 | Постоянная скорость резания [автоматически меняет скорость шпинделя], 854 SFM, начать вращение шпинделя по часовой стрелке |
N06 | G41 G00 X1.1 Z1.1 T0303 M08 | Включите режим компенсации радиуса фрезы, быстрое положение на 0,55 дюйма над осевой линией (1,1 дюйма в диаметре) и положительное значение на 1,1 дюйма от рабочего смещения по Z, активируйте залив охлаждающей жидкости |
N07 | G01 Z1.0 F.05 | Подача по горизонтали со скоростью 0,050 дюйма на оборот шпинделя, пока инструмент не будет расположен на 1 дюйм положительно от рабочего смещения. |
N08 | Х-0,016 | Пропустите инструмент немного дальше центра - инструмент должен пройти, по крайней мере, на радиус его вершины за центр детали, чтобы предотвратить оставшийся гребешок материала. |
N09 | G00 Z1.1 | Быстрое позиционирование; отвести в исходное положение |
N10 | X1.0 | Быстрое позиционирование; следующий проход |
N11 | G01 Z0.0 F.05 | Подайте горизонтально, разрезая пруток до диаметра 1 дюйм до исходной точки, 0,05 дюйма / об. |
N12 | G00 X1.1 M05 M09 | Очистите деталь, остановите шпиндель, отключите охлаждающую жидкость |
N13 | G91 G28 X0 | Ось X в исходное положение - возврат в исходное положение станка по оси X |
N14 | G91 G28 Z0 | Главная ось Z - возврат в исходное положение станка по оси Z |
N15 | G90 | Вернитесь в абсолютный режим. Отключить монитор нагрузки |
N16 | M30 | Остановка программы, перемотка к началу программы, ожидание начала цикла |
% | Сигнал об окончании данных во время передачи файла. Первоначально использовался для обозначения конца ленты, а не обязательно конца программы. ISO использует%, EIA использует ER (0x0B). |
Несколько замечаний:
- Даже в этой короткой программе есть место для некоторого стиля программирования. Группировка кодов в строке N06 могла быть размещена на нескольких строках. Это могло упростить отслеживание выполнения программы.
- Многие коды модальный, что означает, что они остаются в силе до тех пор, пока не будут отменены или заменены противоречащим кодом. Например, если была выбрана резка с переменной скоростью (CSS) (G96), она действует до конца программы. Во время работы скорость шпинделя увеличивается по мере приближения инструмента к центру заготовки для поддержания постоянной скорости резания. Точно так же, если выбрана ускоренная подача (G00), все движения инструмента будут быстрыми, пока не будет выбран код скорости подачи (G01, G02, G03).
- Обычной практикой является использование монитора нагрузки на станках с ЧПУ. Монитор нагрузки останавливает станок, если нагрузка на шпиндель или подачу превышает предустановленное значение, которое задается во время операции настройки. Функции монитора нагрузки разнообразны:
- Предотвратите повреждение станка в случае поломки инструмента или ошибки программирования.
- Это особенно важно, потому что это обеспечивает безопасную «механическую обработку без выключения света», при которой операторы настраивают работу и запускают ее в течение дня, а затем уходят домой на ночь, оставляя машины работать и резать детали на ночь. Поскольку поблизости нет людей, которые слышали, видели или учуяли такую проблему, как сломанный инструмент, монитор нагрузки выполняет важную сторожевую функцию. Когда он обнаруживает состояние перегрузки, которое семантически предполагает затупившийся или сломанный инструмент, он подает команду на остановку обработки. В настоящее время доступна технология для отправки предупреждений кому-либо удаленно (например, спящему владельцу, оператору или владельцу-оператору), если это необходимо, что может позволить им вмешаться и возобновить производство, а затем снова уйти. Это может быть разницей между прибыльностью или убытком на некоторых работах, потому что обработка без отключения электроэнергии сокращает количество рабочих часов на каждую деталь.
- Предупредите о том, что инструмент тускнеет и его необходимо заменить или заточить. Таким образом, оператору, обслуживающему несколько машин, машина, по сути, говорит: «Сделайте паузу там, и займитесь чем-нибудь здесь».
- Предотвратите повреждение станка в случае поломки инструмента или ошибки программирования.
- Обычная практика - быстро подвести инструмент к «безопасной» точке, которая находится близко к детали - в данном случае на расстоянии 0,1 дюйма - а затем начать подачу инструмента. Насколько близко это «безопасное» расстояние, зависит от предпочтений. программиста и / или оператора и максимальные материальные условия для сырья.
- Если программа неправильная, высока вероятность, что машина крушение, или протолкните инструмент в деталь, тиски или станок с высокой мощностью. Это может быть дорогостоящим, особенно в новых обрабатывающих центрах. Можно чередовать программу с дополнительными остановками (код M01), которые позволяют программе запускаться по частям в целях тестирования. Необязательные остановки остаются в программе, но пропускаются во время нормальной работы. К счастью, большинство программного обеспечения CAD / CAM поставляется с симуляторами ЧПУ, которые отображают движение инструмента во время выполнения программы. В настоящее время окружающие объекты (патрон, зажимы, приспособление, задняя бабка и др.) Включены в 3D модели, и симуляция очень похожа на целую видеоигру или среду виртуальной реальности, что значительно снижает вероятность непредвиденных сбоев. Многие современные станки с ЧПУ также позволяют программистам выполнять программу в режиме моделирования и наблюдать за рабочими параметрами станка в определенной точке выполнения. Это позволяет программистам обнаруживать семантические ошибки (в отличие от синтаксических ошибок), прежде чем терять материал или инструменты из-за неправильной программы. В зависимости от размера детали восковые блоки также могут использоваться для тестирования. Кроме того, многие станки поддерживают переопределение оператором как скорости, так и скорости подачи, которые можно использовать для снижения скорости станка, что позволяет операторам останавливать выполнение программы до того, как произойдет сбой.
- В образовательных целях в программу выше были включены номера строк. Обычно они не нужны для работы машины и увеличивают размер файлов, поэтому редко используются в промышленности. Однако, если в коде используются операторы ветвления или цикла, то номера строк вполне могут быть включены в качестве цели этих операторов (например, GOTO N99).
- Некоторые машины не позволяют использовать несколько М-кодов в одной строке.
Среда программирования
Эта секция возможно содержит оригинальные исследования.Январь 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Среда программирования 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 пересекается с концепцией вертикально-расточного станка. |
Смотрите также
- 3D печать
- Консервированный цикл
- LinuxCNC - бесплатное программное обеспечение ЧПУ с множеством ресурсов для документации G-кода
- Файл сверла
- HP-GL
Расширенные разработки
Подобные концепции
Проблемы во время применения
- Расположение резака, компенсация резца, параметры смещения
- Системы координат
использованная литература
- ^ Карло Апро (2008). Секреты 5-осевой обработки. Industrial Press Inc. ISBN 0-8311-3375-9.
- ^ Стандарт EIA RS-274-D Формат сменных переменных блоков данных для позиционирования, контурной обработки и контурной обработки / позиционирования станков с числовым программным управлением, Вашингтон, округ Колумбия: Ассоциация электронной промышленности, февраль 1979 г.
- ^ Мартин., Либицки (1995). Стандарты информационных технологий: в поисках общего байта. Берлингтон: Elsevier Science. п. 321. ISBN 9781483292489. OCLC 895436474.
- ^ «Макросистемные переменные Fanuc». Получено 2014-06-30.
- ^ а б c d е ж г Smid 2008 .
- ^ а б c Smid 2010 .
- ^ а б c d Зеленый 1996, стр. 1162–1226 .
- ^ а б c Smid 2004, п. 61
- ^ «Часто задаваемые вопросы - к вашим услугам». atyourservice.haascnc.com. Архивировано из оригинал 1 января 2015 г.. Получено 5 апреля 2018.
- ^ а б c d Smid 2010, стр. 29–30 .
- ^ Редакция MMS (2010-12-20), «Система CAM упрощает программирование токарных станков швейцарского типа», Современный механический цех, 83 (8 [янв 2011]): 100–105. Интернет впереди печати.
- ^ Smid 2008, п. 457 .
- ^ Линч, Майк (18 января 2010 г.), «Когда программисты должны знать код G», Современный механический цех (онлайн-изд.).
- ^ Линч, Майк (2011-10-19), «Пять мифов и заблуждений о ЧПУ [колонка CNC Tech Talk, комментарий редактора]», Современный механический цех (онлайн-изд.), заархивировано оригинал на 2017-05-27, получено 2011-11-22.
- ^ Маринак, Дэн. «Стратегии траектории инструмента для высокоскоростной обработки». www.mmsonline.com. Получено 2018-03-06.
- ^ а б Корн, Дерек (2014-05-06), "Что такое потоки с произвольной скоростью?", Современный механический цех.
Список используемой литературы
- Оберг, Эрик; Джонс, Франклин Д .; Horton, Holbrook L .; Райффель, Генри Х. (1996), Грин, Роберт Э .; Макколи, Кристофер Дж. (Ред.), Справочник по машинам (25-е изд.), Нью-Йорк: Промышленная пресса, ISBN 978-0-8311-2575-2, OCLC 473691581.
- Смид, Питер (2008), Справочник по программированию ЧПУ (3-е изд.), Нью-Йорк: Industrial Press, ISBN 9780831133474, LCCN 2007045901.
- Смид, Питер (2010), Настройка управления ЧПУ для фрезерования и токарной обработки, Нью-Йорк: Industrial Press, ISBN 978-0831133504, LCCN 2010007023.
- Смид, Питер (2004), Пользовательские макросы Fanuc с ЧПУ, Промышленная пресса, ISBN 978-0831131579.
внешняя ссылка
- Программирование G-кода и M-кода ЧПУ
- Учебник для G-кода
- Kramer, T. R .; Проктор, Ф. М .; Мессина, Э. Р. (1 августа 2000 г.), "Интерпретатор NIST RS274NGC - Версия 3", NIST, NISTIR 6556
- http://museum.mit.edu/150/86 Есть несколько ссылок (включая историю MIT Servo Lab)
- Полный список G-кода, используемого в большинстве 3D-принтеров
- Справочник по G-кодам Fanuc и Haas
- Руководство по G-коду Fanuc и Haas
- Руководство по фрезерованию Haas
- Код G для токарных и фрезерных станков
- Код M для токарных и фрезерных станков
- Постпроцессор GRBL для Solidworks Cam