基于PLC专家控制系统的十字路口红绿灯控制设计_第1页
基于PLC专家控制系统的十字路口红绿灯控制设计_第2页
基于PLC专家控制系统的十字路口红绿灯控制设计_第3页
基于PLC专家控制系统的十字路口红绿灯控制设计_第4页
基于PLC专家控制系统的十字路口红绿灯控制设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE PAGE 45基于PLC专家控制系统的十字路口红绿灯控制设计摘要在当今高速发展的社会里,交通问题成为大家关注的社会问题,而目前国内十字路口的交通灯控制一般是定时切换控制的,汽车数量的直线上升及现有的定时切换控制方式的局限性都使得我们有必要寻求一种智能的交通控制系统。基于此本论文主要思路是:利用探测器(即电磁感应线圈)探测出车辆的流量后,通过可编程控制器PLC来实现自动调节红绿灯的时长。关键词:PLC控制;交通灯;探测车流量;专家控制系统AbstractIn the high speed development of society,the traffic problem become

2、s the social problem that everybody pays attention to,but at present our country traffic lights control generally is timing. And that the quantities of cars increase straightly and the timing control of the traffic lights have some bugs make us have necessity to look for a kind of intellective trans

3、portation control system。According to that, the way of thinking of this thesis is that:the time of the traffic lights are automatically computed by PLC after the locators(namely electromagnetic induction coil)have explored the discharge of the vehicle。Key words: the Control of PLC;Traffic lights;Num

4、ber cars;the expert control system目 录 TOC o 1-3 h z u HYPERLINK l _Toc169589437 中英文 HYPERLINK l _Toc169589438 摘要( PAGEREF _Toc169589438 h I) HYPERLINK l _Toc169589440 1引言( PAGEREF _Toc169589440 h 1) HYPERLINK l _Toc169589441 2交通灯控制系统方案论证( PAGEREF _Toc169589441 h 1) HYPERLINK l _Toc169589442 3用PLC实现交

5、通灯控制系统( PAGEREF _Toc169589442 h 3) HYPERLINK l _Toc169589443 31 PLC的选型( PAGEREF _Toc169589443 h 3) HYPERLINK l _Toc169589444 32 系统I/O分配和接线图( PAGEREF _Toc169589444 h 4) HYPERLINK l _Toc169589445 321 I/O分配表( PAGEREF _Toc169589445 h 4) HYPERLINK l _Toc169589446 322 I/O接线图( PAGEREF _Toc169589446 h 5) HY

6、PERLINK l _Toc169589447 33 传感器探测车辆( PAGEREF _Toc169589447 h 5) HYPERLINK l _Toc169589448 331 光电开关(光电传感器)( PAGEREF _Toc169589448 h 5) HYPERLINK l _Toc169589449 332 电感式传感器( PAGEREF _Toc169589449 h 6) HYPERLINK l _Toc169589450 333 传感器的铺设( PAGEREF _Toc169589450 h 7) HYPERLINK l _Toc169589451 34 用专家控制系统实

7、现红绿灯的时长( PAGEREF _Toc169589451 h 7) HYPERLINK l _Toc169589452 341 专家控制系统设计( PAGEREF _Toc169589452 h 7) HYPERLINK l _Toc169589453 342 车流量的计算( PAGEREF _Toc169589453 h 9) HYPERLINK l _Toc169589454 343 用专家系统实现绿灯时长的智能控制( PAGEREF _Toc169589454 h 9) HYPERLINK l _Toc169589455 35 程序设计和编程( PAGEREF _Toc1695894

8、55 h 11) HYPERLINK l _Toc169589456 351 PLC程序设计( PAGEREF _Toc169589456 h 11) HYPERLINK l _Toc169589457 352 PLC的编程语言( PAGEREF _Toc169589457 h 15) HYPERLINK l _Toc169589458 4程序调试的基本要点( PAGEREF _Toc169589458 h 15) HYPERLINK l _Toc169589459 5结束语( PAGEREF _Toc169589459 h 16) HYPERLINK l _Toc169589460 致谢(

9、PAGEREF _Toc169589460 h 16) HYPERLINK l _Toc169589461 参考文献( PAGEREF _Toc169589461 h 16) HYPERLINK l _Toc169589462 附录:十字路口红绿灯控制梯形图( PAGEREF _Toc169589462 h 17)1引言目前,随着我国城市道路和交通运输的迅速发展,交通管制显得越来越重要。不仅要依据实际车流量来设计路口的交通红绿灯信号控制方案,而且还要根据当前流量统计,及时进行方案的调整及优化,保证道路畅通和单位时间流量最大化。计算机技术的迅猛发展,使小型PLC可编程控制器的指令功能日趋强大,而

