专利名称:一种基于xml的航天器通用化指令生成方法
技术领域:
本发明涉及一种基于xml的航天器通用化指令生成方法,属于航天器指令控制技术领域。
背景技术:
航天器在太空中的运行控制是根据地面发出的指令进行的,一般由地面上注指令,经过星地通信链路传输,星上接收指令并解码处理,完成对航天器的运行控制。所以航天器研制阶段需要一套指令生成软件来完成指令的生成,从而实现对航天器的控制。由于各类航天器对卫星控制需求不同,所以各航天器的指令生成软件需要生成的指令种类存在差异,导致每个航天器型号都需要开发一套指令生成软件。为此,本文提出了一种方法,可以基于xml语言来描述一颗航天器所需的指令,然后根据xml描述来实现航天器的指令生 成。
发明内容
为解决上述问题,本发明提供了一种基于xml描述的航天器通用化指令生成方法,直接使用xml描述该型号的所有指令并加载到软件配置文件中即可实现新型号的指令生成,从而提高型号研发效率,避免研发新的指令生成软件带来的错误,同时也为型号研制节约了成本。本发明的基于xml的航天器通用化指令生成方法,包括四个步骤指令结构描述、指令内容分解、指令结构解析与指令内容输入、指令生成。步骤一、指令结构描述;将航天器指令分为块头、块中和块尾部分;其中,在〈TcBlock〉和〈/TcBlock〉之间填写指令块的主程序;在〈TcHead〉和〈/TcHead〉之间填写指令块的块头内容,块头内容包括块识别、块类型、有效长度;在〈TcContent〉和〈/TcContent〉之间填写块中内容,块中是一系列指令单元,在〈TcUnit〉和〈/TcUnit〉之间填写各指令单元内容;在〈TcTail〉和〈/TcTail〉之间填写块尾内容,块尾内容为校验信息和填充数据。航天器指令结构为
权利要求
1.一种基于xml的航天器通用化指令生成方法,其特征在于包括以下四个步骤 步骤一、指令结构描述; 将航天器指令分为块头、块中和块尾部分;其中,在〈TcBlock〉和〈/TcBlock〉之间填写指令块的主程序;在〈TcHead〉和〈/TcHead〉之间填写指令块的块头内容,块头内容包括块识别、块类型、有效长度;在〈TcContent〉和〈/TcContent〉之间填写块中内容,块中是一系列指令单元,在〈TcUnit〉和〈/TcUnit〉之间填写各指令单元内容;在〈TcTail〉和〈/TcTail)之间填写块尾内容,块尾内容为校验信息和填充数据; 航天器指令结构为
2.如权利要求I所述的一种基于xml的航天器通用化指令生成方法,其特征在于,所述data的类型为固定型,记为fixed ;data进一步包括val子项,val表示该data的值;解析固定型data时,根据val子项得到data的值,根据fillByteLen子项得到data占有的字节数,根据isHighByteFirst子项得到data的字节序;根据这三项信息,得出data对应的指令内容。
3.如权利要求I所述的一种基于xml的航天器通用化指令生成方法,其特征在于,所述data的类型为输入型,记为input ;解析输入型data时,根据fillByteLen子项得到data占有的字节数,再根据isHighByteFirst子项得到data的字节序,data的值则由用户通过界面输入框输入;根据用户输入的值以及fillByteLen、isHighByteFirst信息得出data对应的指令内容。
4.如权利要求I所述的一种基于xml的航天器通用化指令生成方法,其特征在于,所述data的类型为有效长度型,记为validlen ;data进一步包括invalidLen子项,invalidLen表示无效字节数;解析有效长度型data时,根据fillByteLen子项得到data占有的字节数,再根据isHighByteFirst子项得到data的字节序,再根据invalidLen子项得出指令块中无效字节的长度,由指令块的总长度减去无效长度,得出有效长度的值;根据有效长度的值以及fillByteLen、isHighByteFirst信息得出该data对应的指令内容。
5.如权利要求I所述的一种基于xml的航天器通用化指令生成方法,其特征在于,所述data的类型为选项型,记为option ;data进一步包括val子项,val子项中有多个选项item,其中,item表示对应选项的实际值,item的name属性对应选项的用户界面展现值;解析选项型data时,根据fillByteLen子项得到该data占有的字节数,再根据isHighByteFirst子项得到该data的字节序,data的值是用户通过界面选择框进行选择的,选择框的内容则是由val子项得到的,val子项中的一个item即对应选择框中的一个选项;根据用户选择的实际值以及fillByteLen、isHighByteFirst信息得出该data对应的指令内容。
6.如权利要求I所述的一种基于xml的航天器通用化指令生成方法,其特征在于,所述data的类型为时间型,记为time ;data还进一步包括byteSort子项,表示字节序;解析时间型data时,字节序以byteSort子项的字节序为优先,无byteSort子项时,字节序由isHighByteFirst子项得出;根据fillByteLen子项得到该data占有的字节数,再根据byteSort子项或isHighByteFirst子项得到该data的字节序,data的值为用户通过时间输入框输入的时间与基准时间的秒差值;根据data的值以及fillByteLen、byteSort或isHighByteFirst信息得出该data对应的指令内容。
7.如权利要求I所述的一种基于xml的航天器通用化指令生成方法,其特征在于,所述data的类型为校验型,记为crc ;data还进一步包括val子项,val子项中包含2个选项item, 2个item选项分别对应异或校验计算方式和CRC校验计算方式;解析校验型data时,根据fillByteLen子项得到该data占有的字节数,再根据isHighByteFirst子项得到该data的字节序,根据用户选择采用异或校验计算方式还是CRC校验计算方式,data的值为异或校验或CRC校验计算得到的值;根据data的值以及fillByteLen、isHighByteFirst信息得出该data对应的指令内容。
8.如权利要求I所述的一种基于xml的航天器通用化指令生成方法,其特征在于,所述data的类型为填充型,记为fillarea ;data还进一步包括val子项和Ien子项,其中val子项表示data的值,Ien子项表示遥控数据巾贞数据区长度,Ien子项的选项item表示遥控数据帧数据区长度的几个选项;解析填充型data时,填充位的存在与否取决于块头、块数据和块尾的字节数之和是否满足遥控数据帧数据区长度的要求,若块头、块数据和块尾的字节数之和小于遥控帧数据区的长度要求则需要以若干个固定值进行填充;遥控数据中贞数据区的长度由填充型data的Ien子项决定,设data的Ien子项共有n个item,用数组item[n-l]装载,item[n_l]中的数是严格增序排列,则item取值为item选项中大于块头、块数据和块尾的字节数之和,且最接近块头、块数据和块尾的字节数之和的长度,data值为item值减去块头、块数据和块尾的字节数之和;根据data的值以及fillByteLen、isHighByteFirst信息得出该data对应的指令内容。
全文摘要
本发明提供了一种基于xml的航天器通用化指令生成方法。该方法包括四个步骤指令结构描述、指令内容分解、指令结构解析与指令内容输入、指令生成。首先将航天器指令分为块头、块中和块尾部分;然后根据指令的实际含义,将航天器指令文件中的各指令分解为指令块的最小单元data,将指令块data内容填入块头、块中和块尾部分;接着依次解析块头、块中和块尾data,动态生成指令块用户输入界面,用户完成相应data内容,完成块头、块中和块尾内容的组织;最后,根据填充指令结构中的内容,生成指令的二进制字节序列。本发明给出了一种结构简单且能适用于各种指令的航天器指令结构,实现了指令生成功能的通用化处理,提高了研制效率,节省了航天器研制成本。
文档编号G06F9/44GK102981849SQ20121045559
公开日2013年3月20日 申请日期2012年11月13日 优先权日2012年11月13日
发明者朱剑冰, 王向晖, 袁珺, 王文平, 张红军, 穆强, 韦涌泉, 郭坚, 杨柳青, 范延芳, 董振辉 申请人:北京空间飞行器总体设计部