直升机虚拟仪表DLL设计与实现
(2)Baro_hPa()属性函数编写。
Baro_hPa()为输入接口,用来接收主程序传来的外界气压大小(静压)。3 000m以下,每升高12m气压下降133.3Pa。通过静压和旋钮设定的场压,即可算出直升机所在的高度。
>Baro_hPa()属性函数的行为代码
_baro_hPa=value;
float altitude=(PBS_hPa*100-_baro_hPa * 100)*12.0/133.3://通过静压和场压差算出高度
float alt_long=(float)fmod(altitude,1 000.of);
longNeedle->DynamicRotate(-(alt_long*(360.0/1 000)),Z_AXIS);//长指针根据高度值大小旋转,1 000 m转动360°
float alt_short=(float)fmod(altitude,10 000.Of);
shortNeedle->DynamicRotate(-(alt_short*(36.0/1 000)),Z_AXIS);
//短指针根据高度值大小旋转,1 000m转动36°
2.5 生成代码、发布DLL
选择菜单栏中code->Generate All生成代码,在Microsoft Visual Studio.NET 2003中选择编译选项为Live Component Release,编译、连接,即可生成气压高度表DLL,在Licensed LiveComponent Release文件夹下可以找到生成的Barometric Altimeter.dll。
3 DLL的加载
3.1 插入虚拟仪表DLL
在程序中,有以下两种加载动态链接库的方式:隐式链接和显式加载。而GL Studio中对DLL的加载方式更加简便,程序员不需要了解底层的加载方式即可对DLL进行操作。
在工具栏中点击“
3.3 调试并完善
在项目后期联合调试和完善的过程中,如果需要对某个仪表的功能进行修改和扩充,只需要修改该虚拟仪表的程序代码,编译连接生成新的DLL。用新的DLL替换原有的DLL文件即可。
4 结束语
当CBT系统越来越逼真,每个虚拟仪表的设计也必然会越复杂。这时采用本文所介绍的方法,将各分立仪表做成单独的DLL。采用DLL编程可以使程序层次清晰,既细化了前期开发过程中项目的分工,又使得项目后期的修改和扩展变得简单方便,极大地提高了程序的可扩充性和可维护性。本文引用地址:http://www.amcfsurvey.com/article/194884.htm
评论