10、采用逻辑集成电路组成的信号灯控制器,已经不能满足现实需要,用PLC控制城市交通信号灯,不仅可以满足现实需要,而且投资少,周期短,人机对话界面良好,控制方案更简单,适合于各种情况1。传统的十字路口交通控制灯,通常是事先经过对交通流量的调查,运用定时的方法将两个方向红绿灯的延时时间预先设置好2。这样必然产生如下弊端:当某条路段的车流量很大时却要长时间等待红灯,而此时另一条是空道或车流量相对少得多的道却长时间亮的是绿灯,这种现象是未对实际情况进行实时监控所造成的,这样的交通控制系统效率低,容易造成交通拥挤,而且对人力、物力资源的浪费。因此,我们有必要寻求一种能根据车流量变化的情况来智能控制绿灯时长,

11、减小滞留量,提高交通控制系统。基于此,本论文应用可编程序控制器(PLC)对十字路口交通实现专家控制:在十字路口各入路口附近的地下按要求埋设感应线圈,当汽车经过时就会产生涡流损耗,环状绝缘电线的电感开始减少,即可检测汽车的通过,并将这一信号转换为标准脉冲信号作为可编程控制器的控制输入,并用PLC计数,按一定控制规律自动调节红绿灯的时长,可避免出现空道占时现象。本论文主要解决的问题是:如何检测车辆的存在与通过,探测车辆传感器的布置,如何应用专家控制系统来控制红绿灯时长,最后程序的实现与调试。2交通灯控制系统方案论证(1) 采用继电器控制系统实现,继电器控制回路存在多种弊端,如继电器由于长期动作容易

12、造成咬死和损坏、继电器回路接线复杂,而且维护困难、继电器回路难以实现复杂逻辑的控制等。采用继电器控制来实现,结构复杂、造价高、维护难,很难达到复杂的控制要求。传统十字路口红绿灯控制就是采用此种方法来控制的。其系统工作过程:首先是南北红灯亮并维持25s,在南北红灯亮的同时,东西绿灯亮并维持20s。20s延时到,东西绿灯闪亮3s(闪亮的周期为1s即亮0.5s,熄0.5s)后熄灭,东西黄灯亮并维持2s后,东西黄灯熄灭,东西红灯亮,同时南北红灯熄灭,南北绿灯亮。东西红灯亮并维持25s。南北绿灯亮并维持20s,20s延时到,南北绿灯闪亮3s后熄灭,南北黄灯亮并维持2s。2s延时到,南北黄灯熄灭,南北红灯

13、亮,同时东西红灯熄灭,东西绿灯亮。开始下一周期的动作,以后周而复始地循环。当启动开关断开时,所有信号灯熄灭3。急车强通信号受强通开关控制。无急车时,按正常循环时序控制,有急车来时,将该方向急车强通开关接通,不管原来信号状态如何,一律强制让急车方向的绿灯亮,直到急车通过为止。急车一过,断开急车强通开关,信号的状态立即转为急车放行方向的绿灯闪3次,随后按正常时序控制。这种定时控制方式虽然考虑了紧急车辆的通行,但是交通灯的正常时序是定时切换红绿灯,这样必然会产生如下弊端:当某条路段的车流量很大时却要等待红灯,而此时另一条是空道或者车流量相对少得多的路段却长时间亮的是绿灯,这种多等少的尴尬现象是未对实

14、际情况进行实时监控所造成的。显然,这样的交通灯控制系统效率较低,无法依据道路与季节变化情况改变控制方式,容易造成交通拥挤,也浪费人力、物力4。(2) 采用计算机控制系统实现,如DSP、专用集成电路以及单片机等。这类控制系统虽有较好的性价比,但使用的是高级语言、机器语言或汇编语言进行编程,其难度大、纠正难、用户不易掌握。(3) 用可编程控制系统实现,由于其在自动化技术、计算机技术及网络通信技术的迅猛发展,使PLC的功能日益增多。它不仅能实现单机控制,而且能实现多机群控制;不仅能实现逻辑控制,还能实现过程控制、运动控制和数据处理等。它具有功能强大、使用可靠、维修简单、抗干扰能力强等许多优点,并且在

15、很多地方已逐步取代了继电器电路的逻辑控制。继电器控制系统接线复杂、电器多、占地面积大,调整延时不方便,延时准确度差;计算机控制系统是按一定数学模型进行跟踪控制、效果好,但造价高,维护难度大,只适用于极重要的交通路口;可编程控制系统(PLC)有许多突出的优点:造价低、坚固耐用、在恶劣环境下也能可靠地工作、延时准确,用软件来改变控制程序和时间,极为灵活5。 专家控制系统需要按实际情况来改变参数,如使用继电器控制,则很难实现;如使用单片机控制,则需要引入大量的I/O接口电路、硬件设计,而且这两种控制方式的抗干扰能力都十分有限。采用可编程控制器(PLC)对交通信号灯进行管理,既能满足控制要求,又具有高

16、的抗干扰性和稳定性。基于此,本论文采用PLC专家控制系统来实现十字路口红绿灯控制,用传感器探测车辆的存在与通过,以得到车辆脉冲,然后把这一脉冲输入到PLC,考虑到车辆脉冲的频率,用PLC内高速计数器对车辆脉冲的上升沿进行计数,并按一定的智能控制原则来自动调节红绿灯时长,从而减小滞留量,提高交通控制系统效率。3用PLC实现交通灯控制系统31 PLC的选型为了简单起见,本文只做一个十字路口的交通灯控制系统。一个十字路口的交通控制系统共有11个输入信号,其中4个X0X3用作高速计数器(C235C238)的输入端口,X4是启动开关,X5是定时控制或智能控制地选择开关,X6是高速计数器C235C238线

