1《虚拟仪器》课程设计题目:摩托车仪表盘学院名称:物理与电子工程学院专业班级:电子信息科学与技术学生姓名:方皖南学号:201540620302指导教师:胡楠时间:2018-10-252目录一、labVIEW介绍………………………………………………………………………….......................................3二、摩托车仪表盘的设计…………………………………………………………...........................................42.1前面板图示………………………………………………………….....................................42.2程序框图………………………………………………………….........................................42.3程序说明…………………………………….........................................................................5(1)左转灯以及右转灯的控制…………………….................................................................5(2)让左右等闪烁的控制………………...................................................................................6(3)里程表控制………………...................................................................................................6(4)速度表控制………………...................................................................................................7(5)油罐的控制…………….......................................................................................................7(6)所有数值归零控制……………...........................................................................................7三、设计小结…………………………………………………………………………………..............................7四、参考文献…………………………………………………………………………………................................83一、labVIEW介绍LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器集成环境)是一个基于G(Graphic)语言的图形编程开发环境,在工业界和学术界中广泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用来说是很理想的语言。它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地搭建功能强大的测试系统。LabVIEW编程语言最主要的两个特点是图形化编程和数据流驱动:(1)图形化编程LabVIEW与VisualC++、VisualBasic、LabWindows/CVI等编程语言不同,后几种都是基于文本的语言,而LabVIEW则是使用图形化程序设计语言G语言,用框图代替了传统的程序代码,编程的过程即是使用图形符号表达程序行为的过程,源代码不是文本而是框图。一个VI有三个主要部分组成:框图、前面板和图标/连接器。框图是程序代码的图形表示。LabVIEW的框图中使用了丰富的设备和模块图标,与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似。多样化的图标和丰富的色彩也给用户带来不一样的体验和乐趣。前面板是VI的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等各种不同方式显示出来。图标是VI的图形符号,连接器则用来定义输入和输出,每一个VI都有图标和连接器。用户要做的工作就是恰当地设置参数,并连接各个子VI。编程一般步骤就是使用鼠标选取合适的模块、连线和设置参数的过程,与烦琐枯燥的文本编程相比更为简单、生动和直观。如果将虚拟仪器与传统仪器作一类比,前面板就像是仪器的操作和显示面板,提供各种参数的设置和数据的显示,框图就像是仪器内部的印刷电路板,是仪器的核心部分,对用户来讲是透明的,而图标和连接器可以比作电路板上的电子元器件和集成电路,保证了仪器正常的逻辑和运算功能。(2)数据流驱动宏观上讲,LabVIEW的运行机制已不再是传统上的冯·诺伊曼式计算机体系结构的执行方式了。传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。本质上讲它是一种带有图形控制流结构的数据流模式,程序中的每一个函数节点只有在获得它的全部输入数据后才能够被执行。既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。于是LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而4不像文本程序那样受到行顺序执行的约束。我们可以通过相互连接函数节点简洁高效地开发应用程序,还可以有多个数据通道同步运行,即所谓的多线程。在LabVIEW中单击加亮执行(HighlightExecution)按钮,即可以动画方式演示框图的执行过程,可以观察到数据流流动的方式,数据以有色小圆点表示,在各种不同颜色(代表不同数据类型)的连线上流动。二、摩托车仪表盘的设计2.1前面板图示图2.2摩托车仪表盘的程序框图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时灯亮。(3)里程表控制(示意图)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