基于虚拟仪器技术的网络实验系统的研究

2011-07-25 06:49全晓莉周南权余永辉
计算机工程与设计 2011年9期
关键词:前面板虚拟仪器服务器端

全晓莉, 周南权, 余永辉

(1.重庆理工大学电子信息与自动化学院,重庆400054;2.重庆航天职业技术学院电子工程系,重庆400021)

0 引 言

实验教学在高等工科教育中起着相当重要的作用,但是在教学改革实施过程中,一体化项目教学方式的引入和学生人数的增多,使传统的实验室和实验仪器数量很难满足学生的需求,这就对学校的实验设备和教学场地等相应配置提出了更高的要求[1]。基于网络的远程实验教学是教育现代化的一个重要发展方向[2],是高校实验教学改革的一项重要内容,而虚拟仪器的出现和网络技术的飞速发展,使得新型的远程网上实验成为可能[3-4]。网络化的虚拟仪器是提供给用户的一个基于网络的数据共享、实验教学、技术交流、共同研究、协同工作的平台,它是借助数据采集卡,将实验数据采集到计算机内[5-6],利用虚拟仪器进行分析和测量,再把结果通过网络传送到远地点的客户端形成网上实验。使用网络化的虚拟仪器可以节约实验仪器设备成本投入,提高仪器性能,完善实验手段。据此,本文以LabVIEW为开发平台,构造了一个实时性强、交互性强、可扩展的网络虚拟实验系统[7]。该系统把基于B/S(Browser/Server)模式的远程面板技术与基于C/S(Client/Server)模式的DataSocket技术两个方面结合起来,既克服了远程教学只有理论无法做实验的缺陷,又可以充分利用网络资源,减少硬件投资[8],是一种低成本、高收益的信息化建设,具有很大的现实意义。

1 网络虚拟实验系统的设计

根据远程实验数据流量状况及不同的实验需求可采用基于C/S和B/S两种网络模型组建远程虚拟实验系统。C/S模式适合数据传送量大的情况,而且具有效率高,数据可靠完整、兼容性强等特点。而对于数据传送量不大,需要远程模拟仿真的情况可以采用B/S模式,这样对于客户端的需求会很低,不需在客户端上安装相应的客户端软件,只需要浏览器便可登陆服务器对远程测试进行监控。功能完整的远程虚拟实验系统结构图如图1所示。该系统由Web服务器、客户端层、LabVIEW服务器、数据库层、虚拟实验室等组成。

图1 网络虚拟实验系统的结构

Web服务器是客户端通过网络访问的服务器,它是客户端和LabVIEW服务器的中间层,主要作用是提供Web接入服务、用户认证管理、开放式交互实验环境以及动态网页的生成;客户端的使用者就是用户,客户端通过浏览器监控远程面板(B/S方式)建立与服务器端的网络通信,监测和控制服务器端的作业,接收来自服务器端的作业数据,并进行数据分析处理、数据处理结果的存储与显示、生成数据报表以及数据或波形打印等;LabVIEW服务器是装有LabVIEW应用软件以及相关实验的服务器,用户将自己的数据通过Web服务器传输到此服务器上,通过运算后得到相应的实验结果并在客户端进行保存;数据库层是配合用户账户的管理、动态网页的生成以及下载实验结果时的所有数据,保证用户提交的数据顺利完成,并把数据提供给LabVIEW服务器访问;本系统虚拟实验室主要由虚拟仪器、模拟仿真和实时测量3个部分组成,如图2所示。

图2 虚拟实验室的组成原理

虚拟仪器模块是基于C/S的,采用的是NI公司提供的Data-Socket技术,主要是让用户熟悉操作一些常用的仪器,比如示波器、功率表、信号发生器、波特图仪和频率计等。模拟仿真模块是基于B/S的,使用LabVIEW自带的网页发布功能,直接在Web服务器端生成嵌入实验平台的WWW网页。学生利用网络通过访问方式登录本仿真实验平台,可以在线做电子类仿真实验[9-10]。在网络仿真平台上,不需要用到应用服务器,学生自己动手设置实验参数,运行在服务器端的平台仿真程序根据实验原理进行仿真,并实时返回仿真结果。学生在线获得仿真实验的仿真过程数据,不仅验证了理论,仿真过程的高度可视性更加深了学生对原理、理论的理解。优秀的学生更可以参加到实验的开发中来,开发过程是更进一步实验与实践的过程。实时测量模块也是基于B/S的,比模拟仿真平台多了一个多媒体辅助模块,并且它要用到应用服务器中的硬件设备,学生首先在多媒体辅助模块中了解实验内容与方法,然后通过网络也可以用上专业设备(如数据采集卡等),在线获取、分析专业实验数据,从而实现贵重专业设备的网络共享。

