安蕾
摘 要:运动系统是飞行模拟装置的重要组成部分,其运动性能的好坏直接影响到模拟机的仿真度。本文研究运动系统的实时管理软件,对实时管理软件各模块进行详细的分析。
关键词:飞行模拟机;运动系统;实时管理软件
中图分类号:TP391.9 文献标志码:A
近年来由于科学研究的需求和高新技术的进步,以飞机模拟机为代表的六自由度运动模拟机得到迅速发展。人们利用运动模拟机进行仿真试验研究,开展培训活动,成为当今科研、培训不可或缺的装备。飞行模拟机是典型的人在回路实时仿真系统和虚拟现实的应用实例,作为飞行模拟机载体的并联六自由度运动系统是飞行模拟机非常重要的组成部分,其本质是由数字计算机实时控制并能提供俯仰、滚转、偏航、升降、纵向平移和侧向平移的六自由度瞬时过载仿真设备。
计算机将飞行软件送出的有关飞行参数进行转换与计算,形成驱动每根作动筒的指令,经D/A转换后,成为模拟信号,经放大后驱动伺服组件,而作动筒的位移反馈信号经A/D转换得到,开关量输入用于状态检测,而开关量输出用来控制运动系统的状态或显示有关信息。
计算机系统主要是由Intel 86/330A实时控制计算机、ST732模/数转换板、JT728数/模转换板、ISBC519开关量输入输出板、CRT显示器、打印机组成。
运动系统由Intel 86/330A微型计算机实现自动控制,该机配置的RMX86操作系统具有可配置性、可扩展性、系统中断能力强等特点,是一个实时多任务操作系统。
运动软件是在RMX 86操作系统环境中运行的,在配置用户系统时,核心程序是必不可少的,为了提高运行速度,减小所占内存空间,只用到了基本I/O这一层。该套软件是用PSM-86语言编写的,并用了作业(IOB)、任务(TASK)、信箱(MAILBOX)、信号量(SEMAPHORE)、元(UNIT)、段(SEGMENT)等目标。
实时管理软件的重要管理对象——运动软件以过程的形式出现,由实时控制任务实现调用。这些子过程包括:重心变换与滤波子过程,平动清洗子过程,转动信号形成子过程,作动筒伸长变换子过程等。
1 实时管理软件的初始化任务
其中初始化任务的功能就是向根作业报告并生成本用户作业,然后生成开机自检、动态自检、人机对话3个任务。最后删除自身。
开机自检任务实现平台运动学的静态检测,从DI读入系统有关的状态信息,并加以判断,如果出现故障,将故障源经DO送至数码管显示,并在CRT上显示、打印。若一切正常,则向SGMAPHORE7发送一元,且向DO送出系统复位、启动指令,由硬件电路实现平台升起过程。然后删除自身。
动态自检任务在接收到来自于SGMAPHORE7的一个元后,便被激活。升起过程中,对系统进行动态检测,对发现的故障即使做出处理,待系统一切正常后,便向SGMAPHOPE8送一个元,并向数码管送出检测成功的信息。然后自删。
2 实时管理软件的人机对话
人机对话任务在接收到SGMAPHORE8中的一个元后,立即投入运行。通过人机对话确定平台运动模型、显示打印周期,并生成异常处理、故障处理、时钟管理、中位调整、实时控制、显示打印等6个子任务,挂起中位调整任务后自删。
3 实时管理软件的故障处理
异常处理任务是对外界异常情况进行处理。当从键盘敲入CTR-C后,则SGMAPHOREC中便获得一个元,等待在SGMAPHOREC中的异常处理任务收到这个元后,便全部关掉运动系统,并在CRT上显示“SOMETHING EXCEPTIONAL HAPPENED”,之后关闭显示打印的文件连接,删除本作业。
故障处理任务在接收到SGMAPHORE9中的一个元后,投入运行,首先从A/D、DI中读入有关信息,然后关掉运动系统。在调用A/D故障查找过程、DI故障查找过程、找出故障源并显示打印出故障源后,关闭显示、打印文件连接,删除本作业。
4 实时管理软件的时钟管理
时钟管理任务就是要对控制软件进行实时管理,当进入运行后,首先等待由实时控制任务,中经调整任务,显示打印任务这3个任务向SGMAPHORE10发送的三个元。然后进入主循环过程,即向SGMAPHORE2发送一个元,休眠一个采样周期后再向SGMAPHORE2发送一个元。此循环只在被其他任务挂起时暂停,其他情况下则无限循环下去。
5 实时管理软件的中位调整
中位调整任务在做完必要的准备工作后,立即向SGMAPHORE1发送一个元,并挂起自己。一旦被实时控制任务解挂后,即进入主循环过程。中位调整完毕后再次自挂,并由人机对话决定是继续飞行(向SGMAPHORE A送一个元),还是删除本作业结束运行。在主循环过程中,若显示打印周期到,则向SGMAPHORE B送一个元。
6 实时管理软件的实时控制
实时控制任务在做完必要的准备工作后,向SGMAPHORE1送一个元,然后进入主循环过程。从SGMAPHORE2接收一个元,读入DI及AD量,并判断是否有故障发生,若有则向SGMAPHORE9发送一个元,并删除本任务。若系统正常则调用运动系统全过程,并将控制量经DA送出。若需打印且打印时间到时,向SGMAPHORE B送一个元。当飞行结束后,解挂中位调整任务,待平台回中后,中位调整任务可由人机对话来决定是继续飞行,还是结束飞行,若要继续飞行,向SGMAPHORE A送一个元,此时,等待SGMAPHORE A中的实时控制任务将获得此元,在重新初始化各参数后,再次进入主循环过程。每循环一次后,都要向SGMAPHORE 2中等待一个元,这样就可以保证程序的约定采样周期运行。
显示打印任务在做完必要的准备工作后,向SGMAPHORE 1送一个元,然后在SGMAPHORE B中等待一个元。接到元后,将待显示打印的数据送到缓冲单元,并送显示打印。而后又继续在SGMAPHORE B等待元。
如上所述的各任务中,初始化任务是首先投入运行的,它由根作业生成。在根作业接收到用户作业初始化完毕的信息,并进行完BIO等其他作业的初始化后,就将控制权交给用户作业,初始化任务生成的3个任务:开机自检任务、动态自检任务和人机对话任务,所做的均是平台运行前的准备工作。准备工作完毕,则删除自身,并不参与实时运行。由人机对话生成的任务中,异常处理任务具有最高优先级,其次是故障处理任务、时钟管理任务,而实时控制任务与中位调整任务具有相同的优先级。优先级最低的是显示打印任务。当这些任务的运行条件均得到满足时,优先级的高低就决定了他们对CPU的占有权的大小。
根据香农采样定理和计算机实际运行速度的可能,我们采用了50ms采樣周期计算运动驱动软件,并由DA送出6根作动筒伸长的控制指令,来仿真飞机的俯仰、滚转、偏航、升降、纵向平移和侧向平移。
参考文献
[1]王志刚.紧耦合多处理机系统在工程飞行仿真中的实时应用[J].计算机工程与应用,2000,36(2):158-161.
[2]彭华.工程飞行仿真实时管理调度模型的研究与实现[J].系统仿真学报,2004,16(7):1437-1440.
[3]刘华伟,何利,黄国荣.飞机大气数据系统实时模拟器设计与实现[J].计算机工程,2009,35(10):238-239.