摘 要:针对传统的实验室和管理模式已经不能适应教学改革的步伐,构建了一套利用LabVIEW实现的基于B/S模式的远程控制实验系统。用户通过浏览器登录系统,不仅可以操作远程实验设备并获取实验数据,还能通过操作远程网络摄像头来观察真实的实验过程。
关键词:LabVIEW;网络通信; B/S(浏览器/服务器);远程实验室; CAN总线
目前, 传统教育体系已经越来越不能适应当今科学技术和信息飞速发展的需要。传统的教育是以教师讲授为主,学生只是被动听讲,这种方式已经不适应培养人才的要求。另外,在实验设施不足的情况下,学生不能直接参与实验过程操作,不能很好地实现实验教学目标。传统的教学方式不利于充分发挥学生的想象力和创造力,也不利于及时追踪到最新的科技信息。随着计算机技术和网络技术的不断发展,近几年在教育领域提出了一种新的教学思路,即构建虚拟实验室的方法。而远程实验教学多数是利用虚拟技术实现,在这种虚拟实验中,实验者操纵的都不是实验设备实物,看到的只是一些利用三维技术做出来的动画,所获得的实验结果当然也不是远程设备的实际反映而是通过公式计算得到的数据[1]。针对这一问题,建立一个可以远程观测和控制实验设备的网络实验系统是一条有效的解决途径。它使实验者通过网络从异地计算机上进行实验操作和观察,所得到的实验结果与在实验室得到的结果完全一致,如同真实操作实验设备一样。
1 系统总体结构
远程控制实验系统的框架结构和实现方法如图1所示,系统以B/S的形式提供服务,用户通过客户端的浏览器登录Web服务器,Web服务器请求数据库进行身份认证后即可进行相应的实验。
从图1所示的体系结构可以清楚地看到,通过LabVIEW调用周立功PCI–5110 CAN 卡的DLL(动态链接库)文件来构建现场总线控制网络,并将控制信号通过CAN总线发送到CAN485MB智能协议转换器,转换后通过RS485接口进入PLC,驱动现场实验装置。
在LabVIEW平台的网络通信技术的支持下,不需要了解任何网络协议就能编写复杂的分布式应用程序,将控制界面及实时的数据信号和现场视频发布给客户端。本系统的特点是,通过对各种网络通信方式进行实验比较,使得远程客户端观看的视频延迟最低,清晰度最佳,实时性最好,从而为客户端提供了充足的视觉反馈。
虚拟实验系统可采用基于C/S和B/S两种网络模型来组建[2-3]。C/S模式适合数据传送量大的情况,而且具有效率高、数据可靠完整、兼容性强等特点。而对于数据传送量不大、需要远程模拟仿真的情况可以采用B/S模式,这样对于客户端的需求会很低,不需在客户端上安装相应的客户端软件,只需要浏览器便可登录服务器对远程测试进行监控。本实验室数据流量相对而言较少,采用的是B/S模式。在实现方法上主要采用LabVIEW的网络服务器Web Server进行网络发布。在客户端使用Remote Panel之前,必须先在服务端运行LabVIEW,并配置Web Server的文件路径和网络设置、客户机访问权限设置、VIs访问权限设置。这些设置不仅起到管理的作用,而且起到安全性的作用。
相应的配置如下:
(1)文件路径和网络设置。在Web Server: Configuration中选中Enable Web Server,启用Web Server,并设置服务器所在位置,使其他用户可以通过浏览器查看并控制该VI。
(2)客户机访问权限设置。在Web Server: Browser Access中设置允许或禁止访问的客户机,以及其访问权限,这里允许所有的客户机访问、观看并控制远程面板。
(3)VIs访问权限设置。在Web Server: Visible VIs中设置允许客户访问的VIs,这里运行客户机访问所有的VIs。设置完成后,为了提供网页浏览器访问,必须在配置服务器时利用菜单栏中的Tools—Web Publish Tool进行网页发布。在Web Publish Tool中允许用户选择输入一个VI的名称,并自动生成一个HTML文件,将这个HTML文件保存在Web Server Configuration所指定的根目录中,这个根目录最好与Windows IIS的Internet信息服务中的默认Web站点的主目录相一致。若需要发布的VI中包含了数个SubVI,则只需要创建一个发布最上层VI的网页,其他所有的SubVI的前面板的属性设定为Open During Execution即可。
2 网络通信方式比较
远程实验系统可采用基于C/S和B/S两种网络模型来组建,针对不同的应用场所,LabVIEW提供了多种网络通信方式供用户灵活选择。主要包括共享变量,DSTP协议的DataSocket编程、DSTP协议的DataSocket编程、Web Server、SMTP Email Vis、TCP编程和UDP编程[4]等。
本文就DSTP协议的DataSocket编程、Web Server和TCP编程这3个网络编程方法在构建远程控制实验室时的应用做了具体的研究及比较。
2.1 DSTP协议的DataSocket编程
DataSocket技术是一种面向测控领域的通过网络实时交换数据的编程技术。DataSocket由DataSocket Server与DataSocket APL两部分组成。DataSocket Server负责提供DSTP协议(数据传输协议)和管理底层网络通信,实现与用户程序之间的数据交换,不需要用户编写有关网络通信的底层程序。DataSocket API是用户访问网络数据的接口。DataSocket API访问DSTP对象时就是通过访问DataSocket Server来实现现场数据的高速传输。图2中,首先在DataSocket Server Manager中新建一个类型为image的字符串项,驱动DataSocket Server后,发布者(Publisher)通过DataSocket API向URL位置指定的地址写入数据。客户端编程如图3所示。DataSocket技术能应用于任何编程环境,而且支持多种协议(DSTP、OPC、LOOKOUT、 HTTP、FTP和文件访问),本文就DSTP协议做了详尽的研究。