發(fā)那科用戶宏程序資料
《發(fā)那科用戶宏程序資料》由會員分享,可在線閱讀,更多相關《發(fā)那科用戶宏程序資料(75頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1 用戶宏程序 雖然子程序?qū)幹葡嗤庸げ僮鞯某绦蚍浅S杏茫脩艉瓿绦蛴捎谠试S使用變量、算術和邏輯運算及條件轉(zhuǎn)移,使得編制相同加工操作的程序更方便,更容易??蓪⑾嗤庸げ僮骶帪橥ㄓ贸绦?,如型腔加工宏程序和固定加工循環(huán)宏程序。使用時,加工程序可用一條簡單指令調(diào)出用戶宏程序,和調(diào)用子程序完全一樣。 2(最多999次) 3 4 5 一、變量1、變量 使用用戶宏程序時,數(shù)值可以直接指定或用變量指定。當用變量時,變量值可用程序或用MDI面板上的操作改變。 #1=#2+100; G01 X#1 F300;2、變量的表示 計算機允許使用變量名,用戶宏程序不行。變量用變量符號(#)和后面的變量號指定。 表達
2、式可以用于指定變量號。此時,表達式必須封閉在括號中。 例如: #1 #1+#2-12 6 3、變量的類型 7 4、變量值得范圍 局部變量和公共變量可以有0值或下面范圍中的值: 1047至1029 或 1029至1047 5、變量的引用 為在程序中使用變量值,指定后跟變量號的地址。當用表達式指定變量時,把表達式放在括號中。 例如:G01 X#1 F#2+#3 8 被引用變量的值根據(jù)地址的最小設定單位自動地舍入。 例如: G00 X#1, 以11000mm的單位執(zhí)行時,CNC把12.3456賦值給變量#1,實際指令值為G00 X12.346;。 改變引用變量的值的符號,要把負號(一)放在#的前面。
3、 例如:G00 X#1; 當引用未定義的變量時,變量及地址字都被忽略。 例如: 當變量#1的值是0,并且變量#2的值是空時,G00X#1Y#2的執(zhí)行結(jié)果為: G00X0; 9 6、未定義的變量 變量值未定義時,這樣的變量成為“空”變量。變量#0總是空變量。它不能寫,只能讀。(1)引用 10 (2)運算 11 (3)條件表達式 12 7、限制 程序號、順序號和程序跳轉(zhuǎn)號不能使用變量 例如:O#1; N#2G00X100.0 /#3Y200.0 13 二、系統(tǒng)變量1、刀具補償值 14 2、時間信息 15 3、自動運行控制 可以改變自動運行的控制狀態(tài) 16 當電源接通時,該變量的值為0。當單程序段停
4、止無效時,即使單程序段開關設為ON,也不執(zhí)行單程序段停止。當不指定等待輔助功能(M,S和T功能)完成時,在輔助功能完成之前,程序執(zhí)行到下列程序段。而且分配完成信號DEN不輸出。 17 18 當電源接通時,該變量的值為0。當進給暫停無效時:(1)當進給暫停按鈕被按下時,機床在單段停止方式停止。但是。當用變量#3003使單程序段方式無效時,單程序段停止不執(zhí)行。(2)當進給暫停按鈕壓下又松開時,進給暫停燈亮,但是,機床不停止;程序繼續(xù)執(zhí)行,并且機床停在進給暫停有效的第一個程序段。當進給速度倍率無效時,總是100的倍率,而不管機床操作面板上的進給速度倍率開關的設置。 當準確停止檢測無效時,即使那些不執(zhí)
5、行切削的程序段也不進行準確停止檢測(位置檢測)。 19 攻絲循環(huán)中使用變量3004的例子N5 N7 20 4、已加工的零件數(shù) 21 5、當前位置(只讀) 22 圖中第1位代表軸號(從1到4)。變量#5081#5084存儲的刀具長度偏置值是當前的執(zhí)行值,不是后面的程序段的處理值。在G31(跳轉(zhuǎn)功能)程序段中跳轉(zhuǎn)信號接通時的刀具位置貯存在變量#5061到#5068中。當G31程序段中的跳轉(zhuǎn)信號不接通時,這些變量中貯存指定程序段的終點值。 移動期間不能讀是指由于緩沖(預讀)功能的原因,不能讀期望值. 23 6、工件坐標系補償值(工件零點偏移值) 24 25 三、算術和邏輯運算 下列的運算可以在變量中
6、執(zhí)行。運算符右邊的表達式可包含常量和或由函數(shù)或運算符組成的變量。表達式中的變量#j和#k可以用常數(shù)賦值。左邊的變量也可以用表達式賦值。1、(定義)賦值: #i=#j;2、加法: #i=#j+#k3、減法: #i=#j-#k4、乘法: #i=#j*#k5、除法: #i=#j/#k 26 6、正弦: #i=SIN#j ;7、反正弦: #i=ASIN#j;8、余弦: #i=COS#j; 角度以度指定9、反余弦: #i=ACOS#j; 9030表示為10、正切: #i=TAN#j; 90.5度11、反正切: #i=ATAN#j/#K;12、平方根: #i=SQRT#j;13、絕對值: #i=ABS#j
7、;14、舍入: #i=ROUND#j;15、上取整: #i= FUP#j ;16、下取整: #i= FIX#j ;17、自然對數(shù): #i=LN#j; y=lnx18、指數(shù)函數(shù): #i=EXP#j; y=e x 27 19、或: #i=#j OR #k ; 20、異或: #i=#j XOR #k ; 按位執(zhí)行21、與: #i=#j AND #k ;22、從BCD轉(zhuǎn)為BIN #i=BIN#j ;23、從BIN轉(zhuǎn)為BCD #i=BCD#j ;注:ARCSIN #i=ASIN#j 取值范圍 當No.6004.0=0時 :27090 No.6004.0=1時 :-9090ARCCOS #I=ACOS#j
8、 取值范圍 1800 28/2 0-/21-1 3/2/2 0-1 1 1-1 0 /2 29 ARCTAN #i=ATAN#j/#K; 取值范圍 當No.6004.0=0時 :0360 No.6004.0=1時 :-1801803/2/220 /2-/2 -0 第一象限第二象限第四象限第一象限第二象限第三象限第三象限第四象限0- 002 30 ROUND函數(shù)在邏輯運算指令IF、WHILE中,ROUND函數(shù)在第一個小數(shù)位四舍五入。 例如 #2=1.2345; #1=ROUND#2; 變量1的值是1.0在NC語句地址中,ROUND函數(shù)根據(jù)地值得最小設定單位指定四舍五入。 例如 #1=1.2345
9、; #2=2.3456; G00 G91 X-#1; G01 X-#2 F300; G00 X#1+#2; 1.2345+2.3456=3.5801=3.580不返回到初始位置或 G00 X-ROUND#1+ROUND#2 1.235+2.346=3.581 刀具返回到初始位置 31 上取整和下取整CNC處理數(shù)值運算時,若操作后產(chǎn)生的整數(shù)絕對值大于原數(shù)的絕對值時為上取整, 小于原數(shù)的絕對值時為下取整。 設:#1=1.2, #2=-1.2 #3=FUP#1; 則2.0賦給#3 #3=FIX#1; 則1.0賦給#3 #3=FUP#2; 則-2.0賦給#3 #3=FIX#2; 則-1.0賦給#3 3
10、2 運算次序 函數(shù)乘、除(*、/、AND)加、減(+、-、OR、XOR)括號嵌套(方括號,圓括號用于說明) 括號用于改變運算次序,可以使用5級。 33 四、宏程序語句和NC下面的程序段為宏程序語句:包含算術或邏輯運算()的程序段。包含控制語句(例如,GOTO,DO,END)的程序段。包含宏程序調(diào)用指令(例如,用G65,G66,G67或其它G代碼,M代碼調(diào)用宏程序)的程序段。 除了宏程序語句以外的任何程序段都為 NC語句。 34 說明 與NC語句的不同 即使置于單程序段運行方式,機床也不停止。但是,當參數(shù)No.6000.5SBM設定為1時,在單程序段方式中,機床停止。 在刀具半徑補償方式中宏程序
11、語句段不做為不移動程序段處理。 35 與宏程序語句有相同性質(zhì)的NC語句 含有子程序調(diào)用指令(例如,用M98或其它M代碼或用T代碼調(diào)用子程序) 句 不包含O.N.P或L以外的指令地址的程序段其性質(zhì)與宏程序語句相同。 36 五、轉(zhuǎn)移和循環(huán) 使用GOTO語句和IF語句可以改變控制的流向。有三中轉(zhuǎn)移和循環(huán)可供使用。 GOTO無條件轉(zhuǎn)移 IF條件轉(zhuǎn)移 WHILE當型循環(huán)1、無條件轉(zhuǎn)移 GOTO n; n為順序 例如:GOTO 1; GOTO #10; 37 2、條件轉(zhuǎn)移 IF GOTO n 例如: IF #1 GT 10 GOTO 2 程序 N2 G00 G91 X10.0 IF THEN 例如: IF
12、 #1 EQ #2 THEN #3=0 運算符: EQ 等于(=) NE 不等于 () GT 大于() GE 大于等于() LT 小于() LE 小于等于() 條件不滿足條件滿足 38 例:求110的總和。 O9000; #1=0; #2=1; N1 IF#2 GT 10 GOTO 2; #1=#1+#2; #2=#2+1; GOTO 1; N2 M30; 39 3、循環(huán) WHILE DO m; 程序 ; END m; 程序;說明: m=1,2,3,可以多次使用。 最多嵌套三層。 省略WHILE,則產(chǎn)生從DO 到END的 無限循環(huán)。 WHILE比GOTO 處理快。條件滿足條件不滿足 40 標號
13、可以多次使用:WHILE DO 1; 程序;END1; WHILE DO 1; 程序;END1;可以嵌套3層:WHILE DO 1; WHILE DO 2; WHILE DO 3; 程序; END3; END2; END1;可以跳到循環(huán)外邊:WHILE DO 1; IF GOTO n;END1; N1 41 DO的范圍不能交叉:WHILE DO 1; 程序;WHILE DO 2; END1; 程序;END2;轉(zhuǎn)移不能進入循環(huán)區(qū):IF GOTO n; WHILE DO 1;N1;END1; 42 六、宏程序調(diào)用宏程序調(diào)用方法: 非模態(tài)調(diào)用(G65) 模態(tài)調(diào)用(G66、G67) 用G代碼調(diào)用宏程序
14、 用M代碼調(diào)用宏程序 用M代碼調(diào)用子程序 用T代碼調(diào)用子程序 43 1、非模態(tài)調(diào)用(G65) 格式: G65 Pp Ll 其中: p:要調(diào)用的程序號 l: 重復次數(shù)(默認值為1) 自變量:數(shù)據(jù)傳遞到宏程序,其值被賦值到相應的局部變量,有兩種指定形式。 44 地址變量號 地址變量號 地址變量號ABCDEFH #1#2#3#7#8#9#10 IJKMQRS #4#5#6#13#17#18#19 TUVWXYZ #20#21#22#23#24#25#26自變量指定注:每個字母只指定一次,可以不按順序,但I、J、K需 按順序指定。 45 地址變量號 地址變量號 地址變量號ABCI1J1K1I2J2K2
15、I3J3 #1#2#3#4#5#6#7#8#9#10#11 K3I4J4K4I5J5K5I6J6K6I7 #12#13#14#15#16#17#18#19#20#21#22 J7K7I8J8K8I9J9K9I10J10K10 #23#24#25#26#27#28#29#30#31#32#33自變量指定 46 自變量指定、混合。CNC內(nèi)部能夠自動識別自變量指定、,后指定的有效。 例如: G65 A1.0 B2.0 I-3.0 I4.0 D5.0 P1000; 則 #1=1.0 #2=2.0 #3 #4=-3.0 #5= #6 #7=4.0 #7=5.0 47 調(diào)用嵌套和局部變量的級別:可以嵌套4
16、級。主程序局部變量 (0級) 1 #1#33(1級) 2 #1#33(2級) 3 #1#33(3級) 4 #1#33(4級) 5 #1#33O001;#1=1;G65 P2 A2;M30; O002;#1=2;G65 P3 A3;M99; O003;#1=3;G65 P4 A4;M99; O004;#1=4;G65 P5 A5;M99; O005;#1=5;M99;(0級)宏程序(1級)宏程序(2級)宏程序(31級)宏程序(4級) 48 例:如圖所示,編制一個宏程序加工圓上的孔,孔深為Z。圓周的半徑為I,起始角為A,間隔為B,鉆孔數(shù)為H,圓的中心是(X ,Y)。(X,Y) 1000 BBBB5
17、0Y X 49 調(diào)用格式: G65 P9100 Xx Yy Zz Rr Ii Aa Bb Hh;X:圓心的X坐標 (#24)Y:圓心的Y坐標 (#25)Z:孔深(#26)R:快速趨近點坐標(#18)F:切削進給速度(#9)I: 圓半徑(#4)A:第一孔的角度(#1)B:增量角(指定負值時為顧時針)(#2)H:孔數(shù)(#11) 50 主程序:O002;G90 G92 X0 Y0 Z100;G65 P9100 X100 Y50 R30 Z-50 F500 I100 A0 B45 H5;M30; 51 宏程序 : O9100; #3=#4003;儲存03組G代碼 G81Z#26R#18F#9K0;鉆孔
18、循環(huán),也可以使用L0 IF#3 EQ 90 GOTO1;在G90方式轉(zhuǎn)移到N1 #24=#5001+#24;計算圓心的X坐標 #25=#5002+#25;計算圓心的Y坐標 N1 WHILE#11 GT 0 DO1;直到剩余孔數(shù)為0 #5=#24+#4COS#1;計算X軸上的孔位 #6=#25+#4SIN#1;計算Y軸上的孔位 G90 X#5 Y#6;移動到目標位置之后執(zhí)行鉆孔 #1=#1+#2;更新角度 #11=#11-1;孔數(shù)-1 END1; G#3 G80;返回原始狀態(tài)的G代碼 M99; 52 2、模態(tài)調(diào)用(G66)格式: G66 Pp Ll 其中: p:要調(diào)用的程序號 l: 重復次數(shù)(默
19、認值為1) 自變量:數(shù)據(jù)傳遞到宏程序 G67取消模態(tài)調(diào)用。注:嵌套可以4級; 在G66程序段中,不能調(diào)用多個宏程序 在只有輔助功能無移動指令的程序段中不能調(diào)用宏程序; 局部變量只能在G66程序段中指定,每次執(zhí)行模態(tài)調(diào)用時,不再指定局部變量。 53 O0001;G66P9100 L2 A1.0 B2.0;G00 G90 X100.0;Y200.0X150 Y300;G67;M30; O9100;G00 Z-#1;G01 Z-#2 F300;M99; 54 例:用宏程序編制G81固定循環(huán)的操作第1步第2步第3步第4步Z=0R點ZR初始平面I點 55 G65 P9110 Xx Yy Zz Rr Ff
20、 L1X: 孔的X坐標(由絕對值指定)(#24)Y: 孔的Y坐標(由絕對值指定)(#25)Z:Z點坐標(由絕對值指定)(#26)R: R點坐標(由絕對值指定)(#18)F: 切削進給速度 (#9)L: 重復次數(shù) 56 主程序:O001;G92 X0 Y0 Z50;G00 G90 X100 Y50;G66 P9110 Z-20 R1 F500;G90 X20 Y20;X50 ;Y50;X0 Y80;G67;M30; 57 宏程序:O9110;#1=#4001;儲存G00/G01#2=#4003;儲存G90/G91#3=#4019;儲存切削進給速度#5=#5003;儲存鉆孔開始的Z坐標G00 G9
21、0 Z#18; 定位在R點G01 Z#26 F#9; 切削進給到Z點IF4010 EQ 98 GOTO 1; 返回到I點G00 #18; 定位在R點GOTO 2;N1 G00 Z#5; 定位在I點N2 G#1 G#2 G#3; 恢復模態(tài)信息。M99; 58 3、用G代碼調(diào)用宏程序 在參數(shù)(No.6050 到 No.6059)中設置調(diào)用用戶宏程序(O9010 到 O9019)的G代碼號(從1到 9999),調(diào)用方法同G65. 注:不能嵌套! 59 程序號參數(shù)號O 9010O 9011O 9012O 9013O 9014O 9015O 9016O 9017O 9018O 9019 60506051
22、60526053605460556056605760586059參數(shù)號和程序號之間的對應關系: 60 O0001;G81 X10 Y20 Z-10M30; O9010;M99;參數(shù)No.6050=81 61 4、用M代碼調(diào)用宏程序 在參數(shù)(No.6080 到 No.6089)中設置調(diào)用用戶宏程序(O9021 到 O9029)的M代碼號(從1到 9999),調(diào)用方法同G65. 注:不能嵌套! 62 程序號參數(shù)號O 9020O 9021O 9022O 9023O 9024O 9025O 9026O 9027O 9028O 9029 608060816082608360846085608660876
23、0886089參數(shù)號和程序號之間的對應關系: 63 O0001;G50 A1 B2;M30; O9020;M99;參數(shù)No.6080=50 64 5、用M代碼調(diào)用子程序 在參數(shù)(No.6071 到 No.6079)中設置調(diào)用用戶宏程序(O9001 到 O9009)的M代碼號(從1到 9999),調(diào)用方法同M98. 65 程序號參數(shù)號O 9001O 9002O 9003O 9004O 9005O 9006O 9007O 9008O 9009 607160726073607460756076607760786079參數(shù)號和程序號之間的對應關系: 66 O0001;M03;M30; O9001;M9
24、9;參數(shù)No.6071=03 67 6、用T代碼調(diào)用子程序 設置參數(shù)No.6001的第5位TCS=1,當加工程序中指定T代碼,可以調(diào)用宏程序O9000。在加工程序中指定的T代碼賦值到公共變量#149中。 68 O0001;T23;M30; O9000;M99;參數(shù)No.6001的5位=1#149=23 69 70 使用以下保持型變量:# 502:半徑r;# 503:起始角度 ;# 504:孔數(shù)n,當n時,按逆時針方向加工,當n時,按順時針方向加工;# 505:孔底Z坐標值;# 506:平面坐標值;# 507:進給量。 71 使用以下變量進行操作運算:# 100:表示第i步鉆孔的記數(shù)器;# 10
25、1:記數(shù)器的最終值(為n的絕對值)# 102:第i個孔的角度位置的值;# 103:第i個孔的X坐標值;# 104:第i個孔的Y坐標值; 72 O9010N110 G65 H01 P#100 Q0 N120 G65 H22 P#101 Q# 504 N130 G65 H04 P#102 Q#100 R360 N140 G65 H05 P#102 Q#102 R#504 N150 G65 H02 P#102 Q#503 R#102 N160 G65 H32 P#102 Q#502 R#102 N170 G65 H31 P#104 Q#502 R#102 N180 G90 G00 X#103 Y#1
26、04 )N190 G00 Z#506 N200 G01 Z#505 F#507 N210 G00 Z#506 N220 G65 H02 P#100 Q#100 R1 N230 G65 H84 P130 Q#100 R#101 N240 M99 73O0010N10 G54 G90 G00 X0 Y0 Z20 / 進入加工坐標系N20 M98 P9010 / 調(diào)用鉆孔子程序,加工圓周等分孔N30 Z20 / 抬刀N40 G00 G90 X0 Y0 / 返回加工坐標系零點N50 M30 / 程序結(jié)束 74 首先在MDI方式中, 設定以下變量的值:#502:半徑r為50;#503:起始角度=30;#
27、504:孔數(shù)n為8;#505:孔底Z坐標值為20;#506:R平面Z坐標值為5;#507:F進給量為50。 75 O6000N6010 #30=#101 / 基準點保存N6020 #31=#102 / 基準點保存N6030 #32=1 / 計數(shù)值置1N6040 WHILE#32 LE ABS#11 DO1 / 進入孔加工循環(huán)體N6050 #33=#1+360*#32-1/#1 / 計算第孔的角度N6060 #101=#30+#18*COS#33 / 計算第孔的X坐標值N6070 #102=#31+#18*SIN#33 / 計算第孔的Y坐標值N6080 G90 G81 G98 X#101 Y#102 Z#26 R#3 F#9 / 鉆削第孔N6090 #32=#32+1 / 計數(shù)器對孔序號計數(shù)累加N6100 #100=#100+1 / 計算已加工孔數(shù)N6110 END 1 / 孔加工循環(huán)體結(jié)束N6120 #101=#30 / 返回X坐標初值X0N6130 #102=#31 / 返回Y坐標初值Y0 M99 / 宏程序結(jié)束
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術比武題庫含解析
- 1 礦山應急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復習題含答案
- 1 各種煤礦安全考試試題含答案