微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > LabVIEW环境下远程资源共享及Dat Socket实现

LabVIEW环境下远程资源共享及Dat Socket实现

时间:04-29 来源:互联网 点击:

摘要:简要介绍了LabVIEW中的TCP、RDA、浏览器和DataSocket四种网络通信方式及其原理,重点分析了利用DataSocket技术实现远程资源共享的两种方法,在对这两种方法进行综合的基础上,提出了一种多客户端同时远程共享资源的设计方案。实验结果证明,该方案能在一定程度上满足实际应用需求。
关键词:LabVIEW;远程共享;DataSocket

0 引言
与传统仪器相比,虚拟仪器的一个显著特点就是仪器功能由用户基于计算机通过软件进行定义。而随着计算机互联网的普及,虚拟仪器的网络化也应运而生。将虚拟仪器技术与网络技术相结合,构成远程虚拟测控系统,是当前虚拟仪器一个非常重要的发展方向。
在虚拟仪器软件平台LabVIEW中,提供了TCP、RDA、浏览器和DataSocket四种网络通信方式,根据实际的应用需求,基于这些基本方式设计具体的网络互联方案,就可以达到远程测试、控制和资源共享的目的。

1 LabVIEW中的几种常用通信方式
LabVIEW中几种常用通信方式有: (1)TCP方式,TCP/IP协议在LabVIEW的应用主要是传输层,包含了UDP和TCP两个协议,两个协议都有相应的功能函数。由于UDP协议可靠性比较差,因此人们在更多场合使用TCP。利用TCP协议我们可以采用服务器/客户机模式进行通信。在用TCP节点进行通信时,服务器程序和客户机程序都要指定相同的网络通信端口。 (2)RDA方式,NI公司提供了远程设备访问服务器RDA(remote device access)Server,这样可以实现对远程数据采集卡的访问。用户可以用MAX(measureautomation explorer)来进行远程采集卡的设置。设置完成后,异地的数据采集卡就成了本地机的虚拟数据采集卡,并且被分配有相应的设备号。(3)浏览器方式,浏览器方式也是一种基于TCP协议的通讯方式,与直接使用底层的TCP函数相比,用户使用浏览器方式时不需要编程,只需设定网络通信参数,就可以直观并且方便地使用浏览器进行远程监视。
以上三种方式适合单台客户机访问远程带有采集卡的服务器,但是当有多台客户机访问同一个采集卡时,必须在服务器端增加任务管理程序或者通过申请控制权等方式来对多客户的请求进行处理。最重要的,如果多客户机要从同一个远程采集卡在同一时间获取实时数据,这三种方式是无法实现的。下面介绍第四种方式: (4)DataSocket技术,DataSocket(DS)包括了DS server Manager、 DS Server和DS函数库等工具,以及数据传输协议DSTP(DataSocket TraFISfer Protoco1)、统一资源定位符URL(uniform Resource Locator)和文件格式等技术规范。利用这些工具,可大大简化网络中计算机之间数据交换的编程工作。在LabVIEW中,所有的控件都增加了一个叫做DataSocket Connection URL的特殊属性,利用这个属性可以实现不同计算机上相对应的两个或者多个同类型控件之间的DataSocket通信。如果为不同计算机中的两个类型相同的LabVIEW控件设置相同的DataSocket Connection URL地址,那么,这两个控件就由DataSocket连接起来,这两个控件的值就会完全保持同步。其中,一个控件发生了变化,另一个控件也会发生同样的变化。

2 利用DataSocket技术实现资源远程共享
2.1 利用DS技术实现采集卡共享的两种方法
数据采集卡是数据采集系统中重要的硬件之一,在有些场合,例如教学实验室,如果每台计算机都配备一块采集卡,则代价较高,因此可以考虑借助DS技术实现数据采集卡的共享,即多台计算机共享一台计算机(服务器)上的采集卡。硬件接线原理图如图l所示,用户不必在每台客户机上都配备数据采集卡,只需在服务器上配置采集卡即可,这样可以充分利用资源,节省费用。数据采集卡共享程序可以用于连接位于一个局域网内的计算机组。

利用DS技术实现数据采集卡共享的基本思想是,利用DS Server进行客户机和服务器之间的信息交换和传递,将服务器上采集卡采集到的数据传给客户机。考虑到不同的用户对共享要求可能不同,可以尝试两种方法。
1)方法l是考虑只在服务器上配置数据采集程序。首先设计一个输入输出数据格式的规范,用户在客户端按约定的格式填写表格,发给服务器,服务器完成采集任务后,将采到的数据再按约定的格式返回客户端。在服务器端设计一个管理程序,对客户机的请求进行管理,然后按照顺序由服务器执行相应的数据采集。每次采集完成后,将数据发送给DS Server,客户机可以从DSServer中读取采集到的数据。
此方法的优点是客户机不调用任何有关数据采集的程序,因而客户机上不必安装有关采集卡设置的程序。其局限性在于,不同的采集程序需要的采集参数不同,而且采集数据后得到的数据格式有可能不同,这就需要对不同的采集函数设计相应的客户机程序。这时客户机程序和服务器程序的设计将会过于复杂。
2)方法2是在NI公司提供的RDA的基础上,想办法在服务器上增加一个任务排队管理程序,使虚拟采集卡可以被多个用户共享,该方案比较直接,在客户端不需要开发过多的新程序,但有一定难度。用户可以利用Measurement Artomation Explorer 来进行远程采集卡的设置,设置完成后,在本地机上就会出现一块虚拟的数据采集卡,并且分配有相应的设备号。为了避免多个客户机同时访问同一个远程采集卡时发生冲突,导致程序出错,必须考虑在服务器端增加任务管理程序,以对客户机的请求进行管理,这样就可避免多个客户机同时访问一个远程采集卡时发生的冲突。
此方法由于使用了RDA Server,与方法1相比具有更大的实用性,用户只需要在原来设计的程序外面添加建立连接或者结束连接的子程序,就可以把在本机运行的采集程序改为使用远程采集卡时的程序。但是此方法也并不满足多客户同时从服务器获取采集数据的需求,而且这种任务管理机制的程序设计也使用户增加了额外编程负担。
2.2 利用DS技术实现多客户同时共享数据采集卡的设计方案
综合以上两种方法的优点,保留虚拟采集卡等思想,同时针对其缺点,利用DataSocket提供的DataSocketConnection URL特殊属性,结合实际需要分别在服务端和多个客户端设计非常简单的程序来满足多客户的同时
需求。其设计思想如下:在带有采集卡的服务端进行数据采集,可以利用DataSocket函数把采集到的数据写入到DataSocket服务器;在客户端,同样利用DataSocket函数从服务器实时的读取采集卡采集到的数据,而且这些数据可以根据具体需要直接作为客户端不同程序的输入数据。这样,相同的数据,客户端可以设计不同的程序对其进行处理,从而及时得到所需要的不同结果。这种方案的关键是使用DataSocket Connection URL特殊属性把控件的值连接并同步起来。如前所述:如果为不同计算机中的两个类型相同的 LabVIEW控件设置相同的DataSocket Connection URL地址,那么,这两个控件就由DataSocket连接起来,这两个控件的值就会完全保持同步。
下面以一个实验为例进行简要说明。实验中,按既定的输入值得到相对应的一组实测数据,要求把这两组数据进行不同阶次的曲线拟合,从而分析不同拟合阶次对拟合效果的影响,最后对输入数据和实测数据在实验的基础上进行合理的拟合分析。程序的前面板和流程图如图2所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top