FANUC系统数控车削编程中的宏程序运用

2018-11-22 07:36:24
福建质量管理 2018年22期

(安徽理工大学机械工程学院 安徽 淮南 232001)

一、引言

当机械零件表面含有抛物线、双曲线、椭圆等较为复杂的轮廓曲线时,利用计算机软件绘图然后再自动生成加工程序,这无疑是最简单方便的方式。但当车间里没有电脑等条件的时候,那么我们必须能够利用其它方式来完成加工任务,这时就需要用到宏程序来编程加工了。宏程序具有较好的适应性和通用性,能够进行各种逻辑运算和算术运算。下面以FANUC0i-TD数控系统为例说明数控车削中宏程序的编程方法与运用。

二、宏程序中的变量

所谓数控宏程序编程,就是用变量的方式来进行数控加工编程。FANUC系统的变量用变量符号“#”和其后面的变量号指定。例如:#1、#2、#3等。变量有三种类型,即局部变量(变量号为#1~#33)、公共变量(变量号为#100~#199和#500~#999)、系统变量(变量号为#1000以上)。在宏程序的编程中主要使用局部变量。对于局部变量的赋值有直接赋值和间接赋值两种方式。

三、运算符与表达式

(1)算术运算符

算术运算符有:“+”、“—”、“*”、“/”,分别为加、减、乘、除四种运算符号。

(2)逻辑运算符

逻辑运算符有:AND(与)、OR(或)、XOR(非)。

(3)条件运算符

条件运算符有:EQ(等于)、NE(不等于)、GT(大于)、GE(大于等于)、LT(小于)、LE(小于等于)。

(4)函数运算符

宏程序中常用的函数运算符及函数表达式如表1所示:

表1 常用函数运算符及表达式

四、功能语句

(1)无条件转向语句

格式:GOTO N (N为程序段号)

例如:GOTO 100 表示无条件转移至标记有程序段号为N100的程序段(不论N100是在转向语句之前还是之后)。

(2)条件转向语句

格式1:IF[表达式]GOTO N

例如:IF[#1GT#2]GOTO 100 表示如果#1大于#2,就转移到标记有程序段号为100的程序段执行,如果#1小于等于#2,则执行下一个程序段。

格式2:IF[表达式]THEN

例如:IF[#1LE#2]THEN #3=1 表示如果#1小于等于#2,就把数值“1”赋值于#3。

(3)功能循环语句

格式:WHILE DO m (m=1,2,3)

……

END m

表示在满足WHILE后的条件表达式时,就执行从下一个程序段到END m 程序段之间的程序,否则就跳转到END m 之后的程序段执行。

五、编程实例

图1所示右端带椭圆头的轴类零件,若左段部分已经加工完成。现请完成右轴段椭圆及小端直径为35mm锥段的加工。

我们把椭圆方程的x坐标设为自变量,则z坐标为因变量,由椭圆方程可推导出他们之间的换算关系表达式。

由于数控车床编程X方向为直径值,在编写宏程序中应将自变量x乘以2得到X方向的坐标值。

此外,由于椭圆的中心在编程的坐标原点(0,0)点的左侧30mm处,所以在宏程序中的Z方向坐标值应为因变量z减去30mm,得到所需的程序加工刀具运动轨迹如图2所示。

图1 工件示意图

图2 程序加工刀具运动轨迹

该加工该零件右段部分的参考程序为:

O8888

T0101

M03S1000

G00X45Z5

G71U1.5R0

G71P1Q3U0.5W0F0.3

N1G00X0

G01Z0

#1=15 椭圆短半轴赋值

#2=30 椭圆长半轴赋值

#3=0.1 宏程序拟合步距赋值

#4=0 自变量x的赋值

N2#5=2*SQRT[#1*#1 - #4*#4] 因变量z的赋值

G01X[2*#4]Z[#5 - #2] 椭圆加工直线拟合(注意:自变量x*2,因变量z-30)

#4=#4+#3 自变量x向外移动一个步距

IF[#4 LE #1]GOTO2 若小于等于15则调到N2程序段执行

G01X35

X41Z-33

N3G00X45

M03S1500

G70P1Q3F0.1

G00X100Z100

M30