宏程序在數(shù)控編程中的應(yīng)用_第1頁(yè)
宏程序在數(shù)控編程中的應(yīng)用_第2頁(yè)
宏程序在數(shù)控編程中的應(yīng)用_第3頁(yè)
宏程序在數(shù)控編程中的應(yīng)用_第4頁(yè)
宏程序在數(shù)控編程中的應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第七章 宏程序在數(shù)控編程中的應(yīng)用7.1 概述用戶宏程序是以變量的組合,通過(guò)各種算術(shù)和邏輯運(yùn)算、轉(zhuǎn)移和循環(huán)等命令,而編制的一種可以靈活運(yùn)用的程序,只要改變變量的值,即可完成不同的加工或操作。用戶宏功能是提高數(shù)控機(jī)床性能的一種特殊功能。使用中,通常把能完成某一功能的一系列指令像子程序一樣存入存儲(chǔ)器,然后用一個(gè)總指令代表它們,使用時(shí)只需給出這個(gè)總指令就能執(zhí)行其功能。用戶宏功能主體是一系列指令,相當(dāng)于子程序體。既可以由機(jī)床生產(chǎn)廠提供,也可以由機(jī)床用戶自己編制。宏指令是代表一系列指令的總指令,相當(dāng)于子程序調(diào)用指令。用戶宏功能的最大特點(diǎn)是,可以對(duì)變量進(jìn)行運(yùn)算,使程序應(yīng)用更加靈活、方便。用戶宏功能有A、B兩

2、類。7.2 A類宏程序7.2.1變量在常規(guī)的主程序和子程序內(nèi),總是將一個(gè)具體的數(shù)值賦給一個(gè)地址。為了使程序更具通用性、更加靈活,在宏程序中設(shè)置了變量,即將變量賦給一個(gè)地址。(1)變量的表示 變量可以用“#”號(hào)和跟隨其后的變量序號(hào)來(lái)表示:#i(i1,2,3.) 例:#5, #109, #501。(2)變量的引用將跟隨在一個(gè)地址后的數(shù)值用一個(gè)變量來(lái)代替,即引入了變量。 例:對(duì)于F#103,若#10350時(shí),則為F50; 對(duì)于Z-#110,若#110100時(shí),則Z為-100; 對(duì)于G#130,若#1303時(shí),則為G03。(3)變量的類型 0MC系統(tǒng)的變量分為公共變量和系統(tǒng)變量?jī)深悺?)公共變量 公共

3、變量是在主程序和主程序調(diào)用的各用戶宏程序內(nèi)公用的變量。也就是說(shuō),在一個(gè)宏指令中的#i與在另一個(gè)宏指令中的#i是相同的。 公共變量的序號(hào)為:#100#131;#500#531。其中#100#131公共變量在電源斷電后即清零,重新開(kāi)機(jī)時(shí)被設(shè)置為“0”;#500#531公共變量即使斷電后,它們的值也保持不變,因此也稱為保持型變量。2)系統(tǒng)變量 系統(tǒng)變量定義為:有固定用途的變量,它的值決定系統(tǒng)的狀態(tài)。系統(tǒng)變量包括刀具偏置變量,接口的輸入/輸出信號(hào)變量,位置信息變量等。系統(tǒng)變量的序號(hào)與系統(tǒng)的某種狀態(tài)有嚴(yán)格的對(duì)應(yīng)關(guān)系。例如,刀具偏置變量序號(hào)為#01#99,這些值可以用變量替換的方法加以改變,在序號(hào)199中

4、,不用作刀偏量的變量可用作保持型公共變量#500#531。接口輸入信號(hào)#1000#1015,#1032。通過(guò)閱讀這些系統(tǒng)變量,可以知道各輸入口的情況。當(dāng)變量值為“1”時(shí),說(shuō)明接點(diǎn)閉合;當(dāng)變量值為“0”時(shí),表明接點(diǎn)斷開(kāi)。這些變量的數(shù)值不能被替換。閱讀變量#1032,所有輸入信號(hào)一次讀入。7.2.2 宏指令G65宏指令G65可以實(shí)現(xiàn)豐富的宏功能,包括算術(shù)運(yùn)算、邏輯運(yùn)算等處理功能。一般形式: G65 Hm P#i Q#j R#k式中:m-宏程序功能,數(shù)值范圍0199;#i-運(yùn)算結(jié)果存放處的變量名;#j-被操作的第一個(gè)變量,也可以是一個(gè)常數(shù);#k-被操作的第二個(gè)變量,也可以是一個(gè)常數(shù)。 例如,當(dāng)程序功

