交通红绿灯PLC控制系统编程方法与技巧

(整期优先)网络出版时间:2019-04-14
/ 2

交通红绿灯PLC控制系统编程方法与技巧

王洪涛

宁夏宁东市政建设发展有限公司,宁夏银川750411

摘要:目前,我国城市十字路口的交通灯控制系统大都采用定时控制方式,这样的交通控制系统效率低,容易造成交通拥挤,而且也浪费人力、物力。因此,我们有必要寻求一种具有智能的交通控制系统。这种智能交通控制系统能够依据车流量、道路、时间与季节变化情况改变控制方式或自动调节红绿灯的时间长度,减少十字路口的车辆滞留现象,缓解交通拥挤、实现十字路口交通最优控制,从而提高交通控制系统的效率。

关键词:交通红绿灯;PLC控制系统编程;

随着现代科技的不断发展,可编程控制器(称PLC)作为当今社会自动控制系统的重要组成部分已成为大多数自动化系统的控制基础.由于全过程有时间显示,不要绿闪,但可以保留黄灯。现在绝大多数红绿灯数显屏能显示红绿两色,目前带方向指示的数显红绿灯也不在少数。随着我国人民生活水平的不断提高,城市化的推进与私家车数量的猛增,道路交通拥挤的问题将日益突出。可以预见,智能交通控制系统将具有广大的应用前景。

一、红绿灯智能控制系统

交通控制系统属非线性离散控制系统,通过路口的车流量随着时间与季节的变化较大,要实现精确的控制比较困难,因此,定时控制方式被广泛采用。随着道路交通的拥挤,这种定时切换红绿灯而无视道路车辆的实际情况所产生的弊端有目共睹。为此,本文采用如下方案进行交通灯控制:首先,采用电感式传感器探测车辆的流量以得到车辆脉冲,并把这一脉冲输入到PLC,考虑到车辆脉冲的频率,采用PLC内高速计数器对车辆脉冲进行计数;其次,PLC按照一定的模糊智能控制原则与专家控制系统自动调节红绿灯的时间长度。该系统属单机控制系统,即一台PLC控制一个十字路口交通灯,系统主要由车辆探测器、PLC、交通灯等三部分组成,其中人行道红绿灯控制信号可与同侧交通灯信号并行,故暂不考虑。同时,考虑到PLC的投资与系统的适应性等问题,本系统其性价比较好车辆探测器1的信号输入PLC内高速计数器,用于探测车辆通过信号,其距十字路口的安装距离可依据本系统最大计数车辆确定,一般可取200—250m.高速计数器计数频率可达10kHz,可满足探测车辆要求。由于PLC内高速计数器只有六个可同时工作,考虑到车辆出口速度一般较慢,车辆探测器2的车辆通过信号可由PLC内部计数器计数,一般每个方向可设三个,分别为左转、前行、右转。本系统明显具有许多PLC控制系统的共同特点,如编程容易,控制系统构成简单,系统设计和开发周期短,可靠性高,性价比好且安装维护方便等。本系统特别适合于交通繁忙,无立交桥的十字路口。另外,因可采用通信联网,故本系统适合于一条道路上单个或多个十字交通路口的智能控制。

二、交通红绿灯PLC控制系统编程方法与技巧

1.硬件设计。在PLC日益成为基本技术平台的时代,如何选用一部适用的PLC以达到真正需要,而又能符合经济效益,是一个重要问题。PLC本身的特点是:体积小、功能高、性能强、操作简便、程序设计简易、模块扩充有弹性、联机容易等。针对上述说明,选择符合功能需求与经济效益的PLC是十分必要的。一般选择机型要以满足系统功能需要为宗旨,不要盲目贪大求全,以免造成投资和设备资源的浪费。机型的选择可以从以下几个方面来考虑:(1)分析被控对象并提出控制要求(2)如何确定三菱plc的输入/输出设备(3)如何选择三菱PLC(4)三菱plc分配I/O点并设计三菱PLC外围硬件线路I/O地址分配本设计的控制对象是交通红绿灯。交通红绿灯采用多发光二极管拖动,设有东西南北向红灯、黄灯、绿灯及东西南北行车。根据对交通红绿灯的电气控制系统控制要求的分析,可知PLC控制系统的输入信号共2个,输出信号8个。

2.软件设计。基于PLC控制的交通红绿灯电气控制系统除了必要的硬件支持外,更需要进行软件设计。PLC程序是连接交通红绿灯控制系统与PLC控制的桥梁,也是此次设计的重点所在,编写正确的控制程序是实现基于PLC控制的交通红绿灯电气控制系统的基础。在进行设计时,首先要根据总体要求和控制系统的具体情况,确定程序的基本的前提。

3.数显类红绿灯编程技巧。数显类交通信号红绿灯的程序设计,一般有两大类编程法:其一,是先有一段非数显红绿灯大控制程序(有没有绿闪均可),再配以同步的倒计时计数器即可;其二,无须有非数显红绿灯控制程序,直接依托倒计时计数器内部的减计数值,给倒计时数显设备显示和红绿黄灯转换用。此外,如果数据显示屏有接收数据的功能,也可用数据传输的方式传输倒计时数据,但在PLC控制的交通红绿灯较少采用。数显红绿灯程序一般使用CTD减计数器来做倒计时计数器。以第二类为例,又可分两种编程方法:一是按红灯或绿灯+黄灯总时间计数,然后读出减计数值,供数字显示、切换红绿黄灯用。二是按数显位分位减计数、输出,切换信号通过两位比较器接点读出。这两种编程方法的主要区别是:前者能在刻度值范围内对CTD置任意正整数。但如果采用SEG段码指令输出,必须要按十进制的各位进行分位以后,才能在软段码译码器上译码到输出端,SEG段码指令只接收低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取反指令来实现。这样仅用一条指令就完成了其它编程方法要用多个网络行才能实现的任务。最后,按预先选定绿灯/黄灯切换的时间点,通过比较器接点读出输出到各方向的红绿黄灯上去即可。通过巧妙地运用SHR-B指令和INV-B指令,使得编出的程序短小、精悍,大大缩小了程序的程度和执行时间。该方法也可运用到其它需要数显的工程项目中。人行横道红绿灯,没有黄灯,一般为红绿灯、数显、图显三种。前两种参考车行道红绿灯编程即可。后一种一般又分站立红灯/行走绿灯、手掌红灯/行走绿灯两种。由于显示图形是预先做在显示屏上,所以红灯图形只占1位输出,行走绿灯动画图形一般不超过3位输出,很容易通过编程实现。

根据上述的程序流程,通过编程可得到整个红绿灯控制程序,该程序已经经过了初步的模拟实验,运行过程良好。所以运用PLC进行红绿灯的控制,更加稳定,更易于调试,可实现功能更多,弥补了单片机的各种不足,进而逐步用可编程控制器(PLC)来代替以单片机为主的红绿灯控制系统。

参考文献:

[1]刘伯生.PLC编程理论、计算及技巧[M].北京:机械工业出版社,2018.

[2]贾苏波.三菱PLC快速入门与实例提高[M].北京:人民邮电出版社,2018.

[3]刘永华.刘丽莎电气控制与PLC[M].北京:北京航空航天大学出版社,2017.