交通红绿灯PLC控制系统编程方法与技巧
您的论文得到两院院士关注
文章编号:1008-0570(2006)04-1-0089-03
控制系统
交通红绿灯PLC控制系统编程方法与技巧
TheProgrammingTechniqueforTrafficLight'sPLCController
(江苏大学)杨
东黄永红
Yang,DongHuang,Yonghong
摘要:本文介绍了交通红绿灯基本控制形式,针对带绿闪的红绿灯和带数显的红绿控制和实现方法,详细论述了相应的编程方法和技巧。实验证明编制的程序运行可靠,简单实用。关键词:可编程控制器(PLC);红绿灯;绿闪;数显中图分类号:TP286文献标识码:A
Abstract:Thebasiccontrolmethodsoftrafficlightareintroducedinthepaper.Throughintroducingthetrafficlightwithshiningofgreenlightandthetrafficlightprogramwithdigitdisplaying,theprogrammingmethodsandprogrammingtechniquearediscussedindetail.Theexperimentshaveshownthatthesoftwareworkreliably,andthesoftwarearesimpleandpractical.Keywords:ProgrammableLogicController(PLC);trafficlight;greenshinning;digitdisplaying
1概述
随着社会经济和城市交通快速发展,城市规模不断扩大,交通日益繁忙,红绿灯保障了城市交通有序、安全、快速运行。现在城市十字路口的红绿灯基本都是采用程序控制,其中采用可编程控制器(PLC)程序控制的,在实际使用中占有很大的比例,在工科院校的PLC课程及实验教学中,红绿灯程序控制作为典型的编程范例。十字路口交通信号红绿灯通常为三种控制形式。第一种为传统红绿灯,即绿灯切换到红灯之前,车辆由动到静,用黄灯缓冲过度;红灯切换到绿灯时,车辆由静到动没有缓冲过度;第二种是在传统红绿灯控制形式的基础上增加绿灯闪烁(简称绿闪)功能,即在绿灯时段行将结束的最后3秒闪烁三次,其目的是提示绿灯时段行将结束,并保留黄灯缓冲过度;第三种是数显红绿灯,即倒计时数字显示红绿黄灯的时段。由于全过程有时间显示,不要绿闪,但可以保留黄灯。现在绝大多数红绿灯数显屏能显示红绿两色,目前带方向指示的数显红绿灯也不在少数。如果按红绿灯是否带数显的功能来分,红绿灯可分成非数显和数显两大类。在这两大类中均可附带人行横道红绿灯。图1是十字路口交通信号灯俯视平面示意。
技术创新
图1交通信号灯俯视平面示意图
带绿闪的交通红绿灯运行时序图如图2所示。可以用多种编程方法来实现,例如基本逻辑接点法、S/R指令法、环形分配器法(或鼓型控制SCR顺序控制法、器法),以及采用上述两种以上编程法组合的综合编程法。基本逻辑接点法,即采用计时器/计数器结合基本逻辑接点实现时序输出。这种编程法编出的程序短小精悍,但要求编程者有较丰富的编程经验;S/R指令法,应当说没有什么鲜明的特点,它既可以靠基本逻辑接点法,又可以按照顺序控制法的思路来编程;SCR顺序控制法,由于利用了SCR顺序指令,编程上手十分容易,但梯形图程序的网络行很多,且调试较难;环形分配器法(或鼓型控制器法),一般是用SHRB移位寄存器“做”一个环形分配器(PLC本身有鼓型控制器编程更为方便),再按时序图的时刻分别输出到红绿黄灯上即可。此类编程法最适合编按时序图输出的程序。为了采众编程法之长,也可采用两种编程法。上述编程法均可按图3的顺序功能图进行编程。带绿闪的红绿灯梯形图如图4所示,可看出该程序是基本逻辑接点法和S/R指令法的综合体。
从图3的顺序功能图可以看出,所有的红黄绿灯
:360元/年-
2红绿灯PLC控制程序编制方法
2.1带绿闪的红绿灯程序编制方法
带绿闪的红绿灯编程方法的探讨,来研究非数显文中的PLC编程方红绿灯PLC控制编程的一般方法。
法均以西门子S7-200作为背景机。杨东:工程师
本文得到江苏大学精品课程基金资助(JPKC2004Y01)
《嵌入式系统应用精选200例》
89-
控制系统
中文核心期刊《微计算机信息》(测控自动化)2006年第22卷第4-1期
的变换都是有固定的时间。所以在图4梯形图的第一
和第二网络行,采用T37和T38两个计时器组成了一个脉宽、占空比、频率/周期均可调的“脉冲发生器”(该脉冲发生器可用在上述全部编程方法中)。用它分配前后30s的时序控制。T39和T40、T41和T42也是相同的原理,只是缩短周期而已。但是绿闪信号并不是直接取自T41/T42的脉冲发生器,而是考虑到绿灯常亮25s+绿闪3s+黄灯2s=30s,结合计数器C0、比较器和S/R线圈的配合完成绿闪的控制和黄灯的点亮。因此,如果是不带绿闪的交通红绿灯的PLC编程是十分容易做到的。
己比较熟悉的编程法编程即可。
技
术创新
图4的梯形图程序中有几点需要说明的:如在时序图2和顺序功能图3中绿灯常亮为25s,可在梯形图程序中T39/T40的计时时间是24.5s,这是因为该25s是由T39/T40的24.5s+T40的0.5s组合而成;黄灯点亮的比较器接点并联了自锁接点,其目的是使黄灯不在计数值到“的上升沿时熄灭,保持到“的下降5”5”
沿时熄灭而采取的措施。推而广之,一般执行时序图输出的控制程序(不管是哪一种编程法),特别是有连续短延时的程序,更要注意不要多出或丢失短时段,即应当注意是上升沿有效还是下降沿有效。还应注意的是,输出位不应参加时序逻辑调整,应由“中间继电器”接点控制输出。
此类按时序图输出的PLC控制程序,不管采用什么编程法编程,编程难度并不是绝对的,一般采用自
-
360/:PLC技术应用200例》
您的论文得到两院院士关注
控制系统
灯两种。由于显示图形是预先做在显示屏上,所以红灯图形只占1位输出,行走绿灯动画图形一般不超过3位输出,很容易通过编程实现。
2.2数显类红绿灯编程技巧
数显类交通信号红绿灯的程序设计,一般有两大类编程法:其一,是先有一段非数显红绿灯大控制程序(有没有绿闪均可),再配以同步的倒计时计数器即可;其二,无须有非数显红绿灯控制程序,直接依托倒计时计数器内部的减计数值,给倒计时数显设备显示和红绿黄灯转换用。此外,如果数据显示屏有接收数据的功能,也可用数据传输的方式传输倒计时数据,但在PLC控制的交通红绿灯较少采用。
数显红绿灯程序一般使用CTD减计数器来做倒计时计数器。以第二类为例,又可分两种编程方法:一是按红灯或绿灯+黄灯总时间计数,然后读出减计数值,供数字显示、切换红绿黄灯用。二是按数显位分位减计数、输出,切换信号通过两位比较器接点读出。这两种编程方法的主要区别是:前者能在刻度值范围内对CTD置任意正整数。但如果采用SEG段码指令输出,必须要按十进制的各位进行分位以后,才能在软段码译码器上译码到输出端,SEG段码指令只接收低
3结束语
交通信号红绿灯PLC控制的编程,总的来说,不是特别困难,但编程方法繁多,编程的随意性很强,有的方法编制的程序很长、难以理解。本文对带绿闪的红绿灯程序编制和数显类红绿灯编程方法和技巧进行了研究,并在PLC实验系统进行了调试和运行,实验证明运用一些编程技巧后,编出来的程序短小、精炼,运行可靠。特别是如图5中运用的数字显示编程技巧可用到其他需要数显编程的PLC控制系统中。
参考文献:
[1]任俊杰,苏秀丽,刘泽祥.基于SIMATICS7PLC的分布式控制系统实现[J],微计算机信息,2005,6:44-47
[2]吴中俊,黄永红.可编程序控制器原理及运用.北京:机械工业出版社,2005
[3]西门子公司.SIMATICS7-200可编程序控制器系统手册,2000
4位,而一般需要数显的是两位数以上,这给编程带来了一些困难。后者是将前者需要段码显示的十进制数分位,即将个位和十位分别采用各自的CTD减计数器计数,这样减少了编程的难度。但数显的十进制数个位必须是9,如30s只能置29s、40s只能置39s,因此它在实际应用中较少采用。如果采用BCD码数字输出,前者只需一个字节的BCD码,就可以数显两位十进制数,不需要分位。显然比后一种显示方式简便得多。数显红绿灯梯形图程序图(略可向作者索取)所示。注意:如果BCD码数字通过继电器输出的PLC输出时,应当注意串接接地电阻,以避免BCD码输出位悬空。从图中十分精练的梯形图程序来看,只有9个网络行,采用SEG段码数字输出。其中第三网络行和第四网络行组成倒计时计数器。I-BCD指令实现按“字”转换,通过MOV-W读出计数器C40中的值,再将VW18中的低8位数值进行段码变换,得到十进制数的个位显示值。十进制数的十位显示值需要分位得到,该程序巧妙地通过SHR-B右移位指令轻松得到。红绿黄灯显示的行/列分配,通过INV-B取反指令来实现。这样仅用一条指令就完成了其它编程方法要用多个网络行才能实现的任务。最后,按预先选定绿灯/黄灯切换的时间点,通过比较器接点读出输出到各方向的红绿黄灯上去即可。如图5网络行8、9所示。在该例程中,通过巧妙地运用SHR-B指令和INV-B指令,使得编出的程序短小、精悍,大大缩小了程序的程度和执行时间。该方法也可运用到其它需要数显的工程项目中。
人行横道红绿灯,没有黄灯,一般为红绿灯、数显、图显三种。前两种参考车行道红绿灯编程即可。后一种一般又分站立红灯/行走绿灯、手掌红灯/行走绿
作者简介:杨东(1958-),男,大学本科学历,工程师,
电气控制装置的研究与开发工作。从事PLC实验教学、
(212013镇江江苏大学电气信息工程学院)杨东
黄永红
(SchoolofElectricalandInformationlEngineering,JiangsuUniversity,Zhenjiang212013,China)Yang,DongHuang,Yonghong
(投稿日期:2005.8.28)(修稿日期:2005.9.8)
技术创新
(接36页)
[2]ROBERTGWetal.Afuzzycontrollerforintegratedshipmotion[C]IFAC.14thWorldCongress,prep,Q:7-12,1999
[3]K.J..ASTROMandBWITTENMARK,AdaptiveControl.Addi-
C].MA,1995son_Wesley,Reading[
[4]杨宏丽.基于80C196单片机的模糊控制系统[J],微计算机信息,2005,3:34-36
作者简介:张朝亮(1982-)男(汉),黑龙江人,硕士研究生,研究方向为计算机监测与控制。Email:wang-
haifengcdd@yahoo.com.cn;江汉红(1960-)男(汉),湖北武汉人,博士,硕士生导师,副教授,主要从事网络测控与智能控制的研究;陈少昌(1962-)男(汉),陕西韩城人,博士,硕士生导师,副教授,主要从事智能控制的研究。
(430033武汉武汉海军工程大学)张朝亮江汉红陈少昌王海峰
(NavalUniversityofEngineering,Wuhan430033,China)Zhang,ChaoliangJiang,HanhongChen,ShaochangWang,Haifeng通信地址:
(430033武汉海军工程大学电气工程系406教研室)张朝亮
(投稿日期:2005.9.15)(修稿日期:2005.9.27)
《嵌入式系统应用精选200例》:360元/年-
91-