基于CAN总线的远程控制实验室系统的研究与设计
2013-08-21关凤华李鹏飞
关凤华,李鹏飞
(1.西安工程大学电子信息学院,陕西 西安 710048;2.陕西航空职业技术学院,陕西 汉中 723102)
0 引 言
随着我国高等教育的不断发展,人才培养模式也发生了相应的改变,尤其是职业技术教育,在教学过程中更注重于以职业能力为主的实际操作能力的培养。对于一些实践性较强的学科,实验教学是培养学生实际操作能力的一种重要的教学手段[1]。学生在做实验的过程中,可以加深对所学理论的理解,提高动手能力,增强学习兴趣[2]。然而,传统实验方式要求学生必须在规定的时间,到规定地点才能进行实验任务,部分实验设备成本太高,台套数有限,不能满足每人一个实验工位,从而导致时间分配和资源利用的不合理。而远程控制实验室系统就是改变这种不合理状况的好办法,它能够突破传统实验方式在时间和空间上的限制,使得实验者能自由安排时间,灵活选择地点,充分利用资源,从而提高实验效率[3]。
在远程控制实验室系统中,用户通过WEB浏览器登陆实验系统,不仅能操作远程的实验设备,并能获取实验数据,还能通过操作远程网络摄像头来观察实验过程。有很多种通信方式都能够方便地用来传输实验现场的数据,供远程实验者浏览。但是,在远程实验者的计算机上必须要编写程序来接受数据。在大多数情况下,用户希望能够直接将本地的程序面板“搬”到远程计算机上进行观察和操作。LabVIEW的Web服务器技术可“原封不动”地将本地程序前面板显示在远程计算机的屏幕上,这样不仅可以直接在服务端的计算机上通过网络来观察试验过程并获取实验数据,若远程用户知道服务端计算机的IP地址或远程实验系统的网络地址,也能够在客户端的计算机上通过网络间接观察实验过程或者获取实验数据[4],因此,通过网络就可以方便的实现实验室的远程控制。
1 远程控制实验室系统总体设计
系统采用通用接口总线GPIB(General-Purpose In⁃terface Bus)仪器控制技术,把可程控仪器和LabVIEW仪器控制服务器相连接,通过PLC实现仪器的本地控制。利用计算机网络技术,把实验题目和内容放在建立的远程实验网站平台上,远程实验用户只需要通过网络浏览器登录远程实验室的网络服务器,就可以进行相关的实验操作,远程控制实验仪器设备。为了用户能够通过网页看到自己所操纵的实验仪器,直接在客户端电脑屏幕上观察实验过程,在远程实验室网站的网页上,还可加入实验视频部分,通过视频压缩传输技术把视频头采集的实验图像传送到网页上。
2 远程控制实验室系统的设计与实现
2.1 远程控制实验室系统的硬件设计
远程控制实验室系统的硬件包括:仪器控制服务器、Web服务器、硬件实验电路控制平台、GPIB可编程控制仪器和摄像头等。其中硬件实验电路控制平台主要包括电源板、实验台控制板、89C51串口通信板、模拟实验板、数字实验板、低频实验板等。实验所需的±5 V、±12 V和+18 V电压由电源板提供;具体的实验仪器测试的切换工作由实验台控制板进行;与上位机间的串口通信由串口通信板完成,并通过串口通信板把命令参数等相关数据发送给实验控制台;实验过程中具体的实验电路由模拟实验板及数字实验板来实现。
在硬件平台中,串口通信板的地位至关重要。在进行实验时,与LabVIEW服务器的通信、实验测试点的切换、实验数据的获取和输出都需要由串口通信板负责。系统的核心控制器选用的是AT89C51,在进行模拟实验时,各个输入/输出测试点的切换控制由实验台控制板来实现。在进行多个模拟实验时,往往需要变更信号参数和切换输入信号的输入点,有时还需要切换示波器和数字电压表的测试点。远程控制实验室的实验系统需要对测试点的切换能够实现远程控制,因此,在模拟实验板的相关测试点上都必须引出接线点,以便于与实验台控制板接口。这样,在增加实验数目的时候,就不需要改动实验台控制板,只需要从实验板上引出测试点和实验台控制板接口就可以了。
2.2 远程控制实验室系统的软件设计
远程控制实验室系统的软件由以下几个子系统构成:Web服务器子系统、本地仪器控制子系统和客户端子系统,如图1所示。
图1 远程控制实验室系统的软件构成
Web服务器子系统是远程控制实验室系统的核心部分。用户通过Web服务器,可以访问实验室系统的Web站点、控制实验仪器,并获得实验的相关数据。客户端与Web服务器、Web服务器与实验室服务器之间通信的主要方法是公共网关接口CGI(Common Gate⁃way Interface)和传输控制协议TCP(Transport Control Protocol)。在本地控制子系统中,作为控制仪器的PC机上装有通用接口总线(GPIB)接口和一块网卡。仪器控制服务器通过已建立起的TCP/IP通道获得来自Web服务器控制仪器的命令字符串,进而启动仪器工作,完成测试任务。客户端子系统是嵌入在Web服务器中,当用户登录到Web服务器上后,用户可以浏览远程控制实验室站点,获得所提供实验的概括介绍以及详细说明。
2.3 远程控制实验室系统的交互过程
开始实验操作时,远程用户通过浏览器进入远程控制实验室系统网站的登录页面。当Web服务器接收到来自客户端的有效CGI(Common Gateway Inter⁃face)请求后,从表单中获取相应的实验参数,进而向仪器控制服务器提交调用VI的请求。运行于仪器控制服务器上的GWeb Server接收到请求后,建立起与客户端TCP/IP连接,调用相应的VI程序:首先调用串口通信程序,即通过串口向硬件实验平台发送控制指令;然后启动仪器控制VI模块,使其通过GPIB接口卡调用相关仪器设备,对实验电路进行测试;最后将实验测试结果以CGI响应的方式回传到Web服务器,由Web服务器端的CGI程序刷新客户端显示,完成了整个实验的操作过程[5]。
2.4 远程控制实验室系统的通信
在基于上下位机的远程控制实验室系统中,如何实现上下位机的通信是其中的关键点之一。CAN总线是一种现场总线,由于其数据通信具有突出的可靠性、实施性和灵活性而在数据和指令通信系统中得到了广泛的应用。周立功公司提供的CAN卡PCI-5110通过PCI接口与微机进行数据交换,同时该卡实现了对CAN总线的封装,通过LabVIEW调用该接口卡就可以方便、高效地实现基于CAN总线的上下位机的通信系统,从而为远程控系统的开发奠定了良好的基础。周立功的CAN卡为LabVIEW提供了兼容的驱动程序,方便了上下位机通信程序的开发。
外部应用程序通过调用CAN卡的驱动实现对CAN卡的操纵,PCI-5110的驱动是一个动态链接库(Dynamic Link Library,简称 DLL)文件,文件名为PCI5110-TEST.dll中的函数封装了PCI-5110相应的功能。在LabVIEW中对DLL的调用可以通过调用库函数节点实现,该方法不允许被调函数的输入输出中出现结构类型的变量,但在PCI-5110提供的驱动中还有ControlCAN.dll文件。它的功能为使ZLGCAN设备在PC机上使用的应用程序接口是Virtual CAN Inter⁃face(VCI)函数库,库里的函数从ControlCAN.dll中导出,在LabVIEW中直接调用这些库函数而无需额外的操作[6]。
3 结束语
以虚拟仪器为平台设计了远程控制实验室系统,通过用户登陆界面,嵌入一些虚拟实验仪器设备,实现了利用计算机网络进行实验仪器操作的模拟和测量,并进行了多次演示,取得了很好的效果。该远程控制实验室较以往的远程控制实验室实现了网络化,达到了资源共享,避免了仪器重复添置和资源浪费,使学生做实验不再受时间和地点的限制,具有开发周期短,使用效率高,可扩展性强,成本低廉的特点,是解决传统实验方式受时间和空间限制,实验室资源利用率不高的一种有效途径。随着计算机技术的不断发展和网络技术的不断完善,远程控制实验室会有更好的应用前景。
[1] 解念锁.金属材料工程专业实践教学研究与实践[J].安徽工业大学学报(社会科学版),2005,22(1):96-98.
[2] 王瑾,史厚强.基础力学实验教学研究与实践[J].实验技术与管理,2007,24(10):353-354.
[3] 孙鹤旭,梁涛,云利军.现场总线控制系统的设计与开发[M].北京:国防工业出版社,2005.
[4] 杜尚丰,曹晓钟,徐津.CAN总线测控技术及其应用[M].北京:电子工业出版社,2006.
[5] 周泉.CAN协议的帧与功能[J].汽车电器,2004(5):40-42.
[6] 饶运涛,邹继军,郑勇芸.现场总线CAN原理与应用技术[M].北京:航天航空大学出版社,1992.