Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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]

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

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

Примечание . Модальный режим означает, что код остается в силе до тех пор, пока не будет заменен или отменен другим разрешенным кодом. Немодальный означает, что он выполняется только один раз. См., Например, коды G09, G61 и G64 ниже.

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

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

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

Пример программы [ править ]

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

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

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

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

Среды программирования [ править ]

Среды программирования 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 отлично справляется с быстрым выпуском программы, которая может занимать больше памяти машины и дольше запускаться. Это часто делает его очень полезным для обработки небольшого количества деталей. Но необходимо найти баланс между временем, необходимым для создания программы, и временем, которое требуется для обработки программы. Стало проще и быстрее изготавливать всего несколько деталей на новых машинах с большим объемом памяти. Это сказалось как на ручных программистах, так и на ручных машинистах. Учитывая естественную текучесть кадров при выходе на пенсию, нереально ожидать сохранения большого числа операторов, обладающих высокой квалификацией в ручном программировании, когда их коммерческая средав большинстве случаев больше не может дать бесчисленные часы глубокого опыта, которые потребовались для развития этого навыка; и все же потерю этой базы опыта можно оценить, и бывают случаи, когда такого пула очень не хватает, потому что некоторые прогоны ЧПУ все еще не могут быть оптимизированы без таких навыков.

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

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

См. Также [ править ]

  • 3D печать
  • Консервированный цикл
  • LinuxCNC - бесплатное программное обеспечение для ЧПУ с множеством ресурсов для документации G-кода
  • Файл сверла
  • HP-GL

Расширенные разработки [ править ]

  • Прямое числовое управление (DNC)
  • ШАГ-NC
  • MTConnect

Подобные концепции [ править ]

  • Файл Гербера

Проблемы во время подачи заявки [ править ]

  • Расположение резца, компенсация резца, параметры смещения
  • Системы координат

Ссылки [ править ]

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