17、圈的驱动触点,最后4个X10X13用作内部计数器(C10C13)的输入端口。输出信号有东西方向、南北方向各两组指示灯驱动信号,由于每一个方向的两组指示灯中,同种颜色的指示灯是同时工作的。因此,可采用并联方式输出,从而减少了PLC输出点的数目。即将东西方向的红黄绿灯分别并联,将南北方向的红黄绿灯分别并联。所以,系统的输出信号只有6个,为了遵循PLC机型的选择原则,本设计选用FX2N-32MR(继电器输出)的PLC,最主要的是因为在FX系列的众多机型中,要数FX2N系列的功能最强、处理速度最快、容量最大,属于高档的超小型机。它有16个输入点和16个输出点,足足可以满足系统输入、输出的要求,而且还有

18、一定余量。输入继电器的编号为X0X7、X10X17,输出继电器的编号为Y0Y7、Y10Y17。其输入端接收来自各个路口车辆探测器测得的输出标准电脉冲,输出端接十字路口的红黄绿信号交通灯。信号灯的选择:选用红、黄、绿发光二极管作为信号灯(绿灯是箭头方向型)。FX2N的性能指标见表1表1 FX的性能指标6项 目FX运行控制方式反复扫描程序I/O刷新方式批处理方式,当有输入输出刷新指令处理速度(基本指令)0.08 us/步存储器容量和类型内附8K步RAM,最大可达16K步程序语言梯形图、指令表、SFC(状态转移图)指令数基本指令27条,步进指令2条,应用指令298条最大I/O点数256输入继电器最多

19、184点,X0X267输出继电器最多184点,Y0Y267辅助继电器(M)普通型500点,M0M499保持型2572点,M500M3071256点,M8000M8255状态(S)普通型500点S0S499(其中S0S9用于初始化,S10S19用于返回原点)保持型500点S500S999(其中S900S999固定用于故障报警)定时器(T)100 ms200点,T0T19910 ms46点,T200T2451 ms(积算型)4点,T246T249(电池后备)100 ms(积算型)6点,T250T255(电池后备)计数器加计数器普通型100点(16位) C0C99保持型100点(16位) C100C

20、199加/减计数器普通型20点(32位) C200C219保持型15点(32位) C220C234高速计数器1相1输入11点C235C245(32位加/减计数 保持型)1相2输入5点C246C250(32位加/减计数 保持型)2相2输入5点C251C255(32位加/减计数 保持型)数 据寄存器普通型200点(16)位D0D199保持型7800点(16)位D200D7999特殊型256点(16)位D8000D8255变址用16点(16)位V0V7,Z0Z732 系统I/O分配和接线图321 I/O分配表本设计占用PLC的11个输入点,6个输出点,具体的I/O分配表见2、3表2 输入分配表输 入

21、 信 号信 号 功 能输 入 信 号信 号 功 能 X0 PO1东车道车辆进入信号X10PO5东车道车辆出去信号 X1 PO2北车道车辆进入信号 X11PO6北车道车辆出去信号 X2 PO3西车道车辆进入信号 X12PO7西车道车辆出去信号 X3 PO4南车道车辆进入信号 X13PO8南车道车辆出去信号 X4 PS1启动开关 X6高速计数器C235C238线圈的驱动触点 X5 PS2智能开关表3输出分配表输 出 信 号信 号 功 能输 出 信 号信 号 功 能Y1东西红灯Y11南北红灯Y2东西黄灯Y12南北黄灯Y3东西绿灯Y13南北绿灯322 I/O接线图 图1 I/O接线图33传感器探测车辆

22、331 光电开关(光电传感器)光电开关(也叫光电传感器)是接近开关的一种,它是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。物体不限于金属,所有能反射光线均可被检测。光电开关将输入电流在发射器上转换为光电信号射出,接收器再根据接受到的光线的强弱后有无对目标物体进行探测。多数光电开关选用的是波长接近可见光的红外线光波型。它具有体积小,功能多,寿命长,精度高,响应速度快,检测距离远以及抗电磁干扰能力强等优点。目前,光电开关已被用作物位检测、产品计数、速度检测、信号延时、色标检出以及安全防护等诸多领域。光电开关按检测方式可分为漫反射式、镜反射式、对射式等,它们各自的特点是:

23、漫反射式光电开关是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当被检测物体的表面光亮或其反光率极高时,漫反射式的光电开关是首选的检测模式。镜反射式光电开关是集发射器与接收器于一体,光电开关发射器发出的光线经过反射镜反射回接收器,当被检测物体经过且完全阻断光线时,光电开关就产生了检测开关信号。对射式光电开关它包含了在结构上相互分离且光轴相对放置的发射器和接收器,发射器发出的光线直接进入接收器,当被检测物体经过发射器和接收器之间且阻断光线时,光电开关就产生了开关信号。当检测物体为不透明时,对射式光电开关

