G-code

G-code (ад  — геаметрычны код) — мова праграмавання для прылад з лікавым праграмным кіраваннем. Была створана кампаніяй Electronic Industries Alliance у пачатку 1960-х. Фінальная дапрацоўка была ўхвалена ў лютым 1980 года як стандарт RS274D. Камітэт ISO зацвердзіў G-код, як стандарт ISO 6983-1:1982, Дзяржкамітэт па стандартам СССР — як ДАСТ 20999-83. У савецкай тэхнічнай літаратуры G-код пазначаецца, як код 'ИСО 7-бит' (ISO 7-bit).

Вытворцы сістэм кіравання станкамі, выкарыстоўваюць G-код у якасці базавага падмноства моў праграмавання, пашыраючы яго па сваім меркаванні.CNC G Codes Definitions Examples Programs Programming Learning Training 

З развіццём 3D-друку G-код знайшоў прымяненне ў праграмах для 3D-прынтараў.

 Структура праграмы 

Праграма, напісаная з дапамогай G-кода, мае жорсткую структуру. Усе каманды кіравання аб’ядноўваюцца ў кадры — групы, якія складаюцца з адной ці болей каманд. Кадр завяршаецца сімвалам перавода радка (CR/LF) і мае нумар, за выключэннем першага кадра праграмы і каментарыяў. Першы (а ў некаторых выпадках таксама і апошні) кадр утрымлівае толькі адзін сімвал «%». Завяршаецца праграма камандай M02 ці M30. Каментарыі да праграмы змяшчаюцца ў круглых дужках, як пасля праграмных кодаў, так і ў асабістых кадрах.

Парадак каманд у кадры строга не агаворваецца, але традыцыйна лічыцца, што першымі ўказваюцца падрыхтоўчыя каманды, (напрыклад, выбар плоскасці апрацоўкі), потым каманды перасоўвання, потым выбару рэжымаў апрацоўкі і тэхналагічныя каманды.

Падпраграмы могуць быць апісаны пасля каманды M02, але перад M30. Пачынаецца падпраграма з кадра выгляду Lxx, дзе xx — нумар падпраграмы, якая завяршаецца камандай M17.

 Зводная табліца кодаў 

Асноўныя (завуцца ў стандарце падрыхтоўчымі) каманды мовы пачынаюцца з літары G:

 Перасоўванне інструментаў апрацоўкі з зададзенай хуткасцю (лінейнае і кругавое)
 Выкананне тыповых паслядоўнасцяў (такіх, як апрацоўка адтулін і разьба)
 Кіраванне параметрамі інструмента, сістэмамі каардынат, і плоскасцямі апрацоўкі

+ Падрыхтоўчыя (асноўныя) камандыКодыАпісаннеG00-G03  Пазіцыянаванне інструментаG17-G19  Пераключэнне плоскасці апрацоўкі (XY, ZX, YZ)G20-G21  Не стандартызаванаG40-G44  Кампенсацыя памеру разнастайных частак інструмента (даўжыня, дыяметр)G53-G59  Пераключэнне сістэм каардынатG80-G85  Цыклы свідравання, расточвання, наразання разьбыG90-G91  Пераключэнне сістэм каардынат (абсалютная, адносная)

 Табліца асноўных каманд 

