FANUC0I宏程序实例
- 格式:doc
- 大小:761.00 KB
- 文档页数:5
FANUC 0I数控车床的宏程序编制摘要:用户宏程序是提高数控车床性能的一种特殊功能,它是使用变量来代替程序中的功能代码或地址值面编制的加工程序。
这些变量可同因数一样进行逻辑运算,因而可以使复杂的程序大大简化。
关键词:宏程序、宏指令、非圆二次曲线、变量Macro Programming of CNC Lathe with FANUC oi SystemAbetract: User macro programs are special functions to improve the performance of CNC lathe which replaces the functional codes or addresses with variables. These variables can do logical operations like the factors so that they can simplify the complex programs effectively. Keywords:macro program,macroinstruction,non-circular quadratic curves,variable0、引言随着我国机械行业的飞速发展,数控加工技术在机械制造业中得到了越来越广泛的运用,很多企业都引进了数控机床设备。
用户在使用数控机床设备加工工件时,只需按照各种数控编程指令的格式编程即可。
通用的数控系统在处理插补和伺服时都是采用边插补边控制伺服的方式。
由于非圆曲线形状较为复杂,在插补时需要处理的数据量大,同时响应速度的要求较高,因此,一般的数控系统只有直线插补和圆弧插补两种插补功能,并不具备其它曲线的插补功能。
在传统的CNC编程时有时这些指令满足不了用户的要求,入加工椭圆、抛物线、双曲线等,这时就可使用用户宏程序功能,用户可以根据需要自己扩展数控系统的功能。
FANUC-0i-MC 系统宏程序虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。
(一)变量 1.变量的表示变量用变量符号(#)和后面的变量号指定,如:#1;表达式可以用于指定变量号,此时表达式必须封闭在括号中,如:#[#1+#2-12]。
变量号可用变量代替,如#[#3],设#3=1,则#[#3]为#1。
2.变量的类型变量根据变量号可以分成四种类型,具体见表1-1。
表1-1 变量的类型在地址后指定变量号即可引用其变量值。
当用表达式指定变量时,要把表达式放在括号中。
如:G01 X[#1+#2] F#3;改变引用变量值的符号,要把负号“-”放在#的前面,如:G00 X -#1;当引用未定义的变量时,变量及地址字都被忽略,如:当变量#1的值是0,并且变量#2的值是空时,G00 X#1 Y#2的执行结果为G00 X0。
在编程时,变量的定义、变量的运算只允许每行写一个(见表1-2),否则系统报警。
表1-2 变量的正确和错误编程方法对比变量的算术和逻辑运算见表1-3。
表1-3 算术和逻辑运算1.上取整和下取整CNC 处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整;若小于原数的绝对值为下取整。
对于负数的处理应注意。
如:#1=1.2,#2=-1.2,则#3=FUP[#1]→#3=2;#3=FIX[#1]→#3=1;#3=FUP[#2]→#3=-2;#3=FIX[#2]→#3=-1。
2.运算次序函数→乘和除运算(*、/、AND )→加和减运算(+、-、OR 、XOR )。
3.括号嵌套括号(方括号)用于改变运算次序。
括号可以使用5级,包括函数内部使用的括号。
圆括号用于注释语句。
如:#1=SIN[[[#2+#3]*#4+#5]*#6] (3重括号) 4.运算符运算符见表1-4。
表1-4 运算符5.(1)# i=ASIN[# j]当参数No.6004#0设为“0”时,90°~270°;当参数No.6004#0设为“1”时,-90°~90°。
FANUC 0I PMC 编程实例FANUC PMC程序结构1、第一级程序结构(包括急停、硬件超程)急停信号的处理急停:*ESP(x1008#4,G008#4)类型:输入信号功能:输出急停信号,使机床动作立即停止。
作用:急停信号*ESP变为“0”时,CNC被复位处于急停状态,这一信号有按钮类触点控制。
急停信号使伺服准备信号(SA)变为“0”。
梯形图:超程信号的处理信号地址:超程信号*+L1~*+L4(G114)*-L1~*-L4(G116)类型:输入信号功能:表明控制轴行程已达到极限,每个控制轴每个方向都具有该信号,信号名的+/-表明方向,数字与控制轴相对应。
作用:自动操作时,即使只有一个信号变为“0”时,所有的轴都减速停止,产生报警且运动中断。
手动操作时,仅移动的轴减速停止,停止后的轴可向反方向移动。
一但轴超程信号变为“0”,其移动方向被封存,即使信号变为“1”,报警清除前,该轴也不能沿该方向运动。
超程信号(OTH)还可以用参数(3064#5)来决定它是否起作用梯形图:在顺序程序中必须给出一次急停、超程梯形图,可在第一级程序末尾,或当没有第一级程序时,排在第二级程序开头。
第二级程序包括:准备、模式选择、JOG、HNDL、REF、EDIT、MEMORY、MFNC、SFNC、TFNC、OTHER。
一、准备信号处理开机脉冲、CNC就绪信号、伺服就绪信号、复位信号、报警信号1、开机脉冲指令:2、CNC就绪信号[MA(F001#7)]类别:输出信号功能:CNC就绪信号,表明CNC已经就绪。
作用:CNC就绪后,该信号设为1。
通常通电后数秒钟内置为1。
如果系统出现报警,信号为0。
执行急停或类似操作时,该信号保持为1。
信号地址:梯形图:3、伺服就绪信号[SA(F000#6)]类别:输出信号功能:伺服系统就绪后,SA信号变为1。
作用:对于带制动器的轴,输出此信号时解除制动,不输出此信号时,表示制动。
信号地址:梯形图:4、复位信号(F1.1:RST)在下列情况下,CNC被复位且进入复位状态。
宏程序设计宏程序与子程序类似,对编制相同加工的操作可以使程序简化.同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。
使相同加工操作的程序更方便,更灵活。
本章以FANUC系统为例介绍宏程序设计的内容。
12.1 变量的定义宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。
变量可分为四种类型。
1. 空变量#0为空变量,该变量不能赋值。
2. 局部变量#1~#33为局部变量,局部变量只能在宏程序中存储数据。
当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。
局部变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
3. 公共变量#100~#199、#500~#999为公共变量,公共变量在不同的宏程序中意义相同。
当断电时,变量#100~#199被初始化为空,变量#500~#999的数据不会丢失。
全局变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
4. 系统变量#1000~为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值等。
5. 变量与地址(自变量)的对应关系系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。
表12-2为自变量指宾II的自变量与变量的对应关系。
表12-1 自变量指定I的变量对应关系地址(自变量)变量号地址(自变量)变量号地址(自变量)变量号A #1 I #4 T #20B #2 J #5 U #21C #3 K #6 V #22D #7 M #13 W #23E #8 Q #17 X #24F #9 R #18 Y #25H #11 S #19 Z #26在自变量指定I中,G、L、O、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。
法兰克Fanuc系统编程用户宏程序教程一、认识法兰克Fanuc系统法兰克Fanuc系统是数控机床领域中广泛应用的一种控制系统,其强大的编程功能为用户提供了极大的便利。
在本教程中,我们将重点介绍用户宏程序的编写与应用,帮助您更好地掌握法兰克Fanuc系统的编程技巧。
二、宏程序基础知识1. 宏程序概念宏程序是一种简化编程过程的方法,它允许用户将复杂的操作步骤封装成一个程序,以便在后续编程中重复调用。
通过使用宏程序,可以大大提高编程效率。
2. 宏程序分类法兰克Fanuc系统中的宏程序分为两类:系统宏程序和用户宏程序。
本教程主要针对用户宏程序进行讲解。
3. 宏程序编写原则(1)简洁明了:尽量使宏程序结构清晰,便于阅读和维护。
(2)通用性强:编写宏程序时,要考虑其在不同场景下的适用性。
(3)易于扩展:预留接口,方便后期对宏程序进行功能扩展。
三、用户宏程序编写步骤1. 确定宏程序功能在编写宏程序之前,要明确宏程序需要实现的功能。
例如,可以实现一个用于加工圆形轮廓的宏程序。
2. 设计宏程序结构(1)宏程序参数:定义输入输出参数,以便在不同场景下调用。
(2)宏程序主体:实现宏程序功能的代码部分。
(3)宏程序调用:在其他程序中调用宏程序。
3. 编写宏程序代码(1)宏程序参数定义:100 = 圆心X坐标101 = 圆心Y坐标102 = 半径103 = 起始角度104 = 终止角度(2)宏程序主体:200 = 100 + 102 COS[103]201 = 101 + 102 SIN[103]G01 X[200] Y[201]IF [103 LT 104] THEN103 = 103 + 1GOTO 100ENDIF(3)宏程序调用:G65 P1000 A100 B101 C102 D103 E104法兰克Fanuc系统编程用户宏程序教程五、实战演练:编写一个钻孔宏程序在这一部分,我们将通过一个具体的实例,来实践如何编写一个用于钻孔的宏程序。
利用宏程序切圆台与斜方台铣床编程实例一:切圆台与斜方台,各自加工 3个循环,要求倾斜10度的斜主台与圆台相切,圆台在方台之上,如图所示。
程序说明O8101#10=10.0;圆台阶高度#11=10.0;方台阶高度#12=124.0;圆外定点的X坐标值#13=124.0;圆外定点的Y坐标值#701=13.0;刀具半径补偿值(偏大,粗加工)#702=10.2;刀具半径补偿值(偏中,半精加工)#703=10.0;刀具半径补偿值(实际,精加工)N01 G92 X0.0 Y0.0 Z0.0;N02 G28 Z10 T02 M06;自动回参考点换刀N03 G29 Z0 S1000 M03;单段走完此段,手动移刀到圆台面中心上N04 G92 X0.0 Y0.0 Z0.0;N05 G00 Z10.0;#0=0;N06 G00 [X-#12] Y[-#13];快速定位到圆外(-#12,-#13)N07 G01 Z[-#10] F300;Z向进刀-#10WHILE #0 LT 3;加工圆台N[08+#0*6] G01 G42 X[-#12/2] Y[175/2] F280.0 D[#0+1];完成右刀补D[#0+1];D01=#701;D02=#702;D03=#703;N[09+#0*6] X[0] Y[-175/2];进到工件的切入点N[10+#0*6] G03 J[175/2]; 逆时针切削整圆N[11+#0*6] G01X[#12/2] Y[-175/2];切出工件N[12+#0*6] G40 X[#12] Y[-#13];取消刀补N[13+#0*6] G00 X[-#12];#0=#0+1;ENDW;循环三次后结束N100 G01 Z[-#10-#11] F300;进给方向切削深度#2=175/COS[55*PI/180];方台外定点的X坐标#3=175/SIN[55*PI/180];方台外定点的Y坐标#4=175*COS[10*PI/180];方台的X向增量值#5=175*SIN[10*PI/180];方台的Y向增量值#0=0;WHILE #0 LT 3;加工斜方台N[101+#0*6] G01 G90 G42 X[-#2] Y[-#3] F280.0 D[#0+1];N[102+#0*6] G91 X[+#4] Y[+#5];N[103+#0*6] X[-#5] Y[+#4];N[104+#0*6] X[-#4] Y[-#5];N[105+#0*6] X[+#5] Y[-#4];N[106+#0*6] G00 G90 G40 X[-#12] Y[-#13];#0=#0+1;ENDW;循环三次后结束N200 G28 Z10 T00 M06;返回参考点换刀N201 G00 X0 Y0 M05N202 M30;程序结束四棱台毛坯 200 ㎜ × 100 ㎜ × 30 ㎜ 块料,要求铣出如图 2-26所示的四棱台,工件材料为蜡块。
FANUC 0i系统B类宏程序本文来自:宏程序图数控程序中含有变量的程序称为宏程序。
宏程序可以让用户利用数控系统提供的变量、数学运算、逻辑判断和程序循环等功能,来实现一些特殊的用法,从而使得编制同样的加工程序更加简便。
1.变量普通加工程序直接用数值指定G代码和移动距离,例如,GO1和X100. 0。
使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用M D I面板上的操作改变。
如:#1=#2+100或G01 X#1 F300。
(1)变量的表示及类型一般编程方法允许对变量命名,但用户宏程序不行。
变量用变量符号“#”和后面的变量号指定。
例如:#1、#100 等。
表达式可以用于指定变量号。
此时,表达式必须封闭在括号中。
例如:#[#1+#2-12]。
变量根据变量号可以分成四种类型,如表1所示。
(2)变量的运算变量常用算术、逻辑运算和运算符(如表2和表3所示)。
运算符右边的表达式可包含常量,或由函数或运算符组成的变量。
表达式中的变量“#j”和“#k”可以用常数赋值。
左边的变量也可以用表达式赋值。
其中有些需要注意的问题:1)角度单位。
函数正弦、余弦、正切、反正弦、反余弦和反正切的角度单位是度(°)。
例如:90°30′表示为90.5°。
2)运算符的优先级。
按照优先级的先后顺序依次是:函数→乘和除运算(* 、/、AND、MOD)→加和减运算(+、-、OR、XOR)。
3)括号嵌套。
括号用于改变运算优先级。
括号最多可以嵌套使用5级,包括函数内部使用的括号。
2.功能语句(1)无条件转移(GOTO)语句转移到有顺序号n 的程序段。
格式为:GOTOn,其中n 表示程序段号。
例:GOTO1,表示转移到第一程序段。
本文来自:再如:GOTO#10,表示转移到变量#10决定的程序段。
(2)条件转移(IF)语句在IF后指定一条件,当条件满足时,转移到顺序号为n 的程序段,不满足则执行下一程序段。
基于FANUC 0i系统的球面加工宏程序
张宁菊
【期刊名称】《机电工程技术》
【年(卷),期】2014(000)010
【摘要】简要介绍球面的粗、精加工宏程序实例,指出在FANUC 0i系统中灵活使用宏程序,可简化编程,解决复杂曲面的加工问题,具有一定的实用性。
【总页数】3页(P38-39,63)
【作者】张宁菊
【作者单位】无锡科技职业学院,江苏无锡 214028
【正文语种】中文
【中图分类】TG659
【相关文献】
1.FANUC 0i系统宏程序在数控车削加工非圆曲线中编程模板的设计 [J], 赫焕丽
2.基于FANUC 0i系统的正八边形周边倒角及拐角圆弧过渡宏程序应用研究 [J], 严瑞强;陈贤清;肖善华
3.基于FANUC 0i系统规则曲面的宏程序编程 [J], 刘汉华
4.FANUC Series 0i\18i系统宏程序在加工斜面中的应用 [J], 王红宾
5.基于FANUC 0i系统椭圆工件的宏程序编程分析 [J], 钟兵
因版权原因,仅展示原文概要,查看原文内容请购买。