首页 > 范文大全 > 正文

基于FLASH和串行通讯技术模拟训练器的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于FLASH和串行通讯技术模拟训练器的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 介绍一种基于flash和串口通讯技术模拟训练器的实现方案,为开发模拟训练器提供了另一种新方法。

关键词 Flash技术;串口通讯;模拟训练器

中图分类号:TP273 文献标识码:A 文章编号:1671-7597(2014)09-0193-01

在现实工作中,开发模拟训练器,是实践教学的一个创新,在缺少真实设备的情况下,不仅可以节省大量的资源,还可以提高学生的学习热情,但如果采用常规开发方法,其实现难度较大。为此,我们采取了一种基于FLASH技术与串口通讯技术的新开发方法,再通过串口数据驱动技术设计完成了模拟训练器。实践表明,,该方法的可操作性较强,,设备的制造成本可大幅降低,模拟器的仿真程度逼真。

1 模拟训练器的硬件设计

1.1 串口数据通信

总线通信部分采用RS-485总线方式,完成数据采集部分与PC机通信。多块MCU与PC通信可以完成多个串口进行数据通信。

1.2 硬件操纵

对于模拟器的硬件操纵部分,我们以实际设备为标准从外观上进行了1:1的仿制,仿制设备(模拟训练器)的各电门、按钮、油门、手柄在不同位置将输出不同的通讯信号。各设备我们从生产厂定购实物再进行安装。

1.3 显示部分

显示部分包括各种仪表、电门、指示灯的显示。计算机(PC)机实时接受RS-485总线传输的数据,并对数据进行分析、鉴别、筛选和组合,根据各种数据的逻辑关系控制相应的计算机多功能显示器按实际工作情况进行显示。为了解决计算机屏幕尺寸不足的缺点,我们采取了对计算机显示屏进行拼接的技术方法。其显示画面与实际仪器的设备布局完全相同,整体画面我们用3DMAX建模后生成整体的JPG文件。

2 模拟训练器的软件设计

2.1 串行通信

MSComm事件驱动通讯是处理串行端互作用的一种非常有效的方法。在许多情况下,可以利用MSComm控件的OnComm事件捕获并处理这些通讯事件。每个使用的MSComm控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个MSComm控件。具体串行通信程序如下:

Private Sub MSComm1_OnComm()

Dim i%, Buf$

Select Case mEvent

' 借着取代底下每一个 case 语句来处理每个事件

Case comEvCD ' CD 线的状态发生变化.

Case comEvCTS ' CTS 线的状态发生变化.

Case comEvDSR ' DSR 线的状态发生变化.

Case comEvRing ' Ring Indicator 变化.

Case comEvReceive ' 收到 RThreshold # of

Buf = ""

InByte = MSComm1.Input

For i = LBound(InByte) To UBound(InByte)

Buf = Buf + Hex(InByte(i))

Next i

If Buf "" Then

Text1.Text = Buf

SS = Buf

End If

Case comEvSend ' 传输缓冲区有 Sthreshold 个字符

End Select

End Sub …

2.2 数据驱动

利用VB软件中的ShockwaveFlash控件实现对预先做好的Flas进行加载。利用VB软件中的Timer控件对Text1.Text进行监听,从而触发各类事件,使模拟训练器主画面进行相应的动作。在此,主要利用FLASH动画加载技术来实现图片替代、图片旋转、声音加载与画面转换。我们将所有的事件放置于统一模块中,从而方便各类事件的调用。主要程序代码

如下:

Private Sub Timer1_Timer()

Select Case Text1.Text

Case "" '加载初始画面

Form1.Show

Form2.Visible = False

Case "10" '按下开机按钮

Form1.Show

Form2.Visible = False

Case "20" '按下设备打开按钮,默认为左转

Form1.Show

Form1.ShockwaveFlash1.Movie = App.Path & "\flash\左电压表旋转.swf"

Form1.ShockwaveFlash1.Play

Form2.Text1.Text = 1

Form2.Text4.Text = 1

Form2.Visible = False

Case "60"

Form1.ShockwaveFlash1.Movie = App.Path & "\flash\左电压表归零.swf"

Form1.ShockwaveFlash1.Stop

Form2.Visible = False

End Sub

3 结束语

利用3DMAX软件给制真实设备显示面板布局,利用仿制技术安装好各电门、手柄、油门、按钮,利用Flas加载技术与Flash交互动画技术,就可以高效、快捷地仿真各种类型的模拟训练器。与传统的模拟训练器设计相比,此设备思路具有设计简单,对硬件要求低等优点。此设计为设备仿真实现提供了一种新方法,同时也为真实设备操纵或监控提供了一种新思路。

参考文献

[1]李松,钟垣.Flash数据库动态开发专业教程[M].北京:清华大学出版社

[2]马世霞,刘丹,茹庆云,等.基于VRML的虚拟实验室的设计与实现[J].计算机应用与软件,2008,25(5):193-194.

[3]宋希录,李和滨,尹华.驾校信息管理系统研究与设计[J].计算机应用与软件,2008,25(10):163-164.

[4]薛小龙.ASP典型系统实战与解析[M].北京:电子工业出

版社.

[5]杨志姝,冯小飞.ASP+SQL Server基础练习+典型案例[M].北京:清华大学出版社.

作者简介

李雅,女,辽宁营口,副教授,研究方向:模具设计与虚拟仿真。