刀位冒 程 式 程式座標系 機械座標系 圖3程式座標系與機械座標系 2-1.3座標位置的表示方式:絕對值和增量值 CNC程式除了一些基本設定,如程式原點,刀具號碼,主軸轉速,進給速率等外,最 主要的是命令刀具移動或切削至某一座標位置。而座標位置的表示有絕對值和増量值兩種。絕對 值是以"程式原點"為依據來表示座標位置。増量值是以″前一點"為依據來表示兩點間實際的向量 值(包括距離和方向) CNC銑床或MC大都以G90指令設定X、Y、Z數值為絕對值:用G91指令設定X、Y、 Z數值為增量值 在同一程式中可以增量值與絕對值混合使用。使用原則是依據工件圖上尺寸的標示,用何 種方式表示較方便,則使用之。茲以圖1、圖2及圖3說明之, 絕對值指令格式:G90XYZ 銑刀 6926020) A150100,50) 程式原點 (00 銑刀由A點移動至B點用絕對值表示:G90X92.Y60.Z20. 圄1舾對值座標位置的表示方法 增量值指令格式:G91XYZ: A(1501050) 銑刀 ,∠ 8(926020 程式原 銑刀由A點至B點移動用增量值表示:G91X-58.Y-40.Z-30 國2增量值座標位置的表示方法 6
6 圖3 程式座標系與機械座標系 2-1.3 座標位置的表示方式:絕對值和增量值 CNC 程式除了一些基本設定,如程式原點,刀具號碼,主軸轉速,進給速率等外,最 主要的是命令刀具移動或切削至某一座標位置。而座標位置的表示有絕對值和增量值兩種。絕對 值是以"程式原點"為依據來表示座標位置。增量值是以"前一點"為依據來表示兩點間實際的向量 值(包括距離和方向)。 CNC 銑床或 MC 大都以 G90 指令設定 X、Y、Z 數值為絕對值;用 G91 指令設定 X、Y、 Z 數值為增量值。 在同一程式中可以增量值與絕對值混合使用。使用原則是依據工件圖上尺寸的標示,用何 種方式表示較方便,則使用之。茲以圖 1、圖 2 及圖 3 說明之。 絕對值指令格式:G90 X__Y__Z__; 增量值指令格式:G91 X__Y__Z__;
在使用上,大都以絕對值和增量值混合使用較多。簡而言之,不用加減計算即可得到座標位 置,則以那種方式表示之,因比較方便也。茲以圖3所示之工件圖說明之 3 假設銑刀已定位至H點,接著沿A→B→℃→DE→F→G→程式原點→A點,完成輪廓切 削的程式如下 G90 G01 X1 8.F100 H→B,用絕對值表示較方便 G91X35.Y-20. >B→C,用增量值表示較方便。 G90X92 =>C→D,用絕對值表示較方便 =>D→E,用絕對值表示較方便。 G91X-60 E→F,用增量值表示較方便 F→G,增量值或絕對值皆方便,但沿用上單節增量 指令,可不必再用G90設定為絕對值,故用增量值 表示之 X-32. >G→程式原點,理由同上。 >程式原點→A,理由同上。 2-14座標位置數值的表示方式 CNC程式即控制刀具移動到某座標位置,其座標位置數值的表示方式有2種 用小數點表示法:即數值的表示用小數點”"明確的標示個位在那裏。如"X25.36,其中5為 個位,故數值大小很明確。 不用小數點表示法:即數值中無小數點者。則CNC控制器會將此數值乘以最小移動量(公 制:0001mm,英制00001英吋)做為輸入數值。如"Ⅺ25",則CNC控制器會將25×0.00lmm 0025mm做為輸入數值。 所以要表示”貳拾伍公厘”,可用"25”或"25000"表示,一般用小數點表示法較方便,並可節省系統之 記憶空間,故常被使用。 以下之位址均可選擇使用小數點表示法或不使用小數點表示法:Ⅹ、Y、Z、I、J、K
7 在使用上,大都以絕對值和增量值混合使用較多。簡而言之,不用加減計算即可得到座標 位 置,則以那種方式表示之,因比較方便也。茲以圖 3 所示之工件圖說明之。 假設銑刀已定位至 H 點,接著沿 A→B→C→D→E→F→G→程式原點→A 點,完成輪廓切 削的程式如下: : : G90 G01 X18. F100; => H → B,用絕對值表示較方便。 G91 X35. Y -20.; => B → C,用增量值表示較方便。 G90 X92.; => C → D,用絕對值表示較方便。 Y15.; => D → E,用絕對值表示較方便。 G91 X -60.; => E → F,用增量值表示較方便。 Y -15.; => F → G,增量值或絕對值皆方便,但沿用上單節增量 指令, 可不必再用 G90 設定為絕對值,故用增量值 表示 之。 X -32.; => G→程式原點,理由同上。 Y60.; => 程式原點→A,理由同上。 : : 2-1.4 座標位置數值的表示方式 CNC 程式即控制刀具移動到某座標位置,其座標位置數值的表示方式有 2 種: 1. 用小數點表示法:即數值的表示用小數點"."明確的標示個位在那裏。如"X25.36",其中 5 為 個位,故數值大小很明確。 2. 不用小數點表示法:即數值中無小數點者。則 CNC 控制器會將此數值乘以最小移動量(公 制 :0.001mm,英制 0.0001 英吋)做為輸入數值。如"X25",則 CNC 控制器會將 25 × 0.001mm = 0.025mm 做為輸入數值。 所以要表示"貳拾伍公厘",可用"25."或"25000"表示,一般用小數點表示法較方便, 並可節省系統之 記憶空間,故常被使用。 以下之位址均可選擇使用小數點表示法或不使用小數點表示法:X、Y、Z、I、J、K、F、 R 等
但也有一些位址不允許使用小數點表示法,如P、Q、D等。例如暫停指令,如指令程式暫停5秒 必須如下書寫: G04X5.:或G04X5000:或G04U5:或G04U5000:或G04P4000:皆可。 般皆採用小數點表示方式來描述座標位置數值,故在鍵入CNC程式,尤其是座標數值是整數時, 常常會遺漏小數點。如欲輸入”貳拾伍公厘",但鍵入"Z25″,其實際的數值是0025mm,相差1000倍,可能 會撞機或大量銑削,不可不謹慎。 程式中用小數點表示與不用小數點表示的數值,可以混合使用。如下面例1:例1.G00X25.Y3000Z5 G01Z-5.F100. X36000Y50. 某些專用的G機能指令必須置於特定的數值之前。 例2.G20 設定英制單位 X2.0G04 >其暫停時間是20sec。因為現處於英制單位(G20)故 Ⅹ20先被以距離解碼為20000吋,接著執行G04暫停 指令,則20000會被轉換成20sec 故例2若寫成如例3,則暫停時間為2sec。 例3.G20: G04X2.0 >其暫停時間為2sec。因為Ⅺ20在G04之後,直接被解 讀為時間,以sec為單位,故Ⅹ20是2sec 例4.F100.G98 (錯誤) G98F100 (正確),表示進給速率是100mm/min。 1.5程式號碼:0口口口口 早期的數值控制(NC)機械,因無記憶體,故程式是儲存在紙帶上,執行時,常以光學式 讀帶機將紙帶上的程式讀λ控制器內,再依指令控制機械運作。圖Ⅰ是EIA編碼的NC紙帶。 目前電腦數值控制(CNC, Comput Number Contral)機械,都具有記憶程式的功能。將CNC程 式儲存在記憶體內,為了區別不同的程式,故在程式的最前端用程式號碼以區分之,方便日後欲 執行那一程式時,只需呼叫出來,即可進行編輯或執行程式 DIRE CTION OF TRAVEL 5s8 EIA編碼的NC紙帶 图1 目前CNC程式的編碼有二種:EIA編碼或ISO編碼,在台灣大多使用EIA編碼。在CNC 控制器內,一般皆可接受這二種編碼,故為了區別起見,程式號碼以位址"O"表示者是EIA編
8 但也有一些位址不允許使用小數點表示法,如 P、Q、D 等。例如暫停指令,如指令程式暫 停 5 秒, 必須如下書寫: G04 X5.;或 G04 X5000;或 G04 U5.;或 G04 U5000;或 G04 P4000;皆可。 一般皆採用小數點表示方式來描述座標位置數值,故在鍵入 CNC 程式,尤其是座標數值是 整數時, 常常會遺漏小數點。如欲輸入"貳拾伍公厘",但鍵入"Z25",其實際的數值是 0.025mm,相差 1000 倍,可能 會撞機或大量銑削,不可不謹慎。 程式中用小數點表示與不用小數點表示的數值,可以混合使用。如下面例 1:例 1. G00 X25. Y3000 Z5.; G01 Z -5. F100.; X36000 Y50.; 某些專用的 G 機能指令必須置於特定的數值之前。 例 2. G20; => 設定英制單位。 X2.0 G04; => 其暫停時間是 20sec。因為現處於英制單位 (G20) 故 X2.0 先被以 距離解碼為 20000 吋,接著執行 G04 暫停 指令,則 20000 會被轉換成 20sec。 故例 2 若寫成如例 3,則暫停時間為 2sec。 例 3. G20; G04 X2.0; => 其暫停時間為 2sec。因為 X2.0 在 G04 之後,直接被解 讀為時間,以 sec 為 單位,故 X2.0 是 2sec。 例 4. F100. G98; (錯誤) G98 F100.; (正確),表示進給速率是 100 mm / min。 2-1.5 程式號碼:O □ □ □ □ 早期的數值控制 ( NC ) 機械,因無記憶體,故程式是儲存在紙帶上,執行時,常以光學 式 讀帶機將紙帶上的程式讀入控制器內,再依指令控制機械運作。圖 1 是 EIA 編碼的 NC 紙帶 。 目前電腦數值控制 ( CNC , Comput Number Contral ) 機械,都具有記憶程式的功能。將 CNC 程 式儲存在記憶體內,為了區別不同的程式,故在程式的最前端用程式號碼以區分之,方便日後欲 執行那一程式時,只需呼叫出來,即可進行編輯或執行程式。 图 1 目前 CNC 程式的編碼有二種:EIA 編碼或 ISO 編碼,在台灣大多使用 EIA 編碼。在 CNC 控制器內,一般皆可接受這二種編碼,故為了區別起見,程式號碼以位址 "O" 表示者是 EIA 編
碼;以位址":"表示者是ISO編碼,如表所示。 位址與指令範圍( FANUC0M) 英制單位 程式號碼 :(ISO)O(EIA) 1-9999 順序號碼 9999 1-9999 準備機能 G 0-99 0-99 坐標軸字x、Y、z、Q、R、1、J、K ±99999999mm 99999999inch A、B、C ±999999deg ±9999999geg 進給機能 -100000.0mm/min 0.01-400.inch/min 主軸轉速機能 0-9999 0-9999 刀具機能 0-99 0-99 輔助機能 M 0-99 暂留 0-99999999sec 0-99999999sec 副程式號碼指定 1-9999 1-9999 重覆次數 L 1-9999 1-9999 補正號碼 D、H 0-32 0-32 程式號碼以位址0及4位數字組成,一般控制器大多從1^999之範內任意選擇使用。 例如:O3838=>表示程式號碼為3838的CNC程式。(EIA) :4949=>表示程式號碼為4949的CNC程式。(ISO) 2-16順序號碼:N口口口口 CNC程式的每一單節之前可以加一順序號碼,以位址N後面加上1~999數字表示之。 順序號碼與CNC程式的加工順序無關,它只是那一單節的代號,故可任意的編號。但最好 以由小到大的順序編號,較符合人類的一般思路 為了節省記憶體空間,故一般CNC程式常不使用順序號碼於每一單節前面。但常用於標 加工種類如下列例子 NI >粗銑外形 N2:=>粗銑凹槽 N3:=>精銑外形及凹槽 N4:=>鑽中心孔 N5:=>鑽φ78鑽頭 >鑽φ68鑽頭 N7:=>鉸孔o8H7
9 碼;以位址":"表示者是 ISO 編碼,如表所示。 位址與指令範圍(FANUC 0M) 機 能 位 址 公制單位 英制單位 程式號碼 : (ISO) O (EIA) 1-9999 1-9999 順序號碼 N 1-9999 1-9999 準備機能 G 0-99 0-99 坐標軸字語 X、Y、Z、Q、R、 I、J、K ±99999.999mm ±9999.9999inch A、B、C ±99999.999deg ±9999.9999deg 進給機能 F 1-100000.0mm/min 0.01-400.0inch/min 主軸轉速機能 S 0-9999 0-9999 刀具機能 T 0-99 0-99 輔助機能 M 0-99 0-99 暫 留 X、P 0-99999.999sec 0-99999.999sec 副程式號碼指定 P 1-9999 1-9999 重覆次數 L 1-9999 1-9999 補正號碼 D、H 0-32 0-32 程式號碼以位址 O 及 4 位數字組成,一般控制器大多從 1~9999 之範內任意選擇使用。 例如: O3838 =>表示程式號碼為 3838 的 CNC 程式。(EIA) :4949 =>表示程式號碼為 4949 的 CNC 程式。(ISO) 2-1.6 順序號碼:N □ □ □ □ CNC 程式的每一單節之前可以加一順序號碼,以位址 N 後面加上 1~9999 數字表示之。 順序號碼與 CNC 程式的加工順序無關,它只是那一單節的代號,故可任意的編號。但最好 以由小到大的順序編號,較符合人類的一般思路。 為了節省記憶體空間,故一般 CNC 程式常不使用順序號碼於每一單節前面。但常用於標示 加工種類如下列例子: N1; =>粗銑外形 : N2; =>粗銑凹槽 : N3; =>精銑外形及凹槽 : N4; =>鑽中心孔 : N5; =>鑽 φ7.8 鑽頭 : N6; =>鑽 φ6.8 鑽頭 : N7; =>鉸孔 φ8H7 :
>攻螺紋M8×125 217選择性單節刪除:”/ 在單節的最前端加一斜線"/"(選擇性單節刪除指令)時,該單節是否被執行,是由執行 操作面板上的選擇性單節刪除開關來決定。當此開關處於"ON(燈亮),則該單節會被忽略而 不被執行:當此開關處於"OFF"(燈熄),則該單節會被執行。所以程式中有”/指令之單節 可由操作者視情況選擇該單節是否被執行 例子: N:=>粗銑外形 M00 >粗銑凹槽 /M00 N3 =>精銑外形 /M00 >精銑凹槽 以上例子,當單節刪除開關處於"ON"時,則所有的M00(程式停止指令)皆不被執行。反 之設於"OFF",則全部執行。 /指令常置於單節的最前端,若是置於單節中的任何位置,則從"/”至”:"(單節結束) 間之所有指令皆被忽略不執行。 若含有”/"指令的單節被讀入緩衝暫存區後,再將單節刪除開關"ON",則此單節因已被 辨認正確無誤,故會被執行 2-1.8主軸轉速機能:S口口口口 主軸轉速機能又稱為S機能,係用於指令主軸的迴轉速數值(pm)。S機能以位址S後面 接4位數字組成。如其指令的數值大於或小於製造廠商所設定之最高或最低轉速時,將以廠 商所設定的最高或最低轉速為實際轉速。一般MC的轉速0~6000pm, 在操作中為了實際加工條件之需要,亦可由執行操作面板之″主軸轉速調整率"旋鈕來調整主 軸實際轉速 S指令只是設定主軸轉數大小,並不會使主軸迴轉,需待有M03(主軸正轉)或M04(主軸 逆轉)指令時,主軸才開始旋轉。 S1000M03:〓>主軸以順時針方向轉1000mm。 主轉轉速可由下列公式計算而得 S=1000V/xD S:主軸轉速rpm V:切削速度m/mn D:刀具直徑mn π:圓周率3.14 例題:已知用φlomm高速鋼端銑刀,Ⅴ=22m/min,求S 答:S=1000×22/3.14×10=700mpm。 2-1.9進給逮率機能:又稱為F機能 F機能用於控制刀具移動時的速率,如圖Ⅰ所示。F後面所接數值代表每分鐘刀具進給量,單
10 N8; =>攻螺紋 M8×1.25 2-1.7 選擇性單節刪除:”/” 在單節的最前端加一斜線"/"(選擇性單節刪除指令)時,該單節是否被執行,是由執 行 操作面板上的選擇性單節刪除開關來決定。當此開關處於"ON"(燈亮),則該單節會被忽 略而 不被執行;當此開關處於 "OFF" (燈熄),則該單節會被執行。所以程式中有"/"指令 之單節 可由操作者視情況選擇該單節是否被執行。 例子: N1; =>粗銑外形 : /M00; N2; =>粗銑凹槽 : /M00; N3; =>精銑外形 : /M00; N4; =>精銑凹槽 以上例子,當單節刪除開關處於"ON"時,則所有的 M00(程式停止指令)皆不被執行。反 之設於 "OFF" ,則全部執行。 "/"指令常置於單節的最前端,若是置於單節中的任何位置,則從 "/" 至";"(單 節結束) 間之所有指令皆被忽略不執行。 若含有"/"指令的單節被讀入緩衝暫存區後,再將單節刪除開關 "ON" ,則此單節因已被 辨認正確無誤,故會被執行。 2-1.8 主軸轉速機能:S □ □ □ □ 主軸轉速機能又稱為 S 機能,係用於指令主軸的迴轉速數值 (rpm) 。S 機能以位址 S 後面 接 4 位數字組成 。 如其指令的數值大於或小於製造廠商所設定之最高或最低轉速時,將以廠 商所 設定的最高或最低轉速為實際轉速。一般 MC 的轉速 0~6000rpm。 在操作中為了實際加工條件之需要,亦可由執行操作面板之"主軸轉速調整率"旋鈕來調整主 軸實際轉速。 S 指令只是設定主軸轉數大小,並不會使主軸迴轉,需待有 M03(主軸正轉)或 M04(主 軸 逆轉)指令時,主軸才開始旋轉。 例子: S1000 M03;=>主軸以順時針方向轉 1000rpm。 主轉轉速可由下列公式計算而得 S=1000 V / πD S:主軸轉速 rpm V:切削速度 m / min D:刀具直徑 mm π:圓周率 3.14 例題:已知用 φ10 mm 高速鋼端銑刀,V=22 m / min,求 S。 解答:S = 1000 × 22 / 3.14 × 10 = 700 rpm。 2-1.9 進給速率機能:又稱為 F 機能 F 機能用於控制刀具移動時的速率,如圖 1 所示。F 後面所接數值代表每分鐘刀具進給量 ,單