5、能為加法運(yùn)算時(shí):程序P#100 Q#101 R#102.含義為#100#101#102程序P#100 Q-#101 R#102.含義為#100-#101#102程序P#100 Q#101 R15.含義為#100#101157.2.3 宏功能指令1. 算術(shù)運(yùn)算指令(表7.1)表7.1 算術(shù)運(yùn)算指令G碼H碼功 能定 義G65H01定義,替換# i# jG65H02加# i# j# kG65H03減# i# j-# kG65H04乘# i# j # kG65H05除# i# j/# kG65H21平方根# i# j G65H22絕對(duì)值# i|# j|G65H23求余# i# j-trunc# j/#

6、 k # k Trunc;丟棄小于1的分?jǐn)?shù)部分G65H24BCD碼二進(jìn)制碼# iBIN# jG65H25二進(jìn)制碼BCD碼# iBCD# jG65H26復(fù)合乘/除# i# i # j# kG65H27復(fù)合平方根1# i# j2# k2 G65H28復(fù)合平方根2# i# j2-# k2 1)變量的定義和替換 #i#j編程格式 G65 H01 P#i Q#j 例 G65 H01 P#101 Q1005; (#1011005) G65 H01 P#101 Q-#112;(#101-#112) 2)加法 #i#j#k 編程格式 G65 H02 P#i Q#j R#k 例 G65 H02 P#101 Q#

7、102 R#103;(#101#102#103) 3)減法 #i#j-#k 編程格式 G65 H03 P#i Q#j R#k 例 G65 H03 P#101 Q#102 R#103;(#101#102-#103) 4)乘法 #i#j#k 編程格式 G65 H04 P#i Q#j R#k 例 G65 H04 P#101 Q#102 R#103;(#101#102#103) 5)除法 #i#j / #k 編程格式 G65 H05 P#i Q#j R#k 例 G65 H05 P#101 Q#102 R#103;(#101#102/#103) 6)平方根 #i 編程格式 G65 H21 P#i Q#j

8、 例 G65 H21 P#101 Q#102;(#101 ) 7)絕對(duì)值 #i#j 編程格式 G65 H22 P#i Q#j 例 G65 H22 P#101 Q#102;(#101#102) 8)復(fù)合平方根1 #i 編程格式 G65 H27 P#i Q#j R#k 例 G65 H27 P#101 Q#102 R#103;( #101= 9)復(fù)合平方根2 #i 編程格式 G65 H28 P#i Q#j R#k 例 G65 H28 P#101 Q#102 R#103(#1012. 邏輯運(yùn)算指令(表7.2)表7.2 邏輯運(yùn)算指令G碼H碼功 能定 義G65H11邏輯“或”# i# j OR # kG6

9、5H12邏輯“與”# i# j AND # kG65H13異或# i# j XOR # k1)邏輯或 #i#j OR #k編程格式 G65 H11 P#i Q#j R#k例 G65 H11 P#101 Q#102 R#103;(#101#102 OR #103)2)邏輯與 #i#j AND #k編程格式 G65 H12 P#i Q#j R#k例 G65 H12 P#101 Q#102 R#103;(#101#102 AND #103)3. 三角函數(shù)指令 (表7.3)表7.3 三角函數(shù)指令G碼H碼功 能定 義G65H31正弦# i# j SIN # kG65H32余弦# i# j COS # k

10、G65H33正切# i# j TAN# kG65H34反正切# iATAN# j/# k1)正弦函數(shù) #i#jSIN(#k)編程格式 G65 H31 P#i Q#j R#k (單位:度)例 G65 H31 P#101 Q#102 R#103;(#101#102SIN(#103)2)余弦函數(shù) #i#jCOS(#k) 編程格式 G65 H32 P#i Q#j R#k (單位:度) 例 G65 H32 P#101 Q#102 R#103;(#101#102COS(#103)3)正切函數(shù) #i#jTAN#k 編程格式 G65 H33 P#i Q#j R#k (單位:度) 例 G65 H33 P#101