24、是最可靠的检测装置。332电感式传感器电感式传感器由铁心和线圈构成的将直线或角位移的变化转换为线圈电感量变化的传感器,又称电感式位移传感器。这种传感器的线圈匝数和材料导磁系数都是一定的,其电感量的变化是由于位移输入量导致线圈磁路的几何尺寸变化而引起的。当把线圈接入测量电路并接通激励电源时,就可获得正比于位移输入量的电压或电流输出。电感式传感器的特点是:无活动触点、可靠度高、寿命长分辨率高灵敏度高线性度高、重复性好测量范围宽(测量范围大时分辨率低)无输入时有零位输出电压,引起测量误差对激励电源的频率和幅值稳定性要求较高7。电感式传感器是埋设在公路下十几厘米深处的环状绝缘电线,当有高频电流通过电感

25、时,公路面上就会形成高频磁场。当汽车进入这一高频磁场区时,汽车就会产生涡流损耗,环状绝缘电线的电感开始减少。当汽车正好在该感应线圈的正上方时,该感应线圈的电感减到最小值,当汽车离开这高频磁场区时,该感应线圈的电感逐渐复原到初始状态。由于电感变化,该感应线圈中流动的高频电流的振幅和相位发生变化,因此,在环的始端连接上检测相位或振幅变化的检测器,就可得到汽车通过的电信号。若将环状绝缘电线作为振荡电路的一部分,则只要检测振荡频率的变化即可知道汽车的存在和通过8。电感式传感器的高频电流频率为60KHz,尺寸为23m,电感约为100uH,这种传感器可检测的电感变化率在0.3上。当今的工业自动控制已不满足

26、于简单的开关量信号,这种情形不禁使我们想起以前电子式非接触电感式传感器取代机械开关的时期。过去,唯一的解决办法是使用一个昂贵的测量系统,但其精度等级却大大地超过了我们的应用需要。 先进的模拟量电感式传感器恰好填补了这个空白。电感式传感器能够提供一个与物体位移成比例的电流或电压信号,由此来完成简单可靠的检测和控制任务。近些年,此类产品的技术有了长足的发展。从技术方面讲,这些装置已经赶上测量系统,但其价格与开关量电感式传感器接近,因而在许多应用中成为理想的替代方案。333 传感器的铺设车辆计数是智能交通控制系统的关键部分,为防止车辆出现漏检的现象,环状绝缘电线在地下的铺设将采取在每个车行道上的出口

27、处以及在离出口处一定距离的进口处各铺设一个相同的传感器。同一车道上的两个传感器之间的距离为该车道正常运行时所允许的最长停车车龙为好8。 X12 C12X10 C10X3 C238X0 C235X2 C237车辆探测器1车辆探测器2西X13 C13X11 C11X1 C236北东南(其他道同此)图2 十字路口传感器的铺设34用专家控制系统实现红绿灯的时长控制341 专家控制系统设计传统控制方法的设计和分析是建立在系统的精确模糊基础上的,而实际系统由于存在复杂性、时变性、不确定性和不完全性等,一般无法获得精确的数学模型。采用传统控制理论进行系统设计时,必须提出并遵循一些苛刻的假设,而这些假设往往与

28、实际情况不符,使得所设计的系统性能与实际情况相差很远。所以,本文由交通专家根据某个十字路口的具体情况确定绿灯延时时间的参数。专家控制是智能控制的一个重要分支,它是把专家系统的思想和方法引入控制系统及其工程应用。就其实质而言,专家控制是基于控制对象和控制规律的各种知识的总和,而且要以智能的方式使用这些知识,求得受控系统更可能地优化和实用化,它反映出智能控制的许多重要特征和功能。作一个形象的比喻,专家控制是试图在控制闭环中加入一个有经验的工程师,系统能为他提供一个“控制工具箱”,即可对控制、辨识、测量、监视等各种算法选择自便,调节自如。因此,专家控制实质上是对一个“控制专家”的思路、经验、策略的模

29、拟、延伸、扩展。专家系统是一种能在某个领域内,以人类专家的知识和经验来解决该领域中高度困难任务的计算机系统。它的主体是一个基于知识的计算机程序系统,其内部具有某个领域中大量专家水平的知识与经验,能够利用人类专家的知识和解决问题的方法来解决该领域的问题。专家系统所要解决的问题一般没有算法解,并且往往要在不精确或不确定或不完全的信息基础上进行推理,做出结论。专家系统应用人工智能技术和计算机技术进行推理和判断,模拟人类专家解决问题和进行决策的过程,其独到之处是能求解那些需要人类专家才能求解的高难度复杂问题。在实际应用中,专家系统最有吸引力、也是难度颇大的领域之一是专家控制。专家控制可以看成是对一个“

