APP下载

一种网络化虚拟仪器实验教学的管理模式

2012-10-12闫洪平张小强

电气电子教学学报 2012年1期
关键词:服务端虚拟仪器测控

闫洪平,张小强,朱 俊

(武汉大学物理科学与技术学院,湖北武汉430072)

0 引言

在众多虚拟仪器开发环境之中,LabVIEW是应用范围最广和功能最强大的开发平台。它有四种方法可以实现网络通信:①无须具体协议的远程桌面连接;②实时发布测控程序的网页,异地使用浏览器(如Internet Explorer,Netscape Communicator等)进行监控;③使用DataSocket技术进行网络通信;④使用TCP和UDP等传输控制协议编程进行网络通信[1]。其中,远程桌面的方法很难实现在实验教学中的互动;WEB浏览器的方法虽可使不同的用户均可通过浏览器来实时地查看测量结果,大大提高了工作效率[2],但同样不能很好地解决有效互动的问题;而使用TCP和UDP等传输控制协议编程进行网络通信,需要很复杂的客户端编程和服务端编程,不利于后期维护。

目前,有关于LabVIEW中DataSocket的大量文献中有一定数量的文献讨论了DataSocket远程通信技术在实验教学中的应用。然而,我们还没有看到在实验教学中用LabVIEW软件来有效地解决教师与学生间互动的内容。本文提出了一种网络化虚拟仪器实验教学的管理模式,主要基于LabVIEW中DataSocket技术,实现了两种服务测控端—主(教师)客户端—次(学生)客户端之间的数据传输与控制方式,从而在一定程度上克服了在实验教学中存在的师生无法有效互动等难题。

1 DataSocket技术简介

DataSocket是美国NI公司推出的基于TCP/IP协议的新技术,是一种基于工业标准的网上实时高速数据交换编程新技术。它在不同的应用程序之间传输数据时不必为不同的数据格式和通信协议编写具体的程序代码,从而简化了网上测控数据的编程[3]。对于用户来说,DataSocket为共享与发布现场测试数据提供方便的高性能编程接口[4]。

在使用DataSocket通信之前必须对相关的服务器进行设置。DataSocket由DataSocket API(应用程序接口)和DataSocket Server(服务器)两部分组成[5]。DataSocket API提供了简单的应用接口。它除了从DataSocket Server上获取数据外,还可以获取HTTP Server、FTP Server、OPC Server的数据。DataSocket Server可以认为是TCP/IP协议的接口,用户通过对DataSocket Server的简单设置和管理,便可以实现复杂的TCP/IP操作编程。它们的结构描述如图1所示。

图1 DataSocket通信结构

DataSocket API包含如下四个基本动作:Open,Read,Write和Close,它们被简化成LabVIEW8.6里面的VI。这些VI位于Function面板中的Communication子面板的DataSocket目录内。DataSocket Server是一个独立运行的程序,发布数据的程序通过它进行数据输出,输入数据的程序也通过它接受数据[6]。简单地说,就是存储数据源发布的数据,然后提供给请求数据的计算机。

2 远程系统在实验教学中的应用

目前,在相关文献里所涉及到的LabVIEW中有关DataSocket技术实现的数据传输与控制,基本上是客户端与服务端之间的双方通信。这种通信方式在科研方面以及各种测控领域得到了很有效的应用,给人们带来很大方便。不过,它在实验教学中却不能很好地解决教师与学生之间的互动问题。在双方通信系统中,教师处于一种失控状态:除了在服务端上进行操作外,没有其它办法来控制和观察学生的实验过程,同时在处理学生访问哪一台服务端的问题上操作非常繁琐。也就是说,对于虚拟仪器实验教学而言,实验不够智能化。

针对这一问题,我们的设想是:①该实验管理系统的远程通信应是多方通信系统;②有多个安装采集卡的服务端采集发布数据,并能根据反馈控制信号进行时实控制;③所有的采集信号都由服务端经主客户端(由教师掌控,能够观察到学生的数据采集与控制过程,而且还可以控制某个学生对某台服务端的访问),传输到某个次客户端(由学生掌控,能在其上进行相关实验操作),并将次客户端的控制信息再经主客户端反馈到服务器端进行相关控制。

