數車宏程序B及其應用實例16K_第1頁
數車宏程序B及其應用實例16K_第2頁
數車宏程序B及其應用實例16K_第3頁
數車宏程序B及其應用實例16K_第4頁
數車宏程序B及其應用實例16K_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、FANUC 0i Mate-TC系統宏程序B功能實例應用William.YangFANUC 0i Mate-TC系統宏程序B功能序宏程序作為一種數控程序編制指令現在已經被廣大數控機床用戶所認識,尤其是近年來隨著各類數控大賽的不斷開展,宏程序在大賽中的廣泛應用,在數控行業(yè)中掀起了宏程序的熱潮。宏程序根據所用的數控機床的不同略有不同,但大同小異,我們學會了一種機床的宏程序后,再學習其它機床的宏程序就容易了。本文以國際上比較流行的FANUC 0i Mate數控系統為例,介紹一下宏程序的編程。FANUC 0i Mate數控系統中宏程序分為用戶宏程序功能A和用戶宏程序功能B兩類。A類宏程序是采用了G代碼

2、和引數進行賦值來表達各種數學運算和邏輯關系的一種方法,現在這種方法由于編制起來相對復雜,一般只有數控機床上沒有配置用戶宏程序功能B的用戶才使用用戶宏程序功能A。目前大多數用戶都使用用戶宏程序功能B進行編制,所以本書僅以用戶宏程序功能B為重點深入介紹宏程序的相關知識。講座中編寫了近年廣泛應用的一些例子和筆者最近開發(fā) 的零件使用宏程序的復雜例子。以FANUC 0i Mate數控系統數控車床和加工中心為例進行講解,本講座已經作為我學院的宏程序教案進行推廣,同時在我學院進行培訓的高級技師、技師及高級工中進行了講授反映良好,特將本教案作為實例供廣大使用FANUC 0i Mate數控系統的用戶和有興趣研究

3、宏程序的讀者作為參考。一、宏程序的基本概念在一般的程序中,程序字為常量,只能描述固定的幾何形狀,缺乏靈活性和適用性。若能用改變參數的方法使同一主程序能加工形狀(屬性)相同但尺寸(參數)不同的零件,加工就會非常方便,也提高了可靠性。加工不規(guī)則形狀零件時,機床可能要作非圓曲線運動,一般手工編程達不到要求。在進行自動測量時機床要對測量數據進行處理,這些數據屬于變量, 一般程序是不能處理的。針對這種情況,數控機床提供了另一種編程方式,即宏編程。在程序中使用變量,通過對變量進行賦值及處理使程序具有特殊功能,這種有變量的程序叫宏程序。二、宏程序與普通程序的區(qū)別1) 普通程序: 只能使用常量 常量之間不可以

4、運算 程序只能順序執(zhí)行2) 宏程序: 使用變量可賦值 變量之間可以運算 程序執(zhí)行時可以跳轉三、宏程序中變量的使用1) 變量的類型 空變量:#0 功能:空變量總是空,不能賦值。 用戶變量 局部變量:#1#33 (斷電時清除)功能:局部變量只能在本宏程序中存儲數據。公共變量:#100#199 (斷電時清除)#500#999 (斷電時不清除)功能:公共變量在不同的宏程序中的意義相同。 系統變量:#1000以上功能:系統變量用于讀和寫CNC運行時各種數據變化。編程中常用的系統變量,見表1 。表1 刀具補償存貯器C的系統變量補償號X軸Z軸刀尖半徑 R刀尖位置 T磨損幾何磨損幾何磨損幾何1#2001#27

5、01#2101#2801#2201#2901#230149#2049#2749#2149#2849#2249#2949#234964#2064#2164#2264#23642) 變量的賦值 直接賦值 變量可在操作面板 MACRO 內容處直接輸入 , 也可用 MDI 方式賦值 , 也可在程序內用以下方式賦值 , 但等號左邊不能用表達式,# _ = 數值 ( 或表達式 ) 。 如:#1=20; G01 X#1; 自變量賦值宏程序體以子程序方式出現 , 所用的變量可在宏調用時在主程序中賦值。如:G65 P9120 X100.0 Y20.0 F20.0;其中X 、Y 、F 對應于宏程序中的變量號,變量

6、的具體數值由自變量后的數值決定。自變量與宏程序體中變量的對應關系有2種,2種方法可以混用,其中G 、L 、N 、O 、P不能作為自變量為變量賦值。變量賦值方法、見表2 、表3表2 變量賦值方法自變量變量自變量變量自變量變量自變量變量A#1H#11R#18X#24B#2I#4S#19Y#25C#3J#5T#20Z#26D#7K#6U#21E#8M#13V#22F#9Q#17W#23表3 變量賦值方法自變量變量自變量變量自變量變量自變量變量A#1I3#10I6#19I9#28B#2J3#11J6#20J9#29C#3K3#12K6#21K9#30I1#4I4#13I7#22I10#31J1#5J4

