根据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 晚间时段各定时器一个循环中的功能明细表
定时器 t0 t1 T2 T37
定时0.4秒 开始定时,黄灯亮 的定时 T38 定时1秒
开始定时
继续定时
定时到,输出ON,随即复位开始下一次循环的定定时到,输出ON且保持;黄灯灭 开始下一次循环
时,黄灯亮。
表4 正常时段各定时器一个循环中的功能明细表 定时器 t0 t1 t2 t3 t4 t5 t6 T37 定时10秒
开始定时,南北转弯灯、南北红灯、东西红灯亮。 定时到,输出ON且保持;
南北转弯灯灭,南北绿灯亮,东西红灯继续亮。 ON ON ON ON 开始下一个循环定时 T38 定时40秒
开始定时
继续定时
定时到,输出ON且保持;南北绿灯灭,南北黄灯
闪烁,东西红灯继续亮。 ON ON ON 开始下一个循环定时 T39 定时45秒
开始定时
继续定时
继续定时
定时到,输出ON且保持;南北黄灯ON ON 开始下一个循环定时
灭,东西转弯灯、南北红灯亮,东西红灯继续亮。 T40 定时55秒
开始定时
继续定时
继续定时
继续定时 定时到,输出ON且保
持;东西转弯、东西红灯灭,东西绿灯亮,南北红灯继续亮。 ON 开始下一个循环定时 T41 定时85秒
开始定时
继续定时
继续定时
继续定时
继续定时
定时到,
输出ON且保持;东西绿灯灭,东西黄灯闪烁,南北红灯继续亮。 开始下一个循环定时 T42 定时90秒
开始定时
继续定时
继续定时
继续定时
继续定时
继续定
时 定时到,输出ON,随即复位开始下一次循环定时;东西黄灯、南北红灯灭,南北转弯灯、南北红灯、东西红灯亮。
表5 高峰时段各定时器一个循环中的功能明细表 定时器 t0 t1 t2 t3 t4 t5 t6 T37 定时10秒
开始定时,南北转弯灯、南北红灯、东西红灯亮。 定时到,输出ON且保持;
南北转弯灯灭,南北绿灯亮,东西红灯继续亮。 ON ON ON ON 开始下一个循环定时 T38 定时45秒
开始定时
继续定时
定时到,输出ON且保持;南北绿灯灭,南北黄灯
闪烁,东西红灯继续亮。 ON ON ON 开始下一个循环定时 T39 定时50秒
开始定时
继续定时
继续定时
定时到,输出ON且保持;南北黄灯ON ON 开始下一个循环定时
灭,东西转弯灯、南北红灯亮,东西红灯继续亮。 T40 定时60秒 T41 定时85秒
开始定时
继续定时
继续定时
开始定时
继续定时
继续定时
继续定时 定时到,输出ON且保
继续定时 继续定时 定时到,
输出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
Network 1 // 网络标题 // 网络注解 LD I0.0
CALL SBR0 //开关SB0闭合,调用SBR0(INIT)对时钟进行初始化 Network 2
LDN I0.1 //起动/停止开关SB1断开,则停止程序 STOP Network 3 LD I0.1
TODR LB0 //起动/停止开关SB1闭合,则起动程序,读取时钟 Network 4 LD I0.1 INCB LB0 Network 5 LD I0.1 INCB LB0 Network 6 LD I0.1
INCB LB0 //T加3指向小时存储单元 Network 7 LD I0.1
BTI LB0, LW1 //将小时由字节型转换为整型
Network 8 LD I0.1
MOVW LW1, VW16
*I +100, VW16 //将小时的数值乘以100 Network 9 LD I0.1
INCB LB0 //将T指向分钟存储单元 Network 10 LD I0.1
BTI LB0, LW3 //将分钟由字节型转换为整型 Network 11 LD I0.1
MOVW LW3, VW18
*I +10, VW18 //将分钟的数值乘以10 Network 12 LD I0.1
MOVW VW16, VW20
+I VW18, VW20 //将小时数乘100与分钟数乘10相加 Network 13 LD I0.1
INCB LB0 //将T指向秒钟存储单元 Network 14 LD I0.1
BTI LB0, LW5 //将秒钟由字节型转换为整型 Network 15 LD I0.1
MOVW VW14, LW7
+I LW5, LW7 //将小时数乘100与分钟数乘10相加所得的结果与秒钟数相//加得Tim Network 16
LDW<= LW7, 630序
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《可编程控制器》大作业(2)在线全文阅读。
相关推荐: