船载统一载波测控系统基带实时可视化综合监视系统软件设计
2020-04-29石启亮曾俊康
石启亮,李 强,曾俊康
(中国卫星海上测控部,江苏 江阴 214431)
0 引言
航天测量船是我国航天测控网的重要组成部分[1],其主要承担目标飞行器的海上测控任务。综合测控基带设备[2]是船载统一载波测控系统的一个关键组成设备,它将卫星控制中心与测控系统的上/下行信道连接起来,是集遥测、遥控、测距、测速、数传等测控业务功能于一体的综合终端设备,并具有多体制测控功能,其运行可靠性关系到测控任务的成败。因此综合测控基带设备具有功能多、数据交互格式多、传输数据量大、传输频率高等特点,同时基带设备运行时还涉及到成百上千个设备工作参数读取、设置和上百个工作状态的监视,但是目前基带设备的数据和状态监视功能却十分匮乏,只采用单一的数值显示方式,不具备监视设备数据和状态的变化趋势的功能,已不符合数据分析和状态监视的需要。因此采用可视化综合监视方案,设计一套可视化综合监视系统软件,丰富基带数据分析和状态监视方法和手段,辅助岗位人员全方位了解综合测控基带设备的运行状态和测控业务数据传输状态并作出有效判断和决策,可以有效减少由于需要显示的数据和状态项较多,岗位人员在长时间工作的情况下无法有效监视设备状态的变化趋势且容易漏读漏判状态的情况,为圆满完成测控任务提供可靠保障。
1 可视化综合监视系统结构设计
在船载统一载波测控系统中,综合测控基带设备连接3个网络,分别是监控网、测控网、数传网,而遥测、遥控、测距、测速、数传等测控业务数据和基带设备监控信息数据均采用UDP协议,通过组播方式同时以1~20 Hz的不同频率传输到3个不同的网络中,因此不同类型数据具有不同的IP地址、端口号、组播地址。设计的基带实时可视化综合监视方案中主要由连接监控网、测控网、数传网3个网络的其中一台备份综合测控基带设备(非工作机)或者另配工控机作为监视计算机,用于3个测控网络中各类测控业务数据和设备监控信息的接收、处理及显示。系统结构如图1所示。
图1 可视化综合监视系统结构框图
基带实时可视化综合监视具备以下作用:
1)通过监控网获取基带设备上报给系统监控台的监控信息数据,用于基带设备接收信号状态可视化监视和工作参数状态核查。
2)通过测控网获取基带设备发送至测控中心的遥测、测距、测速、遥控返回数据等信息,伺服监控输出的方位、俯仰角误差等测角数据,脉雷测量设备输出的脉雷测量数据以及中心发送至测控系统的遥控指令、引导信息等数据,用于各类测控业务数据的可视化监视。
3)通过数传网获取基带设备发往测控中心的数传Q路数据、链监信息,用于数传Q路数据的可视化监视和链路通断情况的监视。
2 可视化综合监视软件设计
2.1 可视化综合监视软件功能设计
船载统一载波测控系统基带实时可视化综合监视系统软件主要由主窗口和基带网络数据监视、接收信号特性监视、测距测速变化监视、遥测数据处理监视、数传Q路数据监视、遥控状态处理监视、角误差特性监视、基带参数核查监视等8个功能模块组成。设计的各模块功能如下所述:
1)网络数据监视功能。对综合测控基带设备发送和接收到监控、测控、数传3个网络的数据进行监视、统计,并监视相应通道的数据。
2)接收信号特性监视功能。用于实时显示综合测控基带设备接收信号信噪比S/φ、AGC电压、多普勒频率变化曲线,采用二维曲线方式显示,并记录接收信号闪断特征点,对基带状态数据源码、解析换算后的信噪比S/φ、AGC电压、多普勒频率值等进行实时存盘。
3)测距测速变化监视功能。用于实现显示基带、脉雷设备测量数据、引导数据,采用图形显示、数值显示方式实时显示距离值、速度值、差值等,可以进行一阶差分计算并生成曲线,并记录测距、测速数据闪断特征点,其中测距、测速数据接收处理频率可根据数据传输频率进行设置。对接收到的各类测量数据源码、解析转换后的测量数据进行实时存盘。
4)遥测数据处理监视功能。用于实时监视基带遥测数据发送情况,具备全帧显示、挑路显示、曲线显示、柱状显示等方式。具备对基带输出的遥测数据进行实时、事后丢帧测试的功能。可以记录基带发送的遥测数据源码。
5)数传Q路数据监视功能。用于实时监视基带数传Q路数据及链监信息发送情况,具备全帧显示、挑路显示、曲线显示、柱状显示等方式。具备对基带输出的数传Q路数据进行实时、事后丢帧测试的功能。可以记录基带发送的数传Q路数据源码。
6)遥控状态处理监视功能。用于监视、统计综合测控基带设备遥控指令接收处理、执行及应答信息发送情况,采用列表方式显示各类信息。
7)角误差特性监视功能。用于监视伺服输出方位俯仰角度、AGC电压变化情况,采用二维曲线方式显示。对接收到的测角数据源码、解析转换后的测角数据进行实时存盘。
8)基带参数核查监视功能。用于监视综合测控基带设备上报至系统监控台的工作参数状态情况,核查参数加载是否正确。
2.2 可视化综合监视软件工作机制设计
基带实时可视化综合监视系统需采集的数据包括处理综合测控基带设备输入/输出的遥测、测距、测速、遥控、数传、监控等数据之外,还包括脉雷测量系统输出的测量数据、伺服监控输出的测角数据以及轨道理论引导数据等。这些数据以1~20 Hz不同频率分别在3个测控网上以组播形式传播,因此具有不同的IP地址、端口号和组播地址。软件接收到这些数据后,通过信息格式校验和解析,最终以曲线、数值、二进制源码、列表等形式进行可视化显示。为提高数据接收的可靠性、实时性,基带实时可视化综合监视软件设计为单进程多线程工作机制,采用MFC多线程编程处理这些并行发送数据,从而提升软件的运行效率。为保证数据接收的实时性,降低程序逻辑复杂度,总计设计了9个测量数据接收线程,其中将测控网的数据接收按数据类型分为7个线程,监控网、数传网各1个线程。软件多线程工作机制设计如图2所示,均采用全局函数AfxBeginThread()来创建并初始化一个线程的运行。
图2 多线程工作机制
2.3 可视化综合监视软件工作流程设计
基带实时可视化综合监视系统软件启动后,进行系统软件初始化,各功能模块从主窗口模块获取3个网络的配置参数,主要包括IP地址、组播地址、端口号等。以测距测速变化监视模块为例,设计的工作流程如图3所示,其他模块参考设计。测距测速变化监视工作流程主要实现过程如下:
1)在启动网络接收前,先进行时间格式、坐标轴参数、曲线类型等相关曲线显示参数的设置,然后可以同时启动界面刷新定时器和测量数据网络接收线程,即图2中线程1~4。设置定时器控制界面刷新周期为500 ms。
图3 测距测速变化监视工作流程
2)完成套接字创建并绑定IP地址、组播地址、端口号。使用socket()函数建立套接字,若成功创建套接字并绑定IP地址、端口号,将各类测量数据的组播地址加入组播后,并启动接收进入无限循环程序,使用recvfrom()函数处于等待状态,直到接收到指定套接字的组播消息,如果收到的消息长度大于0,按照数据源、数据标志码、信息类别等特征字进行分类和数据格式判断,并调用自定义测量数据解包类中的功能函数以规定的数据帧格式规范对数据进行解析处理,生成对应的时间(包括绝对时和相对时两种格式)、距离值、速度值,和接收帧计数、二进制源码等数据按规定的结构存储在缓存区,供数据显示函数调用。同时根据接收到的测量数据的前、后两帧中的帧计数进行丢帧判断,若同一类型测量数据前、后两帧帧计数差大于1,则判断出现丢帧,采用MFC消息机制中PostMessage()函数将消息放入消息队列,调用自定义消息响应函数将丢帧信息插入日志队列并显示。
考虑到测量数据接收解析和界面数据显示刷新具有不同的频率,因此采用共享缓冲区的设计实现同步通信,其中数据接收对缓存区只写,按接收顺序依次编号排列,而数据显示则对缓存区只读,软件根据数据接收帧计数将缓存区中的所有已收到的数据用于界面显示。
4)在定时器控制下,调用数据显示函数刷新界面中图形显示、数值显示、源码显示等控件。设计中增加了必要的限制条件,即收到数据帧计数大于1时才开始启动界面刷新,避免增加计算量和计算机资源消耗。
5)若启动存盘则根据接收到各类测量数据的数据标志码、数据类型、存盘时间创建各自的存盘文件,对每一类测量数据源码、解析后的测量数据分别进行存盘。
6)在停止网络接收后,按顺序解绑IP地址、端口号、组播地址,关闭套接字,结束数据接收线程。若需要对接收到的距离值、速度值进行质量分析,可以选择采用差分计算,则从数据缓冲区调用解析后的时间、距离值、速度值等信息后进行一阶差分计算,并在图形显示控件中显示,可以有效分析距离、速度变化情况,找出数据野值,从而确定整个飞行器跟踪弧段是否存在数据中断、跳变等异常情况。
2.4 软件实现
船载统一载波测控系统基带实时可视化综合监视系统软件在Windows XP系统平台上采用Visual C++ 6.0[3-7]编程环境进行开发,软件中图形绘制采用Steema Software公司开发的TeeChart8.0绘图控件[8-10],该控件支持多种操作系统,具有丰富的API编程接口,图形功能强大并且绘图效率极高,特别是在软件程序中制作曲线图、柱状图时使用方便,可控性强。
软件主要实现过程如下:在VC++6.0环境中创建工程BBEDataMonitorProject,建立基本对话框应用程序。在对话框主界面上添加一个Tab Control控件,增加8个属性页,每个属性页是用一个“窗体”(对话框)来实现。在工程对话框资源里面添加8个子对话框,分别对应8个功能模块,并为对话框建类,将Tab Control控件属性页与8个子对话框关联。基带实时可视化综合监视系统软件如图4所示,通过选择Tab Control控件标签来切换功能模块,当前显示的为测距测速变化监视模块界面。
图4 测距测速变化监视界面
测距测速变化监视模块以图形显示、数值显示、源码显示、列表显示等相结合的方式实现测距、测速的可视化监视。其以图形方式显示距离、速度曲线,以数值方式显示当前时间、距离、速度值,以源码显示方式显示当前测距、测速接收数据帧,以列表方式记录数据接收、丢帧等情况。因此测距测速变化监视模块界面设计中主要使用了TeeChart控件、MSFlexGrid控件、ListCtrl控件、Edit控件、Button控件以及一些单选、多选控件等。其中两个TeeChart控件用于多种测控体制和数据源的测距、测速数据的实时曲线的显示,在安装注册TeeChart控件后,通过插入ActiveX控件的方式将TeeChart控件增加到对话框界面中;1个MSFlexGrid控件用于实时显示当前时间、距离、速度值,以及测控系统测量数据与脉雷测量系统测量数据、引导数据之间的差值,以表格化的形式展现;3个Edit控件分别用于显示测距、测速、脉雷数据源码,通过单选控件来选择切换显示的源码;8个Button控件分别对应坐标轴设置、显示参数设置、网收开始/停止、日志存盘、绘图重置、保存图片、差分计算功能按钮;另外两个ListCtrl控件分别用于测距、测速日志记录。
2.5 软件应用
将船载统一载波测控系统基带实时可视化综合监视系统软件部署在一套备份综合测控基带设备上,同时启动6路测距、6路测速、1路脉雷测量数据、8路遥测、1路数传、1路遥控、1路引导总计24路数据进行测试,数据发送均采用UDP协议以组播形式进行,具有1~20 Hz的不同发送频率。测试结果充分验证了可视化综合监视软件能正确接收所有测控数据,各功能模块能清晰显示各类数据接收及变化情况,且日志记录完整。对各功能模块界面进行切换测试,完成时间小于2 s。软件分别运行10 min、20 min、30 min后的运行效率测试结果见表1。从测试结果可知,在软件运行30分钟后,CPU占用最大为15%,内存占用<100 MB(综合测控基带工控机硬件平台CPU采用Intel Core2 i7双核四线程3.2 GHz、运行内存4GB),远小于软件设计要求中CPU占用≤30%,内存占用≤20%的要求。
表1 软件运行效率测试结果
3 结束语
通过采用可视化综合监视方案,设计了一套统一载波测控系统基带实时可视化综合监视系统软件,实现了对综合测控基带接收和发送的各类数据、状态的可视化监视。通过优化可视化综合监视系统软件架构和工作机制、流程,提升了软件的实时性、可靠性。软件功能丰富、可视化程度高,具有良好的交互性。通过应用该可视化监视方案和软件,可以实时监视基带设备各类数据的收发状态、变化趋势和异常实时诊断情况,有效避免数据、状态监视中存在的漏读、漏判的情况,提升岗位人员工作效率、设备可靠性。