3变量程序_邹军:邀你一起学CNC宏程序编程(基础篇)

9ee9337e9c3315629f86215cd776592a.png点击上方,关注我哈

(文章底部可以评论,欢迎对文章进行点评和知识补充)

cbff0bbd0daa927d4bfb7a9c37b2a2d8.png

数控编程教学

订单 | 技术 | 干货 | 编程

关注可加入机械行业群

【邹军,十多年数控工作经验,现自创一套有理论,有干货,还有方法论做支撑的实战编程教程(PDF),从而让你编写程序就像做填空题一样简单。在没有人指引你的时候,你靠自己的能力,或者靠自己一点点去打通去积累,是很慢的,如果别人把自己的经验倾囊相授,你可以少走很多弯路。【跟邹军学数控编程】,让你成为经验丰富的编程高手。想学习《UG编程》,《宏编程》,学习加微信:Yuki7557

《宏程序编程》3.0版本,是军哥的第三套宏程序教程。主要传授数车宏程序编程。军哥给你分享《宏程序编程》3.0版本宏变量的内容。

学宏程序之前要先学变量。

1,什么是变量

军哥,你经常说玩宏就是玩变量,什么是变量啊?一脸迷惑的小白想从军哥这得到答案。

军哥把桌上的电脑转动到小白面前,让他先看了看下面这个零件图。问道,你该知道这个零件如何编写程序吧。

cf9ed2bcdf5bdcf2c6175f3278b8828a.png

小白一看,这个简单,不就车外圆吗?自己计算点位坐标,一句一句写代码,于是

……

…..

G0X42.Z2.

X36.

G01Z-30.F0.1

X42.

G0Z2.

X32.

G01Z-30.F0.1

……

……

这种办法可以编写出来,但是OUT了,小白突然想起G90,G71等循环指令,是的, G90 G71等循环指令,其实是系统厂商用宏程序开发出来的G代码。

本质上属于宏程序范畴,你学会宏程序,也可以定义属于自己的G代码,让程序通用性强,关于这点绝活,军哥我后面传授,就目前而言,先把变量理解透彻。

你看上面程序G代码后面都是些具体的数值,那么变量并非是一个具体数值,而是由符号来代替具体数值。

dc45bbbfa2195fd7483d2430617094bc.png

举个例子,上面零件毛坯为D42,要加工到尺寸D20,长为20,那么我用符号#1,#2,#3分别定义为毛坯尺寸,要加工到的尺寸,加工的长度等。

这个程序如下:

865a803686a19520c99b4086f861fa9d.png

军哥我用#1,#3等符号来代表零件的毛坯尺寸,零件的长度等,加工形状相似,尺寸不同的零件,这个程序就有了通用性。

看完军哥的讲解,小白顿时觉得采用#1,#2这种符号来编写程序太方便了。

于是小白接着问:“#1,#2,#3这种“符号”怎么理解?是不是还可以使用#4,#5,#6等等。

军哥我知道小白是个善于思考的人,于是就给他讲到:这些符号就是宏变量,你看市面上有不少数控系统,如三菱,法拉克,哈斯,广州数控,华中数控等等,变量都是由#数字组成。所以军哥我以FANUC系统为蓝本来展开讲解宏程序变量,这样一通百通。

既然宏程序的变量是由#和数字组成,如#1,#2……#33,#300,#301,#302…..,#1000,#1001 ……等等,编写程序的时候,可以任意使用这些变量?

