首页 百科知识 系统变量如何编制宏程序

系统变量如何编制宏程序

时间:2022-10-12 百科知识 版权反馈
【摘要】:加工非圆曲线时,根据数控车床所用系统不同,其编程方法也有所不同,SINUMERIK应用R参数编程,而FANUC-0i系统利用用户宏程序编程。由于用户宏程序允许使用变量代替具体数值,因而在加工同一类零件时,只需将数据赋值与变量即可,而不需要对每一个零件都编一个程序。可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。

4.4.7 非圆曲线加工

加工非圆曲线时,根据数控车床所用系统不同,其编程方法也有所不同,SINUMERIK应用R参数编程,而FANUC-0i系统利用用户宏程序编程。

将一组命令所构成的功能,像子程序一样事先存入存储器中,用一个命令作为代表,执行时只需写出这个代表命令,就可以执行其功能。这一组命令就称为用户宏程序。

由于用户宏程序允许使用变量代替具体数值,因而在加工同一类零件时,只需将数据赋值与变量即可,而不需要对每一个零件都编一个程序。故用户宏程序实际上是一个含有变量的子程序。

可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。使用时,加工程序可用一条简单的指令调出用户宏程序,和调用子程序一样。用户宏程序功能有A、B两种类型,本节主要介绍B类型宏程序的基本用法。

1.变量的种类

用一个可赋值的代号代替具体的坐标值,这个代号就称为变量。变量又分为局部变量、系统变量和公共变量三类,他们的性质和用途各不相同。

(1)局部变量 是指限于在用户宏程序内使用的变量,只能用在宏程序中存储数据,如计算结果等。同一个局部变量在不同的宏程序内其值是不通用的,即在某一时刻调用的用户宏程序(不管与前一个用户宏程序是否相同)中所使用的局部变量#i和另一时刻调用的用户宏程序中所使用的#i是不同的。FANUC系统有33组局部变量,分别为#1~#33。FANUC系统局部变量I赋值如表4-4所示。

表4-4 FANUC系统局部变量赋值对照表

img268

注意:1.地址G,L,N,O和P不能在自变量中使用。

2.地址只需符合字地址的格式,不需要按字母顺序指定;但是,I、J和K需要按字母顺序指定。

(2)系统变量 这是固定用途的变量,它的值决定了系统的状态,用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值。FANUC系统中的变量为#1000~#1015、#1032、#3000等。

(3)公共变量 是指在主程序内和由主程序调用的各用户宏程序内的公用变量,公共变量在不同的宏程序中的意义相同。FANUC系统中共有60个公共变量,它们分为两组,一组是#100~#199;另外一组是#500~#999。

2.变量的运算

用户宏程序中,变量之间可以进行运算,并且用户宏命令可以对变量进行赋值。变量运算包括算术运算、逻辑运算等。

B类型用户宏程序中常用的运算符如表4-5所示。

表4-5 FANUC 系统常用运算符

img269

注意:1.函数SIN,ASIN,COS,ACOS,TAN和ATAN的角度值单位是度。如90°30´表示为90.5度。

2.逻辑运算OR,XOR,AND是一位一位地按二进制数执行。

3.变量的赋值

由于系统变量的赋值情况比较复杂,这里只介绍公共变量和局部变量的赋值。变量的赋值方式可分为直接和间接两种。

(1)直接赋值 例:#2=60(表示将60赋值与#2变量)

          #103=#2(表示将变量#2的即时值赋与变量#103)

(2)间接赋值 间接赋值就是用演算式赋值,即把演算式内演算的结果赋给某个变量。

4.控制指令

编程时,除了用到变量外,还用到了控制指令,它可以控制用户宏程序主体的程序流程。常用的控制指令有以下几种:

(1)条件转移语句 条件转向语句一般由条件式和转向目标两部分构成。

IF[〈条件表达式〉]GOTO n(n=顺序号)〈条件表达式〉成立时,从顺序号为n的程序段开始向下执行;〈条件表达式〉不成立时,执行下一个程序段。

或者IF[〈条件表达式〉]THEN〈条件表达式〉成立时,执行预先定义的宏程序语句,并且只执行一个宏程序语句。

例如:程序段格式为:IF[a GT b] GOTO c表示为“如果ab,那么转向执行c程序段”。a和b可以是数值、变量或含有数值及变量的算式,c是转向目标的程序段号。〈条件表达式〉的种类如表4-6所示。

表4-6 〈条件式〉的种类

img270

注意:条件表达式中必须包含运算符,运算符插在两个变量中间或变量和常数中间,并且用括号([,])封闭。

(2)无条件转移语句 GOTO n 表示从当前程序段转移到n程序段去。

例如:GOTO 60 表示无条件转向执行N60的程序段,而不论N60程序段在转向语句之前还是其后。

条件转向语句在宏程序内使用比较广泛。使用条件转向语句,能编出准确的用户宏程序。对于如图4-48中的椭圆,我们在前述的基础上加一个用#7表示的变量,来代表切削终点B的Z坐标值(在该例中,#7等于零),它可以在宏程序中用D赋值。

(3)循环语句 WHILE [〈条件表达式〉]DO m(m=顺序号)… END m;

5.椭圆加工

在数控车床上加工椭圆的方法有四心法与逼近法两种:

(1)四心法 四心法的加工原理是根据椭圆的近似做法,将椭圆分为四段圆弧分别加工,在加工精度较低的情况下可以考虑用此法来加工。在这里不作详细介绍。

(2)逼近法 逼近法是采用多段圆弧或直线逼近椭圆,常用的是直线逼近法。应用这种方法加工非圆曲线时,只要步距足够小,在零件上所形成的最大误差就会小于零件所允许的加工误差,从而加工出标注的标准的椭圆。

(3)车削如图4-45(a)所示零件,编制零件精加工程序。由图可知,工件右半部分为一个标准椭球,椭圆长半轴为20mm,短半轴为12mm,即a=12mm,b=20mm;假设椭圆上任意一点D(X,Z),令变量如图4-45(a)所示:

img271

图4-45 椭圆轮廓及变量

假设将工件坐标系原点设在椭圆的右端面,α为刀具沿椭圆轮廓加工到D点时所对应的圆心角,如图4-45(b)所示,则椭圆的极坐标方程为:

img272

将α赋予变量#1,则#1=α,令椭圆加工的步距角为0.001度,将椭圆上任意一点D(X,Z)点的X、Z坐标分别赋予变量#2、#3,则:#2=20-20×COS[#1]#3=12×SIN[#1]

则令#4=2×#3(因为是直径量编程,所以X值取3号变量的2倍。)

加工程序如下:

img273

img274

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