《哈工大PLC课程设计说明书.26114.pdf》由会员分享,可在线阅读,更多相关《哈工大PLC课程设计说明书.26114.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 Harbin Institute of Technology 课程设计说明书(论文)课程名称:逻辑与可编程控制器 设计题目:交通信号协调控制系统 院 系:电气工程及其自动化 班 级:设 计 者:学 号:指导教师:陈宏钧 设计时间:2014 年 3 月 哈尔滨工业大学教务处 哈尔滨工业大学课程设计任务书 姓 名:院(系):专 业:电气工程及其自动化 班 号:任务起至日期:2014 年 4 月 1 日至 2014 年 4 月 7 日 课程设计题目:交通信号协调控制系统 已知技术参数和设计要求:以“交通灯模型为被控对象,以 S7 200 PLC-CPU224XP 为控制器,设计交通信号灯控制系统。
2、实现孤立路口的固定配时和适应性控制两种方案,及两组交通信号的协调控制.工作量:1)根据项目的技术指标,项目组成员通过集体讨论共同制定系统的总体设计方案。2)我们小组的具体分工为:第 1 小组:由 XXX、XXX 组成,完成交通灯的控制程序设计及协调工作 第 2 小组:由 XXX、XXX 组成,完成交通灯的控制程序设计 3)在实验设备上进行系统的局部调试和联合调试。4)整理设计文件,撰写设计说明书。工作计划安排:(学时安排为 1 周,但考虑实验的安排,需分散在 23 周内完成)第 1 阶段:立题和辅导 全体开会,下达设计题目,成立项目组(每组 4 人)。参加课程设计辅导讲座。第 2 阶段:设计和
3、调试 查阅有关文献,制定系统的总体设计方案;根据设计分工开展系统的软、硬件设计工作.同时进入实验室,在实验装置上进行调试和改进。第 3 阶段:整理和总结 调试成功后,全面总结设计工作,撰写设计说明书。第 4 阶段:项目验收 设计工作全部完成后,将集中时间进行项目验收。同组设计者及分工:本设计由 2 个设计小组协作完成:设计小组 1 的任务:交通灯的控制程序设计及协调工作;设计小组 2 的任务:交通灯控制系统设计;本人与张巍共同组成第 2 设计小组,合作完成设计任务。指导教师签字_ 年 月 日 教研室主任意见:教研室主任签字_ 年 月 日 注:此任务书由课程设计指导教师填写哈尔滨工业大学课程设计
4、说明书(论文)1 1 项目的技术要求及总体设计方案 1背景及目的介绍 作为保障城市交通正常运作和畅通的主要设备,交通信号灯在当代城市中扮演着必不可少的角色,随着计算机、通信和自动化技术在道路交通控制与管理中的广泛应用,人们已经逐渐意识到要适应现代化的发展需要,道路交通控制与管理系统要实现智能化,即不单纯的实现定时放行、停止车辆的功能,而且要根据实际情况调节放行时间使得道路资源得到充分的利用。并且在特殊的情况实现特殊控制,这也是我们进行逻辑与可编程控制器所要达到的目的.在进行课程设计的过程中,使得我们能够充分学习西门子公司 S7-200 型 PLC 的功能及编程。将逻辑与可编程控制器这门课中所学
5、到的知识溶汇于实际应用中。2基本功能 本次课程设计的基本功能是实现某十字路口的正常交通信号运作,即“红灯停、绿灯行”。由于该路口可能是干道十字路口,因此车流量可能较大,在东西或南北方向通行时,可能使得左转弯的车辆与相反方向通行的直行车辆发生交叉,即两个车流发生交叉.这将导致交通事故的可能性增加,同时会影响车辆通过十字路口的速度。如果司机争抢通行权将导致路口堵塞,使得交通堵塞。为了解决该问题,我们决定使用直行方向与左转弯方向轮换放行的交通信号,来减少交通事故的发生率及提升通过路口的车辆的速度.具体措施如下:由实验板上两个拨码盘实现控制信号的时间长度设定,具体实现方法将在软件设计中阐述.由拨码盘可
6、以得到直行方向的绿灯、黄灯及左转方向的绿灯、黄灯时间长度。而红灯的时间长度将由程序的算术算法和逻辑算法得到。具体功能为:1。直行方向亮绿灯时间通行 2直行方向亮黄灯时间 3直行方向亮红灯禁止通行,左转弯方向亮绿灯时间左转弯车辆通行 4左转方向亮黄灯时间 5左转方向亮红灯 6等待相交路口方向车辆通行,设时间与所设定方向时间一直。3特殊功能 3。1 夜间省电模式 由于夜间道路上车辆行人较少,在穿越路口的时候只需要行人或司机注意观察道路状况,自行穿越即可.因此在夜间我们使用夜间模式,即两个方向的黄灯以 1 秒为周期闪烁,以起到警示作用即可.哈尔滨工业大学课程设计说明书(论文)2 这样做的好处在于,首
7、先,只使用了两个黄灯闪烁,可以节省电力的消耗,并且使得交通灯的寿命得到延长.其次,这样能有效利用交通道路资源,使得车辆在经过路口的时候只需减速,而不用完全停下等待绿灯信号即使垂直方向没有车辆通行。最后,这样能节省燃油能源,据了解车辆停止到启动将消耗大量的能源,使得燃油消耗大大增加。因此这样做能节省宝贵的燃油资源.3.2 强制通行模式 当遇到紧急情况时,需要优先放行某方向的车辆,例如有救护车需要通过路口或者重要人员乘坐的车辆需要优先通过道口的情况。因此我们采取了强制通行模式,即当遇到上述情况时将直行方向设为绿灯,加快该方向的车辆通行.我们设置了强制通行键,当按键被按下后,进入强制通行模式,直行方
8、向设为绿灯,并将其他方向的信号灯设为红灯以保证通行者的安全。3.3 数码管提示功能 数码管提示功能主要用于提示直行方向的车辆绿灯将要到来的时间。我们知道,汽车启动需要一定的时间,因此,如果提示司机绿灯的时间能够减少由于启动带来的时间损失.由于受限于,数码管管脚数目不够的实际状况,因此我们的数码管只能显示到最大为 3 的数字。但是该功能以及能够满足提示司机提前启动的目的。2 系统的硬件设计 1实验面板介绍 新交通灯模型由八个指示灯:L1、L2、L3、L4、L5、L6、L7、L8,三个按钮:Enter、Crosswalk、Detector,两个拨码盘及两个通道的连线接口组成,如下图:图 2-1 交
9、通灯模型面板 其中,L1 为左转方向红灯、L2 为左转方向绿灯信号、L3 为左转方向绿灯信号、L4 为直行方向红灯信号、L5 为直行方向黄灯信号、L6 为直行方向绿灯信号、L7 为行人过街红灯指示信号、L8 为行人过街绿灯指示信号、数码管通过数字显示提示等待红灯的司机剩余的等待时间长度。Enter 键为时间设定输入键,W1、W2 为两个拨码盘,通过拨码盘上下两个“+“”按键我们可以设定拨码盘的数值,以提供控制时间的长短。Crosswalk 键在我们的项目设计中被指定为强制通行按键。Detector 键在本项目中没有被利用,有待其他功能时使用,作为备用按键.从图中我们可以看到,以上指示灯、按钮、
10、数码管、拨码盘都连接到面板的两个通信通道 Cn1 和 Cn2 上.其中 Cn1 为输入电缆接口,Cn2 为输出电缆接口。硬件连线图见附件。2SIEMENS S7-200 PLC 介绍 西门子公司的 SIMATIC S7200 CPU 224XP 的基本参数为:外形尺寸;程序存储器:可在运行模式下编辑 12288 字节,不可在运行模式下编辑 16384 字节;数据存哈尔滨工业大学课程设计说明书(论文)3 储区 10240 字节;掉电保护时间 100 小时;本机 I/O 数字量:14 入/10 出、模拟量:2入/1 出;扩展模块数量:7 个模块;高速计数器单相:4 路 30kHz2 路 200kH
11、z 两相 3路 20kHz1 路 100kHz;脉冲输出(DC)2 路 100kHz;模拟电位器 2 个;实时时钟内置;通讯口:2 个 RS485;支持浮点数运算;I/O 映象区 256(128 入/128 出);布尔指令执行速度。3本项目的 I/O 口映射表及其功能 由于本项目任务没有明确规定 PLC 的 I/O 口电气连接规定,因此我们自行进行连线并组成如下的电气连接表 表 2-1 PLC I/O 映射地址及其对应电气元件和用途 I/O 映射地址 对应面板序号 连接元件 用途 I0.0 Cn1。1 拨码盘 W1 输出脚 1(低位)绿灯、黄灯选择拨盘(0为直行绿灯、1 为直行黄灯、2 为左转
12、弯绿灯、3为左转弯黄灯)I0。1 Cn1.2 拨码盘 W1 输出脚 2 I0.2 Cn1。3 拨码盘 W1 输出脚 4 I0.3 Cn1。4 拨码盘 W1 输出脚 8(高位)I0。4 Cn1。5 拨码盘 W2 输出脚 1(低位)时间设定拨码盘,设定时间的输出分为 09 得到的黄灯时间为所设数字两倍秒,绿灯时间为所设数字五倍秒 I0.5 Cn1.6 拨码盘 W2 输出脚 2 I0。6 Cn1.7 拨码盘 W2 输出脚 4 I0.7 Cn1。8 拨码盘 W2 输出脚 8(高位)I1.0 Cn1。10 Enter 键 用于确认拨码盘的输入 I1.1 Cn1。9 Crosswalk 强制通行请求按钮
13、I1。2 纽子开关 Ordinary 子程序 Restart I1.3 纽子开关 备用 I1.4 纽子开关 备用 I1.5 纽子开关 Day 控制(日夜控制)Q0。0 Cn2.11 L7 行人过道红灯信号 Q0。1 Cn2.12 L8 行人过道绿灯信号 Q0.2 Cn2。9 L5 直行方向黄灯信号 Q0.3 Cn2.1 数码管管脚 1 数码管低位控制 Q0。4 Cn2.5 L1 左转弯方向红灯 Q0。5 Cn2。6 L2 左转弯方向黄灯 Q0。6 Cn2。7 L3 左转弯方向绿灯 Q0。7 Cn2.8 L4 直行方向红灯 Q1。0 Cn2。10 L6 直行方向绿灯 Q1.1 Cn2.2 数码管
14、管脚 2 数码管高位控制 由于我们所使用的 PLC 型号为 SIMATIC S7-200 CPU 224XP,其数字两输出口只有 10 个,不能满足我们预期的数目(12 个)。因此我们在保证交通灯控制的完整性需要的前提下不得不牺牲了数码管的部分功能。这样,我们的数码管提示时间从 9 秒倒哈尔滨工业大学课程设计说明书(论文)4 计时减少到 3 秒倒计时。3 系统的软件设计 1设计思路 作为交通信号灯控制程序,首要的任务是实现十字路口的正常运作,即红绿灯正常运行。我们通过五个计数器来完成不同时间的逻辑控制,并且通过算术运算得到与该方向垂直方向车辆通行的时间,来获得红灯的时间。同时为了实现智能配时功
15、能我们要通过拨码盘设定直行、左转车道绿灯黄灯时间输入.因此我们设置拨码盘数据读取子程序读取设定的时间。为了实现强制通行功能,我们还设定了强制通行的子程序。通过该子程序实现一段时间内对交通灯的强制控制,以达到使得直行方向的保持绿灯,加快该方向车辆通行的目的。以下将通过程序流程图和程序概述阐述软件设计的过程.2程序流程图 图 3-1 主程序 Main 流程图 图 3-2 白天正常情况下 Ordinary 子程序流程图 图 33 强制通行 图 3-4 拨码盘数据读取 子程序流程图 子程序流程图 3程序概述 3。1 主程序(Main)主程序实现的主要功能为根据各种输入状态例如昼夜状态、强制通行请求状态
16、来调用相应的子程序,并且实现夜间省电模式的黄灯闪烁功能.在这个基础上,每次扫描周期都将调用拨码盘数据读取子程序、状态传递准备子程序和从机 PLC 控制的交通灯状态。从而使得触摸屏能够从主机 PLC 读取两个交通路口的交通信号状态。当 Day 触点,即 I1。5(闭合时状态为白天、断开时状态为夜间).当其闭合时,程序将跳过黄灯闪烁功能程序段及其他信号灯赋值程序段,进入 Ordinary 子程序。实现白天的交通信号控制。同时通过 Enter 触点,即 I1。1(控制板模型上的 Enter 键)来控制是否读取拨码盘上的输入数值。该功能只在白天时有效,因此在调用拨码盘数据读取子程序的网络中还串连加入昼
17、夜状态标志位M1。7。为了实现特殊情况下,强制通行的需要,主程序中将根据触点 I1。0 即连接于控制板模型上的 crosswalk 键实现强制通行请求。当有强制通行请求发生时,主程序将对强制通行标志位 M0。1 实现置一,并且实现自锁,当设定的强制通行时间到时将自动解除自锁。并恢复正常运行.哈尔滨工业大学课程设计说明书(论文)5 3.2 白天程序(Ordinary)Ordinary 主要实现白天正常情况下的交通信号控制功能。首先,该子程序将由主程序中的拨码盘输入子程序中读取的四个时间值(直行绿灯、直行黄灯、左转弯绿灯、左转弯黄灯时间)进行字节整型变换,由于我们假设垂直方向的交通信号与该方向的时
18、间设定相同,因此我们通过将直行绿灯 VW0、直行黄灯VW16、左转弯绿灯 VW32、左转弯黄灯 VW48 的时间做算术相加得到我们控制方向上红灯的等待时间 VW96。由于拨码盘的数字限制(只能输入 09),因此我们加入乘法运算来使得我们的控制时间更加灵活。由乘法运算得到直行绿灯时间 VW100、直行黄灯时间 VW102、左转弯绿灯时间 VW104、左转弯黄灯时间 VW106 及红灯等待时间 VW108 为了后续能够进行程序升级,我们在该子程序的计数器部分加入了计时器,如果将来需要可以升级成具有延时功能的控制方法。最后通过五个计数器的不同状态值进行逻辑运算,赋给相应的信号灯输出端.3.3 强制通
19、行(Force_Pass)强制通行子程序主要实现对信号灯的正确置位功能。主要功能是直行绿灯及行人过道绿灯信号的置1 而其他信号的清零。同时加入定时器进行定时,使得当主程序中强制通行请求按键放开时依然能够实现一定时间内的强制通行状态。当计时器计满预定时间时,对强制通行标志位进行清零处理。从而恢复正常的通行信号控制.3.4 拨码盘数据读取(KEY)拨码盘数据读取程序的主要功能是将由 I0.0I0。7 的拨码盘数据读入,进行分析并将数据传入相应的 VB 地址段。由于 I0。0I0。4 为 W1 的数值,我们设定 W1 为选取功能,即选择所设定时间赋值给直行绿灯、直行黄灯、左转弯绿灯还是左转弯黄灯。并
20、通过判断功能选择相应的赋值程序。(I0。00.4 为 0000 时:直行绿灯时间;I0。00.4 为 0001 时:直行黄灯时间;I0。00。4 为 0010 时:左转弯绿灯时间;I0。00.4 为 0011 时:左转弯黄灯时间)而 W2 为时间设定功能实现由 09 的数字输入,以供 Ordinary 子程序使用。具体地址为 VB5:直行绿灯;VB6:直行黄灯;VB7:左转弯绿灯;VB8 左转弯黄灯 4 调试过程及结果 1主机 PLC 调试 在编制程序时,我们由简单的功能开始扩展为功能较为全面的功能.开始只是实现正常状态下红绿灯的信号控制。然后将该程序作为子程序,由主程序调用。并且添哈尔滨工业
21、大学课程设计说明书(论文)6 加了夜间功能、强制通行功能。在调试过程较为顺利.偶尔遇到一些诸如某些标志位无法清零等问题也一一被解决。主要问题在于之前没有学习过如何在PLC 的编程中调用子程序,存储空间范围不明确,因而在键值传输子程序的调试时花费较多时间,不过最终攻克。2主机 PLC 与从机 PLC 的联机调试 开始阶段为两个路口小组共同开发基本程序,因为两个路口实现的功能基本相同.因此在联机调试的过程中只是在网络设置上存在一些小问题,但是很快得到老师的帮助并解决.而读取数据段通过协调完成。3调试过程中的问题及解决方案 在测试的过程中我们发现最初的程序由于没有加入乘法器,因此设定的时间只能在 0
22、9 秒之间,不能设置超过 10 秒的时间。无法达到正常路口信号控制要求,由于上述问题的发生,我们在程序 Ordinary 中加入了现在所用程序所包含的乘法器,以达到正常控制功能.4结果 试验结果符合预期设计要求,实现了该路口的交通信号控制。通过拨码盘能够智能调节路口信号时间长度.同时该路口具有强制通行功能。5 设计存在的问题及改进方案 在我们的设计中我们发现现在用的程序比较复杂,难以看懂.原因在于我们没有建立内部寄存器的说明表,同时有些触点没有采取标志的方式进行命名,这将给后续修改程序或者程序升级带来很大的麻烦.因此,我们将在附录中添加有关中间变量的意义表。同时,由于对 S7200PLC 的内
23、部寄存器不是特别了解。因此在使用的过程中产生了浪费的现象,特别是在数值转换、传递的过程中占用了大量的寄存器,开来了浪费.因此,在这方面还可以进行后续优化。在程序中我们采用某些不用的内部寄存位作为常闭触点,在现实工作中是不可靠的,我们应该采用 SM0。0 来代替实现同样的功能.最后,由于编程经验的限制,我们的程序的一些地方比较累赘,某些程序可以用一句程序代替。而在我们的程序中却用了许多判断语句。势必在程序运行的过程中造成处理器的资源浪费。以上就是我们这次课程设计中还存在的问题。可能还有问题没有发现,请老师批评指正。6 课程设计心得体会 哈尔滨工业大学课程设计说明书(论文)7 这次针对交通信号灯模
24、型的课程设计,让我进一步学习了 S7200 的通讯方式和相应程序的编写过程,学会了如何将具体问题与程序编写、调试结合起来,实践了分析与编写复杂程序的过程。同时,PLC 程序的编写与调试的过程让我对 PLC 工作的原理有了进一步的认识,更加深入、全面地了解了 PLC 的功能。PLC 在工业中的运用极为广泛,这次课程设计,也为我以后的学习工作打下了基础。在本次课程设计过程中,通过分工合作,我们比较高效地完成了任务,也让我更加深刻的体会到了小组合作的重要性.在调试程序过程中我们也遇到一些问题,感谢老师和师兄的帮助,让我们的问题很快得到解决,较顺利的完成了这次课程设计。哈尔滨工业大学课程设计说明书(论
25、文)8 7 附录 1 程序清单 1 主程序 Main 2 子程序 Ordinary 3 子程序 Force_Pass 4 子程序 KEY 2 程序内部变量及 I/O 端口意义 符号 地址 意义 左拨码盘 0 位 I0.0 用于选择设定的灯 左拨码盘 1 位 I0。1 用于选择设定的灯 左拨码盘 2 位 I0。2 用于选择设定的灯 左拨码盘 3 位 I0。3 用于选择设定的灯 右拨码盘 0 位 I0。4 用于设定时间长度 右拨码盘 1 位 I0.5 用于设定时间长度 右拨码盘 2 位 I0.6 用于设定时间长度 右拨码盘 3 位 I0.7 用于设定时间长度 Crosswalk I1。0 强制通行
26、请求键,按下执行强制通行 Enter I1。1 拨码盘数据输入按键,按一次执行当前状态下数据输入一次 I1.2 用于将正常工作时计数器计时器清零功能 Day I1。5 昼夜控制按钮 1 为白天 0 位夜晚 SN_walk_Red Q0。0 行人过街红灯 SN_walk_Green Q0。1 行人过街绿灯 SN_Yellow Q0。2 直行方向黄灯 数码管控制位 0 Q0。3 用于控制数码管数字输出低位 EW_Red Q0。4 左转弯方向红灯 EW_Yellow Q0.5 左转弯方向黄灯 EW_Green Q0。6 左转弯方向绿灯 SN_Red Q0.7 直行方向红灯 SN_Green Q1.0
27、 直行方向绿灯 数码管控制位 1 Q1.1 用于控制数码管数字输出高位 Ordinary 运行控制标志位 M0。0 该标志位用于实现在 Ordinary 状态下自程序自动循环功能 强制通行标志位 M0。1 表示强制通行状态1位强制通行0为非强制通行 昼夜状态标志位 M1.7 表示昼夜状态 1 位白天 0 为晚上 直行方向绿灯状态标志位 M2。0 直行方向绿灯状态 直行方向黄灯状态标志位 M2。1 直行方向黄灯状态 直行方向红灯状态标志位 M2。2 直行方向红灯状态 左转弯方向绿灯状态标志位 M2.3 左转弯方向绿灯状态 哈尔滨工业大学课程设计说明书(论文)9 左转弯方向黄灯状态标志位 M2.4
28、 左转弯方向黄灯状态 左转弯方向红灯状态标志位 M2.5 左转弯方向红灯状态 行人过街绿灯状态标志位 M2。6 行人过街绿灯状态 行人过街红灯状态标志位 M2.7 行人过街红灯状态 M3.0 被用于常开触电,保持状态 0 左拨码盘输入位 0 数据 V12。0 用于输出一个字型数据 左拨码盘输入位1 数据 V12。1 用于输出一个字型数据 左拨码盘输入位2 数据 V12.2 用于输出一个字型数据 左拨码盘输入位3 数据 V12.3 用于输出一个字型数据 右拨码盘输入位0 数据 V13。0 用于输出一个字型数据 右拨码盘输入位1 数据 V13.1 用于输出一个字型数据 右拨码盘输入位2 数据 V1
29、3.2 用于输出一个字型数据 右拨码盘输入位3 数据 V13.3 用于输出一个字型数据 直行绿灯输入数据 VB5 直行绿灯输入数据 直行黄灯输入数据 VB6 直行黄灯输入数据 左转弯绿灯输入数据 VB7 左转弯绿灯输入数据 左转弯黄灯输入数据 VB8 左转弯黄灯输入数据 直行方向绿灯时间整型数据 VW0 字型数据 直行方向黄灯时间整型数据 VW16 字型数据 左转弯方向绿灯时间整型数据 VW32 字型数据 左转弯方向黄灯时间整型数据 VW48 字型数据 中间数据 VW64 为 VW0 与 VW16 的和 中间数据 VW80 为 VW32 与 VW48 的和 红灯等待时间 VW96 逻辑红灯等待
30、时间为 VW64 与 VW80 的和 直行方向绿灯时间整型最终数据 VW100 被赋值给直行方向绿灯计数器 直行方向黄灯时间整型最终数据 VW102 被赋值给直行方向黄灯计数器 左转弯方向绿灯时间整型最终数据 VW104 被赋值给左转弯方向绿灯计数器 左转弯方向黄灯时间整型最终数据 VW106 被赋值给左转弯方向黄灯计数器 最终红灯等待时间 VW108 被赋值给红灯等待计数器 中间数据 VW110 用于实现数码管显示的中间数据 直行方向绿灯计数器数值 VW120 用于数据传递 直行方向黄灯计数器数值 VW122 用于数据传递 左转弯方向绿灯计数器数VW124 用于数据传递 哈尔滨工业大学课程设计说明书(论文)10 值 左转弯方向黄灯计数器数值 VW126 用于数据传递 红灯等待计数器数值 VW128 用于数据传递 中间数据 MW5 为将数码管数据实现位操作而存放数据的寄存器 3 硬件连线