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

时间:2009-04-29来源:网络

此方法由于使用了RDA Server,与方法1相比具有更大的实用性,用户只需要在原来设计的程序外面添加建立连接或者结束连接的子程序,就可以把在本机运行的采集程序改为使用远程采集卡时的程序。但是此方法也并不满足多客户同时从服务器获取采集数据的需求,而且这种任务管理机制的程序设计也使用户增加了额外编程负担。
2.2 利用DS技术实现多客户同时共享数据采集卡的设计方案
综合以上两种方法的优点,保留虚拟采集卡等思想,同时针对其缺点,利用DataSocket提供的DataSocketConnection URL特殊属性,结合实际需要分别在服务端和多个客户端设计非常简单的程序来满足多客户的同时
需求。其设计思想如下:在带有采集卡的服务端进行数据采集,可以利用DataSocket函数把采集到的数据写入到DataSocket服务器;在客户端,同样利用DataSocket函数从服务器实时的读取采集卡采集到的数据,而且这些数据可以根据具体需要直接作为客户端不同程序的输入数据。这样,相同的数据,客户端可以设计不同的程序对其进行处理,从而及时得到所需要的不同结果。这种方案的关键是使用DataSocket Connection URL特殊属性把控件的值连接并同步起来。如前所述:如果为不同计算机中的两个类型相同的 LabVIEW控件设置相同的DataSocket Connection URL地址,那么,这两个控件就由DataSocket连接起来,这两个控件的值就会完全保持同步。
下面以一个实验为例进行简要说明。实验中,按既定的输入值得到相对应的一组实测数据,要求把这两组数据进行不同阶次的曲线拟合,从而分析不同拟合阶次对拟合效果的影响,最后对输入数据和实测数据在实验的基础上进行合理的拟合分析。程序的前面板和流程图如图2所示。

在程序流程图中,DSTP(DataSocket Transfer Protoco1)是数据套接传输协议,这是数据套接自身的协议,用户必须为数据提供附在URL中的命名标签和数据项定址。两组数据经过变体后通过函数写入服务器;在客户端,变体后的数据通过函数读取出来可以根据用户需要进行一系列处理,两组数据在服务器和客户机上是完全同步的。通过实验可以证明:数据在服务器和多台客户机上都是同步的,客户机之间也不存在竞争。
在程序运行的前面板图中,可以看到服务器端对输入数据和实测数据进行了分析处理;同时,客户端对从服务器读取的数据进行了不同处理,客户端可以根据自己需要输入不同的阶次,由于阶次不一样,每个客户端的拟合图、拟合系数以及方差均不一样。服务器和多个客户端只共享一个数据采集卡,从数据采集卡得到相同的数据后,每个客户端和服务器都可以同时对数据进行不同的处理,用户还可以设计其他程序(比如直线拟合、数值插值等)对这组数据进行同步处理。
这种方案的优点在于通过设置相同的DataSocket Connection URL地址把控件的值完全保持同步,从而为多客户提供实时的数据。该方案的另一个优点是服务器与客户端的程序设计非常简单,用户可以把更多的精力集中在工程设计本身。此方案同时也为学校构建经济型网络虚拟实验室提供了很好的思路。
本方案虽然解决了多客户同时对数据需求的问题,但客户端只能接受和处理数据,如果想控制服务器,可能还得借助其它方式去实现(比如通过浏览器方式去申请控制权等),限于篇幅,本文没有进一步展开叙述。


3 展望
本文只在虚拟仪器的网络化方面进行了初步的尝试,还没有涉及到LabVIEW对数据库的访问和控制等方面。如果能进一步将虚拟仪器技术、网络技术和数据库技术结合起来,那么远程虚拟测试系统将会有更广阔的应用前景。

1 2

关键词: Socket 实现 Dat 资源共享 环境 远程 LabVIEW

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版