數(shù)控編程與加工第7章數(shù)控加工宏編程.ppt
《數(shù)控編程與加工第7章數(shù)控加工宏編程.ppt》由會員分享,可在線閱讀,更多相關(guān)《數(shù)控編程與加工第7章數(shù)控加工宏編程.ppt(41頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
本章內(nèi)容 7 1概述 7 2FANUC系統(tǒng)的A類宏程序及其應(yīng)用 7 3FANUC系統(tǒng)的B類宏程序及其應(yīng)用 7 1概述 1 概念 所謂用戶宏程序是將一群命令所構(gòu)成的功能像子程序一樣事先輸入到存儲器中 再把這些功能用一個(gè)命令作為代表 執(zhí)行時(shí)只需寫出這個(gè)代表命令 就可以執(zhí)行其功能 我們將這一群命令稱為宏程序本體 簡稱用戶宏程序 或用戶宏指令 這個(gè)代表命令稱為用戶宏命令 也稱為宏調(diào)用命令 若水平方向去除的材料為 豎直方向去除的材料的寬度為 則上面的程序?qū)⒆優(yōu)槿缦滦问?O0050 N1G90G54 設(shè)定加工初始狀態(tài) N2M3S500 N3M08 N4G0X 20 0Y 20 0Z100 其中X 20 0Y 20 0為初始點(diǎn)坐標(biāo) N5G1Z2 0F500 N6Z 10 0 到達(dá)切削層深度 N7G41XaD01F150 進(jìn)行刀具半徑補(bǔ)償 N8Y 80 b N9X 100 a N10Yb N11X0 N12G40X 20 0Y 20 0 取消刀具半徑補(bǔ)償 N13G0Z200 M30 程序結(jié)束 將其中的變量用宏程序中的變量 i對應(yīng)為 1 2 則宏程序即可寫為如下形式 O0050 N1G90G54M03S500 N2M08 N3G65P0501A10 0B10 0 N4M05 N5M30 經(jīng)分析 可以寫出如下加工程序 取毛坯上表面的左下角點(diǎn)為工件原點(diǎn) O0050 N1G90G54 設(shè)定加工初始狀態(tài) N2M3S500 N3M08 N4G0X 20 0Y 20 0Z100 其中X 20 0Y 20 0為初始點(diǎn)坐標(biāo) N5G1Z2 0F500 N6Z 10 0 到達(dá)切削層深度 N7G41X10 0D01F150 進(jìn)行刀具半徑補(bǔ)償 N8Y70 0 N9X90 0 N10Y10 0 N11X0 N12G40X 20 0Y 20 0 取消刀具半徑補(bǔ)償 N13G0Z200 M30 程序結(jié)束 O0501 N1G0X 20 0Y 20 0Z100 0 N2G1Z2 0F500 N3Z 10 0 N4G41X 1D01F150 N5Y 80 0 2 N6X 100 0 1 N7Y 2 N8X0 N9G40X 20 0Y 20 0 N10G0Z200 0 N11M99 例如 現(xiàn)有一批零件需要加工 毛坯的尺寸100mm 80mm 40mm 要求切出一個(gè)長 寬分別為10mm 深10mm的臺階 如圖所示 編寫加工程序 7 1概述 2 宏編程的技術(shù)特點(diǎn) 宏程序的主要特征有以下幾個(gè)方面 可以在用戶宏本體中使用變量 可以進(jìn)行變量之間的運(yùn)算 可以用用戶宏對變量進(jìn)行賦值 d 程序可以跳轉(zhuǎn)令 宏本體中使用變量 例如 G01F100可以寫為 1 100 G01F 1 變量之間進(jìn)行運(yùn)算 算術(shù)運(yùn)算 例如 2 10 3 20 1 2 3 那么G01G90X 1F200后 X 30 圓整函數(shù) ROUND FIX FUP 例如 假設(shè) 1 2 1 2 2 1 當(dāng)執(zhí)行 3 FUP 1 時(shí) 3 0賦給 3 當(dāng)執(zhí)行 3 FIX 1 時(shí) 2 0賦給 3 當(dāng)執(zhí)行 3 FUP 2 時(shí) 3 0賦給 3 當(dāng)執(zhí)行 3 FIX 2 時(shí) 2 0賦給 3 三角函數(shù) SIN COS TAN ATAN ASIN ACOS 例如 1 30 X 10 SIN 1 那么X 5 混合函數(shù) SQRT ABS 例如 2 4 Y SQRT 2 那么Y 2 對變量進(jìn)行賦值 例如 19 1000程序可以跳轉(zhuǎn) 例如 GOTO5程序轉(zhuǎn)到N5段執(zhí)行程序 7 1概述 3 變量及其應(yīng)用 使用用戶宏程序時(shí) 數(shù)值可以直接指定或用變量指定 變量是指可以在宏主體的地址上代替具體數(shù)值 在調(diào)用宏主體時(shí)再用引數(shù)進(jìn)行賦值的符號 i i 1 2 3 使用變量可以使宏程序具有通用性 宏主體中可以使用多個(gè)變量 用變量號碼進(jìn)行識別 1 變量的形式變量是用符號 后面加上變量號碼所構(gòu)成的 即 i i 1 2 3 例如 3 100 也可用表達(dá)式的形式表示 例如 100 1 2 5 10 3 2 變量的引用地址符后的數(shù)值可以用變量置換 例如 F 101 當(dāng) 101 500時(shí) F 101與F500指令相同 X 101與X500指令相同 注意 作為地址符的O N 等 不能引用變量 3 未定義變量當(dāng)變量值未定義時(shí) 這樣的變量成為 空 變量 變量 0總是空變量 它不能寫 只能讀 當(dāng)引用一個(gè)未定義的變量時(shí) 地址本身也被忽略 例如 當(dāng)變量 2的值是空時(shí) 并且變量 3的值是0時(shí) G00X 2Y 3的執(zhí)行結(jié)果為G00Y0 2 1 1 2 0 2 1 1 2 0 2 1 2 2 0 2 1 2 2 0 2 1 2 0 2 1 2 當(dāng) 1 0時(shí) 當(dāng) 1 時(shí) 除了EQ NE的場合外 與0相同 1GT 0不成立 1GT 0不成立 1GE 0成立 1GE 0成立 1NE 0不成立 1NE 0成立 1EQ 0不成立 1EQ 0成立 當(dāng) 1 0時(shí) 當(dāng) 1 時(shí) 除了用賦值外 其余情況下與0相同 變量從功能上主要可歸納為兩種 即 系統(tǒng)變量 系統(tǒng)占用部分 用于系統(tǒng)內(nèi)部運(yùn)算時(shí)各種數(shù)據(jù)的存儲 例如刀具偏置和當(dāng)前位置數(shù)據(jù) 但是 某些系統(tǒng)變量只能讀 不能寫 系統(tǒng)變量是自動控制和通用程序開發(fā)的基礎(chǔ) 系統(tǒng)變量 工件偏置量 5221 5315 單步 連續(xù)控制 3003 3004 各軸現(xiàn)時(shí)位置 5021 5026 時(shí)鐘 3001 3002 各軸程序段終點(diǎn)位置 5001 5006 P S報(bào)警信息 3000 3006 D E F H M S T等 4107 4120 刀具補(bǔ)償量 2000 2999 G代碼 4001 4018 接口信號DO 1100 1135 鏡像 3007 接口信號DI 1000 1035 用途 變量號碼 用途 變量號碼 FANUC0i系統(tǒng)的變量類型 系統(tǒng)變量用于讀寫各種NC數(shù)據(jù)項(xiàng) 如當(dāng)前位置 刀具補(bǔ)償值 系統(tǒng)變量 1000以上 公共變量可在不同的宏程序間共享 關(guān)閉電源時(shí)變量 100 149被初始化成 空 而變量 500 531保持?jǐn)?shù)據(jù) 即使在斷電時(shí)也不清除 公共變量 100 149 199 500 531 999 局部變量只能在宏中使用 以保持操作的結(jié)果 關(guān)閉電源時(shí) 局部變量被初始化成 空 宏調(diào)用時(shí) 自變量分配給局部變量 局部變量 1 33 用戶變量 這個(gè)變量總是空的 不能賦值 空 變量 0 功能 變量類型 變量名 7 2FANUC系統(tǒng)的A類宏程序及其應(yīng)用 1 宏調(diào)用指令 A類宏程序是以G65HxxP xxQ xxR xx的格式輸入的 而B類宏程序則是以直接的公式和語言輸入的 1 非模態(tài)調(diào)用 G65 調(diào)用格式 G65P L G65 宏調(diào)用代碼 P P之后的宏程序號碼 L 循環(huán)次數(shù) 省略時(shí)為1 由地址符及數(shù)值 有小數(shù)點(diǎn) 構(gòu)成 給宏主體中所對應(yīng)的變量賦予實(shí)際數(shù)值 O0010 G65P9001L3A2 0B3 0 M30 O9001 3 1 2 IF 3GT360 GOTO10 G00G91X 3N10M99 例如 引數(shù)賦值有以下兩種形式 引數(shù)賦值 和引數(shù)賦值 引數(shù)賦值 所指定的地址和變量號的對應(yīng)關(guān)系 引數(shù)賦值 所指定的地址和變量號的對應(yīng)關(guān)系 非模態(tài)調(diào)用G65示例 編制一個(gè)宏程序加工輪圓上的圓周螺紋孔 圓周上的半徑為I 起始角度為A 間隔為B 鉆孔數(shù)為H 圓的中心是 X Y 指令可以用絕對坐標(biāo)或增量坐標(biāo)編程 順時(shí)針方向鉆孔時(shí)B應(yīng)指定負(fù)值 調(diào)用格式G65P9100XxYyZzRrFfIiAaBbHh X 圓心的X坐標(biāo) 絕對值或增量值指定 用 24表示 Y 圓心的Y坐標(biāo) 絕對值或增量值指定 用 25表示 Z 孔深 用 26表示 R 趨近點(diǎn)坐標(biāo) 用 18表示 F 切削進(jìn)給速度 用 9表示 I 圓半徑 用 4表示 A 第一個(gè)孔的角度 用 1表示 B量角 用 2表示 H 孔數(shù) 用 11表示 宏調(diào)用程序O0006 主程序名G90G92X0Y0Z100 0 絕對坐標(biāo)編程 刀具起始點(diǎn)在工件原點(diǎn)上方100mm處G65P9100X200 0Y100 0R25 0Z 60 0F450I200 0A0B 30 0H6 非模態(tài)G65調(diào)用賦值M30 變量的含義 3 儲存03組的G代碼 5 下個(gè)孔的X坐標(biāo) 6 下個(gè)孔的Y坐標(biāo) 宏程序O9100 主程序名 3 4003 儲存03組G代碼G81Z 26R 18F 9K0 鉆孔循環(huán)IF 3EQ90 GOTO1 在G90方式下轉(zhuǎn)移到N1 24 5001 24 計(jì)算圓心的X坐標(biāo) 25 5002 25 計(jì)算圓心的Y坐標(biāo)N1WHILE 11GT0 DO1 直到剩余孔為0 5 24 4 COS 1 計(jì)算X軸上的孔位 6 25 4 SIN 1 計(jì)算Y軸上的孔位G90X 5Y 6 移動到目標(biāo)位置之后執(zhí)行鉆孔 1 1 2 更新角度 11 11 1 孔數(shù)減1END1 G 3G80 返回原始狀態(tài)的G代碼M99 7 2FANUC系統(tǒng)的A類宏程序及其應(yīng)用 1 宏調(diào)用指令 2 模態(tài)調(diào)用 G66 調(diào)用格式 G66P L 模態(tài)調(diào)用宏程序G67 取消用戶宏程序 O0011 N40G66P9002L3A2 0B3 0 N50G00G90X150 0 N60Y220 0 N70X200 0Y330 0 N80G67 N100M30 O9002 N50G00Z 1 N60G01Z 2F300 N70G00G91X 3 N100M99 例如 說明 1 在G66之后 用地址P指定模態(tài)代碼調(diào)用的程序號 2 當(dāng)要求重復(fù)時(shí) 在地址L后指定從1 9999的重復(fù)次數(shù) 3 與非模態(tài)代碼G65調(diào)用相同 自變量指定的數(shù)據(jù)傳遞到宏程序體中 4 調(diào)用可以嵌套4級 包括非模態(tài)代碼調(diào)用G65和模態(tài)代碼調(diào)用G66注意 1 在G66程序段中 不能調(diào)用宏程序 2 G66必須在自變量之前指定 3 在只有諸如輔助功能 但無移動指令的程序段中不能調(diào)用宏程序 4 局部變量 自變量 只能在G66程序段中指定 每次執(zhí)行模態(tài)代碼調(diào)用時(shí) 不再設(shè)定局部變量 模態(tài)調(diào)用G66示例 用宏程序編制G81固定循環(huán)的操作 加工程序使用模態(tài)調(diào)用 固定循環(huán)由下面基本動作組成 X Y軸定位 刀具快速定位到參考平面高度R點(diǎn) 切削進(jìn)給到Z點(diǎn) 快速退回到R點(diǎn)或初始高度點(diǎn) 調(diào)用格式調(diào)用格式G66P9100XxYyZzRrFfLl X 孔的X坐標(biāo) 絕對值指定 用 24表示 Y 孔的Y坐標(biāo) 絕對值指定 用 25表示 Z 孔深Z坐標(biāo) 絕對值指定 用 26表示 R 參考平面高度點(diǎn)坐標(biāo) 用 18表示 F 切削進(jìn)給速度 用 9表示 L 孔加工重復(fù)次數(shù) 宏調(diào)用程序O0007 主程序名G92X0Y0Z100 0 刀具起始點(diǎn)在工件原點(diǎn)上方100mm處G00G90X80 0Y20 0 絕對坐標(biāo)編程 快速點(diǎn)定位G66P9100Z 60 0R6 0F450 G90X60 0Y10 0 X80 0 Y 10 0 X30 0 X90 0Y 30 0 G67 M30 宏程序O9100 主程序名 1 4001 儲存G00 G01代碼 2 4003 儲存G90 G91代碼 3 4109 儲存切削進(jìn)給速度 5 5003 儲存鉆孔開始的Z坐標(biāo)G00G90Z 18 定位在R點(diǎn)G01Z 26F 9 切削進(jìn)給到Z點(diǎn)IF 4010EQ98 GOTO1 返回到初始高度點(diǎn)G00Z 18 定位在R點(diǎn)GOTO2 N1G00Z 5 定位在初始高度N2G 1G 2F 3 恢復(fù)模態(tài)信息M99 7 2FANUC系統(tǒng)的A類宏程序及其應(yīng)用 1 宏調(diào)用指令 A類宏程序是以G65HxxP xxQ xxR xx的格式輸入的 而B類宏程序則是以直接的公式和語言輸入的 3 用G代碼調(diào)用宏程序格式 G 例如 將宏主體O9010用G81調(diào)用 如下所示 1 將宏程序號設(shè)為O9010 2 將與O9010對應(yīng)的參數(shù)號碼 6050 上的值設(shè)定為81 即參數(shù)6050 81 用G81調(diào)用宏程序O9010 如下所示 O0012 G81X20 0Y30 0Z40 0 M30 O9010 M99 7 2FANUC系統(tǒng)的A類宏程序及其應(yīng)用 2 宏功能指令 一般形式 G65HmP iQ jR k式中 m 宏程序功能 數(shù)值范圍01 99 i 運(yùn)算結(jié)果存放處的變量名 j 被操作的第一個(gè)變量 也可以是一個(gè)常數(shù) k 被操作的第二個(gè)變量 也可以是一個(gè)常數(shù) 宏功能指令表 7 2FANUC系統(tǒng)的A類宏程序及其應(yīng)用 3 編程實(shí)例 1 在一根軸上加工N個(gè)槽 每個(gè)槽的寬度為 槽的間距為 槽底直徑為 棒料直徑 并且設(shè)所給材料足夠長 試編寫程序加工該零件 現(xiàn)有一零件參數(shù)為N 50個(gè)槽 槽寬 4mm 間隔 3mm 槽底直徑 35mm 工件直徑 40mm 刀寬為4mm 現(xiàn)編寫程序加工 1 零件工藝過程分析該零件是一個(gè)比較簡單的例子 假定槽寬與刀寬相等 零件的精度要求不高 為了使程序有更廣泛的適應(yīng)性 將宏程序做成一個(gè)子程序 用主程序來調(diào)用實(shí)現(xiàn)零件的加工 零件的加工過程如下 將刀具移至加工起點(diǎn) 進(jìn)刀 切削第一個(gè)槽 計(jì)算下一槽的位置并將刀具移到此位置 加工下一個(gè)槽 如此至最后一個(gè)槽加工完為止 2 零件加工過程中所使用的變量通過分析 要加工該零件 需要如下一些變量 槽寬 200 a1槽間間隔 201 a2槽底直徑 202 a3工件直徑 203 a4切槽刀寬度 204每加工一個(gè)槽后 切槽刀在Z軸方向移動的距離 205 等于槽間距加上槽寬 槽的起點(diǎn)坐標(biāo)Xs 206 Zs 207加工終點(diǎn)的坐標(biāo)Xf 208 Yf 207 計(jì)算槽數(shù)目的變量 215加工槽的總數(shù) 216根據(jù)程序流程圖編制程序宏程序O9061 N10G65H83P160Q 204R 200 N20G65H01P 215Q0 計(jì)數(shù)器變量清零N30G65H02P 205Q 200R 201 計(jì)算 205N40G65H02P 206Q 203R4 N50G65H02P 207Q 201R 204 N60G65H01P 207Q 207 取負(fù)值后作為第一個(gè)槽的Z向起點(diǎn) N70G65H01P 208Q 202 N80G00X 206Z 207M08 N90G01X 208Z 207F20 N100G04X2 N110G00X 206 N120G65H03P 207Q 207R 205 N160M99 N130G65H02P 215Q 215R1 N140G65H84P90Q 215R 216 N150M08 主程序O0001 N10G65H01P 200Q4 槽寬賦值N20G65H01P 201Q3 槽間間隔賦值N30G65H01P 202Q35 槽底直徑賦值N40G65H01P 203Q40 工件直徑賦值N50G65H01P 204Q4 切槽刀寬賦值N60G65H01P 216Q50 槽數(shù)賦值N70G00X80Z100 起刀點(diǎn)位置N80M98P9061 調(diào)用宏程序N90M30 程序結(jié)束 2 零件厚度為10mm 試編寫該零件圖的外輪廓精加工程序 用A類宏程序編程 1 零件加工過程中所使用的變量該零件是對外輪廓進(jìn)行銑削精加工的一個(gè)比較簡單的例子 通過分析 要加工該零件 需要如下一些變量 X方向的尺寸 101 X方向的尺寸 103 Y方向的尺寸 102 Y方向的尺寸 104 圓弧半徑尺寸 105 工件厚度尺寸 106 Y方向退刀量 107 主軸轉(zhuǎn)速 108 進(jìn)給速度 109 N70X 103 N80G03G91X 105Y 105R 105 N90G65P 107Q 104R5 N100G01G01Y 107 N110G00G40X 10Y 10 N120G90Z100 N130X0Y0 N140M08 N150M99 2 根據(jù)程序流程圖編制程序?yàn)榱耸钩绦蛴懈鼜V泛的適應(yīng)性 使程序能完成同類型零件的加工 將宏程序做成一個(gè)子程序 用主程序來調(diào)用實(shí)現(xiàn)零件的加工 宏程序O9062 N10G54G00G90X 10Y 10Z50 N20G00Z5 快速靠近工件N30G00G42X 5Y0D01 進(jìn)行刀具半徑補(bǔ)償N40G01Z 12F 109 Z向下N50G01X 101 X方向切削工件N60Y 102 Y方向切削工件 3 主程序O0002 N10G65H01P 101Q120 X方向尺寸1賦值N20G65H01P 102Q80 Y方向尺寸1賦值N30G65H01P 103Q90 X方向尺寸2賦值N40G65H01P 104Q50 Y方向尺寸2賦值N50G65H01P 105Q30 刀具半徑賦值N60G65H01P 106Q10 工件厚度賦值N70G65H01P 108Q500 主軸轉(zhuǎn)速賦值N80G65H01P 109Q50 切削進(jìn)給速度賦值N90M03S 108 設(shè)定主軸轉(zhuǎn)速N100M98P9062 調(diào)用宏程序N110M30 程序結(jié)束 3 用宏程序和子程序功能順序加工圓周等分孔 設(shè)圓心在O點(diǎn) 它在機(jī)床坐標(biāo)系中的坐標(biāo)為 X0 Y0 在半徑為r的圓周上均勻地鉆幾個(gè)等分孔 起始角度為 孔數(shù)為n 以零件上表面為Z向零點(diǎn) 使用以下保持型變量 502 半徑r 503 起始角度 504 孔數(shù)n 當(dāng)n 0時(shí) 按逆時(shí)針方向加工 當(dāng)n 0時(shí) 按順時(shí)針方向加工 505 孔底Z坐標(biāo)值 506 R平面Z坐標(biāo)值 507 F進(jìn)給量 使用以下變量進(jìn)行操作運(yùn)算 100 表示第i步鉆第i孔的記數(shù)器 101 記數(shù)器的最終值 為n的絕對值 102 第i個(gè)孔的角度位置 i的值 103 第i個(gè)孔的X坐標(biāo)值 104 第i個(gè)孔的Y坐標(biāo)值 用用戶宏程序編制的鉆孔子程序如下 O9010 N110G65H01P 100Q0 100 0N120G65H22P 101Q 504 101 504 N130G65H04P 102Q 100R360 102 100 360oN140G65H05P 102Q 102R 504 102 102 504N150G65H02P 102Q 503R 102 102 503 102當(dāng)前孔角度位置 i 360o i nN160G65H32P 103Q 502R 102 103 502 COS 102 當(dāng)前孔X坐標(biāo)N170G65H31P 104Q 502R 102 104 502 SIN 102 當(dāng)前孔Y坐標(biāo)N180G90G00X 103Y 104 定位到當(dāng)前孔N190G00Z 506 快速進(jìn)到R平面 N200G01Z 505F 507 加工當(dāng)前孔N210G00Z 506 快速退到R平面N220G65H02P 100Q 100R1 100 100 1孔計(jì)數(shù)N230G65H84P 130Q 100R 101 當(dāng) 100 101時(shí) 向上返回到N130段N240M99子程序結(jié)束調(diào)用上述子程序的主程序如下 O0010 N10G54G90G00X0Y0Z20 進(jìn)入坐標(biāo)系N20M98P9010 調(diào)用子程序 加工圓周孔N30Z20 抬刀N40G00G90X0Y0 返回加工坐標(biāo)系零點(diǎn)N50M30 程序結(jié)束設(shè)置G54 X 350 Y 150 Z 100 7 3FANUC系統(tǒng)的B類宏程序及其應(yīng)用 1 宏功能基本指令 B類用戶宏程序與A類用戶宏程序的主要區(qū)別是通過算術(shù)和邏輯運(yùn)算進(jìn)行賦值 以直接的公式進(jìn)行輸入的 同一運(yùn)算分別用A B兩類用戶宏程序?qū)崿F(xiàn)的程序段如下 A類 G65H02P 1Q 2R 3B類 1 2 3 1 變量的賦值賦值可以分為直接賦值和調(diào)用賦值 它們的應(yīng)用分別為 直接賦值 1 10調(diào)用賦值 G65P1000A10 其中 P1000代表子程序號 A代表引數(shù)賦值的地址 A10中的10代表宏主體中的變量 1中的值是10 所以 這兩種賦值方式是等效的 2 運(yùn)算指令宏程序運(yùn)算符右邊的表達(dá)式可包含常量和 或有函數(shù)運(yùn)算符組成的變量 表達(dá)式中的變量 i和 j可以用常數(shù)替換 左邊的變量可以用表達(dá)式賦值 i COS j 余弦函數(shù) i EXP j ex i ASIN j 反正弦函數(shù) i LN j 自然對數(shù) i SIN j 正弦函數(shù) 函數(shù)運(yùn)算 i FUP j 小數(shù)點(diǎn)后進(jìn)位 i jAND k 與 i FIX j 小數(shù)點(diǎn)后舍去 i jXOR k 異或 i ROUND j 四舍五入整數(shù)化 i jOR k 或 邏輯運(yùn)算 i ABS j 取絕對值 i j k 除 i SQRT j 平方根 i j k 乘 乘除運(yùn)算 i ATAN j 反正切函數(shù) i j k 減 i TAN j 正切函數(shù) i j k 加 加減運(yùn)算 i ACOS j 反余弦函數(shù) 函數(shù)運(yùn)算 i j 變量的定義和替換 表達(dá)式 運(yùn)算指令 表達(dá)式 運(yùn)算指令 FANUC0i系統(tǒng)的變量類型 3 程序格式及程序號宏程序格式如下 O 宏程序號 O后面為4位數(shù) 0001 8999N10 指令代碼 N M99 程序結(jié)束 參數(shù)號和程序號之間的對應(yīng)關(guān)系 7 3FANUC系統(tǒng)的B類宏程序及其應(yīng)用 2 宏功能控制指令 1 無條件轉(zhuǎn)移 GOTO語句 功能轉(zhuǎn)向程序的第Nn句 當(dāng)指定的順序號大于1 9999時(shí) 出現(xiàn)128號報(bào)警 順序號可以用表達(dá)式 格式 GOTOn n為順序號 1 99999 例如 GOTO66 程序轉(zhuǎn)移至N66段執(zhí)行程序 2 條件轉(zhuǎn)移 IF語句 a IF 條件表達(dá)式 GOTOn 應(yīng)用舉例 計(jì)算數(shù)值1 10的總和 O0711 1 0 2 1 N1IF 2GT10 GOTO2 1 1 2 2 2 1 GOTO1 N2M30 b IF 條件表達(dá)式 THEN 應(yīng)用舉例 使用直徑為18mm的硬質(zhì)合金立銑刀銑削加工如圖7 8所示的臺階 材料45鋼 硬度36HRC 編寫加工程序 設(shè)定變量 1 銑削深度變量 2 銑削最后深度的判別值O001 G90G54G40G17M3S800 G0X 10Y 80 G43Z20H01 Z0 1 0 WHILE 1GT 10 DO1 1 1 0 6 IF 1LE 10 THEN 1 10 G1Z 1F1500 G41G1X 75D01 Y50 X75 Y 50 X 100 G40G0Y 80 END1 G0Z150 M30 3 循環(huán) WHILE語句 功能在WHILE后指定一個(gè)條件表達(dá)式 條件滿足時(shí) 執(zhí)行DO到END之間的語句 否則 執(zhí)行END后的語句 格式 WHILE 條件表達(dá)式 DOm m 1 2 3 ENDm END1 WHILE 條件表達(dá)式 DO1 程序 END1 WHILE 條件表達(dá)式 DO2 END2 錯(cuò)誤的 程序 a 數(shù)1 3可以多次使用 b DO的范圍不能交叉 WHILE 條件表達(dá)式 DO1 IF 條件表達(dá)式 GOTOn END1 Nn IF 條件表達(dá)式 GOTOn WHILE 條件表達(dá)式 DO1 Nn END1 錯(cuò)誤的 WHILE 條件表達(dá)式 DO1 WHILE 條件表達(dá)式 DO2 WHILE 條件表達(dá)式 DO3 END3 END2 END1 c 條件轉(zhuǎn)移可以跳出循環(huán) d 條件不能進(jìn)入循環(huán)區(qū)內(nèi) e 循環(huán)可以三重嵌套 應(yīng)用舉例 計(jì)算數(shù)值1 10的總和 O0713 1 0 2 1 WHILE 2LE10 DO1 1 1 2 2 2 1 END1 M30 7 3FANUC系統(tǒng)的B類宏程序及其應(yīng)用 3 應(yīng)用舉例 1 編寫如圖所示的軸類零件加工程序 自變量定義如下 1 AA 直徑D1 毛坯外徑 2 BB 直徑D2 直徑表示 3 CC 直徑D3 直徑表示 4 II 直徑D4 直徑表示 5 JJ 長度Z1 6 KK 長度Z2 7 DD 長度Z3 8 EE 倒角邊長 C 9 FF 刀具起點(diǎn)縱向工件坐標(biāo)值L 11 HH 刀具起點(diǎn)縱向工件坐標(biāo)值 18 RR 背吃刀量 半徑表示 19 SS 精加工余量 直徑表示 20 TT 粗加工轉(zhuǎn)速 r min 21 UU 精加工轉(zhuǎn)速 r min 22 VV 粗加工進(jìn)給量 mm r 23 WW 精加工進(jìn)給量 mm r 24 XX 圓弧半徑值 主程序如下 O 主程序名N10G18G99G97G21G95G90G54G40 工藝加工狀態(tài)設(shè)置N20G65P221A B C D E F H I J K R S T U V W X 調(diào)用規(guī)格不同軸加工的用戶宏程序 N50M05 主軸停止N60M30 程序結(jié)束并回到程序開頭 宏程序如下 O221 宏程序名N010 30 FUP 1 2 19 2 18 計(jì)算第一級粗車循環(huán)次數(shù) 上取整 N015 31 1 2 19 30 計(jì)算第一級徑向粗加工每次背吃刀量N020 40 FUP 2 3 19 2 18 計(jì)算第二級粗車循環(huán)次數(shù) 上取整 N025 41 2 3 19 40 計(jì)算第二級徑向粗加工每次背吃刀量N030 50 FUP 3 4 19 2 18 計(jì)算第三級粗車循環(huán)次數(shù) 上取整 N035 51 3 4 19 50 計(jì)算第三級徑向粗加工每次背吃刀量N040T0101 調(diào)用1號外圓粗車刀具 N050G90G00X 2 11 Z 9S 20M03 N055 28 1 切削次數(shù)初始值賦值N060WHILE 28GT 30 DO1 當(dāng) 28大于 30時(shí) 跳轉(zhuǎn)到N095段N065G01X 1Z 5 5 F 3 22 直線插補(bǔ)到工件右端附近N070U 31F 22 徑向切入一個(gè)背吃刀量N075W 5 5 19 2 粗車 D2外圓N080X 1 5 粗車 D2外圓的左端面N082G00Z 9 返回起刀點(diǎn)N085 28 28 1 切削次數(shù)累加1N090 31 31 28 背吃刀量遞減N095END1 返回循環(huán)體2N100 28 1 累加器置1 N105WHILE 28GT 40 DO2 當(dāng) 28大于 40時(shí)跳轉(zhuǎn)到N150段N110G01X 1Z 5 5 F 3 22 直線插補(bǔ)到工件右端附近N115X 2F 22 徑向直線插補(bǔ)到 D2外圓N120U 41 徑向切入一個(gè)背吃刀量N125W 5 5 6 19 2 粗車削 D4外圓N130U 3 4 2 粗車圓球面右端面N135G03U 2 3 2 W 6 7 R 2 3 2 24 41 粗車圓球面N138G00Z 9 返回起始點(diǎn)N140 28 28 1 背切削次數(shù)累加1N145 41 41 28 吃刀量遞增N150END2 返回循環(huán)體2 N155 28 1 計(jì)數(shù)器置1N160WHILE 28GT 50 DO3 當(dāng) 28大于 50時(shí)跳轉(zhuǎn)到N200段N165G01X 1Z 5 5 F 3 22 直線插補(bǔ)到工件右端附近N170X 3F 22 徑向直線插補(bǔ)到 D3外圓N175U 51 徑向切入一個(gè)背吃刀量N180W 5 5 6 19 2 粗車 D4外圓N185X 1 粗車 D4外圓左端面N188G00Z 9 返回起到點(diǎn)N190 28 28 1 切削次數(shù)累加1N195 51 51 28 背吃刀量遞增N200END3 返回循環(huán)體3N205G00X 2 11 Z 9 刀具快移到換刀點(diǎn) N210T0202 調(diào)用2號外圓精加工車刀N215G97M03S 21 設(shè)置精加工工藝參數(shù)N220G41G01X 4Z 5 5 F 5 23 D02 建立左刀補(bǔ) 直線插補(bǔ)到右端附近N225X 4 9 1 0 Z 5 1 0 F 23 直線插補(bǔ)到倒角C的延長線上N230X 4Z 5 9 倒角N235Z 6 精車 D4外圓N240X 3 精車 D4外圓左端面N245G03X 2Z 7R 24 精車圓球面N250G01Z0 精車 D2外圓N255X 1 5 精車 D2外圓左端面N260G40G00X 2 11 Z 9 取消刀補(bǔ)N265M99 子程序結(jié)束 返回主程序 2 如圖所示工件 毛坯為 50mm 65mm的45鋼 試采用B類宏程序編寫其加工程序 O0719 G98G97G40G21 M03S800 T0101 G00G42X45Z5 G73P20Q60U0 3W0F100 N20G01X0F80S1000 Z0 101 25 N30 102SQRT 25 25 101 101 15 25 103 101 25 104 102 2 加工該工件時(shí) 先用粗加工循環(huán)指令進(jìn)行去除余量加工 精加工時(shí) 同樣用直線進(jìn)行擬合 以Z坐標(biāo)為自變量 X坐標(biāo)為因變量 101 Z坐標(biāo)值變量 102 X函數(shù)值變量 104 X坐標(biāo)值變量 G01X 104Z 103 101 101 0 1 IF 101GE0 GOTO30 G01Z 35 G02X40Z 40R5 N60G01X45 G70P20Q60 G00G40X100Z100 M05 M30 3 如圖所示的零件 包括橢圓表面和拋物面 拋物線方程為 毛坯為 50mm 100mm 材料45鋼 未注為C0 5 小批量生產(chǎn) 試編數(shù)控車削程序 編程原點(diǎn)定為拋物線頂點(diǎn) 采用三爪卡盤夾具 粗車外圓刀為T0101 切斷刀為T0202 精車外圓尖刀為T0303 加工程序如下 O0195 N10T0101 N20M03S700 N30G00X55Z5M08 起刀點(diǎn)N40G95G01Z2F0 6 進(jìn)給單位mm r N50G71U1 5R1 5 N60G71P70Q340U0 3F0 3 N70T0303M08 N80M03S1000 N90G00X0Z2 N100G01G95Z0F0 1 N110 1 0 N120 2 0 N130 3 22 5 N140WHILE 2 GE 3 DO1 N150G01X 1 Z 2 F0 07 N160 2 2 0 03 N170 1 2 ABS SQRT 10 2 N180END1 N190G01X30Z 28R0 3F0 07 N200X36 N210 4 ABS SQRT 19 19 1 49 12 12 N220 5 4 N230 7 5 50 N240 6 36 N250G01Z 50 4 N260WHILE 5 GE 4 DO2 N270G01X 6 Z 7 F0 07 N280 5 5 0 03 N290 6 22 2 ABS SQRT 12 12 1 5 5 19 19 N300 7 5 50 N310END2 N320G01Z 72F0 08 N330X48C0 5 N340Z 85 N350G70P70Q340 N360G00X55 N370Z2 N380G00X80Z250M09 N390T0202 N400M03S700 N410G00X55Z 80M08 N420G01G95Z 84F0 3 N430X45F0 03 N440X50F0 3 N450Z 82 5 N460X49F0 1 N470X47 5Z 84F0 1 N480X 5F0 02 N490G00X50 N500X80Z250M09 N510M30 4 如圖所示工件 要加工一旋轉(zhuǎn)角度為30 的橢圓 試編寫該加工程序 使用坐標(biāo)旋轉(zhuǎn)指令可以使切入切出的編程簡化 利用插補(bǔ)原理對橢圓加工進(jìn)行編程 通過宏程序計(jì)算 用細(xì)小的直線逼近橢圓的實(shí)際輪廓 O0722 G90G54G21G17G40G0Z20M3S600 程序初始化G68X0Y0R30 橢圓繞坐標(biāo) 0 0 旋轉(zhuǎn)30 X 70Y 50 設(shè)定下刀位置G1Z0F200 進(jìn)給至Z0平面 1 50 長半軸半徑 2 30 短半軸半徑 3 8 刀具半徑 4 1 起始角度G1X 1 3 X坐標(biāo)變量Y0 進(jìn)給至Y0位置N10X 1 3 COS 4 Y 2 3 SIN 4 X Y變量 4 4 1 角度每次增量為1 IF 4LT360 GOTO10 橢圓加工循環(huán)G91G1Y10 切線切出G69 取消坐標(biāo)系旋轉(zhuǎn)G90G0Z20 抬刀M5 M30 5 銑削如圖所示的跑道形外輪廓零件側(cè)面 跑道形外輪廓左側(cè)圓弧半徑為25mm 右側(cè)圓弧半徑為35mm 左右兩圓弧的中心距為60mm 深度為15mm 試用變量編寫出加工此零件的數(shù)控程序 工藝設(shè)計(jì)建立工件坐標(biāo)系 跑道形零件輪廓左側(cè)圓弧中心在工作坐標(biāo)系中的X Y絕對坐標(biāo)為 25 0 工件表面為工件坐標(biāo)系Z軸的零點(diǎn) 機(jī)床坐標(biāo)系偏置值設(shè)置在G54寄存器中 采用順銑方式銑削跑道形外輪廓側(cè)面 沿著輪廓延長線切入與切出 銑削刀具選擇 25mm的立銑刀 取主軸轉(zhuǎn)速為500r min 銑削進(jìn)給速度為150mm min 主軸起始位置在零件上方50mm處 刀具起始切削高度為2mm 最終加工位置為Z 15mm 運(yùn)用變量引數(shù)賦值和參數(shù)直接賦值編制宏程序 自變量含義 24 25 跑道形外輪廓左側(cè)圓弧中心點(diǎn)絕對橫坐標(biāo) 25 0 跑道形外輪廓左側(cè)圓弧中心點(diǎn)絕對縱坐標(biāo) 26 15 垂直方向最終加工深度尺寸值 21 60 跑道形凸臺左右圓弧中心距 18 2 刀具快速接近工件點(diǎn)坐標(biāo) 4 25 左側(cè)圓弧半徑 5 35 右側(cè)圓弧半徑 7 12 5 刀具半徑 9 150 切削進(jìn)給速度 3 25 刀具接近及離開間隙 主程序如下 Oxxxx 主程序名N10T01M06 調(diào)用1號刀具N15G17G90G21G94G54G40G49G80 工藝加工狀態(tài)設(shè)置N20G43G00Z50 0H01S500M03 建立刀具長度補(bǔ)償 轉(zhuǎn)速為500r minN25X 10Y0M07 刀具快速移動到工件左側(cè) 打開切削液N30G65P3333X25Y0Z 15R2I25J35D12 5F150U60C25 N40G00Z100M09 刀具退到工件上表面100mm處 切削液關(guān)閉 N45G49 取消刀具長度補(bǔ)償N50G00X 10Y0M05 刀具退回工件左側(cè)N55M30 程序結(jié)束并返回程序開頭O3333 跑道形外輪廓側(cè)面銑削用戶宏程序 N005 3 2 7 間隙等于刀具直徑 12 SQRT 21 21 5 4 5 4 計(jì)算兩圓弧切線長度 14 ATAN 5 4 12 切線與X軸夾角 27 4 7 SIN 14 左側(cè)圓心通過圓弧切點(diǎn)到刀具中心的橫坐標(biāo) 28 4 7 COS 14 左側(cè)圓心通過圓弧切點(diǎn)到刀具中心的縱坐標(biāo) 29 5 7 SIN 14 右側(cè)圓心通過圓弧切點(diǎn)到刀具中心的橫坐標(biāo) 30 5 7 COS 14 右側(cè)圓心通過圓弧切點(diǎn)到刀具中心的縱坐標(biāo)N010G90G00X 24 4 7 Y 25 3 刀具快速移到跑道形外輪廓左上側(cè)N015Z 18 刀具快速下降到工件上方安全距離N020G01Z 26F 9 2 刀具以工進(jìn)速度下降到最終加工深度N025X 24 4 7 Y 25F 19 沿跑道形外輪廓左側(cè)延長線切入到PO點(diǎn)N030G03X 24 27 Y 25 28 I 4 7 J0 沿輪廓圓弧插補(bǔ)到P 點(diǎn)N035G01X 24 21 29 Y 25 30 沿輪廓直線插補(bǔ)到P 點(diǎn) N040G03X 24 21 29 Y 25 30 I 29J 30 沿輪廓圓弧插補(bǔ)到P3點(diǎn)N045G01X 24 27 Y 25 28 沿輪廓直線插補(bǔ)到P4點(diǎn)N050G03X 24 4 7 Y 25I 27J 28 沿輪廓圓弧插補(bǔ)到P0點(diǎn)N055G01X 24 4 7 Y 25 3 沿跑道形外輪廓左側(cè)延長線切出N060G90G00Z 18 50 刀具快速抬起離開工件N065M99 程序結(jié)束并返回主程序 6 如圖所示工件 毛坯尺寸 80mm 15mm的45鋼 試編寫其加工程序 該工件的12個(gè)凹圓弧在圓周上均勻分布 如采用宏程序指令和坐標(biāo)旋轉(zhuǎn)指令進(jìn)行編程 可簡化編程過程中的基點(diǎn)計(jì)算 提高編程效率 O0720 G90G94G21G40G54 G91G28Z0 G90G00X0Y0 Z20 M03S500 G01Z 5F100 G41G01X30D01 G03I 30 G40G01X0Y0 100 0 N100G68X0Y0R 100 G41G01X25Y0D01 G03I6 G40G01X0Y0 G69 100 100 30 IF 100LE330 GOTO100 G91G28Z0 M05 M30 7 如圖所示工件 毛坯尺寸100mm 40mm 10mm 試編寫該孔加工程序 O0720 G91G28Z0 G90G00X40Y40 Z20N08 M03S500 101 30 長度賦初值N100 101 100 COS 15 孔中心的X坐標(biāo) 102 101 SIN 15 孔中心的Y坐標(biāo)G81X 101Y 102Z 15R5F100 鉆孔加工 100 100 22 長度每次增加22IF 100LE40 GOTO100 條件判斷G80M09 取消固定循環(huán)G91G28Z0 M05 N30 本例工件的4個(gè)孔均布在一條直線上 如采用宏程序編制則可省略手工編程過程中的基點(diǎn)計(jì)算 從而提高了編程的正確率 8 在銑床或加工中心上鉆削如圖7 21所示方形零件上的矩形孔 鉆孔直徑為 6mm 主軸轉(zhuǎn)速為600r min 鉆孔進(jìn)給速度為140mm min 鉆孔深度為15mm 鉆孔軸起始位置在工件上方50mm 利用宏程序編制加工程序 采用沿著方形零件的矩形框式孔群中心線逆時(shí)針位移鉆削方式鉆削孔群 選擇 6mm的麻花鉆 取主軸轉(zhuǎn)速為600r min 鉆削進(jìn)給速度為140mm min 主軸起始位置在零件上方50mm處 刀具起始切削高度4mm 最終加工深度Z 20mm 運(yùn)用變量直接賦值編制宏程序 Oxxxx 主程序名N005 101 20 第一個(gè)孔的X絕對坐標(biāo)值 102 10 第一個(gè)孔的Y絕對坐標(biāo)值 2 101 將第一個(gè)孔的X絕對坐標(biāo)值賦給變量 2 3 102 將第一個(gè)孔的Y絕對坐標(biāo)值賦給變量 3 工藝設(shè)計(jì)建立工件坐標(biāo)系 工件左下角為工件坐標(biāo)系X Y軸的零點(diǎn) 工件上表面為工件坐標(biāo)系Z軸的零點(diǎn) 機(jī)床坐標(biāo)系偏置值設(shè)置在G54寄存器中 27 1 框式點(diǎn)陣列孔群行數(shù)初始值 28 1 框式點(diǎn)陣列孔群列數(shù)初始值 30 7 X軸孔數(shù) 31 5 Y軸孔數(shù) 32 15 X軸孔間距 33 15 Y軸孔間距 26 20 最終鉆孔深度 18 4 安全間隙 9 140 進(jìn)給速度N010T01M06 調(diào)用1號刀N015G17G90G21G94G54G40G49G80 N020G43G00Z50H01S600M03 建立刀具長度補(bǔ)償 主軸正轉(zhuǎn) 轉(zhuǎn)速為600r min N025X0Y0M07 N030G65P3322 調(diào)用矩形框式點(diǎn)陣孔群鉆削的用戶宏程序N035G00Z100M09 刀具退到工件上表面100mm處 切削液關(guān)閉N040G49 取消刀具長度補(bǔ)償N045X0Y0M05 N050M30 程序結(jié)束并返回程序開頭O3322 宏程序名N010WHILE 27GE 30 DO1 如果 27大于 30 則程序跳轉(zhuǎn)到N035程序段N020G00X 101Y 102 將刀具移動到孔上方 N025G98G81Z 26R 18F 9K0 調(diào)用循環(huán)程序鉆定位孔N030 101 2 32 計(jì)算孔的X絕對坐標(biāo)值 102 3 孔的Y絕對坐標(biāo)值 2 101 將X絕對坐標(biāo)值賦給變量 2存儲 3 102 將Y絕對坐標(biāo)值賦給變量 3存儲 27 27 1 孔數(shù)加 N035END1 返回循環(huán)體N040WHILE 28GE 31 DO2 如果 28大于或等于 31 則程序跳轉(zhuǎn)N065段N045 101 2 孔的X絕度坐標(biāo)值 102 3 33 計(jì)算孔的Y絕度坐標(biāo)值 N050G00X 101Y 102 將刀具移動到孔上方N055G98G81Z 26R 18F 9K0 調(diào)用循環(huán)程鉆定位孔N060 2 101 將X絕對坐標(biāo)值賦給變量 2存儲 3 102 將Y絕對坐標(biāo)值賦給變量 3存儲 28 28 1 孔數(shù)加 N065END2 返回循環(huán)體N070 27 1 行孔數(shù)置初始值N075WHILE 27GE 30 DO3 如果 27大于 30 則程序跳轉(zhuǎn)到N100段N080 101 2 32 計(jì)算孔的X絕度坐標(biāo)值 102 2 孔的Y絕度坐標(biāo)值 N085G00X 101Y 102 將刀具移動到孔上方N090G98G81Z 26R 18F 9K0 調(diào)用循環(huán)程序鉆定位孔N095 2 101 將X絕對坐標(biāo)值賦給變量 2存儲 3 102 將Y絕對坐標(biāo)值賦給變量 3存儲 27 27 1 孔數(shù)加 N100END3 返回循環(huán)體N105 28 1 列孔數(shù)置初始值N110WHILE 28GT 31 DO4 如果 28大于 31 則程序跳轉(zhuǎn)到N135段N115 101 2 孔的X絕度坐標(biāo)值 102 3 33 計(jì)算孔的Y絕度坐標(biāo)值 N120G00X 101Y 102 將刀具移動到孔上方N125G98G81Z 26R 18F 9K0 調(diào)用循環(huán)程序鉆定位孔N130 2 101 將X絕對坐標(biāo)值賦給變量 2存儲 3 102 將Y絕對坐標(biāo)值賦給變量 3存儲 28 28 1 孔數(shù)加 N135END4 返回循環(huán)體N140G80 取消固定循環(huán)N145M99 子程序結(jié)束 返回主程序 9 銑削如圖所示的棱臺面 編制加工宏程序 1 宏指令 G65P9130A B U V D H I F 式中 A 棱臺底長 1 B 棱臺底寬 2 U 棱臺頂長 21 V 棱臺底寬 22 D 道具補(bǔ)償號 7 H 棱臺高 11 I 切削次數(shù) 4 F 進(jìn)給速度 9 2 宏程序 O9130 29 2000 7 讀取刀具半徑 30 1 21 2 11 31 2 22 2 11 IF 11EQ0 GOTO5 32 21 2 30 11 切削點(diǎn)X坐標(biāo)絕對值 33 22 2 31 11 切削點(diǎn)Y坐標(biāo)絕對值 34 32 29 1 落刀點(diǎn)X坐標(biāo)絕對值 35 33 29 1 落刀點(diǎn)Y坐標(biāo)絕對值G00X 34Y 35 G01Z 11F 9 落刀G42X 32D 7 加刀補(bǔ)Y 33 X 32 Y 33 X 34 G01G40Y 35 11 11 11 4 遞減計(jì)算G01Z 11F 9 3 N5M99 3 主程序 O1003 選用 20mm平底刀G90G54G00X0Y0M03S500 G00Z10M08 G65P9130A100B80U70V40D1H40I20F100 G00Z10 G65P9130A110B90U60V30D1H40I30F8 G00Z50M09 M30- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)控 編程 加工
鏈接地址:http://www.820124.com/p-7165594.html