近代无线电实验蒋00732008-2009第二学期复旦大学电子工程系电子信息科学与技术专业
用PLC实现交通灯实验报告
一.实验目的:
1.掌握可编程序控制器的使用、编程及调试。
2.了解可编程序控制器逻辑控制的设计方法。
3.熟悉可编程序控制器系统设计的方法。
4.了解西门子公司S7-2__可编程序控制器的使用特点。
二.实验基本要求:(此为书上要求,实际有改进,见后分析)
1.交通信号灯分车行和人行两种。车行信号灯有红黄绿3色,只有直行方向,不考虑转弯
方向;人行信号灯有红绿两色,同样只有直行方向,不考虑转弯。
2.信号灯东西向、南北向应保持同步。即:
车行信号灯东西向有两组信号灯,分别指示东向、西向汽车,红黄绿显示应一致;车行信号灯南北向有两组信号灯,分别指示南向、北向汽车,红黄绿显示应一致;人行信号灯东西向有两组信号灯,分别指示东向、西向行人,红绿显示应一致;
人行信号灯南北向有两组信号灯,分别指示南向、北向行人,红绿显示应一致。
3.东西向、南北向信号灯绝对不能同时显示绿色。
4.信号灯有自动和手动两种工作方式,可方便切换。
5.自动情况下,分别设有东西方向和南北方向的强制通行按钮;
当强通按钮按下时,对方绿灯立即开始闪烁并进入正常的换灯过程
若强行按下方向与绿灯方向一致,则延长。
6.初始时,所有信号灯必须全部为红色。
近代无线电实验蒋00732008-2009第二学期复旦大学电子工程系电子信息科学与技术专业
三.最终设计方案:(具体实现的三个版本均有详细设计思路附在最后)
实现功能:
1.按下K0(I0.0),实现自动方式:
初始状态:
T0:东西车红,南北车红(4S)
正常状态:
T1:东西车红、黄灯亮(4S)——人行车红T2:东西车绿(10S)——人行车绿T3:东西车绿闪(4S)——人行车绿
东西车黄(4S)——人行车绿
以上情况下,南北车及人行均保持红
T4:南北车红、黄灯亮(4S)——人行车红T5:南北车绿(10S)——人行车绿T6:南北车绿闪(4S)——人行车绿南北车黄(4S)——人行车绿以上情况下,东西车及人行均保持红
1.初始状态T0下,东西及南北方向均为红灯,以后状态的循环将跳过T0。
2.各路车行灯,从红灯变到绿灯时,有一个状态T1和T4为红灯及黄灯同时亮;但从绿灯变到红灯时,直接转换到红灯,没有过渡状态黄灯、红灯均亮。(实验开始时这样设计的,但不符合实际情况,所以改之)
3.在绿灯闪烁交换到红灯时,车行比人行先转换到红灯,见T3和T6。
近代无线电实验蒋00732008-2009第二学期复旦大学电子工程系电子信息科学与技术专业
2.T1T2状态或T4T5状态时(即非闪烁状态)时可以按下K4,即进入备用模式S1.2:
备用模式下东西、南北车行黄灯均为闪烁状态,其他灯均为红。设置该状态的意义:
在夜间时,可能车辆较少,这时允许某一方向的行人或司机自动转换灯信号;或者在紧急突发事故时,暂时停用交通灯,有交警直接指挥维持秩序。
3.T2或T5状态(即两路灯均在稳定绿或红状态时)可以允许按下K2或K3,采取东西强
制或南北强制:(S1.0及S1.1状态)
1.若一方处于红灯状态,而另一方处于绿灯状态,此时若按下红灯方向强制键,则绿灯另一方将立刻进入闪烁状态,并按正常情况进入红灯交换。相当于提前进行到下一个状态。
2.若按下强制键的一方就是当前绿灯的一方,则该方的绿灯状态时间将会延长。注意点:
若强制某方向通行过程中,又按下了相反方向的强通键,则当前方向若已为绿灯,则取消原本应该的延时,直接跳到后一转换过程;若该方向已经进入转换状态,则没有影响(因为此时规定不可按下任何强通键)。
近代无线电实验蒋00732008-2009第二学期复旦大学电子工程系电子信息科学与技术专业
四.实验进度安排及实际进展和出现的问题:
近代无线电实验蒋00732008-2009第二学期复旦大学电子工程系
近代无线电实验蒋00732008-2009第二学期复旦大学电子工程系电子信息科学与技术专业
实验实现用到了特殊寄存器:
近代无线电实验蒋00732008-2009第二学期复旦大学电子工程系电子信息科学与技术专业
五.实验感悟:
这次实验中,虽然次数不多,实验相较于前面一次,学到的东西却觉得更多。
1.由于每次实验前都几乎要花1天多的实验来设计方案,理清思路,所以每次实验前都有
明确的目的,到了现场基本都是在做调试、验证工作,抓紧了每一分每一秒;
2.这次实验通过自己的不断修改,亲眼看到自己从最初十分拙劣的设计版本慢慢到最后较
为完善的设计最终版本,感觉十分有成就感,所以当老师问我现在对这个实验了解程度怎么样时,我退口而出“十分了解”。因为我觉得可以很肯定地说现在自己对于PLC的梯形图使用,程序设计逻辑灯都十分了然于心。
3.老师在最后验收时,问我,做了PIC和PLC之后,感觉他们之间最大的区别在哪里。却
一下子有点不知道该怎么回答了,感觉PIC光是程序,就向汇编语言,十分复杂,再加上现场软件的问题,搞得自己连续几节课真的是很失落;但是PLC感觉就很直观,逻辑性十分清晰,上手也十分快。
结果老师告诉了我他的看法,听了之后我就频频点头,因为老师说的就好像一下子把最关键的东西给说白了:PIC是种类似汇编语言的语言,所以其实在编写时就好像整个CPU都暴露在外面,你在编写程序时甚至可以改变最底层、最基本的东西;而PLC实际上在编写时,之所与感觉十分有逻辑性,是因为它是在编写数据进去,并且它是顺序执行的,而PIC的语言则时并行的。
4.在实验中,有一次老师跑到我的位子旁边,看到我正拿着工具将线插入到板子里,就问
我有哪里不对劲吗我当时就脸红了,因为自己拿着镊子在做这件事,可是很可笑的是自己却理直气壮地对老师说,我们没有螺丝刀。结果老师让我把抽屉里的工具箱打开,果然黄色的螺丝刀就安静地躺在那里,当时自己就脸红了。同时老师还指出,箱子里的线、工具这类的都横七竖八地乱糟糟,这下自己更是不好意思了。更要命的是,老师进一步指出自己最大的问题在于竟然在没关电源的情况下,正在连线。虽然这只是实验中的一次小插曲,但是却真的很谢谢老师,因为让自己看到了粗心大意的自己,其实也让自己性急的毛病再一次暴露了出来。记得以前做实验时,有一次也被老师指出过类似的问题,所以这次自己更加感到自己真的要改掉这些细节方面的小问题。所以,之后每次做实验时,我都会先查看开关有没有关掉,每次做完实验后也都把器材好好地放好,我想只有通过养成良好的实验习惯才能真正把实验做好,因为有时当周围一切都乱糟糟时,又怎么可能很好地去完成实验呢
5.最后,我想,近代无线电这门实验课在本学期也结束了,虽然自己的动手能力、编程能
力、实验能力在许多方面任然存在着许多需要提高的地方,但是,毕竟每一次自己都能认真对待,最终也在磕磕碰碰中,曲曲折折地完成了两个实验,相信,今天的收获一定还是不小的!