APP下载

基于LabVIEW与Access的虚拟实验教学系统

2016-11-19宁芬周庆华唐立军邓敏罗雪伦王广鹏

智能计算机与应用 2016年5期
关键词:虚拟实验

宁芬 周庆华 唐立军 邓敏 罗雪伦 王广鹏

摘要:基于LabVIEW开发环境与Access数据库构建了一个虚拟实验教学系统。该系统应用教育电子身份号(e2ID)实现系统用户的实名制,基于LabSQL访问Access数据库的方法实现了用户登录与管理功能,并采用可扩展的实验模块设计。以信号调制解调实验为例介绍了实验模块的设计与实现。

关键词:LabVIEW; LabSQL;虚拟实验;登录管理

中图分类号 TP311.56 文献标识码:A

A virtual experiment teaching system based on LabVIEW and Access

NING Fen, ZHOU Qinghua, TANG Lijun, DENG Min, LUO Xuelun, WANG Guangpeng

(School of Physical & Electronic Science, Changsha University of Science & Technology, Hunan 410114, China)

Abstract: The paper builds a virtual experiment teaching system based on the LabVIEW development environment and Access database. The system applied educational electronic identity(e2ID)to realize system users real-name system. Realized the function of the user login and management based on the method of LabSQL accessing Access database. Meanwhile, taking signal demodulation experiment as an example, this paper also presents the design and implementation of experiment module.

Key words: LabVIEW; LabSQL; virtual experiment; log management

0 引 言

实验是教学系统中不可或缺的一个重要环节,能够培养学生的实际操作能力,推动学生系统完善地构建自身知识体系。然而,实体实验需要的仪器设备在数量逐年递增的同时,投资也日趋紧张,多数高校都难以全面满足仪器设备附加的教学实验要求,同时在实体实验操作时也会出现实验设备老化,实验时间多方受限等各种情况[1]。因此,虚拟仪器应时而生,吸引了学界的关注与重视。虚拟仪器是基于计算机的软硬件测试平台,不仅能替代传统仪器,而且具备低成本、性能更新时效快、应用方案灵活等优点,从而在信息领域的教学、实验、研究等领域呈现出卓越潜力与优势。

LabVIEW是美国国家仪器公司(National Instruments.NI)推出的一种用图标编程来代替文本编程的G语言,通过图标来创建应用程序框图[2]。相较于传统的编程软件,其开发效率更高,同时内部设定的扩展函数库还为编程用户们提供了众多的功能实施便利。基于如上背景所述,本课题即以LabVIEW2014为开发平台,研发提出了一个虚拟实验教学系统[3]。实践证明,系统优点在于高端强大的实时性和交互性,以及良好的可扩展性,因为具有一定的实用推广价值。

1 虚拟实验教学系统总体框架

虚拟实验教学系统的设计采用模块化设计思想,根据系统的功能实现划分登录模块和实验模块。图1则为虚拟实验教学系统总体框架。

系统应用教育电子身份号(e2ID)实现系统用户的实名制。e2ID是教育管理部门根据个人基础信息和随机数生成的标识码,可以在设定用户实名制的同时保障用户的隐私[4]。e2ID用户在通过身份验证后才能够使用系统各项功能,这样不仅保护了系统的私有数据,也给整个实验教学系统程序提供了安全屏障作用[5]。用户登录后,可以查看以往实验的成绩、并选择实验自行开启操作演练,实验完成后还可将实验结果的分析报告进行保存和提交。此外,还可以对系统提出建议,管理员会实施可行性改进处理。管理员还能适时增加实验操作的例程设置,使实验选择不至于局限,从而开拓加强系统学习应用领域中学生才能的广泛发挥和展现空间。

特别指出的是,LabVIEW内部有大量的用于信号处理的分析函数,因此尤其适合《信号与系统》、《数字信号处理》和《通信原理》等课程的虚拟实验项目开发,本系统的实验模块采用可扩展设计,并以信号调制解调实验为例介绍实验模块的设计与实现。

2 用户登录与管理模块的设计与实现

2.1 LabVIEW与数据库

用户可以创建一个登录系统来实现数据库的访问,但是LabVIEW本身并不具备数据库访问功能,通常利用其扩展工具包来解决这一问题。研究可知,常规情况下可使用以下5种方式实现LabVIEW与数据库的连接。具体论述如下。

1)利用NI公司的附加工具包LabVIEW SQL Toolkit进行数据库的访问;该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能[5]。不仅功能强大,操作简单,而且也不需要学习SQL语法,但却需要额外购买,价格昂贵,将会增加系统成本。

