Aerotrac自动化系统监控程序的开发

2015-04-20 18:47吴宗键
电子技术与软件工程 2015年6期
关键词:调用报文雷达

摘 要 AeroTrac自动化系统在国内多个空管单位被作为主用自动化系统使用,其工作状态直接影响到管制工作,进而影响到空中交通安全。为了保证其工作稳定性,能否对其进行及时、准确、直观、全面的监控对于维护而言显得尤为重要。

【关键词】XP 平台 Aerotrac自动化系统 程序开发

当前现有的AeroTrac自动化系统监控均有不同缺陷,如功能单一、告警延时高、无图形界面等。基于上述原因,开发一套界面直观、功能健全、告警及时准确的监控系统就显得十分必要。由于Windows XP仍是当前主流操作系统,具有较好的稳定性和兼容性。因此本套自动化监控系统最终确定基于XP平台,利用Visual Studio2010和SQL2008软件工具,使用C#语言编写。

1 Aerotrac自动化系统架构简述

AeroTrac自动化系统有三个主干网,雷达处理子系统中,三台服务器RDP分别接入A、B网,B、C网和A、C网,显示终端DP均接入A、B、C网。飞行数据处理子系统中,服务器FDP和显示终端FDT接入A、B网。

同一时间RDP和FDP只有一台处于Online,其它处于热备份Backup状态。

RDP和FDP操作系统为Solaris 5.8,FDP和DP操作系统为Solaris 5.10。FDT操作系统为Windows Vista。

2 AeroTrac自动化系统信号流程介绍

AeroTrac自动化系统处理的信号主要为单雷达信号和报文信号两种。下面简单介绍了这两种信号的单向处理流程。

单雷达信号由传输设备出来为HDLC格式,使用RS232串口接入雷达信号协议转换器MPS800,转换为TCP/IP格式的网络信号接入RDP,经RDP进行融合、相关、告警处理后,送入DP进行目标航迹显示。

报文信号从传输设备出来一分多后直接接入FDP,FDP将其处理后进行飞行动态列表的更新, FDT从FDP获取飞行数据并显示。

3 需求分析

根据AeroTrac自动化系统的实际情况和设备维护人员的需求,自动化监控系统所要实现的功能如下:

(1)监控单雷达数据状态,在信号中断或者误码过高时产生告警。

(2)监控报文状态,在报文中断时产生告警。

(3)监控系统节点进程状态,在主要进程死时产生告警。

(4)监控系统节点网络状态,在节点单网络中断时产生告警。

(5)报文查询和人工要报功能。

(6)常见维护操作,如数据备份、清理过期文件等。

(7)相关资料索引,方便维护人员查找自动化系统相关资料。

(8)所有告警均产生相关日志并存储,方便查询和故障排查。

4 监控系统模块框架

根据上述功能需求,结合C#语言特点,自动化监控系统组成模块框架图如图1。

系统主要后台功能模块分为雷达监控模块、节点和网络监控模块、报文监控模块、维护模块和资料索引模块。报文监控模块作为主要模块之一,包含三个子模块。

前台主界面分为告警界面和维护菜单两部分。告警界面显示三个监控模块产生的告警。维护菜单包含各种维护操作,如查看节点进程、CPU和硬盘占用率、数据备份、资料查询等。

5 设计方法

5.1 雷达监控模块

雷达监控分为下面3个步骤:

5.1.1 从自动化系统获取雷达信息相关文件

在AeroTrac自动化系统主用RDP的/export/home/ATCsite/目录下,ADAP00*.DAT文件包含了各路雷达的配置信息,包括名称、经纬度、高度等(*这里为通配符)。UconX_rcvr_stats0和UconX_rcvr_stats1为雷达数据接收文件,每70秒刷新一次,包含当前接收的各路雷达详细信息,如接收数据量、误码率、帧校验等。

在本系统中,采用命令行脚本(.bat)的方式,使用rcp远程接收指令来获取这两类文件。例如:

rcp rdp01a:/export/home/ATCsite/ADAP00*.DAT ./Adap/

rcp rdp01a:/export/home/ATCsite/UconX_rcvr_stats0 ./Stat/

rcp rdp01a:/export/home/ATCsite/UconX_rcvr_stats1 ./Stat/

