在数控编程中,利用数控系统提供的变量、数学运算功能、逻辑判断、条件转移等功能编写的加工程序,我们可称为宏。宏程序编程灵活、高效、快捷,是加工编程的重要补充,不仅可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。
通常数控系统用户宏程序主要由以下四部分构成。
1.变量;
2.包含算术或逻辑运算(=)的程序段;
3.包含控制语句(例如:GOTO,DO,END)的程序段;
4.包含宏程序调用指令(G65,G66,G67或其他G代码,M代码调用宏程序)的程序段。
在接下来的几篇文章里,按照由简到难,我尽可能地把宏程序讲解清楚,本文主要先讲解一下什么是变量,以及变量的简单运用。
一、宏程序中的变量
虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。所以,用户宏程序三大特点是:在用户宏程序本体中,能使用变量;变量间可以运算;用宏指令可以给变量赋予实际值,那么什么是变量?
1.变量定义
变量用变量符号(#)和后面的变量号指定。
例如:#i
i 可为数字,如#5,#9。
i 可用表达式代替,如#[6/4]。
i 还可用变量#[[表达式]]代替,此时,表达式必须封闭在括号中,如#[#100],#[#1001-1]。
2.变量的赋值
格式:宏变量=常数或表达式
把常数或表达式的值送给一个宏变量称为赋值。
例如: #1=124.0;
#2=
:运算命令的右项是常数、变量、函数和运算符的组合。
例如:算术运算符:+,-,*,/
加法运算: #i=#j+#k;
乘法运算:#i=#j*#k;
• 引用的变量值根据地址的最小输入增量自动舍入。
• 例:G00 X#1;其中#1值为12.3456,CNC最小输入增量1/1000mm,则实际指令值为G00 X12.346。
• 改变引用的变量值的符号,要把“—”号放在(#)前面。
例:G00 X—#1;
此外没有定义的变量值被称为,可称为非定义变量,变量及地址字都被忽略。例:#1=0 ,#2=“空”, 则G00 X#1 Y#2;的执行结果是G00 X0;
接下来,我们通过一个案例来进行讲解一下
一个普通的零件加工程序指定G码并直接用数字值表示移动的距离,例:G01 X100.0 F200
我们可以把这一程序段换成如下程序
• #1=100
• G01 X#1 F200
我们也可以把程序修改为别的方式
• #1=20
• #2=80
• #3=#1+#2
• G01 X#1 F200
或者你可以换成别的方式,等等,都可以!
• #1=160
• #2=60
• #3=#1-#2
• G01 X#1 F200
3.变量的种类
变量值可以分为空变量,局部变量,公共变量和系统变量,取决于变量号的不同。各种变量的用法和性质不同。
一般我们在教学中用到的局部变量比较多。
二、案例运用
本文主要讲解一下宏程序中的第一个组成部分变量,在文章结束的最后,咱们拿一个零件图来实际感受一下,宏程序在数控车编程中的一个简单的应用吧!零件图如下:该系列零件的右端面半球球径可取R15,可将球径用变量表示。
程序如下:
%1001S1000 M3T0101;
G0 X50Z2;
/G71 U2 R1;
/G71 P1 Q2 U0.5 W0.02 F0.1 ;
N1 G0 X0
Z0 ;
#1=15
G3 X[2*#1] Z-#1 R#1 ;
G1 Z[-20-2*#1];
X40Z-60;
Z-94;
N20 G0X52;
G0 Z200;
M5 M30;
思考:如果球体半径如果变为R10呢?是不是只需要把#1=15改为#1=10即可,是吧!呵呵!
领取专属 10元无门槛券
私享最新 技术干货