11、 Q#102 R#103;(#101#102TAN(#103) 4)反正切 #iATAN(#j/#k) 編程格式 G65 H34 P#i Q#j R#k (單位:度,0o #j 360o) 例 G65 H34 P#101 Q#102 R#103;(#101ATAN(#102/#103)4. 控制類指令(表7.4)表7.4 控制類指令G碼H碼功 能定 義G65H80無(wú)條件轉(zhuǎn)移GO TO nG65H81條件轉(zhuǎn)移1IF # j# k,GOTOnG65H82條件轉(zhuǎn)移2IF # j# k,GOTOnG65H83條件轉(zhuǎn)移3IF # j# k,GOTOnG65H84條件轉(zhuǎn)移4IF # j# k,GOTOnG

12、65H85條件轉(zhuǎn)移5IF # j# k,GOTOnG65H86條件轉(zhuǎn)移6IF # j# k,GOTOnG65H99產(chǎn)生PS報(bào)警PS報(bào)警號(hào)500n出現(xiàn)1)無(wú)條件轉(zhuǎn)移編程格式 G65 H80 Pn (n為程序段號(hào)) 例 G65 H80 P120;(轉(zhuǎn)移到N120) 2)條件轉(zhuǎn)移1 #j EQ #k() 編程格式 G65 H81 Pn Q#j R#k (n為程序段號(hào)) 例 G65 H81 P1000 Q#101 R#102當(dāng)#101#102,轉(zhuǎn)移到N1000程序段;若#101 #102,執(zhí)行下一程序段。 3)條件轉(zhuǎn)移2 #j NE #k() 編程格式 G65 H82 Pn Q#j R#k (n為程序

13、段號(hào)) 例 G65 H82 P1000 Q#101 R#102當(dāng)#101 #102,轉(zhuǎn)移到N1000程序段;若#101#102,執(zhí)行下一程序段。 4)條件轉(zhuǎn)移3 #j GT #k ( ) 編程格式 G65 H83 Pn Q#j R#k (n為程序段號(hào)) 例 G65 H83 P1000 Q#101 R#102當(dāng)#101 #102,轉(zhuǎn)移到N1000程序段;若#101 #102,執(zhí)行下一程序段。 5)條件轉(zhuǎn)移4 #j LT #k() 編程格式 G65 H84 Pn Q#j R#k (n為程序段號(hào)) 例 G65 H84 P1000 Q#101 R#102 當(dāng)#101 #102,轉(zhuǎn)移到N1000;若#1

14、01 #102,執(zhí)行下一程序段。 6)條件轉(zhuǎn)移5 #j GE #k() 編程格式 G65 H85 Pn Q#j R#k (n為程序段號(hào)) 例 G65 H85 P1000 Q#101 R#102當(dāng)#101 #102,轉(zhuǎn)移到N1000;若#101#102,執(zhí)行下一程序段。7.2.4 使用注意為保證宏程序的正常運(yùn)行,在使用用戶宏程序的過(guò)程中,應(yīng)注意以下幾點(diǎn);(1)由G65規(guī)定的H碼不影響偏移量的任何選擇;(2)如果用于各算術(shù)運(yùn)算的Q或R未被指定,則作為0處理;(3)在分支轉(zhuǎn)移目標(biāo)地址中,如果序號(hào)為正值,則檢索過(guò)程是先向大程序號(hào)查找,如果序號(hào)為負(fù)值,則檢索過(guò)程是先向小程序號(hào)查找。(4)轉(zhuǎn)移目標(biāo)序號(hào)可以

15、是變量。7.2.5 用戶宏程序應(yīng)用舉例例1:用宏程序和子程序功能順序加工圓周等分孔。設(shè)圓心在O點(diǎn),它在機(jī)床坐標(biāo)系中的坐標(biāo)為(X0,Y0),在半徑為r的圓周上均勻地鉆幾個(gè)等分孔,起始角度為,孔數(shù)為n。以零件上表面為Z向零點(diǎn)。見(jiàn)圖7.1。 圖7.1等分孔計(jì)算方法使用以下保持型變量:#502:半徑r;#503:起始角度;#504:孔數(shù)n,當(dāng)n0時(shí),按逆時(shí)針?lè)较蚣庸?,?dāng)n0時(shí),按順時(shí)針?lè)较蚣庸ぃ?505:孔底Z坐標(biāo)值;#506:R平面Z坐標(biāo)值;#507:F進(jìn)給量。 使用以下變量進(jìn)行操作運(yùn)算:#100:表示第i步鉆第i孔的記數(shù)器;#101:記數(shù)器的最終值(為n 的絕對(duì)值);#102:第i個(gè)孔的角度位置i

