仿真软件中虚拟仪表的建模应用

点赞:28598 浏览:132239 近期更新时间:2024-02-05 作者:网友分享原创网站原创

摘 要 :在仿真软件中Flash虚拟仪表模型具有优异的性能,仿真软件的设计中深入挖掘这一特征,提出一种新的既能使虚拟仪表模型动态嵌入到仿真软件中,又兼备仿真软件与虚拟仪表双向交换数据的方法.采用可视化高级程序设计语言VB设计仿真系统,虚拟仪表通信系统采用Flash环境中的Action Script语言编制接口,通过软件的双向通信试验和应用,建立的虚拟仪表收发数据可靠.主要试验和虚拟仪表模型在实际的仿真软件的应用实践中取得了性价比优势.实际工程应用结果表明该虚拟仪表不但外观大小可以矢量性变化,而且逼真度很高,性能优异适合各类仿真软件设计使用.

仿真软件中虚拟仪表的建模应用参考属性评定
有关论文范文主题研究: 关于计算机应用的论文范文文献 大学生适用: 研究生论文、高校毕业论文
相关参考文献下载数量: 83 写作解决问题: 写作参考
毕业论文开题报告: 文献综述、论文结论 职称论文适用: 刊物发表、职称评初级
所属大学生专业类别: 写作参考 论文题目推荐度: 优质选题

关 键 词 :虚拟仪表;Flash Model;VB;仿真软件

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)29-6647-03

仿真软件的设计主要依靠真实生动的虚拟仪表来表达客观世间中设备的物理形态,通过仿真软件系统,就可以建立一个信息化、网络化的虚拟集成环境,虚拟仿真系统就是在计算机系统中采用虚拟现实设备的技术,实现的客观世界的真实环境,操作人员可以像在真实环境中一样完成各种实验训练项目,教学和训练效果等同于其在真实的环境一样完成各种学习训练项目,而且学习和训练的效果要等同于甚至优于真实环境中所取得的效果.与传统真实实验学习训练相比较,虚拟仿真学习训练教学有很多优势:1)教学训练资源共享程度高;2)减少训练成本、节约学习训练经费;3)全天候、全空间训练学习;4)实时批改、智能化提示和教学.虚拟仪表是仿真软件设计的基础,能够影响仿真训练的效果,因此,虚拟仪表的可视化模型要求具有较高的真实感,仿真度要求较高,有利于操作和运算,人机交互具有友好性.目前,虚拟仪表的建模有三个类别:1)基于VRML的三维虚拟仪表的建模方法.这里主要利用VRML虚拟现实建模语言建立交互式浏览的三维空间,但三维建模虚拟仪表性价比低;2)利用Ja设计虚拟仪表,往往是客户端通过浏览器插件进入虚拟环境,怎么写作端采用Ja Servlet扩展功能.该技术设计的仪表具有实时交互性,但虚拟仪表在高级其它语言中的移植性差;3)基于Flash技术的虚拟仪表建模方法,Flash技术开发仪表数据传输实时性好、速度快、仪表美观,但在前人的研究中,由于对Flash技术欠缺深入挖掘,对与高级语言的双向交互技术没有进一步探究,造成Flash虚拟仪表任停在自己的运行环境中的状态.在仿真软件设计中,Flash虚拟仪表具有的其独特优点,它是一种矢量格式的文件,可以包含动画,声音,超文本链接,而且文件的体积却很小,需要进一步挖掘,该文结合工程项目开发实际,提出了具有应用性和双向交互功能的虚拟仪表技术模型.

1.试验方法和材料

1.1 Flash传送参数到VB通信机理

在Flash中ActionScript里面有个叫FSCommand事件,它的主要功能就是发送FSCommand命令,管理动画全屏播放,隐藏动画菜单,更重要的就是可以与外部文件和程序进行通信.而在VB程序中,就可以利用Shockware Flash控件的FSCommand(ByVal Command as String,ByVal Args as String)事件来完成这接收参数这样一各通信过程,从而实现在VB中接收参数信息的功能,并且根据Flash发送出来的不同的命令及参数来实现对VB程序的相应功能的控制.