(2)免疫学指标:在 HAART后一年,CD4+T淋巴细胞数与治疗前相比增加了30%或CD4+T淋巴细胞数增长100个/μL,提示治疗有效。

具体的网络结构如图2所示,从而实现服务测控端—主(教师)客户端—次(学生)客户端之间的多方通信。

图2一种虚拟仪器实验教学的管理框图

图2所示为一种基于DataSocket远程通信系统设计的虚拟仪器实验教学管理框图,它可以实现服务端与次客户端之间的即时通信;同时,也可单独实现主客户端与次客户端之间的通信,以满足教师与学生之间的互动。在具体实现时,有两种设计方式,一是以教师为主导,即以主客户端为控制主体来实现多方的互动;另一种是以学生为主导,即以次客户端为控制主体来实现上述的多方互动。下面针对热处理实验讨论这两种程序设计特点。

2.1 以教师为主导的通信系统设计

整个系统分为三个部分,即服务测控端的程序设计、主(教师)客户端的程序设计和次(学生)客户端的程序设计。

(1)服务测控端的程序设计

从服务测控端通过采集卡得到的热处理实验中热电偶的温度和通过样品的测试电流(其前面板如图3所示),并将其打包通过DataSocket数据通信的写入控件写入资源定位符“服务端发布信息写入URL”指定的地址服务器中,以便主客户端读取数据(其程序框图略),同时,还将从主客户端读取的从次客户端传来的控制开关(用于打开或断开加热电炉)信息和客户端控制电压(施加于被测样品上的电压)。

图3 以教师为主导的服务测控端面板

(2)主(教师)客户端的程序设计

该程序实现了从服务测控端的服务器读取温度信号和测试电流,其中,服务器的地址由资源定位符“从服务端读取URL”来定位,并且把读取的数据写入该主客户端所在计算机的DataSocket服务器,以便次客户端可以读取数据(其程序框图略)。同时,还实现了从次客户端读取学生的要求信息传送给服务测控端。其功能特点可由图4所示的前面板清楚地表现出来。另外,我们还可以看到教师与学生之间的互动文本对话框。

图4 以教师为主导的主客户端面板

(3)次(学生)客户端的程序设计

由资源定位符“从主客户端读取信息读取URL”定位的服务器可以从主客户端计算机的服务器上读取温度和测试电流,通过资源定位符“次客户端发布信息写入URL”定位的服务器地址写入次客户端(其程序框图略)。同时,将次客户端的请求信息数据,打包通过主客户端发送给服务测控端。其功能特点可由图5所示的前面板表现出来。同时,我们也可看到教师与学生的互动过程。

图5 以教师为主导的次客户端面板

从以上叙述及前面板可以看到所有的程序运行基本上是以教师为主导,由教师来进行服务测控端服务器的选择以及让某个学生能够获取数据与操控。

2.2 以学生为主导的通信系统设计

次序户端系统与以教师为主导的系统非常类似,也分三个部分次序户端系统。

(1)服务测控端的程序设计

在次客户端发送的“学生控制真假开关”为“真”的条件下,程序运行“真”分支,即从服务测控端通过采集卡得到的热处理中热电偶的“采集温度”和“采集电流”(程序框图略),并将其打包通过DataSocket数据通信的写入控件写入资源定位符“发布信息写入URL”指定的地址服务器中,以便主客户端读取数据。反之,在次客户端发送的“学生控制真假开关”为“假”的条件下,程序运行“假”分支,服务端要从主客户端读取从次客户端传来的控制开关和控制电压。其前面板如图6所示。

(2)主(教师)客户端的程序设计

在次客户端发送的“学生控制真假开关”为“真”的条件下,程序运行“真”分支。该程序实现了从服务测控端的服务器读取“采集温度”和“采集电流”,其中服务器的地址由资源定位符来定位的。并且把读取的数据写入该主客户端所在计算机的DataSocket服务器,以便次客户端可以读取数据。同样,在次客户端发送的“学生控制真假开关”为“假”的条件下,可以从次客户端读取学生的要求信息传送给服务测控端。另外,在如图7所示的前面板中同样显示了教师与学生之间的有效文本互动过程。

