在2018年7月22日,我写了一篇名为《 》。这是后台反馈的数据,如图所示。
![数控车宏程序编程,第二讲,结合案例,什么是表达式和控制指令?](http://p2.ttnews.xyz/loading.gif)
在明白了什么是变量后,本文结合编程案例(车铣),主要讲解一下宏程序中的表达式和控制指令。
1.什么是宏程序中的表达式
用运算符连接起来的常数,宏变量构成表达式,必须封闭在括号中
如:#[#1+#2-12],175/SQRT[2] * COS[55 ];
![数控车宏程序编程,第二讲,结合案例,什么是表达式和控制指令?](http://p2.ttnews.xyz/loading.gif)
到这里,可能部分读者看不懂这两个表达式的含义了。这是因为计算机它也有自己的语言,简单的说乘法符号是"×",这是我们能看懂的,但是计算机看不懂,它只能看懂"*"表示乘法,所以我们在编程时就要采用电脑能识别的语言如:3×3,应该写成3*3。因此大家在进行学习宏程序编程之前,先要把计算机的语言和咱们的识别的语言做一个简介,如下图所示。
· 例如:2+5,可这样编写#1=10 #2=5 #3=#1+#2
· 例如:#1 LT 5 表示 #1小于5;
· 例如:求100的根,√100可编写为#1=SQRT[100]
· 例如:正弦函数,#i=SIN[#j];
在数控车编程中,运用比较多的是条件运算和函数运算
2.控制指令
在程序中可用GOTO语句和IF语句改变控制执行顺序,一般共有三种类型:
· GOTO 语句——无条件分支(转移)
· IF语句——条件分支;if…,then…
· WHILE语句—— 循环;while…
今天主要讲解一下IF和GOTO语句
在IF后指定一条件,当条件满足时,转移到顺序号为n的程序段,不满足则执行下一程序段。
图片的意思通俗点讲:#1如果大于等于10时则执行N2行开始及以下的程序段,否则就不执行,转而执行别的程序
比如说,咱们以求1~5这5个数的和,为例,把上面的流程图理解一下!
O1;
#1=0; 表示和
#2=1;表示加数
N1 IF[#2 GT 5] GOTO2;相加条件,当#2为6时就不满足条件,跳到N2所在行
#1=#1+#2;相加为1+2+3+4+5
#2=#2+1;下一加数,#2分别为1,2,3,4,5
GOTO1 返回N1,继续判别是否满足条件
N2 M30;结束
也可以这样修改,效果是一样的
#1=0; 表示和
#2=1;表示加数
N1#1=#1+#2;相加为1+2+3+4+5
#2=#2+1;下一加数,#2分别为1,2,3,4,5
IF[#2 GT 5] GOTO1;如果#2小于等于5时时一直返回到N1,当#2为6时则执行下面的程序,也就是M30程序结束。
M30;结束
3.案例讲解(车,铣)
最后,咱们以一个数控车床外圆加工为例,进一步巩固前面所讲的知识及如何运用。
例如:加工φ40外圆每次去除4毫米,背吃刀量为2mm
主要参考程序:
…
#1=48
N1G01X#1F0.1
Z-20
G0X52
Z2
#1=#1-4;第一刀48,第二刀44,第三刀40
IF[#1 LT 40]GOTO1,当#1大于或等于40时都会返回到N1所在的程序
G0Z100
M5M30
咱们再以铣床铣削一个平面为例
要求:采用环切加工去余量,平面铣削2mm,直径为12mm的立铣刀
主要参考程序:
…
G01Z-2 F500;铣削2mm
#1=40
N1G01X-#1Y-#1F200;从外往内铣削
Y#1
X#1
Y-#1
X-#1
#1=#1-10
IF[#1GT 10]GOTO1
G0Z200
M5M30
今天主要是讲解了宏程序中的表达式和控制指令,并结合三个案例进行了讲解。特别说明一下,上篇文章有个网友的留言还算是比较中肯的,如果你能把今天所讲的知识能搞明白的化,其它的问题就游刃而解了,但是这有一个前提条件即对加工对象要建立合理正确的数学模型,编程人员要有一定的数学基础,尤其是解析几何知识。
好吧,今天就这样吧!下次再说,祝好!
閱讀更多 zny850210 的文章