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