FANUC宏程序編程_第1頁
FANUC宏程序編程_第2頁
FANUC宏程序編程_第3頁
FANUC宏程序編程_第4頁
FANUC宏程序編程_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、運(yùn)算符運(yùn)算符由2個(gè)字母組成,用于兩個(gè)值的比較,以決定它們是相等還是一個(gè)值小于或大于另一個(gè)值。注意,不能使用不等號(hào)運(yùn)算符含義EQ等于(=)NE不等于GT大于GE大于或等于LT小于LE小于或等于示例程序 下面的程序計(jì)算數(shù)值110的總和O9500;#1=0;.存儲(chǔ)和的變量初值#2=1;.被加數(shù)變量的初值N1 IF#2GT 10GOTO 2;.當(dāng)被加數(shù)大于10時(shí)轉(zhuǎn)移到N2#1=#1+#2;.計(jì)算和#2=#2+#1;.下一個(gè)被加數(shù)GOTO 1;轉(zhuǎn)移到N1N2 M30;.程序結(jié)束算術(shù)和邏輯運(yùn)算功能格式備注定義#i=#j:加法#i=#j+#k減法#i=#j-#k乘法#i=#j*#k除法#i=#j/#k正弦#

2、i=SIN#j:角度以度指定090度30分表示為90.5度反正弦#i=ASIN#j:余弦#i=COS#j:反余弦#i=ACOS#j:正切#i=TAN#j:反正切#i=ATAN#j:平方根#i=SQRT#j:絕對(duì)值#i=ABS#j:舍入#i=ROUND#j:上取整#i=FIX#j:下取整#i=FUP#j:自然數(shù)對(duì)數(shù)#i=LN#j:指數(shù)函數(shù)#i=EXP#j:或#i=#jOR#k:邏輯運(yùn)算一位一位地按二進(jìn)制數(shù)執(zhí)行異或#i=#jXOR#k:與#i=#jAND#k:從BCD轉(zhuǎn)為BIN #i=BCD#j;用于與PMC的信號(hào)交換從BIN轉(zhuǎn)為BCD#i=BCD#j;角度單位:SIN、ASIN、COS、ACOS

3、、TAN和ATAN的角度單位是度ARCSIN #i=ASIN#j: 取值范圍如下:當(dāng)參數(shù)(N0.6004¥0)NAT位設(shè)為0時(shí),27090度;當(dāng)參數(shù)(N0.6004¥0)NAT位設(shè)為1時(shí),-9090度。 當(dāng)#j超過-1到1的范圍時(shí),發(fā)出P/S報(bào)警N0.111。 常數(shù)可替代變量#j。ARCCOS #i=ACOS#j; 取值范圍從1800度。 當(dāng)#j超過-1到1的范圍時(shí),發(fā)出P/S報(bào)警N0.111。 常數(shù)可替代變量#j。ARCTAN #i=ATAN#j; 指定兩邊的長(zhǎng)度,并用斜杠(/)分開 取值范圍如下:當(dāng)參數(shù)(N0.6004¥0)NAT位設(shè)為0時(shí),0360度例如:當(dāng)指定#i=ATAN-1/-1;

4、時(shí),#1=225度。當(dāng)參數(shù)(N0.6004¥0)NAT位設(shè)為1時(shí),-180180度例如:當(dāng)指定#i=ATAN-1/-1;時(shí),#1=-135度 常數(shù)可替代變量#j。自然對(duì)數(shù)#i=LN#j; 注意,相對(duì)誤差可能大于10-8。 當(dāng)反對(duì)數(shù)(#j)為0或小于0時(shí),發(fā)出報(bào)警N0.111。 常數(shù)可替代變量#j。指數(shù)函數(shù)#i=EXP#j: 注意,相對(duì)誤差可能大于10-8 當(dāng)運(yùn)算結(jié)果超過3.65×1047 (j大約是110)時(shí),出現(xiàn)溢出報(bào)警N0.111 常數(shù)可替代變量#j。上取整下取整:CNC處理數(shù)值運(yùn)算時(shí),若操作后產(chǎn)生整數(shù)絕對(duì)值大于原數(shù)的絕對(duì)值時(shí)為上取整;小于為下取整。例如:假設(shè)#1=1.2,#2=

