一种基于飞行数据的快速诊断方法

文档序号:6521471阅读:359来源:国知局
一种基于飞行数据的快速诊断方法
【专利摘要】本发明属于航空电子领域,具体涉及一种基于飞行数据的快速诊断方法,利用C++高级语言来描述诊断模型,通过将数据库中每个诊断模型的代码组合起来,形成C++源文件,然后利用现有的成熟的编译器对C++源文件进行编译、连接,生成动态库文件。本发明利用C++高级语言来描述诊断模型,使用数据库来存储描述诊断模型的高级语言代码以及参数信息。利用生成的动态库文件对飞行数据进行分析处理,能够实现对飞机和机载设备的快速诊断,实现对复杂诊断模型的描述,而且诊断效率较高、用户可更改、维护性好,可以在日常飞行维护及飞行训练中发挥重要作用。
【专利说明】一种基于飞行数据的快速诊断方法【技术领域】
[0001]本发明属于航空电子领域,具体涉及一种基于飞行数据的快速诊断方法。
【背景技术】
[0002]快速诊断是通过对飞行数据进行分析,以检测飞机及机载设备存在的故障或隐患,为飞机维护提供辅助手段,是飞行数据处理的一个重要过程,是飞参地面数据处理软件的一个重要功能。图1给出了快速诊断在飞行数据处理过程中的作用。飞参记录的飞行数据首先需要经过预处理,转换成工程值数据,然后读取诊断模型库中的诊断模型,对工程值数据进行快速诊断分析,得到诊断信息。飞机维护人员可依据诊断信息辅助飞机维护。
[0003]快速诊断通常作为飞参地面数据处理软件的一个模块,由诊断软件和诊断模型库两部分组成。诊断模型用于描述一个事件(故障或隐患通称为事件),通常是飞机各系统参数的运算表达式,存储在诊断模型库中。诊断软件读取每秒工程值数据并输入至诊断模型中进行计算,然后得到计算结果。目前快速诊断的实现主要采用两种方法,一种是将诊断模型库固定在诊断软件中,即快速诊断模块只有诊断软件,没有诊断模型库;另一种方法是将诊断模型存储在文本文件或数据库中,通过解释器对诊断模型进行解释并进行计算。前一种方法虽然可以实现比较复杂的诊断模型,但是由于诊断模型固定在软件中,用户不能更改,而且给软件的维护也带来了困难。后一种方法在进行诊断时,由于一边需要对诊断模型进行解释,一边又要进行计算,导致了诊断效率低下。其次,由于解释器需要重新开发,增加了软件研制的工作量。另外,由于开发一个功能强大的解释器难度较大,通常诊断模型都比较简单,一般为参数的逻辑关系表达式。

【发明内容】

[0004]发明目的:提供一种基于飞行数据的快速诊断方法,可以实现对复杂诊断模型的描述,而且诊断效率较高、用户可更改、维护性好。
[0005]技术方案:一种基于飞行数据的快速诊断方法,该方法是在计算机中实现,包括以下步骤:
[0006]利用C++高级语言来描述诊断模型,使用数据库来存储描述诊断模型的高级语言代码以及参数信息;
[0007]通过将数据库中每个诊断模型的代码组合起来,形成C++源文件,其中每个诊断模型对应一个函数名,每个参数简写对应一个函数名;诊断模型通过调用参数简写对应的函数获取参数的数值,诊断模型对应的函数供诊断软件调用;
[0008]然后利用现有的成熟的编译器对C++源文件进行编译、连接,生成动态库文件;
[0009]在数据处理的时候,通过加载动态库DLL,显式调用诊断模型对应的函数,实现对飞行数据的快速诊断。
[0010]有益效果:本发明利用C++高级语言来描述诊断模型,使用数据库来存储描述诊断模型的高级语言代码以及参数信息。利用生成的动态库文件对飞行数据进行分析处理,能够实现对飞机和机载设备的快速诊断,实现对复杂诊断模型的描述,而且诊断效率较高、用户可更改、维护性好,可以在日常飞行维护及飞行训练中发挥重要作用。
【专利附图】

【附图说明】
[0011]图1是飞行数据处理过程示意图
[0012]图2是快速诊断方案示意图
[0013]图3是诊断模型输入示意图
[0014]图4是代码生成不意图
【具体实施方式】
[0015]一种基于飞行数据的快速诊断方法,该方法是在计算机中实现,其特征在于,包括以下步骤:
[0016]利用C++高级语言来描述诊断模型,使用数据库来存储描述诊断模型的高级语言代码以及参数信息;
[0017]通过将数据库中每个诊断模型的代码组合起来,形成C++源文件,其中每个诊断模型对应一个函数名,每个参数简写对应一个函数名;诊断模型通过调用参数简写对应的函数获取参数的数值,诊断模型对应的函数供诊断软件调用;
[0018]然后利用现有的成熟的编译器对C++源文件进行编译、连接,生成动态库文件;
[0019]在数据处理的时候,通过加载动态库DLL,显式调用诊断模型对应的函数,实现对飞行数据的快速诊断。
[0020]如图2所示,给出快速诊断方法的过程。首先诊断模型、参数信息输入到数据库中,然后代码生成读取数据库中的诊断模型和参数信息,生成C++源文件。编译器对C++源文件进行编译、连接处理,生成动态库。快速诊断调用动态库对工程值数据进行分析并输出诊断信息。
[0021]如图3所示,给出诊断模型、参数信息输入的过程。诊断模型的输入包括事件名称、事件名称简写、高级语言代码。事件名称简写使用英文字母以及阿拉伯数字相组合表示,且第一个字符必须是英文字母。高级语言代码用于描述事件成立的条件,由C++语言和参数名称简写组成,书写方式符合C++语言规范。参数信息包括参数名称简写、参数位置、参数采样率。参数名称简写使用英文字母以及阿拉伯数字相组合表示,且第一个字符必须是英文字母。参数位置描述参数采工程值数据中每一帧的相对位置,与采样率相结合,可以确定参数每秒各个采样点的数值。
[0022]如图4所示,给出代码生成的过程。从数据库中读取事件简写以及事件的高级语言代码,组成事件检测函数,函数名称为事件名称简写。从数据库中读取参数名称简写以及参数位置、参数采样率,组成参数值读取函数,函数名称为参数名称简写。最后将所有的事件检测函数以及所有参数的参数值读取函数组成C++源程序。
【权利要求】
1.一种基于飞行数据的快速诊断方法,该方法是在计算机中实现,其特征在于,包括以下步骤: 利用C++高级语言来描述诊断模型,使用数据库来存储描述诊断模型的高级语言代码以及参数信息; 通过将数据库中每个诊断模型的代码组合起来,形成C++源文件,其中每个诊断模型对应一个函数名,每个参数简写对应一个函数名;诊断模型通过调用参数简写对应的函数获取参数的数值,诊断模型对应的函数供诊断软件调用; 然后利用现有的成熟的编译器对C++源文件进行编译、连接,生成动态库文件; 在数据处理的时候,通过加载动态库DLL,显式调用诊断模型对应的函数,实现对飞行数据的快速诊断。
【文档编号】G06F9/44GK103645891SQ201310629426
【公开日】2014年3月19日 申请日期:2013年11月28日 优先权日:2013年11月28日
【发明者】刘华磊, 田博 申请人:陕西千山航空电子有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1