下面根据模块功能,对系统模型进行了进一步划分,主要分为以下几个模块:

(1)飞行状态条件计算模块Condition.其输人为弹体姿态和弹目相对位置信息,以及两个常数参数,输出为三个飞行状态变化的条件。

(2)飞行状态判断模块Fly-State.其输人为三个状态变化条件变量,输出为三种状态标志。

(3)导引指令坐标系转换模块Transition.其输入为弹体姿态和惯性系下比例导引指令,输出为弹体系下比例导引指令。

(4)过载计算模块Acceleration.其输入为三个飞行状态标志,弹体速度。攻角信息,弹体系下的比例导引指令,以及一个常数参数,输出为弹体过载指令。

(5)过载限幅模块Alimit.其输入为弹体过载指令,输出为限幅后的弹体过载指令。

其中Condition.Acceleration.Transition和Alimit是功能计算模块,用数据流图建模;Fly-State是状态计算模块,用有限状态机建模。系统模型图如图5所示。



图6为飞行状态计算模块Fly-State的模型,其中共包含3个状态,分别为初始状态(Istate),转弯状态(Tstate)和俯冲状态(Astate)。根据三个输入的布尔量条件可以进行状态变化。其中的状态变化都是单向不可反复的,变化方向和线条箭头方向一致。



5.4模型验证和算法调试

完成模型设计后,需要使用SCADE提供的一系列检查验证手段来确保模型的正确性和安全性。对于发现的问题,可以在直观的图形化模型上进行模型修改和参数调试。

使用模拟仿真工具,可以通过设计各种测试用例来模拟可能出现的实际情况,对模型进行仿真调试。可以从控制算法角度和软件工程角度对模型进行优化,以达到满足设计需求的目的。

5.5代码集成

在代码集成阶段,根据实际需要,按照效率优先原则进行了配置并自动生成了标准C代码。然后对使用了SCADE自动生成代码的软件进行仿真,其仿真结果与模型仿真的结果一致,满足设计需求。

6结束语

SCADE软件开发环境的出现,提供了一种基于模型的高安全性嵌入式软件解决方案,使嵌入式软件的开发效率大大提高。同时由于使用了基于模型的设计流程和高度自动化的开发进程,研制工作的重心集中在建模层面,把软件设计人员从繁复的编码和验证工作中解放出来,能够把大量的精力投入到算法设计和建模工作中,这对于嵌入式软件的工程开发有着重要的意义。