КамандыАпісаннеПрыкладG00  Паскоранае перасоўванне інструмента (халасты ход)  G0 X0 Y0 Z100G01  Лінейная інтэрпаляцыя  G01 X0 Y0 Z100 F200G02  Кругавая інтэрпаляцыя па гадзіннікавай стрэлцы  G02 X15 Y15 R5 F200G03  Кругавая інтэрпаляцыя супраць гадзіннікавай стрэлкі G03 X15 Y15 R5 F200G04  Затрымка выканання праграмы, спосаб задання велічыні затрымкі залежыць ад рэалізацыі сістэмы кіравання G04G15  Адмена палярнай сістэмы каардынат  G15 X15 Y22.5; G15;G16  Палярная сістэма каардынат (X радыус Y вугал)  G16 X15 Y22.5G17  Выбар плоскасці апрацоўкі X-YG18  Выбар плоскасці апрацоўкі Z-XG19  Выбар плоскасці апрацоўкі Y-ZG40  Адмена кампенсацыі радыуса інструмента  G1 G40 X0 Y0 F200G41  Кампенсаваць радыус інструмента злева ад траекторыі G41 X15 Y15 D1 F100G42  Кампенсаваць радыус інструмента справа ад траекторыі G42 X15 Y15 D1 F100G43  Кампенсаваць даўжыню інструмента дадатна  G43 X15 Y15 Z100 H1 S1000 M3G44  Кампенсаваць даўжыню інструмента адмоўна  G44 X15 Y15 Z4 H1 S1000 M3G49  Адмена кампенсацыі даўжыні інструмента  G49 Z100G53  Адключыць зрушэнне пачатка сістэмы каардынат станка  G53 G0 X0 Y0 Z0G54-G59  Пераключыцца на зададзеную аператарам сістэму каардынат  G54 G0 X0 Y0 Z100G70  Праграмаваць у цалях  G70G71  Праграмаваць у мм  G71G80  Адмена цыклаў свідравання, расточвання, нарэзкі разьбы метчыкам і г. д.  G80G81  Цыкл свідравання  G81 X0 Y0 Z-10 R3 F100G82  Цыкл свідравання з затрымкай  G82 X0 Y0 Z-10 R3 P100 F100G83  Цыкл перарывістага свідравання (з поўным вывадам свердла)  G83 X0 Y0 Z-10 R3 Q8 F100G84  Цыкл наразання разьбы  G95 G84 M29 X0 Y0 Z-10 R3 F1.411G90  Заданне абсалютных каардынат апорных кропак траекторыі  G90 G1 X0.5 Y0.5 F10G91  Заданне каардынат інкрэментава апошняй уведзенай апорнай кропкі  G91 G1 X4 Y5 F100G94  F (падача) — у фармаце мм/хв.  G94 G80 Z100G95  F (падача) — в фармаце мм/аб.  G95 G84 X0 Y0 Z-10 R3 F1.411

максімум 4 каманды ў кадры

 Табліца тэхналагічных кодаў 

Тэхналагічныя каманды мовы пачынаюцца з літары М. Уключаюць такія дзеянні, як:
 Змяніць інструмент
 Уключыць/выключыць шпіндаль
 Уключыць/выключыць ахалоджванне
 Работа з падпраграмамі

+ Дапаможныя (тэхналагічныя) камандыКодАпісаннеПрыкладM00  Прыпыніць работу станка да націскання кнопкі «старт» на пульце кіравання, так званы «безумоўны тэхналагічны супын» G0 X0 Y0 Z100 M0M01  Прыпыніць работу станка да націскання кнопкі «старт», калі ўключаны рэжым пацвярджэння супыну G0 X0 Y0 Z100 M1M02  Канец праграмы, без скіду мадальных функцый  M02M03  Пачаць кручэнне шпіндаля па гадзіннікавай стрэлцы  M3 S2000M04  Пачаць кручэнне шпіндаля супраць гадзіннікавай стрэлкі  M4 S2000M05  Спыніць кручэнне шпіндаля  M5M06  Змяніць інструмент  T15 M6M07  Уключыць дадатковае ахалоджванне  M3 S2000 M7M08  Уключыць асноўнае ахалоджванне. Часам ужыванне больш аднаго M-кода ў адным радку (як у прыкладзе) недапушчальна, для гэтага выкарыстоўваюцца M13 і M14  M3 S2000 M8M09  Выключыць ахалоджванне  G0 X0 Y0 Z100 M5 M9M13  Уключыць ахалоджванне і кручэнне шпіндаля па гадзіннікавай стрэлцы  S2000 M13M14  Уключыць ахалоджванне і кручэнне шпіндаля супраць гадзіннікавай стрэлкі  S2000 M14M17  Канец падпраграмы  M17M25  Замена інструмента ўручную  M25M97  Запуск падпраграмы, якая знаходзіцца ў той жа праграме (дзе P — нумар кадра, у выпадку прыклада пераход ажыццяўляецца да радка N25), дзейнічае не ўсюды, меркавана — толькі на станках HAAS  M97 P25M98  Запуск падпраграмы, якая знаходзіцца асобна ад асноўнай праграмы (дзе P — нумар падпраграмы, у выпадку прыклада пераход адбудзецца да праграмы O1015)  M98 P1015M99  Канец падпраграмы  M99M30  Канец праграмы, са скідам мадальных функцый  M30

