李洪珠先生,上海微高精密机械工程有限公司工程师。
关键词: LabVIEW 测控系统
LabVIEW软件是美国国家仪器公司(NI)积数年努力开发的产品。目前,已有了LabView7.1,拥有众多用户,成为数据采集和仪器控制的首选程序设计语言。这一革命性的图形软件,在实验室自动化、过程监测和控制、电子学测试、自动机、航天及医药领域获得了极广泛的应用。
虚拟仪器技术与网络技术相组合,构成网络化虚拟测试系统是虚拟仪器发展的方向之一。LabVIEW具有强大的网络通信功能,这种功能使得用户可以很容易地编写出具有强大网络能力的应用软件,以实现远程测控。LabVIEW中所提供的通信方式包括:DataSocket、网络协议、浏览器和RDA。下面扼要介绍其内容。
一 LabVIEW的网络通信功能
1. DataSocket技术
DataSocket是NI公司提供的一项网络测控系统开发技术,可用于一个计算内或者网络中多个应用程序之间的数据交换,这项技术面向测控和自动化,用于共享和发布实时数据,能实现实时数据传输。
DataSocket实际上是一个基于通用资源定位符URL(Uniform Resource Locator)的单一的、一元化的末端用户API,是一个独立于协议、独立于语言以及独立于操作系统的API,URL不同的前缀表示不同的数据类型。在Lab-VIEW中,DataSocket API被制作成ActiveX控件和一系列的 LabVIEW VIs,用户可以方便地使用。
DataSocket包括DataSocket Server Manager、DataSocket Server和DataSocket函数库这几个工具,以及DSTP(DataSocket Transfer Protocol,DataSocket传输协议)、URL和文件格式等技术规范。用户可以像使用LabVIEW中的其他数据类型一样使用DataSocket读写字符串、整形数、布尔量及数组数据,只需要设置URL,就可用来在Internet进行及时分送所需传输的数据。
2. 浏览器方式
利用TCP/UDP、DataSocket方式进行远程控制,不能在本地客户端计算机上打开并操作位于远程服务器端计算机的VI前面板。在LabVIEW6.1后,包括现在的LabVIEW7.1,都具有远程面板发布的能力,用户可以很简单得直接在本地打开并操作位于远程的VI,甚至可以在网页中直接操作。下面简单介绍一下LabVIEW中VI的Web发布及操作过程。
3. RDA方式
NI公司提供的远程设备访问服务器RDA(Remote Device Access)Server可实现对远程数据采集卡的访问。用户可以利用MAX(measure & automation Explorer)来进行远程采集卡的设置。设置完成后,异地的数据采集卡就会成为本地机的虚拟数据采集卡,且被分配有相应的设备号。这样,在LabVIEW中就可将远程采集卡当成本地的采集卡来使用。用这方式为用户提供了很大的便利,用户无须改动任何程序,就可实现 远程数据采集。尽管这种方式对于单台客户机访问远程采集卡是没有任何问题的,但是当有两台客户机同时访问同一个远程采集卡时,将会发 生冲突,导致程序出错,因而此时必须在服务器端增加任务管理程序来对客户机的请求进行管理,但这将加大程序开发的难度。
二 利用LabVIEW创建远程测控系统的方法
远程测控系统可采用基于C/S和B/S两种网络模型来组建。C/S模式适合数据传送量大的情况,且具有效率高,数据可靠完整、兼容性强等特点。而对于数据传送量不大,需要远程模拟仿真的情况可采用B/S模式,这样对于客户端的需求会很低,不需在客户端上安装相应的客户端软件,只需要浏览器便可登陆服务器对远程测试进行监控。
利用LabVIEW可很容易地构建基于这两种网络模型的远程测控系统,相关技术方法在下面将详细介绍。
1. 基于C/S模式的DataSocket技术
DataSocket由DataSocket Server、DataSocket Publisher、DataSocket Sub-scriber和Data Item组成。DataSocket Publisher和DataSocket Subscriber是DataSocket Server的客户端,通过Data-Socket Server进行数据共享和交换,三者可运行在同一台机器上或三台各自的机器上(视具体情况而定)。但是,把服务器同发布端和接收端分离可提高系统的安全性和可靠性。数据交换的双方无需直接对话,而是向第三方DataSocket Server读取或者写入数据,因此Data-Socket简化了应用程序和计算机之间的通信,应用程序的数据接口变得非常简单,数据类型也无需转换。
利用DataSocket技术实现远程测控系统具有许多优越性。首先安全性高,利用DataSocket Server Manager可设定客户端连接数目、数据项数目,创建用户组和用户,设置用户读/写以及创建数据项的权限(未设定权限的用户对服务器不可访问)。另外,DataSocket传输数据的端口使用3015,此端口已经通过IANA(Internet地址分配机构)注册为DSTP协议专用端口,因此可在防火墙外部的计算机上运行DataSocket服务器,同时可保证在防火墙内部的计算机上安全的运行数据发布等应用程序,如图所示。DataSocket传输的数据本身包含很小的头文件,因此,数据传输速度快,适合于在网络上大量实时数据的传输。
利用DataSocket技术来实现远程测控系统,可采取如下方案:利用网络上单独的一台计算机作为DataSocket Server;Data Socket Publisher完成数据处理和发布数据的功能;连接到网络上的客户计算机作为DataSocket Sub-scriber。DataSocket Subscriber将要处理的数据上传到DataSocket Server中,DataSocket Publisher把这些数据再从DataSocket Server中读出来,处理后发布到DataSocket Server中,客户端便可利用DataSocket Subscriber从DataSocket Server中接收数据,这样就可完成数据的远程处理和传输。
在需要处理实时数据时,采样点数、采样频率和采集的实时数据要一起进行传递。这可采取发送多个数据项的方法解决,即把采样点数、采样频率和采集的实时数据分别建立各自的数据项,之后经DataSocket Subscriber分别上传给Data Socket Server,由DataSocket Publisher读出后处理。但经测试发现,会产生伪数据现象。为保证DataSocket Publisher接收数据的一致性,采用数据属性方法,把采样点数、采样频率和采集的实时数据绑定后再进行数据传送。这样由DataSocket Subscriber上传到DataSocket Server中的是数据绑定的整体,所有的传递信息同时到达Data-Socket Server,之后再由DataSocket Publisher利用数据属性来提取相应的数据进行处理。采用这种措施后即使传输过程中出现数据丢失现象,丢失的也只能是绑定的数据包,并不会对下次传来的数据产生影响,实验的伪数据就不会产生了,从而避免了因某一项数据丢失而无法匹配或匹配错误情况的发生。
2. 基于B/S模式的远程面板技术
远程测控系统利用基于B/S网络模型可实现远程面板浏览与控制。DataSocket Publisher把其前面板发布到Web页面上,客户端的用户便可通过浏览器对服务器端的远程面板进行监控。远程面板容易配置,能够跨平台,无需ActiveX控件、Java Applet或者是CGI脚本,而且可以多同步连接监控;控制是动态的,客户端在浏览器中看到的监测画面同服务器端完全一致。另外的一个特点是完全服务器端管理。
远程面板技术的实现原理是借助于LabView内置的Web Server技术实现的。服务器端利用LabView Web Publishing Tools把虚拟仪器应用程序的前面板嵌入到Web页面中,并借助LabView Web