术(如I/O板编程)等。
仿真技术中的应用难点是,模拟综显使用的PC104主机价格相对低廉,但系统资源有限,无法承受功能强大的绘图软件和函数,所以采用相对底层的OpenGL技术结合VC位图调用功能——以OpenGL技术实现动态控制页面、以位图实现静态页面,在有限的系统资源下实现与综显同样的视觉效果。
网络技术的应用问题主要是控制信号交互不稳定现象,这个现象的产生是由于PC104的系统资源有限及CF卡的使用, CF卡的读取速度较慢,而其容量有限也会导致软件运行时的虚拟内存不足,于是采用封装模拟综显软件的方法节约系统资源——根据试验需求,只把有用的模块封装成exe文件(如发动机参数及报警等模块在飞控试验中很少用到)装入系统,因模拟综显软件是以“class”的形式设计,添加新模块也只需Copy一个exe或 Dll文件到系统中即可。
硬件技术中的应用难点主要在I/O板编程方面,即如何通过PC104的I/O板,实现模拟综显页面对面板20个对应控制按键的组合响应(图4)。解决方法是先以“class”的方式调用开发的GIVEIO.SYS访问IO端口,之后对各个端口定义编程,而后再根据定义设计制造面板按键。硬件编程的基本模式如下:
h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, //HANDLE h;
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(h == INVALID_HANDLE_VALUE) { printf("Couldn't access giveio device\n"); return -1; } {
static int PA,PB,PC; //IO板Group #2中的Port A、Port B和Port C PA = _inp(BASE + 4); PB = _inp(BASE + 5); PC = _inp(BASE + 6);
if((PA & 0x01) == 0) pulseFlag[0] = true;// pulseFlag[]是定义20个按键数目的数组。 if(pulseFlag[0] == true && PA == 0xff) {key = 0;lock = true;pulseFlag[0] = false;}//响CloseHandle(h);
_outp(BASE + 7,0x9b);// IO板Group #2控制记录是 0X9b。
void OnKeyPressed()
应按键组合。 …… }
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究09-仿真技术在直升机飞控试验中的应用(黄剑飞)(4)全文阅读和word下载服务。
相关推荐: