1引言
随着网络技术的飞速发展,一种新兴的教育方式-网络远程教育,正成为世界上高等教育的重要组成部分和培养各类人才的重要形式。针对“教育规模大、教育资源相对不足”的现状,我国正在积极发展网络远程教育,运用先进的信息技术和教育技术整合各类教育资源。与传统教育相比,网络远程教育是一种全新的教育模式,它可以突破时间和空间的限制,帮助人们随时随地学习,让更多的学习者共享优秀教育资源;网络教育具有开放性、交互性、协作性、自主性等特点。
实验,是多数工程类课程和应用类课程的重要一环,对培养学生的观察和实验能力,实事求是的科学态度,引起学习兴趣都有不可替代的作用。实验教学正是通过让学生亲自动手操作,观察事物发展及变化,加深理解和认识从而使观察、思维、分析能力和创新精神得到培养和提高。实验教学一直是网络教育的一个薄弱环节。迫切需要建立多种实用、高效的网上虚拟实验室。利用网上虚拟实验室进行教学,可以解决传统实验教学方式在时间和空间上的限制,大大节约实验成本和经费。并可更好地培养学生的自学及创新能力。随着远程教育的不断普及,网上虚拟实验室也必将得到越来越广泛的应用。
2开发目标
针对成人本科教育的《电路与信号》课程开发配套的可在网上开展的虚拟实验,解决相关的实验教学问题,同时为其他课程的虚拟实验提供可重用的技术和代码。
电路与信号课程实验是一门以理论为基础,以实际操作为主要内容的大中专学校普遍需要开设的课程。所需要的器材种类和数量较多。本系统仿真二十种实验器材电路实验器材,包括:普通电阻、电阻箱、普通电容、电容箱、普通电感、直流电压源、交流电压源、信号发生器、直流电流表、直流电压表、交流毫伏表、检流计、万用表、示波器、选频电平表、单刀开关、单刀双置开关、滑动变阻器、电流表插口板、二极管。
针对电路与信号课程的教学内容,参看了教育部相关文件、多种电路分析实验指导书,以及多个高校的实验指导书,提取出以下七个典型实验:
1)实验一、线性电阻和非线性电阻的伏安特性
2)实验二、元件参数的测定
3)实验三、信号发生器与示波器的使用
4)实验四、戴维南定理的验证
5)实验五、谐振电路的研究
6)实验六、一阶动态电路响应的研究
7)实验七、信号频谱的测量
3仿真系统概述
电路与信号虚拟实验系统提供一个虚拟实验平台,其核心是对电路作数值计算的程序,也就是电路仿真程序。利用平台,教学的模式实现了实验和理论紧密配合,做到先在平台上搭电路,看见电路能干什么,干的怎么样,再从理论上理解为什么会是这样,推论出有一般意义的结论。学生可以随时设计电路,到平台上仿真,检验设计的正确性,考查自己对知识理解和积累的程度。该系统可以用在电路技术基础课程的辅助教学上,诸如:电路理论,电路分析等。在广度和深度上可以满足高校本科、高职乃至中等职业学校电类或非电类不同层次的相类似课程的教学需要。
操作界面的总体布局
界面左右有器材栏,属性栏,中间为实验区。下方有信息提示区。属性栏、器材栏为竖直窗体,位置可自由移动(单击边框,鼠标拖动)。
属性栏:提供用户在实验区中所选择的器材的属性和和对复杂器材的操作。属性栏将随着器材的大小而改变大小。
器材栏:提供当前实验所要使用的器材。使用器材的图标和相应描述文字进行显示和说明。
实验区:在此区域中,搭建实验电路,进行实验操作,仪表读数等。
提示信息出现在实验区的中部下方,提示信息有不同的种类,用户可以选择显示何种信息。
图1:实验系统操作界面
4电路与信号虚拟实验仿真系统的设计与实现
总体设计主要采用MVC机制,即数据、视图、控制器。三者之间相互联系有保证足够松的耦合。其中数据主要用来记录数据和实现一些与操作没有过多关系的功能函数,负责提供具体的数据操作接口和算法的功能实现以及处理控制器不能处理的信息;视图负责绘制,提供给用户绘制的接口,并用来表示器材以及各种操作在外观产生的影响;控制器主要负责处理鼠标以及键盘的输入消息,同时调用数据和视图提供的接口来修改具体的数据和绘制信息。
图2:系统结构
系统基本上由三层组成:引擎层、仿真框架层、具体仿真实现层。引擎层负责底层的绘制,通用界面的绘制,底层信息的采集,信息处理泵的运转,信息处理函数的调用,以及整体的初始化与销毁。仿真框架层提供了一个针对各种仿真系统的较通用的Framework,这个框架是在引擎层的基础上实现的,这个仿真框架层负责仿真流程的运转,为其上层的具体实现层提供针对引擎层的功能调用。具体仿真实现层实现了电路仿真这一具体仿真系统的各种功能,包括电路的模拟仿真算法,以及各种器材的具体布局的模拟。
在Windows下,本软件使用Direct3D作为绘制的底层接口,充分使用硬件技能,达到了在消耗很少资源的情况下快速绘制,从而很好的模拟了示波器等电路设备。本软件作为模拟平台,通过使用组件技术将用户信息管理、实验管理、成绩管理等与仿真模拟比较无关的部分放在了组件之外,使用网页语言来连接数据库并进行仿真无关的逻辑运算,而将仿真组件的重点放在了仿真平台的构建上,明确了重点,为具体的分工提供了可能,从而提高了开发效率和仿真组件的质量。
在构建该系统时,为了节省时间,我们充分利用了已有的框架和函数库和多种设计模式,从而提高系统构建的效率。我们主要使用了MFC类库和STD标准函数库
4.1界面的实现
图3:示波器界面
该系统要提供多种器材的操作,同时,同一个器材的操作与属性在不同的情况下都会有所不同,因此,需要一种可以部分动态实现用户界面的技术,而且通动态实现用户界面技术可以将界面与功能尽量分离在两个层次上,减少界面的更改或内部功能之间的影响,也就是说不改变内部功能代码就可以完成不同风格的界面。
这种实现的基本思想是:中介模块动态读取器材所公开的操作,同时生成这个操作所需要对应的控件(比如“器材重启”操作对应一个按钮),当用户操作这个控件时,控件将这个消息传递给中介模块,同时中介模块将解释这个消息,并调用相应器材的相应操作。这样由于多了这个中介模块,可以使界面不必了解任何内部信息与逻辑,使界面的表现更灵活。
4.2控制器
控制器主要负责处理鼠标以及键盘的输入消息,同时调用数据和视图提供的接口来修改具体的数据和绘制信息。
Classcontroller
{
public:
boolcanHandleEvent()//判断该控制器是否可以控制本事件
voidenter()//进入控制器
boolhandleEvent()//处理鼠标信息,返回的信息表示是否可以更改当前的控制器
}
针对不同的输入决定使用何种控制器,控制器有一个缺省控制器,在当前的控制器是缺省控制器时,控制转换会在鼠标按下和放开的时候调用其他控制器询问是否可以控制当前的消息,如果可以那么交给对应的控制器来处理,并将当前的控制器设置为那个能够处理的控制器。在当前的控制器不是缺省控制器时,控制转换会察看当前控制器的处理信息函数的返回结果,如果结果为false表示需要将当前的控制器设置为缺省控制器。
4.3电路算法的实现
对电路的计算机辅助分析包括线性电路的直流分析和瞬态电路分析。
4.3.1线性电路的直流分析
我们采用的比较常用的结点分析法,该算法通过对电路的解析,得到电路的各种信息;电路的信息包括:结点数和路数;支路的起始和终了结点的序号(令参考结点的序号为0),支路的类型,支路的元件参数。然后根据这些信息,就能够自动建立节点方程并得到各节点电压,从而我们也可以得到其它参数,如电流,功率等。除了结点分析法外,还有网孔分析法、割集分析法等方法。但是,对于比较复杂的电路而言,要建立独立的回路方程或割集方程,必须求助于网络拓扑中选取树支和连支的方法,这样的话比较费事的。而利用节点分析法,只要选取了参考节点,由其他节点所列出的节点方程都是独立的,且建立方程比较简单。在建立结点的过程中,我们采用的是直接填写法,并不采用矩阵乘法,这样就避免了要进行大量的运算,节省了分析的时间。基本上节点分析法可以分析任意复杂的线性电阻网络,包括含有独立的电压源、电流源电路(如图4所示)。基于其复杂性,我们并不包括含受控源和理想电压源的电路。
图4:电路图
4.3.2瞬态电路分析
包括一阶电路和二阶电路,对此,我们采用的是四阶龙格---库塔法(四阶R—K法)。通过得到电路的信息,我们可列出电路方程。但是当电容包含多个电容和电感时,电路方程的列出就比较困难了。所以我们应对电路采取等效或限制电感、电容的数目。
5结束语
仿真系统通过尽量真实地模拟显示客观事物,让使用者具有身临其境的感觉,提高学习实践的兴趣、利用学习到的知识进行仿真实验、弥补不足、加深对所作实验的印象、切实提高动手能力、深入理解所模拟的客观事物。
本实验仿真系统具有如下五个主要特点:
•自由实验(某种限制下的),教师可以自己设计和发布实验
•可独立添加多种实验器材
•易用友好的仪器操作交互方式
•器材内阻的完善考虑,实验误差的较好模拟
•详细周到且功能强大的信息管理系统,基于B/S结构
可以说,系统开发的过程,为解决现代远程教学的实验环节问题,积累了经验,并进行了一些新的尝试和探索。 |