虚拟仪器课程设计报告
学年:2011-2102(下)
任课教师:汤占军学姓班专
号:200910401352 名:李德成级:自动化093 业:自动化系:自动化学
院:信息工程与自动化学院
2012年6月12
Labview交通灯综合设计报告
一、前言
虚拟仪器(Virtual Instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。种结合有两种方式,一种是将计算机装入仪器,缩小,这类仪器功能也越来越强大,
粗略地说这
其典型的例子就是
所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋
目前已经出现含嵌入式系统的
以通用的计算机硬件及操
仪器。另一种方式是将仪器装入计算机。
虚拟仪器的主要特点有:
1、尽可能采用了通用的硬件,各种仪器的差异主要是软件。2、可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
3、用户可以根据自己的需要定义和制造各种仪器。
LabVIEW是一种程序开发环境,由NI公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,使用的是图形化编辑语言
而LabVIEW
G编写程序,产生的程序是框图的形式。
LabVIEW中被称为
作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在这就是图形化源代码,又称
前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。
G代码。LabVIEW的图形化源代码在某
种程度上类似于流程图,因此又被称作程序框图代码。
为了便于使用,LabVIEW还集成了大量的函数库以及子程序来帮助完成绝大多数的编程任务。在使用这些子函数的时候,可以忘掉传统编程语言中的令人头痛的指针操作、数据分析、数据显示、数据存储以及
本次课程设计在掌握了
内存分配等编程问题。除此之
DAQ)、GPIB、串口、
Internet网络通信的函数库。
外,LabVIEW还包含了针对应用的数据采集(
LabVIEW基本构建知识及相关控件知识
运用的基础上,完成对向前向右交通信号灯的设计。
二、设计功能
1
本次课程综合设计实现的功能是实现了一个十字路口的交通灯设计,这个交通信号灯系统能为向前和向右两个方向行驶的车辆指示能否通行。这个交通路口每一个方向上的红绿黄灯按绿—黄—红的顺序循环,每个循环的时间为待通行(黄灯)的时间为
70s,其中通行(绿灯)的时间为30s,等5s,禁止通行(红灯)的时间为
35s。在运
运行后,已运转次数
行程序前可以预先设置好交通灯自行运转次数,
和已设置运行次数会在前面板上显示。当已运转次数达到设置的次数事,程序终止。若想提前结束本次循环,可以点击重新运转按钮。
三、设计步骤
(一)、总体设计思想分析
交通灯系统向前、向右各三盏红、黄、绿灯,交通灯的亮灭规律为:
初始态:全灭,运行后;
次态1:前方黄灯亮,右方红灯亮,交通灯投入运行,前方与右方均开始倒计时,时间为时开始30秒;
次态3:前方红灯亮,右方黄灯亮,倒计时均为时35秒
如此一个周期设计分析完成。
5秒;
次态4:前方绿灯亮,前方倒计时30秒,右方红灯亮,右方倒计
5秒;
次态2:前方红灯亮,前倒计时开始35秒,右方绿灯亮,右倒计
(二)、关于时间的设计1.计时的实现
首先,由上面分析可知,交通灯毎工作一个周期的时间为
的控件及“等待时间”控件来实现的。控件图标如图:
计时以秒为单位,每完成一个循环后又从零开始计时。
70
秒。在这个设计中计时是用一个“编程-定时”中的“获取时间/日期”
2.各个状态时间段的划定
2
这里t的区间判定用大于等于控件及小于控件再加上逻辑控件与的组合来完成:
然后将结果送入“条件结构”中
执行相关程序的
内容。
3.各种时间段或者说各种状态下倒计时的实现
由分析可知计时从0-70,为了叙述方便,下面用t表示已计时的时间t1表示前方时间显示的数值、t2表示右方时间显示的数值,即满足条件t70,以此条件与停止按钮的或来判断是否需要结束循环。
While
下面对各个时间段状态的倒计时设计进行分析:
这里初始态即灯全灭的分析略。
次态1:0t5因开始红黄灯倒计时均为后面板编程实现如下图:
5秒,故t1=5-t
t2=5-t
次态2:5t1类似。
35
此时前方红灯亮,倒计时从35秒开始;右方
绿灯亮,倒计时从30秒开始。故t1=40-t t2=35-t 程序框图与次态
次态3:35t40此时前方红灯亮,倒计时从5秒开始;右方黄灯亮,倒计时从5秒开始。有t1=40-t t2=40-t 程序框图与次态1类似。
次态4:40t
70
此时前方绿灯亮,倒计时从30秒;右方红灯
亮倒计时从35秒开始。有t1=70-t t2=75-t 程序框图与次态1类似。4.各状态时间显示的整合
3
由于各个状态下倒计时时间的输出均为一个整数,最终连接到显示控件上,如图:
所以这里可以
通过一个符合运算控件来对各个时间段输出的时间进行复合加运算,
(三)、关于灯亮灭的控制设计
灯亮灭的控制是根据各个状态下需要亮的灯,
然后采用逻辑或运
算将他们练到相应布尔显示灯上即可。其中若某个灯只在其中一个状态中亮,则可以将那个时间段的判定结果直接连到布尔灯的输入端中。如图:
(四)、循环运行的设计
1.While循环
程序中的while循环用来实现计时的循环控制2.For循环
For循环用来设置能自动运行的次数总体如图:
4