优胜编程龚老师 发表于 2017-4-21 14:52:41

fanuc宏程序实例资料分享

fanuc宏程序实例资料分享:

用户宏功能是提高数控机床性能的一种特殊功能。使用中,通常把能完成某一功能的一系列指令像子程序一样存入存储器,然后用一个总指令代表它们,使用时只需给出这个总指令就能执行其功能。

用户宏功能主体是一系列指令,相当于子程序体。既可以由机床生产厂提供,也可以由机床用户自己编制。

宏指令是代表一系列指令的总指令,相当于子程序调用指令。
用户宏功能的最大特点是,可以对变量进行运算,使程序应用更加灵活、方便。

fanuc宏程序实例
用户宏功能有A、B两类。
在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。
(1)变量的表示
变量可以用“#”号和跟随其后的变量序号来表示:#i(i=1,2,3......)
例:#5, #109, #501。
(2)变量的引用
将跟随在一个地址后的数值用一个变量来代替,即引入了变量。
例:对于F#103,若#103=50时,则为F50;
对于Z-#110,若#110=100时,则Z为-100;
对于G#130,若#130=3时,则为G03。
(3)变量的类型
0MC系统的变量分为公共变量和系统变量两类。
1)公共变量
公共变量是在主程序和主程序调用的各用户宏程序内公用的变量。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的。
公共变量的序号为:#100~#131;#500~#531。其中#100~#131公共变量在电源断电后即清零,重新开机时被设置为“0”;#500~#531公共变量即使断电后,它们的值也保持不变,因此也称为保持型变量。
2)系统变量
系统变量定义为:有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量,接口的输入/输出信号变量,位置信息变量等。
系统变量的序号与系统的某种状态有严格的对应关系。例如,刀具偏置变量序号为#01~#99,这些值可以用变量替换的方法加以改变,在序号1~99中,不用作刀偏量的变量可用作保持型公共变量#500~#531。
接口输入信号#1000~#1015,#1032。通过阅读这些系统变量,可以知道各输入口的情况。当变量值为“1”时,说明接点闭合;当变量值为“0”时,表明接点断开。这些变量的数值不能被替换。阅读变量#1032,所有输入信号一次读入
用户宏程序应用举例 FANUC-0MC
例1:用宏程序和子程序功能顺序加工圆周等分孔。设圆心在O点,它在机床坐标系中的坐标为(X0,Y0),在半径为r的圆周上均匀地钻几个等分孔,起始角度为α,孔数为n。以零件上表面为Z向零点。见图4.35。
使用以下保持型变量:
#502:半径r;
#503:起始角度α;
#504:孔数n,当n>0时,按逆时针方向加工,当n<0时,按顺时针方向加工;
#505:孔底Z坐标值;
#506:R平面Z坐标值;
#507:F进给量。
使用以下变量进行操作运算:
#100:表示第i步钻第i孔的记数器;
#101:记数器的最终值(为n 的绝对值);
#102:第i个孔的角度位置θi的值;
#103:第i个孔的X坐标值;
#104:第i个孔的Y坐标值;
用用户宏程序编制的钻孔子程序如下:
O9010
N110 G65 H01 P#100 Q0//#100 = 0
N120 G65 H22 P#101 Q#504 //#101 = │#504│
N130 G65 H04 P#102 Q#100 R360//#102 =#100 ×360
N140 G65 H05 P#102 Q#102 R#504 //#102 =#102 / #504
N150 G65 H02 P#102 Q#503 R#102 //#102 =#503 + #102当前孔角度位置θi =α+ (360×i) / n
N160 G65 H32 P#103 Q#502 R#102 //#103 =#502 ×COS(#102)当前孔的 X坐标
N170 G65 H31 P#104 Q#502 R#102 //#104 =#502 ×SIN(#102) 当前孔的Y坐标
N180 G90 G00 X#103 Y#104 //定位到当前孔(返回开始平面)
N190 G00 Z#506 //快速进到R平面
N200 G01 Z#505 F#507 //加工当前孔
N210 G00 Z#506 //快速退到R平面
N220 G65 H02 P#100 Q#100 R1//#100 =#100+1孔计数
N230 G65 H84 P-130 Q#100 R#101 //当#100 <#101时,向上返回到130程序段
N240 M99 //子程序结束
调用上述子程序的主程序如下:
O0010
N10 G54 G90 G00 X0 Y0 Z20 //进入加工坐标系
N20 M98 P9010 //调用钻孔子程序,加工圆周等分孔
N30 Z20 //抬刀
N40 G00 G90 X0 Y0 //返回加工坐标系零点
N50 M30 程序结束
设置G54:X=-400,Y=-100,Z=-50。
变量#500~#507可在程序中赋值,也可由MDI方式设定。

月圆天空 发表于 2017-4-21 16:23:13

谢谢非常好吧

lichagnwei 发表于 2017-5-19 23:55:36

不错安排
页: [1]
查看完整版本: fanuc宏程序实例资料分享