摘要 介绍了FANUC数控系统宏程序的特点和应用范围。探讨了宏程序的用法并分析各种变量和各种指令的用法。以鼓形螺旋槽加工为例,着重对鼓形螺旋槽进行工艺分析,并确定利用宏程序进行数控编程。最后分析了利用宏程序编程的特点和效率。
关键词:宏程序 数控编程 鼓形螺旋槽 数控加工
The application of macro program in drum-shaped spiral groove manufacturing
Pu Yanmin
Abstract:
This paper introduces characteristics and range of application FANUC CNC system macro programs. It discusses the use of macro programs the functions and principle of tool length compensation. analysises various variables and various command usage. As an example to a drum-shaped spiral groove processing, it focuses on drum-shaped spiral groove for process analysis,and tdetermines the use of macro programs for NC programming. Finally, it analysises characteristics and efficiency of macro programming.
Keywords:Macro programming.;NC programming; Drum-shaped spiral groove ; CNC Machining
随着数控技术的发展,先进的数控系统不仅向用户编程提供了一般的准备功能和辅助功能,而且还为编程扩展提供了宏功能。FANUC数控系统的宏功能,应用灵活,形式自由,具备计算机高级语言的表达式、逻辑运算及类似的程序流程,使加工程序简练易懂,实现普通编程难以实现的功能。
一、宏程序的调用
宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。 调用指令格式: G65 P(宏程序号) L(重复次数)(变量分配)
其中:G65――宏程序调用指令
P(宏程序号)――被调用的宏程序代号;
L(重复次数)――宏程序重复运行的次数,重复次数为1时,可省略不写。范围1~9999;
(变量分配)――为宏程序中使用的变量赋值。
宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多可调用4重。
二、宏变量
FANUC数控系统变量表示形式为#后跟1~4位数字,变量种类有三种:
1.局部变量:#1~#33是在宏程序中局部使用的变量,它用于自变量转移。
2.公用变量:100~#149在关掉电源后,变量值全部被清除,而#500~#509在关掉电源后,变量值则可以保存。
3.系统变量:由#后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息。
三、控制指令
1.条件转移
程序格式 IF [条件表达式] GOTO n
以上程序段含义为:
(1)如果条件表达式的条件得以满足,则转而执行程序中程序号为n的相应操作,程序段号n可以由变量或表达式替代;
(2)如果表达式中条件未满足,则顺序执行下一段程序;
(3)如果程序作无条件转移,则条件部分可以被省略。
(4)条件表达式格式如下:
#j EQ #k 表示=
#j NE #k 表示≠
#j GT #k 表示>
#j LT #k 表示<
#j GE #k 表示≥
#j LE #k 表示≤
2.重复执行
程序格式
WHILE [条件表达式] DO m (m = 1,2,3)
…
… … END m
上述"WHILE…END m"程序含意为:
(1)条件表达式满足时,程序段DO m至 END m即重复执行;
(2)条件表达式不满足时,程序转到END m后处执行;
(3)如果WHILE [条件表达式]部份被省略,则程序段DO m至 END m之间的部份将一直重复执行。
四、鼓形螺旋导轮的数控加工
德国生产的MT85圆锥滚子磨床需要用一种工装—鼓形螺旋导轮,其精轮廓如图1所示,螺旋槽如图2所示。
图2 螺旋导轮详细图
图1 螺旋导轮轮廓图 1.工艺分析
加工此鼓形螺旋槽可选用FANUC系统的多功能数控车床。数控车床不能在圆弧轮廓(指纵剖面)上直接车出等高螺纹,而此导轮就是要车这种鼓形螺纹。既然不能用螺纹指令直接车出来,就考虑把它分段。右边分成若干段角度不同的锥螺纹,左边分成若干段角度不同的倒锥螺纹,然后用连续螺纹切削指令把他们串起来,车出近似圆弧的螺纹。分段越多,与圆弧螺纹越接近。因为车削完以后还要磨削。此处左边分五段、右分六段。其外径轮廓线的分段与尺寸见图3和表1所示。表中尺寸为图2中P点的值。
图3 导轮外径轮廓线分段
表1 外轮廓线分段尺寸 序号 Φ值/mm L值/mm 序号 Φ值/mm L值/mm 1 X298.91 Z205 7 X310 Z0 2 X302.104 Z173 8 X309.677 Z-35 3 X304.83 Z140 9 X308.708 Z-70 4 X307.092 Z105 10 X307.092 Z-105 5 X308.708 Z70 11 X304.83 Z-140 6 X309.677 Z35 12 X303.246 Z-160 左右两端分别加一个供卡盘卡紧和顶尖顶紧用的法兰盘。第一步,用一把外径刀(T1)车出半径为3792mm的圆弧轮廓面。第二步将螺旋槽分成四部分切削如图4所示。使用两把机夹刀和两把焊接刀如图5所示。
图4 螺旋槽分四部分切削 图5 车削螺旋槽的四把刀
由于第一步是普通圆弧插补这里不做说明。第二步切削螺旋槽。用刀顺序为T1、T2、T3、T4,分别切削如图3中的1、2、3、4部分。T1、T2都切九层,每层径向背吃刀量0.8mm,纵向吃刀量0.5mm。两者不同的是:T1切削时每层从右向左,T2则每层从左向右;T3是从上到下进刀,吃刀量上部每层0.1mm,下层每层0.05mm;T4向右下方45°进刀,每次在X和Z向各进刀0.036mm,相当于45°斜向进刀0.05mm左右。由于T1、T2是常用刀片(相对尖刀),转速可取80r/min,而T3、T4是焊接平头刀,转速只能取15r/min。
2.程序编制
图6 每走一刀的循环轨迹
车削圆弧轮廓面的程序很普通,在此不列出。详细介绍第二步切削鼓形螺旋槽的编程。每把刀只用一个程序。就可连续地将它承担的部分切完,其轨迹如图6所示。三条虚线表示快进,各用一个程序段;实线表示工进,它含有接近表1中12组数字的12个程序段,即每切一刀要用15个程序段,T1、T2约共切800刀,T3切102刀,T4切111刀,总计约切削1000刀。如用常规编程,总计得用约1.5万个程序段。编程量太大,而且需要数控机床的内存大。所以用宏程序来编程可大大简化程序。用主程序O0010调用O0001~O0004以提高程序的自动化程度。程序如下。O0010;