顺序控制中PLC的程序设计方法
2011-01-11金芬
金 芬
(苏州市职业大学 机电工程系,江苏 苏州 215104)
可编程控制器(PLC)是在继电器控制技术和计算机技术的基础上发展起来的一种新型的工业自动控制设备,具有可靠性高、体积小、通用性强、易操作、设计周期短、抗干扰能力强等优点,广泛应用于工业生产的过程控制[1].在这些应用场合中,很多是对某生产流程或工艺流程的一种顺序控制,现以三菱FX系列PLC控制某物料传送装置为例,分析顺序控制中PLC的几种程序设计方法.
1 物料传送装置的控制要求
物料传送装置其动作流程为系统上电后,气缸A和B复位至缩回位置时,按下启动按钮,气缸A将工件推出料仓到指定位置1SQ2处,气缸B将工件传送到加工站2SQ2处.回退时,必须等气缸A的活塞杆回缩到尾端1SQ1处的时候,气缸B的活塞杆才能返回,最后停在2SQ1处.图1(a)为某物料传送装置示意图,图1(b)为该装置的气动原理图.
2 程序设计思想
2.1 控制要求分析
由系统的动作流程可知,该传送装置按一定的顺序工作,动作之间的转换由行程限位开关控制,其动作顺序为:A缸伸出→B缸伸出→A缸缩回→B缸缩回.
根据系统控制要求可知:PLC的输入信号有启动按钮SB1、A缸和B缸的行程限位1SQ1、1SQ2、2SQ1、2SQ2;PLC的输出信号为控制A缸和B缸伸出与缩回的电磁阀1YV~4YV.输入/输出信号的地址分配见表1.
图1 物料传送装置示意图与气动原理图
2.2 顺序控制设计思想
可将顺序控制这个控制过程分解为多个工序或阶段,每个工序均完成一定的功能,当该工序为活动状态时,PLC可产生相应的输出以驱动系统的执行元件,当转移到另一工序或下一个工序时,该转移的后续工序变为活动状态,前道工序变为不活动状态.基于这种设计思想可知,无论多么复杂的控制过程,都能分成n个小工序,从而实现相应的控制.
表1 物料传送装置PLC控制输入/输出信号的地址分配表
由此可知,弄清各个工序的工作细节,如工序成立的条件、工序要完成的动作、工序转移的条件和转移的方向成为设计的关键[2].
2.3 顺序功能图的设计
各个工序的表示可用两种方法,一是用PLC状态继电器表示,二是用辅助继电器[3]表示.顺序功能图的设计步骤为[4]:
1) 将流程图中的每一个工序(或阶段)看成是一个工作状态(即步),每个工作状态用PLC的一个状态继电器或一个辅助继电器表示.
本例状态继电器或辅助继电器的分配如下: 复位→S0或M0; A缸伸出→S20或M1;B缸伸出→S21或M2;A缸缩回→S22或M3;B缸缩回→S23或M4.
2) 弄清流程图中的每个状态功能.状态的功能是通过PLC驱动各种负载来完成的,负载可由状态元件直接驱动,也可由其他软触点的逻辑组合驱动.
S0或M0: 初始系统复位;
S20或M1:A缸伸出,驱动Y0(电磁阀1YV通电);
S21或M2:B缸伸出,驱动Y2(电磁阀3YV通电);
S22或M3:A缸缩回,驱动Y1(电磁阀2YV通电);
S23或M4:B缸缩回,驱动Y3(电磁阀4YV通电).
3) 找出流程图中的每个状态的转移条件和方向,即在什么条件下将下一个状态“激活”. 流程图中的箭头方向就是PLC状态转移图中的转移方向.状态的转移条件可以是单一的触点,也可以是多个触点的串、并联电路的组合.本例各状态继电器或辅助继电器被激活的条件如下.
S0或M0:初始脉冲M8002或B缸缩回到位X3(2SQ1);
S20或M1:启动按钮X0(SB1);
S21或M2:A缸伸出到位X2(1SQ2);
S22或M3:B缸伸出到位X4(2SQ2);
S23或M4:A缸缩回到位X1(1SQ1).
综合以上三步,可得到如图2所示的顺序功能图,其中图2(a)的工序用状态继电器表示,图2(b)的工序用辅助继电器表示.
3 顺序控制的实现方法
3.1 步进顺控指令编程
3.1.1 编程方法
当某一步被“激活”成为活动步时,该步的负载就可以被驱动.当该步后面的转移条件满足时,就执行转移,即后续步对应的状态继电器被置位,后续步变为活动步,同时原活动步对应的状态继电器被系统程序自动复位,其后面的负载线圈复位(SET指令驱动的除外).如图3给出了状态转移图和步进梯形图之间的对应关系.
3.1.2 梯形图
由图2(a)所示的状态转移图得到的物料传送装置的步进梯形图,如图4所示.
3.1.3 步进顺控指令编程的要点
1) 初始状态可由其他条件驱动,后续各步的状态必须由前级步和转移条件共同驱动,连续状态间的转移必须使用SET指令,跳转转移使用OUT指令.
2) 当某步为活动步时,对应的状态继电器为ON,当转移实现后,该转移的后续步变为活动步,前级步自动变为不活动步(对应的状态继电器为OFF),因此不需考虑步的复位问题.
3) 同一负载需要在多个状态中被驱动时,可使用多重输出(如图4中Y001和Y003).
3.2 起保停电路编程
3.2.1 编程方法
设计起保停电路的关键是找出它的启动条件和停止条件.如图5中M3变为活动步的条件是其前级步M2为活动步,且转移条件X4为ON.编程时应将前级步M2和转移条件X4对应的常开触点串联,作为起保停电路的起动电路;后续步M4的常闭触点与M3的线圈串联,作为起保停电路的停止电路.M3本身的常开触点作为保持(自锁)电路.
3.2.2 梯形图
由图2(b)所示的顺序功能图得到物料传送装置的起保停电路编程的梯形图,如图6所示.
3.2.3 起保停电路编程的要点
图2 顺序功能图
图3 状态转移图和步进梯形图之间的对应关系
图4 步进顺控指令编程的梯形图
图5 顺序功能图和起保停编程梯形图之间的对应关系
图6 起保停电路编程的梯形图
1) 各步的驱动使用OUT指令,要注意后续步起动后,前级步就变为不活动步了,因此要保持步的状态必须要有自锁电路.
2) 当同一负载需要在多个状态中被驱动时(如图6中Y001和Y003),必须集中处理,不允许使用多重输出.
3.3 置位复位指令编程
3.3.1 编程方法
若要实现步间的转移,需要满足两个条件,即该转移的前级步是活动步(M2=1)和转移条件满足(X4=1),则后续步变为活动步(SET指令将M3置位),同时将前级步变为不活动步(RST指令将M2复位).
使用置位复位指令编程的顺序功能图与梯形图的对应关系,如图7所示.
3.3.2 梯形图
由图2(b)所示的顺序功能图得到物料传送装置的置位复位指令编程的梯形图,如图8所示.
图7 顺序功能图和置位复位指令编程的梯形图之间对应关系
图8 置位复位指令编程的梯形图
3.3.3 置位/复位指令编程的要点
1) 实现步间的转移时,必须先置位(SET)后续步,然后复位(RST)前级步.
2) 与起保停编程法一样,当同一负载需要在多个状态中被驱动时(如图8中Y001和Y003),必须集中处理,不允许使用多重输出.
3.4 移位指令编程
3.4.1 编程方法
SFTR/SFTL指令[5]使定义参与移位的位元件的状态依次向右/向左移n位,在顺序控制中移位的位数可设为1,即当转移条件满足一次,至首位开始依次向右/向左移动1位.欲实现图9所示的顺序功能,应选择SFTL左移指令,转移的前级步对应的辅助继电器的常开触点与转移条件对应的电路串联作为移位脉冲,所有参与移位的状态只有1步为活动步,随着转移条件的满足,将该活动步依次传向后续步.
3.4.2 梯形图
由图2(b)所示的顺序功能图得到物料传送装置的移位指令编程的梯形图,如图10所示.
3.4.3 移位指令编程的要点
1) 采用移位指令编程时,需弄清同时参与移位的位元件的位数和要移入的状态是1还是0.
图9 顺序功能图和移位指令编程的梯形图之间对应关系
图10 移位指令编程的梯形图
2) 应采用脉冲执行型,即移位条件由OFF变为ON时,移位操作执行1次.若采用连续执行型,则当移位条件为ON时,移位操作每个扫描周期执行1次,这显然不能符合控制要求.
3) 同样,当同一负载需要在多个状态中被驱动时(如图10中Y001和Y003),必须集中处理,不允许使用多重输出.
4 结 论
步进指令、起保停电路、置位复位指令和移位指令4种编程方法都是根据生产过程的控制要求,将控制过程分解成若干个工序,每个工序对应一个状态(即步),用顺序功能图描述生产工作流程,再根据相应的编程方法编制梯形图,不仅适用于简单的顺序控制过程,也适用于复杂的控制任务或控制过程.用这些设计方法编制程序,结构清晰,容易理解,可读性强,并能缩短系统设计时间.其中步进顺控指令编程因不需要考虑线圈多重输出,最易被初学者接受.而移位指令编程结构紧凑,使用灵活,易被具有一定编程经验的技术人员采用.
[1] 龚云新,陈淑兰,解晓飞.三菱PLC实用技术教程[M].北京:北京师范大学出版社,2007:1-5.
[2] 陶亦亦,吴倩,陆春元.机床电气控制与PLC应用[M].北京:清华大学出版社,2010:177-182.
[3] 阮友德,邓松,张迎辉.电气控制与PLC实训教程[M].北京:人民邮电出版社,2006:196-208.
[4] 宋秀玲.PLC程序设计法探微[J].广西职业技术学院学报,2010,3(5):9-12.
[5] 史国生.电气控制与可编程控制器技术[M].北京:化学工业出版社,2004.