2 虚拟仪器的实现

“软件就是仪器”,下面以虚拟信号发生器为例,介绍用LabVIEW开发虚拟仪器的基本思路。

信号发生器又称函数信号发生器[11],是教学实验中最为常用的仪器,在实验中用做模拟信号源。本系统所设计的虚拟函数信号发生器能够产生频率为0Hz~10kHz,幅度-5V~+5V的直流、正弦波、三角波、方波和锯齿波5种基本波形信号,并且可以调节波形的初相位、偏移量和幅度衰减量,方波信号还可以调节占空比。我们还为该信号发生器设计了添加噪声的功能,该信号发生器可以在基本波形的基础之上叠加多种噪声,实现了更完善的功能。除此之外该信号发生器还具有输出公式波形的能力,在前面板公式输入控件中输入所需要的公式,就可以得到相对应的波形。该仪器完全可以替代目前实验室广泛使用的传统信号发生器,甚至在某些功能上更为完善。

虚拟函数发生器的前面板如图3所示,图中的波形为基本正弦波叠加高斯白噪声所产生的波形。虚拟函数发生器的主程序设计如图4所示,整个程序框图中主要调用了事件结构(Event Structure)、While循环结构、条件结构(Case Structure)、Sine Waveform.vi、Square Waveform.vi、Sawtooth Waveform.vi、TriangleWaveform.vi、GaussianWhiteWaveform.vi等典型函数模块完成了4个事件的响应、基本波形的生成和噪声的产生等功能。然后用LabVIEW进行编程,将波形数据送到数据采集卡的缓冲区内,再由数据采集卡进行D/A转换,将计算机发出的数字信号转换为模拟信号供实验用的信号源。

图3 信号发生器的前面板

图4 信号发生器的程序

3 实时测量的实现

实时测量模块是通过数据采集卡把信号采集到计算机,然后对信号数据进行显示、分析处理和保存。下面以计算机声卡为硬件平台,通过LabVIEW软件编程,建立了一套音频信号实时采集与测试分析系统[12-13]。图5和图6分别为声音信号采集与分析系统的前面板和程序框图。用户可以通过前面板对设备ID、采样频率、采样精度、声道选择、缓存大小进行设置;把采集到的声音信号通过Waveform Chart控件实时显示,实时存储和时频域分析。在程序框图中首先从 LabVIEW 软件声音模块(Graphics&Sound)中找到声音输入打开函数(SI Start.vi)、声音输入配置函数(SI Config.vi)、声音输入读取函数(SI Read.vi)、声音输入清除函数(SI Clear.vi)和声音输入关闭函数(SIStop.vi),再加上条件结构(CaseStructure)和WhileLoop循环语句结构就可以实现整个程序的信号采集、实时显示和分析等功能。

图5 音频信号实时采集的前面板

图6 音频信号实时采集的程序

4 网络虚拟实验室通讯技术实现

4.1 LabVIEW中通信方式简介

LabVIEW具有强大的通信功能[14],以下3种方式可以满足一个远程虚拟实验室不同的要求。

(1)用LabVIEW编写TCP或UDP通信的服务器端和客户端应用程序,如图7所示,这种方式是基于C/S模式的。

图7 TCP或UDP通信的C/S模式构成

(2)用LabVIEW编写DataSocket通信的服务器端和客户端应用程序,二者通过DataSocket服务器传递数据,如图8所示,这种方式也是基于C/S模式的。

图8 DataSocket通信的C/S模式构成

(3)由LabVIEW的WebServer提供Web服务,将己被载入服务器内存中的VI前面板嵌入网页,客户端在浏览器输入相应地址就可以观察远端面板的显示情况,并可以远程控制程序。这种方式是基于B/S模式的,如图9所示。

4.2 远程虚拟仪器通讯方式的选择

LabVIEW具有强大的远程数据采集能力[15],实现方法主要有DAQ设备共享方式、软件操作界面共享方式、数据发布方式和数据共享方式。其中DAQ设备共享方式是采用RDA技术实现设备的远程控制,RDA是一种硬件共享技术,没有数据传输能力,而要实现虚拟仪器在网络平台上的应用,就必须实现在不同应用之间的数据共享,RDA技术对此无能为力:并且使用该技术,必须要求使用者掌握数据采集卡的相关使用方法,同时掌握DAQ编程技术,这对学生来说要求过高,而且没有必要;软件操作界面共享方式是利用Remote Panels技术实现远程数据采集,允许用户直接在客户端计算机上打开并操作位于服务器端计算机上的VI的前面板,甚至可以将Lab-VIEWVIs的前面板窗口嵌入到一个网页中并在网页中直接操作它,按照常规方式编写服务器端软件,控制DAQ设备完成数据采集,通过一定的设置将服务器端软件的前面板发布到客户机中,这样,用户在客户机上就可以直接操作位于服务器上的软件,实现远程数据采集;数据发布方式是利用TCP技术实现远程数据采集,TCP/IP技术只能组建C/S模式的测控网络,不能满足本系统传送实时数据的要求;数据共享方式是利用DataSocket技术实现远程数据采集,服务器端软件控制DAQ设备完成数据采集,将测试数据放到一个数组控件中,在客户机端软件中利用同样的数组控件通过DataSocket Server接收这些数据,然后通过进一步的编程对这些数据进行相关处理。综合以上的分析,鉴于本系统的实际情况,虚拟仪器模块是采用DataSocket技术传输数据,模拟仿真模块和实时测量模块是采用Remote Panels技术实现数据传输。

