1、 系统变量:#1000以上系统变量用于读和写CNC运行时各种数据变化。编程中常用的系统变量,见表1 。表1 刀具补偿存贮器C的系统变量补偿号X轴Z轴刀尖半径 R刀尖位置 T磨损几何1#2001#2701#2101#2801#2201#2901#230149#2049#2749#2149#2849#2249#2949#234964#2064#2164#2264#23642) 变量的赋值 直接赋值 变量可在操作面板 MACRO 内容处直接输入 , 也可用 MDI 方式赋值 , 也可在程序内用以下方式赋值 , 但等号左边不能用表达式,# _ = 数值 ( 或表达式 ) 。 如:#1=20; G01
2、X#1; 自变量赋值宏程序体以子程序方式出现 , 所用的变量可在宏调用时在主程序中赋值。如: G65 P9120 X100.0 Y20.0 F20.0;其中X 、Y 、F 对应于宏程序中的变量号,变量的具体数值由自变量后的数值决定。自变量与宏程序体中变量的对应关系有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 变量赋值方法I3#10I6I9#28J3J
3、6J9#29K3#12K6K9#30I1I4I7I10#31J1J4#14J7J10#32K1K4#15K7K10#33I2I5#16I8J2J5J8K2K5K8#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
4、 =COS#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 =#
5、j AND #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 的程序段 , 若条件不满足就继续执行下一句 程序 , 条件式的种类见表5 。表5 条件式种类条件式# j EQ # k# j NE # k# j GT # k# j LT # k# j GE # k# j LE # k2)循环指令格式: WHILE 条件
6、式 DO m (m =1,2,3);END m ;当条件式满足时,就循环执行WHILE 与END m 之间的程序段,若条件不满足就执行END m; 的下一个程序段。注意:1)同一识别号可以使用多次,但DO m与END m必须成对使用。例 WHILE DO2; END2;WHILE DO2;END2;2)循环可以嵌套,但最多嵌套三层。WHILE DO1;WHILE DO3; END3;END1;3)循环不可以交叉。例 END3;4)可以从循环内向循环外转移。 例 GOTO11;N11;5)不可以从循环外向循环内转移。6)在循环内可以调用用户宏程序或子程序。循环在用户宏程序或子程序中嵌套三层。 G
7、65; M98; G66;G67;六、宏程序的使用方法1) 宏程序使用格式宏程序格式与子程序一样,结尾用M99返回主程序。O1; 主程序 O8000; 宏程序 G65P8000 (自变量赋值); 变量 运算指令 宏程序体 控制指令 M30; M99;2) 选择程序号 程序在存储器中的位置决定了该程序一些权限,根据程序的重要程度和使用频率 , 用户可选择合适的程序号(适用于任何程序),具体如表6 所示。表6 程序的存储区间O0001O7999 程序能自由存储、删除和编辑O8000O8999 不经设定 , 该程序就不能进行存储、删除和编辑O9000O9019 用于特殊调用的宏程序O9020O989
8、9 如果有设定参数就不能进行存储、删除和编辑O9900O9999 用于机器人操作程序3) 宏程序调用方法 非模态调用(单纯调用):指一次性调用宏主体,即宏程序只在一个程序段内有效,叫非模态调用。其格式为:G65 P ( 宏程序号 ) L ( 重复次数 ) 自变量赋值 ;一个自变量是一个字母,对应于宏程序中变量的地址,自变量后边的数值赋给宏程序中与自变量对应的变量。同一语句中可以有多个自变量。 模态调用:模态调用功能近似固定循环的续效作用,在调用宏程序的语句后,机床在指定的多个位置循环执行宏程序。宏程序工的模态调用要用G67取消,其格式为:G66 P ( 宏程序号 ) L ( 重复次数 ) 自变
9、量赋值 ; G67;七、常用数学公式(1)椭圆的标准方程:椭圆的参数方程:(2) 旋转公式:八、编程举例例1、 利用G73和参数方程编程参数方程:O0001;N1G99S500M3T0101;G0X100.0Z100.0;X26.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X0;G1Z0F0.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值时,循环执行)#5=
10、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; (角递增) (循环结束)G1W-5.0F0.1;N20X26.0;M00;N2G99S600M3T0101;G0X26.0Z2.0;G70P10Q20F0.1;M5;M30;例2、 利用宏程序调用方法编程X56.0Z2.0;N10G0X50.0;G1Z-5.0F0.1;G65P0002;(宏程序调用)N20X56.0;G0X56.0Z2.0;O0002;WHILE #2 LE 90. D
11、O1;(#2值90时,循环执行)M99; (宏程序调用返回)例3、 利用标准方程编程标准方程:注1: 注2:注1和注2由标准方程推导而来!N10G0X0.0;G1Z0.0F0.1;G65 P0002 A0 B0.1 C20. 0 I10.0 J10.0;(宏程序调用同时对自变量赋值)自变量赋值(详见表2)A0为#1=0.0 (X向的起始值)B0.1为#2=0.1 (X值的每次增量)C20.0为#3=20.0(椭圆的长半轴a,Z向)I10.0为#4=10.0 (椭圆的短半轴b,X向)J10.0为#5=10.0 (X向的终止值,注:#5值要#4值)WHILE #1 LE #5 DO1; (#1值#
12、5值时,循环执行)#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值递增)例4、数车椭圆旋转(以a为旋转半径,以椭圆的圆心为原点,旋转角。)G99 M3 S800 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值#
13、2值时,循环执行)#6= #1; (x值) #9=#3*#3*1-#6*#6/#4*#4;#5=SQRT#9;#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;未旋转 旋转角,图中虚线为未旋转G0 X100. Z100.0;G0 X62. Z5.0;#1= -10;#2=0;#12=30;#15=45; (x值)九、结束语本文中的程序都经过FANUC 0i Mate系统数控机床的验证。宏程序是程序编制的高级形式,程序编制的质量与编程人员的素质息息相关,宏程序里应用了大量的编程技巧,如数学模型的建立、数学关系的表达、加工刀具的选择、走刀方式的取舍等,使得宏程序的精度很高。特别是对于中等难度的零件,使用宏程序进行编程加工要比自动编程加工快,可以简化我们的编程。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1