一种基于事件队列的航天器故障诊断方法

文档序号:8423095阅读:321来源:国知局
一种基于事件队列的航天器故障诊断方法
【技术领域】
[0001] 本发明涉及一种航天器故障诊断方法,特别是一种基于事件队列的航天器故障诊 断方法,属于航天器故障诊断领域。
【背景技术】
[0002] 随着控制与推进分系统的功能日益复杂,AOCC应用软件承担的任务也从传统的姿 态与轨道控制等科学计算功能,逐步扩展到故障处理等业务逻辑功能。与基于软件当前状 态,进行科学计算的姿态与轨道控制功能相比,故障处理的特征包括时序性和离散性。即业 务逻辑的行为不仅由软件的当前状态决定,还往往与软件的历史状态有关。故障处理的输 入一般是离散量(部件的状态,或是以姿态与轨道计算结果的连续量作为自变量的布尔表 达式取值等),输出也是离散量(部件的状态等),且输出往往由多个周期的输入共同决定。
[0003] 目前,有些卫星的控制与推进分系统应用软件单独列出了故障处理任务。需要考 虑的故障类型多,故障判断与故障处理逻辑复杂,传统的软件架构难以适应这些新的需求。 基于事件的航天器软件故障处理方法将时序条件的判定结果抽象为事件,将输出抽象为动 作。事件可以既可以触发动作,也可以注册新的事件,极大简化了软件实现的难度,降低了 软件实现错误的可能性。

【发明内容】

[0004] 本发明的技术解决问题是:克服现有技术的不足,提供了一种基于事件队列的航 天器故障诊断方法,将判断故障发生的时序条件抽象为事件,将故障处理措施抽象为动作, 通过事件队列实现故障诊断与处理,实现了复杂故障诊断与处理场景的形式化描述,为了 清晰、无二义性地描述航天器故障诊断的需求提供了一种方法。该方法既有利于航天器故 障诊断与处理方案设计人员清晰明了地描述航天器故障诊断需求,又有利于实现故障诊断 与处理方法的复用。
[0005] 本发明的技术解决方案是:一种基于事件队列的航天器故障诊断方法,步骤如 下:
[0006] (1)获取航天器故障诊断相关数据,所述航天器故障诊断相关数据包括航天器各 敏感器和各执行机构的测量数据与反馈数据;
[0007] (2)判断步骤(1)中获得的故障诊断相关数据是否满足事件注册条件,若满足,则 进入步骤(3),进行事件注册,否则,进入步骤(4),直接进行事件触发的判断;所述事件为 航天器各敏感器和各执行机构的开关切换操作;
[0008] 所述事件注册条件由项、命题和公式确定,具体为:
[0009] 项:Term包括下列两种形式:c或X,其中,Term为项,c为常量,X为变量,即航天 器各敏感器和各执行机构的测量数据与反馈数据;
[0010] 命题:Proposition 由 Function (Term" Term2,…,Termn)~0 确定,其中, Proposition为命题,Function为关于Term的η元初等函数表达式,~为〉、〈或=, Term1, Term2,…,Termn均为项;
[0011] 公式:Formula 包括下列两种形式:Proposition 或(FormulaiUntilwFormula^, 其中,Until为时序算子,η为时间约束;
[0012] 给定由多个控制周期的航天器各敏感器和各执行机构的测量数据与反馈数据构 成的数据序列 S = S1, S2,…Sn,…,若 Formula 由 Formula1UntilwFormula2构成,则 Formula 在数据序列S上成立的条件是:存在i〈 = η,使得Formula1在序列集合{s p S2,…SpS2,… Sp…、S^1SpsJ的各个序列上均成立,且Formulai^SDSw,…s n,…成立;
[0013] 若Formula由命题Proposition直接构成,则Formula在数据序列S上成立的条 件是当且仅当Proposition在S 1I成立;
[0014] (3)对步骤(2)中满足注册条件的事件进行注册,进入步骤(4);具体的注册方法 为:若Formula在数据序列S上成立,则将Event加入事件队列,其中,Event为触发事件;
[0015] (4)判断当前事件队列中的事件是否满足事件触发条件,若满足,则执行相应的开 关操作,否则,结束本周期的故障诊断;
[0016] 所述事件触发条件由条件和事件触发确定,具体为:
[0017] 条件:Condition包括下列四种形式:Formula或(! Condition)或 (ConditionJ | Condition2)或(Condition1MCondition2)其中,! Condition、 Condition11 I ConditionjP Condition AfcCondition2*别表不条件的否定、析取与合取; Condition、Condition^ Condition 2均为条件;
[0018] 事件触发:Event 包括下列两种形式,Action 或 IF (Condition) THEN Event1ELSE Event2,其中Action是航天器各敏感器和各执行机构的开关切换动作;其语义如下:
[0019] 若Event由动作Action直接构成,则执行Action所代表的各敏感器和各执行机 构的开关切换操作;
[0020] 若 Event 的形式为 IF (Condition) THEN Event1ELSE Event2,则根据步骤(2)中的 事件注册条件,判断Condition是否成立,若成立,则执行Event 1,否则执行Event2;
[0021] 所述动作 Action 包括三种形式,V: = e 或 Always1] (v: = e)或 Eventually1] (v: =e),分别表示直接将进行V: = e的操作;在接下来的L个周期中,都进行V: = e的操作; 在L个周期之后,再进行V: = e的操作。其中,V: = e表示将表达式e的值,赋给V所代 表的变量或硬件端口。
[0022] 本发明与现有技术相比的有益效果是:
[0023] (1)本发明可以表示包含复杂时序特性的航天器故障诊断与处理方案,提高了航 天器故障诊断与处理方法的表达能力。
[0024] (2)相比于传统的文字、伪代码、图表方式的故障诊断与处理描述方法描述,本发 明给出了航天器故障诊断与处理描述方法的语法定义和语义解释,更加清晰,避免了二义 性,也更有利于航天器设计人员分析方案的合理性、可行性;
[0025] (3)本发明给出了一种航天器故障诊断与处理的新思路,即站在需求的角度分析、 设计故障诊断与处理方案,避免过早陷入实现的细节。有利于航天器设计人员提出更加通 用、具有复用性的故障诊断与处理方案。
【附图说明】
[0026] 图1为本发明流程图;
[0027] 图2为本发明应用案例的示意图
【具体实施方式】
[0028] 下面结合附图对本发明的【具体实施方式】进行进一步的详细描述。
[0029] (1)获取航天器故障诊断相关数据,所述航天器故障诊断相关数据包括航天器各 敏感器和各执行机构的测量数据与反馈数据;
[0030] (2)判断步骤⑴中获得的故障诊断相关数据是否满足事件注册条件,若满足,则 进入步骤(3),进行事件注册,否则,进入步骤(4),直接进行事件触发的判断;所述事件为 航天器各敏感器和各执行机构的开关切换操作;
[0031] 所述事件注册条件由巴克斯范式构建,所述巴克斯范式由项、命题和公式确定,具 体为:
[0032] 项:Term包括下列两种形式:c或X,其中,Term为项,c为常量,X为变量,即航天 器各敏感器和各执行机构的测量数据与反馈数据。例如,1. 732就是一个常量,phi就是一 个变量;
[0033] 命题:Proposition : : = Function (Term" Term2,…,Termn)~0,其 中,Proposition为命题,Function是关于Term的η元初等函数表达式,~ 是〉,〈或=,Term 1Jerm2,…,TermirI^I 为项。例如,sin(phi)>0 就是一个命题, atan(sin(phi)+0. 5)-0. 78540X)也是一个表达式,该表达式由多个函数复合而成,第一层 函
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1