可编程控制器大作业.docx
《可编程控制器大作业.docx》由会员分享,可在线阅读,更多相关《可编程控制器大作业.docx(21页珍藏版)》请在冰豆网上搜索。
可编程控制器大作业
网络教育学院
《可编程控制器》大作业
题目:
十字路口交通灯设计
学习中心:
江苏扬州江都学院奥鹏学习中心[17]VIP
层次:
高中起点专科
专业:
电力系统自动化技术
年级:
2013年03春/秋季
学号:
131********7
学生姓名:
蔡健效
1设计背景
1.1背景概述
随着汽车进入家庭步伐的加快和城市汽车数量的增多,城市道路交通问题显得越来越重要。
马路上经常会看到这种现象:
一旦整个路口的交通信号灯出现故障,若没有交警的及时疏导,该路口就会塞得一塌糊涂,甚至造成严重的交通事故。
原交通信号控制大都采用继电器或单片机实现,存在着功能少、可靠性差、维护量大等缺点,越来越不能适应城市道路交通高速发展的要求。
另外,根据人车流量的多少,可能随时增加路口的交通信号,比如增加转弯或人行道交通信号,原有系统的制约性就更加明显了。
为了弥补原交通信号灯系统存在的以上缺点,我们引入了基于PLC控制的交通信号灯控制系统。
本文对十字路口交通信号灯控制系统,运用可编程逻辑器件PLC做了软件与硬件的设计,能基本达到控制要求。
系统仅实现了小型PLC系统的一个雏形,在完善各项功能方面都还需要进一步的分析、研究和调试工作。
如果进一步结合工业控制的要求,形成一个较为成型的产品,则需要作更多、更深入的研究。
1.2可编程逻辑控制器简介
可编程逻辑控制器(ProgrammableLogicController,简称PLC)根据国际电工委员会(IEC)在1987年的可编程控制器国际标准第三稿中,对其作了如下定义:
“可编程控制器是一种数字运算操作的电子系统,专为在工业环境应用而设计的。
它采用可编程序的存储器,用来在其内部存储执行逻辑运算,顺序控制,定时,计数与算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。
可编程控制器及其有关外部设备,都应按易于使工业控制系统形成一个整体,易于扩充其功能的原则设计。
”可编程控制器作为目前工业自动化的重要基础设备,被称为“工业自动化三大支柱性产业之一”,在各工业生产领域发挥着愈来愈大的作用。
2十字路口交通信号灯PLC控制系统简介
2.1控制对象及要求
2.1.1控制对象
本系统的控制对象有八个,分别是:
东西方向红灯(R—EW)两个;
南北方向红灯(R—SN)两个;
东西方向黄灯(Y—EW)两个;
南北方向黄灯(Y—SN)两个;
东西方向绿灯(G—EW)两个;
南北方向绿灯(G—SN)两个;
东西方向左转弯绿灯(L—EW)两个;
南北方向左转弯绿灯(L—SN)两个。
2.1.2控制要求
1、系统工作受开关控制,起动开关ON则系统工作;起动开关OFF则系统停止工作;
2、交通信号灯按高峰时段、正常时段及晚上时段进行控制,这三个时段的的时序分配如图1所示;
3、在高峰时段,交通信号灯按图2所示时序控制;
4、在正常时段,交通信号灯按图3所示时序控制;
5、晚上时段按提示警告方式运行,规律为:
东、南、西、北四个黄灯全部闪亮,其余灯全部熄灭,黄灯闪亮按亮0.4秒,暗0.6秒的规律反复循环。
2.2系统简介
本系统是一个十字路口交通灯的PLC控制系统,利用西门子公司的S7-200可编程逻辑控制器对十字路口的交通灯进行控制。
本系统具有一定的智能性,即它可以对交通灯按高峰期、正常期及晚间几个时段进行分段控制。
高峰期的控制方案为:
(1)南北方向左转弯灯和南北南北方向红灯同时亮10秒,同时东西方向红灯亮;
(2)南北方向绿灯亮35秒,东西方向红灯继续亮;
(3)南北方向黄灯闪烁5秒;东西方向红灯继续亮;
(4)东西方向左转弯绿灯和南北方向红灯同时亮10秒,东西方向红灯继续亮;
(5)东西方向绿灯亮25秒,南北方向红灯继续亮;
(6)东西方向黄灯闪烁5秒,南北方向红灯继续亮,然后跳至第
(1)步依次循环。
正常期的控制方案为:
(1)南北方向左转弯灯和南北南北方向红灯同时亮10秒,同时东西方向红灯亮;
(2)南北方向绿灯亮30秒,东西方向红灯继续亮;
(3)南北方向黄灯闪烁5秒;东西方向红灯继续亮;
(4)东西方向左转弯绿灯和南北方向红灯同时亮10秒,东西方向红灯继续亮;
(5)东西方向绿灯亮30秒,南北方向红灯继续亮;
(6)东西方向黄灯闪烁5秒,南北方向红灯继续亮,然后跳至第
(1)步依次循环。
晚间的控制方案为:
东、南、西、北四个黄灯全部闪亮,其余灯全部熄灭,黄灯闪亮按亮0.4秒,暗0.6秒的规律反复循环。
2.3硬件选型
城市道路交通信号控制是典型的开关量顺序控制,采用PLC能充分利用它的优点。
在这里我们采用德国西门子公司的S7-200可编程控制器,它是积木式结构,安装比较方便,中央处理单元和信号模板有多种类型,另外还具有如位控单元、PD调节等特殊功能模块。
根据本系统输入点数及控制要求,中央处理单元可选用CPU224,该CPU板上本身具有10个数字量输入点,6个非隔离数字量输出点,最多能够带8个数字量信号模板。
电源模块将交流电源转换成供CPU,存储器等所有扩展模块使用的直流电源,是整个PLC系统的能源供给中心,它的好坏直接影响到PLC的稳定性和可靠。
S7-200属于小型PLC,电源模块与CPU模块封装在一起,通过连接总线为本机和扩展模块提供+5V(DC)电源。
同时,还可通过端子向外输出一个+24V(DC)电源,供本机输入点和扩展模块继电器线圈使用。
需注意的是,从资料中我们了解到,外部电源不可与S7-200的传感器电源并联使用。
否则,交会导致两个电源的竟争而影响它们各自的输出,缩短其使用寿命,使得一个或两个电源同时失效,使PLC系统产生不正确的操作。
正确的使用方法是S7-200的传感器电源和外部电源应该在不同的点上提供电源,而两者之间只能有一个会共连接点。
由于根据控制要求所确定的输入输出点分别人二个和九个,由于我们是以一个路口信号单独控制为例,考虑到够用为准。
所以我们选择了CPU224这一具有较强控制功能的控制器。
另外,在硬件选型时,不要忘记完成现场测试及软件编程时所需的一些设备。
综上,得到系统硬件配置如表1所示:
表1硬件配置表
名称数量
DC24V电源1
CPU2241
PC/PPI编程电缆1
STEP7编程软件1
PC机1
3系统I/O分配
分析PLC的输入和输出信号,在满足控制要求的前提下,要尽量减少占用PLC的I/O点。
由系统控制要求可见,由控制开关输入的启、停信号是输入信号。
由PLC的输出信号控制各指示灯的亮、灭。
在交通灯布置图中,南北方向的三色灯共六盏,同颜色的灯在同一时间亮、灭;所以,可将同色灯两两并联,用一个输出信号控制。
同理,东西方向的三色灯也依次设计。
再加上东西方向左转的三色灯共九盏,所以其占9个输出点。
由此可得系统I/O分配如表2所示:
表2系统I/O分配表
输入/输出设备/器件名称I/O地址符号名数据类型
输入校正当前时钟I0.0SB0BOOL
程序启停按钮I0.1SB1BOOL
输出东西方向绿灯Q0.0Q1DINT
东西方向黄灯Q0.1Q2DINT
东西方向红灯Q0.2Q3DINT
南北方向绿灯Q0.3Q4INT
南北方向黄灯Q0.4Q5INT
南北方向红灯Q0.5Q6INT
东西方向左转弯灯Q0.6Q7INT
南北方向左转弯灯Q0.7Q8INT
4PLC端子接线图
根据I/O表及PLC的配置图很容易就可以得到PLC端子接线图4如下所示:
5软件设计
本控制系统的控制原理是:
用一路数字量的不同输入状态来判定是否对时钟进行初始化,用一路数字量的不同输入状态分别用作程序的启动和停止控制,每一方向有红、黄、绿及转弯四种信号灯,分别对应四位数字量输出,两个方向共有8位数定量输出;在某一方向用两个延时脉冲定时器分别控制该方向黄灯闪烁的亮、灭时间,根据道路人车流量多少,分别设置各信号灯亮灭时间的长短,通过6个定时器依次交替工作,就可实现各方向交通信号灯的顺序工作。
本文所设计的软件由一个主程序和四个子程序(时钟初始化子程序,晚间时段交通灯控制子程序,正常时段交通灯控制子程序和高峰时段交通灯控制子程序)组成。
主程序主要任务包括:
读取两个开关状态,根据开关的不同状态做出相应的处理,当开关SB0闭合时则对时钟进行初始化,反之则不对时钟进行初始化;当开关SB1闭合时,则读取时钟值,并做处理,根据处理后的时钟值的大小判定当前时间是属于哪个时间段,并调用相应的交通灯控制子程序,反之,则停止程序的运行主程序流程图如图5所示。
晚间时段的控制规律为:
两个方向的四个黄灯均按亮0.4秒灭0.6秒的规律闪烁,其余的交通灯全灭程序中将用到两个定时器T37和T38,各定时器的功能如表3所示。
正常时段的控制方案结构图如图6所示,程序中将用到8个定时T37-T44,各定时器的功能如表4所示。
高峰时段的控制方案结构图如图7所示,程序中将用到8个定时T37-T44,各定时器的功能如表5所示。
该程序实现了信号由东西左转、东西直行、南北直行依次循环变化。
其优势思路简单,容易理解,对时钟的校正以及各时段的起始时间和终止时间的修改方便。
如路口要求在晚上10:
00以后实行各方向黄色信号灯闪烁功能,只需要将实时采集PLC的时钟信号作为一个子程序的跳转条件,再增加一段闪光程序即可。
如果需要将几个路口集中到一台PLC控制,根据实际需要的I/O点数,硬件上再增加相应的数字量输出模板即可。
需要指出的是,用PLC实现城市道路关通信号控制,最好几个路口共用一套PLC,这样可以大大降低工程成本。
表3晚间时段各定时器一个循环中的功能明细表
定时器t0t1T2
T37
定时0.4秒开始定时,黄灯亮定时到,输出ON且保持;黄灯灭开始下一次循环的定时
T38
定时1秒开始定时继续定时定时到,输出ON,随即复位开始下一次循环的定时,黄灯亮。
表4正常时段各定时器一个循环中的功能明细表
定时器t0t1t2t3t4t5t6
T37
定时10秒开始定时,南北转弯灯、南北红灯、东西红灯亮。
定时到,输出ON且保持;南北转弯灯灭,南北绿灯亮,东西红灯继续亮。
ONONONON开始下一个循环定时
T38
定时40秒开始定时继续定时定时到,输出ON且保持;南北绿灯灭,南北黄灯闪烁,东西红灯继续亮。
ONONON开始下一个循环定时
T39
定时45秒开始定时继续定时继续定时定时到,输出ON且保持;南北黄灯灭,东西转弯灯、南北红灯亮,东西红灯继续亮。
ONON开始下一个循环定时
T40
定时55秒开始定时继续定时继续定时继续定时定时到,输出ON且保持;东西转弯、东西红灯灭,东西绿灯亮,南北红灯继续亮。
ON开始下一个循环定时
T41
定时85秒开始定时继续定时继续定时继续定时继续定时定时到,输出ON且保持;东西绿灯灭,东西黄灯闪烁,南北红灯继续亮。
开始下一个循环定时
T42
定时90秒开始定时继续定时继续定时继续定时继续定时继续定时定时到,输出ON,随即复位开始下一次循环定时;东西黄灯、南北红灯灭,南北转弯灯、南北红灯、东西红灯亮。
表5高峰时段各定时器一个循环中的功能明细表
定时器t0t1t2t3t4t5t6
T37
定时10秒开始定时,南北转弯灯、南北红灯、东西红灯亮。
定时到,输出ON且保持;南北转弯灯灭,南北绿灯亮,东西红灯继续亮。
ONONONON开始下一个循环定时
T38
定时45秒开始定时继续定时定时到,输出ON且保持;南北绿灯灭,南北黄灯闪烁,东西红灯继续亮。
ONONON开始下一个循环定时
T39
定时50秒开始定时继续定时继续定时定时到,输出ON且保持;南北黄灯灭,东西转弯灯、南北红灯亮,东西红灯继续亮。
ONON开始下一个循环定时
T40
定时60秒开始定时继续定时继续定时继续定时定时到,输出ON且保T41
定时85秒开始定时继续定时继续定时继续定时继续定时定时到,输出ON且保持;东西绿灯灭,东西黄灯闪烁,南北红灯继续亮。
开始下一个循环定时
T42
定时90秒开始定时继续定时继续定时继续定时继续定时继续定时定时到,输出ON,随即复位开始下一次循环定时;东西黄灯、南北红灯灭,南北转弯灯、南北红灯、东西红灯亮。
持;东西转弯、东西红灯灭,东西绿灯亮,南北红灯继续亮。
6总结
附录源程序-STL语句
ORGANIZATION_BLOCK主:
OB1
TITLE=程序注解
VAR
T:
BYTE;//时钟值缓冲区
H:
INT;//小时数存储单元
M:
INT;//分钟数存储单元
SEC:
INT;//秒钟数存储单元
Tim:
WORD;//小时数乘100加分钟数乘10加秒钟数所得结果存储单元
END_VAR
BEGIN
Network1//网络标题
//网络注解
LDI0.0
CALLSBR0//开关SB0闭合,调用SBR0(INIT)对时钟进行初始化
Network2
LDNI0.1//起动/停止开关SB1断开,则停止程序
STOP
Network3
LDI0.1
TODRLB0//起动/停止开关SB1闭合,则起动程序,读取时钟
Network4
LDI0.1
INCBLB0
Network5
LDI0.1
INCBLB0
Network6
LDI0.1
INCBLB0//T加3指向小时存储单元
Network7
LDI0.1
BTILB0,LW1//将小时由字节型转换为整型
Network8
LDI0.1
MOVWLW1,VW16
*I+100,VW16//将小时的数值乘以100
Network9
LDI0.1
INCBLB0//将T指向分钟存储单元
Network10
LDI0.1
BTILB0,LW3//将分钟由字节型转换为整型
Network11
LDI0.1
MOVWLW3,VW18
*I+10,VW18//将分钟的数值乘以10
Network12
LDI0.1
MOVWVW16,VW20
+IVW18,VW20//将小时数乘100与分钟数乘10相加
Network13
LDI0.1
INCBLB0//将T指向秒钟存储单元
Network14
LDI0.1
BTILB0,LW5//将秒钟由字节型转换为整型
Network15
LDI0.1
MOVWVW14,LW7
+ILW5,LW7//将小时数乘100与分钟数乘10相加所得的结果与秒钟数相//加得Tim
Network16
LDW<=LW7,630序
CALLSBR1//Tim小于630时,则调用SBR1(SUBE)子程
Network17
LDWCALLSBR2//Tim大于630小于700时,则调用SBR2(SUBN)子程序
Network18
LDW<=LW7,830
CALLSBR3//Tim大于700小于830时,则调用SBR3(SUBF)子程序
Network19
LDWCALLSBR2//Tim大于830小于1630时,则调用SBR2(SUBN)子程序
Network20
LDW<=LW7,1900
CALLSBR3//Tim大于1630小于1900时,则调用SBR3(SUBF)子程序
Network21
LDWCALLSBR2//Tim大于1900小于2100时,则调用SBR2(SUBN)子程序
Network22
LDW<=LW7,2359
CALLSBR1//Tim大于2100小于2100时,则调用SBR1(SUBE)子程序
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCKINIT:
SBR0
TITLE=子例行程序注解
BEGIN
Network1//时钟初始化子程序
LDI0.1
INCBVB0
Network2
LDI0.1
INCBVB0
Network3
LDI0.1
INCBVB0
Network4
LDI0.1
MOVB0,VB0//设定时钟小时数
Network5
LDI0.1
INCBVB0
Network6
LDI0.1
MOVB0,VB0//设定时钟分钟数
Network7
LDI0.1
INCBVB0
Network8
LDI0.1
MOVB0,VB0//设定时钟秒钟数
Network9//网络标题
//网络注解
LDI0.1
TODWVB0
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCKSUBE:
SBR1//晚间时段交通灯控制子程序
TITLE=子例行程序注解
BEGIN
Network1//网络标题
//网络注解
LDI0.1
SS0.1,1
Network2
LSCRS0.1//顺序控制
Network3
LDNT38
TONT37,4
TONT38,10
Network4
LDNT37
=Q0.1
=Q0.4//黄灯按亮0.4秒灭0.6的规律闪烁,其余的交通灯全灭
Network5
LDT38
RT37,1
RT38,1
Network6
SCRE
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCKSUBN:
SBR2//正常时段交通灯控制子程序
TITLE=子例行程序注解
BEGIN
Network1//网络标题
//网络注解
LDI0.1
SS0.1,1
Network2
LSCRS0.1
Network3
LDNT42
TONT37,100//T37定时10秒
TONT38,400//T38定时40秒
TONT39,450//T39定时45秒
TONT40,550//T40定时550秒
TONT41,850//T41定时85秒
TONT42,900//T42定时90秒
Network4
LDNT37
=Q0.2
=Q0.5
=Q0.7
Network5
LDT37
ANT38
=Q0.2
=Q0.3
Network6
LDT38
ANT39
SS0.2,1
Network7
LSCRS0.2
Network8
LDNT44
TONT43,4
TONT44,10
Network9
LDNT43
=Q0.2
=Q0.4
Network10
LDT43
ANT44
=Q0.2
Network11
LDNT39
SS0.2,1
Network12
LDT39
ANT40
=Q0.2
=Q0.5
=Q0.6
Network13
LDT40
ANT41
=Q0.3
=Q0.5
Network14
LDT41
ANT42
=Q0.1
=Q0.5
Network15
LDT42
RT37,1
RT38,1
RT39,1
RT40,1
RT41,1
RT42,1
RT43,1
RT44,1
Network16
SCRE
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCKSUBF:
SBR3//高峰时段交通灯控制子程序
TITLE=子例行程序注解
BEGIN
Network1//网络标题
//网络注解
LDI0.1
SS0.1,1
Network2
LSCRS0.1
Network3
LDNT42
TONT37,100//T37定时10秒
TONT38,450//T38定时45秒
TONT39,500//T39定时50秒
TONT40,600//T40定时60秒
TONT41,850//T41定时85秒
TONT42,900//T42定时90秒
Network4
LDNT37
=Q0.2
=Q0.5
=Q0.7
Network5
LDT37
ANT38
=Q0.2
=Q0.3
Network6
LDT38
ANT39
SS0.2,1
Network7
LSCRS0.2
Network8
LDNT44
TONT43,4
TONT44,10
Network9
LDNT43
=Q0.2
=Q0.4
Network10
LDT43
ANT44
=Q0.2
Network11
LDNT39
SS0.2,1
Network12
LDT39
ANT40
=Q0.2
=Q0.5
=Q0.6
Network13
LDT40
ANT41
=Q0.3
=Q0.5
Network14
LDT41
ANT42
=Q0.1
=Q0.5
Network15
LDT42
RT37,1
RT38,1
RT39,1
RT40,1
RT41,1
RT42,1
RT43,1
RT44,1
Network16
SCRE
Network17//网络标题
//网络注解
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCKINT_0:
INT0
TITLE=中断例行程序注解
BEGIN
Network1//网络标题
//网络注解
END_INTERRUPT_BLOCK