16、的值; #103:第i個(gè)孔的X坐標(biāo)值;#104:第i個(gè)孔的Y坐標(biāo)值;用用戶宏程序編制的鉆孔子程序如下: O9010N110 G65 H01 P#100 Q0 /#100 = 0N120 G65 H22 P#101 Q#504 /#101 = #504N130 G65 H04 P#102 Q#100 R360/#102 = #100 360oN140 G65 H05 P#102 Q#102 R#504 /#102 = #102 / #504N150 G65 H02 P#102 Q#503 R#102 /#102 = #503 + #102當(dāng)前孔角度位置i =+ (360oi) / nN160 G

17、65 H32 P#103 Q#502 R#102 /#103 = #502 COS(#102)當(dāng)前孔的 X坐標(biāo)N170 G65 H31 P#104 Q#502 R#102 /#104 = #502 SIN(#102) 當(dāng)前孔的Y坐標(biāo)N180 G90 G00 X#103 Y#104 /定位到當(dāng)前孔(返回開(kāi)始平面)N190 G00 Z#506 /快速進(jìn)到R平面N200 G01 Z#505 F#507 /加工當(dāng)前孔N210 G00 Z#506 /快速退到R平面N220 G65 H02 P#100 Q#100 R1 /#100 = #100+1孔計(jì)數(shù)N230 G65 H84 P-130 Q#100 R

18、#101 /當(dāng)#100 jLTk表示 jGEk表示 jLEk表示(2)重復(fù)執(zhí)行 編程格式:WHILE條件表達(dá)式 DO m (m1,2,3) . . . END m上述“WHILEEND m”程序含意為:1)條件表達(dá)式滿足時(shí),程序段DO m至 END m即重復(fù)執(zhí)行;2)條件表達(dá)式不滿足時(shí),程序轉(zhuǎn)到END m后處執(zhí)行;3)如果WHILE條件表達(dá)式部份被省略,則程序段DO m至 END m之間的部份將一直重復(fù)執(zhí)行;注意:1) WHILEDO m和 END m必須成對(duì)使用; 2)DO語(yǔ)句允許有3層嵌套,即:DO1DO2DO3END3END2END13)DO語(yǔ)句范圍不允許交叉,即如下語(yǔ)句是錯(cuò)誤的:DO1

19、DO2END1END2 以上僅介紹了B類宏程序應(yīng)用的基本問(wèn)題,有關(guān)應(yīng)用詳細(xì)說(shuō)明,請(qǐng)查閱FANUC0i系統(tǒng)說(shuō)明書。 7.3.2 應(yīng)用舉例如圖7.4所示的圓環(huán)點(diǎn)陣孔群中各孔的加工,我們?cè)?jīng)用A類宏程序解決過(guò)這類問(wèn)題,這里再試用B類宏程序方法來(lái)解決問(wèn)題:圖7.4圓環(huán)點(diǎn)陣孔群的加工宏程序中將用到下列變量:1第一個(gè)孔的起始角度A,在主程序中用對(duì)應(yīng)的文字變量A賦值;3孔加工固定循環(huán)中R平面值C,在主程序中用對(duì)應(yīng)的文字變量C賦值;9孔加工的進(jìn)給量值F,在主程序中用對(duì)應(yīng)的文字變量F賦值;11要加工孔的孔數(shù)H,在主程序中用對(duì)應(yīng)的文字變量H賦值;18加工孔所處的圓環(huán)半徑值R,在主程序中用對(duì)應(yīng)的文字變量R賦值;26孔深坐標(biāo)值Z,在主程序中用對(duì)應(yīng)的文字變量Z賦值;30基準(zhǔn)點(diǎn),即圓環(huán)形中心的X坐標(biāo)值XO;31基準(zhǔn)點(diǎn),即圓環(huán)形中心的Y坐標(biāo)值YO;32當(dāng)前加工孔的序號(hào)i;33當(dāng)前加工第i孔的角度;100已加工孔的數(shù)量;101當(dāng)前加工孔的X坐標(biāo)值,初值設(shè)置為圓環(huán)形中心的X坐標(biāo)值XO;102當(dāng)前加工孔的Y坐標(biāo)值,初值設(shè)置為圓環(huán)形中心的Y坐標(biāo)值YO。用戶宏程序編寫如下:O8000N801030=101 /基準(zhǔn)點(diǎn)保存N8020 31=102/基準(zhǔn)點(diǎn)保存N8030 32=1 /計(jì)數(shù)值置1N8040 WHILE 32 LE ABS11 DO1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論