7、#14J7#23J10#32K1#6K4#15K7#24K10#33I2#7I5#16I8#25J2#8J5#17J8#26K2#9K5#18K8#27 四、運算指令 宏程序具有賦值、算術運算、邏輯運算等功能 , 見表4表4 變量的各種運算形式意義具體實例定義轉換#i =#j定義、轉換#20=500#102=#10算術運算#i =#j + #k和#5=#10+#102#i =#j - #k差#8=#3+100#i =#j * #k積#120=#1*#24#20=#7*360#i =#j / #k商#104=#8/#7#110=#21/12#i =SIN#j #i =ASIN#j#i =COS#

8、j#i =ACOS#j#i =TAN#j#i =ATAN#j正弦(度)反正弦(度)余弦(度)反余弦(度)正切反正切#10=SIN#5#10=ASIN#16#133=COS#20#10=ACOS#16#30=TAN#21#148=ATAN#1/#2#i =SQRT#j#i =ABS#j#i =ROUND#j#i =FIX#j#i =FUP#j#i =LN#j#i =EXP#j平方根絕對值四舍五入上取整下取整自然對數指數ex#131=SQRT#10#5=ABS#102#112=ROUND#23#115=FIX#109#114=FUP#33#3=LN#100#7=EXP#9邏輯運算#i =#j AN

9、D #k#i =#j OR #k#i =#j XOR #k與或異或#11=#1 AND #18#20=#3 OR #8#12=#5 XOR 25五、控制指令控制指令起到控制程序流向的作用。1)分支語句 ( GOTO )其格式為:IF 條件表達式 GOTO nIF 條件表達式 THEN 表達式若條件表達式為成立則程序轉向段號為 n 的程序段 , 若條件不滿足就繼續(xù)執(zhí)行下一句程序 , 條件式的種類見表5 。表5 條件式種類條件式意義# j EQ # k# j NE # k# j GT # k# j LT # k# j GE # k# j LE # k2)循環(huán)指令格式:WHILE 條件式 DO m

10、(m =1,2,3);END m ;當條件式滿足時,就循環(huán)執(zhí)行WHILE 與END m 之間的程序段,若條件不滿足就執(zhí)行END m; 的下一個程序段。注意:1)同一識別號可以使用多次,但DO m與END m必須成對使用。例 WHILE DO2; END2;WHILE DO2; END2; 2)循環(huán)可以嵌套,但最多嵌套三層。例WHILE DO1; WHILE DO2;WHILE DO3; END3;END2;END1;3)循環(huán)不可以交叉。例 WHILE DO2; WHILE DO3; END2; END3;4)可以從循環(huán)內向循環(huán)外轉移。 例 WHILE DO2; GOTO11; END2; N1

11、1;5)不可以從循環(huán)外向循環(huán)內轉移。 例 GOTO11; WHILE DO2; N11; END2; 6)在循環(huán)內可以調用用戶宏程序或子程序。循環(huán)在用戶宏程序或子程序中嵌套三層。 例 WHILE DO2; WHILE DO2; G65; M98; G66; END2; G67; END2; 六、宏程序的使用方法1) 宏程序使用格式宏程序格式與子程序一樣,結尾用M99返回主程序。O1; 主程序O8000; 宏程序 G65P8000 (自變量賦值); 變量 運算指令 宏程序體 控制指令 M30; M99;2) 選擇程序號 程序在存儲器中的位置決定了該程序一些權限,根據程序的重要程度和使用頻率 ,

12、用戶可選擇合適的程序號(適用于任何程序),具體如表6 所示。表6 程序的存儲區(qū)間O0001O7999 程序能自由存儲、刪除和編輯O8000O8999 不經設定 , 該程序就不能進行存儲、刪除和編輯O9000O9019 用于特殊調用的宏程序O9020O9899 如果有設定參數就不能進行存儲、刪除和編輯O9900O9999 用于機器人操作程序3) 宏程序調用方法 非模態(tài)調用(單純調用):指一次性調用宏主體,即宏程序只在一個程序段內有效,叫非模態(tài)調用。其格式為:G65 P ( 宏程序號 ) L ( 重復次數 ) 自變量賦值 ;一個自變量是一個字母,對應于宏程序中變量的地址,自變量后邊的數值賦給宏程序

