[go: up one dir, main page]

CN118885179A - A method and device for improving the efficiency of spacecraft flight status recognition - Google Patents

A method and device for improving the efficiency of spacecraft flight status recognition Download PDF

Info

Publication number
CN118885179A
CN118885179A CN202411354618.8A CN202411354618A CN118885179A CN 118885179 A CN118885179 A CN 118885179A CN 202411354618 A CN202411354618 A CN 202411354618A CN 118885179 A CN118885179 A CN 118885179A
Authority
CN
China
Prior art keywords
criterion
flight state
identification
flight
spacecraft
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202411354618.8A
Other languages
Chinese (zh)
Other versions
CN118885179B (en
Inventor
王磊
吴欣
张祖丽
顾露艳
赵邦杰
陈晓斌
曹雪勇
屈颖莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Tianxun Technology Co ltd
Original Assignee
Ningbo Tianxun Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo Tianxun Technology Co ltd filed Critical Ningbo Tianxun Technology Co ltd
Priority to CN202411354618.8A priority Critical patent/CN118885179B/en
Publication of CN118885179A publication Critical patent/CN118885179A/en
Application granted granted Critical
Publication of CN118885179B publication Critical patent/CN118885179B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention belongs to the field of spacecraft measurement and control data processing, and relates to a method and a device for improving the efficiency of spacecraft flight state identification, wherein the method comprises the following steps: analyzing a flight state criterion mode of the spacecraft, creating a flight state description rule, and building a flight state criterion table and a criterion rule function description table with association relations according to the description rule; the flight state criterion table comprises a main table, a sub-table and a sub-table; inputting or importing the criterion of the flight state into a flight state criterion table, writing the criterion condition according to the C/C++ language requirement, supporting logic, arithmetic and relational expression, and writing the criterion rule and the function body of complex logic processing into a criterion rule function description table; reading information of a flight state criterion table and a criterion rule function description table, and converting the information into a header file and a source program written in a C/C++ language; compiling the links to generate dynamic link library files after grammar verification; and after the automatic test tool tests correctly, the dynamic link library file is issued.

Description

一种提高航天器飞行状态识别效率的方法和装置A method and device for improving the efficiency of spacecraft flight status recognition

技术领域Technical Field

本发明属于航天器测控数据处理领域,尤其涉及一种提高航天器飞行状态识别效率的方法和装置。The present invention belongs to the field of spacecraft measurement and control data processing, and in particular relates to a method and a device for improving the efficiency of spacecraft flight status recognition.

背景技术Background Art

在现有的航天器测控任务中,对航天器飞行状态的判断非常关键。通常的做法有两种,一种是将飞行状态判据作为配置文件,识别时对判据表达式字符串进行解析,解析出参数代号、括号层次、各种算术或逻辑或判断符号、判据值等,再以参数代号为关键字,通过Hash或其他方式,查找参数代号对应数据结构中的结果值,分别将每个参数当前的值传入判据表达式,根据括号层次及算术运算、逻辑运算、条件判断、预期判据值等,判断表达式是否为真,为真则认为当前判据对应的飞行状态发生。另一种方法是通过脚本语言对判据表达式和识别逻辑进行定义,实时处理时,每次通过调用脚本解释器执行脚本,判断每一个判据表达式是否满足。其中对判据表达式直接解析的效率会高于使用脚本语言,但两种方式都存在增加CPU负载,频繁调用效率低的问题,难以满足对高频遥测数据实时判读的需求,尤其难以满足通过高吞吐量数据实时识别航天器飞行工况的需求。In the existing spacecraft measurement and control tasks, the judgment of the flight status of the spacecraft is very critical. There are two common practices. One is to use the flight status criterion as a configuration file. During recognition, the criterion expression string is parsed to parse out the parameter code, bracket level, various arithmetic or logical or judgment symbols, criterion value, etc., and then the parameter code is used as the keyword to find the result value in the data structure corresponding to the parameter code through Hash or other methods. The current value of each parameter is passed into the criterion expression, and the expression is judged to be true according to the bracket level and arithmetic operations, logical operations, conditional judgments, expected criterion values, etc. If it is true, it is considered that the flight state corresponding to the current criterion occurs. Another method is to define the criterion expression and recognition logic through a scripting language. During real-time processing, the script is executed by calling the script interpreter each time to judge whether each criterion expression is satisfied. Among them, the efficiency of directly parsing the criterion expression will be higher than that of using a scripting language, but both methods have the problem of increasing CPU load and low efficiency due to frequent calls. It is difficult to meet the needs of real-time interpretation of high-frequency telemetry data, especially the needs of real-time identification of spacecraft flight conditions through high-throughput data.

发明内容Summary of the invention

本发明的目的在于克服现有技术缺陷,提出了一种提高航天器飞行状态识别效率的方法,本发明还公开了一种提高航天器飞行状态识别效率的装置。The purpose of the present invention is to overcome the defects of the prior art and propose a method for improving the efficiency of spacecraft flight status recognition. The present invention also discloses a device for improving the efficiency of spacecraft flight status recognition.

为了实现上述目的,本发明提出了一种提高航天器飞行状态识别效率的方法,包括:In order to achieve the above object, the present invention proposes a method for improving the efficiency of spacecraft flight status recognition, comprising:

分析航天器的飞行状态判据模式,创建飞行状态描述规则,并根据描述规则建立有关联关系的飞行状态判据表以及判据规则函数描述表;所述飞行状态判据表包括主表、子表和子子表;Analyze the flight state criterion mode of the spacecraft, create a flight state description rule, and establish a flight state criterion table and a criterion rule function description table with an associated relationship according to the description rule; the flight state criterion table includes a main table, a sub-table and a sub-sub-table;

将飞行状态的判据录入或导入飞行状态判据表中,判据条件按照C /C++语言要求进行编写,支持各种逻辑表达式、算术表达式和关系表达式,并将复杂逻辑处理的判据规则及函数体写入判据规则函数描述表;The flight status criteria are entered or imported into the flight status criteria table. The criteria conditions are written in accordance with the C/C++ language requirements, supporting various logical expressions, arithmetic expressions and relational expressions, and the criteria rules and function bodies of complex logical processing are written into the criteria rule function description table;

读取飞行状态判据表和判据规则函数描述表的信息,转换为C /C++语言编写的头文件和源程序;Read the information of the flight status criterion table and the criterion rule function description table, and convert them into header files and source programs written in C/C++ language;

经语法验证通过后,编译链接生成动态链接库文件;After passing the syntax verification, compile and link to generate a dynamic link library file;

经自动化测试工具测试正确后,发布动态链接库文件。After being tested correctly by the automated testing tool, the dynamic link library file is released.

优选的,所述描述规则包括:Preferably, the description rules include:

定义命名空间,存储每个参数的值信息,包括为每个参数分别存储对应的值信息,为同一个参数存储多个趋势变化判断的数据;Define a namespace to store the value information of each parameter, including storing the corresponding value information for each parameter and storing multiple trend change judgment data for the same parameter;

定义判据规则函数,包括函数名、传递的形参及返回的类型;所述判据规则函数支持多种判断参数变化趋势,包括在要求的时长内递增、递减、周期性变化和条件触发的有规律变化等趋势。A criterion rule function is defined, including a function name, a passed parameter, and a return type; the criterion rule function supports a variety of judgment parameter change trends, including increasing, decreasing, periodic changes, and regular changes triggered by conditions within a required time period.

优选的,所述为每个参数分别存储对应的值信息,包括:存储参数序号、参数代号、结果值的类型、超限标志、源码有效标志、结果值的长度、针对结果值的类型存储结果值,数据时间。Preferably, the corresponding value information is stored for each parameter, including: storing parameter serial number, parameter code, type of result value, over-limit flag, source code valid flag, length of result value, storing result value according to the type of result value, and data time.

优选的,所述航天器的飞行状态判据模式包括:实时结果判据、历史结果判据和条件结果判据中的一种或多种;其中,Preferably, the flight status criterion mode of the spacecraft includes: one or more of real-time result criterion, historical result criterion and conditional result criterion; wherein,

对于实时结果判据,判断在要求的时长或连续帧数内,实时参数是否满足判据规则表达式为真的要求,实时参数包括:遥测参数、遥控指令发送信息中的指令代号、全局共享信息中的飞行阶段标识、特征点时刻和飞行相对时;For the real-time result criterion, it is determined whether the real-time parameters meet the requirement that the criterion rule expression is true within the required duration or number of consecutive frames. The real-time parameters include: telemetry parameters, command code in the remote control command sending information, flight phase identification in the global shared information, feature point time and flight relative time;

对于历史结果判据,判断在要求的历史时长内,遥测参数的变化特性是否符合飞行状态变化特征;For historical result judgment, determine whether the change characteristics of telemetry parameters meet the flight status change characteristics within the required historical time period;

对于条件结果判据,判断触发条件是否会触发遥测参数值更新为预定的值或值区间。For the conditional result criterion, determine whether the triggering condition will trigger the telemetry parameter value to be updated to a predetermined value or value range.

优选的,所述遥测参数的代号与遥测参数大纲中的参数代号保持一致;所述飞行状态的名称、遥控指令代号、飞行阶段标识、特征点时刻和飞行相对时,与航天测控应用软件系统相关的文书保持一致。Preferably, the code of the telemetry parameter is consistent with the parameter code in the telemetry parameter outline; the name of the flight state, remote control command code, flight phase identification, characteristic point time and flight relative time are consistent with the documents related to the aerospace measurement and control application software system.

优选的,所述飞行状态判据表的主表:用于描述飞行状态的简要信息,包括:航天器标识、飞行状态标识、航天器名称、飞行状态名称、正常或异常标识、异常时的处置方案、实时/延时比判标志、飞行状态判据使用的数据源、飞行状态相关分系统和飞行状态的重要程度;其中飞行状态标识为从1开始递增的正整数;Preferably, the main table of the flight status criterion table is used to describe brief information of the flight status, including: spacecraft identification, flight status identification, spacecraft name, flight status name, normal or abnormal identification, abnormal treatment plan, real-time/delay ratio identification mark, data source used by the flight status criterion, flight status related subsystems and importance of the flight status; wherein the flight status identification is a positive integer that increases from 1;

子表,用于描述能够独立判出飞行状态的每组判据之间的关系,每个飞行状态包括一组或多组判据,每组判据分配一个判据组序号,子表字段信息包括:航天器标识、飞行状态标识、判据组序号、判据之间的表达式、异常状态发生时的处置方案、修正状态发生时间的脚本、飞行状态判断的前置条件、状态判出后的后置条件及数据源;Subtable, used to describe the relationship between each set of criteria that can independently determine the flight state. Each flight state includes one or more sets of criteria, and each set of criteria is assigned a criterion group number. The subtable field information includes: spacecraft identification, flight state identification, criterion group number, expressions between criteria, disposal plan when abnormal state occurs, script for correcting state occurrence time, preconditions for flight state judgment, postconditions after state judgment, and data source;

子子表,用于描述飞行状态每个判据组的详细判据信息;子子表字段信息包括:航天器标识、飞行状态标识、判据组序号、具体判据标识、具体判据表达式、数据源、参数历史变化趋势和参数当前变化趋势;Sub-sub-table, used to describe the detailed criterion information of each criterion group of the flight state; the sub-sub-table field information includes: spacecraft ID, flight state ID, criterion group serial number, specific criterion ID, specific criterion expression, data source, parameter historical change trend and parameter current change trend;

每个航天器的每个飞行状态都有唯一的航天器标识与飞行状态标识的联合主键进行标识,子子表通过航天器标识、飞行状态标识和判据组序号与子表进行关联,子表通过航天器标识和飞行状态标识与主表进行关联。Each flight status of each spacecraft is identified by a unique joint primary key of the spacecraft ID and the flight status ID. The sub-subtable is associated with the sub-table through the spacecraft ID, flight status ID and criterion group number, and the sub-table is associated with the main table through the spacecraft ID and flight status ID.

优选的,所述判据规则函数描述表,用于描述通用或专用的函数判据,表字段信息包括:通用标识、航天器标识、函数名称、函数声明、函数说明、函数体、飞行状态标识、判据组序号和具体判据标识;Preferably, the criterion rule function description table is used to describe a general or special function criterion, and the table field information includes: general identification, spacecraft identification, function name, function declaration, function description, function body, flight status identification, criterion group serial number and specific criterion identification;

如果为多任务通用函数,则航天器标识、飞行状态标识、判据组序号和具体判据标识为空;If it is a multi-task general function, the spacecraft ID, flight status ID, criterion group number and specific criterion ID are empty;

如果为单任务通用函数,则飞行状态标识、判据组序号和具体判据标识为空。If it is a single-task general function, the flight status identifier, criterion group number and specific criterion identifier are empty.

优选的,读取飞行状态判据表,转换为C /C++语言编写的头文件和源程序;包括:Preferably, the flight status criterion table is read and converted into a header file and a source program written in C/C++ language; including:

步骤S0)读取飞行状态判据表的主表、子表和子子表,将飞行状态判据信息转换为C/C++语言表示的各种表达式,生成头文件;Step S0) reading the main table, sub-table and sub-sub-table of the flight status criterion table, converting the flight status criterion information into various expressions expressed in C/C++ language, and generating a header file;

