资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,a,*,虚拟仪器设计与应用,光电工程系,1,a,虚拟仪器设计与应用光电工程系1a,虚拟仪器的概念,硬件功能软件化,计算机+应用软件+模块化硬件,用户可自定义仪器功能,模块化、开放性、重复使用,软件就是仪器,2,a,虚拟仪器的概念硬件功能软件化软件就是仪器2a,一台完整的虚拟仪器,3,a,一台完整的虚拟仪器3a,虚拟仪器设计的利器 LabVIEW,Laboratory Virtual Instrument Engineering Workbench,,实验室虚拟仪器工程平台,图形化编程语言,也叫G语言,搭积木式的编程,丰富的函数库(积木)和各种控件,开放式环境,与多种标准兼容,4,a,虚拟仪器设计的利器,第一讲 虚拟仪器设计的利器 LabVIEW,走进LabVIEW,5,a,第一讲 虚拟仪器设计的利器,第一个界面,6,a,第一个界面6a,接下来,7,a,接下来7a,VI程序工作间,前面板设计窗口,有关虚拟仪器操作面板的设计工作都在该窗口内完成,框图程序设计窗口,与前面板对应的“源程序”都在该窗口内设计完成,是实现仪器功能的主战场。,8,a,VI程序工作间前面板设计窗口框图程序设计窗口8a,走近看看前面板窗口,菜单,工具栏,设计,工作区,缺省图标,9,a,走近看看前面板窗口菜单工具栏设计缺省图标9a,框图窗口,菜单,工具栏,设计,工作区,缺省图标,10,a,框图窗口菜单工具栏设计缺省图标10a,菜单,11,a,菜单11a,Run,Continuous Run,Abort Execution,Pause/Continue,Text Settings,Align Objects,Distribute Objects,Reorder,Resize front panel objects,Execution Highlighting Button,Step Into,Step Over,Step Out,框图窗口独有的按钮,工具栏,12,a,Run Execution Highlighting Bu,控制模板(Controls),13,a,控制模板(Controls)13a,控制模板子模板简介,Num Ctrls,数值控制子模板,包含各种数值输入控制,用来作为VI程序的数值输入端;,Buttons,按钮子模板,包含各种各样的按钮和开关,是布尔逻辑型数据的输入端;,Text Ctrls,文本控制子模板,包含各种文本输入控制,用来输入字符串、文本、菜单和路径等文本信息;,User Ctrls,用户自定义控制子模板,用于放置用户自定义的控制和指示器;,Num Inds,数值显示子模板,包含各种数值指示器,用于数值型数据的显示;,LEDs,指示灯子模板,包含各种指示灯,是布尔逻辑型数据的显示端;,Text Inds,文本显示子模板,包含各种文本指示器,用来显示字符串、表格和路径等文本信息;,Graph Inds,图形显示子模板,包含各种图形指示器,用来显示各种波形数据;,All Controls,所有控件子模板,包含全部控制和指示器子模板以及其他子模板。,14,a,控制模板子模板简介Num Ctrls数值控制子模板,包含各种,函数模板(Functions),15,a,函数模板(Functions)15a,函数模板子模板简介,Input,输入函数子模板,包含各种信号输入、文件读取等函数;,Analysis,信号分析子模板:包括信号的时域、频域分析、滤波、曲线拟合等函数;,Output,输出函数子模板,包含了文本输出、信号输出、报表输出等函数;,User Libraries,用户自定义函数库,用于放置用户自定义的函数;,Exec Ctrls,程序结构子模板,包括各种程序控制结构,例如循环结构、顺序结构等,以及时间控制函数等。,Arith/Compare,数值/比较子模板,包含一些数学运算函数、数值运算符子模板、布尔逻辑运算符子模板和比较运算符子模板等;,Sig Manip,信号操作子模板,包含各种信号操作函数,如信号合成、分割、触发、延迟等。,All Functions,所有函数子模板,包含了全部LabVIEW函数。,16,a,函数模板子模板简介Input输入函数子模板,包含各种信号输入,操作工具,选择工具,标签工具,连线工具,对象菜单弹出工具,浮动模板,用于操作或修改前面板和框图程序对象,滚动工具,断点工具,探针工具,颜色提取工具,颜色工具,工具模板,自动选择工具,17,a,操作工具浮动模板滚动工具工具模板自动选择工具17a,第一个LabVIEW程序,任务描述,设计正弦波发生器,要求输出波形幅度在13V范围内可调,频率在(51000Hz)范围内可调。,任务分析,正弦波信号数学描述:y=Asin(t+),,式中A为幅度,为角频率,=2f,为初始相位,设为0。,18,a,第一个LabVIEW程序任务描述18a,第一个LabVIEW程序(续),程序设计,前面板设计,根据任务分析,可确定,输入参数,:幅度A;频率f;它们都为数字型数据。,从控制模板中选择2个数值型control,并将其拖放到前面板中。,输出参数,:生成的正弦波y,考虑这里只作软件仿真,只需在屏幕上显示出波形即可,所以可以选一个图形显示器作为输出端口。,19,a,第一个LabVIEW程序(续)程序设计19a,前面板1,20,a,前面板120a,框图1,21,a,框图121a,第一个LabVIEW程序(续),框图程序设计,根据分析,为产生正弦波,所以需要一个能生成正弦波的VI或函数,这里选择All Functions Analyze Waveform generation Basic Function Generator.VI,程序结构选择While 循环结构,在Functions模板中选择相应VI函数和While 循环结构连线。,22,a,第一个LabVIEW程序(续)框图程序设计22a,Basic Function Generator.VI,功能:生成基本函数波形数据并输出,图标:,主要输入端:,主要输出端:,频率(双精度型),幅度(双精度型),相位(双精度型),采样信息(cluster,簇型),采样频率(双精度型),采样点数(双精度型),输出信号(波形数据),23,a,Basic Function Generator.VI功能:,框图,24,a,框图24a,现场操作演示,注意看,开始了,25,a,现场操作演示注意看,开始了25a,第二讲 LabVIEW的基本概念,VI的概念,节点、端点、图框和连线,数据流驱动,26,a,第二讲 LabVIEW的基本概念VI的概念26a,VI的概念,在LabVIEW环境下开发的应用程序称之为VI。,每个VI都有一个前面板和对应的框图程序,如果前面板相当于传统仪器的操作面板,那么框图程序就是仪器箱里的东西。,27,a,VI的概念在LabVIEW环境下开发的应用程序称之为VI。2,VI的概念,前面板是程序的界面,也是仪器的操作面板,用户通过它来操作仪器。,前面板包含,控制量,(Controls)和,显示量,(Indicators)两类对象,控制量,模拟仪器的,输入装置,,并把数据提供给VI的框图程序,显示量,模拟仪器的,输出装置,,并显示由框图程序获得或产生的数据。,28,a,VI的概念前面板是程序的界面,也是仪器的操作面板,用户通过它,控制量和显示量图示,控制量,控制量,显示量,29,a,控制量和显示量图示控制量控制量显示量29a,VI的概念(续),框图程序是实现仪器功能的核心,相当于C语言的源程序。,编写框图程序的目的就是要控制和操纵定义在前面板上的输入输出量,实现仪器功能。,框图程序由,输入输出端点、节点,(VI、函数或属性)、,图框,(程序结构)和,连线,构成。,30,a,VI的概念(续)框图程序是实现仪器功能的核心,相当于C语言的,节点、端点、图框和连线,图框,连线,节点,端点,31,a,节点、端点、图框和连线图框连线节点端点31a,节点,节点,类似于文本语言程序的语句、函数或者子程序,被用来实现函数和功能调用。,LabVIEW有二类节点类型-,函数节点,和,子VI节点,。,二者区别:函数节点是LabVIEW已编译好了的机器代码供用户使用的,而子VI节点是以图形语言形式提供给用户的。用户可以访问和修改任一子VI节点的代码,但无法对函数节点进行修改。,32,a,节点节点类似于文本语言程序的语句、函数或者子程序,被用来实现,节点图示,子VI节点,33,a,节点图示子VI节点33a,端点,端点,是只有一路输入/输出,且方向固定的节点。,LabVIEW有三类端点-,前面板对象端点,、,全局与局部变量端点,和,常量端点,前面板对象端点,是连接前面板和框图程序的桥梁,是数据在框图程序和前面板的控制量与显示量之间传递的接口。,常量端点,永远只能在框图程序中作为数据流,的源点。,34,a,端点端点是只有一路输入/输出,且方向固定的节点。34a,端点图示,控制对象端点,显示对象端点,常量端点,35,a,端点图示控制对象端点显示对象端点常量端点35a,图框,图框,是LabVIEW实现程序结构控制命令的图形表示。,如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执行方式。,36,a,图框图框是LabVIEW实现程序结构控制命令的图形表示。36,图框图示,While循环,For循环,顺序结构,Case结构,37,a,图框图示While循环For循环顺序结构Case结构37a,连线,连线,是端口间的数据通道,代表程序执行过程中的数据流,定义了框图程序内的数据流动方向。,它们类似于普通程序中的,变量,。数据是,单向,流动的,从,源端口,向一个或多个,目的端口,流动。,不同的线型和颜色代表不同的数据类型。,38,a,连线连线是端口间的数据通道,代表程序执行过程中的数据流,定义,连线图示,标量,一维数组,二维数组,整型数 兰色,浮点数 橙色,逻辑量 绿色,字符串 粉色,文件路径 青色,39,a,连线图示标量一维数组二维数组整型数 兰色浮点数,编制框图程序的过程,根据要实现的功能(或算法),通过将端点、节点几种元素相应的输入输出端口用连线连接起来就完成了主要程序的编制过程。,连接连线的顺序可以按从输入到输出的顺序执行。但是连接的先后顺序不影响连线上数据的流动方向。,40,a,编制框图程序的过程根据要实现的功能(或算法),通过将端点、节,问题,VI程序是如何执行的呢?,数据流驱动,先看一段动画,41,a,问题VI程序是如何执行的呢?先看一段动画41a,数据流驱动,框图程序的执行取决于数据流;而并非从左到右执行。,只有节点上的所有输入端口的数据都有效时,节点才执行。,节点执行完成后,才给它的输出端口提供数据。,42,a,数据流驱动框图程序的执行取决于数据流;而并非从左到右执行。,小结,VI程序设计的一般方法,分析任务要实现何种功能,确定算法,分析任务有哪些输入输出参数,据此设计前面板,分解任务功能或算法,直到可用LabVIEW中提供的VI或函数实现,然后据此设计框图程序。,调试,运行,43,a,小结VI程序设计的一般方法43a,
展开阅读全文