labview十字交通灯最完美版.docx

上传人:b****7 文档编号:10304702 上传时间:2023-02-10 格式:DOCX 页数:17 大小:350.32KB
下载 相关 举报
labview十字交通灯最完美版.docx_第1页
第1页 / 共17页
labview十字交通灯最完美版.docx_第2页
第2页 / 共17页
labview十字交通灯最完美版.docx_第3页
第3页 / 共17页
labview十字交通灯最完美版.docx_第4页
第4页 / 共17页
labview十字交通灯最完美版.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

labview十字交通灯最完美版.docx

《labview十字交通灯最完美版.docx》由会员分享,可在线阅读,更多相关《labview十字交通灯最完美版.docx(17页珍藏版)》请在冰豆网上搜索。

labview十字交通灯最完美版.docx

labview十字交通灯最完美版

  

信电学院

(2012/2013学年第二学期)

 

课程名称 :

 虚拟仪器技术

题目 :

十字交通灯

专业班级 :

自动化1002 

学生姓名:

 王隆帅 薛腾  陈康

学   号:

1004102(05,27,14)

考核成绩:

      

 

2013年5月20日

  第1章绪论

虚拟仪器(virtualinstrumention)是基于计算机的仪器。

计算机和仪器的密切结合是目前仪器发展的一个重要方向。

使用虚拟仪器用户可以通过操作显示屏上的“虚拟”按钮或面板,完成对被测量的采集、分析、判断、调节和存储等功能。

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:

其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

 与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。

LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。

LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。

  虚拟仪器(virtualinstrumention)是基于计算机的仪器。

计算机和仪器的密切结合是目前仪器发展的一个重要方向。

粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。

随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。

另一种方式是将仪器装入计算机。

以通用的计算机硬件及操作系统为依托,实现各种仪器功能。

虚拟仪器主要是指这种方式。

下面的框图反映了常见的虚拟仪器方案。

 虚拟仪器的主要特点有:

尽可能采用了通用的硬件,各种仪器的差异主要是软件。

 

可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。

用户可以根据自己的需要定义和制造各种仪器。

虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。

虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。

目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。

 虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。

PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。

对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。

目前LabVIEW的最新版本为LabVIEW2009,LabVIEW2009为多线程功能添加了更多特性,这种特性在1998年的版本5中被初次引入。

使用LabVIEW软件,用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEWReal-Time工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。

利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。

像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。

 

它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件。

鉴于LabVIEW有诸多优点,这次我们将应用LabVIEW来完成一个十字路口交通灯系统的设计。

 

    第2章 总体设计方案

2.1实现的功能

本次设计要完成一个十字交通信号灯的设计,这个交通信号灯系统能为行驶的车辆指示能否通行。

这个交通路口每一个方向上的红绿黄灯按绿—黄—红的顺序循环,每个循环的时间为70s,其中通行(绿灯)的时间为30s,等待通行(黄灯)的时间为5s,禁止通行(红灯)的时间为35s。

当停止键按下时,循环停止。

2.2总体思路

 此次设计可以用盏灯来指示路口的红绿灯状况,它们分别是下文中的东红、东黄、东绿、北红、北黄、北绿、南红、南黄、南绿、西红、西黄、西绿。

 信号灯按一定规律循环点亮,每盏红灯亮35秒,每盏黄灯亮5秒,每盏绿灯亮30秒。

每个循环包括四个阶段。

第一阶段:

北黄、东红、南黄和西红灯点亮,时间为5秒。

第二阶段:

北红、东绿、南红和西绿灯点亮,时间为30秒。

第三阶段:

东黄、北红、西黄和南红灯点亮,时间为5秒。

第四阶段:

北绿、东红、南绿和西红灯点亮,时间为30秒。

每个循环用时70秒。

东、南、西、北四个方向分别放置一个时间显示器来显示离下一个信号到来的时间。

用计数器产生以秒为单位的计时信号,再将产生的时间信号进行分段,每到一个时间段时系统进行相应的动作。

 

第3章程序的设计

3.1前面板的设计

前面板是VI的用户界面。

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

