PLC程序中移位指令在顺序控制系统中的应用
2020-06-21李嫄
李 嫄
(广东松山职业技术学院,广东韶关 512126)
0 引言
在PLC编程中,移位指令是一组使用频率很高的指令,包含左移位指令、右移位指令、循环左移、循环右移等移位指令。其功能是将目标操作数中的所有位按规定的方式移动,结果存放在目标操作数中。本文针对在西门子S7-1200、S7-200smart等中小型PLC中没有SFC流程图的编程方式,介绍了移位指令在顺序编程中的应用,该应用实现了顺序控制功能。
1 左右旋转气缸取放料
左右旋转气缸的设备如图1所示,其工作原理:如有料则完成“左转、下降、真空吸、上升、右转、下降、真空放、上升”共8步。很显然符合顺序编程。因西门子S7-1200、S7-200smart等中小型PLC没有SFC流程图的编程方式,如果要实现流程控制,需要将流程图转换为梯形图,编程比较繁琐,如果用移位指令则使程序简单易懂。现以循环左移指令(图2)为例介绍移位指令[1-2]。
图1 左右旋转气缸的设备
图2 循环左移指令
(1)可以使用“左移”指令将输入IN中操作数的内容按位向左移,并在输出OUT中查询结果。参数N用于指定将指定值移位的位数。
(2)当参数N的值为“0”时,输入IN的值将复制到输出OUT中的操作数中。
(3)如果参数N的值大于可用位数,则输入IN中的操作数值将向左移动可用位数个数。
(4)用0填充操作数右侧部分因移位空出的位。
图3 左右旋转气缸移位指令编程实例
用移位指令来对左右旋转气缸进行编程,程序如图3所示。首先需要满足左转条件接通M6.0,M6.0接通后气缸左转;到左限位就移位,移位后接通M6.1,M6.1接通后机械手下降;到达下限位就移位,移位后M6.2接通,M6.2接通后真空吸;真空吸感应到后就移位,移位后M6.3接通,M6.3接通机械手上升;到达上限位就移位,移位后M6.4接通,M6.4接通后机械手右转;到达右限位就移位,移位后M6.5接通,M6.5接通后机械手下降;到达下限位就移位,移位后M6.6接通,M6.6接通后真空放;真空放感应到后就移位,移位后M6.7接通,M6.7接通后机械手上升;然后再次接通M6.0,下一个循环开始。对于其他机械手的取放料顺序控制都可以采用这种方法进行编程[3-4]。
2 三自由度机械手取放料
三自由度机械手的设备如图4所示,设备功能是上一站的组合属性信号将实时传输给该站,该站的三自由机械手将根据上一站传来的组合信号,将4种不同组合的工件分别存储在4层立体仓库中。每放一个工件在人机界面中都会有信息显示,当某个仓库放满时,仓库托盘将伸出不再收仓。机器发出蜂鸣提醒操作员进行人工清理。
图4 三自由度机械手
流程分析:满足取料条件则完成“控制X和Y轴伺服运动到取料点上方、控制Z轴下降运动到取料点、夹物料、控制Z轴上升运动到取料点上方、控制X和Y轴伺服运动到放料点上方、控制Z轴下降运动到放料点、放物料、控制Z轴上升运动到放料点上方”共8步。
用移位指令来对三自由度机械手取放料进行编程[5-6],程序如图5所示。首先需要满足左转条件接通V20.0,V20.0接通后控制X和Y轴伺服运动到取料点上方;X和Y轴运动完成且有料就移位,移位后接通V20.1,V20.1接通后控制Z轴下降运动到取料点;Z轴运动完成就移位,移位后V20.2接通,V20.2接通后夹物料;夹到位后就移位,移位后V20.3接通,V20.3接通控制Z轴上升运动到取料点上方;Z轴运动完成就移位,移位后V20.4接通,V20.4接通后控制X和Y轴伺服运动到放料点上方;X和Y轴运动完成且允许放料就移位,移位后V20.5接通,V20.5接通后控制Z轴下降运动到放料点;Z轴运动完成就移位,移位后V20.6接通,V20.6接通后放物料;放到位后就移位,移位后V20.7接通,V20.7接通后控制Z轴上升运动到放料点上方;然后再次接通M6.0,下一个循环开始。
图5 三自由度机械手移位指令编程实例
3 8工位转盘
8工位转盘的设备如图6所示,其工作原理:转盘每次转动45°遇到一次大转盘原点,会暂停一下。整个生产线共A、B、C、D四个站,B站将工件放到第1个工位,转盘转动,转到第3个工位时,通知A站,曲轴取A站工件在第3个工位进行装配,装配好转至第4个工位时补压气缸进行冲压,使工件装配完好。用MB8代表8个工位,M8.0~M8.7分别代表C站第1~8个工位。几个工位为并行序列,如果使用流程图编程,流程图如图7所示。因西门子S7-1200、S7-200smart等中小型PLC没有SFC流程图的编程方式,如果要实现流程控制,需要将图7的流程图转换为梯形图,编程非常繁琐[7-8]。如果用移位指令则使程序简单易懂。用移位指令来对8工位转盘进行编程,程序框架如图8所示,第1个工位有工件时置M8.0为1,然后大转盘每转1次,MB8左移1次并将结果再次存放在MB8中,转1次M8.1为1,再转1次M8.2为1,依次类推,当对应位为1时,该工位执行相应的动作。根据实际情况添加各工位工作程序即可。
图6 8工位转盘
图7 8工位转盘流程图
图8 八工位转盘移位指令编程实例
4 结束语
顺序控制是PLC编程中常见的控制功能,本文针对在西门子S7-1200、S7-200smart等中小型PLC中没有SFC流程图的编程方式,使用移位指令来完成顺序控制,使程序简单易懂,在教学中取得了良好的效果。