步骤S1) 从配置信息管理数据库中读取选定的航天器标识的遥测参数属性信息,以及任务共享信息、遥控指令发送信息接口,分别存储至对应的数据结构中,建立参数代号的存储索引关系;Step S1) reading the telemetry parameter attribute information of the selected spacecraft identification, as well as the mission sharing information and the remote control command sending information interface from the configuration information management database, storing them in corresponding data structures respectively, and establishing a storage index relationship of the parameter code;

步骤S2)根据C/C++语言规则,首行增加包含的头文件;Step S2) According to C/C++ language rules, the first line adds the included header file;

步骤S3) 按飞行状态标识升序顺序,从数据库中读取指定航天器标识的飞行状态判据信息:Step S3) Read the flight status criterion information of the designated spacecraft ID from the database in ascending order of the flight status ID:

为每个飞行状态标识下的每个判据组建立一个索引信息IndexID:Create an index information IndexID for each criterion group under each flight status identification:

;

其中,表示飞行状态标识,表示飞行状态最多的判据组数,表示判据组序号;in, Indicates the flight status indicator. Indicates the maximum number of criterion groups for flight status, Indicates the criterion group number;

将每一组判据下的所有判据表达式中的参数代号、飞行阶段标识、特征点时刻标识分别与参数属性信息中的参数代号、任务共享信息中的飞行阶段标识、特征点时刻标识进行匹配,如果完全匹配,将其替换为对应数据结构中的成员变量,判据表达式中的其他字符或函数名保留;Match the parameter codes, flight phase identifiers, and characteristic point moment identifiers in all criterion expressions under each set of criteria with the parameter codes in the parameter attribute information, and the flight phase identifiers and characteristic point moment identifiers in the task sharing information. If they are completely matched, replace them with member variables in the corresponding data structure, and keep other characters or function names in the criterion expressions;

步骤S4)以switch的方式,将每一个飞行状态标识标识下的每一组判据组序号的索引信息IndexID作为case分支的条件值,将步骤S3)转换后的表达式作为满足case分支条件需要执行的语句,再增加“break”语句;Step S4) in a switch manner, the index information IndexID of each set of criteria group numbers under each flight status identification is used as the condition value of the case branch, the expression converted in step S3) is used as the statement to be executed to meet the case branch condition, and a "break" statement is added;

步骤S5)当该飞行状态判据信息转换完毕后,转至步骤S6),否则,转至步骤S3);Step S5) When the flight status criterion information conversion is completed, go to step S6), otherwise, go to step S3);

步骤S6) 增加“default”语句后,根据C/C++语言编程风格,实现复合语句的对齐和缩进后,从而生成源程序文件并关闭。Step S6) After adding the "default" statement, the compound statement is aligned and indented according to the C/C++ language programming style, thereby generating a source program file and closing it.

优选的,读取判据规则函数描述表的信息,转换为C /C++语言编写的头文件和源程序;包括:Preferably, the information of the criterion rule function description table is read and converted into a header file and a source program written in C/C++ language; including:

步骤T0)读取判据规则函数描述表,逐行写入判据规则函数描述表记录的函数声明字段的信息,直至编写完成,生成头文件;Step T0) reading the criterion rule function description table, writing the information of the function declaration field recorded in the criterion rule function description table line by line until the writing is completed, and generating a header file;

步骤T1) 根据C/C++语言规则,首行增加包含的头文件;Step T1) According to the C/C++ language rules, add the included header file in the first line;

步骤T2)读取判据规则函数描述表,将函数名称、函数声明、函数说明、函数体字段的内容依次写入,生成源程序。Step T2) reads the judgment rule function description table, writes the contents of the function name, function declaration, function description, and function body fields in sequence, and generates a source program.

另一方面本发明还公开了一种提高航天器飞行状态识别效率的装置,包括:On the other hand, the present invention also discloses a device for improving the efficiency of identifying the flight status of a spacecraft, comprising:

规则建立模块,用于分析航天器的飞行状态判据模式,创建飞行状态描述规则,并根据描述规则建立有关联关系的飞行状态判据表以及判据规则函数描述表;所述飞行状态判据表包括主表、子表和子子表;A rule establishment module is used to analyze the flight state criterion mode of the spacecraft, create a flight state description rule, and establish a flight state criterion table and a criterion rule function description table with an associated relationship according to the description rule; the flight state criterion table includes a main table, a sub-table and a sub-sub-table;

录入模块,用于将飞行状态的判据录入或导入飞行状态判据表中,判据条件按照C/C++语言要求进行书写,支持各种逻辑表达式、算术表达式和关系表达式,并将复杂逻辑处理的判据规则及函数体写入判据规则函数描述表;The input module is used to input or import the flight status criteria into the flight status criteria table. The criteria conditions are written in accordance with the C/C++ language requirements, supporting various logical expressions, arithmetic expressions and relational expressions, and writing the criteria rules and function bodies of complex logical processing into the criteria rule function description table;

代码转换模块,用于读取飞行状态判据表和判据规则函数描述表的信息,转换为C/C++语言编写的头文件和源程序;A code conversion module is used to read the information of the flight status criterion table and the criterion rule function description table and convert them into header files and source programs written in C/C++ language;

编译生成模块,用于经语法验证通过后,编译链接生成动态链接库文件;Compile and generate module, used to compile and link to generate dynamic link library files after passing syntax verification;

发布模块,用于经自动化测试工具测试正确后,发布动态链接库文件编译生成模块,用于经语法验证通过后,编译链接生成动态链接库文件;The publishing module is used to publish the dynamic link library file after the automated testing tool has tested it correctly. The compiling and generating module is used to compile and link the dynamic link library file after the syntax verification has passed.

发布模块,用于经自动化测试工具测试正确后,发布动态链接库文件。The release module is used to release the dynamic link library file after it has been tested correctly by the automated testing tool.

与现有技术相比,本发明的优势在于:Compared with the prior art, the advantages of the present invention are:

1、显著提高处理效率:通过将飞行状态的判据表达式转换为C/C ++语句,并将其中逻辑处理复杂的表达式设计为函数表达式。编译链接生成动态库供状态识别软件调用,能显著提高数据处理效率。测试表明,处理效率提高了一个数量级。同样处理需求的情况下,降低对硬件资源的需求,尤其适用于大型星座管理对航天器飞行状态的自动识别。1. Significantly improve processing efficiency: By converting the flight status criterion expression into C/C++ statements, and designing the expressions with complex logical processing into function expressions, compiling and linking to generate dynamic libraries for the state recognition software to call, data processing efficiency can be significantly improved. Tests show that the processing efficiency is improved by an order of magnitude. Under the same processing requirements, the demand for hardware resources is reduced, which is especially suitable for automatic identification of spacecraft flight status in large constellation management.

