网络虚拟实验室是一个无墙的中心,通过计算机网络系统,研究人员或学生将不受时空的限制,随时随地与同行协作,共享仪器设备,共享数据和计算资源,得到教师的远程指导以及与同行相互研讨。
由于通过网络虚拟实验室能够实现跨时空跨学科的仪器设备远程共享,甚至远程控制,满足科研教学对分布式实验系统的要求,同时解决棘手的教学张问题,国外很多科研院所已经进行了相关的有益尝试。
1 网络虚拟实验室实现原理
网络虚拟实验室的构建多使用BSDA(Browser/Server/Database & Application)结构,即客户端/服务器/数据库/应用程序结构,其原理如图1所示。
典型的网络虚拟实验室由客户端、网页服务器端、应用服务器端以及实验仪器设备四部分组成。网页服务器主要作用是提供Web接入服务、用户认证管理、开放式交互实验环境以及动态网页的生成;应用服务器主要作用是控制和管理实验仪器、采集和处理实验数据;数据库的主要作用则是配合用户账户的管理、动态网页的生成以及实验数据的存储和管理。
2 网络虚拟实验室的构成
本网络虚拟实验室,主要由模拟仿真和实时测量两个部分组成,如图2所示。
模拟仿真部分,主要完成验证型、原理演示型实验。使用LabVIEW自带的网页发布功能,直接在Web服务器端生成嵌入实验平台的WWW网页,用户只需使用网页浏览器即可通过Internet访问网络虚拟实验室,进行实验。
实时测量部分,主要完成仪器共享型、远程控制型实验。有一个多媒体辅助模块,是对实际实验平台界面的虚拟呈现,让学生在进入实时测量模块之前来操作,用来检验学生的预习程度,让学生预先了解实验内容,熟悉具体的实验步骤;另一个是实时测量模块,它是实时测量部分的核心,负责本地实验数据的采集,并按远程用户的操作要求进行分析、存储以及显示,网页发布功能可使用LabVIEW来实现,也可使用基于Lab-VIEW编程的Application Server模块与客户端API模块来实现网络互连,数据通信,完成远程实验。
3 网络虚拟实验室的硬件结构
我们使用的是以NI-PXI构架为核心的硬件体系,并以一台Dell PowerEdge4600为Web服务器,如图3所示。
Dell PowerEdge4600为Web服务器配备了2个IntelXeon2.8GHz处理器,2GBECCDDRRAM,3×36GBSCSIRAID(冗余磁盘阵列),以及BroadcomGigabit NIC千兆网卡,充分满足多线程、大流量、高带宽的使用要求。
Application Server使用的是一台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用于实验模型的建立,搭建实验电路,构建小型的电子电路系统,实现电子电路实验的远程共享。
4 系统设计技术实现
4.1 模拟仿真部分
模拟仿真部分,我们以LabVIEW内置的网页发布功能为基础,通过HTML设计网页,并使用MicrosoftIIS5.0发布功能,直接在服务器端生成嵌入实验平台的WWW网页,用户只需使用网页浏览器进入我们的站点,即可通过Internet进行实验,其原理如图4所示。
LabVIEW内置的Remote Panel Connection Manager用来对用户的使用情况进行监控与调度,NIWeb Serv-er按照远端实验操作者制定的实验数据,分析、计算数据,最后显示实验曲线以及实验结果,并将实验结果嵌入生成的HTML网页中,用户只需使用浏览器即可实时显示实验数据以及实验曲线,及完成报告生成等后续工作。
4.2 实时测量部分
实时测量部分,我们使用了两种实现方案,用来满足不同情况下用户对远程实验的要求:一种是Browser&NIWeb Server结构,另一种是Application Server&API结构。使用XI-1000B机箱以及嵌入的PXI板卡作为NIWeb Server与Application Server。
Browser&NIWeb Server结构是在模拟仿真实现的基础上,在NI Web Server上连接相应的DAQ、SCXI硬件,其再与实际的实验仪器连接,用来实现远程客户端与实验仪器的数据通信,完成实验仪器的远程共享,其原理如图5所示。
该结构适用于瘦客户体系,客户端无需计算分析数据,只需安装因特网浏览器接收服务端传输的数据流,即可进行实验,方便简单,效率高,但是对服务器的运算能力、带宽以及多线程状态下的稳定性等指标要求比较高;同时由于每一时刻只允许一位用户掌握控制权,所以比较适用于远程控制型实验。
Application Server&API结构使用LabVIEW编程,以其内置TCP/IP模块为基础,构造一个ApplicationServer应用服务器端和一个API用户终端,由TCP/IP模块完成网络互连、数据通信以及容错处理。Applica-tion Server用来采集、传输实验数据,管理用户,记录用户使用情况;而API用户终端则提供操作者GUI界面,实现数据的获取、分析运算以及显示存储等,其原理如图6所示。
该结构要求API用户终端将Application Server应用服务器端板卡采集的实验数据下载到本地终端来分析、计算、显示以及存储。除了对网络带宽、稳定性有很高的要求之外,对API用户终端的计算机性能也有很高的要求,适用于远程软件共享和仪器共享型实验,可以实现多用户广播式共享实验数据。
下面以半导体晶体管直流特性测试实验为例,介绍Application Server&API结构LabVIEW编程的实现方法。
用户首先进入的是一个多媒体仿真界面,用来检验预习状况,并熟悉实际的仪器操作。借助一套仪器的图形面板(略),使用LabVIEW模拟晶体管直流特性测试曲线,用户使用旋钮以及各种开关,可以像操作实际仪器一般,了解实验的具体内容和步骤。
完成模拟之后,按下测量按钮,进入实时测量面板(略)。面板上方的工具栏是相关的模式选择、参数设置以及数据存储等操作,中央是实验曲线的显示界面。主程序框图结构如图7所示,客户端API模块先向服务端发送用户信息和实验请求,经服务端验证通过,建立TCP连接;然后,服务端接受客户端实验参数并进行实验仪器初始化;服务端采集实验数据并通过TCP/IP协议发送数据包,客户端接受实验采样数据,并按一定数据格式插入测量数组,同步显示波形;采集完全部实验数据,服务器发结束信息,然后断开网络联接,完成实验。