基于LABVIEW的交通灯仿真设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

. . .. . .

引言

交通信号灯是交通信号中的重要组成部分,是道路交通的基本语言。交通信号灯由红灯(表示禁止通行)、绿灯(表示允许通行)、黄灯(表示警示)组成。

道路交通信号灯是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。

LabVIEW是一种以图形化编程语言为基础设计虚拟仪器的软件开发环境,是用于数据采集、仪器控制、数据分析和表达的软件系统。本书系统地介绍了图形化编程语言的基本原理和虚拟仪器编程技术。全书共分10章,由浅入深地介绍了LabVIEW的基础知识,讲述了虚拟仪器程序的建立、结构、数组以及簇、图表、图形、字符串和文件I/O的操作、仪器控制、分析软件等,第10章对LabVIEW 7.0版本的特色及应用进行了简介。本书运用大量实例阐述了LabVIEW与虚拟仪器的基本概念、基本结构和编程要点,突出实用性。为了帮助读者理解和快速掌握图形化编程技术,本书力求叙述详尽、图文并茂,并在各章节穿插了大量的应用实例及练习。

虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。自1986年问世以来,世界各国的工程师和科学家们都已将NI LabVIEW图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、缩短了产品投放市场的时间,并提高了产品开发和生产效率。使用集成化的虚拟仪器环境与现实世界的信号相连,分析数据以获取实用信息,共享信息成果,有助于在较大围提高生产效率。虚拟仪器提供的各种工具能满足我们任何项目需要。

LED交通灯仿真系统,以生活中最常见的交通灯为模型,基于LabVIEW编程,在ELVISII平台上实现交通灯的控制。构建的软件平台。软件界面上实时显示交通灯状态,便于实时监控。我们设计了基于LabVIEW的智能交通灯控制系统,该系统可实现3种颜色灯的交替点亮,通过信息提示指挥车辆和行人安全通行,并能实时监测交通灯工作状态。该系统不仅编程简单、灵活、具有较高的可靠性,而且成本低、具有良好的经济效益。

一交通灯仿真系统的总体设计

1.1设计的目标和功能

本次课程设计要求在基于虚拟仪器LabVIEW的基础上实现交通灯的仿真

分别在东和北两个方向上放置六个红绿灯指挥车辆的通行。这个交通路口每一个方向上的绿黄红灯按绿—黄—红的顺序循环,按一定规律循环点亮和熄灭。用一辆车从北向南行进,当遇红灯时停,绿灯时行,黄灯时等待。当停止键按下时,循环停止。

1.2 设计的总体思路

以生活中最常见的交通灯为模版,利用LabVIEW软件分别在前面板和程序框图上设计一个可以用六盏灯来指示路口的红绿灯状况的子VI指示灯,它们分别是下文中的东红、东黄、东绿、北红、北黄、北绿,并灯按一定规律循环点亮。设计一个子VI车辆,子VI上用一辆车从北向南行进。将子VI指示灯和车辆调用到最终的程序中,使该辆车遇到绿灯时行进,遇到红灯时停止,遇到黄灯时等待。

1.3 设计流程图

图1 交通灯仿真系统设计的流程图

二前面板和程序框图设计

2.1 交通灯的前面板

前面板是VI的用户界面。创建VI时,通常应先设计前面板,然后在前面板上创建输入/输出任务。

本课程设计中前面板比较简单,只需要用六盏灯、一个停止按键即可。其中的六盏灯,红、黄、绿各两盏,在控件选板中选择指示灯,将它放在前面板合适的位置,单击鼠标右键,更改指示灯的属性,改变指示灯的大小,改变其颜色,分别设置为红绿黄,将六个指示灯拖到前面板上,做出一个合适的指示灯,依同样的步骤可以做好另外五个,将六个灯均分为两组,每组都包含红黄绿三种颜色的灯,再用框将每组灯框起来,做成一个交通灯。在指示灯合适的的位置加上小车。在前面板合适的位置放置一个开关按钮,控制循环的停止。这样交通灯系统的前面板就做好了。前面板设计如图2所示。

图2 交通灯的前面板

2.1 交通灯的程序框图

程序框图如下图所示:

图3 交通灯的程序框图(a)

图4 交通灯的程序框图(b)

图5 交通灯的程序框图(c)

三主要子VI和重点控件介绍

3.1 子VI指示灯

对同一路口灯亮顺序的控制:红绿黄灯的亮灯顺序是固定的,即假设初始状态为绿灯,接下来是黄灯,红灯。在labview环境下,由于顺序框架的使用比较灵活,在编辑状态时可以很容易的改变层叠式顺序结构各框架的顺序。鉴于以上因素,该模块主要通过顺序结构实现信号灯的交替点亮。指示灯前面板如下图6所示:

图6 指示灯的前面板

指示灯的程序框图如图7:

图7 指示灯的程序框图

3.2 子VI车辆

子VI车辆的前面板如图8所示:

图8 子VI车辆的前面板子VI车辆的程序框图如图9所示:

图9 子VI车辆的程序框图

3.3 判定围并强制转换控件

这里用到了判定围并强制转换控件,应用这个控件可以判定输入的数是否在上限和下限之间。它的图标和作用如图10所示。如果输入信号在围之,“?”接口将产生一个信号,此信号恰可以输入到条件结构作为分支选着器信号。判定围并强制转换。

【In Range and Coerce】

图10 判定围并强制转换控件

根据上限和下限,确定x是否在指定的围,还可选择将值强制转换到指定的围之。该函数只在比较元素模式下进行强制转换。如所有输入都是时间标识值,该函数接受时间标识。该函数可改变比较模式。

四调试及结果

按下运行键,得到结果如下图所示:

图11 小车运行前

图12 运行后红灯亮小车停

图13 运行后绿灯亮小车行

五总结心得

课程设计的过程中,我遇到了不少的问题。用一个while循环配合使用层叠顺序结构实现最简单的红绿黄灯交替变化,模拟出十字路口通行状态,东西南北方显示可以调节,但功能简单。通过实际路口的观察,确认需要添加倒计时模块,用顺序模块实现交通灯的顺序点亮。

老师在进行初审的时候发现了我们的问题,并在给我们一些类似的例子的同时还针对我们的问题给出了许多指导性的意见,使我们能够及时的改正错误。自

相关文档
最新文档