0 引言
实验教育是现代教学不可或缺的一部分,是学生实践技能提升的关键环节,在工科类高等教育中扮演着尤其重要的角色。但由于设备老化速度快、故障率高、维护投入大、资金需求高等问题,传统实验室的局限性比较大。因此,有必要建立一个满足学习和培训需要的、具有较高开放性和实用性的基于网络的实验室。网络实验室主要有两种形式:一种是基于实物设备的网络实验室;另一种是虚拟仿真的网络实验室。由于基于实物设备的网络实验室资源有限,无法同时满足所有学生的实验请求,而一些EDA商业软件(如Pspice和Multisim)既没有针对课程实验的具体场景,过高的操作基础要求也带来了很大的局限性。基于TCP/IP协议的双CS结构网络实验室,利用流式套接字技术和自定义TCP/IP协议,优化了通讯流程。所介绍的是基于B/S架构的虚拟实验室,客户端由Java Applet实现,并通过Java类来传输用户操作请求。提出基于Web技术,在LabVIEW环境下利用Remote Panels技术和Run-Time Engine引擎实现远程访问及控制的虚拟实验室解决方案。
浙江大学网络实验室开发的“电工电子学科在线虚拟实验平台”是国家科技支撑计划重点项目“虚拟实验教学环境关键技术研究与应用”的子课题。虚拟实验室采用Web浏览器方式构建平台,避免了多个操作系统间的兼容问题,利用Modelica进行元件的统计建模,并开放代码以方便新实验的增加和项目的扩展。 本研究着重讨论利用虚拟网络实验界面的设计实现以及Modelica对元件的建模方法,并将实验结果与EDA软件仿真结果相对比,用以展示统一建模语言的优势和影响。
1 虚拟实验平台设计
虚拟实验平台的设计需要考虑通讯协议、模型建立、界面可视化等多方面因素。浙江大学虚拟实验平台利用统一建模语言Modelica对实验所需元件进行建模,界面中的所有器件均可自由拖动连接,用户可以方便地组建电路进行实验,管理员也可以在后台直接操作更改实验。
1.1 结构组成
虚拟实验平台的结构由浏览器端、管理端和实验端3部分组成,如图1所示。
图1 虚拟实验平台结构示意图
(1)浏览器端。客户端采用浏览器方式,作为人机交互的界面,用户在此进行实验设计和操作。客户端开发的基本结构有两种典型结构:客户机/服务器(Client/Server)结构和浏览器/服务器(Browser/Server)结构。由于前者需要安装客户端桌面程序,通常会出现兼容性问题,并且操作复杂、数据传输速度慢。本研究采用Web浏览器方式,既避免了多个操作系统间的兼容问题,并且应用简单方便、稳定性强。
(2)管理端。服务器是管理端的主要结构,负责实验数据的转发和用户管理;平台共有3个相应的服务器:数据库服务器、Web服务器以及计算服务器,各自独立存储管理端所用的全部数据,保证实验平台的正常运行。
(3)实验端。其功能是专注于仿真计算和结果数据的传输。平台通过多个计算节点共同承担虚拟仿真的结果计算工作,整个流程为:计算监控模块监听用户请求,实验调度模块分配计算任务,计算模块完成仿真计算等过程后将结果反馈,同时关闭计算进程以释放系统资源。
1.2 平台可视化及用户界面设计
在虚拟实验前台界面的设计中,开发者利用Flex Builder开发Flex插件应用程序,使得其运行在用户浏览器中的Flash Player中,用户的任何操作都将通过Flex插件显示于浏览器中。Flex插件提供可视化的操作环境,供用户进行实验操作;同时与数据交换层进行通信,完成实验过程。
1.2.1 平台可视化开发
在应用程序开发中,开发环境和运行环境都和开发语言分不开,ActionScript是一种面向对象的开发语言,起初只能在Flash开发环境中开发和编译,随着技术的发展,能够开发ActionScript的软件逐渐增多。但是,无论ActionScript程序是在何种环境或工具下开发的,最终都会被编译生成扩展名为.swf的文件,在Flash Player上运行。Flex Builder是用于构建应用程序的集成开发环境(Integrated Development Environment,IDE),是一个基于丰富的ActionScript语言的开发框架。Flex Builder集成了大量的可视化组件,如滚动条、复选框、列表框等。这些组件都由适当的行为构成,所有添加具备强大功能的交互界面元素只是一拖一放这样简单。因为所有的组件都由标准的图形构成,只需编辑组成组件外观的图形或者使用外观样式就可以改变组件外观。
1.2.2 用户界面设计
用户操作平台所包含的界面元素由MXML语言描述,主体界面元素包含3个组成部分:器件列表、实验桌和实验工具栏。每个Flex插件将覆盖一门课程的虚拟场景操作平台,左侧器件列表罗列了当前实验课程可供使用的元器件(使用XML统一描述列表内容),右侧实验桌供用户拖拽和连接元器件,上方工具栏供用户对操作平台进行简单的配置。除了这3个主要界面元素以外,每个元器件都需要一个属性面板供元器件属性配置,测量仪器仪表类元器件还需要一个虚拟仪器面板供结果显示。虚拟实验平台用户登录界面如图2所示。
图2 虚拟实验平台用户登录界面
2 Modelica统一建模
Modelica语言是日前被广泛使用于不同领域建模的统一建模语言,它具有模型重用性高、建模语言简单等特点。作为一种基于陈述式方程的建模语言,Modelica模型由描述不同领域子模型规律特性的一系列数学方程构成,系统通过计算求解微分代数方程实现仿真运行,因此开发者可以任意开发具有特定属性规律的相应器件。
2.1 器件的建模
Modelica提供了一个常用的模型库,内容包括各个领域的器件模型,一些最基本的对象已经预存到Modelica标准库中,用户町以直接调用,复杂对象则需要用户自行构建。虚拟网络实验平台中所需的大部分元器件均来自于模型库,模型库中不存在的元件由开发者自行建模。
以数字电路译码器实验为例,数字电路译码器实验的设计实现的关键是对器件进行建模,泽码器实验主要依托74LS138译码器元件,其他元件包括电源、电压表、示波器等,而Modelica模型库中已有其他器件的模型,所以本研究在此将工作的重点投入到74LS138译码器建模上来。虚拟实验室中非标准库内元件的建模通常有两种途径:①基于标准模型库中的已有模型,即按照所需器件的性质或逻辑,对已有模型进行相应的连接,完成建模;②自主构建,即按照所需器件的电路特性,完全通过建立描述方程来创造新的器件模型,不需要Modelica基本库中的模型信息。由于74LS138译码器逻辑特性复杂,若采取上述第②种方法自主构建,特性方程很难描述且过于繁琐,因此本研究采用方法①。本研究利用标准库中的“与非门”基本模型,按照译码器逻辑(如图3所示),通过连接相应的管脚,完成对译码器元件模型的组建。Modelica提供了非常强大的组件模型,因此通过Modelica语言的连接机制可以实现组件虚拟连接。但是连接必须基于相同类型的连接器connector,各种元件的连接器类都已经定义完成。在建模中,connect语句用来连接各个部件,体现了模型组织的组件连接机制,组件之间的耦合关系(connect)需要在生成方程中体现。
图3 74LS138译码器逻辑图
2.2 实验场景的搭建及可视化关联
实验场景的搭建利用上述Modelica基本器件,通过连接器,按照实验要求连接而成,同时需要完成实验场景模型中参数的初始化设置。除此之外,本研究还需要将译码器实验添加到整个实验平台的实验插件中,以确保元件及试验场景可以正常的供用户使用。
以数字译码器实验为例,实验内容为验证74LS138译码器元件的内部逻辑.因此需要令控制端G1=1,G2A+G2B=0,使译码器处于工作状态,通过改变输入端A、B、C的输入信号组合,观察输出端Y0~Y7的信号,以此验证泽码器的逻辑。试验场景的搭建需要首先定义控制端信号BT(k=true)、BF(k=false)和输入端信号DT(k=true)、DF(k=false)。然后,本研究将BT与G1相连,BF与C1A和C1B相连,使译码器处于工作状态。输入端则可以通过不同组合来模拟不同的输入,同时输出端Y0~Y7分别接LED指示灯(Modelica标准库内基本模型),用以判断电平的高低。
实验模型建立完毕,但Modelica模型仅仅是后台计算节点所依托的模型,只有将其与前台FLEX插件可视化元素之前通过数据交换层建立通信后才可完成整个实验的可视化界面。当用户在FLEX插件上进行操作时,实验场景的数据包将会通过数据交换层以XML语言的格式被交换到实验端,实验端解析数据包并调用OpenModelica求解编译器OMC将信息编译为可执行文件并存储在本地。本研究运行可执行文件进行计算仿真后将结果数据返回,并在Flex插件上显示相应可视化结果。因此本研究需要给器件建立相应的实验插件关联才可以使其在实验平台中出现,供用户拖拽摆放。本研究首先将译码器的可视化图片添加到平台素材库中,使用SVG以XML语言描述图片的二维属性,并将译码器元件名称添加到描述器件列表的文件(后缀名为.as)中,编写译码器的XML描述文件,定义各管脚的坐标,并与素材库中元件的可视化图片二维属性相关联。完成译码器元件的可视化工作后,译码器元件才会出现在实验界面左侧的器件列表中。
3 结果测试比较
下面以数字电路译码器实验为例,利用EDA软件Multisim对相同实验场景进行仿真,记录实验结果。本研究将操作界面与结果反馈同虚拟网络实验平台相比较,得出虚拟实验平台的优势及成果。
3.1 仿真软件Multisim及测试结果
Multisim是美国国家仪器(NI)有限公司推出的基于Windows操作系统的商业仿真软件,凭借对SPICE复杂内容的高度提炼,Multisim已经广泛用于电路的仿真和分析,由于对用户的SPICE技术要求不高,相较于其他PDA软件,Multisim更适合电子电路的教学。Multisim软件中提供了可供选择、拖拽的可视化模型库,几乎涵盖了大部分电路设计所需的元器件。本研究利用模型库内元件搭建译码器实验场景,令G1=1,G2A+G2B=O,使译码器处于工作状态。以输入端A=B=C=1为例,得到输出端结果Y0=Y1=Y2=Y3=Y4=Y5=Y6=1,Y7=0,Multisim中译码器实验场景及输出结果如图4所示。
图4 Multisim译码器实验场景及输出结果
3.2 操作及结果比较
浙江大学虚拟实验平台为用户提供了基于Web网页形式的开放实验室,用户无需下载客户端,登录网页即可进行实验。用户通过从左侧器件栏中拖拽元件,完成电路连接后,点击“运行实验”即可进行仿真。以译码器实验中输入信号A=B=C=1为例,实验开始,数据返回。可见输出管脚Y0~Y6所接的发光二级管均为点亮状态,说明这7个管脚的输出为高电平;输出管脚Y7仍然处于熄灭状态,说明该管脚输出为低电平。结论与Multisim仿真一致,符合译码器元件的输入,输出逻辑,实验结果准确。浙江大学虚拟实验平台译码器实验界面及返回结果如图5所示。
图5 浙江大学网络实验平台实验场景及返回结果
与Multisim等商用软件相比,浙江大学虚拟网络实验平台无需付费,操作门槛低,更适合中、高等院校的电子电路教学使用。译码器实验中8个输出端(Y0~Y7)分别连接发光二级管,通过观察二极管的明暗变化来判断输出电平的高低,与EDA软件的示波器界面相比,结果显示更加直观。实验场景上方工具按钮提示清楚,功能明确,实验界面更加人性化,易于被学生接受。除此之外,实验平台避免了软件下载和本地安装的麻烦,用户可以随时随地方便地进行实验。平台的可视化效果真实,场景与实物电路非常接近,实验的还原度高,结果返回准确快速,便于学生理解和实践学习,对电工电子实验教育具有很高的价值和实际意义。
4 结束语
浙江大学数字电子技术网络实验平台操作简单,界面可视化拖拽效果流畅,结果返回准确快速,整个平台指导性强,有助于提高学生的知识理解能力、问题分析能力以及新知识探索和运用能力。
该平台可以满足所有用户同时登录实验的需求,有效地分担了传统实验室硬件设备资源的压力。同时,开放的代码及模型为构建添加实验提供了方便,减少了设备更新的成本和消耗,提高了实验效率,在实际教学活动中有着一定的指导意义。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/