一、NC程序的常用G代碼
1.直線插補(G0/G1)
快速運行G0用於:
● 刀具快速定位
● 工件繞行
● 逼近換刀點
● 退刀
句法:
G0 X… Y… Z…
G0 AP=…
G0 RP=…
RTLIOF
RTLION
含義:
G0:激活快速運行的指令
有效性:模態
X... Y... Z...:以直角座標給定的終點
AP=…: 以極座標給定的終點,這裡指極角
RP=…: 以極座標給定的終點,這裡指極半徑
RTLIOF: 非線性插補(每個軌跡軸作為單軸插補)
RTLION: 線性插補(軌跡軸共同插補)
實例:
N10 G90 S400 M3 ;絕對尺寸,主軸順時針
N20 G0 X25 Z5 ; 回到起始位置
N30 G1 G94 Z0 F1000G1 ; 進刀
N40 G95 Z-7.5 F0.2
N50 X60 Z-35 ; 直線運行
N60 Z-50
N70 G0 X62
N80 G0 X80 Z20 M30 ; 退刀,程序結束
指定速率的直線插補G1:
使用G1 可以讓刀具在與軸平行、傾斜的或者在空間裡任意擺放的直線方向上運動,可以用線性插補功能加工3D 平面,槽等。
句法:
G1 X… Y… Z … F…
G1 AP=… RP=… F…
含義:
G1:線性插補(帶進給率的線性插補),模態有效
X... Y... Z...: 以直角座標給定的終點
AP=…: 以極座標給定的終點,這裡指極角
RP=…: 以極座標給定的終點,這裡指極半徑
F...: 單位為毫米/分鐘的進給速度,刀具以進給率F 從當前起點向編程的目標點直線運行,可以在直角座標或者極座標中給出目標點,工件在這個軌跡上進行加工
示例:
G1 G90 G94 X100 Y20 Z30 A40 F100
以進給100 毫米/分鐘的進給率逼近XYZ 上的目標點;迴轉軸A 作為同步軸來處理,以便能同時完成四個運動。
2.圓弧插補(G2/G3)
控制系統提供了一系列不同的方法來編程圓弧運動,由此實際上可以直接變換各種圖紙標註尺寸,圓弧運動通過以下幾點來描述:
● 以絕對或相對尺寸表示的圓心和終點(標準模式)
● 以直角座標表示的半徑和終點
● 直角座標中的張角和終點或者給出地址的圓心
● 極座標,帶有極角AP=和極半徑RP=
● 中間點和終點
● 終點和起點上的正切方向
句法:
G2/G3 X… Y… Z… I=AC(…) J=AC(…) K=AC(…); 圓心和終點絕對值以工 件零點為基準
G2/G3 X… Y… Z… I… J… K… ; 相對尺寸中的圓心以圓弧起點為基準
G2/G3 X… Y… Z… CR=… ; 以 CR=給定圓弧半徑,以直角座標系X...Y... Z... 給定圓弧終點
G2/G3 X… Y… Z… AR=… ; 以 AR=給定張角,以直角座標 X...Y... Z...給定終點
G2/G3 I… J… K… AR=… ; 以 AR=給定張角,通過地址 I...J...K... 給定中點
G2/G3 AP=… RP=… ; 極座標中通過 AP= 給定極角,通過 RP=給定極半徑
CIP X… Y… Z… I1=AC(…) J1=AC(…) K1=(AC…) ;地址 I1=, J1=, K1= 下的中間點
CT X… Y… Z… ; 通過起點和終點的圓弧以及起點上的切線方向
含義:
G2:順時針圓弧插補
G3:逆時針方向的圓弧插補
CIP:通過中間點進行圓弧插補
CT:用切線過渡來定義圓
X Y Z:以直角座標給定的終點
I J K:以直角座標 X,Y,Z 給定圓心
CR=:圓弧半徑
AR=:張角
AP=:以極座標給定的終點,這裡指極角
RP=:以極座標給定的終點,這裡極半徑相當於圓弧半徑
I1= J1= K1=:以直角座標給定的中間點,X,Y,Z 方向
實例:
N10 G0 G90 X133 Y44.48 S800 M3 ; 運行到起點
N20 G17 G1 Z-5 F1000 ; 進刀
N30 G2 X115 Y113.3 I-43 J25.52 ; 用增量尺寸表示的圓弧終點,圓心
N30 G2 X115 Y113.3 I=AC(90) J=AC(70) ; 用絕對尺寸表示的圓弧終點,圓心
N30 G2 X115 Y113.3 CR=-50 ; 圓弧終點,圓弧半徑
N30 G2 AR=269.31 I-43 J25.52 ; 用增量尺寸表示的張角,圓心
N30 G2 AR=269.31 X115 Y113.3 ; 張角,圓弧終點
N30 CIP X80 Y120 Z-10 ; 圓弧終點和中間點
I1=IC(-85.35) J1=IC(-35.35) K1=-6 ; 所有三個幾何軸的座標
N40 M30 ; 程序結束
3.主軸的運動
主軸轉速(S),主軸旋轉方向(M3,M4,M5)
設定主軸轉速和旋轉方向可使主軸發生旋轉偏移,它是切削加工的前提條件。
除了主主軸,機床上還可以配備其它主軸(比如車床可以配置一個副主軸或驅動刀具),通常情況下,機床數據中的主要主軸被視為主主軸,可通過 NC 指令更改該指定。
句法:
S... / S=...
M3 / M=3
M4 / M=4
M5 / M=5
SETMS()
...
SETMS
S…: 主主軸的轉速(單位:轉/分鐘)
S=...: 主軸轉速(單位:轉/分鐘)
提示:
通過S0=…設定的轉速適用於主主軸;
M3: 主主軸順時針方向旋轉
M=3: 主軸順時針方向旋轉
M4: 主主軸逆時針方向旋轉
M=4: 主軸逆時針方向旋轉
M5: 主主軸停止
M=5: 主軸停止
SETMS(): 主軸應作為主主軸
SETMS: SETMS 不含主軸指定,切換回系統定義的主主軸上
示例:
S1 是主主軸,S2 是第二工作主軸,將從兩面對零件進行加工,此時需要劃分加工步驟,切斷之後,同步裝置(S2)拾取工件進行分面加工,為此將適用G95 的主軸S2被定義為主主軸。
N10 S300 M3 ; 轉速及旋轉方向,用於驅動主軸 = 默認的主主軸
...
N100 SETMS(2) ; S2 現在是主主軸
N110 S400 G95 F… ; 新的主主軸轉速
...
N160 SETMS ; 返回到主主軸S1
4.進給控制(G93,G94,G95,F,FGROUP,FL,FGREF)
使用這些指令可以在 NC 程序中為所有參與加工工序的軸設置進給率。
句法:
G93/G94/G95
F...
FGROUP(,,…)
FGREF[]=
FL[]=
G93:反比時間進給率,單位:rpm
G94:線性進給率,單位:毫米/分鐘,英寸/分鐘或度/分鐘
G95:旋轉進給率,單位:毫米/轉或英尺/轉
G95以主主軸轉數為基準(通常為切削主軸或車床上的主主軸)
F...: 參與運行的幾何軸的進給速度,G93/G94/G95 設置的單位有效
FGROUP:使用F 編程的進給速度適用於所有在FGROUP 下設定的軸(幾何軸/迴轉軸)
FGREF: 使用FGREF 為每個在FGROUP 下設定的迴轉軸設置有效半徑()
FL:同步軸/軌跡軸速度限值,通過G94 設置的單位有效
每根軸(通道軸,幾何軸或定向軸)可以編程一個FL值
: 必須使用基準座標系的軸標識符(通道軸,幾何軸)
程序代碼 註釋
N10 G17 G94 G1 Z0 F500 ; 進刀
N20 X10 Y20 ; 回到起始位置
N25 FGROUP(X, Y) ; X/Y 軸是軌跡軸,Z 是同步軸
N30 G2 X10 Y20 Z-15 I15 J0 F1000 FL[Z]=200 ; 在圓弧軌跡上,進給率為 1000 毫米/分鐘,在 Z 軸方向同步運行
...
N100 FL[Z]=$MA_AX_VELO_LIMIT[0,Z] ; 從 MD (MACHINE DATA)中讀取速度以便取消極限速度
N110 M30 ; 程序結束
5.位置控制的主軸運動及進給率
主軸的控制:
在某些情況下,需要使得主軸在位置控制模式中運行(言下之意就是主軸一般並不是位置控制模式,而是速度控制模式),例如砂輪、刀盤裝卸時候的運行到定位銷的位置而進行固定。
句法:
SPCON / SPCON() / SPCON(,,...)
...
SPCOF / SPCOF() / SPCOF(,,...)
SPCON: 激活位置控制運行,設定的主軸從轉速控制切換到位置控制
SPCON 為模態有效,直至SPCOF 激活
SPCOF: 取消位置控制運行
設定的主軸從位置控制切換到轉速控制
: 需要轉換運行方式的主軸的編號
未設定主軸編號時,SPCON/SPCOF 生效於主主軸
、...: 在一個程序段中可通過SPCON 或SPCOF 對多個主軸的運行方式進行轉換
主軸的定位(SPOS,SPOSA,M19,M70,WAITS)
使用SPOS,SPOSA 或M19 可以將主軸定位在特定的角度,例如在換刀時,例如砂輪、刀盤裝卸時候的運行到定位銷的位置而進行固定。
句法:
定位主軸:
SPOS= / SPOS[]=
SPOSA= / SPOSA[]=
M19 / M=19
主軸切換到軸運行方式:
M70 / M=70
主軸運行同步:
WAITS / WAITS(,) ; 必須在單獨 NC 程序段中編程
用於定位軸/主軸的進給率(FA)
定位軸,如工件運輸系統、刀具轉塔和中心架,獨立於軌跡軸和同步軸運行,因此應給每個定位軸定義單獨的進給速度;
句法:
FA[]=… ;定位軸的進給率
含義:
FA[...]=...:指定定位軸的進給率或指定主軸的定位速度(軸向進給),單位:毫米/分鐘或者英寸/分鐘或者度/分鐘
: 軸名稱(定位軸或幾何軸)
示例:
…….
M1=5
SPCON(1)
SPOS[1]=IC(360) FA[S1]=8000
SPOS[1]=95.7600 FA[S1]=2000
SPCOF(1)
…….
M1=3 S1=30
…..
M17
二、NC程序的插補和同步動作
1.NC程序的插補
除了我們前面介紹的直線插補(G0、G1),圓弧插補(G2、G3)之外,我們還有樣條插補( ASPLINE, BSPLINE, CSPLINE )、樣條組合插補(樣條組合(SPLINEPATH) )、和多項式插補( (POLY, POLYPATH )
樣條插補( ASPLINE, BSPLINE,CSPLINE )
無法精確分析描述工件上任意曲線輪廓,因此這種類型的輪廓通過一個限定的支點數近似描述,例如表面數字化,為了建立工件上的數字化表面,支點必須連接到一個輪廓描述,這可以是樣條插補。
樣條定義一個由 2 階或 3 階多項式合併的曲線,可定義樣條支點上的特性,取決於使用的樣條類型
句法:
ASPLINE X... Y... Z... A... B... C...
BSPLINE X... Y... Z... A... B... C...
CSPLINE X... Y... Z... A... B... C...
樣條組合(SPLINEPATH)
使用指令SPLINEPATH 選出樣條組合中需要進行插補的軸,樣條插補中最多可以有8 個軌跡軸;
句法:
這需要在一個獨立的程序段中確定樣條組合:
SPLINEPATH(n,X,Y,Z,…)
含義
SPLINEPATH 用於確定樣條組合的指令
n =1 (固定值)
XYZ… 樣條組合中要插補的軌跡軸名稱
示例:
N10 G1 X10 Y20 Z30 A40 B50 F350
N11 SPLINEPATH(1,X,Y,Z) ; 樣條組合
N13 CSPLINE X20 Y30 Z40 A50 B60 ; C 樣條
N14 X30 Y40 Z50 A60 B70 ; 支點
…
N100 G1 X… Y… ; 取消樣條插補
多項式插補 (POLY, POLYPATH)
就本義來說,多項式插補(POLY)並不是一種樣條插補,首先它是用作編程外部生成的樣條曲線的接口,在此,樣條區段可以直接編程。
2.同步動作
什麼是同步?是指在機床代碼執行過程中實時對某一個狀態是否變化的監控行為;
什麼是動作?是對某一個實時事件作出的反應;
因此同步動作提供可以同步執行處理程序段的可能性。動作的執行時間可以通過各個條件定義,這些條件在插補節拍中得以監控。
一個同步動作在程序段中是單獨的,並且從機床功能的下一個可執行程序段起生效(例如帶有G0, G1, G2, G3 的運動)。
同步動作最多多達5 個具有不同任務的指令單元組成:
句法:
DO …
DO …
ID= DO …
IDS= DO …
DO 觸發編程動作的指令,僅在滿足 時有效(如果已編程)。
通過關鍵字(WHEN, WHENEVER, FROM 或者 EVERY),定義一個同步動作 的循環檢查。
主運行變量的鏈接邏輯
ID=
或
IDS=
CANCEL() 刪除同步動作,如果存在對應的同步好
ID與IDS的區別:
ID= ... 同步動作在下列 模態 程序段中有效且可通過 CANCEL() 關閉,或者通過編程一個帶有相同 ID 的新同步動作來覆蓋,M30 程序段中有效的同步動作延遲程序結束,ID-同步動作僅在自動運行方式中有效。ID=2 EVERY $A_IN[1]==1 DO POS[X]=0
值範圍 : 1 ... 255
IDS= 靜態同步動作在所有工作方式中模態有效,它們也可通過程序結束保持有效並能夠直接在上電後用一個 ASUP 激活, 因此可以激活動作,它們與NC 中所選擇的運行方式無關,直接運行;
值範圍 : 1 ... 255
IDS=1 EVERY $A_IN[1]==1 DO POS[X]=100
沒有模態-ID 同步動作僅在自動運行方式中有效
WHEN $A_IN[3]==TRUE DO $A_OUTA[4]=10
關鍵字:條件循環檢查(WHEN, WHENEVER, FROM, EVERY)
沒有關鍵字動作執行不受條件制約,在每個插補節拍循環執行動作
WHEN 在每個插補節拍中對條件進行查詢,直到該條件被滿足時為止,然後將相應的動作準確執行一次;
WHENEVER 在每個插補節拍中對條件進行循環檢查,只要條件被滿足,就在每個插補節拍中執行相應的動作;
FROM 在每個插補節拍中對條件進行檢查,直到條件滿足時為止,然後就執行動作,同步動作激活時間有多久,該動作就會執行多久,也就是說,即使條件不再滿足時,也會執行繼續執行該動作。
EVERY 在每個插補節拍中對條件進行查詢,只有當條件滿足後,才執行一次動作,脈衝沿控制:當條件從狀態 FALSE 變成 TRUE 時,就會再次執行動作。
示例 1: 沒有關鍵字
DO $A_OUTA[1]=$AA_IN[X] ; 發送實際值到模擬輸出端。
示例 2: WHENEVER
ID=1 WHENEVER ($AA_IM[Y]>30) AND ($AA_IM[Y]<40)
DO $AA_OVR[S1]=80
示例 3: EVERY
ID=1 EVERY $AA_IM[B]>75 DO POS[U]=IC(10) FA[U]=900
當 MKS 中軸 B 的實際值總是超過值 75 時,U 軸應以最大軸向進給量 10 繼續定位;
示例 4: WHEN
WHEN R98==0 DO $R16=0 $R17=0
三、軸耦合
什麼是軸的耦合?
當一個已定義的引導軸運動時,指定給該軸的耦合軸(=跟隨軸)會在參照某個耦合係數的情況下,開始運行引導軸所引導的位移。
引導軸和跟隨軸共同組成的關係就叫做耦合關係。
1.曲線表(CTAB)
藉助曲線圖表可以編程兩個軸(引導軸和跟隨軸)之間的位置關係和速度關係,曲線圖表的定義在零件程序中進行。
曲線表替代了機械凸輪,通過實現引導值和跟隨值之間的函數關聯曲線表構成了軸向引導值耦合的基礎,在相應的編程中,控制系統從相互所屬的引導軸和跟隨軸的位置中計算出一個與凸輪相應的多項式。
定義曲線圖表(CTABDEF, CATBEND)
一個曲線表所描述的是一個零件程序或者一個零件程序段,其特點是前面插入CTABDEF 且使用指令 CTABEND 結束。
在該程序段範圍內,通過運動指令將引導軸的各個位置一一指定給跟隨軸的位置,這些跟隨值位置用來作為計算曲線的節點,曲線的形式至多為 5 階多項式。
句法:
CTABDEF(,,,[,])
...
CTABEND
CTABDEF ( ) 曲線圖表定義的開始
CTABEND 曲線圖表定義的結束
需要通過曲線圖表計算其運行的軸
提供引導值以計算跟隨軸運行的軸
曲線圖表的編號(ID)曲線圖表的編號是唯一的,和存儲地點無關。 在靜態和動態 NC存儲器中不能出現帶有相同編號的圖表。
圖表週期性
0 圖表不具有周期性,即使是迴轉軸也只執行一次
1 引導軸上圖表具有周期性
2 引導軸和跟隨軸上,圖表具有周期性
"SRAM" 曲線圖表保存在靜態NC 存儲器中
“DRAM” 曲線圖表保存在動態NC 存儲器中,也可以不指定這個參數,系統自動指定
程序代碼:
N100 CTABDEF(Y,X,3,0) ; 開始定義一個帶有編號3的非週期性曲線圖表
N110 X0 Y0 ;第 1 個運動指令,確定起始值和第1個節點:引導值:0,跟隨值:0
N120 X20 Y0 ; 第 2 個節點:引導值: 0…20,跟隨值: 起始值…0
N130 X100 Y6 ; 第 3 個節點:引導值: 20…100,跟隨值: 0…6
N140 X150 Y6 ; 第 4 個節點:引導值: 100…150,跟隨值: 6…6
N150 X180 Y0 ; 第 5 個節點:引導值: 150…180,跟隨值: 6…0
N200 CTABEND ; 結束定義
2.電子齒輪(EG)
電子齒輪箱可以控制跟隨軸運動,使之按照線性運動偏移與最多與五個引導軸相關聯運動。引導軸和跟隨軸之間的關聯按照每個引導軸通過耦合係數進行定義。
算出的跟隨軸運動分量是由單個引導軸運動分量乘各自的耦合係數通過加法構成的。激活一個EG 軸組時,可以使跟隨軸在某定義的位置上同步。
一個電子齒輪組可以由零件程序:
● 定義,
● 接通,
● 關閉,
● 刪除
電子齒輪的定義(EGDEF)
一副 EG 軸組可以通過跟隨軸數據和最少1個最多5個引導軸帶各自耦合類型來確定。
句法:
EGDEF(跟隨軸,引導軸 1,耦合類型 1,引導軸 2,耦合類型 2,...)
含義:
EGDEF 電子齒輪定義
跟隨軸 由引導軸影響的軸
引導軸 n 影響跟隨軸的第n軸
耦合類型 n 耦合類型,耦合類型不必對所有引導軸都相同
0 跟隨軸受相應引導軸的實際值影響
1 跟隨軸受相應引導軸的指定值影響
電子齒輪的開通(EGON)
有3種型式用於接通 EG 軸組;
句法:
EGON(FA,“程序段轉換模式”,LA1,Z1,N1,LA2,Z2,N2,...,LA5,Z5,N5)
含義:
FA 跟隨軸
程序段轉換模式
"NOC" 立即進行程序段轉換
"FINE" 在“精確同步運行”時進行程序段轉換
"COARSE" 在“近似同步運行”時進行程序段轉換
"IPOSTOP" 當額定值同步運行時進行程序段轉換
LA1, ... LA5 引導軸
Z1, ... Z5 耦合係數 i 的分子
N1, ... N5 耦合係數 i 的分母
耦合係數 i = 分子 i /分母 i
關閉電子齒輪(EGOFS, EGOFC)
有 3 種型式用於關閉 EG 軸組。
句法:
EGOFS(跟隨軸) 關閉電子齒輪,跟隨軸制動到停止,此調用刪除進給停止;
EGOFS(跟隨軸,引導軸 1,…,引導軸 5)指令的這種參數設定允許有選擇性地 排除各個引導軸對跟隨軸的運動的影響
EGOFC(跟隨主軸 1) 關閉電子齒輪。 跟隨主軸以關閉時刻有效的轉速/速度繼續運行, 此調用刪除進給停止;
刪除電子齒輪箱的定義(EGDEL)
在可以刪除電子齒輪箱軸組合的定義之前,必須先將其關閉。
句法
EGDEL(跟隨軸) 軸關聯的耦合定義被刪除。 在到達同時激活的軸關聯最大個數之前,又可以EGDEF 重新定義其它的軸關聯,此調用刪除進刀停止;
實例:
EGDEF(A,C,1)
EGON(A,“FINE”,C,1,0.7)
…..
N40 M1=3 S1=R70
N50 G4 F5
.....
EGOFS(A)
EGDEL(A)