2、灵活性和可扩展性:支持C/C++语言各种的逻辑表达式、关系表达式、算术表达式、赋值运算等符号,分析各类历史结果、条件结果的复杂处理逻辑可以灵活转换为函数表达式。通过配置信息可灵活扩展各种飞行状态的判据。该方法可适用于对航天器各种正常飞行状态的识别,以及故障状态的诊断。2. Flexibility and scalability: It supports various logical expressions, relational expressions, arithmetic expressions, assignment operations and other symbols in C/C++ language. The complex processing logic of analyzing various historical results and conditional results can be flexibly converted into function expressions. The judgment criteria of various flight states can be flexibly expanded through configuration information. This method can be applied to the identification of various normal flight states of spacecraft and the diagnosis of fault states.

3、可靠性和准确性:标准化的C/C++语言描述和编译过程,能提前发现表达式的人为错误,提高了飞行状态识别的准确性和一致性。3. Reliability and accuracy: The standardized C/C++ language description and compilation process can detect human errors in expressions in advance, improving the accuracy and consistency of flight status recognition.

4、可维护性和可操作性:动态库易于管理,简化了系统维护。操作简便,易于集成到现有的测控应用软件系统。4. Maintainability and operability: The dynamic library is easy to manage, which simplifies system maintenance. It is easy to operate and easy to integrate into the existing measurement and control application software system.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是本发明的提高航天器飞行状态识别效率的方法流程图;FIG1 is a flow chart of a method for improving the efficiency of spacecraft flight status recognition according to the present invention;

图2是常用的判据规则函数名;Figure 2 shows the commonly used criteria rule function names;

图3是判据规则函数描述表flightstatusfunc结构;FIG3 is a judgment rule function description table flightstatusfunc structure;

图4是飞行状态判据主表flightstatus_m结构;FIG4 is a structure of the flight status criterion main table flightstatus_m;

图5是飞行状态判据子表flightstatus_c结构;FIG5 is a structure of the flight status criterion subtable flightstatus_c;

图6是飞行状态判据子子表flightstatus_cc结构。FIG6 is the structure of the flight status criterion sub-sub-table flightstatus_cc.

具体实施方式DETAILED DESCRIPTION

本发明提供了一种能快速提高航天器飞行状态识别速度的方法和装置。主要处理方法为:首先分析飞行状态判据的各种模式,制定判据的描述规则。大部分飞行状态的判据能通过C/C++语法来描述连续多少帧实时参数的逻辑表达式、算术表达式或关系表达式等状态是否为真;少部分飞行状态需要结合过去一段时间参数的变化趋势,或通过触发条件引起参数值变更等作为判据。创建描述飞行状态判据主表、子表、子子表,分别描述飞行状态简要信息、飞行状态组判据关系信息、飞行状态每组详细判据信息等。创建判据规则函数描述表实现处理复杂的逻辑判断。将飞行状态判据导入或录入到数据库,然后通过辅助工具,读取飞行状态判据相关信息,将不带双引号的遥测参数代号、飞行阶段、特征点时刻、飞行相对时、指令代号等转换为对应的参数存储索引信息,按照C/C++语言的编码方式转换为C/C++的头文件、源程序。读取判据规则函数表,生成判据规则处理的头文件与源程序。将两次生成的头文件与源程序编译链接为动态库,供航天器飞行状态识别软件调用。参数值直接从存储索引信息获取,飞行状态判据条件转换为执行C/C++语句,从而显著提高了飞行状态识别的速度和效率。该方法不同于使用配置文件或脚本语言的处理方式,对复杂处理逻辑具有很好的可扩展性。测试表明,本发明的方法和装置对航天器飞行状态的判断速度提高一个数量级,并且具有高灵活性、可靠性和可维护性。可用于航天器的关键状态自动监控、大型星座管理的卫星飞行工况自动监控与预警。The present invention provides a method and device for quickly improving the speed of identifying the flight status of a spacecraft. The main processing method is: firstly, various modes of flight status criteria are analyzed, and description rules of the criteria are formulated. Most flight status criteria can describe whether the logical expression, arithmetic expression or relational expression of real-time parameters of consecutive frames are true or not through C/C++ syntax; a small number of flight statuses need to be combined with the change trend of parameters over a period of time in the past, or the parameter value changes caused by triggering conditions as criteria. Create a main table, sub-table and sub-sub-table to describe the flight status criteria, respectively describe the brief information of the flight status, the relationship information of the flight status group criteria, and the detailed criterion information of each group of the flight status. Create a criterion rule function description table to realize the processing of complex logical judgments. The flight status criteria are imported or entered into the database, and then the flight status criteria related information is read through auxiliary tools, and the telemetry parameter code without double quotes, flight phase, feature point time, flight relative time, instruction code, etc. are converted into corresponding parameter storage index information, and converted into C/C++ header files and source programs according to the coding method of C/C++ language. Read the judgment rule function table and generate the header file and source program for judgment rule processing. Compile and link the header file and source program generated twice into a dynamic library for the spacecraft flight status identification software to call. The parameter value is directly obtained from the storage index information, and the flight status judgment condition is converted into the execution of C/C++ statements, thereby significantly improving the speed and efficiency of flight status identification. This method is different from the processing method using configuration files or scripting languages, and has good scalability for complex processing logic. Tests show that the method and device of the present invention increase the speed of judging the flight status of spacecraft by an order of magnitude, and have high flexibility, reliability and maintainability. It can be used for automatic monitoring of key states of spacecraft, automatic monitoring and early warning of satellite flight conditions for large constellation management.

本发明的主要原理是:首先制定判据表达式的描述规则。分析飞行状态识别判据的特征,将判据条件划分为三类:实时结果(例如,遥测参数实时计算结果),条件结果(例如,遥控发令后遥测参数预期结果),历史结果(例如,某个或某些遥测参数在历史时段的变化趋势)。其中条件结果、历史趋势变化判断可能会涉及复杂的处理判断,通过分析归纳,设计出几类通用性强的函数,函数代码通过静态文本进行配置。通过C/C++语言的逻辑运算符、算术运算符、关系运算符等,将实时结果,以及历史结果、条件结果的趋势判断函数表达式等一起综合描述为飞行状态的判据。The main principle of the present invention is: first, formulate the description rules of the criterion expression. Analyze the characteristics of the flight status identification criterion, and divide the criterion conditions into three categories: real-time results (for example, real-time calculation results of telemetry parameters), conditional results (for example, expected results of telemetry parameters after remote control commands), and historical results (for example, the change trend of one or some telemetry parameters in the historical period). Among them, the judgment of conditional results and historical trend changes may involve complex processing judgments. Through analysis and induction, several types of highly versatile functions are designed, and the function code is configured through static text. Through the logical operators, arithmetic operators, relational operators, etc. of the C/C++ language, the real-time results, as well as the historical results, the trend judgment function expressions of the conditional results, etc. are comprehensively described as the criterion of the flight status.

创建存储飞行状态判据的数据库。包括:描述飞行状态简要信息的飞行状态判据主表flightstatus_m、飞行状态组判据关系信息的子表flightstatus_c、飞行状态每组详细判据信息的子子表flightstatus_cc,以及描述复杂处理逻辑的判据规则函数描述表flightstatusfunc。并将判据信息导入或录入到数据库。Create a database to store flight status criteria. It includes: flight status criterion master table flightstatus_m that describes brief flight status information, subtable flightstatus_c that contains flight status group criterion relationship information, subtable flightstatus_cc that contains detailed criterion information for each flight status group, and criterion rule function description table flightstatusfunc that describes complex processing logic. Import or enter criterion information into the database.

判据表达式的转换:将数据库中的判据表达式转换为C/C++语言编写的源代码。设计自动转换工具,将飞行状态的判别表达式转换为C/C++语言编写的源代码。通过转换工具,获得表达式中不带双引号的参数代号、飞行阶段、特征点时刻、飞行相对时、指令代号等的存储索引信息,其他字符与函数名保留。将自动生成的C/C++编码方式的源代码进行编译链接,生成动态库,供航天器飞行状态识别软件直接调用。Conversion of criterion expressions: Convert the criterion expressions in the database into source code written in C/C++. Design an automatic conversion tool to convert the flight status discriminant expression into source code written in C/C++. Through the conversion tool, obtain the storage index information of parameter codes, flight phases, feature point moments, flight relative time, instruction codes, etc. without double quotes in the expression, and retain other characters and function names. Compile and link the automatically generated C/C++ coding source code to generate a dynamic library for direct call by the spacecraft flight status recognition software.

飞行状态判据增、删、修改或批量导入后,一键式操作,自动更新飞行状态识别动态库。这种方法能高效地将判据规则转换为动态库,并且将识别判断飞行状态的效率提高1个数量级。After adding, deleting, modifying or batch importing flight status criteria, the flight status recognition dynamic library can be automatically updated with one-click operation. This method can efficiently convert the criteria rules into a dynamic library and improve the efficiency of identifying and judging flight status by one order of magnitude.

下面结合附图和实施例对本发明的技术方案进行详细的说明。The technical solution of the present invention is described in detail below with reference to the accompanying drawings and embodiments.

实施例1Example 1

如图1所示,本发明的实施例1提出了一种提高航天器飞行状态识别效率的方法,主要步骤是:As shown in FIG1 , Embodiment 1 of the present invention proposes a method for improving the efficiency of spacecraft flight status recognition, the main steps of which are:

1. 飞行状态判据配置管理阶段1. Flight status criteria configuration management phase

1.1制定飞行状态判据的描述规则1.1 Formulate description rules for flight status criteria

飞行状态判据一般会用到三类结果,实时结果,历史结果,条件结果。大部分判据表达式使用实时结果,判据表达式主要用遥测参数代号、特征点时刻、飞行相对时、飞行阶段标识等进行描述,支持逻辑表达式、关系表达式、算术表达式等。部分判据需要分析历史结果,少部分判据需要使用条件结果。使用历史结果、条件结果的判据一般处理逻辑复杂,需要进行分析、归纳,设计出几类或几十类通用的函数。定义函数名的命名规则,传递的形参可以使用参数代号、指令代号、之前的相对时长、之后的相对时长、绝对时间值,以及变化或相对变化的参数值等。Flight status criteria generally use three types of results: real-time results, historical results, and conditional results. Most criterion expressions use real-time results. Criterion expressions are mainly described by telemetry parameter codes, feature point moments, flight relative time, flight phase identifiers, etc., and support logical expressions, relational expressions, arithmetic expressions, etc. Some criteria require analysis of historical results, and a small number of criteria require the use of conditional results. Criteria that use historical results and conditional results generally have complex processing logic and require analysis and induction to design several or dozens of general functions. Define the naming rules for function names. The passed parameters can use parameter codes, instruction codes, previous relative durations, subsequent relative durations, absolute time values, and parameter values that change or change relatively, etc.

