CN109213475A - 卫星多回路比对指令单元遥控源程序的人工智能书写方法 - Google Patents

卫星多回路比对指令单元遥控源程序的人工智能书写方法 Download PDF

Info

Publication number
CN109213475A
CN109213475A CN201810805473.7A CN201810805473A CN109213475A CN 109213475 A CN109213475 A CN 109213475A CN 201810805473 A CN201810805473 A CN 201810805473A CN 109213475 A CN109213475 A CN 109213475A
Authority
CN
China
Prior art keywords
source code
packet
remote control
satellite
command unit
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
CN201810805473.7A
Other languages
English (en)
Other versions
CN109213475B (zh
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201810805473.7A priority Critical patent/CN109213475B/zh
Publication of CN109213475A publication Critical patent/CN109213475A/zh
Application granted granted Critical
Publication of CN109213475B publication Critical patent/CN109213475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radio Relay Systems (AREA)

Abstract

本发明公开了一种卫星多回路比对指令单元遥控源程序的人工智能书写方法,包括:将卫星多回路比对指令单元遥控源代码分解为通用性源代码和个性化源代码;将所述通用性源代码以模板的形式存储在代码库中;获取卫星遥控配置信息数据库文件;根据所述配置信息数据库文件所携带的信息书写个性化部分源代码;从所述代码库中拷贝所述通用性源代码,完成通用部分源代码的书写;将所述通用部分源代码和所述个性化部分源代码拷贝到同一个工程文件夹下,得到卫星多回路比对指令单元遥控源程序,能够快速完成卫星多回路比对指令单元遥控源程序的建立,为航天器研制、试验阶段提供验证方法,也可为地面测控人员的培训和训练提供平台。

Description

卫星多回路比对指令单元遥控源程序的人工智能书写方法
技术领域
本发明涉及人工智能和卫星测控技术领域,更具体的说是涉及一种卫星多回路比对指令单元遥控源程序的人工智能书写方法。
背景技术
在航天测控领域,数字仿真应用众多,每个型号的航天器根据不同的测控任务都有对应的测控仿真模拟器,模拟器在型号研制、试验阶段可对测控信息的合理性进行验证,也可对地面测控人员进行培训和训练,提高对测控的理解和操控水平。
现阶段指令单元类型遥控方式是一种主流方法,具有较高成熟度,但是对于各种卫星型号大多需要人工重新开发一套遥控源程序,由于遥控指令数量级大,天地多回路反复比对情况,涉及的遥测遥控内容复杂,传统的人工程序员构建方法逐渐体现出其局限性。
因此,如何高效实现卫星多回路比对指令单元遥控源程序的书写是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种卫星多回路比对指令单元遥控源程序的人工智能书写方法,能够快速完成卫星多回路比对指令单元遥控源程序的建立,为航天器研制、试验阶段提供验证方法,也可为地面测控人员的培训和训练提供平台。
为了实现上述目的,本发明采用如下技术方案:
一种卫星多回路比对指令单元遥控源程序的人工智能书写方法,包括:
S101:将卫星多回路比对指令单元遥控源代码分解为通用性源代码和个性化源代码;
S102:将所述通用性源代码以模板的形式存储在代码库中;
S103:获取卫星遥控配置信息数据库文件;
S104:根据所述配置信息数据库文件所携带的信息书写个性化部分源代码;
S105:从所述代码库中拷贝所述通用性源代码,完成通用部分源代码的书写;
S106:将所述通用部分源代码和所述个性化部分源代码拷贝到同一个工程文件夹下,得到卫星多回路比对指令单元遥控源程序。
优选的,还包括:S107:遍历所述工程文件夹内的文件,生成工程文件并进行编译。
优选的,所述通用性源代码包括:协商通信系统层源代码、数学计算源代码、数据库操作模块源代码和文件操作模块源代码,且所述协商通信系统层源代码、所述数学计算源代码、所述数据库操作模块源代码和所述文件操作模块源代码适用于任何卫星。
优选的,所述个性化源代码包括:遥控组包源代码、遥控人机交互界面支持源代码和测控数据多回路比对源代码。
优选的,所述配置信息数据库文件包括:遥控数据定义表、遥控发送包格式定义表、遥控指令包格式定义表、遥控指令单元定义表、遥控指令单元格式定义表、遥控指令单元包含状态量表、比对包格式定义表和比对关系定义表。
优选的,遥控组包源代码包括遥控发送包组包、遥控指令包组包和遥控指令单元组包;且每种包的书写方法相同,包括:主导头、数据区域和包尾三部分;其中,主导头包括:包头、长度、主标识符和其他标识符;其中包头、主标识符和其他标识符均采用直接从数据库中拷贝的书写方式;长度根据主导头、数据和包尾的总长度进行书写;
数据区域的书写方法包括:根据遥控指令单元包含状态量表中记录的数据排列顺序和遥控数据定义表中数据编码方式进行书写;
包尾的书写方法包括:根据数据库中各级包格式表中记录的相应校验码类型生成校验码计算函数调用语句,其中校验码计算函数的源代码封装在数学计算源代码中。
优选的,通过从数据库中加载每个卫星的个性化遥控信息,配置指令包类型、指令单元及排序以及每个指令单元所包含的状态量数值,书写分支语句遍历所有指令单元,判断包含的指令单元后进行组包,完成遥控人机交互界面支持源代码的书写。
优选的,所述测控数据多回路比对源代码包括:遥控源码比对和遥控状态量比对;
其中,根据读取的比对关系定义表中比对包ID和对应指令类型进行确认,如果要求比对源码,则生成测控源码比对源代码;在生成的遥控发送包发送函数后插入源码记录函数,源码记录函数根据比对关系定义表中比对起始位置和比对长度进行字符串拷贝,将发送的遥控源码中需要比对的部分拷贝下来;生成比对包接收函数,根据比对包中主标识符比对包ID确定与遥控源码比对的对应比对包,当接收到对应比对包后,将比对包中源码拷贝出来,与遥控发送后记录的源码进行每个字节的逐一比对;
根据读取的比对关系定义表中比对包ID和对应比对状态量ID,当遥控发送包中存在该比对状态量ID,则在遥控发送包发送函数后生成状态量数值记录函数,将需要比对的状态量数值赋值给比对状态量记录数组中,对应生成比对包接收函数,根据比对包中主标识符比对包ID确定与比对状态量关联的比对包,接收到该比对包后解析出其中数据,与比对状态量记录数组中前一发送值进行比对。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种卫星多回路比对指令单元遥控源程序的人工智能书写方法,将整个源代码进行分解,并根据分解结果以及获取的数据库文件,自动书写出风格统一的卫星多回路比对指令单元遥控源程序,能够快速完成卫星多回路比对指令单元遥控源程序的建立,为航天器研制、试验阶段提供验证方法,也可为地面测控人员的培训和训练提供平台。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的卫星多回路比对指令单元遥控源程序的人工智能书写方法的流程示意图;
图2为卫星指令单元遥控发送包组成结构图;
图3为天地回路比对流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种卫星多回路比对指令单元遥控源程序的人工智能书写方法,包括:
S101:将卫星多回路比对指令单元遥控源代码分解为通用性源代码和个性化源代码;
S102:将通用性源代码以模板的形式存储在代码库中;
S103:获取卫星遥控配置信息数据库文件;
S104:根据配置信息数据库文件所携带的信息书写个性化部分源代码;
S105:从代码库中拷贝通用性源代码,完成通用部分源代码的书写;
S106:将通用部分源代码和个性化部分源代码拷贝到同一个工程文件夹下,得到卫星多回路比对指令单元遥控源程序。
本发明实施例工卡的卫星多回路比对指令单元遥控源程序的人工智能书写方法,将整个源代码进行分解,并根据分解结果以及获取的数据库文件,自动书写出风格统一的卫星多回路比对指令单元遥控源程序,能够快速完成卫星多回路比对指令单元遥控源程序的建立,为航天器研制、试验阶段提供验证方法,也可为地面测控人员的培训和训练提供平台。
下面具体对以上步骤做进一步详细说明。
对于步骤S101:将卫星多回路比对指令单元遥控源代码分解为通用性源代码和个性化源代码
根据代码的适用范围对卫星多回路比对指令单元遥控源程序进行分解,其中部分源代码对于任何卫星均适用,将其定位为通用源代码;对于部分源代码,根据每个卫星的个性化遥控格式、包含的遥控数据均有不同,做为每个卫星个性化源代码。其中,通用性源代码包括:协商通信系统层源代码、数学计算源代码、数据库操作模块源代码和文件操作模块源代码。个性化源代码与每个卫星对应,针对每个卫星可能存在的遥控发送包格式、遥控指令包格式、遥控指令单元格式及内容、测控回路比对关系进行个性化书写。个性化源代码包括遥控发送包组包源代码、遥控指令包组包源代码、指令指令单元组包源代码和测控回路比对源代码。
对于S102:将通用性源代码以模板的形式存储在代码库中;
通用性源代码包括:协商通信系统层源代码、数学计算源代码、数据库操作模块源代码和文件操作模块源代码,基本为固定的系统函数文件,供应用层个性化源代码调用,对于各种卫星通用,因此采用封装为固定文件,保存在固定路径下代码库中的方式,书写卫星多回路比对指令单元遥控源程序时,根据路径查找相应的通用性源代码,直接拷贝即可完成书写。
对于S103:获取卫星遥控配置信息数据库文件;
卫星遥控配置信息数据库文件的获取方式主要以人机交互界面数据获得,其主要功能是储存卫星遥控数据、各级包主导头信息、遥控指令信息、测控回路比对关系信息,为卫星多回路比对指令单元遥控源程序智能书写程序提供决策依据。
卫星遥控配置信息数据库相关表包括遥控数据定义表、遥控发送包格式定义表、遥控指令包格式定义表、遥控指令单元定义表、遥控指令单元格式定义表、遥控指令单元包含状态量表、比对包格式定义表和比对关系定义表。
遥控数据定义表存储信息包括遥控状态量ID、状态量名称、代号、数据类型、长度、取值范围和数据编码方式等。遥控状态量为指令单元包含数据,每个指令单元中可能包含多个遥控状态量。
遥控发送包格式定义表存储信息包括遥控发送标识符序号、标识符名称、标识符类型、标识符位置、标识符长度和标识符默认数值。参考图2,遥控发送包格式为遥控最外层包主导头格式。标识符类型包括包头、包长度、主标识符、包尾以及其他标识字。
遥控指令包格式定义表存储信息包括遥控指令类型、指令包标识符序号、标识符名称、标识符类型、标识符位置、标识符长度和标识符默认数值。参考图2,遥控指令包为遥控发送包的数据域,一般每个遥控发送包中只包含一个指令包,通过标识符确定该次遥控指令中包含的指令类型,指令类型包括直接指令和数管指令等。
遥控指令单元定义表存储信息包括指令单元ID、指令名称、指令代号、指令类型和指令功能备注等信息。
遥控指令单元格式定义表存储信息包括指令单元ID、指令单元格式标识符序号、标识符名称、标识符类型、标识符位置、标识符长度、标识符默认数值。参考图2,遥控指令单元为遥控指令包的数据域,每个遥控指令包中可能包含多个指令单元。
遥控指令单元包含状态量表存储信息包括指令单元ID、状态量序号、遥控状态量ID和状态量默认数值。该表定义了每个遥控指令单元中包含的状态量以及排序情况。
比对包格式定义表存储信息包括比对包ID、比对包包格式标识符序号、标识符名称、标识符类型、标识符位置、标识符长度和标识符默认数值。
比对关系定义表存储信息包括对应关系ID、对应比对包ID、对应指令类型、比对起始位置、比对长度和比对状态量ID。
对于S104:根据配置信息数据库文件所携带的信息书写个性化部分源代码;
根据卫星多回路比对指令单元遥控信息处理流程进行分解,个性化源代码分为遥控组包源代码、遥控人机交互界面支持源代码和测控数据多回路比对源代码两部分。其中遥控组包源代码是根据遥控发送包格式、遥控发送包中包含指令包格式、遥控指令包中包含指令单元、指令单元的格式及内容进行组包的源代码。测控数据多回路比对源代码是根据卫星所需比对的遥控发送指令源码或指令单元中包含的某些状态量与卫星下传的遥测信息之间的比对,通常比对通过后才能继续发送后续遥控指令。
(1)遥控组包源代码智能书写
遥控组包源代码包括遥控发送包组包、遥控指令包组包、遥控指令单元组包3个过程。结合图2,对于最外层遥控发送包来说,包含遥控发送包主导头、数据,可能包含包尾,其中数据为指令包;对于指令包来说,包含指令包主导头、数据,可能包含包尾,数据为指令单元;对于指令单元来说,包含指令单元主导头、数据,也可能包含包尾,数据为遥控状态量。上述组包过程只是众多卫星遥控组包流程中的一种,对于不同卫星,复杂情况各不相同,对于更复杂的情况,除了遥控发送包、指令包、指令单元外,还可能存在1个指令单元中可能包含多个指令单元的情况;对于更简单的情况来说,可能不存在指令包一层,遥控发送包中直接进行指令单元排列。
可以看出整个遥控发送包的组合满足分形结构,每个包都可以细分为主导头、数据、包尾,数据还可能继续细分为主导头、数据、包尾,分形结构的层次数目根据指令类型和卫星型号可能存在区别,因此遥控组包源代码采用分形嵌套的书写方法。
对每种包来说,不管是遥控发送包还是指令包或者是指令单元,生成方式相同,对于每个包生成组包函数,组包函数函数命名和该包的类型相关,若为遥控发送包则组包函数命名“TelecommandSendPackage”,若为指令包,假设指令类型为“DirectOrder”,则组包函数命名“DirectOrderSendPackage”,若为指令单元,假设指令单元名称为“GyroXPowerOn”,则组包函数命名“GyroXPowerOnSendPackage”。函数形参包括组包结果字符串和数据域数值,函数返回值类型为“unsigned short”,返回组包后的包总长度,其中对于数据域数值,遥控发送包和指令包为单个字符串,且与输出结果为同一字符串,因此形参只有一个字符串即可,指令单元的数据域为包含的所有状态量,根据每个状态量数据类型书写形参,形参中数据类型根据每个状态量类型进行书写,变量名称根据数据库中名称进行拷贝。对于每个函数内容,都包含主导头、数据和包尾三部分,下面分别进行说明。
对于主导头根据标识符的不同类型,生成方式各不相同。主标识符类型主要包括包头、长度、主标识符、其他标识符。其中除长度外的标识符数值固定,采用直接拷贝完成书写,利用系统memcpy函数根据标识符长度完成向字符串中拷贝数值语句书写。长度信息根据该包中主导头长度、数据域长度和包尾长度进行统计,数据域长度根据下一层包的函数实参进行统计计算,例如指令单元中长度标识符计算根据其主导头、包含的所有状态量长度总和计算,指令单元组包函数计算出该指令单元总字节数长度,得到实参,指令包组包过程中计算长度标识符时,根据其主导头长度、数据域长度和包尾长度进行统计,其中数据域长度则为其中包含的所有指令单元长度总和,遥控发送包长度计算时数据域为指令包长度,以此进行个性化统计计算,完成长度计算后,利用系统memcpy完成长度数值拷贝。
数据区域主要分为状态量数据编码拷贝和字符串数据拷贝两种。对于指令单元,数据域为遥控状态量,根据指令单元包含状态量的排列顺序和每个状态量的数据编码处理方式循环完成每个状态量的编码函数调用和拷贝,如果变量无处理直接拷贝则直接利用系统memcpy函数完成拷贝语句书写,若有数据编码处理,则首先书写编码语句,再完成编码结果拷贝语句书写,编码函数定义部分源代码封装在数学计算通用源代码中。对于指令包或遥控发送包,其数据域为下一层包组包后的字符串,利用系统“memcpy”函数直接进行拷贝即可。
包尾计算为每个组包函数的最后部分,对包尾以前的数据进行校验码计算,校验方式包括CRC校验、FCS校验码、奇偶校验码等。对每个包是否存在校验码进行判定,若存在校验码,则根据校验码类型生成校验码计算函数调用语句,例如校验码为CRC,则书写语句CRC_Check(strMessage,usDataLength);校验码计算函数定义部分源代码封装在数学计算通用源代码中。
(2)遥控人机交互界面支持源代码
遥控人机交互界面通过加载每个卫星个性化遥控信息,提供操控人员配置想要发送的指令包类型、遥控包中包含的指令单元及排序、每个指令单元中包含状态量的数值。
遥控人机交互界面支持源代码包括向指令包类型选择comboBox控件中添加选择项源代码、向指令单元列表添加指令单元源代码、每个指令单元包含状态量源代码、发送函数及各级组包函数调用源代码。
向指令包类型选择comboBox控件中添加选择项源代码根据遥控数据库中指令包类型,添加相应的指令包类型,例如包含直接指令和软件指令两种指令包类型,则在人机交互界面初始化函数中书写代码
comboBoxOrderPackage.Items.Add(“直接指令”);
comboBoxOrderPackage.Items.Add(“软件指令”)。
向指令单元列表添加指令单元源代码根据加载遥控数据库中所有指令单元,依次将指令单元名称加载到listBoxOrder中,例如指令单元包括“开X 轴陀螺”指令,则在人机交互界面初始化函数中书写代码listBoxTCCode.Items.Add(“开X轴陀螺”),遍历卫星中包含的所有指令单元完成全部指令单元的添加,供操控人员发送时选择。
每个指令单元包含状态量源代码根据加载遥控数据库中每个指令单元包含中包含的状态量,完成指令单元结构体数组初始化,指令单元结构体数组中包含状态量名称字符串数组和变量数值数组,提供操控人员配置使用。
例如某个指令单元为GyroXPowerOn,其中包含状态量陀螺编号、开关状态,则书写代码liststcTeleUnit[i].strStatus[0]=“ID”; liststcTeleUnit[i].strStatus[1]=“PowerStatus”;当操控人员配置了该指令单元中状态量数值时,将数值数组修改为输入数值,书写源代码 liststcTeleUnit[usSelectedNo].strStatusValue[0]=Convert.ToString(this.dataGridViewDataList.Rows[0].Cells[2].Value);liststcTeleUnit[usSelectedNo].strStatusValue[1]= Convert.ToString(this.dataGridViewDataList.Rows[1].Cells[2].Value)。
发送函数及各级组包函数调用源代码是当操控人员完成配置后点击发送按钮后触发功能函数中源代码,包括指令单元组包源代码、指令包组包源代码和遥控发送包组包源代码。指令单元组包源代码中利用while函数和switch 条件分支语句依次判断操控人员配置的每个遥控指令为哪个指令单元,判断包含的指令单元后调用该指令单元组包函数完成组包,根据读取数据库中指令单元名称和指令单元包含的状态量类型完成书写,例如第一个指令单元名称为“GyroXPowerOn”,其中包含状态量陀螺编号“ID”、开关状态“PowerStatus”状态量类型均为“Byte”,根据前述函数定义部分,书写函数调用源代码usLength=GyroXPowerOnSendPackage(chrMessage, Convert.ToByte(liststcTeleUnit[usSelectedNo].strStatusValue[0]), Convert.ToByte(liststcTeleUnit[usSelectedNo].strStatusValue[1]))。指令包组包源代码和遥控发送包组包源代码实现方式类型,直接书写函数调用语句即可,例如指令包指令类型为“DirectOrder”,则书写调用语句“usLength= DirectOrderSendPackage(chrMessage)”,遥控发送包书写“usLength= TelecommandSendPackage(chrMessage)”。
(3)测控数据多回路比对源代码智能书写
测控数据多回路比对分为遥控源码比对与遥控状态量比对两种。
遥控源码直接比对针对卫星收到遥控发送包后,直接将其中某段源码直接进行遥测下传,与地面站遥控发送出的源码进行比对,确认源码星上接收遥控源码是否正确。根据读取的遥控信息数据库中比对包ID和对应指令类型进行确认,如果某种指令要求比对源码,则生成测控源码比对源代码。在生成的遥控发送包组包函数后插入源码记录函数,源码记录函数根据比对关系定义表中比对起始位置和比对长度进行字符串拷贝,将发送的遥控源码中需要比对的部分拷贝下来。生成比对包接收函数,根据比对包中主标识符比对包ID确定与遥控源码比对的对应比对包,当接收到对应比对包后,将比对包中源码拷贝出来,与遥控发送后记录的源码进行每个字节的逐一比对,当源码比对完全一致时,返回值“true”,否则返回值“false”。
遥控状态量比对针对卫星收到遥控发送包后,进行星上逐层解析,解析出包中的状态量数值,需要与地面站遥控发送时的数值进行比对,确保星上完成正确的接收和解析,方可执行操控。根据读取的遥控信息数据库中比对包ID和对应比对状态量ID,当遥控发送包中存在该比对状态量ID,则在遥控发送包发送函数后生成状态量数值记录函数,将需要比对的状态量数值赋值给比对状态量记录数组中。对应生成比对包接收函数,根据比对包中主标识符比对包ID确定与比对状态量关联的比对包,接收到该比对包后解析出其中数据,与比对状态量记录数组中前一发送值进行比对,若一致,返回值“true”,否则返回值“false”。
对于S106:将通用部分源代码和个性化部分源代码拷贝到同一个工程文件夹下,得到卫星多回路比对指令单元遥控源程序。
将卫星多回路比对指令单元遥控通用源代码和生成的遥控组包源代码、测控数据多回路比对源代码两部分个性化源代码拷贝至一个工程文件夹下,工程名称默认为“Telecommand”,遍历文件夹中所有源文件,生成工程文件并进行编译,最终完成卫星多回路比对指令单元遥控源程序生成。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种卫星多回路比对指令单元遥控源程序的人工智能书写方法,其特征在于,包括:
S101:将卫星多回路比对指令单元遥控源代码分解为通用性源代码和个性化源代码;
S102:将所述通用性源代码以模板的形式存储在代码库中;
S103:获取卫星遥控配置信息数据库文件;
S104:根据所述配置信息数据库文件所携带的信息书写个性化部分源代码;
S105:从所述代码库中拷贝所述通用性源代码,完成通用部分源代码的书写;
S106:将所述通用部分源代码和所述个性化部分源代码拷贝到同一个工程文件夹下,得到卫星多回路比对指令单元遥控源程序。
2.根据权利要求1所述的卫星多回路比对指令单元遥控源程序的人工智能书写方法,其特征在于,还包括:S107:遍历所述工程文件夹内的文件,生成工程文件并进行编译。
3.根据权利要求1所述的卫星多回路比对指令单元遥控源程序的人工智能书写方法,其特征在于,所述通用性源代码包括:协商通信系统层源代码、数学计算源代码、数据库操作模块源代码和文件操作模块源代码,且所述协商通信系统层源代码、所述数学计算源代码、所述数据库操作模块源代码和所述文件操作模块源代码适用于任何卫星。
4.根据权利要求3所述的卫星多回路比对指令单元遥控源程序的人工智能书写方法,其特征在于,所述个性化源代码包括:遥控组包源代码、遥控人机交互界面支持源代码和测控数据多回路比对源代码。
5.根据权利要求4所述的卫星多回路比对指令单元遥控源程序的人工智能书写方法,其特征在于,所述配置信息数据库文件包括:遥控数据定义表、遥控发送包格式定义表、遥控指令包格式定义表、遥控指令单元定义表、遥控指令单元格式定义表、遥控指令单元包含状态量表、比对包格式定义表和比对关系定义表。
6.根据权利要求5所述的卫星多回路比对指令单元遥控源程序的人工智能书写方法,其特征在于,
遥控组包源代码包括遥控发送包组包、遥控指令包组包和遥控指令单元组包;且每种包的书写方法相同,包括:主导头、数据区域和包尾三部分;其中,主导头包括:包头、长度、主标识符和其他标识符;其中包头、主标识符和其他标识符均采用直接从数据库中拷贝的书写方式;长度根据主导头、数据和包尾的总长度进行书写;
数据区域的书写方法包括:根据遥控指令单元包含状态量表中记录的数据排列顺序和遥控数据定义表中数据编码方式进行书写;
包尾的书写方法包括:根据数据库中各级包格式表中记录的相应校验码类型生成校验码计算函数调用语句,其中校验码计算函数的源代码封装在数学计算源代码中。
7.根据权利要求6所述的卫星多回路比对指令单元遥控源程序的人工智能书写方法,其特征在于,
通过从数据库中加载每个卫星的个性化遥控信息,配置指令包类型、指令单元及排序以及每个指令单元所包含的状态量数值,书写分支语句遍历所有指令单元,判断包含的指令单元后进行组包,完成遥控人机交互界面支持源代码的书写。
8.根据权利要求7所述的卫星多回路比对指令单元遥控源程序的人工智能书写方法,其特征在于,所述测控数据多回路比对源代码包括:遥控源码比对和遥控状态量比对;
其中,根据读取的比对关系定义表中比对包ID和对应指令类型进行确认,如果要求比对源码,则生成测控源码比对源代码;在生成的遥控发送包发送函数后插入源码记录函数,源码记录函数根据比对关系定义表中比对起始位置和比对长度进行字符串拷贝,将发送的遥控源码中需要比对的部分拷贝下来;生成比对包接收函数,根据比对包中主标识符比对包ID确定与遥控源码比对的对应比对包,当接收到对应比对包后,将比对包中源码拷贝出来,与遥控发送后记录的源码进行每个字节的逐一比对;
根据读取的比对关系定义表中比对包ID和对应比对状态量ID,当遥控发送包中存在该比对状态量ID,则在遥控发送包发送函数后生成状态量数值记录函数,将需要比对的状态量数值赋值给比对状态量记录数组中,对应生成比对包接收函数,根据比对包中主标识符比对包ID确定与比对状态量关联的比对包,接收到该比对包后解析出其中数据,与比对状态量记录数组中前一发送值进行比对。
CN201810805473.7A 2018-07-20 2018-07-20 卫星多回路比对指令单元遥控源程序的人工智能书写方法 Active CN109213475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810805473.7A CN109213475B (zh) 2018-07-20 2018-07-20 卫星多回路比对指令单元遥控源程序的人工智能书写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810805473.7A CN109213475B (zh) 2018-07-20 2018-07-20 卫星多回路比对指令单元遥控源程序的人工智能书写方法

Publications (2)

Publication Number Publication Date
CN109213475A true CN109213475A (zh) 2019-01-15
CN109213475B CN109213475B (zh) 2022-04-01

Family

ID=64990618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810805473.7A Active CN109213475B (zh) 2018-07-20 2018-07-20 卫星多回路比对指令单元遥控源程序的人工智能书写方法

Country Status (1)

Country Link
CN (1) CN109213475B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110687825A (zh) * 2019-09-25 2020-01-14 中国科学院微小卫星创新研究院 卫星单机仿真系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251298A1 (en) * 2004-04-27 2005-11-10 The Boeing Company Automatic generation of telemetry flight software, accompanying specifications, and decode files
CN101170345A (zh) * 2007-11-30 2008-04-30 航天东方红卫星有限公司 一种卫星分包遥测数据的解包方法
CN101980161A (zh) * 2010-11-01 2011-02-23 航天东方红卫星有限公司 一种星载计算机软件的在轨更新方法
CN103226484A (zh) * 2013-04-15 2013-07-31 浙江大学 一种星载综合电子系统程序的在轨更新方法
CN105512030A (zh) * 2015-11-30 2016-04-20 中国空间技术研究院 一种基于卫星指令码字智能构造提升卫星测试效率的方法
CN106407531A (zh) * 2016-09-05 2017-02-15 北京空间飞行器总体设计部 一种基于增量化模型的航天器遥测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251298A1 (en) * 2004-04-27 2005-11-10 The Boeing Company Automatic generation of telemetry flight software, accompanying specifications, and decode files
CN101170345A (zh) * 2007-11-30 2008-04-30 航天东方红卫星有限公司 一种卫星分包遥测数据的解包方法
CN101980161A (zh) * 2010-11-01 2011-02-23 航天东方红卫星有限公司 一种星载计算机软件的在轨更新方法
CN103226484A (zh) * 2013-04-15 2013-07-31 浙江大学 一种星载综合电子系统程序的在轨更新方法
CN105512030A (zh) * 2015-11-30 2016-04-20 中国空间技术研究院 一种基于卫星指令码字智能构造提升卫星测试效率的方法
CN106407531A (zh) * 2016-09-05 2017-02-15 北京空间飞行器总体设计部 一种基于增量化模型的航天器遥测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李洪珏等: "《卫星故障诊断系统智能研制技术研究》", 《上海航天》 *
董云峰等: "《数字卫星源代码生成技术》", 《2015年小卫星技术交流会》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110687825A (zh) * 2019-09-25 2020-01-14 中国科学院微小卫星创新研究院 卫星单机仿真系统及方法

Also Published As

Publication number Publication date
CN109213475B (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
EP1770510A2 (en) Executable and declarative specification for graphical user interfaces
CN107463668B (zh) 序列化和反序列化的方法及装置、计算机设备及存储介质
CN109460219A (zh) 快速序列化接口控制文件的方法
Vuong et al. Semiautomatic implementation of protocols using an Estelle-C compiler
CN108804322A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN101901267A (zh) 配置文件管理的方法及装置
CN109213475A (zh) 卫星多回路比对指令单元遥控源程序的人工智能书写方法
CN108399273A (zh) 人工智能程序员书写数字飞行器源代码的决策分解方法
Kars The application of Promela and Spin in the BOS project.
CN109213473B (zh) 卫星日常操作流程的人工智能生成方法
CN103984555A (zh) 一种树表结合驱动特定平台通讯协议源代码自动生成方法
Hayes Uniform help facilities for a cooperative user interface
Pozefsky et al. A meta-implementation for Systems Network Architecture
Holzmann The Pandora System: an interactive system for the design of data communication protocols
Song et al. An automatic requirement transformation approach for code generation in industrial cyber-physical systems
CN108733363A (zh) 数字卫星载荷情报编码解码源代码书写方法
CN109062549B (zh) 人工智能书写卫星波道遥测解码程序的方法及装置
Shiratori et al. A software design method and its application to protocol and communication software development
Raum et al. Design and implementation of an expert user interface for the computer aided prototyping system
Rajlich Stepwise refinement revisited
CN110457378A (zh) 一种数据处理的方法和设备
CN108228708A (zh) 大数据etl系统及其调度方法
Chase Toward a complete EOS data and information system
Berry A denotational semantics for shared-memory parallelism and nondeterminism
Hoheisel Model Coupling and Integration via XML in the M3 Simulation

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