第8章++创建虚拟仪器VI示例.ppt_第1页
第8章++创建虚拟仪器VI示例.ppt_第2页
第8章++创建虚拟仪器VI示例.ppt_第3页
第8章++创建虚拟仪器VI示例.ppt_第4页
第8章++创建虚拟仪器VI示例.ppt_第5页
已阅读5页,还剩297页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章创建虚拟仪器VI示例,8.1概述8.2简单虚拟仪器的创建示例8.3信号分析用虚拟仪器的创建示例8.4数据处理类虚拟仪器应用示例8.5数据采集及信号记录类虚拟仪器本章小结,8.1概述,使用LabVIEW开发平台创建虚拟仪器就是在LabVIEW开发平台上编制图形化程序,该图形化程序是虚拟仪器程序,简称VI。虚拟仪器程序VI由两部分组成:前面板程序与流程图程序(又称框图程序)。,1.虚拟前面板在前面板(Panel)开发窗口进行前面板图形化编程。设计完成的前面板图形化程序就是所谓的“虚拟面板”。在“虚拟前面板”上的控件有两种类型:输入控制类(Controls):用于设置参数,如信号由哪个通道输入,被测信号的采样点数和仪器的运行控制,如仪器的“启动”、“终止”。输出显示类(Indictors):用于测量结果的数值显示、波形显示、仪器工作状况提示等。,2流程图程序在流程图(Diagram)编辑窗口进行图形化编程。流程图由端口、节点、图框和连线构成。1)端口端口是只有一路输入/输出,且方向固定的节点,是数据流的源头或终点。数据流源头端口边框为粗实线,数据流终点端口边框为细实线。LabVIEW的端口有四类:,前面板对象端口。该端口型图标的作用是用来从前面板输入控制型控件获取数据,或向前面板输出显示器控件输出数据。常量端口。只有数据流源头的端口称为常量端口,用于设置程序中数据运算用的常量。全局与局部变量端口。该端口的全局变量与局部变量的获得来源于Functions(功能)模板中的Structures子模板中相应的图标。,DAQ端口。该端口的数据来源于数据采集卡采集的数据。端口图标的生成有两种方式:在前面板设计窗口中放置好控件后,在流程图编辑窗口将自动生成相应的端口图标。在流程图编辑窗口中首先放置好图标,再用“连线”工具在图标的左侧和右侧生成接线头,按鼠标右键弹出对话框,选择CreateControl、CreateIndicator或CreateConstant,将自动生成前面板对象端口图标(同时也在前面板生成相应的控件)或常量端口图标。,2)节点节点型图标是执行“函数”、“各种运算”等子程序的调用,从而完成对数据的函数运算、分析处理等功能。LabVIEW有两种节点类型:函数节点:是LabVIEW已编译好了的机器代码,用图标形式提供用户使用的,用户对这些节点是不可访问和修改的。子VI节点:是LabVIEW以图形语言形式提供给用户的或者是用户自己生成的子VI图标,因而用户是可以打开访问和修改的。,3)图框图框型图标用来执行结构化程序控制命令,如ForLoop、Case等。4)连线连线型图标表示程序执行过程中的数据流及其流动方向,类似于普通程序中的变量。在LabVIEW开发平台创建虚拟仪器VI就是在“前面板开发窗口”与“流程图编辑窗口”进行“虚拟前面板”及其相对应的“流程图”程序设计。编辑好的流程图程序是以图形化表示的。,图形化的编程思想与用源代码的传统程序编程思想是一致的。为了完成对信号数据的采集,需编写对I/O接口硬件设备(不同型式虚拟仪器有不同硬件设备,如数采卡DAQ、GPIB仪器、串口仪器、VXI仪器模块等)的驱动程序;为了对采集的信号数据进行运算、分析处理,需要编写运算、分析处理程序等。,使用LabVIEW开发平台编辑程序的特别之处就是将组成传统程序所需用的常量、数组、数据流控制命令、各种函数、各种运算等语句代码都用图标表示,因而,不熟悉用源代码进行语言编程的工程师、科学家,一样可以随心所欲地编制流程图程序。我们可以把用LabVIEW图形编程语言编写的流程图程序理解为就是用源代码编写的传统程序,它们的区别只是表达方式不同而已。,3虚拟仪器VI的设计步骤通常,设计一个虚拟仪器VI的步骤如下:(1)在前面板设计窗口设置控件,并创建“流程图”中的端口。首先在前面板开发窗口使用工具模板中相应工具,从Controls(控制)模板中取用和放置好所需控件,进行控件属性参数设置,标贴文字说明标签。,(2)在流程图编辑窗口,放置节点、图框,并创建前面板控件。在流程图编辑窗口使用工具模板中相应工具,从Functions模板中取用并放置好所需图标,它们是流程图中的“节点”、“图框”。(3)数据流编程。数据流编程就是使用连线工具按数据流的方向将端口、节点、图框依次相连,实现数据从源头按规定的运行方式达到目的终点。,(4)运行检验。当完成步骤(1)、(2)、(3)后,前面板程序与流程图图形化程序的设计则已进行完毕,一个虚拟仪器VI已基本建立,是否达到预期功能,还需运行检验。有两种检验方式:仿真检验。该检验方式不使用I/O接口硬件设备。对VI检验运行所需的信号数据采用由“数组”或“信号生成函数”产生的“仿真信号”。实测检验。该检验方式通过I/O接口硬件设备,采集输入标准信号,来检验虚拟仪器的功能。,仿真检验在实测检验之前进行,它是虚拟仪器所特有的优势,因为它对反复检验,调试,不断完善改进虚拟仪器VI极为方便,是传统仪器无法采用的检验手段。(5)数据观察。当检验观察中发现有错误时,用鼠标点击“HighlightExecution”按钮,观察数据流中各个节点的数值。,(6)命名存盘。保存设计好的VI。本节通过设计七个虚拟仪器为例,说明使用LabVIEW开发平台设计虚拟仪器VI的一般步骤以及常用工具、控件、图标的使用方法。,4程序调试技术利用快捷工具栏中的“运行”、“高亮执行”、“单步执行”、“断点设置”进行以下程序调试步骤。(1)找出语法错误。如果存在语法错误,则当启动快捷工具栏的“运行”按钮时,该按钮变成一个折断的箭头,程序不能被执行。用鼠标左击该按钮,则将弹出错误清单窗口,窗口中列出错误的项目,然后左击其中任何一个所列出的错误,左击“Find”按钮,则出错的对象或端口就会变成高亮。,(2)慢速跟踪程序的运行。利用快捷工具栏中的“高亮执行”按钮,左击该按钮,该按钮图标变成高亮形式,再点击“运行”按钮,程序就以较慢的速度运行。没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流上的数据值。这样就可以根据数据流动状态,跟踪程序的执行。,(3)断点与单步执行。为了查找程序中的逻辑错误,你也许希望框图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步执行方式查看数据。断点的设置。用工具模板上的“断点”工具点击你希望设置或者清除断点的地方,该处即为所设置的断点。,断点的显示。对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,表明它将执行。你也可以点击快捷工具栏中的“暂停”按钮,这样程序将连续执行直到下一个断点。,(4)设置探针。可以通过设置探针来查看框图程序流经某一根连接线的数据值。探针的设置方法有二:利用工具模板上的“探针”工具,用鼠标左击欲放置探针的连接线。把工具模板上的“选择”工具或“连线”工具放在欲放探针的连线上,用鼠标右击该连线,弹出一个对话框,选择Probe选项。当探针设置完毕后,会出现一个探针显示窗口。该显示窗口中的数据即为该连线上的数据值。,8.2简单虚拟仪器的创建示例,8.2.1数据运算、比较运算图标功能检验仪LabVIEW提供了众多用于数据运算、比较的图标,它们可从Functions(功能)模板中的数据(Numeric)运算子模块或比较(Comparison)运算子模块中取用。如果对图标符号含义不甚清楚的话,可以通过自行设计一个简易功能检验仪来帮助我们明确其功能与使用方法。,示例81虚拟乘法器功能检验仪。1功能描述能完成0100.0的两个乘数的键入与其乘积的显示。2前面板控件设置三个数字控件,一个开关控件。数字控件1、2:输入控制型,分别用来显示乘数x、y的数值0100.0。数字控件3:输出显示型,用来显示x、y的乘积,数值范围010000.0。,开关型控件:用来控制检验功能,为功能模式转换开关,与While循环结构配合使用。当放在“检验”工作模式时,即“True”位置,则显示乘积数值,否则不执行乘积运算功能,跳出循环,停止运行。,3设计提示端口的生成有两种方式,任选一种。具体方法参看8.1节。本例采用从前面板放置控件的方式。主要设计步骤如下:(1)前面板设计。创建新VI,命名为multiple.Vi。路径为LabVIEWNewvi。放置数字控件1、2。放置数字控件3。,放置开关控件。完成设计的前面板如图81所示。,图81虚拟乘法器功能检验仪前面板,2)流程图编辑。打开流程图编辑窗口“Diagram”。l路径见1.2.5.1节。l与前面板四个控件对应的端口图标应出现在流程图编辑窗口中,如图82所示。,图82与图81所示控件对应的端口图标,放置乘法器图标。乘法器图标的调用路径:FunctionsNumericMultiply放置While循环结构。执行FunctionsStructureWhile操作,方法详见2.4.2.3节。调整循环框的大小,把已创建的图标节点与端口置于循环框内。如图83所示。,图83流程图编辑窗口中的所有图标,(3)数据流编程。把连线工具放于乘法器的左侧,按鼠标右键,弹出乘法器的输入端接线头,该接线头闪烁,然后把乘法器的输入接线头与乘数x与y的端口图标相连;把乘法器的输出接线头与乘积z的端口图标相连;把“工作模式转换”开关对应的端口图标与循环结构的条件端子相连。完成编辑的流程图如图84所示。,(4)存文件。(5)运行程序。程序运行方法见1.3.4节。用鼠标将虚拟面板上的开关置“校验”状态,仪器即开始工作。此时,操作者可随意在图81中的输入控制型控件中键入两个数,则在输出显示型控件中显示两个数的乘积。当将开关置为“停止”状态时,仪器即停止工作。(6)停止程序运行。用鼠标点击快捷工具栏中的“AbortExecution”按钮,停止程序的运行。(7)退出LabVIEW。用鼠标点击LabVIEW主菜单中File子菜单下的“Exit”选项,退出LabVIEW。,图84虚拟乘法器功能检验仪流程图,8.2.2被测量值的转换与显示被测量值的显示,也就是被测参数测量结果的数值显示,是一个测量系统不可缺少的环节。一个最简单的压力(p)测量系统框图如图85(a)所示,其系统的输入输出特性(pp)如图85(b)所示。其中压力传感器的作用是,在传感器量程范围内将被测压力p(输入信号)转换为电压u(输出信号),如果转换关系是线性的话,则传感器的输入输出特性(pu)如图85(c)所示,其表达式为,式中:kp为比例常数;u0为零点,即p=0时传感器的输出值。,(81),图85压力测量系统框图及各组成环节的输入输出特性(a)压力测量系统组成框图;(b)压力测量系统输入输出特性;(c)传感器输入输出特性;(d)显示器输入输出特性,压力值显示器的作用是将传感器的输出电压值u转换为对应的传感器的输入压力p,并将p值显示出来。故显示值p就是被测压力p的测量结果。压力显示器的输入输出特性(up)是传感器特性的反特性,如图85(d)所示。其表达式为,(82),式中。,在理想情况下pp。由于传感器与显示器均非理想转换环节,故显示值p不可能与被测实际值p绝对相等。比例常数kd可由式(81)确定kp后得出。由式(81)可得出kp的计算式如下:,(83),若已知传感器满量程值PH25.0(MPa)和相应满量程输出uH=12.5mV,零点值p0时相应输出u00。代入式(81),可得比例常数kp为,于是,将kd值代入式(82),可得压力显示器的输入输出表达式为,(84),示例82虚拟示教用压力值显示器。1.功能描述当一个控件输入传感器的输出电压u的数值时,另一个控件能按式(82)关系给出传感器相应的输入压力p的数值。,2.设计提示(1)前面板设计。在前面板开发窗口设置两个数字控件。控件1:用来输入电压值u,模拟一个压力传感器的输出电压。该压力传感器量程PH25.0MPa,相应满量程输出uH12.5mV,零点值p0时相应输出u00。控件2:用来显示压力值p。显示值p应符合式(84)给出的关系。设计好的虚拟压力值显示器前面板如图86所示。,图86压力显示器前面板开发窗口,(2)流程图设计。在流程图编辑窗口,编辑压力显示器VI的流程图。比例常数kd的确定。压力显示器的输入输出特性由式(84)确定。流程图编辑。l打开流程图编辑窗口“Diagram”。与前面板两个控件对应的端口应出现在流程图编辑窗口中。l放置乘法器和除法器。执行Functionnumericmultiply以及FunctionsnumericDivide操作。,l连线。用连线工具点击要连线的一对节点之一,移动光标至另一个节点,点击该节点上的对应输入端子,两节点间就会出现一条彩色连线(不同的数据类型的连线色彩不同)。,本设计中需要完成的连线有:电压值输入端口和乘法图标的输入端x。常量25.0和乘法图标的输入端y。乘法图标的输出端(xy)与除法图标的输入端x。常量12.5和除法图标的输入端y。除法图标的输出端(x/y)与压力值显示终端端口。完成编辑的流程图如图87所示。,图87压力显示器流程图编辑窗口,(3)存文件。3运行检验在压力传感器满量程输出范围内键入电压值,观察显示器压力输出值是否符合式(84)的关系。,8.2.3虚拟非线性校正器测量系统中任一测量环节具有非线性特性,都可以通过“非线性校正器”自动进行对应的反非线性特性转换,以期实现测量系统输入x与输出yx的理想线性关系,如图88(d)所示。非线性校正器的软件实现方法有二:查表法及曲线拟合法。两种方法的区别在于实现非线性校正器的反非线性特性的方法不同。前者是用折线逼近曲线,后者是用多项式逼近曲线。,1查表法这是一种分段线性插值法,它是根据精度要求对反非线性特性曲线(如图88(c)进行分段,用若干段折线逼近曲线。将折点坐标值(ui,xi)存入数据表中,测量时首先要判断输入被测量xi的电压值ui是在哪一段,然后根据那一段的斜率进行线性插值,即得输出值yi=xi。,图88非线性校正器原理图(a)测量系统框图;(b)呈现非线性的传感器输入输出特性;(c)非线性校正器的反非线性特性;(d)含非线性校正器系统总输输出特性,以三段为例,折点坐标值为(u1,x1)、(u2,x2)、(u3,x3)、(u4,x4),如图89所示。,图89三段折线逼近反非线性特性,则测量系统输出yx的表达式的通式为,(85),式中k为折点的序号,三条折线有四个折点,k1,2,3,4。,2.曲线拟合法这种方法是采用n次多项式来逼近反非线性曲线,该多项式方程的各个系数由最小二乘法确定,具体步骤如下:(1)列出逼近反非线性曲线的多项式方程。对传感器及其调理电路进行静态实验标定,获得静态输入输出特性。标定点的数据为输入xi:x1,x2,xn,(n为标定点个数,I=1,2,n=N)输出ui:u1,u2,un,图810非线性自校正流程图,假设反非线性特性拟合方程。该n次多项式方程为,(86),n的数值由所要求的精度来定,若n3,则,(87),求解待定常数a0a3。根据最小二乘法原理确定待定常数a0a3,其基本思想是,由多项式方程(86)计算确定的各个xi(ui)值与各个点对应标定值xi之均方差应最小,即,(88),该最小值是待定常数a0、a1、a2、a3的函数,为了求出函数最小值时的常数,我们对函数求导并令它为零,即,经整理后得矩阵方程:,(89),通过求解式(89)矩阵方程,可得待定常数a0、a1、a2、a3、:,(2)将所求得的常系数a0a3存入内存。(3)将已知的反非线性特性拟合方程式(87)写成下列形式:,(810),为了求取对应电压为u的输入被测值x,则每次只需将采样值u代入式(810)中进行三次(b+ai)u的循环运算再加上常数a0即可。常见的热电偶及其热电势与温度的关系如下。,l铜康铜热电偶。以T表示检测温度,E表示热电势(下同),则T-E的关系如下:,(811),其中,l铁康铜热电偶。当规定误差小于1时,在0400范围内,按下式计算温度:,(812),其中,l镍铬镍铝热电偶。在4001000范围内,按下式求温度:,(813),综上所述可知,常见的T-E关系是下式所示的关系:,(814),式(814)可化为下式:,(815),示例83镍铬镍铝热电偶虚拟非线性校正仪(曲线拟合法)。1.功能描述该非线性校正器应能在4001000温度范围内,自动校正镍铬镍铝测温热电偶的非线性特性,该校正器的前面板至少设置两个数字控件:,控件1:输入控制型数字控件,用来键入电压值,以模拟镍铬镍铝测温热电偶测量温度为Ti时的输出热电势Ei。控件2:输出显示型数字控件,用来输出温度值Ti,即引起热电偶输出热电势Ei的温度值Ti,在理想情况Ti=Ti。控件3:开关型控件,用来设置校正功能,当置于“校正”位置时,非线性校正器工作,否则程序停止运行。,2.工作原理本例采用曲线拟合法并用式(815)逼近镍铬镍铝测温热电偶特性的反非线性特性,即在4001000,误差小于0.2时:T=(c4Ec3)E+c2)E+c1)Ec0,(816),可以用多个乘法器与加法器实现运算式(816),其流程图如图811所示。,图811曲线拟合法实现非线性校正程序流程框图,3.主要设计步骤(1)前面板设计。创建新VI,命名为fei.Vi。放置数字控件1。放置数字控件2。放置开关控件。,图812镍铬镍铝热电偶非线性校正仪(曲线拟合法),(2)流程图编辑。打开流程图编辑窗口“Diagram”。与前面板两个控件对应的端口应出现在流程图编辑窗口中。放置乘法器和幂指数图标。执行FunctionsNumericMultiply以及FunctionsNumericLogarithmicPowerofx操作。,放置复合数学运算图标。执行FunctionsNumericCompoundArithmetic操作。放置While循环结构。执行FunctionsStructureWhile操作。连线。用连线工具把以上的图标按照逻辑关系连接起来。完成编辑后的流程图如图813所示。,图813非线性校正器流程图编辑窗口,(3)存文件。方法同上例。(4)运行程序。方法同上例。示例84镍铬镍铝热电偶虚拟非线性校正仪(查表法)。1.功能描述同示例83。前面板:设置两个数字控件:,控件1:输入控制型控件,用来键入热电势,数字范围为大于0。控件2:输出显示型控件,用来显示用查表法得出的温度值。显示范围为400600。,2工作原理根据前述非线性校正原理可知,本例中的非线性校正器VI的输入输出特性应为镍铬热电偶特性的反非线性特性,采用截线近似法并用两段折线逼近反非线性特性,如图814所示。折点坐标值为(E1,T1),(E2,T2),(E3,T3)各线段的输出值表达式为,图814非线性校正器输入输出特性,式中,E1、T1,、E2、T2、E3、T3为标定值,可从镍铬镍硅(镍铝)热电偶分度值特性查得,其分度表如表81所示。,表81镍铬镍硅(镍铝)热电偶分度表(参考端温度为0),图815查表法实现非线性校正器程序流程图,3.主要设计步骤(1)前面板设计。创建新VI,命名为chabiao.vi。放置数字控件1。放置数字控件2。,图816虚拟镍铬镍铝非线性校正仪前面板,(2)流程图设计。打开流程图编辑窗口“Diagram”。与前面板两个控件对应的端口应出现在流程图编辑窗口中。放置一个比较运算图标“ComparisionLess操作。放置“Case”结构。执行FunctionsStructureCase操作。,判断数字控件“热电势”是否小于20.65(为500对应的热电势),如果输入的“热电势”值小于20.65,执行如图8-17(a)的条件语句。放置case结构。方法同上一步。如果输入的“热电势”值大于等于20.65且小于等于24.90时,则执行如图817(b)的条件语句。如果输入的值大于等于20.65且大于24.90时,则执行如图817(c)所示的Case结构。,连线。完成编辑的流程图如上述的图817(a)、(b)和(c)所示。(3)存文件。方法同上例。(4)运行程序。方法同上例。,(a),图817流程图编辑窗口中的三个Case结构,(b),图817流程图编辑窗口中的三个Case结构,图817流程图编辑窗口中的三个Case结构,(c),8.2.4子VI的创建与调用示例85在一个VI设计中调用压力值显示器子VI。1子VI的建立为了缩短虚拟仪器的开发周期,因此需在一个VI程序中调用一个已经存在的VI。建立一个子VI包括使用图标的绘制和连接器端口设置。下面详细叙述其过程。,2绘制图标一个子VI的图标就相当于它的“外形包装”,因此每个子VI都需要用一个图标来表示,其绘制过程如下:(1)双击前面板开发窗口的右上角图标框或用鼠标右键单击该图标框,从快捷菜单中选择EditIcon项,打开图标编辑器(见图818)。,图818图标编辑器,(2)在图标编辑器中执行EditClear操作,清除默认图表。(3)利用图标编辑器中的画图工具画出压力值显示的图标(见图819)。(4)点击“OK”,关闭图表编辑器,生成的图标即出现在前面板窗口的右上角图标处。,图819绘制子VI的图标,3创建连接器端口图标绘制好后,LabVIEW会自动生成一个带端口的连接器,各端口分别对应不同的控件,设计者需要通过连线将端口与其对应的控件连接起来,这样才完成子VI的创建过程。具体步骤如下:,用鼠标右键点击前面板窗口中的右上角子VI的图标,弹出一个快捷菜单(见图820)。选择快捷菜单中的ShowConnector项,将会看到图标转换为由几块彩色分区组成的方块,我们称之为连接器。其中每个彩色方块代表不同的端口。LabVIEW根据仪器面板上控件的数量自动选择一种连接器端口模式。本例中有三个端口,其中开关和电压输入控件做为输入端口,压力显示器为输出端口。,图820弹出VI图标的快捷菜单,图821图标对应的连接器,4.将连接器(见图821)每个端口和其对应的控件连接起来(1)选择连线工具,在右上角图标位置上的连接器端口框内点击左侧两个方块中的某一个(该端口的色彩变暗),用鼠标点击仪器面板上的开关控件,该端口的色彩变亮,再点击窗口工作区其它地方,则该连线端口就与开关相连。(2)用连线工具点击连接器端口左侧的另一个方块,再点击仪器面板上的电压输入控件,将该端口与电压输入控件相连。,(3)将连接器端口框的右侧方块与仪器面板的压力显示器相连。至此,一个子VI就创建好了。使用时,左侧上面的输入端口连接布尔型常量或开关控件,下面的输入端口连接一数字量(欲转换电压值),右侧输出端口连接显示控件或作为下一个节点的输入。,5调用子VI子VI的调用方法和从功能模板上调用某库函数图标的方法有所不同。从功能模板上调用某库函数,只需用鼠标点击对应的图标,然后将其放在流程图编辑窗口相应位置就可以了,而子VI的调用是通过执行FunctionSelectaVI操作,打开选择文件对话框,从中选择该VI程序的文件名(如本例中为“PressureValueIndicator.vi”),确认后,子VI图标即自动出现在流程图编辑窗口中。然后,设计者将其输入、输出端口分别与流程图中的其它节点通过连线连接起来,这样即完成该子VI的调用。,6设计步骤在这里我们练习将8.2.2节中的例子做成一个子VI,并将在VI中调用它。(1)前面板设计。新建一个VI,并将其命名为Pressure.vi。放置两个数字控件1、2。设计好的前面板如图822所示。,图822压力值显示器前面板,(2)创建一个子VI。采用本节介绍的“绘制图标”方法给8.2.2节中的压力值显示器绘制一个图标。采用本节介绍的“创建连接器端口”方法给8.2.2节中的压力值显示器定义输入输出端口(该子VI的文件名为Pressuredisp.vi)。,(3)流程图编辑。打开流程图编辑窗口“Diagram”。在上面定义的Pressure.vi中调用Pressuredisp.vi子。用鼠标点击功能模板上的SelectaVI子模块,就可以在VI中调用该子VI。调用子VI的画面如图823所示。,图823调用子VI的画面,设计好的流程图如图824所示。(4)保存该子VI。(5)运行该压力值显示器。,图824利用子VI设计的压力值显示器,示例86虚拟过程信号仿真记录仪。1功能描述用WaveformChart控件记录一组随机数据,该仪器可以记录150Hz的随机信号。2.设计提示端口的生成有两种方式,任选一种,具体方法参看8.1节。本例采用从前面板放置控件的方式。,主要设计步骤如下:(1)前面板设计。放置图形控件1:执行ControlsGraphWaveformChart操作。图形控件为输出显示型控件,选WaveformChart控件,其ChartHistoryLength的数值设为100。完成设计的前面板如图825所示。,图825虚拟随机信号记录仪前面板,(2)流程图编辑。打开流程图编辑窗口“Diagram”。路径见1.2.5.1节。与前面板图形控件对应的端口应出现在流程图编辑窗口中。放置随机信号图标。随机信号图标的调用路径:FunctionsNumericRandomNumber,放置时间函数图标,该图标用来调节随机信号频率。时间函数图标的调用路径:FunctionsTime&DialogWaitUntilNextmsMultiple放置数值常数图标。数值常数图标的调用路径:FunctionsNumericNumericConstant连线。完成编辑的流程图如图826所示。(3)存文件。,(4)运行程序。改变数值常数图标的值(201000),观察记录仪的显示情况。,图826虚拟随机信号记录仪流程图,示例87虚拟正弦波显示器。1.功能描述用WaveformGraph控件记录一个正弦波序列。,2.设计提示端口的生成有两种方式,任选一种,具体方法参看8.1节。本例采用从前面板放置控件的方式。主要设计步骤如下:(1)前面板设计。放置图形控件1。执行ControlsGraphWaveformGraph操作。图形控件为输出显示型控件,选“WaveformGraph”控件。,放置数字控件2。执行ControlsNumericKnob操作。数字控件为输入控制型控件,用来设置显示器的横坐标,即采样间隔。完成设计的前面板如图827所示。,图827虚拟正弦波显示器前面板,(2)流程图编辑。打开流程图编辑窗口“Diagram”。路径见1.2.5.1节。与前面板图形控件对应的端口应出现在流程图编辑窗口中。放置正弦信号图标。正弦信号图标的调用路径:FunctionsNumericTrigonometricSine,放置ForLoop循环结构。执行FunctionsStructureForLoop操作,方法详见2.4.2.2节。连线。完成编辑的流程图如图828所示。(3)存文件。(4)运行程序。,图828虚拟正弦波显示器流程图,8.3信号分析用虚拟仪器的创建示例,本节采用仿真信号举例说明信号分析类虚拟仪器的设计方法。示例88虚拟正弦波仿真信号生成器。1.功能描述该正弦波仿真信号发生器可产生正弦信号。指标如下:频率范围:0.1Hz10kHz,可选。初始相位:0180,可选。幅值:0.15.0V,可选。生成波形的总点数:N=8512,可选。,2.设计提示(1)前面板设计。五个输入型数字控件。由使用者键入生成正弦波的频率fx、初始相位、幅值、总采样点数N与采样频率fs。一个输出显示型图形控件。该控件的横轴为时间轴。应考虑到生成的信号频率跨度大,在0.1Hz10kHz范围内;其周期跨度也大,在10s0.1ms范围内。纵轴为电压轴,生成信号幅值的范围应充满整个显示画面,故选用Graph显示器。,(2)流程图编辑。输入与输出端口的设置有两种方法,这里采用2.3节中所述的第二种方法。SineWave.vi图标所需的数字频率f由除法器的输出提供,该除法器完成信号频率与采样频率之比的运算。设计完毕的前面板与流程图如图829(a)、(b)所示。,(3)运行检验。生成正弦波仿真信号,fx0.1Hz,初相位30,幅值2.0V,观察当:l采样频率fs10Hz,采样点数Samples50、100、200、1000,ResetPhase=True时的波形,ResetPhase=False时的波形。lfs2000Hz,采样点数Samples50、100、200、1000,ResetPhase=True时及ResetPhase=False时的波形。,生成一个正弦波仿真信号,fx10kHz,初相位90,幅值0.1V,观察当:l采样频率fs=100kHz,总采样点数分别为Samples=N=5、50、500、1000,ResetPhase=True时的波形。采样频率fs=100kHz,总采样点数分别为Samples=N=5、50、500、1000,ResetPhase=False时的波形。,(a)前面板设计窗口,图829虚拟正弦波发生器,(b)流程图编辑窗口图829虚拟正弦波发生器,示例89自相关函数仪。1功能描述该自相关函数仪可观察:正弦波仿真信号的自相关函数。正弦波仿真信号。频率范围:010kHz;幅值:0.15.0V。输出正弦波的幅值的平方(A2)。,2设计提示(1)前面板设计。在正弦波仿真信号发生器图829(a)基础上增加以下控件。输出显示型数字控件:显示计算结果A2。开关型控件:用于运行或关闭正弦波自相关函数仪。在进行控件参数设置时,应注意显示器可显示的数据总点数是2N1个。(2)传统流程框图。传统流程框图如图830所示。,图830传统流程框图,(3)流程图设计。Bundle图标的作用。在流程图设计中用到了Cluster子模板上的Bundle图标,目的是把图形横轴的起点、横轴分度值以及自相关函数值组合成一个整体。“Bundle”图标有三个输入量:其一是横轴起点,设为零;其二是横轴的分度值,它由采样频率的倒数,即采样间隔来决定;其三是要显示的自相关函数值。经过这样的设置之后,Graph图标的属性就由Bundle图标的输入参数来设定,并且横坐标单位由原来的采样点数变为时间。有关Graph的其它属性还需按它的属性子模板来逐项设置。,IndexArray图标的作用。在流程图设计中用到了Array子模板上的IndexArray图标,用来获取=0时的自相关函数值。该值是自相关函数图标第n1个输出值。自相关函数的所有的2n1个值都输入到IndexArray中,它的输入端输入参数设置为n1时,其输出即为第n1个自相关值。设计完毕的前面板与流程图如图831(a)、(b)所示。,(a)前面板设计窗口图831自相关函数仪,(b)流程图编辑窗口图831自相关函数仪,(4)运行检验。求正弦信号A=5.0V,相位=30,频率fx10Hz时的Rxx(0),观察的图形,记录幅值的平方和周期。求正弦信号A=5.0V,相位=90,频率fx10Hz时的Rxx(0),观察的图形,并记录幅值的平方和周期。,由本例做出的正弦波自相关函数是呈衰减的余弦函数,其原因是在有限截取长度之外的数据视为零,即当in1时,x(i)0。自相关函数的图形位于时间轴的正半周,自相关函数图标输出的第n1个数据就对应0的自相关函数。,示例810相关法测量相位差仿真仪。1功能描述该相关法相位差仿真测量仪,可观察已知幅值A、B的两个同频正弦波仿真信号x(t)与y(t)的相位差。可测相位差的数值范围为0360。信号的幅度范围为0.15.0V。两个信号的频率范围为0.1Hz10kHz。,2设计提示(1)前面板设计。放置一个输出显示型数字控件,用于显示相位差测量结果,单位为度。放置一个输出波形显示器,用于观察两个信号x(t)与y(t)的信号波形。放置一个开关型控件,用于使用者运行或关闭仪器。,放置三个数字控件,用于设置采样点数、采样频率、信号频率三个参量,为两个正弦波信号发生器所共用。放置四个数字控件,用于分别设置两个正弦波的幅值和相位。(2)传统程序框图。根据计算公式(320),其传统程序流程框图如图832所示。,图832软件流程图,(3)流程图设计。在流程图设计中用到了Array子模板上的IndexArray图标,用来获取=0时的互相关函数值,该值是互相关函数图标第n1个输出值。互相关函数的所有的2n1个值都输入到“IndexArray”中,当它的输入端输入参数设置为n1时,其输出即为第n1个互相关值。设计完毕的前面板及流程图如图833(a)、(b)所示。,(a)前面板设计窗口图833相关法测量相位差仿真仪,(b)流程图编辑窗口图833相关法测量相位差仿真仪,(4)运行检验。当信号频率fx0.1Hz时,取合适的采样频率和采样点数。当信号频率fx10kHz时,取合适的采样频率和采样点数。fx10Hz时,采样点数为20,采样频率为100Hz。观察并记录在以下初相位时的相位差。信号频率和采样频率保持不变,改变采样点数,记录30,=30.1时的测量结果。,示例811信号频谱分析演示仪。1功能描述可观察正弦波经过FFT后的幅值谱。2设计提示(1)频谱图的显示。在示例88正弦波仿真信号生成器的基础上增加一个图形控件,以显示经过FFT后的频谱。在流程图中要使用RealFFT.vi图标。,(2)bundle图标的使用。为了读出每一根谱线的频率,Graph的横轴必须按频率进行分度。因此采用采样频率除以采样点数,即基波频率作为“分度值”。(3)谱线的读取。用鼠标右击Graph,弹出属性设置子模板,选择“Show”下的“CursorDisplay”项,输入基波即“分度值”和各次谐波频率,即分度值的整倍数,则显示对应谱线的幅值,如果是其它的值将给不出显示。设计完毕的前面板和流程图如图834(a)、(b)所示。,(a)前面板设计窗口图834虚拟正弦波频谱分析仪,(b)流程图编辑窗口图834虚拟正弦波频谱分析仪,(4)运行检验。对正弦信号(幅值A=5.0V,频率fx34Hz)进行FFT,并观察其幅值谱图。采样频率272Hz,采样点数为16时,记录各谱线的幅值。采样频率544Hz,采样点数为16时,记录各谱线的幅值。采样频率544Hz,采样点数分别为17、34时,记录各谱线的幅值,观察是否有泄漏和栅栏效应现象出现。,示例812方波信号频谱分析演示仪。1功能描述可观察方波经过FFT后的幅值谱。2设计提示(1)前面板设计。在方波发生器的基础上增加一个数组控件,以显示经过FFT后的结果。,(2)流程图设计。在方波发生器的流程图基础上,增加一个RealFFT.vi图标。其它有关设计事项请参考示例811设计提示。设计完毕的前面板和流程图如图335(a)、(b)所示。,(3)运行检验。幅值=2.0,频率=17Hz,采样点数=32,采样频率=544Hz,记录各条谱线幅值,与公式(330)给出的理论值进行对比,比较内容:偶次谐波的幅值是否为零,奇次谐波的幅值比是否为1/3,1/51/7,。幅值=2.0,频率=17Hz,采样点数=40,采样频率=544Hz,记录各条谱线幅值,说明有无泄漏和栅栏效应现象。,(a)前面板设计窗口图835虚拟方波频谱分析仪,(b)流程图编辑窗口图835虚拟方波频谱分析仪,示例813海明窗功能演示仪。1功能描述可观察正弦波在经过加窗和FFT后的幅值谱。2设计提示(1)前面板设计。在虚拟正弦波频谱分析仪的基础上增加一个图形控件,用以显示加窗后的谱图。再增加一个开关控件,用于控制是否加窗。,(2)流程图设计。在虚拟正弦波频谱分析仪的流程图基础上,增加一个Hammingwindow.vi图标。设计完毕的前面板和流程图如图836(a)、(b)所示。,(a)前面板设计窗口图836海明窗功能演示仪,(b)流程图编辑窗口图836海明窗功能演示仪,(3)运行检验。在以下参数设置情况下,运行上述演示仪。信号幅值=2.0V,频率=10Hz,采样点数=120,采样频率=1000Hz,观察未加窗时信号的频谱和加窗后的频谱之间的区别。信号幅值=2.0V,频率=17Hz,采样点数=32,采样频率=400Hz,观察未加窗时信号的频谱和加窗后的频谱之间的区别。,示例814ButterworthFilter.vi图标频率特性演示仪。1.功能描述可观察不同频率正弦波通过ButterworthFilter.vi后的波形,并进而获得它的幅频特性。,2.设计提示(1)前面板设计。在示例88正弦波仿真信号生成器的基础上增加如下设置项:滤波类型(高通、低通、带通、带阻),滤波阶次,低截止频率,高截止频率。这些项目都用数字控件来实现。(2)流程图设计。在示例88正弦波仿真信号生成器流程图的基础上,增加一个ButterworthFilter.vi图标。设计完毕的前面板和流程图如图837(a)、(b)所示。,(a)前面板设计窗口图837虚拟巴特沃斯滤波器频率特性演示仪,(b)流程图编辑窗口图837虚拟巴特沃斯滤波器频率特性演示仪,(3)运行检验。观测一阶巴特沃斯低通滤波器的幅频特性。设置低截止频率,比如设为8Hz,保持信号幅值不变,改变输入信号的频率,记录信号对应的幅值。改变低截止频率,重复步骤。分析信号通过一阶巴特沃斯低通滤波器后幅值随频率变化的规律。,示例815ChebishevFilter.vi图标频率特性演示仪。1功能描述可观察不同频率正弦波通过ChebishevFilter.vi后的波形,并进而获得它的幅频特性。2设计提示(1)前面板设计。在示例88正弦波仿真信号生成器的基础上增加如下设置项:滤波类型(高通、低通、带通、带阻),滤波阶次,低截止频率,高截止频率,纹波幅值。这些项目都用数字控件来实现。,(2)流程图设计。在示例88正弦波仿真信号生成器的流程图基础上,增加ChebishevFilter.vi图标。设计完毕的前面板和流程图如图838(a)、(b)所示。(3)运行检验。观测二阶切比雪夫低通滤波器的幅频特性。设置低截止频率,比如设为4Hz,保持信号幅值不变,改变输入信号的频率,记录信号对应的幅值。,(a)前面板设计窗口图838ChebishevFilter.vi图标频率特性演示仪,(b)流程图编辑窗口图838ChebishevFilter.vi图标频率特性演示仪,改变低截止频率,重复步骤。分析二阶切比雪夫低通滤波器的幅频特性的特点。示例816虚拟巴特沃斯滤波器。1功能描述可以显示方波通过巴特沃斯滤波器后的幅值变化情况。,2设计提示(1)前面板设计。其前面板同示例814。(2)流程图设计。把示例88中的正弦波图标换成方波,别的不用改变。设计好的前面板和流程图如图839(a)、(b)所示。,(a)前面板设计窗口图839虚拟巴特沃斯滤波器,(b)流程图编辑窗口图839虚拟巴特沃斯滤波器,图824利用子VI设计的压力值显示器,示例86虚拟过程信号仿真记录仪。1功能描述用WaveformChart控件记录一组随机数据,该仪器可以记录150Hz的随机信号。2.设计提示端口的生成有两种方式,任选一种,具体方法参看8.1节。本例采用从前面板放置控件的方式。,主要设计步骤如下:(1)前面板设计。放置图形控件1:执行ControlsGraphWaveformChart操作。图形控件为输出显示型控件,选WaveformChart控件,其ChartHistoryLength的数值设为100。完成设计的前面板如图825所示。,图825虚拟随机信号记录仪前面板,(2)流程图编辑。打开流程图编辑窗口“Diagram”。路径见1.2.5.1节。与前面板图形控件对应的端口应出现在流程图编辑窗口中。放置随机信号图标。随机信号图标的调用路径:FunctionsNumericRandomNumber,放置时间函数图标,该图标用来调节随机信号频率。时间函数图标的调用路径:FunctionsTime&DialogWaitUntilNextmsMultiple放置数值常数图标。数值常数图标的调用路径:FunctionsNumericNumericConstant,连线。完成编辑的流程图如图826所示。(3)存文件。(4)运行程序。改变数值常数图标的值(201000),观察记录仪的显示情况。,图826虚拟随机信号记录仪流程图,示例87虚拟正弦波显示器。1.功能描述用WaveformGraph控件记录一个正弦波序列。2.设计提示端口的生成有两种方式,任选一种,具体方法参看8.1节。本例采用从前面板放置控件的方式。,主要设计步骤如下:(1)前面板设计。放置图形控件1。执行ControlsGraphWaveformGraph操作。图形控件为输出显示型控件,选“WaveformGraph”控件。,放置数字控件2。执行ControlsNumericKnob操作。数字控件为输入控制型控件,用来设置显示器的横坐标,即采样间隔。完成设计的前面板如图827所示。,放置数字控件2。执行ControlsNumericKnob操作。数字控件为输入控制型控件,用来设置显示器的横坐标,即采样间隔。完成设计的前面板如图827所示。,图827虚拟正弦波显示器前面板,(2)流程图编辑。打开流程图编辑窗口“Diagram”。路径见1.2.5.1节。与前面板图形控件对应的端口应出现在流程图编辑窗口中。放置正弦信号图标。正弦信号图标的调用路径:FunctionsNumericTrigonometricSine,放置ForLoop循环结构。执行FunctionsStructureForLoop操作,方法详见2.4.2.2节。连线。完成编辑的流程图如图828所示。(3)存文件。(4)运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论