具体是在Flash的ActionScript中提供了一个FSCommand事件.只要Flash动画发出这个动作,就会触发VB中的Flash对象事件容器中对应的FSCommand事件中相应代码.根据FSCommand事件通过传值方式,传送来的字符串型参数Command和Args,再通过对字符串中的命令的解析,控制VB应用程序中完成自定义的功能.

1.2 VB传递参数到Flash通信模型

VB通过Shockwe Flash控件可通过一定的方法直接操作或者调用Flash虚拟仪表上的对应的ActionScript程序代码,通过这两个函数SetVariable(Name as String,Value as String),

该函数是对Flash虚拟仪表主场景的电影剪辑中,名称为loop的全局变量赋的数值.给虚拟仪表动画的全局代码赋值后,就要指出执行该虚拟仪表动画电影剪辑的哪一个帧上的ActionScript程序代码,就是通过第二函数TcallLabel(Target as String,Label as String),就是提供出某一帧的名称和对应的该帧的标签,这个函数纯粹的条用当前帧的程序代码,从而激发了该帧上的程序,从而仿真各种设备要求的显示效果来.

2.结果和讨论

2.1 制作Flash虚拟仪表模型

利用Macromedia Flash MX的强大的设计工具,设计制作需要的任何虚拟仪表,设计过程是先制作生成FLA格式的文件,然后将需求的设计的虚拟仪表导出成动态影片格式,也就是SWF格式,这个格式的文件,一方面何以集成在网页中,一方面也可以集成在VB程序的动态组件容器中,如图3制作的Flash实体模型,经过试验证明,至少可以定义一个输入接口i端子,可以定义一个输出接口o端子.主要是根据仿真软件中,实体模型的用途和接收、发送数据的要求自由定义接口的数量.


2.2 VB中动态嵌入虚拟仪表模型

如何动态地嵌入虚拟仪表到VB中,这样就可以不受Flash OCX版本的限制和约束,又可以灵活应用Flash对象模型.设计过程的流程是,首先在VB中定义一个全局的事件发生容器,定义一个事件组件对象oFlash对象,然后再初始化的地方给这个虚拟仪表进行对象添加,并且对这各虚拟仪表进行各个参数进行初始化. 2.3 实现VB-Flash交互通信

[// FLASH ActionScript虚拟构件端完整程序

//主场景中定义实例(target)名称为instanceName :

//定义一个全局变量名称为loop,数值型,初始值为0.01等

Var loop:Number等于0.01;

//等

//虚拟元件名称为“mc”所在某代码图层标签(label)名称、//“On”:

mc.rotation等于_root.loop

//vb传来的数值loop赋给mc,完成旋转的功能

][‘VB端完整程序

Public WithEvent oFlash as ontrolExtender

‘Vb输入参数等

Private Sub Command1_Click(Index as Integer)

loop等于val(”15.17”)

target等于”instanceName”

label等于”On”

oFlash.object.SetVariable(“loop”,Str(loop))

oFlash.object.TCallLabel(target,label)

End Sub

‘初始化

Private sub form_load()

Set oFlash等于Controls.Add(“ShockweFlash.ShockweFlash”,”oFlash1”,p1)

OFlash.Height等于p1.Height

OFlash.Width等于p1.Width

OFlash.Top等于0

OFlash.Left等于0

OFlash.object.ScaleMode等于2

OFlash.object.Movie等于App.Path & “\biao200.swf”

End Sub]

通过以上实例,就可以轻松实现用户需要的VB文本框中的参数,实时传递到Flash中的过程,Flash有个非常优越的特性就是它的用户接口设计的非常好,相对而言VB有个非常优越的特征就是高效的程序设计能力,是其他高级语言,特别是面向对象程序设计语言都无法比较的.如果在仿真软件的设计中能够将两个融合为一个整体,就能够取得巨大的潜力和效果.

3.结 论

主要试验Flash虚拟仪表模型在实际的VB仿真软件的应用实践中取得了性价比优势.结果表明该虚拟仪表不但外观大小可以矢量性变化,而且逼真度很高,性能优异适合各类仿真软件设计的实际应用.