30、控制专家”在解决控制问题或进行控制操作时的思路、方法、经验、策略的模拟。控制专家在完成控制任务时主要进行三项工作:观察、检测系统中的有关变量和状态;综合应用自己的知识和经验判断当前系统运行的状态;分析比较各种可以采用的控制策略并选择其中最优者予以执行;并用计算机予以实现(模拟)。这三个基本功能就构成了最基本的专家控制系统9。 专家系统的基本结构如图3所示。在实际使用的专家系统中,根据具体问题其内容可能会进行某些调整:或简化、或删除、或细化、或增加某些部分。在基本结构中,专家系统主要包括:知识库全局数据库推理机解释机构知识获取机构接口。设计一个专家系统主要解决的问题是知识库、数据库和推理机构。人

31、机接口过程接口推理机全局数据库知识库知识获取机构解释机构用户过程专家图3 专家系统的基本结构342车流量的计算 每条行车道的车流量通过PLC来统计,本文用高速计数器对进入路口的车辆进行计数,而不用内部计数器,是因为这时的车速比较快;用内部计数器对离开路口的车辆进行计数,高速计数器与内部计数器是同时工作的。车辆传感器1用来检测红灯期间进入路口排队等候的车辆数,每经过一辆车,PLC中的高速计数器就加1;车辆传感器2用来检测绿灯期间通过十字路口的车辆数,每经过一辆车,内部计数器就加1。在一个红绿灯周期中,每当绿灯亮之前,从高速计数器、内部计数器中采集一次数据,即用高速计数器的计数值减去内部计数器的计

32、数值,就可得到车辆滞留量,其它通道同理,并将该滞留量存放于高速计数器中。数据采集完后,内部计数器内的数立即清零,高速计数器则在原有的车辆滞留量的基础上继续计数,为下一个红绿灯周期做好准备。343 用专家系统实现绿灯时长的智能控制专家参数的调用可以采用变址寄存器来实现,本文采取的智能控制绿灯时长的方法是:通过传感器探测出各个车道上的车辆数,经过比较得出东西、南北方向的最大车辆数,在通过查表法得出绿灯延时时间t,(t是由两个函数t=Maxte,tw和tMaxts,tn组成的),将其与绿灯固定的最小时间t0(10s)相加,这样就可得到绿灯亮的时间T=固定的最小时间t0+绿灯延时时间t(是专家参数),

33、专家参数是非线性的、不确定的,可以采用变址寄存器V/Z来调用专家参数。其中最小固定时间是为了避免红绿灯切换过频;最大绿灯亮的时间是为了保障公平性,不能让其它路口的车辆过分久等。本文中同一车道上的两个传感器之间的距离设为100米,这样就可以检测出每个车道上的车辆数,按平均每辆车的长度与车间距之和为5米计算,100米的车道上最多停车20辆。当东西(或南北)车道上的最大车辆数为1时,绿灯延时时间为2s,此后,每增加一辆,绿灯延时时间就增加2s,由此类推,最长的绿灯延时时间为40s,最大绿灯亮的时间为50s。绿灯延时时间见表4,这是为了设置方便而假设的参数。表4 绿灯延时时间表最大车辆数1234567

34、8910绿灯延时时间t(S)2468101214161820最大车辆数11121314151617181920绿灯延时时间t(S)22242628303234363840绿灯延时时间是用变址寄存器V/Z来改变的,变址寄存器V/Z实际上是一种特殊用途的数据寄存器,其作用相当于微机中的变址寄存器,用于改变元件的编号(变址),例如Z=5,则执行D0Z时,被执行的编号为D5(D05)。变址寄存器可以像其它数据寄存器一样进行读写,当要进行32位数据运算时,可将V、Z串联使用(Z为低位,V为高位),这样用变址寄存器就可以很容易的查找东西或南北方向的车辆数。将绿灯查表中的绿灯延时时间t分别存放在数据寄存器D

35、1D20中,将东西(或南北)车道上的最大车辆数存在变址寄存器Z0(或Z1)中,由最大车辆数通过查表可得绿灯延时时间t(D0Z0或D0Z1)并将其存入数据寄存器D22(或D23)中,将固定的最小绿灯时间t0(10S)存在数据寄存器D21中,在与D22(D23)中的数据相加并存于数据寄存器D40中,即D40为绿灯亮的时间。当绿灯熄灭时,计算出东西(或南北)车道上的车流量,并将其存入高速计数器内,同时,将内部计数器及数据寄存器D40清零。如以东西方向车辆为例,设东方向的车辆数为5辆,西方向的车辆数为3辆,经比较,取东方向的车辆数(5辆)为东西方向的最大车辆数,将其存于变址寄存器Z0中,再将D0Z0(

36、即D5)中的数据10存于D22中,再加上最小固定时间10s(即20s)存入D40中,作为东西方向绿灯亮的最长时间。35程序设计和编程351 PLC程序设计 三菱FX2N系列PLC具有顺序功能图(状态转移SFC图)的顺序控制功能,利用这种顺序控制功能图编制交通信号灯控制程序,条理清楚,方便简单,易于理解,三菱PLC步进指令表示的方法是,将控制的各个动作或工序用状态(S)表示,然后将输入条件与输出按顺序编程,FX2N序列PLC有状态寄存器(S)1000点(S0S999),其中S0S9共10个为初始状态,一般状态从S20开始。初始状态用双线框表示,通常用特殊辅助继电器M8002的常开触点提供初始信号

