-1-
基于网络的远程虚拟仪器系统的实现
摘 要:随着计算机技术和网络的发展,远程虚拟仪器系统将具有越来越重要的作用。本文
简要介绍了开发远程虚拟仪器系统的关键技术,文中通过 LabWindows/CVI作为虚拟仪器软
件开发平台,构建出一个具体的远程虚拟仪器系统的结构,并给出了该系统服务器端和客户
端的功能框架结构图。
关键词:虚拟仪器,C/S模式,LabWindows/CVI
中图分类号:TP273
1. 引言
随着计算机和网络技术的发展和普及,Internet 逐渐成为人们生活的一部分,而且随着
测试系统的不断扩大,也需要测试测量技术向更广的范围推广。同时各种仪器的硬件(如
I/O,GPIB等)的发展也逐渐向着网络化标准靠拢,使得将网络技术引入测试领域成为必要
和可能。所谓远程虚拟仪器,就是把计算机网络技术和虚拟仪器技术结合起来,充分利用飞
速发展的计算机网络技术来实现和增强虚拟仪器的功能,实现对现场的基于 Internet的异地
或远程测试、控制、数据传输、故障监测和实时监视功能,而且远程虚拟仪器能够充分实现
计算机、昂贵的外部设备以及各种软件资源的共享,与虚拟仪器相比,有着有一个质的飞跃
[1]。
远程虚拟仪器能通过 Internet/Intranet 途径向远端发送控制信号并且从远端获得动态数
据并将其显示出来,这个功能使得在本地计算机上监控远端的操作情况成为了可能。远程虚
拟仪器除了具备虚拟仪器的全部优点外,它的更大更突出的优势还在于不受地理位置的限
制,用网络技术组建的远程虚拟仪器测试系统,可以使控制、信号采集、数据传输、信号处
理和结果显示一体化,一方面对于组建后的测试系统很方便的进行扩展、维护、升级和测试
效率及精确度的提高,另一方面还可以使昂贵的硬件资源得以充分的共享而不需要重复购
买,因此构建基于网络技术上的独立远程虚拟仪器平台已经成为现代电子测量仪器发展的趋
势所在[2]。
2. 开发远程虚拟仪器系统的关键技术
开发远程虚拟仪器系统的关键技术主要有 Socket技术、DataSocket技术、C/S和 B/S结
构模式、和多线程技术等。
Socket进行通信的基础是套接口。一个套接口是通讯的一端,在上面可以找到与其对应
的一个名字。一个正在被使用的套接口都有它的类型和与其相关的进程。套接口有三种类型:
流式套接口、数据报套接口及原始套接口。流式套接口定义了一种可靠的面向连接的服务,
可实现无差错无重复的顺序数据传输。数据报套接口定义了一种无连接的服务,数据通过相
互独立的报文进行传输。原始套接口允许对低层协议如 IP 或 ICMP 直接访问,主要用于新
的网络协议实现的测试等。
DataSocket是 NI公司推出的一种基于 TCP/IP协议的网络编程新技术,基于 DataSocket
技术的数据传输技术克服了 TCP/IP的缺点,面向测试,借助它可以在不同的应用程序和数
据源之间共享数据。其最大的优点就是:易于编程,动态数据的传输速率快。用于测量自动
-2-
化领域的实时数据的交换,采用该技术能大大简化基于 TCP/IP技术的应用程序设计,NI公
司的 ComponentWork C++软件,LabWindows/CVI以及 LabVIEW开发工具都支持该技术。
C/S和 B/S是基于网络的远程测试系统设计模式,这两种方式是当今世界开发模式技术
架构的两大主流技术。C/S 是美国 Borland 公司最早研发,B/S 是美国微软公司研发。C/S
模式即客户端/服务器模式,是网络通信常用的一种模型。通常集散控制系统与多点监控系
统多采用这种结构。一般由多个客户端来采集数据,通常有一个服务器,它既可以向底层的
测控机发送指令,也可以监视底层测控设备,还可以充当数据库的角色;而客户端不仅需要
对底层测控设备进行控制,还可以通过网络把测试数据写入远程服务器数据库。B/S模式即
浏览器/服务器模式,该模式方便用户在Web下发布数据。通常用户端只需安装一个浏览器
直接访问该测控网站的地址,即可监视远程测控点的数据变化情况。
3. LabWindows/CVI开发远程虚拟仪器系统
下面简要介绍一个简单的远程虚拟仪器系统的实现,该系统中使用的仪器均为带有
GPIB接口或者 TCP/IP接口的程控仪器,通过各自的通讯接口将仪器硬件与计算机相连,而
面对用户的远地计算机要实现对远程仪器的控制,必须把控制命令发送给实际控制测试仪器
执行的服务器端本地计算机,本地计算机接受到客户端的命令数据后获得命令控制组字符
串,再通过各自的接口卡把这些命令发给指定的测量仪器,这些仪器依令执行被要求的操作,
然后将测得的数据结果返回发送给客户端,最终在客户机上将结果显示出来,从而实现了远
程控制。由于一个性能指标的测试要用到一个或者多个 GPIB仪器,所以这些发送的命令必
须加上相应的可以被仪器识别的数据头,我们用每个仪器唯一的地址作为命令的可识别数据
头。
LabWindows/CVI提供了一个 TCP(Transmission Control Protocol)的函数库,使它具有
了强大的对网络数据传输的支持能力。该函数库提供了基于标准 TCP/IP协议的网络数据传
输的 API函数,可以实现与平台无关的、可靠的、面向连接的网络数据传输功能[3]。设备故
障诊断系统一般由三部分组成:在线数据采集和监测系统、数据传输网络、远程诊断中心。
为实现这些功能和提高开发系统的运行效率和可靠性,更是考虑到本系统的安全性,我们采
用 C/S模式构建远程虚拟仪器系统结构,本文以 LabWindows/CVI作为虚拟仪器软件开发平
台,整个测试系统由服务器端——现场测试计算机、客户机——远程监测计算机组成,其中
包括服务端人机界面的实现、客户端控制程序的实现和数据库的实现以及客户机和现场机之
间的通讯实现。其运行机制如下:进入远程用户操作界面,点击操作界面上的远程连接按钮,
向现场的监控计算机(服务器端)上发出连接请求,服务器端将连接状况返回发送给客户机,
然后通过客户机操作完成数据测量、采集、分析以及显示,配合专家系统知识库最终实现故
障诊断。
其系统结构图如图 1所示:
-3-
图 1系统结构图
软件系统主要是基于 LabWindows/CVI 平台完成对硬件设备的测试控制和数据获取分
析和存储以及查询,在 LabWindows/CVI开发平台上实现仪器测试,当一个客户需要执行测
试时,向服务器发送服务请求,服务器收到该请求后,进行分析、测量并将测得的信息数据
返回客户机,并利用 TCP函数库和Windows Socket SDK函数库实现网络控制。数据库中将
包括客户机登陆的用户及其访问权限,仪器名称及其设置地址,现场测试所得的各种数据信
号及波形数据等。
在客户机和服务器之间的通讯过程中,一方面,需要具体规范测试及控制功能的数据表
示,在实际应用中,采用标准仪器控制语言 SCPI作为测量信息的语法表示;另一方面,需
要定义用户给予服务器之间传输信息的标准传输报文格式。
该系统中硬件配置主要包括 Agilent S2350B PCI-GPIB插卡、若干 GPIB线、一台客户
机(一般使用工控机,配以太网卡)、传输网络、一台现场测试计算机(服务器)。
服务器端的主要功能设计
服务器端接受客户端发来的命令数据,对应做出相应的操作,对现场仪器进行控制,完
成数据的采集,然后将操作采集的数据结果返回给客户端。所以服务器端的功能模块主要包
括:数据接收和显示、仪器操作、数据分析处理和数据库连接等[4]。服务器端的功能框图如
图 2所示:
-4-
图 2 服务器端功能框架图
客户端的程序设计
客户端需要向服务器端发送命令数据,向服务端发出操作指令请求,并将取得的结果数
据在监视界面上显示出来,完成远程监测的功能。与此同时,与数据库进行连接,以达到对
数据结果进行查询的功能。客户端的软件主要功能模块如图 3所示:
图 3 客户机功能框架图
-5-
4. 结论
利用 LabWindows/CVI开发远程虚拟仪器诊断系统,能够充分利用其中的函数库,降低
了开发的难度和工作量。而且随着网络的发展,远程虚拟仪器系统将得到更为广泛的应用并
产生更重要的意义。
参考文献
[1] 林康红.虚拟仪器的智能研究及远程实现[D].上海:上海大学,2002.
[2] 孙美香.远程虚拟仪器技术的研究及实现[D].上海:上海大学,2001.
[3] 赵大海,周小刚,惠俊军,钱陪贤.LabWindows/CVI 的虚拟仪器远程网络控制系统设计[J].火力
与指挥控制,2005,8:64-67.
[4] 张毅刚,乔立岩.《虚拟仪器软件开发环境 LabWindows/CVI编程指南》[M].北京:机械工业出版
社,2001.
The implement of Long-Distance Virtual Instrument System
Du Wei, Li Zhihua
Department of Electrical Engineering, Hohai University, Nanjing, China (210098)
Abstract
With the development of computer science and network, the long distance virtual instrument system
will have more and more important effect. This paper brief introduced the key technology of
developing the long distance virtual instrument system. We use LabWindows/CVI to be the develop kit
of virtual instrument software, establish the structure of a virtual instrument system, and present the
function frame pictures of server and client.
Keywords: Virtual Instrument, C/S mode, LabWindows/CVI
作者简介:杜伟,男,1982 年出生,硕士研究生,主要从事故障诊断及虚拟仪器等方面的
研究。