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