普通表达式及函数调用传入的遥测参数代号与遥测参数大纲中的参数代号保持一致,指令代号与测控软件使用的指令属性中的指令代号保持一致,便于查看,也方便直接导入飞行状态判据文件。特征点时刻、飞行相对时、飞行阶段标识等,使用接口规定的字符标识。为表示历史时间区间或某条件触发下参数的变化趋势,需要设计判断参数变化规律的函数,函数名以Func_开头,尽可能体现参数变化的趋势。例如,函数Func_isParaIncreasing用于判断参数ParaCode是否为递增趋势。常用的函数名参见图2常用的判据规则函数名。其他的符号则使用C/C++语言支持的逻辑表达式、关系表达式、算术表达式、赋值运算等符号。The telemetry parameter codes passed in by ordinary expressions and function calls are consistent with the parameter codes in the telemetry parameter outline, and the instruction codes are consistent with the instruction codes in the instruction properties used by the measurement and control software, which is convenient for viewing and directly importing the flight status judgment file. Characteristic point moments, flight relative time, flight phase identification, etc., use the character identification specified by the interface. In order to represent the trend of parameter changes in historical time intervals or under certain conditions, it is necessary to design a function to judge the law of parameter changes. The function name starts with Func_ to reflect the trend of parameter changes as much as possible. For example, the function Func_isParaIncreasing is used to determine whether the parameter ParaCode is an increasing trend. For commonly used function names, see Figure 2 Commonly used judgment rule function names. Other symbols use logical expressions, relational expressions, arithmetic expressions, assignment operations and other symbols supported by the C/C++ language.

1.2创建描述飞行状态判据的数据库,将飞行状态判据通过判据规则函数描述表flightstatusfunc以及有关联关系的飞行状态判据主表flightstatus_m、飞行状态判据子表flightstatus_c和飞行状态判据子子表flightstatus_cc进行描述。每个航天器的每个飞行状态都有唯一的航天器标识SPACECRAFTID与飞行状态标识FLIGHTSTATUS_ID的联合主键进行标识。子表flightstatus_c通过航天器标识SPACECRAFTID、FLIGHTSTATUS_ID与主表flightstatus_m进行关联。子子表flightstatus_cc通过航天器标识SPACECRAFTID、飞行状态标识FLIGHTSTATUS_ID、判据组序号GROUP_ID与子表flightstatus_c进行关联。1.2 Create a database that describes the flight status criteria, and describe the flight status criteria through the criterion rule function description table flightstatusfunc and the associated flight status criterion main table flightstatus_m, flight status criterion subtable flightstatus_c and flight status criterion sub-subtable flightstatus_cc. Each flight status of each spacecraft is identified by a unique joint primary key of the spacecraft identifier SPACECRAFTID and the flight status identifier FLIGHTSTATUS_ID. The subtable flightstatus_c is associated with the main table flightstatus_m through the spacecraft identifier SPACECRAFTID and FLIGHTSTATUS_ID. The sub-subtable flightstatus_cc is associated with the subtable flightstatus_c through the spacecraft identifier SPACECRAFTID, the flight status identifier FLIGHTSTATUS_ID, and the criterion group serial number GROUP_ID.

创建判据规则函数描述表flightstatusfunc,描述复杂的处理逻辑的判据。flightstatusfunc表字段包括:通用标识UNIVERSALID、航天器标识SPACECRAFTID、函数名称FUNCTIONNAME、函数声明FUNCTIONDECLARE、函数说明FLIGHTSTATUSFUNC、函数体FUNCTIONDEFFILENAME、飞行状态标识FLIGHTSTATUS_ID、判据组序号GROUP_ID和具体判据标识CRIT_ID等。如果为多任务通用函数,则航天器标识SPACECRAFTID、飞行状态标识FLIGHTSTATUS_ID、判据组序号GROUP_ID、具体判据标识CRIT_ID为空;如果为单任务通用,则飞行状态标识FLIGHTSTATUS_ID、判据组序号GROUP_ID、具体判据标识CRIT_ID为空。其表结构如图3所示。Create a criterion rule function description table flightstatusfunc to describe the criterion of complex processing logic. The fields of the flightstatusfunc table include: universal identifier UNIVERSALID, spacecraft identifier SPACECRAFTID, function name FUNCTIONNAME, function declaration FUNCTIONDECLARE, function description FLIGHTSTATUSFUNC, function body FUNCTIONDEFFILENAME, flight status identifier FLIGHTSTATUS_ID, criterion group number GROUP_ID and specific criterion identifier CRIT_ID. If it is a multi-task universal function, the spacecraft identifier SPACECRAFTID, flight status identifier FLIGHTSTATUS_ID, criterion group number GROUP_ID and specific criterion identifier CRIT_ID are empty; if it is a single-task universal function, the flight status identifier FLIGHTSTATUS_ID, criterion group number GROUP_ID and specific criterion identifier CRIT_ID are empty. Its table structure is shown in Figure 3.

飞行状态判据主表flightstatus_m:主要描述飞行状态的简要信息。包括:航天器标识SPACECRAFTID、飞行状态标识FLIGHTSTATUS_ID、航天器名称SPACECRAFTNAME、飞行状态名称FLIGHTSTATUSNAME、正常或异常标识NORORABNOR、异常时的处置方案、实时/延时比判标志REALORDELAY、飞行状态判据使用的数据源DATASOURCES、飞行状态相关分系统SUBSYSTEM和飞行状态的重要程度GRADE。表结构如图4所示。Flight status criterion main table flightstatus_m: mainly describes the brief information of flight status. Including: spacecraft identification SPACECRAFTID, flight status identification FLIGHTSTATUS_ID, spacecraft name SPACECRAFTNAME, flight status name FLIGHTSTATUSNAME, normal or abnormal identification NORORABNOR, abnormal treatment plan, real-time/delay ratio judgment mark REALORDELAY, data source DATASOURCES used by flight status criterion, flight status related subsystem SUBSYSTEM and flight status importance GRADE. The table structure is shown in Figure 4.

每个飞行状态可以有多组判据,每组判据都能够独立判出飞行状态,每组判据分配一个GROUP_ID。对飞行状态的识别,不管是正常状态还是异常状态,一般可以通过多组判据进行判读,每组判据满足后,均视为飞行状态发生。通过飞行状态判据子表flightstatus_c描述每组判据下多个具体判据之间的关系(例如“1&&2||!3”,字符串中的1、2、3分别表示第1、2、3个具体判据,与CRIT_ID值一致),每个飞行状态最多有GroupNum组判据(GroupNum为宏定义,表示最多组数,可以调整)。Each flight status can have multiple sets of criteria, each set of criteria can independently determine the flight status, and each set of criteria is assigned a GROUP_ID. The identification of the flight status, whether it is a normal state or an abnormal state, can generally be judged by multiple sets of criteria. When each set of criteria is met, it is considered that the flight status has occurred. The relationship between multiple specific criteria under each set of criteria is described through the flight status criterion subtable flightstatus_c (for example, "1&&2||!3", 1, 2, 3 in the string represent the 1st, 2nd, and 3rd specific criteria respectively, which is consistent with the CRIT_ID value). Each flight status has at most GroupNum groups of criteria (GroupNum is a macro definition, indicating the maximum number of groups, which can be adjusted).

飞行状态判据子表flightstatus_c包括:航天器标识SPACECRAFTID、飞行状态标识FLIGHTSTATUS_ID、判据组序号GROUP_ID、判据之间的表达式GROUPEXP、异常状态发生时的处置方案DISPOSALPLAN、修正状态发生时间的脚本TIMEALGORITHM、飞行状态判断的前置条件PRECONDITIONS、状态判出后的后置条件POSTCONDITIONS及数据源DATASOURCES等。表结构如图5所示:The flight status criterion subtable flightstatus_c includes: spacecraft identifier SPACECRAFTID, flight status identifier FLIGHTSTATUS_ID, criterion group number GROUP_ID, expression between criteria GROUPEXP, disposal plan DISPOSALPLAN when abnormal status occurs, script TIMEALGORITHM for correcting status occurrence time, flight status judgment precondition PRECONDITIONS, postcondition POSTCONDITIONS after status judgment, and data source DATASOURCES, etc. The table structure is shown in Figure 5:

飞行状态判据子子表flightstatus_cc:主要描述识别飞行状态每组判据下具体参数及其相互关系, 例如,“主电源故障”的第一组第1个判据为“DDDv0005 <= 0.5 &&DDDv007 <=0.5&&DDDf012==1”。每组具体判据通过CRIT_ID(整型值,从1开始)字段进行标识。关系包括逻辑表达式、算术表达式、关系表达式等。参数主要使用遥测参数,还可以使用遥控指令、任务场景标识、相对飞行时间等。表字段信息包括:航天器标识SPACECRAFTID、飞行状态标识FLIGHTSTATUS_ID、判据组序号GROUP_ID、具体判据标识CRIT_ID、具体判据表达式CRITERIONEXP、数据源DATASOURCES、参数历史变化趋势PARAHISTTREND、参数当前变化趋势PARACURTREND等。每个具体判据都分配一个CRIT_ID。其表结构如图6所示。Flight status criteria sub-subtable flightstatus_cc: mainly describes the specific parameters and their relationships under each set of flight status criteria, for example, the first criterion of the first group of "main power failure" is "DDDv0005 <= 0.5 &&DDDv007 <=0.5&&DDDf012==1". Each set of specific criteria is identified by the CRIT_ID (integer value, starting from 1) field. Relationships include logical expressions, arithmetic expressions, relational expressions, etc. Parameters mainly use telemetry parameters, and can also use remote control commands, mission scenario identifiers, relative flight time, etc. The table field information includes: spacecraft identifier SPACECRAFTID, flight status identifier FLIGHTSTATUS_ID, criterion group sequence number GROUP_ID, specific criterion identifier CRIT_ID, specific criterion expression CRITERIONEXP, data source DATASOURCES, parameter historical change trend PARAHISTTREND, parameter current change trend PARACURTREND, etc. Each specific criterion is assigned a CRIT_ID. The table structure is shown in Figure 6.

