版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 网络化虚拟仪器,4.1 网络化虚拟仪器基础 4.2 网络化虚拟仪器的开发平台 4.3 TCP和UDP 4.4 DataSocket技术 4.5 基于Web的远程发布 4.6 远程仪器访问技术 4.7 两种组建网络化虚拟仪器系统的模式和应用,4.1 网络化虚拟仪器基础 4.1.1 网络化虚拟仪器的概念 网络化虚拟仪器是指将计算机、外围设备、被测试结点以及数据等软件资源纳入网络进行资源共享,共同完成测试任务,实现了对现场基于Internet的异地或远程测试、控制、数据获取、故障诊断和现场监视功能。 网络化虚拟仪器把PC仪器系统的三大功能分别使用独立的基本硬件模块实现,并以网线相连接。通过这
2、种有机的组合,测控网络的功能远远大于系统中各单独个体的功能总和。,4.1.2 网络化虚拟仪器的硬件结构 利用传统的网络接口卡(Network Interface Card,NIC)是最简便的虚拟仪器网络化方法,通过指定IP地址和端口,任何一台带有NIC的计算机都能方便地与网络上的其他计算机进行信息交换。在测控领域,除了传统的NIC外,还有GPIB-NET、RS232-NET等转换卡,能将本身不具备联网能力的设备仪器连接到网络上,可以得到如图所示的网络化虚拟仪器结构。,4.1.3 网络化虚拟仪器的软件结构 图为网络化虚拟仪器的软件结构。主要由系统管理软件、应用程序、仪器驱动软件和接口软件等4部分
3、组成。其重点是网络连接部分,即实现“网络就是仪器” 。,4.2 网络化虚拟仪器的开发平台 4.2.1 软件开发技术概述 网络化虚拟仪器的开发可以采用多种软件技术,比如:网络仪器的开发软件可以采用通用的编程语言,也可以采用专门的虚拟仪器软件开发工具。这些开发软件按照编程方式可以分为两种:文本式编程语言如Visual C、Visual basic、LabWindows/CVI等;图形化编程语言如LabVIEW、HPVEE等。最流行的是LabVIEW和LabWindows/CVI,它们都是美国NI公司推出的专门面向计算机测控领域虚拟仪器的软件开发平台,而且都有强大的网络开发功能。,4.2.2 图形化
4、编程语言LabVIEW简介 LabVIEW(Laboratory Virtual instrument Engineering,实验室虚拟仪器工作平台)是美国NI(National Instrument)公司推出的一种基于G语言(Graphics Language,图形化编程语言)的虚拟仪器软件开发工具,是目前国际上应用最广泛的虚拟仪器开发环境之一,主要应用于仪器控制、数据采集、数据分析、数据显示等领域,并适用于Windows、Macintosh、UNIX等多种操作系统平台。 LabVIEW广泛地被工业界、学术界和研究实验室所接受,它集成了符合GPIB、VXI、RS-232和RS-485协议的
5、硬件和数据采集卡通信的全部功能,内置了便于应用TCP/IP、ActiveX等软件标准的库函数,特别适用于虚拟仪器的设计和开发。另外,LabVIEW还提供了TCP、UDP通信技术、DataSocket技术、基于Web的远程发布、Remote Device Access等多种网络通信技术,这为基于LabVIEW的网络化虚拟仪器开发提供了十分便利的条件和基础。,1. LabVIEW启动 从开始菜单中运行“National Instrument LabVIEW 7.1”,在计算机屏幕上将出现如图所示的欢迎窗口。,单击Continue按钮之后进入如图所示的LabVIEW对话框,在这个对话框中可以直接访问
6、某些LabVIEW资源和工具,而不需要打开程序窗口。,在New对话框中单击New按钮,将弹出如图所示的New对话框。,单击图中LabVIEW对话框的Open按钮,将弹出标准的Windows打开文件对话框,在这里可以打开各种LabVIEW文件。,2.LabVIEW程序的基本构成与术语 采用LabVIEW编程的应用程序,通常被称为虚拟仪器程序(Virtual Instruments),简称虚拟仪器(VIs)。它主要由前面板(Front Panel)、框图程序(Block Diagram)以及图标和连结器窗格(Icon and Connector)三部分组成。其中前面板的外观及操作功能与真实的(传统
7、的)仪器(如示波器、万用表)的面板类似,而框图程序则是使用功能函数对通过用户界面输入的数据或其他源数据进行处理,并将信息在显示对象上显示或将信息保存到文件或其他计算机。,(1)前面板(Front Panel) 前面板是图形用户界面,也就是VI的虚拟仪器面板。该界面上有交互式的输入和输出,显示两类对象,分别称为控制器(Control)和指示器(indicator)。Control包括开关、旋钮、按钮和其他输入设备;indicator包括图形(Graph和Chart)、LED和其他显示输出对象。图所示是一个随机信号发生和显示的简单VI的前面板,前面板由一个显示对象波形图和一个控制对象“停止”按钮组
8、成。,(2)框图程序(Block Diagram) 框图程序提供VI的图形化源程序。在框图程序中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。随机信号发生器的框图程序如图所示。,框图程序由节点和数据连线组成。 节点是VI程序中类似于文本编程语言程序中的语句、函数或者子程序的基本组成元素。节点之间由数据连线按照一定的逻辑关系进行连接,以定义框图程序内的数据流程。,LabVIEW的节点类型分为4类,如表所示。,(3)图标和连结端口(Icon and Connector Pane) VI具有层次化和结构化的特征。用户可以把一个VI作为子程序,这里称为子VI(subVI),被其他VI调用。图
9、标与连接端口是框图程序中VI的识别符,当被其他VI调用时,图标代表子VI中的所有框图程序。而连接端口表示子VI与调用它的VI之间进行数据交换的输入输出关系口,相当于图形化的参数,通常连接端口是隐藏在图标中。在图标的右键弹出菜单中选择VisualItemTerminals,可以将图标切换到连接端口状态。,(4)专用术语 由于LabVIEW是一门面向测试测量领域的图形化语言,在LabVIEW中引入了大量的术语。一些常用术语如表所示。,3.LabVIEW的编程环境 LabVIEW是一个多功能的集成编程环境。它主要由前面板窗口和框图程序窗口组成。其中,前面板窗口用于编辑和显示前面板对象,如图所示。,框
10、图程序窗口用于编辑和显示框图程序(程序代码),如图所示。,(1)LabVIEW菜单 LabVIEW菜单包括文件(File)、编辑(Edit)、操作(Operation)、工具(Tools)、浏览(Browse)、窗口(Windows)、帮助(Help)等七大项。 (2)LabVIEW工具栏 LabVIEW前面板窗口和框图程序窗口都有各自的工具栏,工具栏包括用来控制VI的命令按扭和状态批示器。图是前面板窗口的工具栏,图为框图程序窗口的工具栏,工具栏各图标及其功能表如表所示。,(3)LabVIEW工具模板 在LabVIEW的用户界面上提供了用于VI编程所需的功能强大,直观方便的操作模板,包括工具(
11、Tools)模板、控件(Controls)模板和函数(Functions)模板。 1)工具模板图 工具模板提供了各种用于创建、修改和调试VI程序的工具,如图所示。工具模板可以在Windows菜单下选择Show Tools Palette命令来以显示该模板。,工具模板中各图标的功能如表所示,2)控件模板(Control Palette) 选择前面板窗口Windows菜单的下Show Controls Palette选项或在前面板窗口空白上单击鼠标右键,可以弹出控制模板(如图所示)。,在Controls中显示的是一些常用的子模板图标,单击右下角的All Controls即可弹出全部的控制子模板(如
12、图)。,控制模板包括一些子模板。子模板中包括的对象,其中各图标的功能如表所示。,3)功能模板(Function Palette) 选择框图程序窗口的Windows菜单下的Show Functions Palette选项或在框图程序窗口的空白处点击鼠标右键,可显示出功能模板(如图所示)。,在Functions中显示的是一些常用的子模板图标,单击右下角的All Functions即可打开所有的功能子模板(如图)。,功能模板常用子模板功能如表所示,4.LabVIEW程序设计的一般过程 一个完整的VI程序由3部分组成:前面板、框图程序和图标/连接口,因此一个VI程序设计主要包括前面板的设计、框图程序的
13、设计以及程序的调试。 当前面板和框图程序设计好以后,还需要对程序进行调试,以排除程序执行过程中可能遇到的错误。 程序的调试方法主要有: 1)找出语法错误 2)设置运行程序高亮 3)断点与单步运行 4)探针,(1)前面板的设计 绝大多数的控制器和指示器的配置是可以改变的,在控制器或指示器上单击右键,在弹出的快捷菜单中选择相应的选项来改变配置,如图所示。一个VI程序的前面板如图所示。,(2)框图程序组成 框图程序由节点、端口和连线组成,如图所示。,(3)从框图程序窗口创建前面板对象 用任意LabVIEW工具,用户都可以用鼠标右键单击任意的labVIEW功能函数或者子程序,然后可以弹出其快捷菜单,如
14、图所示。,(4)数据流编程 程序的运行是“数据流”驱动的。对一个节点而言,只有当它的输入端口上的数据都有效以后,它才能被执行。当节点程序运行完毕后,它把结果数据送给所有的输出端口。 如图所示,下面简单介绍这个框图程序的创建过程: 1)选择框图程序窗口。在功能模板中选择Numeric下的Multiply(乘法)函数,放入框图程序窗口。 2)在此函数图标的左端输入端口上单击右键,从弹出的对话框中选择CreatControl,创建与它相连的一个控制器。 3)重复上面的步骤,创建第二个控制器同乘法函数的连接。 4)在功能模板中选择Numeric下的Subtract(减法)函数,放入框图程序窗口。 5)
15、在此函数左端相应输入端口上单击右键,从弹出的对话框中选择CreatConstant,创建一个常数。 6)在此减法(Subtract)函数右端输出端口上单击右键,从弹出的对话框中选择Creat Indicator,创建指示器。 7)用连线工具连线。 8)选择工具模板中的标签(Edit Text)工具修改标签并添入数字。 9)创建图标。 10)从File菜单中选择Save命令来保存。起名为“例4.1”。,创建图标创建方法 在前面板窗口或框图程序窗口的右上角的图标框中单击右键,从弹出的快捷菜单中Edit Icon(或双击此图标框),打开一个图标编辑器,如图所示。,双击选择工具,选中默认的图标,按De
16、lete键,清除所选图标图案。 用画图工具画出所需的图标。注意:在用鼠标画线时按住Shift键,则可以画出水平或垂直方向的直线。 用文本工具写文字,双击文本工具可改变字体及字号。 当图标创建完成后,单击【OK】按钮以关闭图标编辑。生成的图标将显示在前面板窗口的右上角。,(5)创建子程序 在LabVIEW中,每个程序都可以将其创建成子程序,以便其他程序调用。创建过程如下(在这里将上面VI程序“例4.1”创建成子): 1)打开程序“例4.1”。 2)创建接线端口。接线端口是程序数据的输入/输出端口,创建过程如下: 右键单击前面板中右上角的图标,从弹出的快捷菜单中选择Show Connector选项
17、。此时,前面板窗口右上角的图标由接线端口取代,每个小矩形框代表一个连线的端口,这些端口用来将数据输入到VI程序中或将程序的数据输出。LabVIEW将会根据控制器和指示器的数量选择一种接线端口模式。,把接线端口分配给相应的控制器和指示器。 使用连线工具,在左边的接线端口框内单击鼠标,则端口将会变黑。再单击控制器,一个闪烁的虚线框将包围住该控制器。 3)保存此程序,以后就可以对其调用。 4)打开一个新的VI,在框图程序中选择FunctionsAll functionsSelect a VI再选择上面保存的VI程序“例4.1”。此时,此VI程序将以图标形式出现。用连线工具可以看到它的连线端口,这样可
18、以创建相应的控制器和指示器,如图所示。,(6)VI的运行 LabVIEW提供了两种VI的运行方式:单次运行方式和连续运行方式。 1)单次运行VI 在前面板窗口或框图程序窗口的工具栏中选择运行(Run)按钮,可以单次运行VI。还可以使用操作菜单下的Run菜单项单次运行VI。 2)连续运行VI 在工具栏中选择连续运行(Run Continuously)按钮,可以连续运行VI,即一次VI运行结束后,继续重新运行VI。 3)停止运行VI 在工具栏中选择停止运行(Abort Execution)按钮,可以强行终止VI的运行。 4)暂停运行VI 在工具栏中选择暂停运行(Pause)按钮,可以暂停VI的运行
19、,再次单击该按钮可恢复VI的运行。,4.3 TCP和UDP通信 4.3.1TCP节点与TCP通信技术及应用 1TCP节点 在LabVIEW7.1中,可以采用TCP节点来实现基于TCP协议的LAN通信。节点位于Functions模板All FunctionsConmmunication子模板TCP子模板中,如图所示。,TCP子模板上有9个图标,这些图标可划分为三部分: Connection:用于建立客户机和服务器之间的通信连接; Transmission:用于在客户机和服务器之间传输数据; Conversion:用于计算机的IP地址和计算机名之间相互转换。 TCP子模板中各图标(节点)的参数定义
20、、用法及功能如表所示。,2.TCP通信应用 实例4.1:利用TCP协议发送和接收数据 本例包括TCP Writer(发送).vi和TCP Reader(接收).vi 两个程序,以实现采用TCP协议完成数据的传输。 服务器(发送端)的前面板及框图程序如图所示。在服务器的框图程序中,利用TCP Listener节点建立听者并指定网络端口(Port),用两个TCP Write节点来发送数据。两个For循环产生的数据之和一方面送Waveform Graph显示,另一方面通过TCP Write节点发送(数据的产生可由用户根据实际需要编写),第一个TCP Write节点发送数据长度,第二个TCP Writ
21、e节点发送数据。While 循环用于数据的连续发送,TCP Close节点则关闭TCP连接。,客户端(接收端)的前面板及框图程序如图所示。用Open节点按照连接的IP地址(Address)和端口号(Port)建立一个TCP连接。与服务器(发送端)框图程序相对应,客户端框图程序中也采用了两个TCP Read节点读出数据。第一个TCP Read节点读出数据长度,第二个ReadTCP节点读出数据并送Waveform Graph中显示出,以便观察接收的数据与发送数据是否一致。,4.3.2UDP节点与UDP通信应用 1UDP简介 用户数据报协议(UDP- User Datagram Protocol)是
22、 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。是一个简单的面向数据报的传输层协议,IETF RFC 768是UDP的正式规范。 UDP 协议基本上是 IP 协议与上层协议的接口。 UDP 协议适用端口分别运行在同一台设备上的多个应用程序。 UDP 适用于不需要 TCP 可靠机制的情形。 UDP 是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)、动态主机配置协议(DHCP)、路由信息协议(RIP)和某些影音串流服务等等。,协议结构 Source Port 16位
23、。源端口是可选字段。当使用时,它表示发送程序的端口,同时它还被认为是没有其它信息的情况下需要被寻址的答复端口。如果不使用,设置值为0。 Destination Port 16位。目标端口在特殊因特网目标地址的情况下具有意义。 Length 16位。该用户数据报的八位长度,包括协议头和数据。长度最小值为8。 Checksum 16位。IP 协议头、UDP 协议头和数据位,最后用0填补的信息假协议头总和。如果必要的话,可以由两个八位复合而成。 Data 包含上层数据信息。,UDP协议有如下的特点: 1)UDP传送数据前并不与对方建立连接,即UDP是无连接的,在传输数据前,发送方和接收方相互交换信息
24、使双方同步。 2)UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息(如TCP所采用的序号),而且报文不一定按顺序到达的,所以接收端无从排起。 3)UDP对接收到的数据报不发送确认信号,发送端不知道数据是否被正确接收,也不会重发数据。 4)UDP传送数据较TCP快速,系统开销也少。 5)由于缺乏拥塞控制(congestion control),需要基于网络的机制来减小因失控和高速UDP流量负荷而导致的拥塞崩溃效应。,2.UDP节点 LabVIEW中的基于UDP协议的网络通信由UDP节点实现。LabVIEW7.1中UDP节点位于Functions模板All Functio
25、nsConmmunication子模板UDP子模板中,如图所示。,UDP子模板有5个图标,各图标的参数定义、用法及功能如表所示。,3.UDP通信应用 实例4.2 利用UDP节点实现通信 本例包括UDP Writer(发送).vi和UDP Reader(接收).vi 两个程序,以说明如何使用UDP协议完成数据的传输。 UDP Writer(发送).vi的前面板及框图程序如图所示;,4.4 DataSocket技术 4.4.1 DataSocket技术简介 DataSocket是NI公司推出的一种面向测量和自动化工程的网上实时数据交换的编程技术,可用于一个计算机内或网络中多个应用程序之间的数据交换
26、,用于共享和发布实时数据。DataSocket技术提供一种基于TCP/IP协议的网络编程技术,它支持本地文件I/O操作、文件传输、实时数据共享并为低层通讯协议提供了一致的API供编程人员使用。 DataSocket技术是一种简单易用的网络数据通信技术,它封装了TCP/IP编程细节(如选择端口号、定义协议、创建连接、字节流处理、错误处理等),即具体的底层TCP/IP编程由DataSocket提供的VI完成,使测控工程师不用了解底层的网络编程技术,就可以方便的搭建网络化虚拟仪器测控系统。,1.DataSocket的组成 DataSocket的体系结构如图所示。,DataSocket具备以下三个工具
27、: DataSocket ActiveX控件:开发者可以利用它提供的控件在诸如VB、VC等ActiveX容器中开发共享数据应用程序。 DataSocket服务器:利用dstp协议在应用程序间交换数据。 DataSocket服务器管理程序:它是一个配置和管理工具,负责确定DataSocket服务的最大连接数、实现设置访问控制等网络管理功能。,2DataSocket工具 DataSocket包括DataSocket Server Manager、DataSocket Server和DataSocket函数库3个工具软件以及DSIP协议、通用资源定位符URL和文件格式等技术规范。 (1)DataSo
28、cket Server Manager DataSocket Server Manager是一个独立运行的程序,其功能是进行:服务器设置-Server Settings(设置可连接的客户程序的最大数目、可创建的数据项的最大数目)、许可组设置-Permission Group(允许创建用户组和用户)和预定义数据项设置-Predefined Data Items (发布和共享数据项的设置)等。 在安装好LabVIEW之后,打开“开始程序 National InstrumentsDataSocket”,出现如图4-35所示选项,单击DataSocket Server Manager则进入图3-36所
29、示页面。,(2)DataSocket Server DataSocket Server也是一个独立运行的程序,它为用户提供一个数据交换的场所。如何运行DataSocket Server?即在安装好LabVIEW之后,打开“开始程序National Instruments DataSocket”,出现如图4-35所示选项,单击DataSocket Server 则进入图4-37所示页面。,主要参数为: Processes Connected:显示与DataSocket服务器连接的客户端的实际数目。 Packets Received: 显示接收的数据包的数目。 Packets Sent: 显示发送
30、的数据包的数目。,(3)DataSocket函数库 DataSocket函数库用于实现DataSocket通信,DS函数库包含Open、read、write、close等函数。利用DataSocket发布数据需要三个要素:Publisher(发布器)、DataSocket Server和Subscriber(订阅器)。Publisher利用DataSocket API将数据写到DataSocket Server中,而Subscriber利用DataSocket API从DataSocket Server中读出数据,如图所示。,(4)统一资源定位符URL DataSocket用类似于Web中的统
31、一资源定位器(URL)定位数据源,URL不同的前缀表示了不同的数据类型,file表示本地文件,http为超文本传输资源,ftp为文件传输协议,opc表示访问的资源是OPC服务器,dstp(DataSocket transfer protocol- DataSocket传输协议)则说明数据来自DataSocket服务器的实时数据。 利用DataSocket进行通信时需要首先指定URL。DataSocket可用的URL共5种:dstp、opc、logos、传输协议,其应用格式如表所示,4.4.2 DataSocket节点 DataSocket API分为DataSocket通信节点和DataSoc
32、ket变量转换节点两大类。LabVIEW7.1的DataSocket 节点位于Functions模板All FunctionsConmmunication子模板DataSocket子模板中,如图4-39所示。,DataSocket API节点包含6个图标,各图标的参数定义、用法及功能如表4-10所示,其中Variant变量转换节点又包含7个子图标。,4.4.3 DataSocket应用 使用DataSocket传输数据时,在DataSocket Server Manager中配置好服务器之后,还需从“开始程序National InstrumentsDataSocket”中运行DataSocke
33、t Server,再进入LabVIEW环境,运行所开发的应用程序,即可进行数据的传输。 使用DataSocket传输数据有以下几种方式: (1)使用DataSocket特殊属性,实现前面板对象之间传输数据。 (2)使用DataSocket节点,实现程序之间的传输数据。 (3)DataSocket使用数据缓存方式,实现程序之间的传输数据。,实例4.3:使用DataSocket在前面板控件(对象)中间传输数据 建立前面板对象链接的方法是:在准备链接的前面板控件(对象)上鼠标右键弹出快捷菜单,选择Data OperationDataSocket Connection选项,如图4-40和图4-42所示
34、。 进入DataSocket Connection 对话框,在Connect to中输入URL,其URL可采用表4-9中的格式。本例的URL为:dstp:/localhost/SampleNum,其中localhost为本地计算机,SampleNum为DataSocket Server Manager中Predefined Data Items的默认数据项。发送端的 Connection Type选“Publish”,接收端则选“Subscribe”,分别如图3-41和图3-43所示。 一旦为前面板控件(对象)设置了DataSocket Connection属性,则在控件的右上角就会出现一个小
35、方框,用于指示该控件的连接状态,称为链接状态指示灯。当链接状态指示灯为灰色时,表示该控件还没有连接到DataSocket Server上,如图4-40和图4-42所示。,图4-40 DataSocket发送端前面板对象链接菜单选项,图4-41 DataSocket发送端前面板对象链接对话框,图4-42 DataSocket接收端前面板控件链接菜单选项,图4-43 DataSocket接收端前面板控件链接对话框,两个前面板控件都进行链接设置之后,发布数据的计算机在程序运行前还需打开DataSocket Server。 如果链接正常,两个对象所在的程序运行之后,链接状态指示灯为绿色,如图4-44和
36、图4-46所示,而发送端与接收端前面板所对应的框图程序分别如图4-45和4-47所示。,图4-44 DataSocket发送端前面板运行界面,图4-45 DataSocket发送端框图程序,图4-46 DataSocket接收端前面板运行界面,图4-47 DataSocket接收端框图程序,实例4.4:使用DataSocket节点在程序中传输数据 本例包括DataSocket Writer(发送).vi和DataSocket Reader(接收).vi 两个程序,用以说明如何使用DataSocket节点完成程序间的传输数据。 DataSocket Writer(发送).vi产生一个由50个随机
37、数+常数2组成的数据,用WaveGraph控件在前面板中显示其波形,并利用DataSocket Write节点将数据发布到URL“dstp:/localhost/SampleNum” 指定的位置中。 DataSocket Reader(接收).vi则利用DataSocket Read节点将数据从URL“dstp:/localhost/SampleNum” 指定的位置读出,并送到前面板的WaveGraph控件中显示出。 DataSocket Writer(发送).vi和DataSocket Reader(接收).vi的前面板运行结果及其对应的框图程序分别如图4-48、图4-49、图4-50、图4
38、-51所示。,图4-49 使用DataSocket节点发送端框图程序,图4-48 使用DataSocket节点的发送端前面板运行界面,图4-50 使用DataSocket节点的接收端前面板运行界面,图4-51 使用DataSocket节点接收端的框图程序,实例4.5:DataSocket使用数据缓存方式在程序中传输数据 本例包括DataSocket Writer(缓存发送).vi和DataSocket Reader(缓存接收).vi 两个程序,用以说明DataSocke如何使用数据缓存方式完成程序间的数据传输。 使用DataSocket协议传输数据,在默认情况下DataSocket Serve
39、r只向数据客户发布最新数据,当发送端比接收端运行快时,会发生数据丢失现象。为了降低DataSocket Server丢失的可能性且客户认为数据较为重要的话,可使用数据缓存的方式传输数据。采用缓存方式,需分别进行服务器端和客户端的设置。 服务器端的设置在图4-52 所示的DataSocket Server Manager 页面中进行,即先在Server Setting上的DfltBufferMaxBytes和DfltMaxPackets中设置默认缓存大小,而后在Predefined Data Items中创建mywave数据项,并设置当前数据项的缓存大小Max Buffer Bytes=1024
40、00、Max Buffer Packets=25(缓存大小是用户根据实际需要而设置的)。,客户端的缓存设置包括两类:指定客户端缓存大小和指定监测缓存大小。其设置步骤如下: 在DataSocket Reader(缓存接收).vi的框图程序内创建一个DataSocket Open VI并在其mode端单击鼠标右键创建一个Constant,接着鼠标左键单击下拉选项选择BufferedRead。 在框图程序中放入一个Property Node VI节点(放入过程如图4-53 所示),它位于Function模板All FunctionInstruments I/O子模板VISA子模板VISA Advan
41、ced子模板中。在Property Node VI节点上单击鼠标右键选择Select Class下的DataSocket,则标签由Instr变为DataSocket。,图4-52 DataSocket服务器端的设置,图4-53 放入Property Node VI的过程,在Property Node VI上下拉箭头增加端子并在相应端子单击鼠标左键,分别设置两个端子的属性为:Buffer Maximum Bytes 和Buffer Maximum Packets;又分别在Buffer Maximum Bytes 和Buffer Maximum Packets端单击鼠标右键创建一个Constant
42、,其值设为102400和25;最后在Property Node VI上单击鼠标右键选择Change All To Write并将两端子与102400和25连线。 将DataSocket Open VI的Connection ID与Property Node VI的Connection ID相连接,以完成客户端缓存的指定,如图4-54所示的客户端框图程序。,图4-54 DataSocket使用缓存方式的发送端的框图程序,为了监测缓存的大小,在DataSocket Read VI之后增加一个Property Node VI节点,将DataSocket Read VI的Connection out与
43、Property Node VI的Connection ID相连接;为Property Node的属性输出添加两个指示器,以便观察其Buffer Maximum Bytes 和Buffer Maximum Packets的值,如图4-55所示的客户端框图程序。,图4-55 DataSocket使用缓存方式的客户端(接收端)框图程序,为了进一步了解DataSocket使用缓存方式传输数据的程序运行情况,首先要打开DataSocket Server并运行DataSocket Writer(缓存发送).vi程序,再运行DataSocket Reader(缓存接收).viI程序,对应的框图程序如图4-
44、54和4-55所示,其运行结果如图4-56和4-57所示。,图4-56 DataSocket使用缓存方式的发送端前面板运行结果,图4-57 DataSocket使用缓存方式的接收端前面板运行界面,4.5 基于Web的远程发布 4.5.1 在Web上发布LabVIEW程序 在Web上发布LabVIEW程序有多种方式,但在使用每种方式之前都必须首先在发布程序的计算机上打开Web服务器。LabVIEW的Web服务器默认值可以满足大多数程序的发布需要,但在此仍需了解一些有关Web Server设置的方法。Web Server需进行三个方面的设置: Web Server Configuartion -W
45、eb服务器设置; Web Server Brower Access- Web浏览器访问权限设置; Web Server Visible VIs程序可见设置。 1Web服务器设置 打开与设置Web服务器的方法是在LabVIEW主菜单中选择ToolsOption,在随后弹出的“LabVIEW Option”对话框上部的下拉列表框中选择“Web Server: Configuartion”,切换到“Web Server: Configuartion”页面,如图4-58和图4-59所示。,Enable Web Server:启动LabVIEW Web Server。 Root Directory是We
46、b服务器存放HTML文件的位置,默认路径如图3-59所示。LabVIEW Web Server默认的端口号为80,否则需重新填写端口号(推荐给用户自定义TCP/IP应用程序使用的网络端口号为:49152-65535)。 Timeout: Web Server等待请求的时间。 Log File: LabVIEW保存Web连接信息文件的位置,默认路径如图4-59所示。 设置完成后单击OK按钮,Web服务器启动。,图4-58 Web Server:Configuration选项,图4-59 Web服务器设置对话框,2Web浏览器访问权限设置 在“LabVIEW Option”对话框上部的下拉列表框中
47、选择“Web Server:Browser Access”,出现如图4-60所示的对话框,点击“Add”按钮,添加Browser Access List中的条目并在右侧上方的空格中填写计算机的IP地址或计算机名称(注:可以使用通配符和域名,“*”号代表网络中的所有计算机)。点击“Remove”按钮,则删除Browser Access List中的条目。一旦添加了Browser Access List中的条目,则可通过以下选项进行Web浏览器访问权限设置的设置:,图4-60 Web Server 浏览器访问权限设置,Allow Viewing and Controlling:允许查看及控制。一旦
48、选中此项,则在访问列表中的计算机左边会出现两个绿色小,表明远程计算机可以在远程面板链接或浏览页面时控制程序运行。 Allow Viewing:允许查看。一旦选中此项,则在访问列表中的计算机左边会出现一个绿色小,表明远程计算机只能对程序面板查看。 Deny Access:拒绝访问。一旦选中此项,则在访问列表中的计算机左边会出现一个红色小。,3程序可见设置 同样在“LabVIEW Option”对话框上部的下拉列表框中选择“Web Server:Visible Vis”,出现如图4-61所示的对话框,点击“Add”按钮,添加Visible VIs中条目并在表右侧上方的空格中填写程序名(注:可以使用
49、通配符和路径,“*”号代表内存中的所有程序)。点击“Remove”按钮,则删除Visible VIs中的条目。Control Time Limit用来设置程序被网络上的计算机控制的时间,默认为300。选中“Allow Access”,则在程序的左边会出现一个绿色小,否则为一个红色小。,在Web中浏览程序前面板的URL格式为: http:/发布程序的计算机IP地址或计算机名/.snap?或.monitor?webpublish.vi “.snap?”表示返回一个静态前面板图像;“.monitor?”则返回动态的图像,Web页面随程序前面板变化自动刷新。“Webpublish.vi”为希望查看的程
50、序名。 图4-62所示的URL格式为: Writer(发送).vi,图4-61 Web Server 程序可见设置,图4-62 在Web上发布TCPWriter(发送).vi,4.5.2 在Web上发布HTML文件 在LabVIEW7.1环境下,锅炉监控.vi的前面板运行结果如图4-63所示,对应的框图程序如图4-64所示。,图4-63 锅炉监控.vi的前面板运行结果,图4-64 锅炉监控.vi的框图程序,1创建HTML文件 创建HTML文件的方法是:利用LabVIEW 的Tools菜单中的“Web publishing tool”命令选项进行,即在LabVIEW前面板设计窗口中,单击Tool
51、s菜单的“Web publishing tool”命令选项(如图4-65所示),出现图4-66所示的“Web publishing tool”对话框。,图4-65 Tools菜单,图4-66 Web publishing tool对话框,点击“Done”按钮,将出现图4-67所示的对话框,以提示浏览此网页时输入的URL(本例的URL为:),点击“Connect”按钮,则在浏览器页面中立即可看到所发布的VI前面板,如图4-68所示。如果在图4-66选中了“Request Control”选项,则在图4-68所示的网页中可对所发布的VI前面板进行远程监控制。,图4-67 浏览网页的URL提示,图4
52、-68 网页中运行的锅炉监控界面,2浏览HTML文件 浏览HTML文件时,不一定非要客户端安装LabVIEW,只需要安装一个运行引擎Run-Time Engine即可,用户可以在“”下载安装使用。或安装LabVIEW第一张光盘中“componentslvruntimeeng”中的运行引擎lvruntimeeng.msi。 进入IE浏览器并按规定的格式输入URL,即可浏览要查看和控制的VI前面板,如图4-68所示。URL格式为:“http:/发布VI的计算机IP地址或计算机名/Lvweb.htm”。其中,Lvweb.htm为要发布的HTML文件。 如果客户端已安装了LabVIEW,用户也可通过L
53、abVIEW环境打开远程发布的VI。即在LabVIEW前面板程序主菜单中选择“OperateConnect to Remote Panel”(如图4-69所示),点击之后出现图4-70所示的对话框,在“Server IP Address”中输入Web服务器的IP地址或计算机名(如93或localhost),在“VI Name”中输入远程VI名称(如boiler.vi),在“Port”中输入进行Web Server:Configuration时所设置的HTTP Port值(默认值为80)。如果选中了“Request Control”,则客户端自动获取VI控制权,单击“Co
54、nnect”按钮,远程VI便出现在用户的LabVIEW环境中。,图4-69 Operate 菜单,图4-70 Connect to Remote Panel对话框,3通过HTML文件远程控制程序 在客户端网页上可通过远程控制菜单进行控制权切换。弹出控制菜单(如图4-71)的方法有三种: 在网页的前面板图像空白处单击鼠标右键; 在图像状态条上单击鼠标左键; 在控件上单击鼠标右键弹出快捷菜单选Remote Panel Client。 在控制菜单选择“Request Control of VI”时,如果当前没有其他浏览器在控制程序,就可取得控制权。如果有其他浏览器正在控制程序,则这个请求需在服务器中
55、排队。取得控制权以后,如果在控制菜单中选“Release Control of VI”,则交回程序控制权。 在服务器端弹出控制菜单(如图4-72)的方法与网页上一样,但菜单内容不同。在失去控制权时,可以选择“Regain Control”收回控制权;或选择“Switch Controller”,在几个请求控制的浏览器中间进行切换。在得到控制权的情况下,可以在控制菜单中选“Lock Control”把控制权锁定在服务器端,或在锁定状态下选“UnLockControl”,则允许网页浏览器请求控制。,图4-72 在服务器端弹出的远程控制菜,图4-71 在客户端网页上弹出的控制菜单,4.6 远程仪器访
56、问技术(Remote Device Access) 在LabVIEW 中利用RDA技术实现远程数据采集的步骤如下: 第一步:配置RDA服务器。RDA服务器需要安装NIDAQ60(或更高版本)以及DAQ设备,设置服务器的IP地址,例如,其子网掩码为。然后启动服务器上的Remote Device Access Server即可。若有必要,可以在DAQ设备的属性对话框中设置RDA访问密码。 第二步:配置客户机。RDA客户端应安装与服务器相同版本的NIDAQ,否则DAQ设备会无法连接。设置客户机的IP地址,例如,其子网掩码为255.
57、255.255.0。RDA客户机的设置比较复杂,通常按照下列步骤进行: (1)在客户机的MAX(Measurement&Automation Explorer)左侧目录树中的Devices and Interfaces项的右键弹出菜单中选择“Create New ”,在Create New窗口选择RDAEthernet Device。 (2)在随后出现的Select Remote Computer对话框中输入服务器的IP地址或计算机名。 (3)在随后出现的System对话框中设定设备号,若服务器上的DAQ设备设置了RDA访问密码,则还需在Password栏中输入正确的密码。,4.7 两种组建网
58、络化虚拟仪器系统的模式和应用 4.7.1 C/S模式(客户/服务器模式) 图4-73所示为采用C/S模式构成网络化测控系统结构图,它主要由现场测控设备、客户机和远程服务器等组成。,图4-73 C/S模式网络化测控系统构成示意图,4.7.2 B/S模式 采用B/S模式构成的Web虚拟仪器是将仪器的前面板发布到Web页面上,以浏览器/服务器的方式实现网络数据、命令传输,以虚拟仪器实现信号采集、显示与分析,最终通过Web服务器与数据采集控制服务器的交互来实现相关的测试与控制需求。它有三层体系:浏览器/Web服务器/数据采集与控制服务器,如图4-74所示。,图4-74 Web虚拟仪器系统构成示意图,4.7.3 应用实例 实例4.6 基于C/S网络的虚拟任意波形仿真信号发生器的设计 设计步骤 客户端数据发布VI的设计:分前面板设计和框图程序两部分。 前面板设计 从Controls模板All ControlsNum Ctrls中选择Numeric Control控件,依次放置输入型数字控件,或在框图程序中的任意波形发生器图标连线端分别点鼠标右键,出现Create菜单并选择Control,依次在前面板出现相应的输入型数字控件。本例有6个输入型数字控件,分别命名为:端口号、信号类型、信号幅值、信号频率、初始相位、采样周期,供使用者生成所需的信号。 从Controls模板
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026考研数学二历年真题|附解析版
- 全国统考数学一模拟试卷|2025考研(历年真题+模拟)
- 教师即兴演讲考试题目及答案
- 积分变换考试题及答案
- 考研数学二模拟试卷全套-2023(可打印版)
- 江苏南京鼓楼区力学小学2027届四年级数学第一学期期末统考试题含解析
- 道路结冰考试题及答案
- 燃气施工考试题及答案
- 九江市星子县2026-2027学年三年级数学第一学期期末达标检测试题含解析
- 2025年上海市老旧住宅楼管道天然气入户改造可行性研究报告
- GB/T 21387-2025供水系统用轴流式止回阀
- 设备除锈与刷漆标准规范手册
- 铁路工务安全教育课件
- 前列腺疾病课件
- 2025-2030年中国药食同源行业市场现状调查及未来趋势研判报告
- 装修电话营销培训
- 2025年澳洲amc9年级竞赛题库及答案
- 晋江大神合同
- 合同支付条款补充协议
- 钢丝绳安全使用培训课件
- 马克思主义理论前沿探索
评论
0/150
提交评论