本课程设计需要用十二盏灯、四个时间显示器、一个停止按键。

其中的十二盏灯,红、黄、绿各四盏,在控件选板中选择指示灯,将它放在前面板合适的位置,单击鼠标右键,更改指示灯的属性,改变指示灯的大小,做出一个合适的指示灯,依同样的步骤可以做好另外十一个,将十二个灯均分四组,每组都包含红黄绿三种颜色的灯,再用框将每组灯框起来,做成一个交通灯。

在每组交通灯合适的位置放置一个数值显示控件作为交通灯的计时器。

在前面板合适的位置放置一个开关按钮,控制循环的停止。

这样交通灯系统的前面板就做好了。

面板设计如图3-1

图3-1交通灯前面板示意图

 

3.2定时信号的产生

毫秒计时器在LabVIEW中的一个计时单元,它的图标与用途如图3-2所示。

在函数选板的【编程】→【定时】子选板中选择时间计数器选定该单元。

毫秒计数器对时间信号计数,要产生一个一秒为单位的时间信号,所以还得用毫秒计数值除以1000,取商得到以秒为单位的时间信号。

接线如图3-3所示:

   

 图3-2时间计数器   图3-3时间计数器接线图

3.2时间信号的分段

将得到的时间信号除以每个循环所用的时间70s,取余数。

得到的余数x的范围为0<=x<70,当0<=x<5时,条件满足,执行第一个条件结构里面的程序,北黄和东红灯点亮。

当5<=x<35时,条件满足,执行第二个条件结构里的程序,北红和东绿灯点亮。

当35<=x<40时,条件满足,东黄和北红灯点亮。

当40<=x<70时,x<40的条件不满足,执行条件结构里面为假的程序,北绿和东红灯点亮。

时间分段的程序结构如图3-4所示。

   图3-4 时间分段程序

这里用到了判定范围并强制转换控件,应用这个控件可以判定输入的数是否在上限和下限之间。

它的图标和作用如图3-5所示。

如果输出信号在范围之内,“?

”接口将产生一个信号,此信号恰可以输入到条件结构作为分支选择器信号。

图3-5判定范围并强制转换控件

3.3各组时间信号的动作

条件结构是LabVIEW最基本的结构之一,条件结构类似于文本编程语言中的switch语句或者if…then…else语句。

条件结构可以从【结构】子选板中创建,它的图标及功能如图3-6所示。

 

     图3-6条件结构

在条件结构中,选择端口相当于switch语句中的“表达式”,框图表示符相当于“表达式n”。

编程时,将外部控制条件连接至选择端口上,程序运行时选择端口会判断送来的控制条件,引导选择结构执行相应框架中的内容。

在本程序中的控制条件为从判定范围并强制转换“?

”端口输出地判断值。

当各组条件满足时,将执行各条件结构里的程序。

每个条件结构里的程序基本相同。

用需要点亮的灯与布尔真常量连接,不需要点亮的与布尔假常量连接,而时间显示器则用一定的值减去输入的时间量,以实现倒计时的功能,各结构里的程序略有不同,具体程序如图3-7到图3-10所示。

第一阶段:

余数在0至5秒之间,此时东红、北黄、西红和南黄四个灯点亮,向东和西方向的时间显示器东和西灯显示为离红灯熄灭的时间(从6s到1s),向北和南方向的时间显示器北和南灯显示为离黄灯熄灭的时间(从6s到1s)。

  图3-7条件结构1

第二阶段:

当北黄和南黄灯点亮5秒后,即余数大于5并且小于35时,条件结构2条件满足,北红、东绿、南红和西绿四个灯点亮,向东和向西方向的时间显示器显示离东绿和西绿(通行)熄灭的时间(从30s到1s),向北和向南方向的显示离北红和南红(禁止通行)熄灭的时间(从35s到6s)。

 

 图3-8条件结构2

第三阶段:

当东绿和西绿灯点亮30秒后,即余数大于35并且小于40时,条件结构3条件满足,东黄和西黄灯点亮,而北红和南红未到熄灭的时间,继续点亮。

