首页 > 范文大全 > 正文

基于JAVA技术的网络仿真实验室的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于JAVA技术的网络仿真实验室的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对传统实验教学中存在的若干问题,利用JAVA技术开发了基于WEB环境下的网络仿真实验室。以传感器技术课程为例,介绍了仿真实验的设计方法、操作和效果。仿真实验经过了多年的教学实践,系统运行稳定、可靠、具有较好的人机交互性,能够通过动态交互、可视化等形象手段,激发学生学习兴趣,弥补实验学时不足等问题,取得了良好的教学效果。

关键词:实践教学;仿真实验;远程教学;传感器

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)16-4001-03

The Design and Implement of Network Simulation Laboratory based on java

ZHANGXiao-qin

(Changzhou Institute of Technology, Changzhou 213002, China)

Abstract: Simulation laboratory is developed to solve the problems in the traditional teaching. This paper introduces the design method, the operation and the results of the simulation experiments on the sensor courses. The simulation system is stable, interactive which achieves better teaching results on the inspiring interest and the compensation test time.

Key words: practical teaching; simulation experiment; distance education; sensor

为适应社会对复合型、创新型人才的需求,学生实践能力的培养至关重要,而国内高校“仪器+实验报告+简单数据分析=实验”的实践教学方式已经很难满足人才培养的要求。为使学生得到良好的训练,就需要购置很多昂贵的教学仪器,但国内高校普遍存在资金投入不足的问题。同时实验所需的各种元器件的损耗也非常大,被损耗的元件或设备又往往无法回收,造成很大的浪费。因此用以计算机技术为基础的仿真实验代替传统的实物实验己成为现代计算机辅助教学的一个新的发展方向。本文以传感器技术[1]课程实验教学为例,利用JAVA语言设计了基于网络环境的仿真实验室,以虚拟的元件、仪器取代传统的实验设备,既节省了有限的教学与科研经费,实验教学内容的及时更新也更加方便,同时很好的解决了远程教育过程中如何对远程用户进行实验教学的问题。

1 网络仿真实验室开发工具JAVA及其类层次结构

网络仿真实验室由客户端、服务端和控制器三部分组成。用户无论在何时何地,只要使自己的计算机联入英特网,就可以通过浏览器访问网络实验室服务器。服务器和客户端、控制端的通信采用基于TCP/IP协议的Socket通信技术。

仿真实验用SUN公司的网络编程语言JAVA编写[2-3]。JAVA语言具有跨平台、跨操作系统等特点,具有丰富的动画表现能力,安全性和稳定性也很高,特别适合于网上仿真软件的开发。JAVA语言的最大优点是“一次编译、随处运行”,这使JAVA语言编写的程序能在不同软件、硬件平台上运行,无须考虑机型的不同。JAVA、WEB和Internet有共同的网络通令协议TCP/IP,包中的Inet Adress、Socket等类对TCP/IP协议提供了良好的支持。JAVA应用程序(Applications)能在网路上开启及连结使用物件,就如同透过URLS连结使用一个本地文件系统(Local File System)。故基于JAVA和WEB的仿真实验系统既能在局域网上运行,又能在广域网和Internet上运行。

JAVA语言是一种典型的面向对象的编程语言,在面向对象编程思想的指导下,本系统类层次结构分为WKMath类、WKGUI类、WKApplication虚类以及在Applet主类等[4]。WKMath类承担了整个仿真系统的全部数学计算。比WKMath类更高一层的是WKGUI类,它起着沟通用户与仿真计算的作用,是整个系统的可视化部分。在WKGUI和最终用户MyApplication之间,还有一个WKApplication虚类,如果想使用WKMath和WKGUI所提供的通用的数学函数和图形控件实现具体的仿真试验,程序员必须派生WKApplication虚类,并且实现其中的Main( ) 和On Event(WKMsg msg)方法。在Applet主类中,定义Panel对象的一个实例,用setLayout()布局,并加入Container中去,调用AddComponent(…)方法,完成模块控件的建立、设置、布局以及监听的所有功能。用户可以用鼠标和键盘对这些控件进行添加、布置和管理操作[5]。

2 仿真实验实例

利用WEB技术结合JAVA语言设计的传感器网络仿真实验室,构造了传感器应用和工程测量环境,包含光栅传感器位移测量演示实验、光电传感器机械产品计数实验、电阻式传感器称重实验等。同时该仿真实验能够与网络教学平台无缝衔接,网页运行界面如图1所示。

下面介绍几个实验的运行方式及效果。

2.1 光栅传感器位移测量演示实验

2.1.1 实验原理