не больш аднаго кода ў кадры

 Параметры каманд 

Параметры каманд задаюцца літарамі лацінскага алфавіта

КодАпісаннеПрыкладX Каардыната кропкі траекторыі па восі XG0 X100 Y0 Z0Y Каардыната кропкі траекторыі па восі YG0 X0 Y100 Z0Z Каардыната кропкі траекторыі па восі ZG0 X0 Y0 Z100P Параметр каманды G04 P101F Хуткасць працоўнай падачыG1 G91 X10 F100S Хуткасць кручэння шпіндаляS3000 M3R  Параметр стандартнага цыкла альбо радыус дугі (пашырэнне стандарту)G81 R1 0 R2 −10 F50 или G1 G91 X12.5 R12.5H Параметр карэкцыі абранага інструмента  G1 G41 D1 X10. F150.P Колькасць выклікаў падпраграмыL82 P10I,J,K Параметры дугі пры кругавой інтэрпаляцыі  G03 X10 Y10 I0 J0 F10L Выклік падпраграмы з дадзенай меткай L12

 Гл. таксама 

 Мовы праграмавання
 Металарэзны станок
 Лікавае праграмнае кіраванне
 Параметрычнае праграмаванне

 Прыклад 

Апрацоўка літары W (упісанай у прамавугольнік 34х27 мм, гл. мал.) на ўмоўным вертыкальна-фрэзерным станку з ЛПК, фрэзай дыяметрам 4 мм, у загатоўцы з арганічнага шкла:

+КадрЗместКаментарый  %  Пачатак праграмыN1  G90 G40 G17  Сістэма каардынат абсалютная, кампенсацыя на радыус інструмента адключана, плоскасць інтэрпаляцыі XoYN2  S500 M3 Задаць хуткасць кручэння шпіндаля і уключыць шпіндальN3  G0 X2.54 Y26.15 Пераход у кропку пачатка апрацоўкі на холастым ходзеN4  Z1.0  Падысці з загатоўкі па Z, недаходзячы 1 мм, на халастым ходзеN4  G1 Z-1.0 F100 Уразанне ў загатоўку на падачы 100 мм/хвN5  X5.19 Y 2.0 Першы штрых літары WN6  X7.76  Працяг рухуN7  X16.93 Y26.15  Другі штрых літары WN8  X18.06  Працяг рухуN9  X25.4 Y2.0  Трэці штрых літары WN10  X25.96  Працяг рухуN11  X32.17 Y 26.15 Чацвёрты штрых літары WN12  G0 Z12  Адвесці інструмент ад загатоўкі на халастым ходзеN13  M5  Адключыць шпіндальN14  M30  Канец праграмы

 Спасылкі 
 CAM пашырэнне Inkscape для экспарту ў G-code
 Сімуляцыя работы праграм на G-кодзе ў рэальным часе
 Real-Time 3D Graphics Simulation for G-code  
 Overview of canonical machining functions  
 SIMUL CNC 
 Дапаможнік праграміста ЧПУ Mazatrol з пералікам G-кадоў
 Падборка спасылак на сайты рэдактараў візуялізатараў G-кода 
 Асветніцкі сайт па ЛПК (CNC) праграмаванню 

Катэгорыя:Аўтаматызацыя вытворчасці
Катэгорыя:Прадметна-арыентаваныя мовы праграмавання
Катэгорыя:Прамысловая аўтаматыка
Катэгорыя:Станкі