5.1.2 将获取到的本地文件进行处理以便程序调用

由于获取到的两个文件包含信息较多,为方便程序快捷调用所需数据,在获取之后对其进行信息处理。该步骤也在命令行脚本中完成。例如:

more UconX_rcvr_stats0 | find "Rcv Msgs" > ./RcvMsgs.txt

more UconX_rcvr_stats1 | find "Rcv Msgs" >> ./RcvMsgs.txt

这一步是将各路雷达单位时间内接收数据量提取出来放入RcvMsgs.txt文件以便程序调用。

5.1.3 监控程序调用脚本,获取相关信息并更新状态

该步骤是在监控程序的timer中进行,定时调用上述的命令行脚本,更新本地文件,并从本地文件中获取监控所需信息,进行状态显示和告警。

5.2 节点和网络监控模块

节点和网络监控实现步骤与雷达监控相同,均是从自动化系统获取信息保存至本地,程序从本地调用再进行分析处理。但获取方式有所不同。

RDP和DP的主备状态和网络状态,通过 RDP主目录下radar_status.txt文件获取。代码举例如下:

rcp rdp01a:/export/home/ATCsite/radar_status.txt ./Stat/

FDP和FDT的状态,是通过远程执行FDP上的自编脚本myshowfdp和myshowfdt,然后将执行结果保存至本地文件来获得。代码如下:

rsh fdp01a -l root /aerotrac/bin/myshowfdp > ./Stat/fdp.log

rsh fdp01a -l root /aerotrac/bin/myshowfdt > ./Stat/fdt.log

5.3 报文监控模块

报文监控模块由三个子模块组成:报文显示模块、报文查询模块和人工要报模块,通过与数据库交互的方式实现报文的存储和查询。各模块功能实现方式如下:

5.3.1 报文显示模块

报文显示模块使用VS2010自带的serialport串口控件,代码采用委托方式,不间断地从串口读取报文数据,进行报文头部和尾部判断后,将整份报文显示在显示窗口中。同时写入数据库。

如果自动要报功能打开,每次读取一份报文后,会根据与上一份报文的流水号差值,调用要报模块自动发送要报报文。

报文中断告警通过timer方式实现,每隔一秒会将当前时间与上次收报时间取差值,大于规定时间则产生告警。

5.3.2 报文查询模块

报文查询模块通过select数据库查询指令,用DataGrid列表形式将按照时间、日期、航班号、报文端口等条件查询后的结果显示在窗口中。

5.3.3 要报模块

人工将所要报文的流水号填入,并选择端口和报文类型后,按照规定自动生成要报报文从所选端口发出。

5.4 维护模块和资料索引模块

维护和资料索引功能均使用程序调用的方式,维护模块是调用远程执行的命令行维护脚本,资料索引模块调用保存在本地路径下的文件并显示。

5.5 主界面设计

界面设计采用了扁平化、图形化的方式,用系统结构图的形式显示出了系统状态,任一节点、网络、报文端口告警,均会以醒目的红色显示在主界面上,并伴随告警音。

6 总结

自动化监控系统作为设备维护人员的得力助手,必须具有全面性、实时性、准确性以及稳定性。本系统以C#语言编写程序主体,以命令行脚本和shell脚本作为信息交互手段,以数据库作为存储工具。功能齐全,界面简洁大方,化繁为简,贯彻了至简的设计理念。 但由于笔者和开发组的同事开发经验有限,在程序的整合和优化方面还有很多不足之处。将在以后的系统使用过程中进一步完善。欢迎广大同行批评指正。

作者简介

吴宗键(1989-),陕西省商洛市人。大学本科学历。现为中国民用航空珠海进近管制中心助理工程师。主要研究方向为民航通信导航监视技术。

作者单位

中国民用航空珠海进近管制中心 广东省珠海市 519000

猜你喜欢
调用报文雷达
有雷达
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
核电项目物项调用管理的应用研究
浅析反驳类报文要点
雷达
LabWindows/CVI下基于ActiveX技术的Excel调用
基于系统调用的恶意软件检测技术研究
ATS与列车通信报文分析
基于空时二维随机辐射场的弹载雷达前视成像