5、-1.2。當(dāng)執(zhí)行#3=FUP#1時(shí),2.0賦給#3;當(dāng)執(zhí)行#3=FIX#1時(shí)1.0賦給#3;當(dāng)執(zhí)行#3=FUP#2時(shí),-2.0賦給#3;當(dāng)執(zhí)行#3=FIX#2時(shí),-1.0賦給#3。宏程序語句:包含算術(shù)或邏輯運(yùn)算(=)的程序;包含控制語句(例如,用GOTO,DO,END)的程序;包含宏程序調(diào)用指令(例如,用G65,G66,G67或其它G代碼,M代碼調(diào)用宏程序)的程序段;除宏程序以外任何程序段都為NC語句。與NC語句的不同:即使置于單段程序運(yùn)行方式,機(jī)床也不停止。但是,當(dāng)參數(shù)N0.6000#5SBM設(shè)定位、為1時(shí),在單段程序方式中,機(jī)床停止。在刀具半徑補(bǔ)償方式中宏程序語句段不做為移動(dòng)程序段處理與宏

6、程序語句相同性質(zhì)的NC語句:含有子程序調(diào)用指令(例如,用M98或其它M代碼或用T代碼調(diào)用子程序)但沒有除O,N,P或L地址之外的其它地址指令的NC語句,其性質(zhì)與宏程序語句相同;不包含除O,N,P或L以外的指令地址的程序段其性質(zhì)與宏程序語句相同。無限循環(huán);當(dāng)指定DO而沒有指定WHILE語句時(shí),產(chǎn)生從DO到END的無限循環(huán)。宏程序調(diào)用和子程序調(diào)用之間的差別:宏程序調(diào)用(G65)不同于子程序調(diào)用(G98),如下所述: 用G65,可以指定自變量(數(shù)據(jù)傳送到宏程序)。M98沒有該功能。 當(dāng)M98程序段包含另一個(gè)NC指令(例如。G01.X100.0M98PP)時(shí),在指令執(zhí)行之后調(diào)用子程序。相反,G65無條

7、件的調(diào)用子程序。 M98程序段包含另一個(gè)NC指令(例如,G01X100.0M98PP)時(shí)在單程序方式中,機(jī)床停止。相反,G65機(jī)床不停止。 用G65,改變局部變量的級(jí)別。用M98,不改變局部變量的級(jí)別。G65P-L -(自變量指定);P:要調(diào)用的程序;L:重復(fù)次數(shù);自變量:數(shù)據(jù)傳遞到宏程序自變量指定地址變量號(hào)地址變量號(hào)地址變量號(hào)A#1I#4T#20B#2J#5U#21C#3K#6V#22D#7M#13W#23E#8Q#17X#24F#9R#18Y#25H#11S#19Z#26地址G,L,N,O和P不能在自變量中使用不需要指定的地址可以省,對(duì)于省的地址的局部變量為空地址不需要按字母順序指定。但應(yīng)

8、符合字地址的格式。I,J和K需要按字母的順序指定自變量指定A#1K3#12J7#23B#2I4#13K7#24C#3J4#14I8#25I1#4K4#15J8#26J1#5I5#16K8#27K1#6J5#17I9#28I2#7K5#18J9#29J2#8I6#19K9#30K2#9J6#20I10#31I3#10K6#21J10#32J3#11I7#22K10#33I,J,K的下標(biāo)用于確定自變量指定的順序,在實(shí)際編程中不寫。G65P-X-Y-Z-R-F-I-A-B-H-:X:圓心的X坐標(biāo)(絕對(duì)值或增量值指定)(#24)Y:圓心的Y坐標(biāo)(絕對(duì)值或增量值指定)(#25)Z:孔深(#26);R:趨

