Введение
Основной язык программирования, используемый в станках с ЧПУ (также RS 274), является наиболее распространенным языком программирования для компьютерного числового управления (ЧПУ) и 3D-печати. Он используется главным образом в системах автоматизированного проектирования и производства (САПР/CAM) для управления автоматизированными станками, а также в приложениях для слайсеров 3D-принтеров. Буква "G" обозначает геометрию. G-код имеет множество вариантов. Инструкции G-кода передаются на контроллер станка (промышленный компьютер), который указывает двигателям, куда двигаться, с какой скоростью и по какому пути. Наиболее распространенные ситуации заключаются в следующем: на станке, таком как токарный или фрезерный станок, режущий инструмент перемещается в соответствии с этими инструкциями по траектории инструмента, удаляя материал для получения готовой детали, и/или заготовка точно позиционируется в любой из до девяти осей относительно трех измерений относительно траектории инструмента, при этом либо инструмент, либо заготовка могут двигаться относительно друг друга. Эта же концепция также применима к нережущим инструментам, таким как инструменты для формовки или полировки, фотолитографии, аддитивным технологиям, таким как 3D-печать, и измерительным приборам.
G code (also RS 274) is the most widely used computer numerical control (CNC) and 3D printing programming language. It is used mainly in computer aided manufacturing to control automated machine tools, as well as for 3D printer slicer applications. The G stands for geometry. G code has many variants. G code instructions are provided to a machine controller (industrial computer) that tells the motors where to move, how fast to move, and what path to follow. The two most common situations are that, within a machine tool such as a lathe or mill, a cutting tool is moved according to these instructions through a toolpath cutting away material to leave only the finished workpiece and/or an unfinished workpiece is precisely positioned in any of up to nine axes around the three dimensions relative to a toolpath and, either or both can move relative to each other. The same concept also extends to noncutting tools such as forming or burnishing tools, photoplotting, additive methods such as 3D printing, and measuring instruments.
История
Первая реализация языка программирования для числового программного управления была разработана в лаборатории сервомеханизмов 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.