G代碼(G-code,又稱RS-274),是最為廣泛使用的數(shù)控(numerical control)編程語言,有多個版本,主要在計算機(jī)輔助制造中用于控制自動機(jī)床。G代碼有時候也稱為G編程語言。
G代碼是數(shù)控程序中的指令。一般都稱為G指令。使用G代碼可以實現(xiàn)快速定位、逆圓插補(bǔ)、順圓插補(bǔ)、中間點圓弧插補(bǔ)、半徑編程、跳轉(zhuǎn)加工。
G 代碼解釋器G代碼解釋器是全軟件式數(shù)控系統(tǒng)的重要模塊。數(shù)控機(jī)床通常使用G代碼來描述機(jī)床的加工信息,如 走刀軌跡、坐標(biāo)的選擇、冷卻液的開啟等,將G代碼解釋為數(shù)控系統(tǒng)能夠識別的數(shù)據(jù)塊是G代碼解釋器的主要功能。G代碼解釋器的開放性也是設(shè)計和實現(xiàn)中必須要考慮的問題。
在G代碼解釋器中,對G代碼進(jìn)行關(guān)鍵字分解是骨架,,對代碼進(jìn)行分組則是進(jìn)行語法檢查的基 礎(chǔ)。王心光等人在虛擬數(shù)控加工仿真中使用Microsoft的GRETA正則類庫,解決了G代碼關(guān)鍵詞分解問題,這種方法建立在 Microsoft提供的工具基礎(chǔ)上,同時使用C++語言;付振山使用VC++ 6.0 開發(fā), 構(gòu)造了有窮自動機(jī)來描述在輸入字符串中關(guān)鍵字識別模式G代碼解釋器是全軟件式數(shù)控系統(tǒng)的重要模塊。數(shù)控機(jī)床通常使用G代碼來描述機(jī)床的加工信息,如走刀軌跡、坐 標(biāo)系的選擇、冷卻液的開啟等,將G代碼解釋為數(shù)控系統(tǒng)能夠識別的數(shù)據(jù)塊是G代碼解釋器的主要功能。G代碼解釋器的開放性也是設(shè)計和實現(xiàn)中必須要考慮的問題。在G代碼解釋器中,對G 代碼進(jìn)行關(guān)鍵字分解是骨架,對代碼進(jìn)行分組則是進(jìn)行語法檢查的基礎(chǔ)1。
G 代碼解釋器的總體結(jié)構(gòu)由圖 1 可以看出, G代碼 解釋器 讀取 G 代碼, 將 其解釋 成G 中間代碼, 然后經(jīng)過插補(bǔ)、位置控制處理, 最后由輸出模塊調(diào)用驅(qū)動程序輸出到硬件( 一 般為 PCI 或 ISA 卡) 。G 代碼可以如圖 1 的方式運行, 也就是說 G 代碼的解釋, 包括語法檢查都在加工過程中 進(jìn)行, 這種 方式比 較費時, 不利 于加工過程。本文設(shè)計的 G 代碼解 釋器采用了另外一 種處理 方式, 解釋器有兩種運行狀態(tài): ①讀取 G 代碼。進(jìn) 行 G 代碼 的解釋, 包括詞法檢查、語法檢查等; 將其解釋成數(shù)控系統(tǒng)能識別的數(shù)據(jù)塊, 即中間代碼; 將中 間代碼 以文件 的方式 進(jìn)行保 存。②在加工的過程中, 讀取中間代碼文件并運行之2。
G 代碼的分組分析, G 代碼可以分為 10 組, 同組中的 代碼只能在 一行代碼中出現(xiàn)一次。G代碼、M代碼分組如圖 1、圖3所示。
代碼功能代碼名稱-功能簡述
G00------快速定位
G01------直線插補(bǔ)
G02------順時針方向圓弧插補(bǔ)
G03------逆時針方向圓弧插補(bǔ)
G04------定時暫停
G05------通過中間點圓弧插補(bǔ)
G06------拋物線插補(bǔ)
G07------Z 樣條曲線插補(bǔ)
G08------進(jìn)給加速
G09------進(jìn)給減速
G10------數(shù)據(jù)設(shè)置
G16------極坐標(biāo)編程
G17------加工XY平面
G18------加工XZ平面
G19------加工YZ平面
G20------英制尺寸(法蘭克系統(tǒng))
G21-----公制尺寸(法蘭克系統(tǒng))
G22------半徑尺寸編程方式
G220-----系統(tǒng)操作界面上使用
G23------直徑尺寸編程方式
G230-----系統(tǒng)操作界面上使用
G24------子程序結(jié)束
G25------跳轉(zhuǎn)加工
G26------循環(huán)加工
G30------倍率注銷
G31------倍率定義
G32------等螺距螺紋切削,英制
G33------等螺距螺紋切削,公制
G34------增螺距螺紋切削
G35------減螺距螺紋切削
G40------刀具補(bǔ)償/刀具偏置注銷
G41------刀具補(bǔ)償——左
G42------刀具補(bǔ)償——右
G43------刀具偏置——正
G44------刀具偏置——負(fù)
G45------刀具偏置+/+
G46------刀具偏置+/-
G47------刀具偏置-/-
G48------刀具偏置-/+
G49------刀具偏置0/+
G50------刀具偏置0/-
G51------刀具偏置+/0
G52------刀具偏置-/0
G53------直線偏移,注銷
G54------直線偏移x
G55------直線偏移y
G56------直線偏移z
G57------直線偏移xy
G58------直線偏移xz
G59------直線偏移yz
G60------準(zhǔn)確路徑方式(精)
G61------準(zhǔn)確路徑方式(中)
G62------準(zhǔn)確路徑方式(粗)
G63------攻螺紋
G68------刀具偏置,內(nèi)角
G69------刀具偏置,外角
G70------英制尺寸 寸 (這個是西門子的,法蘭克的是G21)
G71------公制尺寸 毫米
G74------回參考點(機(jī)床零點)
G75------返回編程坐標(biāo)零點
G76------車螺紋復(fù)合循環(huán)
G80------固定循環(huán)注銷
G81------外圓固定循環(huán)
G331-----螺紋固定循環(huán)
G90------絕對尺寸
G91------相對尺寸
G92------預(yù)制坐標(biāo)
G93------時間倒數(shù),進(jìn)給率
G94------進(jìn)給率,每分鐘進(jìn)給
G95------進(jìn)給率,每轉(zhuǎn)進(jìn)給
G96------恒線速度控制
G97------取消恒線速度控制
注意事項補(bǔ)充一下:
1、G00與G01
G00運動軌跡有直線和折線兩種,該指令只是用于點定位,不能用于切削加工
G01按指定進(jìn)給速度以直線運動方式運動到指令指定的目標(biāo)點,一般用于切削加工
2、G02與G03
G02:順時針圓弧插補(bǔ) G03:逆時針圓弧插補(bǔ)
3、G04(延時或暫停指令)
一般用于正反轉(zhuǎn)切換、加工盲孔、階梯孔、車削切槽
4、G17、G18、G19 平面選擇指令,指定平面加工,一般用于銑床和加工中心
G17:X-Y平面,可省略,也可以是與X-Y平面相平行的平面
G18:X-Z平面或與之平行的平面,數(shù)控車床中只有X-Z平面,不用專門指定
G19:Y-Z平面或與之平行的平面
5、G27、G28、G29 參考點指令
G27:返回參考點,檢查、確認(rèn)參考點位置
G28:自動返回參考點(經(jīng)過中間點)
G29:從參考點返回,與G28配合使用
6、G40、G41、G42 半徑補(bǔ)償
G40:取消刀具半徑補(bǔ)償
7、G43、G44、G49 長度補(bǔ)償
G43:長度正補(bǔ)償 G44:長度負(fù)補(bǔ)償 G49:取消刀具長度補(bǔ)償
8、G32、G92、G76
G32:螺紋切削 G92:螺紋切削固定循環(huán) G76:螺紋切削復(fù)合循環(huán)
9、車削加工:G70、G71、72、G73
G71:軸向粗車復(fù)合循環(huán)指令 G70:精加工復(fù)合循環(huán) G72:端面車削,徑向粗車循環(huán) G73:仿形粗車循環(huán)
10、銑床、加工中心:
G73:高速深孔啄鉆 G83:深孔啄鉆 G81:鉆孔循環(huán) G82:深孔鉆削循環(huán)
G74:左旋螺紋加工 G84:右旋螺紋加工 G76:精鏜孔循環(huán) G86:鏜孔加工循環(huán)
G85:鉸孔 G80:取消循環(huán)指令
11、編程方式 G90、G91
G90:絕對坐標(biāo)編程 G91:增量坐標(biāo)編程
12、主軸設(shè)定指令
G50:主軸最高轉(zhuǎn)速的設(shè)定 G96:恒線速度控制 G97:主軸轉(zhuǎn)速控制(取消恒線速度控制指令) G99:返回到R點(中間孔) G98:返回到參考點(最后孔)
13、主軸正反轉(zhuǎn)停止指令 M03、M04、M05
M03:主軸正傳 M04:主軸反轉(zhuǎn) M05:主軸停止
14、切削液開關(guān) M07、M08、M09
M07:霧狀切削液開 M08:液狀切削液開 M09:切削液關(guān)
15、運動停止 M00、M01、M02、M30
M00:程序暫停 M01:計劃停止 M02:機(jī)床復(fù)位 M30:程序結(jié)束,指針返回到開頭
16、M98:調(diào)用子程序
17、M99:返回主程序
本詞條內(nèi)容貢獻(xiàn)者為:
孫銳 - 教授 - 合肥工業(yè)大學(xué)