(3)次(学生)客户端的程序设计

整个程序分为两个部分,一是在其真假逻辑条件结构下的由资源定位符定位的DataSocket写入控件;另一个是在其真假逻辑条件结构下的读取程序。当发布的“学生控制真假开关”为“真”的条件下,控制了服务测控端和主客户端的程序都运行“真”的条件下的程序,由资源定位符URL1定位的服务器可以从主客户端计算机的服务器上读取“采集温度”和“采集电流”。然而当“学生控制真假开关”为“假”时,控制服务测控端和主客户端的程序都运行“假”的条件下的程序,通过资源定位符定位的服务器地址写入次客户端的请求信息数据,将其数据打包通过主客户端发送给服务测控端。同样,如图8所示的前面板上可以看到该程序实现了教师与学生之间有效的互动。

这与由教师主导的设计方法不同,它是由学生来主导整个程序的运行方向。当“学生控制真假开关”为“真”时,所有程序都只运行在条件结构为“真”的条件下的程序。这些程序的运行只完成由服务测控端发布的数据,经主客户端后,传输给次客户端。反之,这些程序只实现了学生对服务测控端控制。

图8 以学生为主导的次客户端面板

与由教师为主导的设计相比,虽然都能在虚拟仪器的环境下完成实验,并且能够有效地实现教师与学生之间的互动。但其优点是在整个实验过程中学生可以根据自己的实验要求来对整个实验进行掌控,想对实验进行测试就可进行测试,想提出自己的控制要求就可以完成实验控制。这是因为由学生为主导的通信设计在程序运行过程中总是单向完成的,即由学生掌控单向完成实验测试或者实验控制,所以在实验过程中信号延迟时间比较短,并能恒定条件下观察被测物理量随时间的变化,提高了实验的稳定性。

当然,由教师主导的通信设计也具有自己独特的优点,教师在整个实验中占主导地位,他能够自如的选择到底选择哪个服务端提供给某个学生使用;并能进行辅助控制;而这由学生为主导的通信设计却不易实现。其代价是整个实验过程中信号延迟时间会更长,不利于完成瞬间变化的实验。

3 结语

本文是基于LabVIEW中DataSocket远程通信技术设计的一种虚拟仪器实验教学管理模式,其中涵盖了以学生为主导的通信系统设计和以教师为主导的通信系统设计,它主要针对热处理等实验教学而设计的。用于真正解决学生实验的时空限制,同时又能有效地实现教师与学生的即时互动。

然而本文设计的这两种通信设计模式在仅有三方通信条件下,信号传输的延时还不明显;如果有多个服务测控端及多个次(学生)客户端同时使用时,由于都要受制于主客户端的限制,其信号的延时非常明显。另外,师生互动还只限于文本交流。这些都是有待改进的地方。

[1] 尹兴波,马海瑞,周爱军.基于DataSocket技术的LabVIEW1远程测控[J] .重庆:自动化与仪器仪表,2005,(4):61-63

[2] 吴志锋,陈汉平,吴伟亮.基于Web的虚拟仪器技术[J] .上海:仪表技术,2001,(5):41-43

[3] 李水芳,朱荣新.利用DataSocket技术实现网络化虚拟仪器[J] .西安:现代电子技术,2003(19):100-102

[4] 潘海彬,胡壮,张春果.基于Datasocket分布式测控网络数据通信方法研究[J] .成都:计算机应用,2008,28(2):397-398

[5] 徐园园,郑力新.TCP/IP和DataSocket技术在网络虚拟实验室中的应用[J] .南京:电气电子教学学报,2007,29(4):85-87

[6] 张炯,方湘陵,基于虚拟仪器技术的远程实验室[J] .上海:实验室研究与探索.2007,26(9):12-13

猜你喜欢

服务端虚拟仪器测控
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
新时期《移动Web服务端开发》课程教学改革的研究
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
在Windows Server 2008上创建应用
虚拟仪器及其在电工电子实验中的应用
基于现代测控技术及其应用分析
虚拟仪器技术在农业装备测控中的应用
向着新航程进发——远望7号测控船首航记录
基于虚拟仪器的DMFC实时监控系统
基于USB2.0协议的通用测控通信接口设计