SFC与经验设计法结合在解决复杂PLC控制要求中的应用*

2015-08-16 09:34董艺
关键词:黄灯交通灯手动

董艺

(安徽电子信息职业技术学院 机电工程系,安徽 蚌埠233030)

SFC与经验设计法结合在解决复杂PLC控制要求中的应用*

董艺

(安徽电子信息职业技术学院 机电工程系,安徽 蚌埠233030)

将顺序功能图(SFC)做为一种思路,结合通用的经验设计法解决了一个复杂的交通灯控制系统的设计任务,避免了完全使用经验设计法的繁琐并使得程序设计变得更加形象、易于理解且便于修改与扩展。

PLC;顺序功能图(SFC);控制

引言

在进行PLC的程序编制时,顺序功能图(SFC)由于其具有简单、形象且通用性强的特点,在对过渡过程比较明显的被控工作对象进行编程时较之经验设计法有明显的优势,因此很多编程者在面对PLC控制的程序设计时都会把SFC做为首选方法来考虑,能使用SFC尽量使用SFC。但是经验设计法仍然是用的最多的PLC程序编制方法,因为在实际中有很多被控对象的动作规律并不满足“顺序动作”的特点。还有一些被控对象,虽然有部分的控制要求满足“顺序动作”,但由于有很多额外的特殊控制要求,使得SFC无法完全覆盖所有的设计要求。对于这种情况,笔者针对一个较为复杂的十字路口交通灯的控制要求,提出一个基于SFC与经验设计法相结合的程序设计方法,以避免完全使用经验设计法进行程序设计的繁琐,以期对于从事复杂PLC程序设计的人员有一定的借鉴价值。

1 问题引入与程序总体设计思路的确定

设计一十字路口交通信号灯控制系统。由于夜间车辆很少,此交通灯有白天和夜间两种工作模式。白天模式为:A道绿灯亮27 S之后黄灯闪3 S,接着红灯亮20 S;与此同时B道红灯亮30 S之后绿灯亮17 S,接着黄灯闪3 S。上述闪亮方式不断循环。夜间模式为:A道和B道两路黄灯同时闪亮。信号灯在晚上11点30分会由白天模式自动切换至夜晚模式,在次日凌晨5点30分又会由夜晚模式自动切换至白天模式。此外,如果出现一道有车而另一道无车的状况时,可手动调节使有车车道绿灯亮;当有紧急车辆通过时,可手动使A、B两道皆为红灯闪亮,示意让紧急车辆先通过。

首先,在考虑如何编制程序之前,应当确定控制系统输入输出(I/O)资源的分配。根据问题所提出的要求,可以确定I/O资源分配如表1所示。

表1 交通信号灯控制系统的I/O资源分配表

此交通灯控制系统的控制要求如果没有夜间模式和手动放行等问题,实质上用顺序功能图来处理的话,是一个简单而又非常典型的并发序列。但是设计中要求要有白天与黑夜的按时切换,这就又涉及到了选择的问题。所以SFC的架构应该是一个先选择后并发的结构。在SFC确定之后,可以再用经验设计法将手动的特殊要求部分的程序编制出来,最后将两部分程序结合在一起即可。因为该设计程序较为繁琐且需要将两种编程思路编出的程序的相互叠加,笔者认为对于SFC部分的程序,用起保停转化方式转化比较合适,因为步进转化方式比较严格,而起保停相对较灵活,便于与手动部分程序相结合。

2 交通灯按时间进行模式切换的处理

白天与黑夜模式的切换从SFC的角度来看实质上是一种选择,而选择的条件就是PLC工作时的时间究竟是在晚23点30分到凌晨5点30分这个区间内还是在这个区间之外。

在程序设计中,这个选择条件的设定不能是手动的,而应由PLC内部自带的时钟来决定。笔者要在程序中做的是把PLC自带的时钟目前的时间数值读出来,然后与5点30分0秒、23点30分0秒两个关键时间节点相比较,以确定究竟应该选择夜间模式还是白天模式。PLC的实时时钟数据中的时间信息存储在7个对应的特殊数据寄存器中。我们可以用TRD指令将其读出。具体见图1所示。

图1中,当X1=1时,TRD指令将会被执行,将D8013~D8019中的时间数据读到对应的数据寄存器D0~D6中。由于交通灯的模式切换与年、月、日及星期四个时间信息无关,所以只需关注D3~D5中的数值即可。至于切换问题,可以在SFC的一个工作步中使用一个时间区间比较指令,然后利用相应的辅助继电器的状态作为模式切换条件,具体见图2所示。

