传感器与检测技术第4节虚拟仪器软件开发平台4.1概述4.1.1平台介绍•软件可完成数据分析与处理、结果表达与输出。•同一硬件平台,软件不同,则功能不同。•虚拟仪器软件应完成以下功能:1、仪器面板的软件设计。2、仪器测试功能的软件设计。3、I/O接口的仪器驱动程序设计。传感器与检测技术虚拟仪器的软件开发工具:(1)文本式编程语言有C、VisualC++、VisualBasic和Labwindows/CVI等。(2)图形化编程语言有NI公司的LabVIEW和Agilent公司的AgilentVEE等。传感器与检测技术4.1.2LabVIEW•特点:–(1)图形化的仪器编程环境•提供显示和控制对象,如表头、旋钮、图表等。–(2)内置高效的程序编译器•编译方式运行32位应用程序,内置代码评估器。–(3)灵活的程序调试手段•可设断点,探针,高亮,单步。–(4)支持各种数据采集与仪器通信应用•支持ISA、EISA、PCI、PCMCIA和MacintoshNuBus等各种总线。传感器与检测技术–(5)功能强大的数据处理和分析函数库•包括数值函数、字符串处理函数、数据运算函数和文件I/O函数,还包括概率与统计、回归分析、线性代数、信号处理、数字滤波器、窗函数、三维图形处理等高级分析函数。–(6)支持多种系统平台•可在LabVIEW平台上调用其他软件平台编译的模块。–(7)开放式的开发平台–(8)网络功能传感器与检测技术4.1.3LabWindows/CVI•特点:–(1)采用事件驱动与回调函数编程–(2)集成化开发平台–(3)支持多种总线–(4)支持数据处理和分析功能,提供格式化I/O库、Analysis库、AdvanccdAnalysis库、ANSIC库等–(5)提供图形化用户界面编辑,UserInterface库–(6)支持网络和进程间通信功能–(7)支持多种操作系统传感器与检测技术4.1.4AgilentVEE•特点:–(1)图形化的编程•提供显示和控制模块,如按钮、图表、温度指示器等。–(2)内置的程序编译器•交互式编译器技术–(3)丰富的仪器驱动程序传感器与检测技术–(4)强大的数据分析与处理•数理统计、类型比较、矩阵运算、微积分、信号分析与处理、数字滤波器等。–(5)灵活的程序调试手段•可设断点,单步,分步。–(6)支持多种系统平台–(7)网络功能传感器与检测技术4.2LabVIEW编程初步4.2.1LabVIEW的基本VI介绍•LabVIEW中开发的应用程序称为虚拟仪器(Virtualinstruments)程序,简称VI。•一个基本的VI包括:–前面板(frontpanel)–框图程序(blockdiagram)–图标/连结端口(icon/connector)传感器与检测技术前面板框图程序例如:求两个数的和与差控制型控件指示型控件前面板:包括两类控件:控制型控件(control),指示型控件(indicator)。框图程序:由节点(node)、端口(terminal)和数据连线(wire)组成。节点端口传感器与检测技术1.节点–节点是程序的执行元素,LabVIEW有4种节点类型:•函数(functions):执行各种数学运算、文件输入/输出等基本操作。节点代码不能修改。•结构控制(structures):实现结构化程序控制。•代码端口(CIN、DLL):是与C语言程序或动态连接库的接口。•子VI:节点代码可以修改。2.端口3.数据连线–定义了框图程序中的数据流动方向。传感器与检测技术4.2.2LabVIEW的基本开发环境•1.启动界面LabVIEW7Express的启动界面单击,会生成一个新VI,新VI包括前面板窗口、框图程序窗口传感器与检测技术新的VI界面前面板窗口框图程序窗口传感器与检测技术•4.窗口主菜单–包括文件(File)、编辑(Edit)、操作(Operate)、工具(Tools)、浏览(Browse)、窗口(Windows)、帮助(Help)。•3.窗口工具栏–前面板窗口工具栏如下图。主菜单传感器与检测技术–框图程序窗口的工具栏与前面板类似,只增加了4个调试按钮。–窗口主菜单与前面板相同。高亮、单步步入、单步步过、单步步出点击该高亮执行按钮可使VI程序的运行以一种缓慢的节奏一步一步地执行程序,所执行到的节点都以高亮方式显示,并可观察到数据的流动,这样用户可以清楚地了解到程序的运行过程,也可以很方便地查找错误。传感器与检测技术窗口工具栏功能图标名称功能说明运行按钮单击此按钮运行VI。当执行按钮变为形状时,表明VI有错误,不能运行。单击该按钮,可弹出ErrorList对话框,提示VI中的错误。连续运行按钮单击此按钮可使VI程序连续地重复执行。停止运行按钮单击此按钮可停止运行VI。暂停按钮单击此按钮可暂停VI执行,再次单击此按钮,VI又继续执行。高亮显示执行按钮单击此按钮,可动态显示VI执行时数据的流动。传感器与检测技术单步步入按钮单击此按钮,按节点顺序单步执行程序,每单击一次,程序执行一步。如果节点为一个子程序或结构,则进入子程序或结构内部执行单步运行方式。单步步过按钮单击此按钮,按节点顺序单步执行程序(不进入循环,SunVI内部)。单步步出按钮单击此按钮,退出单步执行,进入暂停状态。文本字体设置按钮点击右边的小按钮将弹出一个下拉式的列表,该列表可以设置字体的格式。对齐列表框首先选定需要对齐的对象,然后单击此按钮,可设置对象之间的对齐方式。分布列表框单击此按钮,可选择图标的分布方式,如对象之间的间距等。层叠列表框为选定对象重新设定在窗口中的前后叠放顺序。传感器与检测技术4.2.3LabVIEW的模板•程序的创建主要依靠三个模板:–工具(Tools)模板–控件(Controls)模板–函数(Functions)模板•1.工具模板–选择Windows菜单下的ShowToolsPalette选项可显示出工具模板。–使用工具模板中的工具可创建、修改和调试VI。当从工具模板中选择了某种工具后,鼠标光标就变为该工具的形状,表示可以进行某类操作。传感器与检测技术工具模板中的各工具功能图标名称功能1操作工具用于操作前面板控件数值和字符的工具。将其移动到文本、字符串或数字控件,光标形状变成,点击一下即可输入字符或数字。2定位/调整大小/选择工具用于选择、移动或改变对象的大小。当它位于前面板控件的边角时,形状变为,可以改变前面板控件的大小。3文本编辑工具用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。4连线工具用于在框图程序上连接对象。传感器与检测技术5快捷菜单工具用鼠标左键可以弹出对象的弹出式菜单。6窗口平移工具使用该工具就可以不需要使用滚动条而在窗口中平移。7设置/清除断点工具使用该工具在VI的框图程序中设置断点。若使用该工具在已设置断点处点击,则可以清除断点。8数据探针可在框图程序上的数据流线上设置探针。通过探针窗口来观察该数据流线上的数据变化状况。9颜色提取使用该工具来获取已染色对象的颜色,用于编辑其他的对象。10颜色设置用来给窗口中的对象定义颜色。传感器与检测技术•4.控件模板–选择前面板窗口的Windows菜单下的ShowControlsPalette选项可显示出控制模板。–控制模板只用于前面板,用来创建控制器和指示器。模板中显示的是一些子模板的图标,点击图标即可弹出该图标下的子模板。传感器与检测技术控件模板中的子模板功能图标子模板名称功能1数字子模板提供各种数值控制和指示控件,如滑动杆、滚动条、旋钮、转盘和数值显示框等。2布尔量提供各种布尔型的控制和指示控件。包含各种开关、按钮以及指示灯等。3字符串和路径用于创建文本输入框和标签、输入和返回文件或目录的地址。4数组和簇数组和簇的控制和显示控件。传感器与检测技术5列表和表格表格形式数据的控制和显示控件。6图形显示显示数据结果的趋势图和曲线图控件。7环与枚举环与枚举的控制和显示控件。8容器分页控件、子面板控件、ActiveX控件。9输入/输出与VISA、IVI、DAQ有关的数据源及通道名称。10对话框控件这组控件和其它子模板的控件类似,只是外形有些差别。传感器与检测技术11经典控件经典控件,指以前版本软件的控件图标。12参考号LabVIEW对文件、目录、设备等操作都需要一个参考号标示,这个子模板包括各类参考号。13装饰件用于对前面板进行装饰的各种图形对象。14从文件系统选择控件调用存储在文件中的控件。15用户控制把控件放在\NationalInstruments\LabVIEW7.0\user目录中时,将出现在这个子模板中。传感器与检测技术•其中最常用的控件是:数值型、布尔型–①数值型Numeric•主要完成参数设置和结果显示。•这些控件相对于高级文本中的变量。•控制型控件有:数字式、滑动式、进度条式、旋纽式、桶式•指示型控件有:数字式、表盘式、温度计式、色彩传感器与检测技术•数值型控件的属性设置–前面板窗口中放置一个数值型控件Knob,鼠标右击控件会弹出一个快捷菜单。传感器与检测技术•快捷菜单中有一些共同的选项,如:–①Visibleltems:显示、隐藏控件的一些属性。–②FindTerminal:高亮显示和该控件相对应的数据端口。–③ChangetoControl/Indicator:控制和指示属性的转换。–④DescriptionandTip…:打开控件对象的描述/提示对话框。–⑤Create:创建局部变量(LocalVariable)、属性节点(PropertyNode)、控件参考(Reference)以及调用节点(1nvokeNode)。传感器与检测技术–⑥Replace:用其它控件对象来代替当前对象。–⑦DataOperations:对数据的操作:•ReinitializetoDefaultValue:恢复初始值。•MakeCurrentValueDefault:设初始(默认)值。•DataSocketConnection:启动DataSocket连接。•Cut/Copy/PasteData:剪切/复制/粘贴。–⑧Advanced:对前面板对象的高级操作:•KeyNavigation:快捷键的设置SynchronousDisplay:同步显示•Customize:用户自行定制控件。•HideControl/Indicator:在前面板隐藏控制。EnabledState:确定对象是否有效。传感器与检测技术•在数值型控件Knob快捷菜单中还有:–Representation(数据类型设置)–DataRange(数值范围设置)–FormatandPrecision(数据表示格式和精度设置)–AddNeedle(添加指示针)–Scale(刻度)–TextLabels(文本刻度模式)–Properties(属性设置)传感器与检测技术•在控件快捷菜单中选择Properties,将打开控件的属性对话窗口。传感器与检测技术•在Knob数值型控件的属性窗口中包括以下设置:–Appearance:外观设置。•可设控件的标签(Label)、标题(Caption),可用性设置EnabledState,可设该旋钮控件指针(Needle)颜色。–DataRange:数据范围设置。•可设置控件的缺省值DefaultValue,数据的表示法Representation,设置控件的最小值、最大值以及数值变化步长。传感器与检测技术–Scale:刻度设置。•可设置刻度线的颜色、刻度标识文字颜色、刻度反向、对数分布、显示颜色梯度图。还设置最小刻线值、最大刻线值。–FormatandPrecision数据表示格式和精度设置。•可选择设置数据表示为浮点、科学记数法、十六进制、二进制等以及数据的小数点后保留的位数。传感器与检测技术–单击属性对话窗口右上角的移动按钮,还会出现TextLabels和Documentaion的设置。–将该控件设置为文本刻度模式,控件的文本刻度分别设置为sine、Square和Triangle,控件在前面板的外观如右图。传感器与检测技术–②布尔型