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, Mazak от Mazak, Ultimax и Winmax от Hurco, система интуитивного программирования Haas (IPS) и диалоговое программное обеспечение CAPS от Mori Seiki.