第4章 网络化虚拟仪器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第4章网络化虚拟仪器•4.1网络化虚拟仪器基础•4.2网络化虚拟仪器的开发平台•4.3TCP和UDP通信•4.4DataSocket技术•4.5基于Web的远程发布•4.6远程仪器访问技术•4.7两种组建网络化虚拟仪器系统的模式和应用4.1网络化虚拟仪器基础4.1.1网络化虚拟仪器的概念网络化虚拟仪器是指将计算机、外围设备、被测试结点以及数据等软件资源纳入网络进行资源共享,共同完成测试任务,实现了对现场基于Internet的异地或远程测试、控制、数据获取、故障诊断和现场监视功能。网络化虚拟仪器把PC仪器系统的三大功能分别使用独立的基本硬件模块实现,并以网线相连接。通过这种有机的组合,测控网络的功能远远大于系统中各单独个体的功能总和。4.1.2网络化虚拟仪器的硬件结构利用传统的网络接口卡(NetworkInterfaceCard,NIC)是最简便的虚拟仪器网络化方法,通过指定IP地址和端口,任何一台带有NIC的计算机都能方便地与网络上的其他计算机进行信息交换。在测控领域,除了传统的NIC外,还有GPIB-NET、RS232-NET等转换卡,能将本身不具备联网能力的设备仪器连接到网络上,可以得到如图所示的网络化虚拟仪器结构。4.1.3网络化虚拟仪器的软件结构图为网络化虚拟仪器的软件结构。主要由系统管理软件、应用程序、仪器驱动软件和接口软件等4部分组成。其重点是网络连接部分,即实现“网络就是仪器”。4.2网络化虚拟仪器的开发平台4.2.1软件开发技术概述网络化虚拟仪器的开发可以采用多种软件技术,比如:网络仪器的开发软件可以采用通用的编程语言,也可以采用专门的虚拟仪器软件开发工具。这些开发软件按照编程方式可以分为两种:文本式编程语言如VisualC++、Visualbasic、LabWindows/CVI等;图形化编程语言如LabVIEW、HPVEE等。最流行的是LabVIEW和LabWindows/CVI,它们都是美国NI公司推出的专门面向计算机测控领域虚拟仪器的软件开发平台,而且都有强大的网络开发功能。4.2.2图形化编程语言LabVIEW简介LabVIEW(LaboratoryVirtualinstrumentEngineering,实验室虚拟仪器工作平台)是美国NI(NationalInstrument)公司推出的一种基于G语言(GraphicsLanguage,图形化编程语言)的虚拟仪器软件开发工具,是目前国际上应用最广泛的虚拟仪器开发环境之一,主要应用于仪器控制、数据采集、数据分析、数据显示等领域,并适用于Windows、Macintosh、UNIX等多种操作系统平台。LabVIEW广泛地被工业界、学术界和研究实验室所接受,它集成了符合GPIB、VXI、RS-232和RS-485协议的硬件和数据采集卡通信的全部功能,内置了便于应用TCP/IP、ActiveX等软件标准的库函数,特别适用于虚拟仪器的设计和开发。另外,LabVIEW还提供了TCP、UDP通信技术、DataSocket技术、基于Web的远程发布、RemoteDeviceAccess等多种网络通信技术,这为基于LabVIEW的网络化虚拟仪器开发提供了十分便利的条件和基础。1.LabVIEW启动从开始菜单中运行“NationalInstrumentLabVIEW7.1”,在计算机屏幕上将出现如图所示的欢迎窗口。单击Continue按钮之后进入如图所示的LabVIEW对话框,在这个对话框中可以直接访问某些LabVIEW资源和工具,而不需要打开程序窗口。在New对话框中单击New…按钮,将弹出如图所示的New对话框。单击图中LabVIEW对话框的Open…按钮,将弹出标准的Windows打开文件对话框,在这里可以打开各种LabVIEW文件。2.LabVIEW程序的基本构成与术语采用LabVIEW编程的应用程序,通常被称为虚拟仪器程序(VirtualInstruments),简称虚拟仪器(VIs)。它主要由前面板(FrontPanel)、框图程序(BlockDiagram)以及图标和连结器窗格(IconandConnector)三部分组成。其中前面板的外观及操作功能与真实的(传统的)仪器(如示波器、万用表)的面板类似,而框图程序则是使用功能函数对通过用户界面输入的数据或其他源数据进行处理,并将信息在显示对象上显示或将信息保存到文件或其他计算机。(1)前面板(FrontPanel)前面板是图形用户界面,也就是VI的虚拟仪器面板。该界面上有交互式的输入和输出,显示两类对象,分别称为控制器(Control)和指示器(indicator)。Control包括开关、旋钮、按钮和其他输入设备;indicator包括图形(Graph和Chart)、LED和其他显示输出对象。图所示是一个随机信号发生和显示的简单VI的前面板,前面板由一个显示对象——波形图和一个控制对象——“停止”按钮组成。(2)框图程序(BlockDiagram)框图程序提供VI的图形化源程序。在框图程序中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。随机信号发生器的框图程序如图所示。框图程序由节点和数据连线组成。节点是VI程序中类似于文本编程语言程序中的语句、函数或者子程序的基本组成元素。节点之间由数据连线按照一定的逻辑关系进行连接,以定义框图程序内的数据流程。LabVIEW的节点类型分为4类,如表所示。节点类型节点功能功能函数(Functions)LabVIEW内置节点,提供基本的数据与对象操作。结构(Structuree)用于控制程序执行方式的节点,包括顺序结构、选择结构、循环结构及公式节点等。代码接口节点(CIN)LabVIEW与C语言程序的接口。通过代码接口节点,用户可以直接调用C语言编写的源程序。子VI(SubVI)相当于传统编程语言的子程序。通过功能模板中的SelectaVI子模板可以创建一个SubVI节点。(3)图标和连结端口(IconandConnectorPane)VI具有层次化和结构化的特征。用户可以把一个VI作为子程序,这里称为子VI(subVI),被其他VI调用。图标与连接端口是框图程序中VI的识别符,当被其他VI调用时,图标代表子VI中的所有框图程序。而连接端口表示子VI与调用它的VI之间进行数据交换的输入输出关系口,相当于图形化的参数,通常连接端口是隐藏在图标中。在图标的右键弹出菜单中选择VisualItem\Terminals,可以将图标切换到连接端口状态。(4)专用术语由于LabVIEW是一门面向测试测量领域的图形化语言,在LabVIEW中引入了大量的术语。一些常用术语如表所示。英文名称中文术语英文名称中文术语AttributeNode属性节点Indicator显示对象BadWires错误数据连线LIBsVI库BlockDiagram框图程序Label标签Bounds边界范围Lengend图例Bundle打包LocalVarival本地变量Channel通道Objects对象Chart实时趋势图Panel面板Cluster簇Palette模板Constant常量PropertyNode属性节点Control控件ReadGlobal全局读Control&Indicator对象控件ReadLocal本地读ControlsPalette控件面板RefNum文件指针Cursor光标ShiftRegister移位寄存器DataAcquisition(DAQ)数据采集Structures结构DisableIndexing无索引SubVI子VIEnableIndexing有索引Terminal端口Frame框架ToolsPalette工具模板Functions功能函数Unbunble解包FunctionsPalette功能面板Wires数据连线Graph事后记录图WriteGlobal全局写IndexNode索引节点WriteLocal本地写3.LabVIEW的编程环境LabVIEW是一个多功能的集成编程环境。它主要由前面板窗口和框图程序窗口组成。其中,前面板窗口用于编辑和显示前面板对象,如图所示。框图程序窗口用于编辑和显示框图程序(程序代码),如图所示。(1)LabVIEW菜单LabVIEW菜单包括文件(File)、编辑(Edit)、操作(Operation)、工具(Tools)、浏览(Browse)、窗口(Windows)、帮助(Help)等七大项。(2)LabVIEW工具栏LabVIEW前面板窗口和框图程序窗口都有各自的工具栏,工具栏包括用来控制VI的命令按扭和状态批示器。图是前面板窗口的工具栏图为框图程序窗口的工具栏工具栏各图标及其功能表如表所示。(3)LabVIEW工具模板在LabVIEW的用户界面上提供了用于VI编程所需的功能强大,直观方便的操作模板,包括工具(Tools)模板、控件(Controls)模板和函数(Functions)模板。1)工具模板图工具模板提供了各种用于创建、修改和调试VI程序的工具,如图所示。工具模板可以在Windows菜单下选择ShowToolsPalette命令来以显示该模板。工具模板中各图标的功能如表所示2)控件模板(ControlPalette)选择前面板窗口Windows菜单的下ShowControlsPalette选项或在前面板窗口空白上单击鼠标右键,可以弹出控制模板(如图所示)。在Controls中显示的是一些常用的子模板图标,单击右下角的AllControls即可弹出全部的控制子模板(如图)。控制模板包括一些子模板。子模板中包括的对象,其中各图标的功能如表所示。3)功能模板(FunctionPalette)选择框图程序窗口的Windows菜单下的ShowFunctionsPalette选项或在框图程序窗口的空白处点击鼠标右键,可显示出功能模板(如图所示)。在Functions中显示的是一些常用的子模板图标,单击右下角的AllFunctions即可打开所有的功能子模板(如图)。功能模板常用子模板功能如表所示4.LabVIEW程序设计的一般过程一个完整的VI程序由3部分组成:前面板、框图程序和图标/连接口,因此一个VI程序设计主要包括前面板的设计、框图程序的设计以及程序的调试。当前面板和框图程序设计好以后,还需要对程序进行调试,以排除程序执行过程中可能遇到的错误。程序的调试方法主要有:1)找出语法错误2)设置运行程序高亮3)断点与单步运行4)探针(1)前面板的设计绝大多数的控制器和指示器的配置是可以改变的,在控制器或指示器上单击右键,在弹出的快捷菜单中选择相应的选项来改变配置,如图所示。一个VI程序的前面板如图所示。(2)框图程序组成框图程序由节点、端口和连线组成,如图所示。(3)从框图程序窗口创建前面板对象用任意LabVIEW工具,用户都可以用鼠标右键单击任意的labVIEW功能函数或者子程序,然后可以弹出其快捷菜单,如图所示。(4)数据流编程Ⅵ程序的运行是“数据流”驱动的。对一个节点而言,只有当它的输入端口上的数据都有效以后,它才能被执行。当节点程序运行完毕后,它把结果数据送给所有的输出端口。如图所示下面简单介绍这个Ⅵ框图程序的创建过程:1)选择框图程序窗口。在功能模板中选择Numeric下的Multiply(乘法)函数,放入框图程序窗口。2)在此函数图标的左端输入端口上单击右键,从弹出的对话框中选择Creat→Control,创建与它相连的一个控制器。3)重复上面的步骤,创建第二个控制器同乘法函数的连接。4)在功能模板中选择Numeric下的Subtract(减法)函数,放入框图程序窗口。5)在此函数左端相应输入端口上单击右键,从弹出的对话框中选择Creat→Constant,创建一个常数。6)在此减法(Subtract)函数右端输出端口上单击右键,从弹出的对话框中选择Creat→Indicator,创建指示器。7)用连线工具连线。8)选择工具模板中的标签(EditText)工具修改标签并添入数字。9)创建图标。10)从

1 / 109
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功