1.3 对飞行状态判据信息进行管理。通过飞行状态判据管理界面,对飞行状态的判据进行增删查改操作,支持飞行状态判据信息的批量导入、导出。1.3 Manage flight status criteria information. Through the flight status criteria management interface, add, delete, check and modify flight status criteria, and support batch import and export of flight status criteria information.

2. 飞行状态判据转换阶段2. Flight status criteria conversion phase

2.1提前建立设计参数存储机制,并在初始化时将参数代号转换为对应的存储位置。读取遥测参数属性信息、任务全局共享接口配置、遥控指令发送接口配置信息等,每个参数代号及结果值存储至如下的数据结构,如下:2.1 Establish a design parameter storage mechanism in advance and convert the parameter code to the corresponding storage location during initialization. Read telemetry parameter attribute information, task global shared interface configuration, remote control command sending interface configuration information, etc. Each parameter code and result value is stored in the following data structure, as follows:

typedef struct _ST_PamRslttypedef struct _ST_PamRslt

{{

uint16_t usID;uint16_t usID;

QString szPamCode;QString szPamCode;

uint8_t ucRsltType;uint8_t ucRsltType;

uint8_t ucOutFlag;uint8_t ucOutFlag;

uint8_t ucAvailFlag;uint8_t ucAvailFlag;

sint16_t ssRsltBytes;sint16_t ssRsltBytes;

double dRslt;double dRslt;

uint64_t ulRslt;uint64_t ulRslt;

int64_t slRslt;int64_t slRslt;

double dCyTime;double dCyTime;

QString strCodes;QString strCodes;

}ST_PamRslt;}ST_PamRslt;

#define MSGNUM 10#define MSGNUM 10

typedef struct _ST_PamRslt * ST_PamRsltPTR;typedef struct _ST_PamRslt * ST_PamRsltPTR;

ST_PamRsltPTR pst_PamRslt[MSGNUM];ST_PamRsltPTR pst_PamRslt[MSGNUM];

其中,usID为参数序号,初始化时获得;ucRsltType为结果类型,初始化时获得;ucOutFlag为超限标志,ucAvailFlag为源码有效标志,ssRsltBytes为结果值长度,dRslt存储数值型结果值,参数结果类型是变的,浮点型、4字节(含4字节)以下的整型都可以通过该类型表示,ulRslt,大于4字节的无符号整型统一用8字节无符号整型表示;slRslt,大于4字节的有符号整型统一用8字节有符号整型表示,定义MSGNUM表示最多有多少类数据源。strCodes存储字符串类型的数据。Among them, usID is the parameter serial number, obtained during initialization; ucRsltType is the result type, obtained during initialization; ucOutFlag is the overlimit flag, ucAvailFlag is the source code valid flag, ssRsltBytes is the result value length, dRslt stores the numeric result value, the parameter result type is variable, floating point type and integer types below 4 bytes (including 4 bytes) can be represented by this type, ulRslt, unsigned integers greater than 4 bytes are uniformly represented by 8-byte unsigned integers; slRslt, signed integers greater than 4 bytes are uniformly represented by 8-byte signed integers, and MSGNUM is defined to represent the maximum number of data sources. strCodes stores string type data.

例如,DDDv0005的值对应存储在pst_PamRslt[1] [15].dRslt中。For example, the value of DDDv0005 is stored in pst_PamRslt[1] [15].dRslt.

2.2生成tm_flightstatusfunc.h头文件2.2 Generate tm_flightstatusfunc.h header file

2.2.1飞行状态识别头文件,按C++语法要求,逐行写上所包含的头文件:系统头文件、自定义的参数存储结构头文件,以及判据规则函数描述头文件 “tm_flightstatusfunc.h”。2.2.1 Flight status identification header file, according to the C++ syntax requirements, write the included header files line by line: system header file, custom parameter storage structure header file, and judgment rule function description header file "tm_flightstatusfunc.h".

2.3生成tm_ flightstatusfunc.h头文件2.3 Generate tm_flightstatusfunc.h header file

2.3.1 判据规则函数描述头文件,按C++语法要求,逐行写上所包含的头文件:系统头文件。2.3.1 Judgment rule function description header file, according to the C++ syntax requirements, write the included header files line by line: system header file.

然后读取并逐行写入判据规则函数描述表flightstatusfunc的函数声明字段FUNCTIONDECLARE所包含的信息,直至写完。Then read and write the information contained in the function declaration field FUNCTIONDECLARE of the judgment rule function description table flightstatusfunc line by line until it is finished.

2.4生成tm_flightstatus.cpp模块2.4 Generate tm_flightstatus.cpp module

2.4.1按C++语法要求,逐行写上所包含的头文件 “tm_flightstatus.h”、 “tm_flightstatusfunc.h”2.4.1 According to the C++ syntax requirements, write the included header files "tm_flightstatus.h" and "tm_flightstatusfunc.h" line by line.

2.4.2 读取指定航天器标识的飞行状态判据信息,并进行转换。给每一个飞行状态FLIGHTSTATUS_ID标识下的每一组GROUP_ID建立一个索引信息IndexID:2.4.2 Read the flight status criterion information of the specified spacecraft ID and convert it. Create an index information IndexID for each group GROUP_ID under each flight status FLIGHTSTATUS_ID ID:

;

其中,表示飞行状态标识,表示飞行状态最多的判据组数,表示判据组序号。in, Indicates the flight status indicator. Indicates the maximum number of criterion groups for flight status, Indicates the criterion group number.

将每组判据的具体判据表达式中不带双引号的参数代号、飞行阶段标识、特征点时刻、飞行相对时、指令代号等分别与遥测参数属性信息中的参数代号、任务共享信息中的飞行阶段标识、特征点时刻、飞行相对时、遥控指令发送信息中的指令代号变量名称等进行匹配,如果完全匹配,将其替换为参数代号对应的存储位置,其他信息保留。考虑C/C++语言代码编程风格,实现复合语句的对齐和缩进风格(花括号的对齐方式、Tab缩进等)。Match the parameter codes, flight phase identifiers, feature point moments, flight relative time, and command codes without double quotes in the specific criterion expressions of each set of criteria with the parameter codes in the telemetry parameter attribute information, the flight phase identifiers, feature point moments, flight relative time in the task sharing information, and the command code variable names in the remote control command sending information. If they are completely matched, replace them with the storage location corresponding to the parameter code, and retain other information. Consider the C/C++ language code programming style to achieve the alignment and indentation style of compound statements (alignment of curly braces, Tab indentation, etc.).

2.4.3 以switch的方式,将每个飞行状态FLIGHTSTATUS_ID标识下的每组GROUP_ID的索引信息IndexID作为case分支的条件值,上面2.4.2转换后的表达式作为满足case分支条件需要执行的语句,并加上break;2.4.3 Use the switch method to use the index information IndexID of each group GROUP_ID under each flight status FLIGHTSTATUS_ID as the condition value of the case branch. The expression converted in 2.4.2 above is used as the statement to be executed to meet the case branch condition, and add a break;

2.4.4 循环直至每一个表达式书写完毕;最后补充上“default”分支,完成函数tm_flightstatus的书写。2.4.4 Repeat this process until every expression is completed. Finally, add the “default” branch to complete the function tm_flightstatus.