9、近點(diǎn)坐標(biāo)(#18)F:切削進(jìn)給速度(#9);I:圓半徑(#4)A:第一孔的角度(#1)B:增量角(指定負(fù)值時(shí)為逆時(shí)針)(#2)H:孔數(shù)(#11)宏程序調(diào)用程序:O0002;G90G92X0Y0Z100.0;G65P9100X100Y50R30Z-50F500I100A0B45H5;M30被調(diào)用的宏程序:O9100;#3=#4003;. 儲(chǔ)存03組的G代碼G81Z#26R#18F#9K0;.(注)鉆孔循環(huán);注:也可以使用L0IF#3EQ90GOTO 1;.在G90方式轉(zhuǎn)移到N1#24=#5001+#24;.計(jì)算圓心的X坐標(biāo)#25=#5002+#25;.計(jì)算圓心的Y坐標(biāo)N1 WHILE#11GT0

10、DO 1.直到剩余孔數(shù)為0#5=#24+#4*COS#1;.計(jì)算X軸上的孔位#6=#25+#4*SIN+1;.計(jì)算Y軸上的孔位G90X#5Y#6;.移動(dòng)到坐標(biāo)位置之后執(zhí)行鉆孔#1=#1+#2;.更新角度#11=#11-1;.孔數(shù)-1END 1;G#3G80;.返回原始狀態(tài)G代碼M99;變量的含義:#3:儲(chǔ)存03組的G代碼;#5:下個(gè)孔的X坐標(biāo):#6:下個(gè)孔的Y坐標(biāo)摸態(tài)調(diào)用G66G66P-L-:P:要調(diào)用的程序;L:重復(fù)次數(shù);自變量:數(shù)據(jù)傳遞到宏程序自變量指定變量類型:變量號(hào)變量類型功能#0空變量該變量總是空,沒有值能賦給該變量#1#33局部變量局部變量只能用于宏程序中存在存儲(chǔ)數(shù)據(jù)量。例如,運(yùn)算

11、結(jié)果。當(dāng)斷電時(shí),局部變量被初始化為空。調(diào)用宏程序時(shí),自變量對(duì)局不變量賦值#100#199;#500#999公共變量公共變量在不同宏程序中的意義相同。當(dāng)斷電時(shí),變量#100#199初始化為空;當(dāng)斷電時(shí),變量#500#999的數(shù)據(jù)保存,即使斷電也不丟失#1000系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC的各種數(shù)據(jù),例如,刀具的當(dāng)前位置和補(bǔ)償值局部變量和公共變量可以為0值或下面范圍中的值:-1047到-10-29或10-29到1047宏程序報(bào)警的系統(tǒng)變量:變量號(hào)功能#3000當(dāng)變量#3000的值為0200時(shí),CNC停止運(yùn)行且報(bào)警??稍诒磉_(dá)式后指定不超過26個(gè)字符的報(bào)警信息。LCD屏幕上顯示報(bào)警號(hào)和報(bào)警信息,其

12、中報(bào)警號(hào)為變量#3000的值加上3000 接口信號(hào)的系統(tǒng)變量:(參數(shù)N0.6001#0(MIF)=0時(shí))變量號(hào)功能#1000#1015#1032把16位信號(hào)從PMC送到用戶宏程序,變量#1000到#1035用于按位讀取信號(hào),變量#1032,用于一次讀取16位信號(hào)#1100#1115#1132把32位信號(hào)從用戶宏程序送到PMC。變量#1100到#1135用于按位寫信號(hào)。變量#1032用于一次讀取16位信號(hào)#1133變量#1133用于從用戶宏程序一次寫一個(gè)32位信號(hào)到PMC。注意,#1133的值為-99999999到+99999999(參數(shù)N0.6001#0(MIF)=1時(shí))變量號(hào)功能#1000#

13、1301把32位信號(hào)從PMC送到用戶宏程序,變量#1000到#1031用于按位讀取信號(hào)#1100#1131把32位信號(hào)從用戶宏程序送到PMC。變量#1100到#1131用于按位寫信號(hào)#1032#1035把32位信號(hào)從PMC統(tǒng)一輸出到用戶宏程序的變量。只能在-99999999+99999999的范圍內(nèi)輸入#1132#1135把32位信號(hào)統(tǒng)一寫入到用戶宏程序的變量。只能在-99999999+99999999的范圍內(nèi)指定自動(dòng)運(yùn)行控制(#3003)#3003單程序段輔助功能的完成0有效等待1無效等待2有效不等待3無效不等待當(dāng)電源接通時(shí),該變量的值為0。當(dāng)單程序段停止無效時(shí),即使單程序段開關(guān)設(shè)為ON,也

14、不執(zhí)行程序段停止。當(dāng)指定不等待輔助功能(M,S和T功能)完成時(shí),在輔助功能完成之前,程序即執(zhí)行到下一程序段。而且分配完成信號(hào)DEN不輸出。位置信息系統(tǒng)變量變量號(hào)位置信息坐標(biāo)系刀具補(bǔ)償值運(yùn)行時(shí)的讀操作#5001#5003程序段終止工件坐標(biāo)系不包含可能#5021#5023當(dāng)前位置機(jī)床坐標(biāo)系包含不可能#5041#5043當(dāng)前位置工件坐標(biāo)系#5061#5063跳轉(zhuǎn)信息位置可能#5081#5083刀具長(zhǎng)度補(bǔ)償值不可能#5101#5103伺服位置誤差第1位代表軸號(hào)(13);變量#5081#5083存儲(chǔ)的刀具長(zhǎng)度補(bǔ)償值是當(dāng)前的執(zhí)行值,不是后面程序的處理值;在G31(跳轉(zhuǎn)功能)程序段中跳轉(zhuǎn)信號(hào)接通時(shí)的刀具位置

15、儲(chǔ)存在變量#5061到#5064中。當(dāng)G31程序段中的跳轉(zhuǎn)信號(hào)未接通時(shí),這些變量中儲(chǔ)存指定程序段的終點(diǎn)值。移動(dòng)期間不能讀是指由于緩沖(預(yù)讀)功能的原因,不能讀取期望值。G65P9110X-Y-Z-R-F-L-;X:圓心的X坐標(biāo)(絕對(duì)值指定)(#24)Y:圓心的Y坐標(biāo)(絕對(duì)值指定)(#25)Z:孔深(#26)(絕對(duì)值指定);R:趨近點(diǎn)坐標(biāo)(絕對(duì)值指定)(#18)F:切削進(jìn)給速度(#9);L:重復(fù)次數(shù)使用系統(tǒng)變量時(shí)的注意事項(xiàng)含義讀寫變量號(hào)注(未指定禁止緩沖的M代碼或G53程序段時(shí))接口信號(hào)讀#100#1015#1032宏語句讀入緩沖后讀入數(shù)據(jù)寫#1100#1115#1132宏語句讀入緩沖后寫入數(shù)據(jù)刀具補(bǔ)償值寫#10001-宏語句讀入緩沖后寫入數(shù)據(jù)宏報(bào)警寫#3000在宏語句前最多兩個(gè)程序段處產(chǎn)生報(bào)警送出信息的同時(shí)程序停止寫#3006在宏語句前最多兩個(gè)程序段處產(chǎn)生停止時(shí)間信息讀寫#3001,#3002宏語句讀入緩沖后讀寫入數(shù)據(jù)讀#3011,#3012宏語句讀入緩沖后讀入數(shù)據(jù)自動(dòng)運(yùn)行控制寫#3003,#3004在宏語句前最多兩個(gè)程序段處設(shè)定數(shù)據(jù)設(shè)定寫#3005

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論