Введение

Основной язык программирования, используемый в станках с ЧПУ (также RS 274), является наиболее распространенным языком программирования для компьютерного числового управления (ЧПУ) и 3D-печати. Он используется главным образом в системах автоматизированного проектирования и производства (САПР/CAM) для управления автоматизированными станками, а также в приложениях для слайсеров 3D-принтеров. Буква "G" обозначает геометрию. G-код имеет множество вариантов. Инструкции G-кода передаются на контроллер станка (промышленный компьютер), который указывает двигателям, куда двигаться, с какой скоростью и по какому пути. Наиболее распространенные ситуации заключаются в следующем: на станке, таком как токарный или фрезерный станок, режущий инструмент перемещается в соответствии с этими инструкциями по траектории инструмента, удаляя материал для получения готовой детали, и/или заготовка точно позиционируется в любой из до девяти осей относительно трех измерений относительно траектории инструмента, при этом либо инструмент, либо заготовка могут двигаться относительно друг друга. Эта же концепция также применима к нережущим инструментам, таким как инструменты для формовки или полировки, фотолитографии, аддитивным технологиям, таким как 3D-печать, и измерительным приборам.

История

Первая реализация языка программирования для числового программного управления была разработана в лаборатории сервомеханизмов MIT в 1950-х годах. В последующие десятилетия многочисленные организации, как коммерческие, так и некоммерческие, разработали множество реализаций. В этих реализациях часто использовались элементы G-кода. Первая стандартизированная версия G-кода, используемая в США, RS 274, была опубликована в 1963 году Альянсом электронных отраслей (EIA; тогда известным как Ассоциация электронных отраслей). В 1974 году EIA утвердила RS 274 C, которая объединила RS 273 (переменный блок для позиционирования и прямолинейной резки) и RS 274 B (переменный блок для обработки контуров и контурного/позиционного управления). Окончательная редакция RS 274 была утверждена в 1979 году как RS 274 D. В других странах часто используется стандарт ISO 6983 (завершённый в 1982 году), но многие европейские страны применяют другие стандарты. Например, в Германии используется DIN 66025, а в Польше ранее использовались PN 73M 55256 и PN 93/M 55251. В 1970-х – 1990-х годах многие производители станков с ЧПУ пытались решить проблемы совместимости, стандартизируя контроллеры, разработанные компанией Fanuc. Siemens также являлась одним из лидеров на рынке систем ЧПУ, особенно в Европе. В 2010-х годах различия и несовместимость контроллеров стали менее существенными, поскольку операции механической обработки обычно разрабатываются с использованием CAD/CAM-систем, которые могут генерировать соответствующий G-код для конкретного станка с помощью программного инструмента, называемого постпроцессором (иногда сокращенно просто "пост").

Синтаксис

Код G начинался как ограниченный язык, которому не хватало таких конструкций, как циклы, условные операторы и возможность для программиста объявлять переменные с использованием естественных слов, включая имена (или выражения для их использования). Он не мог кодировать логику, а был лишь способом "соединить точки", где программист вручную рассчитывал местоположение многих из них. Современные реализации G-кода включают в себя возможности макроязыка, которые в некоторой степени приближаются к языкам программирования высокого уровня. Кроме того, все основные производители (например, Fanuc, Siemens, Heidenhain) предоставляют доступ к данным программируемого логического контроллера (ПЛК), таким как данные о позиционировании осей и данные об инструменте, через переменные, используемые в NC-программах. Эти возможности упрощают разработку приложений автоматизации.

Расширения и изменения

Расширения и вариации были добавлены независимо производителями систем управления и производителями станков, и операторы конкретной системы управления должны учитывать различия между продукцией разных производителей. Единственная стандартизированная версия G-кода, известная как BCL (Бинарный язык управления резанием), используется лишь на очень небольшом количестве станков. Разработанный в Массачусетском технологическом институте (MIT), BCL был создан для управления станками с ЧПУ посредством прямых линий и дуг. Некоторые станки с ЧПУ используют "диалоговое" программирование – режим программирования, напоминающий работу мастера, который либо скрывает G-код, либо полностью исключает его использование. Примеры популярных систем: Advanced One Touch (AOT) от Okuma, ProtoTRAK от Southwestern Industries, Mazatrol от Mazak, Ultimax и Winmax от Hurco, Intuitive Programming System (IPS) от Haas и диалоговое программное обеспечение CAPS от Mori Seiki.