37、,其作用是为启动做好准备,防止运行中的误操作引起的再次启动。 由于本设计是多任务实时并行处理系统,车流量的计数是不间断的,与红绿灯控制系统呈并行关系,简单的用状态流程图进行程序设计较烦琐。因此还可使用PLC的一些基本指令,将顺序控制设计有机的结合起来。 PLC控制程序流程图如下: NYNYNNYY开 始南北红,东西绿10s南北红,东西绿闪2s南北红,东西黄2s东西红,南北绿10s东西红,南北绿闪2s东西红,南北黄2s智能控制东西空道南北红,东西绿灯时间南北红,东西绿闪2S南北红,东西黄2S南北空道东西红,南北绿灯时间东西红,南北绿闪2S东西红,南北黄2S智能控制东西红,南北绿南北红,东西绿ts

38、图4 程序流程图根据上面的流程图设计的状态转移图如下:南北绿(Y13),东西红(Y1)南北黄(Y12),东西红(Y1)亮2s(T25)南北绿闪(Y13),东西红(Y1)亮2s(T24)南北绿(Y13),东西红(Y1)亮100s(T23)东西黄(Y2),南北红(Y11)亮2s(T22)东西绿闪(Y3),南北红(Y11)亮2s(T21)东西绿(Y3),南北红(Y11)亮10s(T20)启动开关T23东西有车YNT25T24T20X4M8002 S0S20T25 K20T20 K100S21T22S22S23T21Y3 Y11T21 K20T23 K100Y1 Y13T22 K20Y2 Y11Y3

39、Y11Y1 Y12T24 K20Y1 Y13Y1 Y13S24S25S26判断东西是否空道S27东西红(Y1),南北黄(Y12)2s(T36)东西红(Y1),南北绿闪(Y13)2s(T35)东西红(Y1),南北绿(Y13)的时间(T34)南北红(Y11),东西黄(Y2)2s(T33)南北红(Y11),东西绿闪(Y3)2s(T32)南北红(Y11),东西绿(Y3)的时间(T31)/X5南北车辆比较T36非智能控制转至S20智能控制转至S30T35T34T32T31智能开关X5转至S20/X5南北有车NYS28S29Y3 Y11采集数据S32S31S30T33T32 K20Y3 Y11Y3 Y11

40、T31 tsS34S33S35S36Y2 Y11 T33 K20T34 tsY13 Y1Y13 Y1T35 K20Y12 Y1T36 K20判断南北是否空道东西车辆比较南北红,东西绿图5 状态转移图352 PLC的编程语言在本设计系统中,使用梯形图编程。梯形图是使用得最多的图形编程语言,被称为PLC的第一编程语言。梯形图是一种图形语言,它沿用继电器的触点、线圈、串并联等图形符号,同时增加继电器系统没有的符号。具有形象、直观、易于接受的优点。梯形图的编程规则如下: (1)梯形图按自上而下,从左到右的顺序排列。 各逻辑行中所有触点应画在线圈左边(左母线省略)。 线圈不能与左母线直接相连。(2)软继

41、电器线圈不能串联。(3)触点可无限次使用,但同一继电器的线圈一般只允许出现一次。双线圈输出:在同一程序中,同一继电器的线圈使用了两次或两次以上。注意:双线圈输出只有最后一次输出有效,或者可能出现语法错误。(4)支路并联时,应把串联触点多的支路画在上面。(5)支路串联时,应把并联触点多的支路画在左边。(6)梯形图中不允许画电流交叉的电路。4程序调试的基本要点(1)红绿灯的时长有一个最大值和最小值,最小值过小则导致红绿灯切换过频,过大又不能实现适时控制,为了保证公平性,不能让红灯方向的车辆久等。(2)在编写CMP数据比较指令时出现“梯形图错误”的提示。原因是:STL内的母线一旦写入LD或LDI指令

42、后,对不需要触点的线圈就不能在编程。所以把这一操作放在该状态步后就可以了。(3)触点比较类指令,如LD=,AND,OR等指令,虽然有点烦琐,但程序更易理解。(4)对非智能控制程序先进行调试,程序可以实现交通灯定时切换控制功能。一旦进入智能控制程序,发现程序走到步进梯形图中的S30就无法继续下去,原因是:S30这一步的功能是对高速计数器中的数据进行计数,刚开始高速计数器线圈没被驱动,使得程序无法进行。5结束语 本设计实现的功能: 非智能控制,能够完成传统的十字路口交通灯定时切换功能。 智能控制,能根据十字路口车流量的变化情况,来逻辑控制绿灯时长。 与传统的定时交通控制相比,专家控制交通灯系统能够

