- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图2-9条件结构3
第四阶段:当南北黄灯点亮5秒后,即 余数大于40并且小于70时,条件结构4为假 的条件满足,南北绿和东西红两个灯点亮,东 西方向的时间显示器显示离东红(禁止通行) 熄灭的时间(从35s到6s),南北方向的显示 离绿灯(通行)熄灭的时间(从30s到1s)。
图2-10条件结构4
2.5循环的设计 LabVIEW中的循环结构主要通过while和for循环 实现。这两种循环的功能基本相同,但使用上有一些 差别。for循环必须确定循环次数,循环一定次数后自 动退出循环;而while循环不用确定循环次数,只需要 指定退出循环的条件。 本次课程设计中循环的次数不能确定,所以就用 到了while循环。LabVIEW中的while循环相当于C语言 中的while循环和do…while循环。 While循环可以从程序框图中的【结构】子选板 中创建,while循环包括两个端口:条件端口和重复端 口。它的功能、图标及说明如图所示。 在此课程设计中,用按键连接条件端口,当按键 按下时,循环停止。
图2-2 时间计数器
图2-3 时间计数器接线图
2.3时间信号的分段 将得到的时间信号除以每个循环所用的时间70s, 取余数。得到的余数x的范围为0<=x<70,当 0<=x<5时,条件满足,执行第一个条件结构里面 的程序,北黄、南黄、西红和东红灯点亮。当 5<=x<35时,条件满足,执行第二个条件结构里 的程序,北红、南红、西绿和东绿灯点亮。当 35<=x<40时,条件满足,东黄、西黄、南红和北 红灯点亮。当40<=x<70时,x<40的条件不满足, 执行条件结构里面为假的程序,北绿、南绿、西 红和东红灯点亮。
图2-6条件结构
在条件结构中,选择端口相当于switch语句中 的“表达式”,框图表示符相当于“表达式n”。编 程时,将外部控制条件连接至选择端口上,程序运 行时选择端口会判断送来的控制条件,引导选择结 构执行相应框架中的内容。在本程序中的控制条件 为从判定范围并强制转换“?”端口输出地判断值。 当各组条件满足时,将执行各条件结构里的 程序。每个条件结构里的程序基本相同。用需要点 亮的灯与布尔真常量连接,不需要点亮的与布尔假 常量连接,而时间显示器则用一定的值减去输入的 时间量,以实现倒计时的功能,各结构里的程序略 有不同,具体程序如图2-7到图2-10所示。
图2-11while循环
◎总体设计方案
◎程序的设计
◎软件调试
调试
这次所设计的十字路口交通灯有 四种运行状态:状态1、状态2、状态3、 状态4。
运行状态1,南北红灯亮35s—6s,东西绿灯 亮30s—1s,此时东西方向的车辆可以通行,通行 时间总共为30s,南北方向禁止通行,禁止时间总 共为35s。时间显示器显示的为离下一个状态到来 的时间,如图3-1东西灯显示器显示为15,表明再 过15s绿灯将转变为黄灯,彼时东西方向将禁止通 行;南北灯显示器显示为20,表明再过20s红灯将 转变为绿灯,彼时南北方向将允许通行。
图3-1运行状态1
运行状态2,南北红灯亮6s—1s,东西黄灯 亮6s—1s,此时东西方向的车辆准备禁止通行。 准备时间总共为5s,南北方向的车辆准备通过。 时间显示器显示的为离下一个状态到来的时间, 如图3-2所示,四个显示器都显示为5,表明再过 5s南北方向将转变为绿灯,东西方向转为红灯, 彼时东西方向将禁止通行,南北方向将允许通行。
第一阶段:余数在0至5秒之间,此 时东红、西红、南黄和北黄两个灯点亮, 东西方向的时间显示器显示为离红灯熄 灭的时间(从6s到1s),南北方向的时 间显示器显示为离黄灯熄灭的时间(从 6s到1s)。
图2-7条件结构1
第二阶段:当北黄和南黄灯点亮5秒后, 即余数大于5并且小于35时,条件结构2条件 满足,北红、南红、西绿和东绿两个灯点亮, 东西方向的时间显示器显示离东西绿(通行) 熄灭的时间(从30s到1s),南北方向的显示 离红灯(禁止通行)熄灭的时间(从35s到 6s)。
虚拟仪器大型实验
十字路口交通信号灯的设计
姓名:
班级:
虚拟仪器(virtual instrumention)是基于计算 机的仪器。计算机和仪器的密切结合是目前仪器发 展的一个重要方向。粗略地说这种结合有两种方式, 一种是将计算机装入仪器,其典型的例子就是所谓 智能化的仪器。随着计算机功能的日益强大以及其 体积的日趋缩小,这类仪器功能也越来越强大,目 前已经出现含嵌入式系统的仪器。另一种方式是将 仪器装入计算机。以通用的计算机硬件及操作系统 为依托,实现各种仪器功能。虚拟仪器主要是指这 种方式。 鉴于LabVIEW有诸多优点,这次我们将应 用LabVIEW来完成一个十字路口交通信号灯系 统的设计。
总体流程图
◎总体设计方案
◎程序的设计
◎软件调试
2.1 前面板的设计 前面板是VI的用户界面。创建VI时,通常应先设 计前面板,然后在前面板上创建输入/输出任务。 本课程设计中前面板比较简单,只需要用十二盏灯、四 个时间显示器、一个停止按键即可。其中的十二盏灯, 红、黄、绿各四盏,在控件选板中选择指示灯,将它放 在前面板合适的位置,单击鼠标右键,更改指示灯的属 性,改变指示灯的大小,做出一个合适的指示灯,依同 样的步骤可以做好另外十一个,将十二个灯均分为四组, 每组都包含红黄绿三种颜色的灯,再用框将每组灯框起 来,做成一个交通灯。在每组交通灯合适的位置放置一 个数值显示控件作为交通灯的计时器。在前面板合适的 位置放置一个开关按钮,控制循环的停止。这样交通灯 系统的前面板就做好了。
ຫໍສະໝຸດ Baidu
1.2 总体思路 此次设计可以用十二盏灯来指示路口的红绿灯状况, 它们分别是下文中的东红、东黄、东绿、北红、北黄、 北绿、西红、西黄、西绿、南红、南黄、南绿。 信号灯按一定规律循环点亮,每盏红灯亮35秒,每 盏黄灯亮5秒,每盏绿灯亮30秒。每个循环包括四个阶 段。第一阶段:北黄、南黄、西红和东红灯点亮,时 间为5秒。第二阶段:北红、南红、西绿和东绿灯点亮, 时间为30秒。第三阶段:东黄、西黄、南红和北红灯 点亮,时间为5秒。第四阶段:北绿、南绿、西红和东 红灯点亮,时间为30秒。每个循环用时70秒。东西、 南北两个方向分别放置一个时间显示器来显示离下一 个信号到来的时间。 用计数器产生以秒为单位的计时信号,再将产生的时 间信号进行分段,每到一个时间段时系统进行相应的 动作。
图2-8条件结构2
第三阶段:当东西绿灯点亮30秒后, 即余数大于35并且小于40时,条件结构3条 件满足,东西黄灯点亮, 而南北红未到熄灭的 时间,继续点亮。东西方向的时间显示器显 示离东西黄(准备转换)熄灭的时间(从6s到 1s),南北方向的继续显示离红灯(禁止通行) 熄灭的时间(从6s到1s)。
图2-4 时间分段程序
这里用到了判定范围并强制转换控件,应用 这个控件可以判定输入的数是否在上限和下 限之间。它的图标和作用如图2-5所示。如果 输出信号在范围之内,“?”接口将产生一 个信号,此信号恰可以输入到条件结构作为 分支选择器信号。
图2-5 判定范围并强制转换控件
2.4各组时间信号的动作 条件结构是LabVIEW最基本的结构之 一,条件结构类似于文本编程语言中的 switch语句或者if…then…else语句。条件结 构可以从【结构】子选板中创建,它的图标 及功能如图2-6所示。
图3-3 运行状态3
运行状态4,南北黄灯亮6s—1s,东西 红灯亮6s—1s,此时东西方向的车辆准备通 行,准备时间总共为5s;南北方向的车辆准 备禁止通过。时间显示器显示的为离下一个 状态到来的时间,如图3-4所示,四个显示器 都显示为5,表明再过5s南北方向将转变为红 灯,东西方向转为绿灯,彼时东西方向将允 许通行,南北方向将禁止通行。
◎总体设计方案
◎程序的设计
◎软件调试
1.1 实现的功能 本次课程设计要完成一个十字交通信 号灯的设计,这个交通信号灯系统能 为向北和向东两个方向行驶的车辆指 示能否通行。这个交通路口每一个方 向上的红绿黄灯按绿—黄—红的顺序 循环,每个循环的时间为70s,其中通 行(绿灯)的时间为30s,等待通行 (黄灯)的时间为5s,禁止通行(红 灯)的时间为35s。当停止键按下时, 循环停止。
交 通 灯 前 面 板 示 意 图
2.2 定时信号的产生 毫秒计时器在LabVIEW中的一个计时单元,它的图标与 用途如图2-2所示。在函数选板的【编程】→【定时】 子选板中选择时间计数器选定该单元。毫秒计数器对时 间信号计数,要产生一个一秒为单位的时间信号,所以还 得用毫秒计数值除以1000,取商得到以秒为单位的时间 信号。接线如图2-3所示:
图3-2 运行状态2
运行状态3,南北绿灯亮30s—1s,东西红 灯亮35s—6s,此时东西方向的车辆禁止通行。 禁止时间总共为35s(还有5s在下一个状态中体 现);南北方向的车辆允许通行,通行时间总共 为30s。时间显示器显示的为离下一个状态到来 的时间,如图3-3所示,南北灯显示器都显示为 10,表明再过10s南北方向将转变为黄灯,彼时 南北方向将准备禁止通行;东西灯显示器显示15, 表明再过15s,东西方向转为绿灯,彼时东西方 向将允许通行。
图3-4 运行状态4
运行中按下停止键后,程序停止 循环,如图3-5所示:
图3-5 停止运行