Парадигма | Процедурное , Императивное |
---|---|
Разработано | Массачусетский Институт Технологий |
Впервые появился | 1950-е годы (первое издание) |
Расширения имени файла | .gcode, .mpt, .mpf, .nc и некоторые другие |
Основные реализации | |
многие, в основном Siemens Sinumerik, FANUC , Haas , Heidenhain , Mazak . Обычно существует один международный стандарт - ISO 6983. |
G-код (также RS-274 ) является наиболее широко используется компьютер с числовым программным управлением (ЧПУ) Язык программирования . Он используется в основном в автоматизированном производстве для управления автоматизированными станками и имеет множество вариантов.
Инструкции G-кода предоставляются контроллеру машины (промышленному компьютеру), который сообщает двигателям, куда двигаться, с какой скоростью двигаться и по какому пути следовать. Два наиболее распространенная ситуации , что, в пределах станка , такие как токарный станок или мельницу , А режущий инструмент перемещаются в соответствии с этими инструкциями через траекторию инструмента убирание материала , чтобы оставить только готовую заготовку и / или, незаконченные заготовки точно позиционируются в любой из девяти осей [1] вокруг трех измерений относительно траектории инструмента, и одна или обе могут перемещаться относительно друг друга. Та же концепция распространяется и на неразрезные инструменты, такие как формовочные или полировальные инструменты, фотопечати., аддитивные методы, такие как 3D-печать , и измерительные инструменты.
Реализации [ править ]
Первая реализация языка программирования с числовым программным управлением была разработана в лаборатории сервомеханизмов Массачусетского технологического института в конце 1950-х годов. За прошедшие с тех пор десятилетия многие организации (коммерческие и некоммерческие) разработали множество реализаций. В этих реализациях часто использовался G-код. Основная стандартизированная версия, используемая в Соединенных Штатах, была утверждена Альянсом электронной промышленности в начале 1960-х годов. [ необходима цитата ] Окончательная версия была утверждена в феврале 1980 года как RS-274-D . [2] В других странах часто используется стандарт ISO 6983 , но многие европейские страны используют другие стандарты. Например, DIN66025 используется в Германии, а PN-73M-55256 и PN-93 / M-55251 ранее использовались в Польше.
Расширения и варианты были добавлены независимо производителями устройств управления и производителями станков, и операторы конкретного контроллера должны знать о различиях продуктов каждого производителя.
Одна стандартизированная версия G-кода, известная как BCL (Binary Cutter Language), используется только на очень небольшом количестве машин. BCL, разработанный в Массачусетском технологическом институте, был разработан для управления станками с ЧПУ с точки зрения прямых и дуг. [3]
В период с 1970-х по 1990-е годы многие производители станков с ЧПУ пытались преодолеть трудности совместимости за счет стандартизации контроллеров станков, созданных Fanuc . Siemens был еще одним лидером на рынке систем ЧПУ, особенно в Европе. В 2010-х годах различия и несовместимость контроллеров не так опасны, потому что операции обработки обычно разрабатываются с помощью приложений CAD / CAM, которые могут выводить соответствующий G-код для конкретного станка с помощью программного инструмента, называемого постпроцессором (иногда сокращается до "почтовый").
Некоторые станки с ЧПУ используют «диалоговое» программирование, которое представляет собой режим программирования, подобный мастеру , который либо скрывает G-код, либо полностью игнорирует использование G-кода. Некоторыми популярными примерами являются Advanced One Touch (AOT) Okuma, ProtoTRAK Southwestern Industries, Mazatrol Mazak, Ultimax и Winmax Hurco, система интуитивного программирования Haas (IPS) и диалоговое программное обеспечение CAPS от Mori Seiki.
G-код начинался как ограниченный язык, в котором отсутствовали такие конструкции, как циклы, условные операторы и объявленные программистом переменные с именами, включающими естественные слова (или выражениями, в которых их можно было использовать). Он не мог закодировать логику, но был просто способом «соединить точки», когда программист вручную вычислял расположение многих точек. Последние реализации G-кода включают возможности макроязыка, которые несколько ближе к языку программирования высокого уровня . Кроме того, все основные производители (например, Fanuc, Siemens, Heidenhain) предоставляют доступ к данным ПЛК, таким как данные позиционирования осей и данные инструмента [4], через переменные, используемые программами ЧПУ. Эти конструкции упрощают разработку приложений автоматизации.
Конкретные коды [ править ]
G-кода, также называемая подготовительными кодами, является любым словом в программе ЧПУ , которая начинается с буквой 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, если не запрограммировано с другим целым числом. Иногда вместо адреса L используется адрес K. При инкрементальном позиционировании ( G91 ) ряд отверстий, расположенных на одинаковом расстоянии друг от друга, можно запрограммировать как петлю, а не как отдельные позиции. Использование G10 : Указание того, какой регистр редактировать (рабочие коррекции, коррекции радиуса инструмента, коррекции длины инструмента и т. Д.). |
M | Разная функция | Код действия, вспомогательная команда; описания различаются. Многие M-коды требуют машинных функций, поэтому люди часто говорят, что «M» означает «машина», хотя это и не предназначалось. |
N | Номер строки (кадра) в программе; Номер системного параметра для изменения с помощью G10 | Номера строк (блоков): необязательны, поэтому часто опускаются. Необходим для определенных задач, таких как адрес M99 P (чтобы сообщить элементу управления, к какому блоку программы вернуться, если не по умолчанию) или операторы GoTo (если элемент управления их поддерживает). Нумерация 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) Также определяет время задержки на некоторых станках (вместо « P » или « X »). | В этих элементах управления 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. Также определяет время задержки на некоторых машинах (вместо « P » или « U »). | |
Y | Абсолютное или инкрементное положение оси Y | |
Z | Абсолютное или инкрементное положение оси Z | Ось вращения главного шпинделя часто определяет, какая ось станка обозначена буквой Z. |
Список G-кодов, обычно используемых в FANUC, и элементы управления аналогичной конструкции для фрезерования и токарной обработки [ править ]
Источники: Smid 2008; [5] Smid 2010; [6] Грин и др. 1996. [7]
- Примечание . Модальный режим означает, что код остается в силе до тех пор, пока не будет заменен или отменен другим разрешенным кодом. Немодальный означает, что он выполняется только один раз. См., Например, коды G09, G61 и G64 ниже.
Код | Описание | Фрезерование (M) | Токарная (T) | Информация о следствии |
---|---|---|---|---|
G00 | Быстрое позиционирование | M | Т | При 2- или 3-осевом перемещении G00 (в отличие от G01 ) традиционно не обязательно перемещается по одной прямой линии между начальной и конечной точками. Он перемещает каждую ось на своей максимальной скорости, пока не будет достигнута ее векторная величина. Более короткий вектор обычно заканчивается первым (при одинаковых скоростях осей). Это имеет значение, потому что это может привести к движению «собачьей ноги» или клюшке, которое программист должен учитывать, в зависимости от того, какие препятствия находятся поблизости, чтобы избежать сбоя. Некоторые машины предлагают интерполированные пороги в качестве функции для простоты программирования (можно предположить прямую линию). |
G01 | Линейная интерполяция | M | Т | Самый распространенный код рабочей лошадки для кормления во время стрижки. Программа определяет начальную и конечную точки, а элемент управления автоматически вычисляет ( интерполирует ) промежуточные точки, которые необходимо пройти, что дает прямую линию (следовательно, « линейную »). Затем система управления вычисляет угловые скорости, с которыми можно поворачивать ходовые винты оси через их серводвигатели или шаговые двигатели. Компьютер выполняет тысячи вычислений в секунду, а двигатели быстро реагируют на каждый ввод. Таким образом, реальная траектория обработки происходит с заданной скоростью подачи на траектории, которая является точно линейной в очень малых пределах. |
G02 | Круговая интерполяция, по часовой стрелке | M | Т | Очень похож по концепции на G01. Опять же, система управления интерполирует промежуточные точки и подает команду серво- или шаговым двигателям на поворот на величину, необходимую для ходового винта, чтобы перевести движение в правильное положение всплывающей подсказки. Этот процесс, повторяющийся тысячи раз в минуту, генерирует желаемую траекторию. В случае G02 интерполяция создает окружность, а не линию. Как и в случае с G01, фактическая траектория обработки происходит с заданной скоростью подачи на траектории, которая точно соответствует идеальной (в случае G02 , круг) в очень малых пределах. Фактически, интерполяция настолько точна (когда все условия верны), что фрезерование интерполированной окружности может исключить такие операции, как сверление, и часто даже обнаружить растачивание.Адреса для радиуса или центра дуги: G02 и G03 принимают либо адрес R (для желаемого радиуса детали), либо адреса IJK (для векторов компонентов, которые определяют вектор от начальной точки дуги до центра дуги). Компенсация резца: на большинстве органов управления вы не можете запустить G41 или G42 в режимах G02 или G03 . Вы, должно быть, уже выполнили компенсацию в предыдущем кадре G01 . Часто программируется короткое линейное движение подвода, просто чтобы обеспечить компенсацию на режущий инструмент перед основным действием, когда начинается круговое резание. Полные круги:Если начальная точка дуги и конечная точка дуги идентичны, инструмент вырезает дугу на 360 ° (полный круг). (Некоторые старые элементы управления не поддерживают это, потому что дуги не могут пересекаться между квадрантами декартовой системы. Вместо этого они требуют четырех дуг четверти круга, запрограммированных один за другим.) |
G03 | Круговая интерполяция против часовой стрелки | M | Т | Та же информация следствия, что и для G02. |
G04 | Жить | M | Т | Принимает адрес для периода ожидания (может быть X , U или P ). Период ожидания определяется параметром управления, обычно установленным в миллисекундах . Некоторые машины могут принимать эквивалентные значения X1.0 ( s ) или P1000 ( ms ). Выбор продолжительности выдержки : Часто выдержка должна длиться всего один или два полных оборота шпинделя. Обычно это намного меньше одной секунды. При выборе значения продолжительности помните, что длительная выдержка является пустой тратой времени цикла. В некоторых ситуациях это не имеет значения, но для серийного производства большого объема (более тысячи циклов) стоит рассчитать, что, возможно, вам потребуется всего 100 мс., и вы можете назвать его 200, чтобы перестраховаться, но 1000 - это пустая трата (слишком долго). |
G05 P10000 | Высокоточное управление контурами (HPCC) | M | Использует глубокий упреждающий буфер и обработку моделирования, чтобы обеспечить лучшее ускорение и замедление движения оси во время контурного фрезерования. | |
G05.1 Q1. | Расширенный контроль предварительного просмотра AI | M | Использует глубокий упреждающий буфер и обработку моделирования, чтобы обеспечить лучшее ускорение и замедление движения оси во время контурного фрезерования. | |
G06.1 | Обработка неоднородных рациональных B-шлицев (NURBS) | M | Активирует неоднородный сплайн Rational B для обработки сложных кривых и форм волны (этот код подтвержден в 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 | Т | Принимает адреса XYZ, которые определяют промежуточную точку, через которую будет проходить режущая кромка инструмента на своем пути домой к нулю станка. Они выражаются в части нуля (также известной как программный ноль), а НЕ в машинном нуле. |
G30 | Возврат к вторичной исходной позиции (машинный нуль, также известный как машинная контрольная точка) | M | Т | Принимает адрес P, указывающий, какую нулевую точку станка использовать, если машина имеет несколько вторичных точек (от P1 до P4). Принимает адреса XYZ, которые определяют промежуточную точку, через которую проходит всплывающая подсказка на пути домой к нулю станка. Они выражаются в терминах нулевой части (также известной как программный ноль), а НЕ машинного нуля. |
G31 | Подача до пропуска функции | M | Используется для датчиков и систем измерения длины инструмента. | |
G32 | Одноточечная нарезка резьбы, стандартный стиль (если не используется цикл, например, G76 ) | Т | Аналогично линейной интерполяции G01 , за исключением автоматической синхронизации шпинделя для одноточечной нарезания резьбы . | |
G33 | Нарезание резьбы постоянного шага | M | ||
G33 | Одноточечная нарезка резьбы, стандартный стиль (если не используется цикл, например, G76 ) | Т | Некоторые органы управления токарным станком назначают этот режим G33, а не G32. | |
G34 | Нарезание резьбы с переменным шагом | M | ||
G40 | Компенсация радиуса инструмента выключена | M | Т | Отключите компенсацию радиуса фрезы (CRC) . Отменяет G41 или G42. |
G41 | Коррекция радиуса инструмента слева | M | Т | Включите левую компенсацию радиуса фрезы (CRC) для фрезерования с подъемом. Фрезерование: с учетом правосторонней фрезы и направления шпинделя M03 , G41 соответствует фрезерованию с подъемом (фрезерование вниз) . Принимает адрес ( D или H ), который вызывает значение регистра смещения для радиуса. Токарная обработка: на токарных станках часто не требуется адреса 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 " gage), а затем объявить контроллеру, каким будет оставшееся расстояние (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) на количество миллисекунд, указанное в адресе P. Подходит для случаев, когда важна чистота дна отверстия. Подходит для точечного сверления, потому что расщелина наверняка очистится равномерно. Рассмотрим примечание « Выбор продолжительности задержки » в G04 . | |
G83 | Цикл сверления клевков (полный отвод от клевков) | M | Возвращается на R-уровень после каждого клевка. Подходит для очистки канавок от стружки . Сравните G73 . | |
G84 | Нажатие цикла, правая резьба , М03 направление шпинделя | 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 - инкрементные адреса, а X и Z - абсолютные адреса. На этих токарных станках G90 вместо этого является фиксированным адресом цикла для черновой обработки. |
G90 | Фиксированный цикл, простой цикл, для черновой обработки (акцент оси Z) | Т (А) | Когда не используется для абсолютного программирования (см. Выше) | |
G90.1 | Абсолютное программирование дуги | M | Позиционирование I, J, K определяется по отношению к нулю детали. | |
G91 | Инкрементальное программирование | M | Т (В) | Позиционирование определяется относительно предыдущей позиции. Фрезерование: всегда как указано выше. Токарная обработка: Иногда, как указано выше (группа Fanuc типа B и аналогичная конструкция), но на большинстве токарных станков (группа Fanuc типа A и аналогичная конструкция) G90 / G91 не используются для абсолютного / инкрементного режимов. Вместо этого U и W - инкрементные адреса, а X и Z - абсолютные адреса. На этих токарных станках G90 - это фиксированный адрес цикла для черновой обработки. |
G91.1 | Инкрементальное программирование дуги | M | Позиционирование I, J, K определяется по отношению к предыдущему положению. | |
G92 | Регистр положения (программирование вектора от нуля детали до вершины инструмента) | M | Т (В) | Та же информация следствия, что и в регистре положения G50 . Фрезерование: всегда как указано выше. Токарная обработка: Иногда, как указано выше (группа Fanuc типа B и аналогичная конструкция), но на большинстве токарных станков (группа Fanuc типа A и аналогичная конструкция) регистр положения - G50 . |
G92 | Цикл заправки, простой цикл | Т (А) | ||
G94 | Скорость подачи в минуту | M | Т (В) | На токарных станках группы типа A скорость подачи в минуту составляет G98 . |
G94 | Фиксированный цикл, простой цикл, для черновой обработки ( акцент оси X ) | Т (А) | Если скорость подачи не указана в минуту (см. Выше) | |
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 были в отдельных блоках (то есть не в одной строке).
Код | Описание | Фрезерование (M) | Токарная (T) | Информация о следствии |
---|---|---|---|---|
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 индексирует револьверную головку. Программирование на любом конкретном станке требует знания того, какой метод использует этот станок. Чтобы понять, как работает адрес 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 | Зеркало, ось X | 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 | Т | MFO (ручная коррекция скорости подачи) |
M49 | Переопределение скорости подачи НЕ допускается | M | Т | Предотвратить MFO (ручное изменение скорости подачи). Это правило также обычно вызывается (автоматически) в циклах нарезания резьбы или одноточечных циклов нарезания резьбы, где подача точно коррелирует со скоростью. То же самое с SSO (коррекция скорости шпинделя) и кнопкой остановки подачи. Некоторые элементы управления могут обеспечивать SSO и MFO во время потоковой передачи . |
M52 | Выгрузить последний инструмент из шпинделя | M | Т | Также пустой шпиндель. |
M60 | Автоматическая смена поддонов (APC) | M | Для обрабатывающих центров с устройством смены паллет | |
M98 | Вызов подпрограммы | M | Т | Принимает адрес P, чтобы указать, какую подпрограмму вызывать, например, «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).
- Некоторые машины не позволяют использовать несколько M-кодов в одной строке.
Среды программирования [ править ]
Этот раздел, возможно, содержит оригинальные исследования . Январь 2016 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) ( |
Среды программирования G-кода развивались параллельно со средами общего программирования - от самых ранних сред (например, написание программы карандашом, ввод ее в перфоратор) до новейших сред, сочетающих САПР ( автоматизированное проектирование ), CAM ( автоматизированное производство ) и многофункциональные редакторы G-кода. (Редакторы G-кода аналогичны редакторам XML , семантически они используют цвета и отступы [плюс другие функции], чтобы помочь пользователю способами, которые недоступны в обычных текстовых редакторах . Пакеты CAM аналогичны IDE в общем программировании.)
Две смены парадигмы высокого уровня заключались в (1) отказе от «ручного программирования» (без использования только карандаша или текстового редактора и человеческого разума) для программных систем CAM, которые автоматически генерируют G-код через постпроцессоры (аналогично развитию визуальных методов. в общем программировании) и (2) отказ от жестко запрограммированных конструкций в пользу параметрических (аналогично разнице в общем программировании между жестким кодированием константы в уравнение и объявлением ее переменной и присвоением ей новых значений по желанию; и объектно-ориентированным подход в целом). Макро (параметрическое) программирование ЧПУ использует понятные человеку имена переменных, реляционные операторы., и структуры цикла, как и в общем программировании, для сбора информации и логики с машиночитаемой семантикой. В то время как более старое ручное программирование с ЧПУ могло описывать только отдельные экземпляры деталей в числовой форме, макропрограммирование описывает абстракции, которые можно легко применить в самых разных случаях. У этого различия есть много аналогов, как до эпохи вычислений, так и после ее появления, например: (1) создание текста в виде растровых изображений по сравнению с использованием кодировки символов с помощью глифов ; (2) уровень абстракции табличных технических чертежей с множеством номеров деталей, параметрически определяемых одним и тем же чертежом и таблицей параметров; или (3) способ, которым HTMLпрошел через фазу использования разметки контента для целей презентации, а затем превратился в модель CSS . Во всех этих случаях более высокий уровень абстракции вводил то, чего не хватало семантически.
STEP-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 отлично справляется с быстрым выпуском программы, которая может занимать больше памяти машины и дольше запускаться. Это часто делает его очень полезным для обработки небольшого количества деталей. Но необходимо найти баланс между временем, необходимым для создания программы, и временем, которое требуется для обработки программы. Стало проще и быстрее изготавливать всего несколько деталей на новых машинах с большим объемом памяти. Это сказалось как на ручных программистах, так и на ручных машинистах. Учитывая естественную текучесть кадров при выходе на пенсию, нереально ожидать сохранения большого числа операторов, обладающих высокой квалификацией в ручном программировании, когда их коммерческая средав большинстве случаев больше не может дать бесчисленные часы глубокого опыта, которые потребовались для развития этого навыка; и все же потерю этой базы опыта можно оценить, и бывают случаи, когда такого пула очень не хватает, потому что некоторые прогоны ЧПУ все еще не могут быть оптимизированы без таких навыков.
Сокращения, используемые программистами и операторами [ править ]
Этот список является лишь избранным и, за исключением нескольких ключевых терминов, в основном позволяет избежать дублирования многих сокращений, перечисленных в аббревиатурах и символах инженерных чертежей .
Сокращение | Расширение | Информация о следствии |
---|---|---|
БТР | автоматический сменщик паллет | См. M60 . |
УВД | автомат для смены инструмента | См. M06 . |
CAD / CAM | автоматизированное проектирование и автоматизированное производство | |
Против часовой стрелки | против часовой стрелки | См. M04 . |
ЧПУ | компьютеризированное числовое управление | |
CRC | компенсация радиуса фрезы | См. Также G40 , G41 и G42 . |
CS | скорость резания | Относительно скорости резания (поверхностной скорости) в футах в минуту (sfm, sfpm) или метрах в минуту (м / мин). |
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] |
мм | миллиметр (ы) | |
MPG | ручной генератор импульсов | Ссылаясь на ручку (маховик) (каждый щелчок ручки генерирует один импульс сервовхода) |
NC | числовое программное управление | |
OSS | ориентированный стопор шпинделя | См. Комментарии на M19 . |
SFM | поверхность футов в минуту | См. Также скорости и подачи и G96 . |
SFPM | поверхность футов в минуту | См. Также скорости и подачи и G96 . |
SPT | одноточечная резьба | |
SSO | коррекция скорости шпинделя | Диск или кнопки SSO позволяют оператору ЧПУ или машинисту умножать запрограммированное значение скорости на любой процент, обычно от 10% до 200%. Это необходимо для точной настройки скорости и подачи, чтобы минимизировать вибрацию , улучшить качество поверхности , продлить срок службы инструмента и т. Д. Функции SSO и MFO могут быть заблокированы по разным причинам, например, для синхронизации скорости и подачи в потоке, или даже для предотвращения "военного движения " / "преследования".операторами. В некоторых более новых элементах управления синхронизация скорости и подачи при нарезании резьбы достаточно сложна, чтобы SSO и MFO могли быть доступны во время нарезания резьбы, что помогает с точной настройкой скоростей и подач, чтобы уменьшить дребезг на резьбах или при ремонтных работах, связанных с захватом существующие темы. [16] |
TC или T / C | смена инструмента, устройство смены инструмента | См. M06 . |
МДП | общее показание индикатора | |
TPI | резьбы на дюйм | |
USB | универсальная последовательная шина | Один тип подключения для передачи данных |
VMC | вертикальный обрабатывающий центр | |
VTL | токарный станок с вертикальной револьверной головкой | Тип станка, который по сути представляет собой токарный станок с вертикальной осью Z, позволяющей лицевой панели сидеть как большой поворотный стол. Концепция VTL частично совпадает с концепцией вертикально-расточного станка. |
См. Также [ править ]
- 3D печать
- Консервированный цикл
- LinuxCNC - бесплатное программное обеспечение для ЧПУ с множеством ресурсов для документации G-кода
- Файл сверла
- HP-GL
Расширенные разработки [ править ]
- Прямое числовое управление (DNC)
- ШАГ-NC
- MTConnect
Подобные концепции [ править ]
- Файл Гербера
Проблемы во время подачи заявки [ править ]
- Расположение резца, компенсация резца, параметры смещения
- Системы координат
Ссылки [ править ]
- ^ Карло Апро (2008). Секреты 5-осевой обработки . ISBN Industrial Press Inc. 0-8311-3375-9 .
- ^ Стандартный формат данных EIA RS-274-D с переменными переменными для позиционирования, контурирования и контурирования / позиционирования машин с числовым программным управлением , Вашингтон, округ Колумбия: Ассоциация электронной промышленности, февраль 1979 г.
- ^ Martin., Libicki (1995). Стандарты информационных технологий: в поисках общего байта . Берлингтон: Elsevier Science. п. 321. ISBN. 9781483292489. OCLC 895436474 .
- ^ "Переменные системы макросов Fanuc" . Проверено 30 июня 2014 .
- ^ Б с д е е г Smid 2008 .
- ^ а б в Smid 2010 .
- ^ а б в г Грин 1996 , стр. 1162–1226 .
- ^ a b c Smid 2004 , стр. 61
- ^ «Часто задаваемые вопросы - к вашим услугам» . atyourservice.haascnc.com . Архивировано из оригинала на 1 января 2015 года . Проверено 5 апреля 2018 года .
- ^ а б в г Smid 2010 , стр. 29–30 .
- ^ Редакция MMS (2010-12-20), «Система CAM упрощает программирование токарных станков швейцарского типа» , Modern Machine Shop , 83 (8 [янв 2011]): 100–105. Онлайн до печати.
- ^ Smid 2008 , стр. 457.
- ^ Линч, Майк (18 января 2010 г.), «Когда программисты должны знать код G» , Modern Machine Shop (онлайн-изд.).
- ↑ Линч, Майк (2011-10-19), «Пять мифов и заблуждений о ЧПУ [колонка CNC Tech Talk, комментарий редактора]» , Modern Machine Shop (онлайн-ред.), Заархивировано из оригинала 27 мая 2017 года , извлечено 2011-11-22 .
- ^ Маринак, Дэн. «Стратегии траектории инструмента для высокоскоростной обработки» . www.mmsonline.com . Проверено 6 марта 2018 .
- ^ a b Корн, Дерек (2014-05-06), "Что такое потоки с произвольной скоростью?" , Современный механический цех .
Библиография [ править ]
- Оберг, Эрик; Джонс, Франклин Д .; Horton, Holbrook L .; Райффель, Генри Х. (1996), Грин, Роберт Э .; Макколи, Кристофер Дж. (Ред.), Справочник по машинному оборудованию (25-е изд.), Нью-Йорк: Industrial Press , 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, TR; Проктор, FM; Мессина, ER (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