图1 时钟数据读出指令TRD说明

3 SFC部分程序的设计

结合前面的分析,可以先设计出白天与夜间切换工作的SFC。由于5点30分0秒、23点30分0秒这两个关键时间点包含了六个数字信息,所以需要六个数据寄存器(D10~D12、D20~D12)来进行存放。之后用TRD指令将PLC的时钟信息读出,然后用TZCP指令进行时间的区间比较。当系统时间小于5点30分0秒时,辅助继电器M20为ON,当系统时间介于5点30分0秒与23点30分0秒之间时,M21为ON,系统时间大于23点30分0秒时,M22为ON。因此,M21可以作为向白天模式切换的条件,而黑夜模式的切换条件应为M20+M22。具体处理如图2所示。

图2 白天与黑夜模式的切换处理

由于夜间模式只是两路黄灯闪亮,所以只需使用一个工作步带两个负载Y1、Y4即可。而单纯的白天模式是一个典型的并发序列,在有了前述的模式选择之后将白天与夜间的SFC叠加即可。为了满足顺序功能图的格式要求,SFC程序中设置了三个虚步M5、M9、M10。具体见图3所示。

图3 工作在白天/黑夜模式的交通灯的SFC程序

4 手动部分的程序设计

手动部分需要考虑的主要是A道和B道的手动放行以及紧急车辆通过时的情况。由于X1和X2分别是A道和B道的手动放行开关,因此二者的优先级别是相同的,谁先打开谁有效,所以应设置为互锁。由于硬件上的开关无法互锁,因此可以借助辅助继电器M20、M21。结合图3的SFC,A道绿灯应在M2为活动步或者M20为ON时点亮,因此可将M2与M20并联,然后串联M21和X3的常闭接点做为A道绿灯Y0的驱动条件。对于A道黄灯,需M3或M11为活动步,且所有手动开关都不能打开,灯才能亮。A道红灯的驱动需要M4为活动步或者M21为ON,之后需串联M20和X3的常闭接点。由于紧急开关打开时,红灯是闪亮的,应将X3的接点串上特殊辅助继电器M8013并并联于下方。由于B道与A道在闪亮规律上是对称的(时间参数除外),所以可得梯形图程序如图4所示。

图4 交通灯手动部分的梯形图程序

5 总结

只要用起保停转化方式将图3中的SFC转化为梯形图,再将其与图4中的梯形图程序相叠加即可获得该交通灯控制的完整的程序。笔者将该程序输入PLC,并在实验室里控制发光二极管进行模拟,控制中的各项要求皆可完成并且可以长期稳定运行。此前,有人抛弃SFC,完全使用经验设计法对该控制要求进行设计。笔者将两种方法进行比较之后发现,SFC结合经验设计法不仅适用于该设计中的交通灯控制系统,而且还可以在很多复杂控制设计中使用,并能使得设计过程大为简化。

注释及参考文献:

[1]郭艳萍,张海红.电气控制与PLC应用[M].北京:人民邮电出版社,2013:134-135.

[2]王阿根.电气可编程控制原理与应用[M].北京:清华大学出版社,2010:174-175.

[3]林春方.电气控制与PLC技术[M].西安:西安电子科技大学出版社,2009:179-180.

TheApplication of SFC Binding Experience-based Design Method in Solving Complex PLC Control

DONG Yi
(Department of Mechanics&Electrics,Anhui Vocational College of Electronics&Information Technology, Bengbu,Anhui 233030)

By using sequential function chart as a train of thought and binding it with experience-based design method,the design of a complex traffic light controlling system has been completed.Meanwhile,the cumbersome process of using experience-based design method has been avoided and the program design becomes much vivid and more understandable as well as easier to be extended.

PLC;sequential function chart(SFC);control

TP273

A

1673-1891(2015)01-0041-03

2014-10-07

2012年安徽省级质量工程项目“精品资源共享课程”(项目编号:2012gxk161)。

董艺(1979-),男,安徽蚌埠人,讲师,硕士,研究方向:电气自动化。

猜你喜欢
黄灯交通灯手动
基于单片机的交通灯模糊控制器研究
为什么交通灯是红黄蓝三种颜色?
小巧手动起来
一直飘红的交通灯
风行S5001.6L手动尊享型
宝骏5601.8L手动豪华型
C4世嘉 1.6L手动豪华型
基于单片机的LED模拟交通灯设计
无知之幕与博弈:从“黄灯规则”看博弈论的一种实践方案
还有94分