标示数字的不同,宏变量的意义也不同,分局部变量(#1~#33)、公共变量、系统变量,就目前来说,先学会使用局部变量,也就是#1,#2,#3,#4,#5…….,#33这33个变量,可以任意使

比如上面的例子,你可以用#1~#33中的任意一个变量来代表零件毛坯尺寸。

小白皱着眉头问:“#1~#33中的任意一个变量来代表零件毛坯尺寸” 比如,使用了#6代表毛坯尺,还可以使用#6代表零件加工长度吗?

军哥我给你举个例子,在一个班上,有两个学生都叫小白,当你叫小白的时候,会发生一个问题,这两个人都会回答,但你其实只想喊其中的一个。

这就分不清了。同理,在一个程序中(比如O0001程序中),你使用同一个变量代表多个零件特征的时候,机床系统会发生糊。所以在一个程序中,不同特征建议用不同变量。

2,变量的赋值

有了变量,我们需要给变量赋值。什么是赋值?也就是将某一数值赋给某个变量的过程,称为赋值。

军哥还是结合上面案给你举个例子。

dc45bbbfa2195fd7483d2430617094bc.png

比如自定义了两个变量

#2 代表:加工到的尺寸

#3代表:加工的长度

那么根据零件图纸尺寸,我把20这个数值赋给#2;  -30赋给#3的过程就是赋值。

在数控系统中,赋值的表示方式是:

#2=20

#3=-30

也就是等号右边的数值赋给了左边变量号。

此时#2的数值就相当于20,#3的数值就相当于-30。如果有这么一个程序段G00X#2 ; Z#3;

那将等同于G00X20 ; Z-30;

军哥再给你举几个例子,如果

#6=3

#8=10

那么:G01X#6 Y#8完全等同于 G01X3. Y10.

因为把3,10这两个数字分别赋值给了变量#6,#8,所以#6,#8就代表着数字3,  10;因此上面两段小程序完全等同!

讲到这,军哥调出了电脑中的一个工序图:

4a508d1c8cd1a10cc47b579fbc8b53e3.png

5dcf256698a7241b4a3d9a5f32865093.png

突然问小白:“上面形状类似,尺寸不同的零件,要精加工内孔,你能编写个宏程序吗?”

小白一看,知道军哥我强调的玩宏就是玩变量,上面3种零件,加工的形状类似,只是尺寸不一样,那么可以用变量来代替这些尺寸,于是任意设置了几个变量如#1 代表D1的尺寸,#2代表D2的尺寸,#3代表L1的尺寸,#4代表L2的尺寸。

然后给军哥写了如下精加工的程序:

ed5da2403d4ee3f35c35337de0bd2105.png

是的,普通程序X,Y,Z后面都跟的是具体数值,如果有好几种类似的零件,完全可以采用变量替代这些具体数值,根据零件图纸,给变量赋予对应数值,从而让一个程序来完成n多种的零件加工。

3,变量的运算

说起运算,你肯定会想到上学的时候学过加减乘除,开方,平方根正,弦余弦等等运算,那么变量之间也可以这样运算的。

比如,#1+#2    #6*TAN45  #1-#6*#3等等。

如果#1=10 ;#2=20 ;#3=-30;#6=2

那么#1+#2运算的结果为:30 ;

#6*TAN45运算的结果为:20;

#1-#6*#3运算的结果为:70 ;

军哥讲到这里,小白表示完全明白,因为小学生都学过加减乘除运算法则,小白很想知道,开方,平方根正,正余弦等等数学公式运算,于是问道:军哥,三角函数,开方,曲线,椭圆等数学方程式在宏程序中如何应用的?

关于函数,数学公式等在编程中如何应用,军哥后面传授,毕竟学习好比爬楼梯,你要的东西在10楼,目前你还在一楼,需要一步一个脚印去学,就目前而言,先把变量搞明白。

关于变量的运算,军哥我补充道:

变量的运算顺序和数学运算顺序一样,有乘除的先算乘除,然后算加减。

如果有括号,先算括号里面的,在FAUNC系统中运算式要用中括号括起来。

比如:

#1=1

#2=3   

#6=10

那么:

#1+#6=11  

#1+#2*#6=31    

#1*[#1+#6]=11 

 #1-[#2+#6]=-12

再比如

#1=1  

#1=#1+1

讲到这里,军哥我停了下来问小白:“#1的值最后是多少?”

由于#1是1,那么1=1+1 貌似不合理啊,小白回答道。

请注意:前面讲过变量只是个代号,而不是一个具体数字。

#1=#1+1

#1=#1-1

这种形式的表达式是宏程序的“源动力”我们称为变量的自增(#1=#1+1)或自减(#1=#1-1)运算,任何宏程序几乎都离不开这种类型的运算。

为了你理解这种运算,军哥我给你举个例子。

我们这里的房价一直飙升,两年前均价6千/㎡,一年前8千/㎡,随着周边配套设施的建设,房还在涨价,现在均价1万/㎡,这就是自增。

f3bf7ad4c7127a55786a2993bea352b3.png

房价=房价+增值部分

再比如现在的小萌不是往年的小萌了,现在的小A 牛逼啦!他通过自身努力,先掌握了别人还没有掌握的技能,那么他就厉害了。

9c883a52c317509de0046702e242b635.png

小萌=小萌+绝活

好了,回到上面的问题?

#1=1  

#1=#1+1

最初变量#1的值是1,当程序运行到#1=#1+1

由于右边的变量增加了1,所以现在#1不是最开始#1了,而是2了

同样的道理,军哥问道:”小白你思考下面#1最后值是多少”?

#1=0  

#1=#1-1

由于军哥前面讲了变量的自增,小白反应灵敏,于是一口的答道:“左边#1的值为-1。

看着小白掌握了变量的减运算,军哥接着说:

上面变量的算术运算和我们学的数学运算差不多吧,包括平方根,三角函数等等运算与数学运算的方法完全一致!只是在宏的运算中个别算术运算符号的格式 是不一样的。比如下表:

3af3ab78c796cca139e8fa1bb8e0abe5.png

上表是我们常用的运算符号,我们用宏编写程序的时候,必须用宏变量的运算符号,具体如何应用会在后续的讲解中逐步渗透!数学中还有一些比如平方,绝对值,三角函数等等运算宏编程也会用到,下面我大致给讲解下,具体应用会在宏案例中来讲解!

SQRT[ ]: 平方根

ABS: [ ]:绝对值

这两个运算在我们学数学中都讲过。只不过宏的符号不一样而已。我们看在宏程序中如何使用它们。

比如:

#1=9

#2=SQRT[#1]

此时,#2=3

分析:因为#1的值是9,而对9开方 ,其结果就是3

比如:

#1=-20

#2=10

#3=ABS[#1+#2]

此时,#3=10

数学课本中学过 负数的绝对值,都是正数。在宏程序中ABS的目的就是去掉负号。所以#1=-20,#2=2

#1+#2这么运算 即-10 , -10的绝对值为:10   

军哥再举几个简单例子

取整数函数ROUND,它的含义是去掉小数点,并对小数点后面的值四舍五入,使整个数值结果为整。

如#1=1.234  

ROUND[#1] 的结果是1

如#1=0.6

ROUND[#1]的结果为1。

还有些函数如上取整FIX,下去整FUP

比如上取整FIX意思是直接舍弃小数点后面的数值。

如#1=0.96   那么FIX[#1]运算后的值为0,(因为此函数不考虑四舍五入,直接舍弃小数点后面的所有数值)。

FUP呢?用法和FIX相反,把小数部分变为整数1,并加到整数部分。

比如#1=1.06     FUP[#1]运算后的值为2。

#2=0.01    那么FUP[#2]运算后的值为1。

好了,关于变量今天给大家分享到这里,学好数控编程 找军哥,因为一套好的,有价值的专业编程资料是让你看着不累,学着还轻松。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值