向东和向西方向的时间显示器显示离东黄和西黄(准备转换)熄灭的时间(从6s到1s),向北和向南方向的继续显示离北红和南红(禁止通行)熄灭的时间(从6s到1s)。

  图3-9条件结构3

第四阶段:

当北黄和南黄灯点亮5秒后,即余数大于40并且小于70时,条件结构4为假的条件满足,北绿、东红、南绿和西红四个灯点亮,向东和向西方向的时间显示器显示离东红和西红(禁止通行)熄灭的时间(从35s到6s),向北和向南方向的显示离北绿和南绿(通行)熄灭的时间(从30s到1s)。

        图3-10条件结构4

3.4循环的设计

LabVIEW中的循环结构主要通过while和for循环实现。

这两种循环的功能基本相同,但使用上有一些差别。

for循环必须确定循环次数,循环一定次数后自动退出循环;而while循环不用确定循环次数,只需要指定退出循环的条件。

本次课程设计中循环的次数不能确定,所以就用到了while循环。

LabVIEW中的while循环相当于C语言中的while循环和do…while循环。

While循环可以从程序框图中的【结构】子选板中创建,while循环包括两个端口:

条件端口和重复端口。

它的功能、图标及说明如图所示。

在此课程设计中,用按键连接条件端口,当按键按下时,循环停止。

  图3-11while循环

第4章软件调试

这次所设计的十字路口交通灯有四种运行状态:

状态1、状态2、状态3、状态4。

各种状态的效果在下文中将会讲到。

运行状态1,北红和南红灯亮35s—6s,东绿和西绿灯亮30s—1s,此时往东和往西方向的车辆可以通行,通行时间总共为30s,向北和向南方向禁止通行,禁止时间总共为35s。

时间显示器显示的为离下一个状态到来的时间,如图4-1所示,东灯和西灯显示器都显示为17,表明再过17s绿灯将转变为黄灯,彼时向东和向西方向将禁止通行;北灯和南灯显示器都显示为22,表明再过22s向北和向南将允许通行。

       图4-1 运行状态1

运行状态2,北红和南红灯亮6s—1s,东黄和西黄灯亮6s—1s,此时往东和往西方向的车辆准备禁止通行。

准备时间总共为5s,向北和向南方向的车辆准备通过。

时间显示器显示的为离下一个状态到来的时间,如图4-2所示,四个显示器都显示为5,表明再过5s向北和向南方向将转变为绿灯,向东和向西方向转为红灯,彼时向东和向西方向将禁止通行,向北和向南方向将允许通行。

     图4-2运行状态2

运行状态3,北绿和南绿灯亮30s—1s,东红和西红灯亮35s—6s,此时往东和往西方向的车辆禁止通行。

禁止时间总共为35s(还有5s在下一个状态中体现);向北和向南方向的车辆允许通行,通行时间总共为30s。

时间显示器显示的为离下一个状态到来的时间,如图4-3所示,北灯和南灯显示器都显示为18,表明再过18s向北和向南方向将转变为黄灯,彼时向北和向南方向将准备禁止通行;东灯和西灯显示器显示23,表明再过23s,向东和向西方向转为绿灯,彼时向东和向西方向将允许通行。

   图4-3运行状态3

运行状态4,北黄和南黄灯亮6s—1s,东红和西红灯亮6s—1s,此时往东和往西方向的车辆准备通行,准备时间总共为5s;向北和向南方向的车辆准备禁止通过。

时间显示器显示的为离下一个状态到来的时间,如图4-4所示,显示器都显示为5,表明再过5s向北和向南方向将转变为红灯,向东和向西方向转为绿灯,彼时向东和向西方向将允许通行,向北和向南方向将禁止通行。

     图4-4运行状态4

 

运行中按下停止键后,程序停止循环,如图4-5所示:

     图4-5 停止运行

如需继续运行程序,须单击工具栏中的【运行】或【连续运行】按钮。

     第5章心得总结

这次虚拟仪器课程设计的题目是实现基于LabVIEW的任意波形发生器。