43、依据车流量的变化情况自动调节红绿灯的时长,从而缓解滞流现象,也不会出现空道占时的情形,提高了公路交通通行率,较全球定位系统而言成本更低,特别适合繁忙的、未立交的交通路口,更适合于四个以上的路口,也可方便联网。 通过这次毕业设计使我将以往学习的理论知识与实际联系起来,巩固了课本知识也加强了对PLC的直观印象。认识到任何一个小小的疏忽都可能使系统的开发陷入困境,因此设计过程的每个环节都非常重要。在这个过程中让我得到很多收获和感触。认真做好毕业设计,对我们毕业后走向工作岗位具有重要意义。致谢在我论文的选题、开题到成文全过程,得到导师师的悉心指导,特此感谢,同时也非常感谢实验室管理负师的大力支持,为我

44、提供了电脑等各种仪器设备。借此机会,我也向支持我、爱护我的家人致以最深情的谢意!是他们的殷切期望和无私的奉献使我顺利完成学业。感谢亲人的理解、支持和鼓励!最后还要感谢与我一起进行毕业设计的同学们,他们给了我很多帮助,正是我们的共同努力才使设计有所成果。参考文献 1王中苏.PLC在城市道路交通信号控制系统中的应用J.太原理工大学2邓宜阳.用PLC实现道路十字路口交通灯的模糊控制J. HYPERLINK /anli/656_3.html /anli/656_3.html3蔡军,曹慧英.智能交通灯控制系统的设计与实现J.重庆邮电学院,2004.6,129-1324洪清辉,何燕阳.基于PLC的交通灯智

45、能控制J.漳州师范学院学报(自然科学报),2005,(3) 66-705刘雁,周继红,刘华威.E系列PLC在交通路口指挥灯的控制系统中的应用J.沈阳大学(自然科学版)学报,1995.(4),25-276邹金慧,陈乐庚,韦寿祺.可编程控制器及其系统M.重庆大学出版社,2002.第一版7朱蕴璞,孔德仁,王芳.传感器原理及应用M.国防工业出版社8邓成文.用PLC实现智能交通控制J.中国自动化网9邹积岩.智能电器M.北京:机械工业出版社.2006年1月 99-100.附录:十字路口红绿灯控制梯形图如下 附录资料:不需要的可以自行删除 C语言图形模式速成第一节 图形模式的初始化Turbo C 提供了非常

46、丰富的图形函数,所有图形函数的原型均在graphics. h 中,本节主要介绍图形模式的初始化、独立图形程序的建立、基本图形功能、图形窗口以及图形模式下的文本输出等函数。另外,使用图形函数时要确保有显示器图形驱动程序*.BGI,同时将集成开发环境options/Linker中的Graphics lib选为on,只有这样才能保证正确使用图形函数。 不同的显示器适配器有不同的图形分辨率。即是同一显示器适配器,在不同模式下也有不同分辨率。因此,在屏幕作图之前,必须根据显示器适配器种类将显示器设置成为某种图形模式,在未设置图形模式之前,微机系统默认屏幕为文本模式(80列,25行字符模式),此时所有图形

47、函数均不能工作。设置屏幕为图形模式,可用下列图形初始化函数:void far initgraph(int far *gdriver, int far *gmode,char *path);其中gdriver和gmode分别表示图形驱动器和模式,path是指图形驱动程序所在的目录路径。有关图形驱动器、图形模式的符号常数及对应的分辨率见graphics. h。图形驱动程序由Turbo C出版商提供,文件扩展名为.BGI。 根据不同的图形适配器有不同的图形驱动程序。例如对于EGA、 VGA 图形适配器就调用驱动程序EGAVGA.BGI。#include stdio.h#include graphic

48、s.hint main()int gdriver, gmode;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, C:TC2.0BGI);bar3d(100, 100, 300, 250, 50, 1); /*画一长方体*/getch();closegraph();return 0;有时编程者并不知道所用的图形显示器适配器种类,或者需要将编写的程序用于不同图形驱动器,Turbo C 提供了一个自动检测显示器硬件的函数,其调用格式为:void far detectgraph(int *gdriver, *gmode);其中gdriver和gm

49、ode的意义与上面相同。 自动进行硬件测试后进行图形初始化:#include stdio.h#include graphics.hint main()int gdriver, gmode;detectgraph(&gdriver, &gmode); /*自动测试硬件*/printf(the graphics driver is %d, mode is %dn,gdriver,gmode); /*输出测试结果*/getch();initgraph(&gdriver, &gmode, C:TC2.0BGI);/* 根据测试结果初始化图形*/bar3d(100, 100, 300, 250, 50,

50、 1); /*画一长方体*/getch();closegraph();return 0;上例程序中先对图形显示器自动检测,然后再用图形初始化函数进行初始化设置,但Turbo C提供了一种更简单的方法, 即用gdriver=DETECT 语句后再跟initgraph()函数就行了。采用这种方法后,上例可改为:#include stdio.h#include graphics.hint main()int gdriver=DETECT, gmode;initgraph(&gdriver, &gmode, C:TC2.0BGI);bar3d(50, 50, 150, 30, 50, 1);getch

51、();closegraph();return 0;另外,Turbo C 提供了退出图形状态的函数closegraph(),其调用格式为:void far closegraph(void);第二节 屏幕颜色的设置和清屏函数对于图形模式的屏幕颜色设置,同样分为背景色的设置和前景色的设置。在Turbo C中分别用下面两个函数: 设置背景色: void far setbkcolor(int color);设置作图色: void far setcolor(int color);其中color 为图形方式下颜色的规定数值,对EGA,VGA显示器适配器,有关颜色的符号常数及数值见graphics.h。清除图

