Парадигма | Процедурный , императивный |
---|---|
Разработано | Массачусетский технологический институт |
Разработчик | Ассоциация электронной промышленности (RS-274), Международная организация по стандартизации (ISO-6983) |
Впервые появился | 1963 (РС-274) (1963) |
Расширения имени файла | .gcode, .mpt, .mpf, .nc и несколько других |
Основные внедрения | |
Многочисленные; в основном Siemens Sinumerik, FANUC , Haas , Heidenhain , Mazak , Okuma |
G-код (также RS-274 ) является наиболее широко используемым языком программирования числового программного управления (ЧПУ) и 3D-печати . Он используется в основном в автоматизированном производстве для управления автоматизированными станками , а также для приложений слайсеров 3D-принтеров . G означает геометрию. G-код имеет много вариантов.
Инструкции G-кода передаются контроллеру станка (промышленному компьютеру), который сообщает двигателям, куда двигаться, как быстро двигаться и по какому пути следовать. Две наиболее распространенные ситуации заключаются в том, что внутри станка, такого как токарный или фрезерный станок , режущий инструмент перемещается в соответствии с этими инструкциями по траектории инструмента, срезая материал, чтобы оставить только готовую заготовку, и/или необработанная заготовка точно позиционируется по любой из девяти осей [1] вокруг трех измерений относительно траектории инструмента, и одна или обе могут перемещаться относительно друг друга. Та же концепция распространяется и на нережущие инструменты, такие как формовочные или полировальные инструменты, фотоплоттер , аддитивные методы, такие как 3D-печать, и измерительные приборы.
Первая реализация языка программирования числового программного управления была разработана в Лаборатории сервомеханизмов Массачусетского технологического института в 1950-х годах. В последующие десятилетия было разработано множество реализаций многочисленными организациями, как коммерческими, так и некоммерческими. Элементы G-кода часто использовались в этих реализациях. [2] [3] Первая стандартизированная версия G-кода, используемая в Соединенных Штатах, RS-274 , была опубликована в 1963 году Альянсом электронной промышленности (EIA; тогда известным как Ассоциация электронной промышленности). [4] В 1974 году EIA одобрила RS-274-C , который объединил RS-273 (переменный блок для позиционирования и прямой резки) и RS-274-B (переменный блок для контурирования и контурирования/позиционирования). Окончательная редакция RS-274 была одобрена в 1979 году как RS-274-D . [5] [6] В других странах часто используется стандарт ISO 6983 (утвержденный в 1982 году), но многие европейские страны используют другие стандарты. [7] Например, DIN 66025 используется в Германии, а PN-73M-55256 и PN-93/M-55251 ранее использовались в Польше.
В 1970–1990-х годах многие производители станков с ЧПУ пытались преодолеть трудности совместимости, стандартизируя контроллеры станков, созданные Fanuc . Siemens был еще одним доминантом рынка в области управления ЧПУ, особенно в Европе. В 2010-х годах различия в контроллерах и несовместимость были смягчены широким внедрением приложений CAD/CAM, которые были способны выводить операции станка в соответствующем G-коде для конкретного станка с помощью программного инструмента, называемого постпроцессором (иногда сокращаемого до просто «пост»).
G-код начинался как ограниченный язык, в котором отсутствовали такие конструкции, как циклы, условные операторы и объявленные программистом переменные с естественными именами, включающими слова (или выражения, в которых их можно было использовать). Он не мог кодировать логику, а был просто способом «соединить точки», где программист вычислял многие из местоположений точек вручную. Последние реализации G-кода включают возможности макроязыка, несколько более близкие к языку программирования высокого уровня . Кроме того, все основные производители (например, Fanuc, Siemens, Heidenhain ) предоставляют доступ к данным программируемого логического контроллера (ПЛК), таким как данные позиционирования осей и данные инструмента, [8] через переменные, используемые программами ЧПУ. Эти конструкции облегчают разработку приложений автоматизации.
Расширения и вариации были добавлены независимо друг от друга производителями систем управления и станков, и операторы конкретного контроллера должны знать различия между продуктами каждого производителя.
Одна стандартизированная версия G-кода, известная как BCL (Binary Cutter Language), используется только на очень немногих станках. Разработанный в Массачусетском технологическом институте, BCL был разработан для управления станками с ЧПУ в терминах прямых линий и дуг. [9]
Некоторые станки с ЧПУ используют «диалоговое» программирование, которое представляет собой режим программирования, подобный мастеру , который либо скрывает G-код, либо полностью обходит использование G-кода. Некоторые популярные примеры — Advanced One Touch (AOT) от Okuma, ProtoTRAK от Southwestern Industries, Mazatrol от Mazak, Ultimax и Winmax от Hurco, Intuitive Programming System (IPS) от Haas и диалоговое программное обеспечение CAPS от Mori Seiki.