1 远程测试系统的组成
根据远程测控数据流量状况及不同的测试需求可采用基于Client/Server(简写为C/S)和Browser/Server(简写为B/S)两种网络模型组建远程测试系统。C/S模式适合数据传送量大的情况,而且具有效率高,数据可靠完整、兼容性强等特点。而对于数据传送量不大,需要远程模拟仿真的情况可以采用B/S模式,这样对于客户端的需求会很低,不需在客户端上安装相应的客户端软件,只需要浏览器便可登陆服务器对远程测试进行监控。远程测控系统结构图如图1所示。其中测控服务器作为测量发布节点,主要完成数据采集、数据发布以及将采集的数据存储到数据库服务器中的功能。Web服务器主要提供基本的网站功能CONTROL ENGINEERING China版权所有,客户端通过访问该网站,可以获得数据库服务器中的实时作业信息和历史数据。另外,客户端利用虚拟仪器应用程序(C/S方式)或者通过浏览器监控远程面板(B/S方式)建立与服务器端的网络通信,监测和控制服务器端的作业,接收来自服务器端的作业数据,并进行数据分析处理、数据处理结果的存储与显示、生成数据报表以及数据或波形打印等。
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简化了应用程序和计算机之间的通讯,应用程序的数据接口变得非常简单,数据类型也无需转换。
利用DataSocket技术实现网络化虚拟试验具有许多优越性。首先是安全性高。利用DataSocket ServerManager可以设定客户端连接数目、数据项数目,创建用户组和用户,设置用户读/写以及创建数据项的权限(未设定权限的用户对服务器不可访问)。另外,DataSocket传输数据的端口使用3015,此端口已经通过IANA(Internet地址分配机构)注册为DSTP协议专用端口,因此可以在防火墙外部的计算机上运行DataSocket服务器,同时可保证在防火墙内部的计算机上安全的运行数据发布等应用程序,如图3所示。DataSocket传输的数据本身包含很小的头文件,因此,数据传输速度快,适合于在网络上大量实时数据的传输。
为实现远程测控,利用DataSocket技术采取如下方案:利用网络上的单独的一台计算机作为DataSocketServer;测控服务器完成数据采集和发布数据的功能,即测控服务器作为DataSocket Publisher;连接到网络上的客户计算机作为DataSocket Subscriber。由测控服务器采集数据,利用DataSocket Publisher把采集的数据发布到DataSocketServer中,客户端便可以利用DataSocketSubscriber从DataSocket Server中接收数据,这样可保证客户端原始实验数据的一致性。应用DataSocket技术
进行实时数据传输的框图程序如图4所示。
在需要同时进行多个信号的采集时,采集的数据跟时间是密切相关的,因此,通道、时间信息需要和采集的实时数据一起进行传递。这种情况可以采取在发布端发送多个数据项的方法解决,即把实时数据、通道值、时间分别建立各自的数据项,之后经采集服务器端的DataSocket Publisher分别发布给DataSocket ServerCONTROL ENGINEERING China版权所有,再由客户端分别接收。但经测试发现,会产生伪数据现象。为保证客户端接收数据的一致性www.cechina.cn,采用数据属性方法,把通道、时间作为数据属性同实时数据绑定后再进行数据发布。这样在服务器和客户端之间传递的是实时数据、通道和时间的绑定整体,所有的传递信息同时到达数据接收端,之后再由接收端利用数据属性来提取相应的数据。采用这种措施后即使传输过程中出现数据丢失现象,丢失的也只能是绑定的数据包,并不会对下次传来的数据产生影响www.cechina.cn,实验的伪数据就不会产生了CONTROL ENGINEERING China版权所有,从而避免了因某一项数据丢失而无法匹配或匹配错误情况的发生。
2.2 基于B/S模式的远程面板技术
基于B/S网络模型的远程测控可以通过远程面板技术实现