52、形屏幕内容但不清除图形背景使用清屏函数,其调用格式如下: voide far cleardevice(void);#include stdio.h#include graphics.hint main()int gdriver, gmode, i,aa;gdriver=DETECT;initgraph(&gdriver, &gmode, C:TC2.0BGI); /*图形初始化*/setbkcolor(0); /*设置图形背景*/cleardevice();for(i=0; i=15; i+)setcolor(i); /*设置不同作图色*/circle(320, 240, 20+i*10);

53、/*画半径不同的圆*/getch();for(i=0; i=15; i+)setbkcolor(i); /*设置不同背景色*/cleardevice();circle(320, 240, 20+i*10);getch();aa=getmaxcolor();printf(maxcolor=%d,aa);getch();closegraph();return 0;另外,TURBO C也提供了几个获得现行颜色设置情况的函数。 int far getbkcolor(void); 返回现行背景颜色值。int far getcolor(void); 返回现行作图颜色值。int far getmaxcolo

54、r(void); 返回最高可用的颜色值。第三节 基本画图函数基本图形函数包括画点,线以及其它一些基本图形的函数。本节对这些函数作一全面的介绍。 、画点. 画点函数 void far putpixel(int x, int y, int color); 该函数表示有指定的象元画一个按color 所确定颜色的点。对于颜色color的值可从表3中获得而对x, y是指图形象元的坐标。在图形模式下,是按象元来定义坐标的。对VGA适配器,它的最高分辨率为640 x480,其中640为整个屏幕从左到右所有象元的个数,480为整个屏幕从上到下所有象元的个数。屏幕的左上角坐标为(0,0),右下角坐标为(639,

55、 479),水平方向从左到右为x 轴正向,垂直方向从上到下为y轴正向。TURBO C的图形函数都是相对于图形屏幕坐标,即象元来说的。关于点的另外一个函数是: int far getpixel(int x, int y); 它获得当前点(x, y)的颜色值。 II、有关坐标位置的函数 int far getmaxx(void);返回x轴的最大值。int far getmaxy(void);返回y轴的最大值。int far getx(void); 返回游标在x轴的位置。void far gety(void); 返回游标有y轴的位置。void far moveto(int x, int y); 移动

56、游标到(x, y)点,不是画点,在移动过程中亦画点。void far moverel(int dx, int dy); 移动游标从现行位置(x, y)移动到(x+dx, y+dy)的位置,移动过程中不画点。、画线I. 画线函数TURBO C提供了一系列画线函数: void far line(int x0, int y0, int x1, int y1); 画一条从点(x0, y0)到(x1, y1)的直线。void far lineto(int x, int y); 画一作从现行游标到点(x, y)的直线。void far linerel(int dx, int dy); 画一条从现行游标(x

57、,y)到按相对增量确定的点(x+dx, y+dy)的直线。void far circle(int x, int y, int radius); 以(x, y)为圆心,radius为半径,画一个圆。void far arc(int x, int y, int stangle, int endangle,int radius); 以(x,y)为圆心,radius为半径,从stangle开始到endangle结束(用度表示)画一段圆弧线。在TURBO C中规定x轴正向为0 度,逆时针方向旋转一周, 依次为90,180, 270和360度(其它有关函数也按此规定,不再重述)。 void ellipse

58、(int x, int y, int stangle, int endangle,int xradius,int yradius);以(x, y)为中心,xradius,yradius为x轴和y轴半径,从角stangle 开始到endangle结束画一段椭圆线,当stangle=0,endangle=360时, 画出一个完整的椭圆。void far rectangle(int x1, int y1, int x2, inty2); 以(x1, y1)为左上角,(x2, y2)为右下角画一个矩形框。 void far drawpoly(int numpoints, int far *polypo

59、ints); 画一个顶点数为numpoints,各顶点坐标由polypoints给出的多边形。polypoints整型数组必须至少有2 倍顶点数个无素。每一个顶点的坐标都定义为x,y,并且x在前。值得注意的是当画一个封闭的多边形时,numpoints 的值取实际多边形的顶点数加一,并且数组polypoints中第一个和最后一个点的坐标相同。下面举一个用drawpoly()函数画箭头的例子。#include stdio.h#include graphics.hint main()int gdriver, gmode, i;int arw16=200,102,300,102,300,107,330

60、,100,300,93,300,98,200,98,200,102;gdriver=DETECT;initgraph(&gdriver, &gmode, C:TC2.0BGI);setbkcolor(BLUE);cleardevice();setcolor(12); /*设置作图颜色*/drawpoly(8, arw); /*画一箭头*/getch();closegraph();return 0;II、设定线型函数在没有对线的特性进行设定之前,TURBO C 用其默认值,即一点宽的实线,但TURBO C 也提供了可以改变线型的函数。线型包括:宽度和形状。其中宽度只有两种选择:一点宽和三点宽。而

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论