13、中與自變量對應的變量。同一語句中可以有多個自變量。 模態(tài)調用:模態(tài)調用功能近似固定循環(huán)的續(xù)效作用,在調用宏程序的語句后,機床在指定的多個位置循環(huán)執(zhí)行宏程序。宏程序工的模態(tài)調用要用G67取消,其格式為: G66 P ( 宏程序號 ) L ( 重復次數 ) 自變量賦值 ; G67; 七、常用數學公式(1)橢圓的標準方程:橢圓的參數方程:(2) 旋轉公式: 八、編程舉例例1、 利用G73和參數方程編程參數方程:O0001;N1G99S500M3T0101;G0X100.0Z100.0;X26.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X0;G1Z0F0

14、.1;#1=1.0; (起始角的每次增量)#2=0.0; (角的起始值)#9=90.0; (角的終止值)#3=10.0; (橢圓的短半軸b,X向)#4=20.0; (橢圓的長半軸a,Z向)WHILE #2 LE #9 DO1; (#2值#9值時,循環(huán)執(zhí)行)#5=2*#3*SIN#2; (X =2*b * sin,X為直徑值)#6=#4*COS#2; (Z= a * cos)G1X#5 Z#6-#4 F0.1; (直線插補,用許多很短直線來擬合橢圓)#2=#2+#1; (角遞增)END1; (循環(huán)結束)G1W-5.0F0.1;N20X26.0;G0X100.0Z100.0;M00;N2G99S6

15、00M3T0101;G0X26.0Z2.0;G70P10Q20F0.1;G0X100.0Z100.0;M5;M30;例2、 利用宏程序調用方法編程參數方程:O0001;N1G99S500M3T0101;G0X100.0Z100.0;X56.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X50.0;G1Z-5.0F0.1;G65P0002;(宏程序調用)G1W-5.0F0.1;N20X56.0;G0X100.0Z100.0;M00;N2G99S600M3T0101;G0X56.0Z2.0;G70P10Q20F0.1;G0X100.0Z100.0;M5;

16、M30;O0002;#1=1.0; (起始角的每次增量)#2=0.0; (角的起始值)#3=10.0; (橢圓的短半軸b,X向)#4=20.0; (橢圓的長半軸a,Z向)WHILE #2 LE 90. DO1;(#2值90時,循環(huán)執(zhí)行)#5=2*#3*SIN#2; (X =2*b * sin,X為直徑值)#6=#4*COS#2; (Z= a * cos)G1X#5 Z#6-#4 F0.1; (直線插補,用許多很短直線來擬合橢圓)#2=#2+#1; (角遞增)END1; (循環(huán)結束)M99; (宏程序調用返回)例3、 利用標準方程編程標準方程:注1: 注2:注1和注2由標準方程推導而來!O000

17、1;N1G99S500M3T0101;G0X100.0Z100.0;X26.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X0.0;G1Z0.0F0.1;G65 P0002 A0 B0.1 C20. 0 I10.0 J10.0;(宏程序調用同時對自變量賦值)G1W-5.0F0.1;N20X26.0;G0X100.0Z100.0;M00;N2G99S600M3T0101;G0X26.0Z2.0;G70P10Q20F0.1;G0X100.0Z100.0;M5;M30;自變量賦值(詳見表2)A0為#1=0.0 (X向的起始值)B0.1為#2=0.1 (X值

18、的每次增量)C20.0為#3=20.0(橢圓的長半軸a,Z向)I10.0為#4=10.0 (橢圓的短半軸b,X向)J10.0為#5=10.0 (X向的終止值,注:#5值要#4值)O0002;WHILE #1 LE #5 DO1; (#1值#5值時,循環(huán)執(zhí)行)#7=1-#1*#1/#4*#4*#3*#3; (見注1)#9=SQRT#7; (z值)(見注2)G1X2*#1 Z#9-#3 F0.1; (直線插補,用許多很短直線來擬合橢圓)#1=#1+#2; (X值遞增)END1; (循環(huán)結束)M99; 例4、數車橢圓旋轉O0001;(以a為旋轉半徑,以橢圓的圓心為原點,旋轉角。)G99 M3 S80

19、0 T0101;G0 X100. Z100.;G0 X62. Z5.;#1=0; (x初值)#2=10; (x終值)#11=0.05; (步距)#3=20; (橢圓的長半軸a)#4=10; (橢圓的短半軸b)#12=45; (旋轉角)#15=0; (橢圓的圓心在x方向上的位置)WHILE#1 LE #2 DO1; (#1值#2值時,循環(huán)執(zhí)行)#6= #1; (x值) #9=#3*#3*1-#6*#6/#4*#4; (見注1)#5=SQRT#9; (z值)(見注2)#7= #5*COS#12-#6*SIN#12; (z向旋轉)#8= #5*SIN#12+#6*COS#12; (x向旋轉)G1 X#15+2*#8 Z#7-#3 F0.1; (直線插補,用許多很短直線來擬合橢圓)#1= #1+#11; (X值遞增)END1; (循環(huán)結束)G0 X100. Z100.;M30;

溫馨提示

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

評論

0/150

提交評論