基于LabVIEW的交通灯设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟仪器课程设计
基于LabVIEW的交通灯设计
专业:
姓名:
学号:
、课题研究背景和意义
近年来,在快速城市化进程和经济发展的影响下,机动车辆已成为普遍的代步工具,交通负荷越来越重,交通问题成为困扰许多大城市发展的通病,已成为日趋严峻的国际性问题。其中,十字路口则是造成交通堵塞的主要”瓶颈”。交通信号灯成为了维护交通秩序的必备工具。交通信号灯的使用有效减小了交通拥堵维护交通顺畅。
此次课设的题目的是设计交通信号灯。在设计的过程中了解了交通灯的显示规则,增强了加强交通安全的意识,其次运用已学知识设计信号灯便于更好的掌握labview软件的使用,培养综合应用所学知识来指导实践的能力。
二、程序设计思路
通过采用基于虚拟仪器的交通灯系统设计,自动控制十字路口四组红、黄、绿交通灯和四组人行道暗、绿状态的转变,指挥着行人和车辆的安全运行,实现十字路口的自动指挥和改善交通管理。绿灯亮时,允许车辆和行人通行。红灯亮时,禁止车辆和行人通行,为交通安全提供保障。同时会有时间的显示。
程序采用条件结构,做五个分支,分别对应五种运行模式:
正常运行:在正常运行模式中,再用时钟信号做选择条件做四个分支,实现交通信号的循环变换,控制逻辑顺序如下:
(1 )南北红和东西绿(30秒);
(2)南北红和东西黄(05秒);
(3)南北绿和东西红(30秒);
(4)南北绿和东西黄(05秒);
东西禁行:东西方向亮红灯禁止通行,南北方向亮绿灯允许通行。
南北禁行:东西方向亮绿灯允许通行,南北方向亮红灯禁止通行。
两向禁行:东西南北方向全亮红灯禁止通行。
检修:把信号灯全部熄灭。
在各运行模式中,每个条件结构里的程序基本相同:用需要点亮的灯与布尔真常量连接,不需要点亮的与布尔假常量连接,而两方向灯的时间显示器则用一定的值减去输入的时间量,以实现倒计时的功能。
2.1前面板的设计
本设计中前面板需要用20盏灯、4个时间显示器、1个菜单下拉列表、1个停止按键即可。其中十字路口的12盏灯,红、黄、各4盏,绿灯12盏,在控件选板中选择指示灯,将它放在前面板合适的位置,单击鼠标右键,更改指示灯的属性,改变指示灯的大小和颜色,做出一个合适的指示灯。道理指示灯三个分为一组,每组都包含红黄绿三种颜色的灯,再用框将每组灯框起来,做成一个交通灯。在每组交通灯合适的位置放置一个数值显示控件作为交通灯的计时器,同样的方法另做人行道的8盏绿灯灯。并在前面板合适的位置放置一个控制窗口,用于选择交通灯的运行模式及控制其开始与停止,然后设置窗口大小。这样交通灯
系统的前面板就做好了。交通灯前面板设计如下面图1所示。
「d 嘉匸谨灯匚~ 亠......... ......... ..
图1交通灯前面板示意图
2.2单位时间信号的产生
时钟信号用毫秒计时器产生。毫秒计时器计时十毫秒,10毫秒记反馈节点加
,要产生一个一秒为单位的时间信号,所以还得用计数值除以100,取商得到以
秒为单位的时间信号
图2单位时间信号
2.3时间信号的分段
将所得的时间信号除以每个循环所用的时间70s,取其余数,得到的余数x
的范围为0v=x<70。
当运行模式选择为正常运行时,执行条件结构里为序号0的程序。
当0<=x<30时,条件成立,执行程序框图中第一个条件结构里面的程序,东西通行。当30<=x<35时,条件成立,执行框图中第二个条件结构里的程序,东西亮黄灯。当35<=x<65时,条件成立执行框图中第三个条件结构里的程序,南北通行。当65<=x<70时,条件满足,执行框图中第四个条件结构里的程序,南北亮黄灯。时间分段的程序框图如下图所示。
|io]- ©
图3条件为真的各时间分段程序
这里用到了判定范围并强制转换控件,应用这个控件可以判定输入的数是否 在上限和下限之间。它的图标和作用如下图
4所示。如果输出信号在范围之内,
“?”接口会有一个信号,该信号恰可以输入到条件结构中作为该分支选择器信 号。
说明:该函数只在出较就槿式卞进行理制務换- 已强制转换
⑴初所有输入都是时间标艇底函数接賢时间标讯 谟函數可改曼岀辍模式・
图4规定范围并强制转换控件
2.4程序中所用的结构
2.4.1循环结构
LabVIEW 中的循环结构主要通过 while 和for 循环实现。这两种循环结构、 语句、功能基本相同,但使用上会有些不同。 for 循环须先进行循环次数的确定, 循环一定次数后自动不进行循环;而 while 循环则不用确定循环次数,只需要确 定退出循环的条件。
本次课程设计中不能预先确定循环的次数,所以就用到了 while 循环。while 循环是LabVIEW 最基本的结构之一,和 C 语言中的while 循环和do …while 循环 相类似。
While 循环可以从程序框图中的【结构】子选板中创建, while 循环包括两个
端口: 1、条件端口 2、重复端口,如下图5所示。
本次课程设计中用停止按钮连接条件端口,当按下按钮时循环停止。
条件端口输入的是布尔变量, 它用于
判断循环在什么条件下停止执行。i 每次循环结束时,便会检测输入端接 收到的布尔值并判断是否继续执行
循环。右击端口,选择【真( T )时 停止】或【真(T )时继续】,可以切换 其使用状态。
242条件结构
条件结构也是 LabVIEW 最基本的结构之一,类似于基于文本编程语言的 switch 语句或者if …then …else 语句。条件结构可以从【结构】子选板中创建, 条
件结构包含选择端口和选择标签控制端口,如下图
6所示。
whlie 循环结构
规定范围芥强制转换
•…范围內?
下限一1
重复端口 重复端口 i 为 当前循环的次 数
图5
条件端口