此次课程设计是我在继课堂学习书本上的虚拟仪器知识后,再一次并且更加深入的了解到虚拟仪器的基本使用方法和运用原理,检测我们学习成果的综合性应用能力,它不仅要求我们有扎实的专业理论知识和实践操作能力,更要求我们有严谨治学、团结协作的精神。

通过自己的动手和思考,感觉获益良多。

在设计中我就更切身体会到虚拟仪器这种仪器的高效、开放、易用灵活、功能强大、性价比高、可操作性好等明显优点。

这次实验让我们明白了虚拟仪器这门课程的重要性。

总之,虚拟仪器技术与网络技术的结合,及其在测控领域中的应用,是对传统测控方式的一场革命。

应用LabVIEW作为虚拟仪器软件开发平台,为开发高性能的计算机测控系统提供了极大的便利。

测控方式的网络化,是未来测控技术发展的必然趋势,通过建立分布式网络测控系统,能够充分利用现有资源和网络带来的种种优势,实现各种资源最有效合理的配置。

应用分布网络测控,可以进行多点测量,多点分析处理。

这样既可以充分发挥服务器控制测试仪器的接口能力,又能发挥客户机数据处理能力,而且便于系统的扩展。

远程虚拟仪器可以使信息的采集、传输和处理一体化,使许多昂贵的测试设备得以共享。

尤其是运用在远程教育上更能发挥出更高的性价比。

通过这次设计实践。

我总结了使用LabVIEW编程的两个要点。

第一,熟悉每个控件的用途、使用方法和在软件中的位置。

LabVIEW有这么多控件,有这么单元,如果我们不知道每个单元是用来干什么的,那就根本谈不上应用它们了,只有在知道这个空间是做什么用的,我们才会去使用它。

知道需要用到某个单元,但是不知道怎么使用,怎么连线,这也是很让人郁闷的事,所以我们得熟悉一些基本单元的用法。

要想很快地做成一个虚拟仪器,就得熟悉每个单元所在的位置,以免在使用过程中找半天找不到它在哪个菜单中。

第二,对于虚拟仪器设计来说,因果朔源的设计方法是一种比较好的设计方法,知道要做什么,知道需要哪些单元,我们就添加那些单元,按需求增添元件。

虽然本次课程设计是三人一组的,但是我们基本上每人都独立地拿出了一个方案,每个方案各有特色。

彼此之间进行了一些讨论,交流,在讨论交流过程中,我们也看到了自己的有点和不足,也学习吸收了其他成员比较好的地方。

这不仅增长了我们的知识,也增进了同学之间的感情。

 对于学完这一门课程来说,使我懂得了一个道理:

也许只有用自己所学的知识做出一个可以实际运行的东西之后才能确实体到自己的学习是有价值的,知识是拿来学的,不是用来考的。

技术是拿来用的,不是学了以后就丢在一边的。

对于老师的教学来说,也许最重要的不是怎么把知识灌输给学生,而是要让学生明白为什么要学,怎么让学生有兴趣去学。

所以非常感谢老师这次给我们这课程设计,给了我挑战自己的机会,做什么事都应该大胆的尝试,怕就怕被自己吓倒!

积极的心态是弥补自信心不足的最佳途径,面对难题,可能凭自己的实力解决不了,即便如此,我们也要积极投入,往往在你全身心投入过程中,所有问题都迎刃而解!

 

   

 

参考文献

[1]张健,韩薪莘.LABVIEW图形化编程与实例应用.北京:

中国铁道出版社 

[2]戴鹏飞.测试工程与LABVEIW应用.北京:

电子工业出版社 

[3]路林吉.虚拟仪器的应用.电子技术 

[4]侯国屏.LabVIEW7.1编程与虚拟仪器设计.清华大学出版社

[5]杨乐平,李海涛,宵相生,等.LABVIEW 程序设计与应用.北京:

电子工业出版社

[6]张重雄.虚拟仪器技术分析与设计.电子工业出版社

[7]黄峰.虚拟仪器技术教学资料.湖南工程学院出版社

[8]童刚,虚拟仪器实用编程技术,机械工业出版社

附录1交通灯程序图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1