APP下载

AIDC简约模式交互测试系统的设计与实现

2019-12-11

数字通信世界 2019年11期
关键词:编组校验串口

(民航珠海进近管制中心,珠海 519015)

1 AIDC简介

AIDC(Air Trafic Services Inter-facility Data Communication),即空中交通服务设施之间的通信,是由亚太民航组织制定的亚太地区相邻管制区间进行航班管制电子移交的标准协议[1]。如图1所述,AIDC协议将一个完整的管制移交过程分解为三个阶段:通知阶段、协调阶段和移交阶段,其主要作用是在不同阶段通过报文数据的交互来完成相邻管制单位之间的航班管制移交,相对电话移交大大提升了管制移交效率。在简约模式下,主要的AIDC报文有ABI(预计边界报,可不发),EST(预计飞越报),ACP(协调接受报),TOC(管制移交报)以及AOC(移交接受报)。除此之外,还有LAM(逻辑确认报),用于通报对方已对相应报文进行处理。

图1 AIDC简约模式报文交互示意图

2 系统功能需求

AIDC简约模式交互测试系统设计的主要目的是和空管自动化系统进行AIDC报文交互以测试自动化系统的AIDC功能。因此,必须具备以下功能:

(1)RS232协议的报文接口,可接收发送异步报文。

(2)符合MH/T 4007 《民用航空飞行动态固定电报格式》[2]和MH/T 4008《空管雷达及管制中心设施间协调移交数据规范》[3]的AIDC报文解析处理,以及生成组装。

(3)简单飞行计划手动或自动生成(根据EST报)和显示,以及状态颜色更新。

(4)接收和发送报文的显示、存储和查询。

3 系统结构和运行流程

根据功能需求,遵循模块化的设计原则,将系统划分为下面几个模块:计划生成模块、显示模块、报文处理模块、报文组装模块、报文发送模块、报文接收模块、存储和查询模块。各个模块之间的关系可以用系统运行流程图来表示,如图2所示。

AIDC测试流程从创建计划开始,系统支持人工创建一份计划,或者收到自动化系统拍发的EST报,按照EST报文中的内容自动生成计划。生成计划后,用户可人工点击界面上的计划,在菜单中选择手动发报至自动化系统,或者勾选自动回复按钮后,系统将自动响应自动化系统拍发的报文,譬如自动化系统发送EST报至测试系统,测试系统自动回复LAM报和ACP报完成协调状态。在显示模块上,每条计划有EST,ACP,TOC和AOC四个图标状态,每个图标有三种颜色,蓝色代表未收到或者发送该报,黄色代表该报已经收到或者发出,但未发出或者收到对应的LAM报,绿色代表报文已经收到或者发出,且已经回复或者收到LAM报。

图2 系统模块运行流程图

4 主要模块实现

本系统采用C#作为开发语言,SQL server作为数据管理软件。接下来简要介绍几个核心模块的功能实现。

4.1 报文接收模块

C#自带SerialPort函数,可以控制串口的关闭以及读写串口数据。系统启动后将读取运行电脑的串口信息,显示在串口选择菜单中。用户选择串口后,系统打开相应串口,并将报文接收函数作为事件添加到SerialPort的DataReceived的委托中。每收到一个字符,就触发一次报文接收函数。报文接收函数将字符存储在字符串中,并判断字符串的是否包含一份AIDC报文的头尾,如果包含头尾,则将该份报文截出,发送给报文处理模块。

4.2 报文处理模块

报文处理模块取得报文接收模块发送过来的报文后,按照MH/T 4008《空管雷达及管制中心设施间协调移交数据规范》以及ICAO(国际民航组织)规范文件《ICD AIDC ver3.0》的标准,将报文解析为各个编组及数据项。以一份ACP(协调接受报)报文为例:

DRB4372 251641 FF ZGACADAC 251641 ZGJDADTM

2.347492

-3.ZGAC231036

-4.181225164114

-5.0ED4

-(ACP-CSZ9910/A7035-ZSWZ-ZGSZ)

该报文可划分为六个部分,按照上述排版,每行即为一个部分(此处仅为方便区分,与实际报文排版不同)。第一部分按照空格隔开,分别代表报文冠字及流水号、转发时间、电报等级、收报地址、始发时间、发报地址;第二部分2.后跟发报方内部编号;第三部分3.后跟收报方地址前四个字符,以及所回复报文的第二部分内部编号,以此ACP报文为例,所回复的EST报文第二部分应为2.231036;第四部分4.后跟精确到秒的UTC时间,此处时间代表UTC时间2018年12月25日16时41分14秒;第五部分为5.0后跟CRC16校验码,校验对象为第六部分括号以及括号内的内容,即报文正文;第六部分括号内为报文正文,以“-”分割为各个编组,符合MH/T 4008和MH/T 4007规范标准,本例中解析如下:编组3报文类别为ACP协调接受报,编组7航班号CSZ9910,A模式二次代码7035,编组13起飞机场四字码ZSWZ,编组16预计落地机场四字码ZGSZ。

报文处理模块完成报文解析后,先对报文进行CRC校验,校验不通过则不处理,校验通过后根据不同报文类别触发不同事件。详情见表1。

表1 系统收到不同类型报文的响应

4.3 报文组装模块

系统可人工或者自动发送AIDC报文,发送前需要进行报文组装。报文内容组装时同样按照MH/T 4007和MH/T4008、ICD AIDC ver3.0的标准进行组装,此处不做赘述。需要强调的是,本系统发送的报文需要被自动化系统正常解析,因此必须满足测试对象自动化系统的编码要求。以美国Telephonics自动化系统为例,配置的AIDC码型为IA5码[4],因此整份报文必须以16进制码0x01(SOH:start of headline)开始,以16进制码0x03(ETX end of text)结束,除此之外同时要在报文中四个正确位置加入连续三个字节0x0d(回车),0x0d,0x0a(换行)方能被正常解析。因此在完成报文内容的组装之后,需要对待测自动化系统的AIDC报文转化为16进制编码进行分析,套用其中的编码规则对系统完成报文发送前的最后组装。

5 结束语

本文简要介绍了简约模式AIDC交互模拟测试系统的设计思路和几个核心模块实现方法。该系统是以辅助设备维护人员进行对自动化系统进行AIDC功能测试为目标,结合民航规章规范标准和实际工作经验,基于C#和SQL编写的一套测试工具,能从一定程度上满足现行自动化系统的AIDC功能测试需求,具备广泛的普适性,以及很大的扩展空间。希冀本文的介绍可对广大民航业内同行起到少许启发和借鉴意义,笔者经验所限,疏漏在所难免,欢迎同行批评指教。

猜你喜欢

编组校验串口
使用Excel朗读功能校验工作表中的数据
多编组智轨电车高速工况下的稳定性能研究
浅谈AB PLC串口跟RFID传感器的通讯应用
基于灵活编组的互联互通车载电子地图设计及动态加载
一种自动生成某型部队编组ID的方法
炉温均匀性校验在铸锻企业的应用
电子式互感器校验方式研究
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式