光栅传感器的两光栅相对移动一个栅距W,则形成的莫尔条纹也相应的移动一个条纹间距,固定点的光强也变化一周。若用光电元件接受光强的变化,则可将光信号转换为类似正弦信号的电压信号输出,信号的大小变化同样为一个周期。通过后续整形、计数电路等可记录一个脉冲。这样当被测物体移动,只要能够记录下输出信号的脉冲数,然后将其与栅距相乘,就可以实现位移的精确测量。

2.1.2 实验操作及运行效果

点击图2中的“继续”按钮,指示光栅向前移动四分之一个栅距,光电传感器接受的光信号发生变化,电压信号的输出也同时发生变化,屏幕上显示输出电压信号的波形。如图2(a)所示。再次点击“继续”按钮,光栅分别移动1/2、3/4、1个栅距,输出电压信号的继续发生变化。当两光栅相对移动一个栅距W,固定点的光强也变化一周,输出一个周期的类正弦电压信号输出。如图2(b)(c)(d)所示。通过实验演示,学生可以加深对莫尔条纹的产生、特性及光栅测量原理的理解。

2.2 电感式传感器的压力和位移测量实验

2.2.1 实验原理

电感式传感器利用电磁感应把被测量物理量的变化转换成线圈与衔铁间的间距、相互之间的截面积以及导磁率的变化,并引起线圈的自感系数的变化,再由测量电路转换成电压或电流的变化输出,实现非电量的电测量。

2.2.2 实验操作及运行效果

如图3所示,利用两个完全对称的单个自感传感器合用一个活动的衔铁,构成差动自感传感器,后接变压器电路。实验时点击“上移、下移”按钮,可以改变输入的压力大小,传感器的衔铁会随之上、下移动,输出电路的电压会随之发生相应变化,记录实验数据可分析传感器的输出特性。

2.2.3 主要程序

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==xia)

{i=i+1;

j=j+3;

if(i>9)i=9;

if(j>27)j=27;

repaint();

redraw();

}if(e.getSource()==shang)

{

i=i-1;

j=j-3;

if(i

if(j

repaint();

redraw();

}

2.3 电桥平衡条件演示实验

2.3.1 实验原理

以电阻R1、R2、R3、R4作为四个桥臂,在a、c两端接入直流电源U0,在b、d两端输出电压Uy。

由此可以看知,若要电桥平衡,即输出电压为零,应满足R1R3=R2R4

2.3.2 程序操作与界面

程序操作界面如图4所示,点击“增加”和“减少”按钮可以相应的增加和减小电阻值,或者选择直接在文本框中输入电阻值。当输入电阻数据之后,就可以得到输出电压,很直观的判断电桥是否平衡,从而使学生加深对电桥平衡条件的理解与掌握。

2.3.3 主要程序

if(evtObj.target instanceof

TextField )

{

if(evtObj.target==tlist[0])

{

dz1=Integer.parseInt(R1.getText());

if(dz1>125||dz1

a=dz1-75;

}

else if(evtObj.target==tlist[1])

{

dz2=Integer.parseInt(R2.getText());

if(dz2>125||dz2

b=dz2-75;

}

else if(evtObj.target==tlist[2])

{

dz3=Integer.parseInt(R3.getText());

if(dz3>125||dz3

c=dz3-75;

}

else

{

dz4=Integer.parseInt(R4.getText());

if(dz4>125||dz4

d=dz4-75;

}

repaint();

redraw();

return true;

}

3 结束语

利用JAVA的面向对象技术构造的小程序可以和传感器技术课程网络教学平台无缝链接,学生无需下载,直接能在网络上开启及连结使用物件,进行仿真实验,教师也可以在上课中进行仿真演示。这样就给学生一个较为形象的测试环境,学生可以更好的理解传感器的特性以及在测试系统中的作用,很好的弥补了实验学时不足的问题。

基于JAVA的传感器网络仿真实验室已经挂靠我校网站供学生使用,运行可靠、稳定。借助于网络,实现了资源共享,改善了教学条件,同时解决了目前远程网络教学中缺乏实验环境的难题。系统通过动态交互、可视化的形象手段,激发了学生的学习兴趣,取得了良好的教学效果。

参考文献:

[1] 郁有文.传感器原理及工程应用[M].西安:西安电子科技大学出版社,2008:25-28.

[2] 马皓.JAVA语言程序设计[M].北京:清华大学出版社,2000:78-85.

[3] 耿祥义.JAVA基础教程[M].北京:清华大学出版社,2009:254-262.

[4] 喻红,高峰.用JAVA语言开发网上实验[J].微型电脑应用,2000(5):59-60.

[5] 陈菲,陈淑珍,吴小伟,等.用Java实现网上结构图实验仿真[J].武汉大学学报:理学版,2002(5):621-625.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文