2)利用LabVIEW的ActiveX功能,调用Microsoft ADO控件,选用SQL语言实现数据库的访问;使用这种方法需要用户对Microsoft ADO控件以及SQL语言有颇深的了解,并且需要从底层经由复杂的编程才能获得实现,这对于大多数用户来说也是不现实的[6]。

3)通过调用动态链接库 ( dynamic link library ,DLL) 实现数据库访问,先编写 DLL,再利用LabVIEW的调用库函数节点(calling function node ,CLFN) 调用此 DLL访问数据库。该方法的执行过程需要配合以复杂繁琐的编程,因而不利于非专业编程人员设定功能的预期达成。

4)利用中间文件存取数据。先将数据暂时存放在开发平台中的文件夹,待仿真结束后再用专门的软件工具将数据导入到数据库中。这种方法过过程操作繁复,并不利于使用。

5)利用第三方开发的免费工具包LabSOL来进行数据库的访问。LabSQL进行数据库访问实际是利用Microsoft ADO和SQL语言将繁杂的低层操作通过封装来生成实现的。也就是, 将其转换为许多对应的 LabSQL Vis,简单易用。

综上分析比较可得,本文设计的数据库访问是采用免费的工具包LabSOL来支持实现的。因其不仅能免费获取,应用简单便捷,同时,几乎还可以对任何类型数据库设计配备查询或操作,实用性强,为教学系统研发提供理想工具。本文采用的是access数据库。在使用LabSQL之前.首先需要在windows操作系统的控制面板中,调用“ODBC数据源管理器”创建的Access类型的MDB数据库。

在登录系统中很多时候都要用到数据库连接,因此将其作为一个独立的VI,首先创建connection对象,然后利用ADO Connection Open.vi建立与数据库的有效连接,“DSN=mydb”,并调用SQL获取数据库中的全部信息,最后引用ADO Connection Close.vi关闭与数据库之间的连接。

2.2 用户权限

用户登录系统中设置有用户权限,分别为管理员用户和普通用户。进一步地,管理员用户登录后的主界面包括“实验操作”“用户管理”“修改密码”“退出管理”等功能项目,而登录账号的权限是普通用户,此时“用户管理”这个事件结构属性将设置为不可见,从而将不会具有“用户管理”这一项功能操作。

2.3 用户登录

用户登录与管理系统的主程序利用事件结构,分别建立“用户登录”“用户名”“用户密码” “进入系统”“用户管理”“修改密码”“退出系统”等7个子事件。用户登录程序框图如图2所示。

利用用户名和用户密码进行用户登录。如果用户名、密码和数据库的数据匹配,则进入登陆后主界面;反之如果用户名、密码和数据库的数据并不匹配,系统将出现“您输入的用户名或密码错误,请重新输入”的错误提示。

用户登录后主界面如图3所示,除了基本的功能按键,主界面的左边显示有用户的基本信息,包括“用户名”、“用户权限”、“登录次数”以及上次登录的时间。

2.4 用户管理

管理员用户点击用户管理,程序会打开“用户管理”主界面,界面内容如图4所示。能够对数据库建立相关操作,其功能实现分别有“增加用户”、“删除用户”、“退出管理”进行用户增减。同时,双击用户就能转入编辑,不仅能对用户名密码进行编辑,还能对其用户权限开展监控修改。当点击退出管理时,能直接跳到图2主界面。用户管理的功能实现也是通过事件结果,和用户登录系统的编程方式类似。

至此,已经实现了一个基本的用户登录管理系统。本程序采用了LabVIEW程序开发中常用的模块化结构,将程序分为主程序和子程序,两者之间相互嵌入并连接,形成一个完整的用户登录管理系统。

还需提及,在程序的主界面有修改密码这一类项,单击“修改密码”,程序将调用“输新密码”子VI,在此程序设定中,采用了条件结构,具体就是利用SQL命令“请输入你的新密码=‘”修改密码,只有当输入2次的密码完全一致时,才能符合条件“真”更新数据库。而后延时100ms,将会弹出程序框图中的字样“密码修改成功,请记住新密码”。普通用户若要修改密码时,可直接在此处执行修改;而当普通用户忘记了密码,则需联系管理员来协商修改密码。

3 实验模块的设计与实现

本文将实验进行模块化设计,利用事件结构实现子程序的调用,使实验模块操作更加简洁容易。系统的实验模块采用可扩展设计,可在实验模块上增加任意课程所需的虚拟实验,强化教学系统实验教学的广阔适用性。登录管理模块与实验模块之间的控制表现为核心与从属的关系,通过主界面单击“实验操作”,能进入虚拟实验操作界面。同时各模块之间又存在相互独立性,实验模块可进行分离的扩展设计。下面将以信号调制解调实验为例介绍实验模块的设计与实现全过程。

