1
虚拟仪器》课程设计
题 目 : 摩托车仪表盘
学院名称 : 物理与电子工程学院
专业班级 : 电子信息科学与技术
学生姓名 : 方皖南
学 号 : 201540620302
指导教师 : 胡楠
时间 : 2018-10-25 2
目录
一、labVIEW 介绍 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ ................... 3
二、 摩托车仪表盘的设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ ................... 4
2.1前面板图示 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ ............ 4
2.2程序框图 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ .............. 4
2.3 程序说明 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ ⋯ ...................................... 5
( 1) 左转灯以及右转灯的控制 ⋯⋯⋯⋯⋯⋯⋯ ⋯ ................................. 5
( 2)让左右等闪烁的控制 ⋯⋯⋯⋯⋯ ⋯ ............................................. 6
( 3)里程表控制 ⋯⋯⋯⋯⋯ ⋯ ....................................................... 6
( 4)速度表控制 ⋯⋯⋯⋯⋯ ⋯ ....................................................... 7
( 5)油罐的控制 ⋯⋯⋯⋯ ⋯ .......................................................... 7
( 6)所有数值归零控制 ⋯⋯⋯⋯ ⋯ ................................................ 7
三、设计小结 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ ............... 7
四、 参考文献 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ ................ 83
、 labVIEW介绍
LabVIEW (Laboratory Virtual Instrument EngineeringWorkbench ,实验室虚拟仪器集
成环境 )是一个基于 G(Graphic )语言的图形编程开发环境,在工业界和学术界中广泛用作 开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用来说是 很理想的语言。它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地搭建功 能强大的测试系统。 LabVIEW编程语言最主要的两个特点是图形化编程和数据流驱动: (1)图形化编程
LabVIEW与 Visual C++、Visual Basic 、LabWindows/CVI等编程语言不同,后几种都 是基于文本的语言,而 LabVIEW则是使用图形化程序设计语言 G语言,用框图代替了传统的 程序代码,编程的过程即是使用图形符号表达程序行为的过程,源代码不是文本而是框图。 一个 VI 有三个主要部分组成:框图、前面板和图标/连接器。框图是程序代码的图形表示。
LabVIEW的框图中使用了丰富的设备和模块图标,与科学家、工程师们习惯的大部分图
标基本一致,这使得编程过程和思维过程非常的相似。多样化的图标和丰富的色彩也给用户
带来不一样的体验和乐趣。
前面板是 VI 的交互式用户界面, 外观和功能都类似于传统仪器面板, 用户的输入数据通 过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等各种不同方式显 示出来。
图标是 VI 的图形符号,连接器则用来定义输入和输出,每一个 VI 都有图标和连接器。 用户要做的工作就是恰当地设置参数,并连接各个子 VI 。编程一般步骤就是使用鼠标选取合 适的模块、连线和设置参数的过程,与烦琐枯燥的文本编程相比更为简单、生动和直观。
如果将虚拟仪器与传统仪器作一类比,前面板就像是仪器的操作和显示面板,提供各种
参数的设置和数据的显示,框图就像是仪器内部的印刷电路板,是仪器的核心部分,对用户
来讲是透明的,而图标和连接器可以比作电路板上的电子元器件和集成电路,保证了仪器正
常的逻辑和运算功能。
(2)数据流驱动
宏观上讲, LabVIEW的运行机制已不再是传统上的冯·诺伊曼式计算机体系结构的执行 方式了。传统计算机语言(如 C 语言)中的顺序执行结构在 LabVIEW中被并行机制所代替。 本质上讲它是一种带有图形控制流结构的数据流模式,程序中的每一个函数节点只4
有在获得 它的全部输入数据后才能够被执行。既然 LabVIEW程序是数据流驱动的,数据流程序设计规 定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全 时才是有效的。于是 LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而 不像文本程序那样受到行顺序执行的约束。我们可以通过相互连接函数节点简洁高效地开发 应用程序,还可以有多个数据通道同步运行,即所谓的多线程。
在 LabVIEW 中单击加亮执行( Highlight Execution)按钮,即可以动画方式演示框图的 执行过程,可以观察到数据流流动的方式,数据以有色小圆点表示,在各种不同颜色(代表 不同数据类型)的连线上流动。
二、摩托车仪表盘的设计
2.1 前面板图示
2.2 程序框图5
图 2.2 摩托车仪表盘的程序框图
2.3 程序说明
(1)左转灯以及右转灯的控制 6
(示意图)
思路:用条件结构分别控制,令大于 0时为“真”,输出 1,那么“假”还存在两种情况, 等于 0 和小于 0,在嵌套一个条件结构,令等于 0 时为“真”,输出 0,小于 0 时为“假”,输 出-1 。并整体输出,并连接一个条件结构,此时有 3种情况,即
-1,0,1 。令等于 0时两灯均 灭,则两灯均连接一个假常量; “ 1”时右等亮左灯灭,即在左灯连接一个假常量,右灯连接 一个真常量;“-1 ”时,则反之。
(2)让左右等闪烁的控制
(示意图) 思路:用奇数偶数来控制,当为基数时亮,为偶数时灭,因此在 while 循环中,添加一 个移位寄存器,每次加 1 做循环,然后每次除以 2 取余,当余数等于 0 时灯灭,不等于 0时 灯亮。
示意) 7
思路:在 while 循环里面添加一个移位寄存器,并每次加 2 循环下去,直到程序停止
(4)速度表控制
(示意图)
思路: 0——1 的随机数乘以 120(书读表盘上面的最大速度)使速度表盘在每次循环中 显示 0—— 120 中任意数值。
(5)油罐的控制
(示意图)
思路:以 10(油罐上的最大值)为基数每个循环减 0.2 即每次循环油罐下降 02 升,当油罐 值小于等于 0 时程序终止。
(6)所有数值归零控制
(示意图) 思路:利用顺序结构,添加局部变量,即当油罐值小于等于 0时前部分, while 循环程序终 止,进入下一程序执行,利用局部变量控制远光灯、左灯、右灯,全部变暗。
三、设计小结
首先,这次虚拟仪器课程设计的题目是实现基于 LabVIEW的摩托车仪表盘。这次的课程 设计是从课堂上学到的 Labiew 软件操作知识的实际运用。通过这次课程设计,我对 Labiew 的认识又有了很大程度的提升,并且和同学的团结协作更加亲密了,并且提升了自己遇到问 题解决问题的自我动手能力。
其次,这次课程设计让我明白了这门课的重要性和实用性。 通过对 Labiew 软件的合理操 作和运用,我们可以做出各种各样的东西,解决生活中的很多问题。但是,要想解决这些困 难,我们必须勤学多问,多钻研,多动手,熟练的掌握这么软件的应用技术和其他各方面的 知识,这就对我们提出了更高的要求。 8
最后,通过对 labview 的课程设计,让我理论联系了实际。理论为实践奠定了基础,但 是实践也为理论的学习指明了方向,二则缺一不可。我们绝不能简单的将实践与理论隔离开 来,在课程设计的末端,对对我进行了帮助的同学和老师致一由衷的感谢。
参考文献
[1] 牛群峰 王莉 胡红生 吴才章, Labiew 虚拟仪器系统开发与实践 . 中国电力出版社, 2011.07
[2] 陈锡辉 张银鸿, Labiew8.2 程序设计从入门到精通,清华大学出版社, 2007.9