2.4.5 继续将flightstatus_c表中的前置条件写入void Pre_addParaCodeValue(const std::string& ParaCode ,double dRslt)函数(该函数在飞行状态识别函数每次解析出参数结果dRslt后,判断当前参数代号是否需要进行趋势判断,如果需要,则进行预处理),将每个前置条件第一个“(”后的字符串取出就是实际的参数代号,将ParaCode与该参数代号相比,匹配,则写入前置条件信息。2.4.5 Continue to write the preconditions in the flightstatus_c table into the void Pre_addParaCodeValue(const std::string& ParaCode, double dRslt) function (this function determines whether the current parameter code needs trend judgment after the flight status identification function parses the parameter result dRslt each time. If necessary, preprocessing is performed). Take out the string after the first "(" of each precondition, which is the actual parameter code. Compare ParaCode with the parameter code. If they match, write the precondition information.

2.4.6 关闭文件后,tm_flightstatus.cpp文件编写完毕。2.4.6 After closing the file, the tm_flightstatus.cpp file is written.

2.5 生成tm_flightstatusfunc.cpp模块2.5 Generate tm_flightstatusfunc.cpp module

2.5.1 首行包含的头文件:tm_flightstatusfunc.h。2.5.1 The first line of included header file: tm_flightstatusfunc.h.

2.5.2 读取指定航天器标识有效记录中的判据规则函数描述表flightstatusfunc,依次将表记录中的函数定义文件名中的内容整个读出并写入“tm_flightstatusfunc.cpp”,直至书写完毕。2.5.2 Read the criterion rule function description table flightstatusfunc in the valid record of the specified spacecraft identification, and read out the contents of the function definition file name in the table record in turn and write them into "tm_flightstatusfunc.cpp" until the writing is completed.

2.5.3 关闭文件后,tm_flightstatusfunc.cpp编写完毕。2.5.3 After closing the file, tm_flightstatusfunc.cpp is written.

判据规则函数描述表flightstatusfunc表的函数定义内容举例如下:The function definition content of the judgment rule function description table flightstatusfunc table is exemplified as follows:

#ifndef ParaTrendFunc_CPP#ifndef ParaTrendFunc_CPP

#define ParaTrendFunc_CPP#define ParaTrendFunc_CPP

#include <iostream>#include <iostream>

#include <deque>#include <deque>

#include <unordered_map>#include <unordered_map>

#include <QDateTime>#include <QDateTime>

// Define DataPoint structure// Define DataPoint structure

struct DataPoint {struct DataPoint {

double value;double value;

QDateTime timestamp;QDateTime timestamp;

};};

// Define ParaTrendFunc namespace// Define ParaTrendFunc namespace

namespace ParaTrendFunc {namespace ParaTrendFunc {

static std::unordered_map<std::string, std::deque<DataPoint>>increasingData;static std::unordered_map<std::string, std::deque<DataPoint>>increasingData;

static std::unordered_map<std::string, std::deque<DataPoint>>decreasingData;static std::unordered_map<std::string, std::deque<DataPoint>>decreasingData;

void addDataPoint(const std::string& ParaCode, double value,const QDateTime& timestamp) {void addDataPoint(const std::string& ParaCode, double value,const QDateTime& timestamp) {

// Add to both increasing and decreasing caches// Add to both increasing and decreasing caches

increasingData[ParaCode].emplace_back(DataPoint{value,timestamp});increasingData[ParaCode].emplace_back(DataPoint{value,timestamp});

decreasingData[ParaCode].emplace_back(DataPoint{value,timestamp});decreasingData[ParaCode].emplace_back(DataPoint{value,timestamp});

}}

bool checkTrend(const std::deque<DataPoint>& dataPoints, doubledTimeLen, bool isIncreasing) {bool checkTrend(const std::deque<DataPoint>& dataPoints, doubledTimeLen, bool isIncreasing) {

if (dataPoints.size() < 2) return false;if (dataPoints.size() < 2) return false;

QDateTime currentTime = QDateTime::currentDateTime();QDateTime currentTime = QDateTime::currentDateTime();

QDateTime startTime = currentTime.addSecs(-dTimeLen);QDateTime startTime = currentTime.addSecs(-dTimeLen);

auto startIt = std::lower_bound(dataPoints.begin(),dataPoints.end(), startTime,auto startIt = std::lower_bound(dataPoints.begin(),dataPoints.end(), startTime,

[](const DataPoint& dp, const QDateTime& time) {[](const DataPoint& dp, const QDateTime& time) {

return dp.timestamp < time;return dp.timestamp < time;

});});

if (startIt == dataPoints.end() || std::distance(startIt,dataPoints.end()) < 2) {if (startIt == dataPoints.end() || std::distance(startIt,dataPoints.end()) < 2) {

return false;return false;

}}

auto prevIt = startIt;auto prevIt = startIt;

for (auto it = std::next(startIt); it != dataPoints.end(); ++it) {for (auto it = std::next(startIt); it != dataPoints.end(); ++it) {

if ((isIncreasing && it->value <= prevIt->value) || (!isIncreasing && it->value >= prevIt->value)) {if ((isIncreasing && it->value <= prevIt->value) || (!isIncreasing && it->value >= prevIt->value)) {

return false;return false;

}}

prevIt = it;prevIt = it;

}}

return true;return true;

}}

bool Func_isParaDecreasing (const std::string& ParaCode, doubledTimeLen) {bool Func_isParaDecreasing (const std::string& ParaCode, doubledTimeLen) {

auto it = decreasingData.find(ParaCode);auto it = decreasingData.find(ParaCode);

if (it == decreasingData.end()) return false;if (it == decreasingData.end()) return false;

const auto& dataPoints = it->second;const auto& dataPoints = it->second;

bool result = checkTrend(dataPoints, dTimeLen, false);bool result = checkTrend(dataPoints, dTimeLen, false);

if (!result) {if (!result) {

decreasingData.erase(ParaCode);decreasingData.erase(ParaCode);

}}

return result;return result;

}}

bool Func_isParaIncreasing(const std::string& ParaCode, doubledTimeLen) {bool Func_isParaIncreasing(const std::string& ParaCode, doubledTimeLen) {

auto it = increasingData.find(ParaCode);auto it = increasingData.find(ParaCode);

if (it == increasingData.end()) return false;if (it == increasingData.end()) return false;

const auto& dataPoints = it->second;const auto& dataPoints = it->second;

bool result = checkTrend(dataPoints, dTimeLen, true);bool result = checkTrend(dataPoints, dTimeLen, true);

if (!result) {if (!result) {

increasingData.erase(ParaCode);increasingData.erase(ParaCode);

}}

return result;return result;

}}

};};

using ParaTrendFunc::Func_isParaDecreasing;using ParaTrendFunc::Func_isParaDecreasing;

using ParaTrendFunc::Func_isParaIncreasing;using ParaTrendFunc::Func_isParaIncreasing;

..............

#endif#endif

tm_flightstatus.cpp的示例:Example of tm_flightstatus.cpp:

#include "tm_flightstatus.h"#include "tm_flightstatus.h"

bool tm_flightstatus(Sint_4 siIndex)bool tm_flightstatus(Sint_4 siIndex)

{{

bool bRet = false;bool bRet = false;

switch(siIndex)switch(siIndex)

{{

case 1://飞行状态标识FLIGHTSTATUS_ID=1的第1组判据case 1://flight status identifier FLIGHTSTATUS_ID=1, the first set of criteria

bRet=((((pst_PamRslt[0][653].dRslt>=127.5&&pst_PamRslt[0][653].dRslt<=142.5)||(pst_PamRslt[1][677].dRslt>=127.5&&pst_PamRslt[1][677].dRslt<=142.5)||(pst_PamRslt[1][701].dRslt>=127.5&&pst_PamRslt[1][701].dRslt<=142.5)||(pst_PamRslt[1][725].dRslt>=127.5&&pst_PamRslt[0][725].dRslt<=142.5)||(pst_PamRslt[0][655].dRslt>=127.5&&pst_PamRslt[1][655].dRslt<=142.5)||(pst_PamRslt[1][679].dRslt>=127.5&&pst_PamRslt[1][679].dRslt<=142.5)||(pst_PamRslt[0][703].dRslt>=127.5&&pst_PamRslt[0][703].dRslt<=142.5)||(pst_PamRslt[1][727].dRslt>=127.5&&pst_PamRslt[1][727].dRslt<=142.5))&&(g_dFXXDS>=125&&g_dFXXDS<=145)))?true:false;bRet=((((pst_PamRslt[0][653].dRslt>=127.5&&pst_PamRslt[0][653].dRslt<=142.5)||(pst_PamRslt[1][677].dRslt>=127.5&&pst_PamRslt[1] [677].dRslt<=142.5)||(pst_ PamRslt[1][701].dRslt>=127.5&&pst_PamRslt[1][701].dRslt<=142.5)||(pst_PamRslt[1][725].dRslt>=127.5&&pst_PamRslt[0][725].dRslt< =142.5)||(pst_PamRslt[0][65 5].dRslt>=127.5&&pst_PamRslt[1][655].dRslt<=142.5)||(pst_PamRslt[1][679].dRslt>=127.5&&pst_PamRslt[1][679].dRslt<=142.5)|| (pst_PamRslt[0][703].dRslt>=127 .5&&pst_PamRslt[0][703].dRslt<=142.5)||(pst_PamRslt[1][727].dRslt>=127.5&&pst_PamRslt[1][727].dRslt<=142.5))&&(g_dFXXDS>=125&&g_dFXXDS< =145)))?true:false;

break;break;

case 2:// 飞行状态标识FLIGHTSTATUS_ID=1的第2组判据case 2:// The second set of criteria for flight status identifier FLIGHTSTATUS_ID=1

bRet=(((pst_PamRslt[0][908].dRslt==128)&&(pst_PamRslt[0][898].dRslt>=126&&pst_PamRslt[1][898].dRslt<=144)&&(g_dFXXDS>=125&&g_dFXXDS<=146)&&(g_pst_KeyInfM[0].ucFlag==0)))?true:false;bRet=(((pst_PamRslt[0][908].dRslt==128)&&(pst_PamRslt[0][898].dRslt>=126&&pst_PamRslt[1][898].dRslt<=144)&&(g_dFXXDS>=125&&g_dFXXDS <=146)&&(g_pst_KeyInfM[0].ucFlag==0)))?true:false;

break;break;

case 42:// 飞行状态标识FLIGHTSTATUS_ID=2的第1组判据case 42:// The first set of criteria for flight status identification FLIGHTSTATUS_ID=2

bRet=(((pst_PamRslt[0][908].dRslt==128)&&(pst_PamRslt[1][898].dRslt>144)&&(g_dFXXDS>144&&g_dFXXDS<=165)&&(g_pst_KeyInfM[0].ucFlag==0)&&(g_pst_KeyInfM[1].ucFlag==0)))?true:false;bRet=(((pst_PamRslt[0][908].dRslt==128)&&(pst_PamRslt[1][898].dRslt>144)&&(g_dFXXDS>144&&g_dFXXDS<=165)&&(g_pst_KeyInfM[0].ucFlag= =0)&&(g_pst_KeyInfM[1].ucFlag==0)))?true:false;

break;break;

case 43:// 飞行状态标识FLIGHTSTATUS_ID=2的第2组判据 bRet=(((pst_PamRslt[1][908].dRslt==128)&&(pst_PamRslt[1][543].dRslt>144)&&(g_dFXXDS>144&&g_dFXXDS<=165)&&(g_pst_KeyInfM[0].ucFlag==0)&&(g_pst_KeyInfM[1].ucFlag==0)))?true:false;case 43:// The second set of criteria for flight status identification FLIGHTSTATUS_ID=2 bRet=(((pst_PamRslt[1][908].dRslt==128)&&(pst_PamRslt[1][543].dRslt>144)&&(g_dFXXDS>144&&g_dFXXDS<=165)&&(g_pst_KeyInfM[0].ucFlag==0)&&(g_pst_KeyInfM[1].ucFlag==0)))?true:false;

break;break;

........

default:default:

break;break;

}}

return bRet;return bRet;

}}

2.6 生成并验证动态库2.6 Generate and verify dynamic library

2.6.1 对新生成的tm_flightstatus.cpp、tm_flightstatusfunc.cpp及头文件等进行编译链接,如果代码或判据表达式有错误,会报出具体哪一行错误,更正后,继续验证语法正确性,直至能生成libFlightStatus_Identify.so动态库。2.6.1 Compile and link the newly generated tm_flightstatus.cpp, tm_flightstatusfunc.cpp and header files. If there is an error in the code or criterion expression, the specific line of error will be reported. After correction, continue to verify the correctness of the syntax until the libFlightStatus_Identify.so dynamic library can be generated.

2.6.2通过自动测试程序,测试最新飞行状态动态库的正确性,发现问题进行修改,直至正确。2.6.2 Use the automatic test program to test the correctness of the latest flight status dynamic library, and make modifications if any problems are found until it is correct.

2.6.3将最新验证过的飞行状态识别libFlightStatus_Identify.so动态库发布至指定设备的具体目录。2.6.3 Publish the latest verified flight status identification libFlightStatus_Identify.so dynamic library to the specific directory of the specified device.

实施例2Example 2

本发明的实施例2提供了一种提高航天器飞行状态识别效率的装置,基于实施例1的方法实现,包括:Embodiment 2 of the present invention provides a device for improving the efficiency of spacecraft flight status recognition, which is implemented based on the method of embodiment 1 and includes:

规则建立模块,用于分析航天器的飞行状态判据模式,创建飞行状态描述规则,并根据描述规则建立有关联关系的飞行状态判据表以及判据规则函数描述表;所述飞行状态判据表包括主表、子表和子子表;A rule establishment module is used to analyze the flight state criterion mode of the spacecraft, create a flight state description rule, and establish a flight state criterion table and a criterion rule function description table with an associated relationship according to the description rule; the flight state criterion table includes a main table, a sub-table and a sub-sub-table;

录入模块,用于将飞行状态的判据录入或导入飞行状态判据表中,判据条件按照C/C++语言要求进行书写,支持各种逻辑表达式、算术表达式和关系表达式,并将复杂逻辑处理的判据规则及函数体写入判据规则函数描述表;The input module is used to input or import the flight status criteria into the flight status criteria table. The criteria conditions are written in accordance with the C/C++ language requirements, supporting various logical expressions, arithmetic expressions and relational expressions, and writing the criteria rules and function bodies of complex logical processing into the criteria rule function description table;

代码转换模块,用于读取飞行状态判据表和判据规则函数描述表的信息,转换为C/C++语言编写的头文件和源程序;A code conversion module is used to read the information of the flight status criterion table and the criterion rule function description table and convert them into header files and source programs written in C/C++ language;

编译生成模块,用于经语法验证通过后,编译链接生成动态链接库文件;Compile and generate module, used to compile and link to generate dynamic link library files after passing syntax verification;

发布模块,用于经自动化测试工具测试正确后,发布动态链接库文件编译生成模块,用于经语法验证通过后,编译链接生成动态链接库文件;The publishing module is used to publish the dynamic link library file after the automated testing tool has tested it correctly. The compiling and generating module is used to compile and link the dynamic link library file after the syntax verification has passed.

发布模块,用于经自动化测试工具测试正确后,发布动态链接库文件。The release module is used to release the dynamic link library file after it has been tested correctly by the automated testing tool.

实验验证——飞行状态识别处理时延比对工具Experimental verification - flight status identification and processing delay comparison tool

3.1启动航天器飞行状态识别软件,加载本方法生成的libFlightStatus_Identify.so动态库。启动仿真数据发送软件,订阅飞行状态识别结果,每秒发送1000帧数据,记录每个飞行状态满足判据的发送时间及收到飞行状态识别结果的时间,计算并存储飞行状态分析判断的处理时延,飞行状态识别软件能正确识别出飞行状态,记录处理时延,其中最大处理时延为1.3ms。3.1 Start the spacecraft flight status identification software and load the libFlightStatus_Identify.so dynamic library generated by this method. Start the simulation data sending software, subscribe to the flight status identification results, send 1000 frames of data per second, record the sending time of each flight status that meets the criteria and the time of receiving the flight status identification results, calculate and store the processing delay of flight status analysis and judgment, the flight status identification software can correctly identify the flight status, and record the processing delay, of which the maximum processing delay is 1.3ms.

3.2 启动以往读取配置文件,通过数据驱动,解析判据表达式对飞行状态进行识别的软件,最小处理时延在23ms。使用脚本语言进行识别的软件,其最小处理时延76.3ms。对比三者的处理时延,新方法的处理速度比传统方法至少提高一个数量级。3.2 The software that reads the configuration file and analyzes the criterion expression to identify the flight status through data drive has a minimum processing delay of 23ms. The software that uses the scripting language for identification has a minimum processing delay of 76.3ms. Comparing the processing delays of the three methods, the processing speed of the new method is at least one order of magnitude higher than that of the traditional method.

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit the present invention. Although the present invention is described in detail with reference to the embodiments, it should be understood by those skilled in the art that any modification or equivalent replacement of the technical solutions of the present invention does not depart from the spirit and scope of the technical solutions of the present invention and should be included in the scope of the claims of the present invention.

Claims (10)

1. A method of improving efficiency of spacecraft flight status identification, comprising:
Analyzing a flight state criterion mode of the spacecraft, creating a flight state description rule, and building a flight state criterion table and a criterion rule function description table with association relations according to the description rule; the flight state criterion table comprises a main table, a sub-table and a sub-table;
Inputting or importing the criterion of the flight state into a flight state criterion table, writing the criterion condition according to the C/C++ language requirement, supporting various logic expressions, arithmetic expressions and relational expressions, and writing the criterion rules and functional bodies of complex logic processing into a criterion rule function description table;
reading information of a flight state criterion table and a criterion rule function description table, and converting the information into a header file and a source program written in a C/C++ language;
after passing grammar verification, compiling links to generate dynamic link library files;
and after the automatic test tool tests correctly, the dynamic link library file is issued.
2. The method for improving the efficiency of identifying the flight state of a spacecraft according to claim 1, wherein the description rules comprise:
Defining a naming space, storing the value information of each parameter, including storing the corresponding value information for each parameter respectively, and storing the data of multiple trend change judgment for the same parameter;
Defining a criterion rule function, wherein the criterion rule function comprises a function name, a transferred shape parameter and a returned type; the criterion rule function supports various judgment parameter change trends, including gradual increase, gradual decrease, periodic change and regular change trend triggered by conditions in the required duration.
3. The method for improving the efficiency of identifying the flight state of a spacecraft according to claim 2, wherein storing the corresponding value information for each parameter respectively comprises: the method comprises the steps of storing a parameter sequence number, a parameter code number, a type of a result value, an overrun flag, a source code valid flag, a length of the result value, and storing the result value and data time aiming at the type of the result value.
4. The method for improving the efficiency of identifying the flight state of a spacecraft according to claim 2, wherein the flight state criterion pattern of the spacecraft comprises: one or more of a real-time result criterion, a historical result criterion, and a conditional result criterion; wherein,
For the real-time result criterion, judging whether the real-time parameters meet the requirement that the criterion rule expression is true within the required duration or continuous frame number, wherein the real-time parameters comprise: telemetry parameters, instruction codes in remote control instruction sending information, flight phase identifiers in global shared information, characteristic point moments and flight phase opposition;
Judging whether the change characteristics of the telemetry parameters accord with the change characteristics of the flight state or not in the required historical time length for the historical result criterion;
for conditional outcome criteria, a determination is made as to whether the triggering condition would trigger an update of the telemetry parameter value to a predetermined value or value interval.
5. The method for improving the efficiency of identifying the flight state of a spacecraft of claim 4, wherein the code number of the telemetry parameter is consistent with the code number of the parameter in the telemetry parameter outline; the name of the flight state, the code of the remote control instruction, the flight phase identification, the moment of the characteristic point and the time of flight opposite, and the method is consistent with the spaceflight measurement and control application software system document.
6. The method for improving the efficiency of identifying the state of flight of a spacecraft of claim 1, wherein said main table of the table of flight state criteria: brief information for describing a flight status, comprising: spacecraft identification, flight state identification, spacecraft name, flight state name, normal or abnormal identification, treatment scheme in abnormal, real-time/delay ratio judgment mark, data source used by flight state criterion, flight state related subsystem and importance degree of flight state; wherein the flight status is identified as a positive integer increasing from 1;
The sub-table is used for describing the relation between each group of criteria capable of independently judging the flight state, each flight state comprises one or more groups of criteria, each group of criteria is assigned with a sequence number of a criterion group, and sub-table field information comprises: spacecraft identification, flight state identification, criterion group serial numbers, expressions among criteria, treatment schemes when abnormal states occur, scripts for correcting state occurrence time, pre-conditions for flight state judgment, post-conditions after state judgment and data sources;
The sub-table is used for describing detailed criterion information of each criterion group of the flight state; the sub-table field information includes: spacecraft identification, flight state identification, criterion group sequence number, specific criterion identification, specific criterion expression, data source, parameter historical change trend and parameter current change trend;
Each flying state of each spacecraft is provided with a unique spacecraft identification and a combination main key of the flying state identification for identification, the sub-table is associated with the sub-table through the spacecraft identification, the flying state identification and the criterion group sequence number, and the sub-table is associated with the main table through the spacecraft identification and the flying state identification.
7. The method for improving the efficiency of identifying the flight state of a spacecraft of claim 6, wherein the criteria rule function description table is used for describing general or special function criteria, and the table field information comprises: general identification, spacecraft identification, function name, function statement, function description, function body, flight state identification, criterion group serial number and specific criterion identification;
if the function is a multitasking general function, the spacecraft identification, the flight state identification, the criterion group serial number and the specific criterion identification are empty;
if the function is a single-task general function, the flight state identification, the criterion group serial number and the specific criterion identification are null.
8. The method for improving the recognition efficiency of the flight state of the spacecraft according to claim 7, wherein the flight state criterion table is read and converted into a header file and a source program written in the C/C++ language; comprising the following steps:
s0) reading a main table, a sub-table and a sub-table of a flight state criterion table, converting flight state criterion information into various expressions expressed in C/C++ language, and generating a header file;
Step S1), the telemetry parameter attribute information of the selected spacecraft identification, task sharing information and a remote control instruction sending information interface are read from a configuration information management database and respectively stored into corresponding data structures, and a storage index relation of parameter codes is established;
step S2), adding the contained header files by the first row according to the C/C++ language rule;
Step S3) reading flight state criterion information of the specified spacecraft identification from a database according to the ascending order of the flight state identifications:
Establishing index information IndexID for each criterion group under each flight state identifier:
Wherein, Representing an identification of the state of flight,The number of sets of criteria representing the most flight conditions,Representing the sequence number of the criterion group;
Matching the parameter code number, the flight phase identification and the characteristic point moment identification in all the criterion expressions under each group of criteria with the parameter code number, the flight phase identification and the characteristic point moment identification in the parameter attribute information, the flight phase identification and the characteristic point moment identification in the task sharing information respectively, if the parameters are completely matched, replacing the parameters with member variables in the corresponding data structure, and reserving other characters or function names in the criterion expressions;
Step S4) taking index information IndexID of each group of criterion group sequence numbers under each flight state identification as a condition value of a case branch in a switch mode, taking the expression converted in the step S3) as a statement required to be executed for meeting the case branch condition, and adding a 'break' statement;
Step S5) when the flight state criterion information is converted, turning to step S6), otherwise turning to step S3);
And S6) after adding the default statement, aligning and retracting the compound statement according to the programming style of the C/C++ language, thereby generating a source program file and closing the source program file.
9. The method for improving the recognition efficiency of the flight state of the spacecraft according to claim 7, wherein the information of a criterion rule function description table is read and converted into a header file and a source program written in the C/C++ language; comprising the following steps:
step T0), reading a criterion rule function description table, writing information of a function statement field recorded by the criterion rule function description table row by row until writing is completed, and generating a header file;
Step T1), adding the contained header files according to the C/C++ language rule by the first line;
step T2) reading a criterion rule function description table, and writing the contents of the function name, the function statement, the function description and the function body field in sequence to generate a source program.
10. A device for improving the efficiency of identifying the flight state of a spacecraft, comprising:
The rule establishing module is used for analyzing the flight state criterion mode of the spacecraft, establishing a flight state description rule, and establishing a flight state criterion table and a criterion rule function description table with association relations according to the description rule; the flight state criterion table comprises a main table, a sub-table and a sub-table;
The input module is used for inputting or importing the criterion of the flight state into the flight state criterion table, writing the criterion according to the C/C++ language requirement, supporting various logic expressions, arithmetic expressions and relational expressions, and writing the criterion rules and functional bodies of complex logic processing into the criterion rule function description table;
The code conversion module is used for reading information of the flight state criterion table and the criterion rule function description table and converting the information into a header file and a source program written in C/C++ language;
The compiling generation module is used for compiling links to generate dynamic link library files after the grammar verification is passed; and
And the release module is used for releasing the dynamic link library file after the automatic test tool tests correctly.
CN202411354618.8A 2024-09-27 2024-09-27 Method and device for improving spacecraft flight state identification efficiency Active CN118885179B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411354618.8A CN118885179B (en) 2024-09-27 2024-09-27 Method and device for improving spacecraft flight state identification efficiency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411354618.8A CN118885179B (en) 2024-09-27 2024-09-27 Method and device for improving spacecraft flight state identification efficiency

