CN109086035B - 卫星aos协议遥控源程序人工智能书写方法 - Google Patents
卫星aos协议遥控源程序人工智能书写方法 Download PDFInfo
- Publication number
- CN109086035B CN109086035B CN201810805348.6A CN201810805348A CN109086035B CN 109086035 B CN109086035 B CN 109086035B CN 201810805348 A CN201810805348 A CN 201810805348A CN 109086035 B CN109086035 B CN 109086035B
- Authority
- CN
- China
- Prior art keywords
- remote control
- satellite
- source program
- aos protocol
- writing
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radio Relay Systems (AREA)
Abstract
本发明涉及卫星AOS协议遥控源程序人工智能书写方法。根据代码适用性分解卫星AOS协议遥控源程序;根据分解结果和获取卫星流设计XML文件及包设计数据库文件,书写AOS协议遥控通用源程序和AOS协议遥控个性化源程序,根据系统维将AOS协议遥控通用源程序和AOS协议遥控个性化源程序组合,得到卫星AOS协议遥控源程序。本发明提供的书写方法,对整个源代码书写过程进行逐层分解,分解成多个小的层次,对每个最小层次制定适合的书写方法,可快速完成全套星地AOS协议遥控模拟源程序的建立。本发明面向AOS协议测控体制的航天器,能够快速智能构建通用的遥控模拟平台,为航天器研制、试验阶段提供验证方法。
Description
技术领域
本发明涉及人工智能和卫星测控技术领域,特别涉及一种卫星AOS协议遥控源程序人工智能书写方法。
背景技术
在航天测控领域,数字仿真应用众多,每个型号的航天器根据不同的测控任务基本都有对应的测控仿真模拟器,模拟器在型号研制、试验阶段可对测控信息的合理性进行验证,也可对地面测控人员进行培训和训练,提高对测控的理解和操控水平。
国际空间数据系统协商委员会(CCSDS,Consultative Committee for SpaceData Systems)提出的高级在轨系统(AOS)协议实现各种类型和特性的空间应用数据有效地通过空-地、地-空、空-空链路传输。
AOS协议需要交换的信息可分为三类:空间实验科学、观测实验科学和航天器本身的工程参数,具有不同的特点。
现阶段高级在轨系统(Advanced Orbiting System,AOS)协议遥控方式是一种主流方法,并且是未来遥控体制的发展趋势,现阶段存在两个问题:第一,通用性较差,针对每个型号遥控的数据和处理方式的差别,需要重新开发,造成资源浪费。第二,对于各种航天器型号,遥控指令数量级大,天地测控反复比对,涉及的遥测遥控内容复杂,传统的人工程序员构建方法逐渐体现出其局限性。
发明内容
鉴于上述问题,本发明提供一种卫星AOS协议遥控源程序人工智能书写方法,对整个源代码书写过程进行逐层分解,可以将整个源代码书写过程分解成多个小的层次,对每个最小层次制定适合的书写方法,只需要进行配置就可快速完成全套星地AOS协议遥控模拟源程序的建立。
本发明实施例提供卫星AOS协议遥控源程序人工智能书写方法,该方法包括:步骤一:根据代码适用性将所述卫星AOS协议遥控源程序分解为:AOS协议遥控通用源程序及AOS协议遥控个性化源程序;
步骤二:将所述AOS协议遥控通用源程序以模板的形式存储于代码库中;
步骤三:获取卫星流设计XML文件及包设计数据库文件;
步骤四:根据所述卫星流设计XML文件及包设计数据库文件中携带的装配信息和模板路径书写所述AOS协议遥控通用源程序;
步骤五:根据所述卫星流设计XML文件及包设计数据库文件中携带的装配信息书写所述AOS协议遥控个性化源程序;
步骤六:根据系统维将所述AOS协议遥控通用源程序和所述AOS协议遥控个性化源程序组合,得到所述卫星AOS协议遥控源程序。
在一个实施例中,所述步骤一还包括:
根据系统维将所述AOS协议遥控通用源程序分解为:AOS协议遥控地面数据处理通用源程序及AOS协议遥控星上数据处理通用源程序;
根据系统维将所述AOS协议遥控个性化源程序分解为:AOS协议遥控地面数据处理个性化源程序及AOS协议遥控星上数据处理个性化源程序。
在一个实施例中,所述步骤二,包括:
将所述步骤一分解后的AOS协议遥控地面数据处理通用源程序及AOS协议遥控星上数据处理通用源程序以模板的形式存储于代码库中,其存储路径是根据相应的部件类型建立的。
在一个实施例中,所述步骤四中的书写所述AOS协议遥控通用源程序,包括:文件重命名、函数重命名、语句重命名及变量重命名。
在一个实施例中,所述文件重命名操作具体步骤为:
(1)从模板路径下的模板文件以及包设计数据库文件实体定义表中获取实体名称;
(2)在模板文件名前加上实体名称,得到书写结果的文件名。
在一个实施例中,所述函数重命名、语句重命名及变量重命名操作具体步骤为:
(1)在模板存储于代码库时,在模板中需要重命名的函数、语句和变量处加上标志符;
(2)书写时读取包设计数据库文件中携带的实体定义、单机组配置确定替换规则;
(3)逐行读取模板中的字符,当发现所述标记符,则根据所述替换规则替换模板中的相应代码。
在一个实施例中,所述AOS协议遥控地面数据处理个性化源程序包括:遥控包发送序列源代码、遥控源包组包源代码、遥控通道定义源代码、AOS协议参数初始化源代码、遥控参数宏定义源代码;
所述AOS协议遥控星上数据处理个性化源程序包括:遥控通道定义源代码、AOS协议参数初始源代码、遥控参数宏定义源代码。
在一个实施例中,所述遥控包发送序列源代码书写步骤为:
(1)创建书写遥控包发送序列源代码C代码头文件;
(2)根据卫星包设计数据库中遥控包发送序列表列写遥控包发送序列二维数组,并赋值。
在一个实施例中,所述遥控源包组包源代码书写步骤为:
(1)创建遥控源包组包源代码C文件;
(2)根据实体名称书写出函数名称及函数声明;
(3)根据卫星包设计数据库中的包列表、包包含状态量表、状态量定义、单机组配置、包格式配置书写遥控包组包函数;
在一个实施例中,所述遥控通道定义源代码书写步骤为:
(1)根据部件类型创建相应的遥控通道定义头文件;
(2)根据卫星包设计数据库中的单机组配置、总线配置表以宏定义的形式列写遥控通道定义。
在一个实施例中,所述AOS协议参数初始化源代码书写步骤为:
(1)创建AOS协议参数初始化源代码头文件;
(2)根据卫星流设计XML文件及卫星包设计数据库中参数列写AOS协议参数初始化语句。
在一个实施例中,所述遥控参数宏定义源代码书写步骤为:
(1)创建遥控参数宏定义源代码C代码头文件;
(2)根据卫星包设计数据库中的包列表、包包含状态量表、状态量定义、包格式配置、位流数据格式表列写遥控参数宏定义。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的卫星AOS协议遥控源程序人工智能书写方法,包括:根据代码适用性分解卫星AOS协议遥控源程序;获取卫星AOS协议遥控源程序的分解结果;根据所述分解结果和获取卫星流设计XML文件及包设计数据库文件,书写AOS协议遥控通用源程序和AOS协议遥控个性化源程序,根据系统维将所述AOS协议遥控通用源程序和所述AOS协议遥控个性化源程序组合,得到所述卫星AOS协议遥控源程序。本发明提供的书写方法,可以对整个源代码书写过程进行逐层分解,可以将整个源代码书写过程分解成多个小的层次,对每个最小层次制定适合的书写方法,可快速完成全套星地AOS协议遥控模拟源程序的建立。本发明面向AOS协议测控体制的航天器,能够快速智能构建通用的遥控模拟平台,为航天器研制、试验阶段提供验证方法,也可为地面测控人员的培训和训练提供平台。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的卫星AOS协议遥控源程序人工智能书写方法的流程图;
图2为遥控AOS协议地面处理流程图;
图3为遥控AOS协议星上处理流程。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1所示,本发明实施例提供的卫星AOS协议遥控源程序人工智能书写方法,包括:
步骤一:根据代码适用性将所述卫星AOS协议遥控源程序分解为:AOS协议遥控通用源程序及AOS协议遥控个性化源程序;
步骤二:将所述AOS协议遥控通用源程序以模板的形式存储于代码库中;
步骤三:获取卫星流设计XML文件及包设计数据库文件;
步骤四:根据所述卫星流设计XML文件及包设计数据库文件中携带的装配信息和模板路径书写所述AOS协议遥控通用源程序;
步骤五:根据所述卫星流设计XML文件及包设计数据库文件中携带的装配信息书写所述AOS协议遥控个性化源程序;
步骤六:根据系统维将所述AOS协议遥控通用源程序和所述AOS协议遥控个性化源程序组合,得到所述卫星AOS协议遥控源程序。
本实施例中,根据代码的适用情况,将卫星AOS协议遥控源程序分解为AOS协议遥控数据处理通用源程序及个性化源程序。其中,通用源程序对于任意卫星均适用,将其以模板的形式存储于代码库中。AOS协议遥控数据处理个性化源程序对于不同卫星或不同遥控指令该部分原程序有所不同,需根据装配文件书写得到。在每次代码开发过程中,根据储存在流设计XML文件及包设计数据库中的具体信息调用预先储存的模板,根据需求对模板中的文件名、函数、语句、变量进行重命名即可完成AOS协议遥控数据处理源程序通用源程序部分的书写,再根据流设计XML文件及包设计数据库中的具体信息,书写AOS协议遥控数据处理源程序中个性化源程序。该方法减少了人的工作量并提高了源程序书写的效率。
其中卫星流设计XML文件、包设计数据库的获取方式主要以人机交互界面数据获得,其主要功能是储存卫星AOS协议遥控配置的个性化信息、卫星遥控子系统部件通道等其他信息,为卫星AOS协议遥控源程序智能书写程序提供决策依据。
数字卫星流设计XML文件、数字卫星包设计数据库。
参照图2所示,数字卫星流设计XML文件中保存的信息包括EPDU主导头、虚拟信道优先级、虚拟信道调度方式、编码方式、CADU同步码。
数字卫星包设计数据库中相关的表组主要包括实体定义、实体间通信关系配置、单机组配置、接口配置、包格式配置、总线配置、状态量定义、包传输配置、星务遥测配置、联邦配置。
上述数据库中实体定义中保存的信息包括数字飞行器的代号、名称以及实体类型,在这里实体类型包括“卫星”、“地面站”、“地面虚拟系统”。
单机组配置中保存实体中的包含的部件信息,比如卫星中包含的星务计算机(CMU)、天线(Antenna),以及地面站中的运动学解算器(Kinematics),地面虚拟系统中的遥控指令编码器(Telecommand)。
实体间通信关系配置中定义了卫星与地面站、地面站与遥控指令编码器的通信关系,主要包括发送发与接收方的对应关系、传输用的通道类型、包格式等。
接口配置定义了实体部件信息传输的真实及虚拟接口,包括无线网络接口、有线网络接口、高速接口等。
包格式配置定义了实体部件间信息传输的格式,包括包头、标识符、长度等信息,主要用到的格式有自定义缺省格式、自定义无线格式、标准的AOS协议格式。
总线配置定义了卫星遥控数据从产生到发送到星上的路径,包括遥控指令编码器到地面站,地面站到卫星天线,从天线到卫星星务计算机,星务计算机到各个被控部件。
状态量定义中保存了卫星部件的状态量信息,包括名称、数据类型、长度、编码方式、取值范围等。
包传输配置中定义了卫星传输的遥控包名称、包格式、发送条件等。
星务遥控配置保存的信息包括遥控源包、遥控指令包、遥控状态量、位流数据格式、虚拟信道多路复用信息等。
联邦配置表中的保存的信息包括联邦的名称(及生成处理的工程文件夹名称)、联邦中包含的部件等。
在一个实施例中,预先将AOS协议遥控源程序进行维分解;分解为地面遥控编码源程序和星上遥控解码源程序两大部分。
进一步分解,可将卫星AOS协议遥控源程序分解为AOS协议遥控地面数据处理流程通用源程序、AOS协议遥控地面数据处理个性化源程序、AOS协议遥控星上数据处理流程通用源程序、AOS协议遥控星上数据处理个性化源程序。
本实施例中,步骤四中的书写所述AOS协议遥控通用源程序包括:文件重命名、函数重命名、语句重命名及变量重命名。
文件重命名具体操作为:从模板路径下的模板文件以及包设计数据库文件实体定义表中获取实体名称;在模板文件名前加上实体名称,得到书写结果的文件名。函数重命名、语句重命名、以及变量重命名均以替换关键字的方式实现,具体步骤为:在模板存入模板库时,在模板中需要重命名的函数、语句和变量处加上特殊标志符;书写时通过包设计数据库文件中携带的实体定义、单机组配置确定替换规则;逐行判断模板中的字符,若发现所述标记符,则根据替换规则替换模板中的相应代码,对于不同的卫星通用,且具备可扩展性。
上述的AOS协议遥控数据处理通用源程序包括AOS协议地面遥控通用源程序以及AOS协议星上遥控通用源程序。
根据包设计数据库文件中的实体定义表中的实体类型及联邦表中的部件类型确定需要读取的模板、书写地面遥控源程序还是星上遥控源程序,地面源程序包括部件类型为“Kinematics”且实体类型为地面站、或者部件类型为“Telecommand”的联邦,星上遥控原代码包括部件类型为“CMU”“Antenna”等部件的联邦。
(1)AOS协议遥控地面数据处理通用源程序智能书写
将AOS协议遥控地面数据处理通用源代码模板存到代码库中作为书写的模块,根据部件类型建立相应的模板路径。根据卫星流设计XML文件、包设计数据库文件中的携带的实体定义、实体间通信关系配置、单机组配置、联邦配置表,确定需要读取的模板,以及补办的书写操作形式。若联邦配置中部件类型为“Kinematics”且实体为地面站、或者部件类型为“Telecommand”,则根据模板进行相应的代码书写,主要书写操作包括文件重命名、函数重命名、语句重命名及变量重命名。
文件重命名,首先获取模板路径下的模板文件名以及实体定义表中的实体名称,再根据地面或Telemommand遥控编码器的实体名称查询实体间的通信关系配置,得到地面站或Telemommand遥控编码器对应的卫星名称,然后在模板文件前加上对应的卫星实体名称得到书写结果的文件名,如:模板名称为“EPDUPacket.c”,地面站对应的卫星实体的名称“Satellite1”,则生成的文件名为“Satellite1EPDUPacket.c”。
函数、语句、变量的重命名都是以替换关键字的方式实现的,首先在模板入库时在需重命名的函数、语句及变量处加入特殊字符(“如$$$$”);书写时,通过实体定义、实体间通信关系、单机组配置等表确定替换规则(如将“$$$$”替换为地面站或Telemommand遥控编码器对应的卫星实体的名称),逐行判断模板中的字符,若发现标记符,则根据替换规则替换模板中的相应代码,完成书写。
上述地面数据处理流程通用源程序主要分为:包装业务源代码、位流业务源代码、多路复用业务源代码、虚拟信道数据单元业务源代码、虚拟信道访问业务源代码。
包装业务源代码的主要功能是将遥控指令数据处理为EPDU,主要过程是在遥控指令数据前添加规范格式的EPDU包头。
位流业务源代码的功能是将位流数据经过压缩、复接处理,再拆分为BPTU。
多路复用业务源代码的功能是将EPDU添加到所属源包对应的虚拟信道,再添加规范格式的MPDU包头组成MODU。
虚拟信道数据单元业务源代码是将MPDU或BPDU添加规范格式的VCDU包头组成VCDU存入缓冲区,再通过VCDU调度,根据优先级取出需要处理的VCDU。
虚拟信道访问业务源代码是将VCDU经过编码后,再添加CADU主导头、宝长度组成一个VCDU,再通过物理通道发送出去。
综上所述得到AOS地面遥控编码源程序的数据处理流程,如图2所示。
(2)AOS协议遥控星上数据处理流程通用源代码智能书写
将AOS协议遥控星上数据处理流程通用源代码存到代码库中作为书写的模块,根据部件类型建立相应的模板路径。根据卫星流设计XML文件、及包设计数据库文件中携带的实体定义、单机组配置、联邦配置表确定需要读取的模板,以及模板的书写操作形式。若联邦中部件类型包含“CMU”或“Antenna”,则读取相应路径下的模板进行代码书写,主要书写操作包括文件重命名、函数重命名、语句重命名及变量重命名。
文件重命名,首先获取模板路径下的模板名称以及实体定义表中的实体名称,然后在模板文件名前加上实体名称得到书写结果的文件名,如:模板名称为“EPDUToSourcePacket.c”,实体名称为“Satellite1”,则生成文件名为“Satellite1EPDUToSourcePacket.c”。
函数、语句、变量重命名均是以替换关键字的方式实现的,首先模板入库时在需重命名的函数、语句及变量处加入特殊字符(“如$$$$”);书写时,通过实体定义、实体间通信关系、单机组配置等表确定替换规则(如将“$$$$”替换为实体的名称),逐行判断模板中的字符,若发现标记符,则根据替换规则替换模板中的相应代码,完成书写。
上述的星上数据处理流程通用源代码主要包括:虚拟信道访问业务源代码、虚拟信道数据单元业务源代码、多路复用业务逆过程源代码、位流业务逆过程源代码和包装业务逆过程源代码。
虚拟信道访问业务源代码的功能是对接收到的数据寻找同步码来划定CADU界限,再经过解装、解码得到VCDU,再送至虚拟信道数据单元业务解码源代码进行解码。
多路复用业务逆过程源代码的功能是从MPDU中解出所有EPDU,再一次送至包装业务逆过程源代码进行解码。
位流业务逆过程源代码的功能是将BPDU经过解复接、解压缩处理还原成位流数据发送给指定部件。
综上所述得到AOS星上遥控解码源程序的数据处理流程,如图3所示。
接下来,根据卫星流设计XML文件和包设计数据库文件书写AOS协议遥控数据处理个性化源代码。
AOS协议遥控数据处理个性化源代码是每个卫星的特殊代码,对于不同的卫星需重新配置生成。包括AOS协议地面遥控个性化源程序及AOS协议星上遥控解码个性化源程序。
根据卫星包设计数据库文件中实体定义表确定书写那部分代码。若实体类型为“地面站”或“地面虚拟系统”则生成地面遥控个性化源程序;若实体类型为“卫星”则生成星上遥控个性化源程序。
AOS协议地面遥控个性化源程序智能书写
地面遥控个性化源程序主要包括:遥控包发送序列源代码、遥控源包组包源代码、遥控通道定义源代码、AOS协议参数初始化源代码、遥控参数宏定义源代码。
遥控包发送序列源代码的功能是定义每次遥控源包组几个包、所有遥控包按照什么顺序依次处理。遥控包发送序列源代码书写是根据数字卫星包设计数据库中的遥控包发送序列表。将遥控包发送序列书写为一个字节型的二维数组,行数为遥测包分发可能的最大次数,列数为每次可能发送的遥测包的最大个数,将数组中的第i列、第j行变量的值书写为地面站第i次、发送的第j个遥控包的编号。根据遥控包发送序列表中的数据列写出遥控包发送序列数组的赋值语句,遥控包发送序列数组的行编号、列编号、变量的值分别为遥控包发送序列表中“序列号”、“个数”、“包编号”,将其写进C代码头文件中。
遥控源包组包源代码的功能是将卫星的遥控状态量经过数据处理组成遥控指令源包,作为包装业务源代码的输入。遥控源包组包源代码书写子模块依赖于卫星包设计数据库中的包列表、包包含状态量表、状态量定义、单机组配置、包格式配置。将遥控源组包过程封装为一个函数,函数的形参包括包编号和输出的源包数组,函数的返回值为源包的长度,函数主体采用多分支选择语句,将遥控包编号作为分支的选择条件。根据实体名称书写出函数名称及函数声明,遍历遥控包列表将“包编号”的值书写为分支选择语句的选择条件,根据“包ID”的值去查询包列表,得到遥控包包含的状态量,根据“状态量属性”及“状态量ID”查询状态量定义表,得到每种状态量的基本信息及处理方式,将包中每个状态量的处理方式及组包源代码写入C文件中。上述的状态量基本信息包括状态量名称、状态量类型、状态量长度、处理后长度、最大值、最小值、初始值等。上述的处理方式包括线性压缩、二进制原码、二进制补码、二进制偏移码、八进制原码、十六进制原码、线性处理、查表法、单精度浮点数、线性内插等。
遥控通道定义的源代码功能是定义CADU传输的物理通道,其中CADU传输的物理通道包括从Telecommand发给地面站的虚拟通道及地面站发送到星上天线的无线通道。遥控通道定义源代码书写子模块依赖于数字卫星包设计数据库中的单机组配置、总线配置两个表。通道的定义的书写方式都采用宏定义,宏定义的值为由总线配置得到的通道号。将Telecommand发给地面站的虚拟通道以宏定义的形式写于Telecommand的头文件中,将地面站发送到星上天线的无线通道以宏定义的形式写于地面站的头文件中。AOS协议参数初始化源代码定义AOS协议中各星特异的参数,包括包装业务中用到的EPDU主导头参数、为流业务的压缩参数、多路复用业务中的虚拟信道复用关系、虚拟通道数据单元业务中的虚拟信道优先级与调度方式、虚拟信道访问业务中的编码方式、CADU同步码等。AOS协议参数初始化源代码书写依赖于数字卫星包设计数据库中的位流数据格式、虚拟信道多路复用信息,数字卫星流设计XML中保存的信息包括EPDU主导头、虚拟信道优先级、虚拟信道调度方式、编码方式、CADU同步码。将EPDU主导头参数定义为无符号整形变量,包括版本号与类型;将遥控指令及其压缩参数定义为一维数组,包括遥控指令识别标识、压缩方式、数据帧的宽度和高度,数组的长度为视遥控指令的个数;将虚拟信道复用关系定义为数组,存储遥控工程源包数据,数组的长度为遥测工程源包的个数;将虚拟信道优先级定义为一维数组,数组的长度为虚拟信道总个数;将虚拟信道的调度方式定义为、编码方式定义为无符号的字节变量;将CADU同步码都定义为无符号的长整型变量。分别将以上信息列写与C代码的头文件中,同时需根据数字卫星包设计数据及数字卫星流设计XML中保存的信息,为相应的变量进行初始化。
遥控参数宏定义源代码的功能是定义卫星AOS遥控的统计信息,以宏定义的形式保存,包括遥控源包的总数、每次组包的最大允许组的源包数、遥控源包的最大长度、位流数据路数等。遥控参数宏定义源代码书写依赖于数字卫星包设计数据库中的包列表、包包含状态量表、状态量定义、包格式配置、位流数据格式。根据包设计数据库中的遥测包列表中的数据,统计出遥测源包的总数;根据遥测包发送序列表,统计出每次组包最大允许组的源包数;根据遥测包列表的包ID去查询包包含状态量表,得到包包含状态量,将包中所有状态量处理后的长度相加得到遥测源包的长度,遍历所有包ID统计得到遥测源包最大长度;统计位流数据格式表,得到位流数据路数。将以上信息一次列写到C代码的头文件中。AOS协议星上遥控个性化源代码智能书写
星上遥控个性化源代码主要包括:遥控通道定义源代码、AOS协议参数初始源代码、遥控参数宏定义源代码。
遥控通道定义源代码是天线向星务计算机发送的有线通道、星务计算机解码后向各个部件发送的有线通道。遥控通道定义源代码书写子模块依赖于数字卫星包设计数据库中的单机组配置、总线配置。将天线到星务计算机的通道以数字组的形式写于天线通道定义头文件中;将星务计算机向各个部件发送遥控指令的通道以数组的形式写于星务计算机通道定义头文件中。
AOS协议参数初始源代码是定义AOS协议中最重要或者各个卫星不同的特意参数,包括虚拟通道访问业务中的编码方式、CADU同步码、位流业务逆过程的压缩参数等。AOS协议参数初始化源代码书写依赖于卫星包设计数据库中的位流数据格式、虚拟信道多路复用信息,卫星流设计XML中保存的信息包括EPDU主导头、虚拟信道优先级、虚拟信道调度方式、编码方式、CADU同步码。书写过程及形式与地面遥控中的AOS协议参数初始化源代码相同。
遥控参数宏定义源代码的功能是定义地面站AOS遥控的统计信息,以宏定义的形式保存,包括遥控包的总数、遥控包的最大长度、为流数据路数等。遥控参数宏定义源代码书写依赖于卫星包设计数据库中的状态量定义、包格式配置、遥控源包、遥控状态量、位流数据格式。书写过程及形式与地面遥控中的AOS遥控参数宏定义源代码相同。
AOS协议遥控源程序根据系统维可分解为两大部分,地面遥控编码源代码和星上遥控解码源代码。根据地面遥控编码和星上遥控解码的处理顺序对书写出的代码进行组合,得到地面遥控编码源代码和星上遥控解码源代码。
地面遥控编码源代码
主要功能是将遥控指令经过包装业务、位流业务、多路复用业务、虚拟通道访问业务、虚拟通道数据单元业务处理变成AOS协议规范格式的传输包,根据调度方式依次发送给卫星。包括AOS协议遥控地面数据处理流程个性源代码和AOS协议遥控地面数据处理流程通用源代码。
AOS协议遥控地面个性化源代码通常以头文件、特殊字符的形式存在,AOS协议遥控地面数据处理流程通用源代码通过调用函数或引用头文件形成完整的AOS协议地面遥控源代码。
星上遥控解码源代码
主要功能是将星上信息处理计算机收到的遥控指令经过虚拟信道访问业务、虚拟信道数据单元业务、多路复用业务逆过程、位流业务逆过程和包装业务逆过程解出遥控指令,根据指令类型发往星上不同部件。包括AOS协议遥控星上数据处理个性化源代码及AOS协议遥控星上数据处理通用源代码。
AOS协议遥控星上个性化源代码通常以头文件形式存在,AOS协议遥控星上数据处理流程通用源代码通过引用头文件形成完整的AOS协议遥控星上遥控源代码。
用到的智能书写方法包括:源代码书写推理决策方法、源代码书写有限选择决策方法、源代码书写规范执行方法。利用源代码书写方法库推理决策方法决定工程与文件,例如书写星上源代码还是地面源代码的决策,根据系统维进行代码合并的决策。利用有限选择决策方法决定条件、循环、变量、语句等内容的书写,例如在遥控通道定义源代码中定义方式的决策,AOS协议参数初始化源代码中参数的类型决策。利用源代码书写规范执行方法完成规范源代码书写,例如在函数定义、变量命名、变量赋值、分支选择等语句的书写。
上述智能书写方法,其建立过程如下:
对数字飞行器源代码进行多层次分解;建立数字飞行器源代码书写决策树;根据决策树分支情况建立执行规范书写操作的人工智能程序员;读取所需生成场景的配置信息生成数字飞行器仿真源程序。
1:利用多种维分解方法对数字飞行器源代码进行多层次分解。
分解方法主要包括代码层次、飞行器类型、系统维、仿真粒度,以及多种分解方法之间的交叉组合。
按照代码层次分解主要包括系统层和应用层两部分。
利用多种分解方法将数字飞行器源代码分解到最小层次,即最小分解结果,落实到工程、文件、变量、函数。
2:建立数字飞行器源代码书写决策树。
该步骤可细分为以下两个小步骤:
(1)对最小分解结果进行聚类,给出聚类后分支的适用对象和适用条件
聚类依据包括通用性、工作逻辑方式。
根据通用性对应用层代码进行聚类,包括所有飞行器通用、同一类型飞行器通用、不同飞行器型号特殊三部分。
(2)建立程序员书写数字飞行器源代码完整决策树
将源代码分解结果聚类后,建立决策树。
3:根据决策树分支情况建立执行规范书写操作的人工智能程序员。
根据适用范围、变化频率、变化方式因素对源代码书写执行方法进行选择,建立智能程序员。书写操作规范执行方法包括保存为文件、保存为数据库、将书写逻辑固定在人工智能程序员中。
根据适用范围分解结果,所有系统层源代码与飞行器无关,为固定代码,因此采用保存为固定文件的方式,智能程序员书写数字飞行器源程序时到相应路径拷贝即可。
4:读取所需生成场景的配置信息生成数字飞行器仿真源程序。
该步骤可细分为以下两个小步骤:
(1)智能程序员读取所需生成场景包含飞行器配置信息
利用上述的人工智能程序员,读取书写数字飞行所需的配置文件输入信息。配置文件按照文件类型分解包括数据库、格式化文件(xml文件)、文件库等。配置文件根据适用性进行分解,包括所有飞行器通用、每种类型飞行器通用、每种型号特殊。
所有飞行器通用主要为存储部件信息的库文件,存储信息包括部件类型、每种部件类型下包含的不同部件型号,每种型号部件包含的变量、部件模型、接口等。每种类型飞行器通用主要为动力学相关库文件。
每种型号特殊主要包括飞行器各子系统工作参数、包含部件及安装信息、飞行器配置信息、信息传输处理配置文件等。
(2)根据决策树分支适用条件进行逐层判定,获取源代码书写操作执行方法,执行书写操作自动生成源代码。
智能程序员中根据决策树分支语句进行决策树各层级分支的满足条件判定和筛选,查找书写过程中每步的所属最小分支。
根据每个分支的书写方法,通过源代码生成程序书写、数据库读取书写、文件直接拷贝、文件替换拷贝方式,完成完整数字飞行器系统源代码书写。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.卫星AOS协议遥控源程序人工智能书写方法,其特征在于,包括:
步骤一:根据代码适用性将所述卫星AOS协议遥控源程序分解为:AOS协议遥控通用源程序及AOS协议遥控个性化源程序;
步骤二:将所述AOS协议遥控通用源程序以模板的形式存储于代码库中;
步骤三:获取卫星流设计XML文件及包设计数据库文件;数字卫星流设计XML文件中保存的信息包括EPDU主导头、虚拟信道优先级、虚拟信道调度方式、编码方式、CADU同步码;
数字卫星包设计数据库中相关的表组主要包括实体定义、实体间通信关系配置、单机组配置、接口配置、包格式配置、总线配置、状态量定义、包传输配置、星务遥测配置、联邦配置;
步骤四:根据所述卫星流设计XML文件及包设计数据库文件中携带的装配信息和模板路径书写所述AOS协议遥控通用源程序;
步骤五:根据所述卫星流设计XML文件及包设计数据库文件中携带的装配信息书写所述AOS协议遥控个性化源程序;
步骤六:根据系统维将所述AOS协议遥控通用源程序和所述AOS协议遥控个性化源程序组合,得到所述卫星AOS协议遥控源程序;
所述步骤一还包括:
根据系统维将所述AOS协议遥控通用源程序分解为:AOS协议遥控地面数据处理通用源程序及AOS协议遥控星上数据处理通用源程序;
根据系统维将所述AOS协议遥控个性化源程序分解为:AOS协议遥控地面数据处理个性化源程序及AOS协议遥控星上数据处理个性化源程序。
2.根据权利要求1所述的卫星AOS协议遥控源程序人工智能书写方法,其特征在于,所述步骤二,包括:
将所述步骤一分解后的AOS协议遥控地面数据处理通用源程序及AOS协议遥控星上数据处理通用源程序以模板的形式存储于代码库中,其存储路径是根据相应的部件类型建立的。
3.根据权利要求1所述的卫星AOS协议遥控源程序人工智能书写方法,其特征在于,所述步骤四中的书写所述AOS协议遥控通用源程序,包括:文件重命名、函数重命名、语句重命名及变量重命名操作 。
4.根据权利要求 3所述的卫星AOS协议遥控源程序人工智能书写方法,其特征在于,所述文件重命名操作具体步骤为:
(1)从模板路径下的模板文件以及包设计数据库文件实体定义表中获取实体名称;
(2)在模板文件名前加上实体名称,得到书写结果的文件名。
5.根据权利要求 4所述的卫星AOS协议遥控源程序人工智能书写方法,其特征在于,所述函数重命名、语句重命名及变量重命名操作具体步骤为:
(1)在模板存储于代码库时,在模板中需要重命名的函数、语句和变量处加上标记 符;
(2)书写时读取包设计数据库文件中携带的实体定义、单机组配置确定替换规则;
(3)逐行读取模板中的字符,当发现所述标记符,则根据所述替换规则替换模板中的相应代码。
6.根据权利要求 1所述的卫星AOS协议遥控源程序人工智能书写方法,其特征在于,所述AOS协议遥控地面数据处理个性化源程序包括:遥控包发送序列源代码、遥控源包组包源代码、遥控通道定义源代码、AOS协议参数初始化源代码、遥控参数宏定义源代码;
所述AOS协议遥控星上数据处理个性化源程序包括:遥控通道定义源代码、AOS协议参数初始源代码、遥控参数宏定义源代码。
7.根据权利要求 6所述的卫星AOS协议遥控源程序人工智能书写方法,其特征在于,所述遥控包发送序列源代码书写步骤为:
(1)创建书写遥控包发送序列源代码C代码头文件;
(2)根据卫星包设计数据库中遥控包发送序列表列写遥控包发送序列二维数组,并赋值。
8.根据权利要求 6所述的卫星AOS协议遥控源程序人工智能书写方法,其特征在于,所述遥控源包组包源代码书写步骤为:
(1)创建遥控源包组包源代码C文件;
(2)根据实体名称书写出函数名称及函数声明;
(3)根据卫星包设计数据库中的包列表、包包含状态量表、状态量定义、单机组配置、包格式配置书写遥控包组包函数。
9.根据权利要求 6所述的卫星AOS协议遥控源程序人工智能书写方法,其特征在于,所述遥控通道定义源代码书写步骤为:
(1)根据部件类型创建相应的遥控通道定义头文件;
(2)根据卫星包设计数据库中的单机组配置、总线配置表以宏定义的形式列写遥控通道定义。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810805348.6A CN109086035B (zh) | 2018-07-20 | 2018-07-20 | 卫星aos协议遥控源程序人工智能书写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810805348.6A CN109086035B (zh) | 2018-07-20 | 2018-07-20 | 卫星aos协议遥控源程序人工智能书写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086035A CN109086035A (zh) | 2018-12-25 |
CN109086035B true CN109086035B (zh) | 2021-08-10 |
Family
ID=64838352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810805348.6A Active CN109086035B (zh) | 2018-07-20 | 2018-07-20 | 卫星aos协议遥控源程序人工智能书写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086035B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061676A (zh) * | 2022-05-19 | 2022-09-16 | 北京控制工程研究所 | 一种星载协议组包代码自动生成方法和系统 |
CN115549771B (zh) * | 2022-12-01 | 2023-03-24 | 银河航天(北京)通信技术有限公司 | 基于分段层对虚拟信道进行调度的方法、装置及存储介质 |
CN117289915B (zh) * | 2023-11-24 | 2024-02-02 | 北京控制工程研究所 | 基于配置表的星载软件代码生成方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542002A (zh) * | 2011-12-08 | 2012-07-04 | 北京空间飞行器总体设计部 | 一种卫星遥测数据处理系统以及其实现方法 |
CN103347025A (zh) * | 2013-07-10 | 2013-10-09 | 北京航天自动控制研究所 | 一种空间飞行器的遥测数据处理方法 |
CN105487867A (zh) * | 2015-11-26 | 2016-04-13 | 中国空间技术研究院 | 一种轻量级可视化卫星测试程序设计系统及方法 |
CN106407531A (zh) * | 2016-09-05 | 2017-02-15 | 北京空间飞行器总体设计部 | 一种基于增量化模型的航天器遥测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9401813B2 (en) * | 2009-12-29 | 2016-07-26 | Iheartmedia Management Services, Inc. | Media stream monitor |
-
2018
- 2018-07-20 CN CN201810805348.6A patent/CN109086035B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542002A (zh) * | 2011-12-08 | 2012-07-04 | 北京空间飞行器总体设计部 | 一种卫星遥测数据处理系统以及其实现方法 |
CN103347025A (zh) * | 2013-07-10 | 2013-10-09 | 北京航天自动控制研究所 | 一种空间飞行器的遥测数据处理方法 |
CN105487867A (zh) * | 2015-11-26 | 2016-04-13 | 中国空间技术研究院 | 一种轻量级可视化卫星测试程序设计系统及方法 |
CN106407531A (zh) * | 2016-09-05 | 2017-02-15 | 北京空间飞行器总体设计部 | 一种基于增量化模型的航天器遥测方法 |
Non-Patent Citations (2)
Title |
---|
数字卫星源代码生成技术;董云峰 等;《2015年小卫星技术交流会》;20160621;第50-55页 * |
董云峰 等.数字卫星源代码生成技术.《2015年小卫星技术交流会》.2016,第50-55页. * |
Also Published As
Publication number | Publication date |
---|---|
CN109086035A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086035B (zh) | 卫星aos协议遥控源程序人工智能书写方法 | |
CN109062565B (zh) | 数字卫星aos协议遥测源代码人工智能书写方法 | |
US7043686B1 (en) | Data compression apparatus, database system, data communication system, data compression method, storage medium and program transmission apparatus | |
EP0449493B1 (en) | Method and apparatus for transferring data between heterogeneous data base systems | |
CN102542002A (zh) | 一种卫星遥测数据处理系统以及其实现方法 | |
CN100561476C (zh) | 一种基于asn类型对象的代码生成方法 | |
KR101743904B1 (ko) | Iec61850과 dnp3.0 변환용 게이트웨이 및 iec61850 클라이언트에서 dnp3.0 슬레이브에 요청하는 서비스를 처리하는 방법 | |
CN110147361A (zh) | 大数据环境下实现主数据编码规则维护功能的系统及其方法 | |
CN109933786B (zh) | 基于编译规则的应答器报文工具的构建方法 | |
CN101996257B (zh) | 可重构路由交换平台构件的检索方法 | |
CN104750468B (zh) | 一种服务端拓扑数据转换方法和转换装置 | |
CN113190345A (zh) | 一种面向软件定义卫星的神经网络模型部署的方法以及装置 | |
CN109710991B (zh) | 一种基于元器件的电缆网工艺设计系统及方法 | |
CN102855305A (zh) | 数据升级方法与装置 | |
CN102033959A (zh) | 一种分布式计算系统中对象传递的方法 | |
CN116339703B (zh) | 总线接口代码生成方法、装置、电子设备及介质 | |
CN102855278B (zh) | 一种仿真方法和系统 | |
CN109214043B (zh) | 数字飞行器动力学环境信息传输源代码人工智能书写方法 | |
Gull et al. | Recursive data structures in APL | |
CN102937910B (zh) | 控制算法跨平台转换系统及方法 | |
CN109189376B (zh) | 数字飞行器集群源代码的人工智能书写方法 | |
CN108958719A (zh) | 数字飞行器缓冲区信息处理源代码人工智能书写方法 | |
CN109062549B (zh) | 人工智能书写卫星波道遥测解码程序的方法及装置 | |
CN114116779A (zh) | 基于深度学习的电网调控领域信息检索方法、系统和介质 | |
CN109213475B (zh) | 卫星多回路比对指令单元遥控源程序的人工智能书写方法 |
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 |