虚拟仪器设计与应用2.ppt
虚拟仪器设计与应用,光电工程系,虚拟仪器的概念,硬件功能软件化计算机+应用软件+模块化硬件用户可自定义仪器功能模块化、开放性、重复使用,一台完整的虚拟仪器,虚拟仪器设计的利器 LabVIEW,Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台 图形化编程语言,也叫G语言搭积木式的编程丰富的函数库(积木)和各种控件开放式环境,与多种标准兼容,第一讲 虚拟仪器设计的利器 LabVIEW,走进LabVIEW,第一个界面,接下来,VI程序工作间,前面板设计窗口有关虚拟仪器操作面板的设计工作都在该窗口内完成,框图程序设计窗口与前面板对应的“源程序”都在该窗口内设计完成,是实现仪器功能的主战场。,走近看看前面板窗口,菜单,工具栏,设计工作区,缺省图标,框图窗口,菜单,工具栏,设计工作区,缺省图标,菜单,Run Continuous RunAbort ExecutionPause/Continue Text SettingsAlign ObjectsDistribute ObjectsReorderResize front panel objects,Execution Highlighting Button Step IntoStep Over Step Out,框图窗口独有的按钮,工具栏,控制模板(Controls),控制模板子模板简介,函数模板(Functions),函数模板子模板简介,操作工具选择工具标签工具连线工具对象菜单弹出工具,浮动模板用于操作或修改前面板和框图程序对象,滚动工具断点工具探针工具颜色提取工具颜色工具,工具模板,自动选择工具,第一个LabVIEW程序,任务描述设计正弦波发生器,要求输出波形幅度在13V范围内可调,频率在(51000Hz)范围内可调。任务分析正弦波信号数学描述:y=Asin(t+),式中A为幅度,为角频率,=2f,为初始相位,设为0。,第一个LabVIEW程序(续),程序设计前面板设计根据任务分析,可确定输入参数:幅度A;频率f;它们都为数字型数据。从控制模板中选择2个数值型control,并将其拖放到前面板中。输出参数:生成的正弦波y,考虑这里只作软件仿真,只需在屏幕上显示出波形即可,所以可以选一个图形显示器作为输出端口。,前面板1,框图1,第一个LabVIEW程序(续),框图程序设计根据分析,为产生正弦波,所以需要一个能生成正弦波的VI或函数,这里选择All Functions Analyze Waveform generation Basic Function Generator.VI程序结构选择While 循环结构在Functions模板中选择相应VI函数和While 循环结构连线。,Basic Function Generator.VI,功能:生成基本函数波形数据并输出图标:,主要输入端:,主要输出端:,频率(双精度型)幅度(双精度型)相位(双精度型)采样信息(cluster,簇型)采样频率(双精度型)采样点数(双精度型),输出信号(波形数据),框图,现场操作演示,注意看,开始了,第二讲 LabVIEW的基本概念,VI的概念节点、端点、图框和连线数据流驱动,VI的概念,在LabVIEW环境下开发的应用程序称之为VI。每个VI都有一个前面板和对应的框图程序如果前面板相当于传统仪器的操作面板,那么框图程序就是仪器箱里的东西。,VI的概念,前面板是程序的界面,也是仪器的操作面板,用户通过它来操作仪器。前面板包含控制量(Controls)和显示量(Indicators)两类对象控制量模拟仪器的输入装置,并把数据提供给VI的框图程序显示量模拟仪器的输出装置,并显示由框图程序获得或产生的数据。,控制量和显示量图示,控制量,控制量,显示量,VI的概念(续),框图程序是实现仪器功能的核心,相当于C语言的源程序。编写框图程序的目的就是要控制和操纵定义在前面板上的输入输出量,实现仪器功能。框图程序由输入输出端点、节点(VI、函数或属性)、图框(程序结构)和连线构成。,节点、端点、图框和连线,图框,连线,节点,端点,节点,节点类似于文本语言程序的语句、函数或者子程序,被用来实现函数和功能调用。LabVIEW有二类节点类型-函数节点和子VI节点。二者区别:函数节点是LabVIEW已编译好了的机器代码供用户使用的,而子VI节点是以图形语言形式提供给用户的。用户可以访问和修改任一子VI节点的代码,但无法对函数节点进行修改。,节点图示,子VI节点,端点,端点是只有一路输入/输出,且方向固定的节点。LabVIEW有三类端点-前面板对象端点、全局与局部变量端点和常量端点前面板对象端点是连接前面板和框图程序的桥梁,是数据在框图程序和前面板的控制量与显示量之间传递的接口。常量端点永远只能在框图程序中作为数据流的源点。,端点图示,控制对象端点,显示对象端点,常量端点,图框,图框是LabVIEW实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执行方式。,图框图示,While循环,For循环,顺序结构,Case结构,连线,连线是端口间的数据通道,代表程序执行过程中的数据流,定义了框图程序内的数据流动方向。它们类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。不同的线型和颜色代表不同的数据类型。,连线图示,标量,一维数组,二维数组,整型数 兰色,浮点数 橙色,逻辑量 绿色,字符串 粉色,文件路径 青色,编制框图程序的过程,根据要实现的功能(或算法),通过将端点、节点几种元素相应的输入输出端口用连线连接起来就完成了主要程序的编制过程。连接连线的顺序可以按从输入到输出的顺序执行。但是连接的先后顺序不影响连线上数据的流动方向。,问题,VI程序是如何执行的呢?数据流驱动,先看一段动画,数据流驱动,框图程序的执行取决于数据流;而并非从左到右执行。只有节点上的所有输入端口的数据都有效时,节点才执行。节点执行完成后,才给它的输出端口提供数据。,小结,VI程序设计的一般方法分析任务要实现何种功能,确定算法分析任务有哪些输入输出参数,据此设计前面板分解任务功能或算法,直到可用LabVIEW中提供的VI或函数实现,然后据此设计框图程序。调试,运行,