Aerotrac自动化系统监控程序的开发-精选文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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。

相关文档
最新文档