图9 基于LabVIEW Web Server构建B/S模式

5 结束语

本文针对传统教学仪器设备资源相对短缺、分散和陈旧老化而无法满足实验教学需求、管理和更新升级的特点,提出了一个基于LabVIEW的网络虚拟实验系统的构建方案。该方案利用已有的校园网络设施,合理地选择软硬件,把Data-Socket技术和Remote Panels技术结合起来,使教学、科研、实验三者合一,既克服了远程教学只有理论无法做实验的缺陷,又可以充分利用网络资源,减少硬件投资。该方案主要解决了数字电路、模拟电路、电子测量等多门课程的绝大部分实验以及一些理工科方面的研究,降低了实物损耗率,能够大大提高仪器的使用效率。开发周期短,成本低,同时又具有很强的兼容性和扩展性,易于升级换代和维护。后续的工作是将更多流行的网络技术充分应用到网络平台的构建中,进一步完善远程虚拟实验室的建设,将面向对象的设计思想和软件工程理论充分运用到软件及数据库的开发过程中,优化软件结构,实行多线程编程,提高远程虚拟实验室的实时性,实用性,完善系统功能。

[1]钱声强,王露,李晴.基于LabVIEW的数字电路课程远程实验平台开发[J].常州信息职业技术学院学报,2010,9(1):63-65.

[2]林鹏.基于DataSocket技术的虚拟实验室系统设计[J].实验科学与技术,2008,6(3):53-54.

[3]王太成,蔡勇.利用虚拟机技术完成复杂网络实验[J].计算机技术与发展,2009,69(4):252-255.

[4]李海芳,张民,陈俊杰,等.LabVIEW下远程虚拟实验室的研究与实现[J].太原理工大学学报,2010,41(2):147-149.

[5]郭龙钢,王宇炎.基于LABVIEW的单片机串口数据采集系统[J].自动化技术与应用,2009,28(11):129-131.

[6]张雪华,万舟,吴建德.基于LabVIEW与DSP串口通信的数据采集系统设计[J].云南大学学报(自然科学版),2009(S2):123-128.

[7]景军锋,聂鲁华,李鹏飞.基于LabVIEW的远程控制实验系统[J].微型机与应用,2010,29(4):77-80.

[8]杨宏,李国辉,常淑娟.基于LabVIEW的虚拟实验室建设[J].现代电子技术,2010,33(7):154-155.

[9]严文娟.LabVIEW在数字电路教学中的应用[J].计算机与现代化,2009(7):123-125.

[10]李敏,陈兴文,刘燕.基于LabVIEW开发数字信号处理综合性实验[J].实验科学与技术,2008,6(5):11-12.

[11]贺良华,王洪亮,王洪雷.基于LabVIEW的虚拟信号发生器的研究与实现[J].计算机测量与控制,2009,17(9):210-212.

[12]SUN Ai-jing,LIU Yu,MA He-zhou.Design of the filter with data acquisition by using audio-card based on labVIEW[J].Journal of Computer Applications,2009,24(5):45-47.

[13]杨大志.基于声卡的信号采集技术[J].仪表技术与传感器,2007,7(7):74-75.

[14]张桐,陈国顺,王正林.精通LabVIEW程序设计[M].北京:电子工业出版社,2008.

[15]吴成东,孙秋野,盛科.LabVIEW虚拟仪器程序设计及应用[M].北京:人民邮电出版社,2008.

猜你喜欢
前面板虚拟仪器服务器端
颜值高和散热强可以并存3款高品质机箱推荐
Linux环境下基于Socket的数据传输软件设计
电竞潮牌范航嘉GX520S机箱评测
电竞潮牌范 航嘉GX520S机箱评测
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
虚拟仪器及其在电工电子实验中的应用
一种基于虚拟仪器的电控柴油机实验台的设计
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
虚拟仪器技术在农业装备测控中的应用