调制解调,是调制和解调的合称。本调制解调实验限定采用4种调制方式,分别为振幅调制(AM 调制)、双边带调制(DSB调制)、单边带调制(SSB 调制)、残留边带调制(VSB 调制)。振幅调制就是双边带调制,即将调制信号叠加直流后再与载波相乘的调制方式,如果在振幅调制中不叠加直流分量,便得到功率利用效应颇佳双边带调制方法[7]。此外,还有单边带调制方法——仅传输双边带信号的一个边带(上边带或下边带)调制,及残留边带调制方法——不像单边带调制那样,将产生的双边带已调信号的其中一个边带完全滤掉,而是逐渐切割,使其中一小部分得以残留。残留边带调制既解决了DSB 调制所出现的占用频带宽的问题,又克服了SSB 调制中边带滤波器难以达到理想滤波器的缺点。

调制解调虚拟实验的LabVIEW编程主要利用条件结构,通过旋钮的2、3、4、5来切换AM 调制、DSB调制、SSB 调制、VSB 调制等不同调制方式。同时,为了方便教学,在实验操作面板附加配备了说明信息和使用说明2个按钮,其中内嵌了两个不同的文本子VI,点击这2个按钮,就会呈现此实验的基本知识和实验原理,以及操作实验流程等详细的内容信息,能够清晰助益学生对知识及实验主题的掌控与理解。在实验报告中写下相关结论,点击实验报告保存按钮,就会在报告中生成实验图像,生成一份完整的实验报告。调制解调实验的界面操作如图6所示,其LabVIEW 程序框图如图7所示。

4 结束语

本文基于LabVIEW开发环境与Access数据库构建了一个完整的虚拟实验教学系统。通过对LabVIEW的编程与数据库技术的分析,采用LabSQL访问Access数据库的方法实现了用户登录与管理功能,从而提高系统的安全性,方便用户操作。本文最后还展示了实验模块中信号调制解调虚拟实验的设计与实现。此实验突破传统的理论教学,通过虚拟仿真,便利同学观察调制解调的波形,加深学生对理论知识的理解,提高学生的实践素养和综合技能。

LabVIEW已成为近几年虚拟仪器开发的首选开发软件,易学易用、功能强大。利用LabVIEW设计的虚拟仿真实验,在教学上,能通过仿真配合理论知识讲述,改善授课的效率和学生的接受能力,课后学生能通过仿真实验开展自主学习和研讨,独立的实验则使学生能够增进解决问题中的发散思维,这样更能激发学生对课程知识的热情和探索欲,提升创造力与创新意识。本文的设计实践也为此后研究进展提供了一个可借鉴的有益思路。

参考文献

[1]陈昌鑫,马英卓,代月松,等.基于LabVIEW的虚拟实验系统设计[J]. 电子科技,2011,24(7):85-87.

[2]程丽平. 基于LabVIEW的虚拟实验教学系统开发[J]. 中国科技信息,2012(20):84-85.

[3]刘明珠,刘雨晴,乔季军,等. 基于LabVIEW的通信原理虚拟实验平台的设计[J]. 实验技术与管理,2015,32(4):123-126,160.

[4]许美玲,李春茂,褚召伟,等. 基于LabVIEW的用户登录数据库系统[C] //2010电工理论与新技术学术年会论文集.重庆:重庆市电机工程学会,2010:104-106.

[5]万文略,崔冰波. LabVIEW在测控系统登录与管理中的应用[J]. 自动化仪表,2012,33(4):30-34.

[6]张淑敏,毕丽红,马艳芳.基于LabVIEW的数据库管理系统[J]. 工业控制计算机,2010,23(9):5-6.

[7] 朱燕,曹磊,王庆春,等. 基于LabVIEW的模拟调制解调系统设计[J]. 现代电子技术,2012,35(7):183-186.

猜你喜欢

虚拟实验
电子信息工程专业“自动控制原理”课程教学改革
虚拟现实技术在初中物理实验教学中的应用
基于Xenserver的虚拟网络实验平台建设
电子设计大赛与电工电子设计实训课程改革
基于虚拟实验技术的单片机课程实践教学改革研究
三维虚拟实验系统研究探讨
基于“教学学术”理念的倒立摆控制系统设计
基于MATLAB仿真的电机与电力拖动交互式课堂教学模式探究
虚拟实验在初中物理实验教学中的应用策略研究
信息化条件下虚拟实验在高职数学教学中的应用研究