该软件面向某型飞机航电系统地面维护场景:维护人员在 PC 端编辑飞行计划(航线、空域、机场、通信导航参数等)与各类任务参数,并且可将这些数据转换为机载设备可直接识别的二进制加载文件,写入到数据卡后由机载航电系统读取执行;同时也支持解析机载设备中存储的二进制文件,转换为可编辑的数据,呈现在UI界面中供维护人员对规划数据进行二次编辑。该软件支持地图功能,可以根据用户编辑的数据显示航线、空域、飞行计划。
主要模块有:配置解析、界面生成、计划编辑、加载文件生成、文件解析、地图等模块。
该软件设计的核心逻辑为配置驱动,即数据驱动。软件不会将任意业务字段硬编码进程序,界面呈现形式、数据存储规则、二进制协议打包方法,全部由一份XML配置统一定义。
XML 配置文件同时描述了界面结构(分类/数据块/字段/控件/选项)、数据模型(行数/类型/约束)、接口协议(字段→ICD 位域映射、缩放、组包规则)三个维度,实现"新增字段、新机型只改配置不改代码"。
核心模块实现思路如下:
配置解析:使用QDomDocument解析xml文件,将xml中定义的业务分类、科目名称、字段属性、约束规则、单位转换、ICD位域信息(即某个字段在数据包中的位置)等信息转换为内存结构。
界面生成:按字段的类型/风格生成对应控件、设置控件属性、构建控件之间的约束联动。
加载文件生成:逐消息生成中间文件,按每包记录数(POB)组包,数值经"值×单位系数÷协议分辨率"换算取整后按位域(跨 1~3 个 16 位字)填充,写消息头(时标/包计数/标志位)补零至固定包长;然后按目标子系统汇总封装最终加载文件(帧头+控制信息+消息索引表+消息体+CRC16-CCITT),使用大端字节序落盘。组包规则均定义于xml文件中。
文件解析:即“加载文件生成”模块的反向操作。用于解析机载设备中的二进制加载文件,还原为可编辑数据。