Publications (2)

Publication Number Publication Date
CN118885179A true CN118885179A (en) 2024-11-01
CN118885179B CN118885179B (en) 2024-12-20

Family

ID=93231723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411354618.8A Active CN118885179B (en) 2024-09-27 2024-09-27 Method and device for improving spacecraft flight state identification efficiency

Country Status (1)

Country Link
CN (1) CN118885179B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120104135A (en) * 2025-02-19 2025-06-06 大连理工大学 A method for dynamically compiling flight parameter diagnosis rules

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120060359A (en) * 2010-12-02 2012-06-12 한국항공우주산업 주식회사 Method of recognizing flight pattern of rotor craft, apparatus for recognizing flight pattern implementing the same and recording medium
US20160114886A1 (en) * 2014-05-12 2016-04-28 Unmanned Innovation, Inc. Distributed unmanned aerial vehicle architecture
US20180275977A1 (en) * 2017-03-24 2018-09-27 Oracle International Corporation Programming Language Source Code Conversion
CN207976930U (en) * 2017-12-27 2018-10-16 中国人民解放军战略支援部队航天工程大学 A kind of spacecraft flight data analysis recording equipment
CN109117125A (en) * 2018-07-20 2019-01-01 北京航空航天大学 The artificial intelligence Writing method of the multi-platform more operational mode source codes of digital aircraft
CN109585012A (en) * 2018-11-02 2019-04-05 成都飞机工业(集团)有限责任公司 A kind of Gernral Check-up expert knowledge library automatic coding
CN115203145A (en) * 2022-09-19 2022-10-18 山东盖特航空科技有限公司 Airborne intelligent early warning system and method
US20230075927A1 (en) * 2020-11-11 2023-03-09 Soochow University Method for implementing compiled embedded python
CN116562844A (en) * 2022-12-29 2023-08-08 中国航空工业集团公司成都飞机设计研究所 Bus data-based aircraft health status recognition method
CN117196374A (en) * 2023-08-08 2023-12-08 上海宇航系统工程研究所 Intelligent system for quality control of spacecraft flight mission
CN118119905A (en) * 2021-10-11 2024-05-31 列奥纳多股份公司 Method and system for detecting the flight state of an aircraft based on measurements acquired during the flight of the aircraft
CN118227101A (en) * 2024-03-01 2024-06-21 北京开运联合信息技术集团股份有限公司 A simplified language method based on aerospace operation process

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120060359A (en) * 2010-12-02 2012-06-12 한국항공우주산업 주식회사 Method of recognizing flight pattern of rotor craft, apparatus for recognizing flight pattern implementing the same and recording medium
US20160114886A1 (en) * 2014-05-12 2016-04-28 Unmanned Innovation, Inc. Distributed unmanned aerial vehicle architecture
US20180275977A1 (en) * 2017-03-24 2018-09-27 Oracle International Corporation Programming Language Source Code Conversion
CN207976930U (en) * 2017-12-27 2018-10-16 中国人民解放军战略支援部队航天工程大学 A kind of spacecraft flight data analysis recording equipment
CN109117125A (en) * 2018-07-20 2019-01-01 北京航空航天大学 The artificial intelligence Writing method of the multi-platform more operational mode source codes of digital aircraft
CN109585012A (en) * 2018-11-02 2019-04-05 成都飞机工业(集团)有限责任公司 A kind of Gernral Check-up expert knowledge library automatic coding
US20230075927A1 (en) * 2020-11-11 2023-03-09 Soochow University Method for implementing compiled embedded python
CN118119905A (en) * 2021-10-11 2024-05-31 列奥纳多股份公司 Method and system for detecting the flight state of an aircraft based on measurements acquired during the flight of the aircraft
CN115203145A (en) * 2022-09-19 2022-10-18 山东盖特航空科技有限公司 Airborne intelligent early warning system and method
CN116562844A (en) * 2022-12-29 2023-08-08 中国航空工业集团公司成都飞机设计研究所 Bus data-based aircraft health status recognition method
CN117196374A (en) * 2023-08-08 2023-12-08 上海宇航系统工程研究所 Intelligent system for quality control of spacecraft flight mission
CN118227101A (en) * 2024-03-01 2024-06-21 北京开运联合信息技术集团股份有限公司 A simplified language method based on aerospace operation process

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHEN, ZP; LI, HJ; (...); ZHANG, H: ""Research on UAV Flight Parameter Identification Method Based on Launch Force and Airspeed"", 《SENSORS》, vol. 24, no. 5, 31 March 2024 (2024-03-31) *
孙军;周彬;饶骏: ""载人航天器飞行控制状态识别原理与方法研究"", 《载人航天》, no. 02, 5 April 2006 (2006-04-05) *
崔展博; 景博; 焦晓璇; 潘晋新; 王生龙; 张艺檬: ""飞机飞行安全综合监控与支持系统设计"", 《电子测量技术》, vol. 44, no. 19, 31 October 2021 (2021-10-31) *
黄连兵;陈晓光;赵攀;: ""航天器器-地对应仪表显示系统软件的设计与实现"", 《航天器环境工程》, no. 06, 15 December 2011 (2011-12-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120104135A (en) * 2025-02-19 2025-06-06 大连理工大学 A method for dynamically compiling flight parameter diagnosis rules
CN120104135B (en) * 2025-02-19 2025-08-08 大连理工大学 Dynamic compiling method for flight parameter diagnosis rules

Also Published As

Publication number Publication date
CN118885179B (en) 2024-12-20

Similar Documents

Publication Publication Date Title
Papadopoulos et al. Model-based synthesis of fault trees from matlab-simulink models
US7962904B2 (en) Dynamic parser
US6385765B1 (en) Specification and verification for concurrent systems with graphical and textual editors
Harrold et al. An incremental approach to unit testing during maintenance
US5701408A (en) Method for testing computer operating or application programming interfaces
DK2778914T3 (en) PROCEDURE AND SYSTEM FOR GENERATING A PARSER AND PARISING COMPLEX DATA
US6002874A (en) Method and system for translating goto-oriented procedural languages into goto-free object oriented languages
US6901579B1 (en) Generation of source code from classes and maintaining the comment that indicates the role of the class in the generated source code
CN101329665A (en) Method for analyzing marking language document and analyzer
US20070169023A1 (en) Restructuring computer programs
EP4145761B1 (en) A system and a method for automatic generation of smart contracts across blockchain platforms
CN118885179B (en) Method and device for improving spacecraft flight state identification efficiency
Ye et al. Probabilistic modelling and verification using RoboChart and PRISM
Sneed Migrating from COBOL to Java
US20030097637A1 (en) Schema generation apparatus, data processor, and program for processing in the same data processor
CN101866315A (en) Testing method and system for software development tools
CN111814449B (en) Form analysis method, device, equipment and storage medium
US7882429B2 (en) High-level virtual machine for fast XML parsing and validation
US20040153871A1 (en) Automatic analysis of the properties of a system based on runtime logs
CN115408289A (en) A Method of Automatically Generating Test Cases Oriented to SCADE Model
Sun et al. A hierarchical CPN model automatically generating method aiming at multithreading program algorithm error detection
CN114296779A (en) A SPA-based code editing method and system
EP0256881A2 (en) An automated method for creating a configuration database
CN116382333B (en) Satellite instruction arranging method and device, electronic equipment and storage medium
KR20200124551A (en) A conversion systsm for processing large amounts of data in a batch job

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant