恭喜,你发布的帖子
发布于 2024-02-01 15:19:37
1楼
介绍一个很好用的命令REPEAT,UNTIL
西门子用于加工的命令很多很多,功能也很强大。不夸张地说,只有你想不到,没有他做不到的。这里介绍一下新手车工和新手电气不常用到的,但相当好用的命令: REPEAT,UNTIL 。手册里的功能解释为:REPEAT循环的结束是有条件的。RPEAT循环一但被执行会不断重复,直到满足条件为止。
句法:REPEAT
… …
UNTIL<条件>
这就完了,太简单了。不知什么时候用,如何用。 我介绍两种用到这个命令的场景。
第一种,导轨润滑。我们经常碰到当导轨润滑油低时,把导轨油低的信号给禁止循环启动的信号如DB21.DBX7.1(828D接口信号:DB3200.DBX7.1)。意思就是:当加工完成这个工件以后,下次不能循环启动了。事实上是随着社会的进步,科技的**展,工件加工也由手工上下料改成机械手上下料。这就使得加工设备一直处于循环当中,直到完成加工任务,才会退出循环。造成导轨油低时,仍持续工作,导致导轨被拉伤。
只需要在主程序开头加上三条命令,就可以解决这上问题:
AA: ;程序开头循环标志
REPEAT
MSG(“哥们醒醒,我很渴,给我一口喝的吧“);加油提示
UNTIL $A_IN[9]==0 ;满足条件,$A_IN[9]为PLC里定义油低
;为1,不低为0。
… ….
GOTO AA
M30
这就实现我们的意图。当润滑油低时,程序开始从头运行时,停下来并报警,人工加完润滑油后,机床继续运行下去。
第二种机机械手上下料时。下面是前几年设计的一台双主轴立式加中心,带机械手三个轴,共三个通道十五个轴。如图:
其中一二通道为两个加工单元。第三通道为机械手加工单元, Z1为下料机械手,Z2为上料机械手,X1拖着Z1和Z2一起走。下面是一段机械手从上料仓抓料的程序:
G0G90Z1=0Z2=0 ; 机械手退到安全位
X=_XMPZLP ;机械手X走到毛坯抓料点
REPEAT
MSG(“上料仓没有准备好,禁止抓料”)
UNTIL $A_IN[24]==1 ;$A_IN[24]==1料仓准备好信号。
M16 ;锁定料仓
Z2=_Z2MZP+200+R11;机械手走到料仓上方200(防高空掉落)
M13;再次确认机械手张开
G01Z2=_Z2MZP+R11 F3000 ;机械手 Z2走到抓料点
G4F1
M12 ;抓料
G0Z2=0;提起
M14;解除上料仓锁定
X=_XJCMP+1824 ;走到待上料点,等待上料
M17
上里用到REPEAT,UNTIL 功能,好用的很。比IF …语句好用。
这是我所用的两种功能。还可以用于多次重复同样的动作。比如:在一个平面上钻多个大小深度相同的孔,扩孔、攻丝等。不但可以简化程序,还易懂。
请填写推广理由:
分享
只看
楼主