首页>工作相关>数控宏程序中的循环

数控宏程序中的循环

奇妙的循环

循环可以说是宏编程中最重要的概念,利用循环配合变量,可以用短短几行程序,来代替之前几十乃至数百行的程序。这还没完,因为程序的高度抽象,我们往往只需要修改少量的程序,就能将其用于其他结构类似但尺寸不同的产品。套用一句电脑编程的术语,这可以理解成为——具备一定的可重用性。

循环的语法

各厂宏程序的原理和逻辑基本相同,但语法以及性能上会有一定的差异,比如我们接下来要说的循环,在法拉克系统中,循环是这样的:

WHILE[#1LE20] DO 1
.
.
END 1

而在国产华中系统中,循环是这样的(华中的更简洁一些):

WHILE[#1LE20]
.
.
ENDW

相差虽然只是只言片语,造成的结果可能就是程序无法运行,所以实际生产中,遇到问题还是需要勤于查询编程手册。

循环的使用

cnc_macro_while_p1

仍旧从实例来切入,我们这次需要打3个孔,孔距为40mm,深度20mm,孔直径请自便。以下是法拉克上的程序:

G54
M3
G0X0Y0Z0
#1=0
WHILE[#1LE80] DO 1
G81X#1Y0Z-10R0
#1=#1+40
END 1
G0Z50
M5
M30

如果使用的是华中系统,那么循环则应该是这样的:

G54
M3
#1=0
WHILE[#1LE80]
G81X#1Y0Z-10R0
#1=#1+40
ENDW
G0Z50
M5
M30

很明显,两台设备的程序差异不大,接下来以法拉克为例,解释下程序原理。之所以以法拉克为例,是因为法拉克的循环实现相对更为复杂。在实现循环嵌套的时候,需要额外的标注层数,也就是上图中方框中的DO 1,以及END后面的1,这是后话,暂且不表。WHILE后面的中括号不再是优先运算了,需要注意,这里被括起来的是一个判断的条件,“LE”是小于等于的意思,“#1”不用解释了,这是一个几面之缘的变量,如果“#1”的位置换成一个固定的数字比如说20,那么20小于等于这个80这个式子是正确的,括号中的条件成立,那么包含在循环中的语句会被依次执行一次,然后重新回到WHILE,重新再判断一次,括号中的条件是否成立,因为我们把变量换成20了嘛,所以这条件也不可能变成不成立,所以这个程序就走不完了,你可以过几年再来看看,没准机器跑坏了就该停下来了。那如果把#1换成90,让这个判断条件不成立呢,这个时候的运行顺序是这样的,程序直接从G0Z50开始,跳过整段循环程序,然后就结束了。

cnc_macro_while_p2

条件成立的时候根本停不下来,条件不成立干脆跳过,我要你这循环有何用啊。不要着急,关键在于,#1它是一个变量,它会变,所以程序中我们插入了一条#1=#1+40,前面说过,这个不是等号,这个式子也不是等式,这是一条赋值语句,意思是把#1的当前值增加40,这么说吧,你包里有100,又给你40,要求你还放包里。#1的初始值是0,这条语句每运行一次,#1包里的钱会多40,依次是,0,40,80,120。所以WHILE循环每次拿到的判断条件也是不同的。

cnc_macro_while_p3

所以WHILE部分,注意只是WHILE部分,#1=0没机会重走啊,重走了那这戏法就没法变了。又因为#1是个多面手,我顺便让它负责了一下坐标定位工作,所以3遍循环,每遍的孔位也是不一样的。事实上,条件里的80就是根据孔距来规划的,之所以说是规划而不是计算,因为你设置成81~119程序也这么跑。81~119都小于120,第三遍的时候#1=80都会给过,第四遍#1成了120,都会被刷下来。所以考89的同学,也别嘲笑人家81的,都没过90好吗。

标签: CNC

移动端可扫我直达哦~

推荐阅读

cnc 2024-09-07

三菱CNC 64-SM如何复制程序

2024年了,遇到这样一台没有u盘,rs232接口生死难料的设备,也是挺无语的。BOSS以旧换旧淘了这么台设备,于是输入程序成了一个令人头疼的事情。花整半天时间手打了一个程序之后,想起来,这台设备对应的工序类似,所以程序格式基本相同,...

工作相关 CNC

cnc 2024-06-25

数控设备打刀缸紧刀慢松刀快或是紧刀快松到慢

公司某台华中的设备出了点问题,自动换刀的时候刀臂停在了换刀的位置不动弹了。检查了一下气源,供气倒是正常,将刀臂手动摇回初始位置后,按华中官网的指令,用“M69”命令将刀杯回位。检测了一下抓刀的流程,发现松刀时打刀缸下落速度正常,但紧刀...

工作相关 CNC

cnc 2024-06-22

华中数控刀库主要功能M代码含刀套倒下回位

单位多台华中系统的设备,运行稳定,就是时不时会出现一些小问题,比如刀库突然卡死,主轴定位偏移之类的。今天遇到一个因为信号超时引起的异常,换刀时松刀较快,但紧刀的时候气缸回退过慢,松紧刀信号超过了换刀程序的规定时长,从而引发了报警。用活...

工作相关 CNC

cnc 2024-04-17

数控铣刀杆MFWN04镶合金铣刀的代替品

单位加工深槽一直使用镶合金的铣刀,这货因为需要把刀片焊接上去,可能尺寸比较难以控制。博主在淘宝上尝试了很多家店铺的商品,质量偏差较大,不是直径(标称值统一为20的情况下)有较大出入,就是头部研磨过于粗糙,好不容易找到一家图片与产品质量...

工作相关 CNC

cnc 2024-03-07

三菱M60S无刀库报错9.ATC NOT READY

公司的三菱M60S有年头了,原本就是一台二手设备,配置较低,也没有加装刀库。某天操机的师傅过来找,说机床撞刀后报警了,重新开机后报警也没有消除。下去看了一下报警信息:9.ATC NOT READY这个错误太眼熟了,在有刀库的设备上经常...

工作相关 CNC

cnc 2024-03-01

广州数控GSK980MDC黑屏维修一例

清早到公司的时候车间主任告知一台广数的设备黑屏,看了下电气柜,伺服均通电量灯无报警。打开GSK980MDC位置的控制箱,测量了一下配套开关电源的输入部分,220V输入正常,就是没有了低压输出,考虑是开关电源损坏了。开关电源是个易损件,...

工作相关 CNC

cnc 2023-10-28

GSK980数控铣床伺服无报警黑屏一例

生产企业的设备故障犹如家常便饭,坏得多了,虽然不是设备维修人员,现场看上一圈,偶尔也能看出一点门道了。今天遇到一个黑屏的故障,设备系统是广州数控980系统的,广数的系统虽然没有三菱法拉克之类的名声在外,胜在操作简单,工作也很稳定。打开...

工作相关 CNC

cnc 2023-10-09

HSV-18S系列交流主轴驱动器故障一览表

故障诊断注意:参与检修人员必须有相应专业知识和能力。主轴驱动和电机断电至少5分钟后,才能触摸驱动器和电机,防止电击和灼伤。驱动器故障报警后,须根据报警代码排除故障后才能投入使用。复位报警前,必须确认EN(主轴使能)信号无效,防止电机突...

工作相关 CNC

cnc 2023-06-23

三菱60S刀库报警 MAG. POT NOT STANDBY OK

单位的三菱60S是二手的设备,虽工作环境恶劣,劳动强度大,但是老当益壮,唯一容易出故障的是换刀系统,而故障原因也不在该设备自身,经常是由于外部气管的泄露断裂,导致机械结构未能正确到位,引起某个信号的缺失,今天遇到的就是这样一个故障。气...

工作相关 CNC

cnc 2023-06-14

数控程序中的不同基准面下的g81的数值设置

g81是数控程序中非常常用的一个打孔语句,它的语法一般如下,其中x,y是制孔的坐标,z轴指孔的深度坐标,r同样也是坐标,表示程序允许快速下降到一个安全位置的坐标。g0x0y0z0 (隐性提供起始坐标) g81 x0 y0 z-10 r...

工作相关 CNC