将虚拟仪器技术推向网络应用,更能发挥其“软件就是仪器”的优势,更有助于形成分布式的网络测量体系,实现数据和仪器的远程共享,从而为远程测控服 务。网络虚拟实验室的使用BSDA结构,由客户端、Web服务器、应用服务器以及实验设备四个模块组成,具备开发周期短,成本低的特点,同时又具 有很强的兼容性和扩展性,能够大大提高仪器的使用效率。
网络虚拟实验室是一个无墙的中心,通过计算机网络系统,研究人员或学生将不受时空的限制,随时随地与同行协作,共享仪器设备,共享数据和计算资源,得到教师的远程指导以及与同行相互研讨。
由于通过网络虚拟实验室能够实现跨时空跨学科的仪器设备远程共享,甚至远程控制,满足科研教学对分布式实验系统的要求,同时解决棘手的教学资源紧张问题,国外的很多科研院所也已经进行了相关的有益尝试。如Carnegie-Mellon大学的卡Carnegie Mellon虚拟实验室,Johns Hopkins大学的虚拟工程与科学实验室,以及Tennessee大学的网上工程实验室是其中的比较成功的范例。
网络虚拟实验室大多使用的是CS(客户端/服务端)结构,按其实现功能基本可分为三类:
1. 软件共享网络虚拟实验室。其特点为,服务端共享本地的虚拟实验室模拟软件平台,接受客户端发送的实验请求,分析和处理实验参数,经过计算模拟最终将结果返回客户端。整个系统不涉及具体的实验仪器硬件设备,只是利用软件模拟实验的过程;
2.
3. 远程控制网络虚拟实验室。与仪器共享网络虚拟实验室最大的区别在于除了实验仪器实验数据的共享之外,它还要实现客户端对实验仪器设备的远程控制。
网络虚拟实验室实现原理
网络虚拟实验室的构建多使用浏览器/服务器/数据和应用(BSDA,Browser/Server /Database&Application)结构,其原理如图1所示,典型的网络虚拟实验室由客户端、网页服务器端、应用服务器端以及实验仪器 设备四部分组成。网页服务器主要作用是提供Web接入服务、用户认证管理、开放式交互实验环境以及??页的生成;应用服务器主要作用是控制和管理实验仪 器、采集和处理实验数据;数据库的主要作用则是配合用户帐户的管理、??页的生成以及实验数据的存储和管理。
本网络虚拟实验室,主要由模拟仿真和实时测量两个部分组成,如图2所示。模拟仿真部分,主要完成验证型、原理演示型实验,使用LabVIEW自带的 网页发布功能,直接在Web服务器端生成嵌入实验平台的WWW网页,用户只需使用网页浏览器即可通过互联网访问网络虚拟实验室,进行实验。
实时测量部分,主要完成仪器共享型、远程控制型实验,有一个多媒体辅助模块,是对实际实验平台界面的虚拟呈现,让学生在进入实时测量模块之前来操 作,用来检验学生的预习程度,让学生预先了解实验内容,熟悉具体的实验步骤;另一个是实时测量模块,它是实时测量部分的核心,负责本地实验数据的采集,并 按远程用户的操作要求进行分析、存储以及显示,可使用LabVIEW的网页发布功能来实现,也可使用基于LabVIEW编程的 Application Server模块与客户端API模块来实现网络互连,数据通信,完成远程实验。
网络虚拟实验室的硬件结构
我们使用的是以NI-PXI构架为核心的硬件体系,并以一台Dell PowerEdge4600为网络服务器,如图3所示。Dell PowerEdge4600为Web服务器配备了2个Intel Xeon 2.8GHz处理器,2GB ECC DDR RAM,3×36GB SCSI RAID(冗余磁盘阵列),以及Broadcom 千兆网卡,充分满足多线程、大流量、高带宽的使用要求。
应用服务器使用的是一台PXI-1000B机箱,嵌入了PXI-8176控制器,以及PXI-6070E,PXI-6071E多功能数据采集卡,用 来实现高速的数模转换、数模输入输出以及数据采集;PXI-5102高性能示波器卡来完成信号的发生,提供稳定可靠的信号源;PXI-2501矩阵模块用 来实现不同测量元器件之间的自动切换,以满足远程用户不同的测量要求,实现测量的多样性;PXI-1422图像采集卡用来完成PCB板、IC芯片的图像提 取,满足电路检查、IC设计的需要;PXI-7344运动控制卡用来实现电机伺服系统的参数提取,状态跟踪等。
一台SCXI-1000机箱,嵌入了SCXI-1320和SCXI-1125信号调理模块,用来对微电子系统,微电流电压信号的放大、降噪、滤波, 保持整个体系的高精确度。一台最新的NI-ELVIS用于实验模型的建立,搭建实验电路,构建小型的电子电路系统,实现电子电路实验的远程共享。
系统设计技术实现
1. 模拟仿真部分
模拟仿真部分,我们以LabVIEW内置的网页发布功能为基础,通过HTML设计网页,并使用Microsoft IIS 5.0发布功能,直接在服务器端生成嵌入实验平台的WWW网页,用户只需使用网页浏览器进入我们的站点,即可通过互联网进行实验,其原理如图4所示。
LabVIEW 内置的Remote Panel Connection Manager用来对用户的使用情况进行监控与调度,NI网络服务器按照远端实验操作者制定的实验数据,分析、计算数据最后显示实验曲线以及实验结果,并 将实验结果嵌入生成的HTML网页中,用户只需使用浏览器即可实时显示实验数据以及实验曲线,以及完成报告生成等后续工作。
2. 实时测量部分
实时测量部分,我们使用了两种实现方案,用来满足不同情况下用户对远程实验的要求:一种是浏览器和NI网络服务器结构,另一种是应用服务器API结构。使用PXI-1000B机箱以及嵌入的PXI板卡来作为NI网络服务器与应用服务器。
浏览器和NI网络服务器结构是在模拟仿真实现的基础上,在NI网络服务器上连接相应的DAQ、SCXI硬件,它再与实际的实验仪器连接,用来实现远 程客户端与实验仪器的数据通信,完成实验仪器的远程共享,其原理如图5所示。该结构适用于瘦客户体系,客户端无需计算分析数据,只需安装因特网浏览器接收 服务端传输的数据流,即可进行实验,方便简单,效率高,但是对服务器的运算能力、带宽以及多线程状态下的稳定性等指标要求比较高;同时由于每一时刻只允许 一位用户掌握控制权,所以比较适用于远程控制型实验。
应用服务器和API结构使用LabVIEW编程,以其内置 TCP/IP模块为基础,构造一个应用服务器端和一个API用户终端,由TCP/IP模块完成网络互连,数据通信以及容错处理。应用服务器用来采集传输实 验数据,管理用户,记录用户使用情况;而API用户终端则提供操作者GUI界面,实现数据的获取、分析运算以及显示存储等,其原理如图6所示。
该结构要求API用户终端将应用服务器端板卡采集的实验数据下载到本地终端来分析、计算、显示以及存储,除了对网络带宽、稳定性有很高的要求之外,对API用户终端的计算机性能也有很高的要求,适用于远程软件共享和仪器共享型实验,可以实现多用户广播式共享实验数据。
测试实验为例
下面以半导体晶体管直流特性测试实验为例,介绍应用服务器和API结构LabVIEW编程的实现方法。用户首先进入的是一个多媒体仿真界面,用来检 验预习状况,并熟悉实际的仪器操作。如图7所示,借助一套实际仪器的图形面板,我们使用LabVIEW模拟了晶体管直流特性测试曲线,用户使用旋钮以及各 种开关,可以像操作实际仪器一般,了解实验的具体内容和步骤。
完成模拟之后,可以按下进入测量按钮,进入实时测量面板,如图8所示。面板上方的工具栏是相关的模式选择、参数设置以及数据存储等操作,中央的是实 验曲线的显示界面。主程序框图结构如图9所示,客户端API模块先向服务端发送用户信息和实验请求,经服务端验证通过,建立TCP连接;服务端然后接受客 户端实验参数并在进行实验仪器初始化;服务端采集实验数据并通过TCP/IP协议发送数据包,客户端接受实验采样数据,并按一定数据格式插入测量数组,同 步显示波形;采集完全部实验数据,服务器发结束信息,然后断开网络联接,完成实验。
图8显示的是客户端在远端实测的CCMS实验室本地晶体管的Ic-Vce曲线图,图10显示晶体管放大倍数β的计算值,并实时显示β-Ib曲线,用户可以选择保存按钮,将实验数据以需要的格式保存,进行相应的运算,使用HIQ生成实验报告,最终完成实验。
效果与结论
我们已经建立起以电子科学与技术专业为基础的十几套实验系统,初步构成了一个跨时空、跨学科、跨平台的网络虚拟实验室雏形,实现了实验仪器的远程共 享以及远程实验。以NI虚拟仪器平台为基础的网络虚拟实验室,开发周期短,使用效率高,可扩展性强,成本低廉,是解决目前资源紧张问题的一种行之有效的途 径。