基于LabVIEW的远程测控方法
摘要:文章对利用虚拟仪器技术实施远程网络测控的关键技术进行了分析,并比较了以C/S和B/S方式实现的远程测控。
1 远程测试系统的组成
根据远程测控数据流量状况及不同的测试需求可采用基于Client/Server(简写为C/S)和Browser/Server(简写为B/S)两种网络模型组建远程测试系统。C/S模式适合数据传送量大的情况,而且具有效率高,数据可靠完整、兼容性强等特点。而对于数据传送量不大,需要远程模拟仿真的情况可以采用B/S模式,这样对于客户端的需求会很低,不需在客户端上安装相应的客户端软件,只需要浏览器便可登陆服务器对远程测试进行监控。远程测控系统结构图如图1所示。其中测控服务器作为测量发布节点,主要完成数据采集、数据发布以及将采集的数据存储到数据库服务器中的功能。Web服务器主要提供基本的网站功能,客户端通过访问该网站,可以获得数据库服务器中的实时作业信息和历史数据。另外,客户端利用虚拟仪器应用程序(C/S方式)或者通过浏览器监控远程面板(B/S方式)建立与服务器端的网络通信,监测和控制服务器端的作业,接收来自服务器端的作业数据,并进行数据分析处理、数据处理结果的存储与显示、生成数据报表以及数据或波形打印等。
根据远程测控数据流量状况及不同的测试需求可采用基于Client/Server(简写为C/S)和Browser/Server(简写为B/S)两种网络模型组建远程测试系统。C/S模式适合数据传送量大的情况,而且具有效率高,数据可靠完整、兼容性强等特点。而对于数据传送量不大,需要远程模拟仿真的情况可以采用B/S模式,这样对于客户端的需求会很低,不需在客户端上安装相应的客户端软件,只需要浏览器便可登陆服务器对远程测试进行监控。远程测控系统结构图如图1所示。其中测控服务器作为测量发布节点,主要完成数据采集、数据发布以及将采集的数据存储到数据库服务器中的功能。Web服务器主要提供基本的网站功能,客户端通过访问该网站,可以获得数据库服务器中的实时作业信息和历史数据。另外,客户端利用虚拟仪器应用程序(C/S方式)或者通过浏览器监控远程面板(B/S方式)建立与服务器端的网络通信,监测和控制服务器端的作业,接收来自服务器端的作业数据,并进行数据分析处理、数据处理结果的存储与显示、生成数据报表以及数据或波形打印等。
![](http://www.ck365.cn/uploadfile/UploadFile/lunwen/200652514384906.jpg)
2 远程测控实现技术
2.1基于C/S模式的DataSocket技术
DataSocket控件能根据具体的数据传输要求转换数据。DataSocket由DataSocket Server、DataSocket Pub-lisher、DataSocket Subscriber、Data Item组成。
DataSocket Publisher和DataSocket Subscriber是DataSocket Server的客户端,通过DataSocket Server进行数据共享和交换,三者可以运行在同一台机器上或三台各自的机器上(视具体情况而定),如图2所示。但把服务器同发布者和接收者分离则可以提高系统的安全性和可靠性。数据交换的双方无需直接对话,而是向第三方DataSocket Server读取或者写入数据,因此DataSocket简化了应用程序和计算机之间的通讯,应用程序的数据接口变得非常简单,数据类型也无需转换。
![](http://www.ck365.cn/uploadfile/UploadFile/lunwen/200652514388310.jpg)
利用DataSocket技术实现网络化虚拟试验具有许多优越性。首先是安全性高。利用DataSocket ServerManager可以设定客户端连接数目、数据项数目,创建用户组和用户,设置用户读/写以及创建数据项的权限(未设定权限的用户对服务器不可访问)。另外,DataSocket传输数据的端口使用3015,此端口已经通过IANA(Internet地址分配机构)注册为DSTP协议专用端口,因此可以在防火墙外部的计算机上运行DataSocket服务器,同时可保证在防火墙内部的计算机上安全的运行数据发布等应用程序,如图3所示。DataSocket传输的数据本身包含很小的头文件,因此,数据传输速度快,适合于在网络上大量实时数据的传输。
![](http://www.ck365.cn/uploadfile/UploadFile/lunwen/200652514389237.jpg)
为实现远程测控,利用DataSocket技术采取如下方案:利用网络上的单独的一台计算机作为DataSocketServer;测控服务器完成数据采集和发布数据的功能,即测控服务器作为DataSocketPublisher;连接到网络上的客户计算机作为DataSocketSubscriber。由测控服务器采集数据,利用DataSocketPublisher把采集的数据发布到DataSocketServer中,客户端便可以利用DataSocketSubscriber从DataSocketServer中接收数据,这样可保证客户端原始实验数据的一致性。应用DataSocket技术进行实时数据传输的框图程序如图4所示。
![](http://www.ck365.cn/uploadfile/UploadFile/lunwen/200652514389195.jpg)
在需要同时进行多个信号的采集时,采集的数据跟时间是密切相关的,因此,通道、时间信息需要和采集的实时数据一起进行传递。这种情况可以采取在发布端发送多个数据项的方法解决,即把实时数据、通道值、时间分别建立各自的数据项,之后经采集服务器端的DataSocket Publisher分别发布给DataSocket Server,再由客户端分别接收。但经测试发现,会产生伪数据现象。为保证客户端接收数据的一致性,采用数据属性方法,把通道、时间作为数据属性同实时数据绑定后再进行数据发布。这样在服务器和客户端之间传递的是实时数据、通道和时间的绑定整体,所有的传递信息同时到达数据接收端,之后再由接收端利用数据属性来提取相应的数据。采用这种措施后即使传输过程中出现数据丢失现象,丢失的也只能是绑定的数据包,并不会对下次传来的数据产生影响,实验的伪数据就不会产生了,从而避免了因某一项数据丢失而无法匹配或匹配错误情况的发生。
2.2 基于B/S模式的远程面板技术
基于B/S网络模型的远程测控可以通过远程面板技术实现。测控服务器把虚拟仪器应用程序的前面 板发布到Web页面上,客户端的用户便可以通过浏览器对服务器端的远程面板进行监控。远程面板容易配置,能够跨平台,无需ActiveX控件、Java Applet或者是CGI脚本,而且可以多同步连接监控;控制是动态的,客户端在浏览器中看到的监测画面同服务器端完全一致。另外的一个特点是完全服务器端管理。
远程面板技术的实现原理是借助于LabVIEW内置的Web Server技术实现的。服务器端利用LabVIEWWeb Publishing Tool把虚拟仪器应用程序的前面板嵌入到Web页面中,并借助LabVIEW Web Server提供的虚拟仪器Web服务,只要服务器端的应用程序载入内存,客户端便可以通过浏览器对远程的虚拟仪器应用程序进行监控。但在同一时刻,只有一个用户具有控制权限,其余用户只能对远程面板进行监测。客户端控制的权限可以通过远程面板的Request/ReleaseCon-trol VI获得或释放,服务器端拥有绝对的控制权限。
2.3 基于C/S和B/S开发模式的比较
无论是基于C/S还是B/S网络模型实现远程测控,其核心技术主要是DataSocket。它们各有其优缺点,详情参见表1。
3 结束语
虚拟仪器技术与网络技术的结合,及其在测控领域中的应用,是对传统测控方式的一场革命。应用abVIEW作为虚拟仪器软件开发平台,为开发高性能的计算机测控系统提供了极大的便利。测控方式的网络化,是未来测控技术发展的必然趋势,通过建立分布式网络测控系统,能够充分利用现有资源和网络带来的种种好处,实现各种资源最有效合理的配置。应用分布网络测控,可以进行多点测量,多点分析处理。这样既可以充分发挥服务器控制测试仪器的接口能力,又能发挥客户机数据处理能力,而且便于系统的扩展。
文章版权归西部工控xbgk所有,未经许可不得转载。