(1.公安部第一研究所,北京 100048; 2.北京航天测控技术有限公司,北京 100041;3.北京市高速交通工具智能诊断与健康管理重点实验室,北京 100041;4.轨道交通装备全寿命周期状态监测与智能管理技术与应用北京市工程实验室,北京 100041)
试验是复杂装备研制过程中的重要环节,试验时产生的数据对复杂装备的验证、后续型号的设计研发有重要的意义[1]。为满足某装备领域试验场的数据采集需求,本文设计了一套试验场综合数据采集系统。该系统可以满足外场试验过程中,参试复杂装备的试验数据的采集、存储及传输的需求。
试验场在对复杂装备进行数据采集时,涉及到的总线种类繁多,各总线在数据协议及数据传输格式上很大差异。试验场往往采用针对单一复杂装备的专用的测试系统,针对被测对象的特点,开发数据采集及数据分析处理为一体的试验测试系统。这导致了试验场在升级改造过程中出现重复建设的问题。同时,种类繁多的测试系统也给操作人员带来了负担,在试验前测试人员需要完成多个测试系统的调试及连接准备工作,增加了非试验环节的工作量,无形中导致了试验资源的巨大浪费。因此,将试验过程中的数据采集与数据分析分开,建设综合数据采集系统,只进行数据采集工作,减少各类试验系统在数据采集过程上的重复建设[2-3]。
试验场中的参试设备型号众多,可能涉及到多种总线,本系统可采集的数据包括429总线数据、1553B总线数据、FC总线数据、AFDX总线数据、CAN总线数据、串口数据,以及光学设备捕获的模拟视频数据、数字视频数据[4]。系统具有较高的通用性,可满足多种复杂装备的数据采集需求,减少数据采集系统的重复建设;同时该通用系统操作简捷易于使用,减轻试验人员操作负担,提高试验效率。
本文首先阐述了试验场综合数据采集系统的工作原理及整体结构,然后重点叙述了系统软件的设计和实现方法。
试验场综合数据采集系统由多台移动式数据采集设备和监控计算机组成[5]。试验场划分为多个采集区,采集区内被测装备的数据由移动式数据采集设备完成采集。每个采集区中心设置一个控制机房,在采集区分布多个采集结点,以标准RJ45网线将采集区各个结点接入控制机房,而移动式采集设备通过标准RJ45网口与各个采集结点相连,使移动式数据采集设备与控制机房内的监控计算机建立起数据传输通路。
移动式数据采集设备部署数据综合采集系统软件,通过采集设备上的总线板卡、视频采集卡获取数据,实现总线数据与视频数据的采集、存储与网络发送。
控制机房内的监控计算机部署采集监控软件,可根据试验需求,通过网络从移动数据采集设备获取相关试验数据,监控试验过程的进行。
系统拓扑结构如图1所示。
图1 试验场综合数据采集系统拓扑图
其中,移动式数据采集设备为工控机,工控机内部主板的PCI接口上,可安装429总线板卡、1553B总线板卡、FC总线板卡、AFDX总线板卡、CAN总线板卡、422串口板卡。模拟视频采集卡、数字视频采集卡通过PCI-E接口安装在移动式数据采集设备的主板上。
试验场综合数据采集系统包括了数据采集软件和采集监控软件,其中数据采集软件安装在移动式数据采集设备上,而采集监控软件安装在控制机房的监控计算机上,两个软件通过以太网进行通信。软件的功能组成如图2所示。
图2 试验场综合数据采集系统拓扑图
数据采集软件的主要模块有仪器管理模块、任务管理模块、采集控制模、总线数据采集模块、数据存储模块、视频数据采集模块、系统管理模块。
仪器管理模块包括仪器自动检测子模块和仪器配置子模块。数据采集软件部署在多台移动式数据采集设备上,采集设备可根据需要安装不同的数据采集仪器,仪器自动检测子模块可以对采集设备上的已安装硬件进行扫描,自动检测目标仪器是否已安装到位,软件只对已安装的仪器进行设置。仪器配置子模块实现对已安装的总线板卡、视频采集卡进行配置,配置好的数据保存在配置文件中。通常情况下,用户只需在首次使用该采集设备上的仪器进行配置,后续试验时,软件可通加载配置文件自动完成相关配置。
任务管理模块包括任务基本信息管理和任务仪器配置两个子模块。用户可以通过该模块实现对任务基本信息的管理,包括任务名称、任务时间、试验人员等方面的信息。选择该次任务所需的仪器,设备中已安装而未选用的仪器将不会在采集过程中启动,避免与该次任务无关的仪器占用系统资源。
采集控制模块实现了采集过程的控制,用户通过该模块启动、关闭设备采集功能,控制数据存储时机,选择存储方式。该模块负责主程序界面的绘制、网络通信接口的建立,在软件运行过程中,根据用户设定的通道及总线数据格式采集数据。同时该模块负责接收并执行网络指令。
总线数据采集模块是数据采集软件的核心模块,该模块通过总线仪器的程序接口实现了设备上总线仪器的操作,包括仪器初始化、仪器配置、仪器数据采集、仪器关闭等操作。该模块包括429总线数据采集子模块、1553B总线数据采集子模块、FC总线数据采集子模块、CAN总线数据采集子模块、AFDX总线数据采集子模块、422串口数据采集子模块以及时统控制子模块[6-9]。该模块可以获取到总线数据,以及当前数据的时标,此模块获取的数据均保存在内存中。
数据存储模块将内存中带有时标的总线数据持久化地存储,根据需要可以直接将数据存储到本地数据库中,也可以将一次试验任务的数据保存到数据文件中,便于数据的后续处理。
视频数据采集模块实现对模拟视频和数字视频的采集、保存、显示、图像压缩和网络发送,包括视频数据获取、视频显示、视频数据压缩、视频数据发送、视频文件存储5个子模块。该模块通过模拟视频采集卡、数字视频采集卡获取视频数据,并将视频实时显示在软件界面中。在获取数据的同时会开启新的线程将当前一帧图像数据进行压缩,通过网络发送到采集监控软件。采集到的视频数据会保存在移动式数据采集设备的硬盘里,用于后续的试验分析,采集模块功能结构如图3所示。
图3 总线数据采集模块功能结构
系统管理模块包括用户管理、网络管理、日志管理和数据管理等子模块。用户管理实现对软件使用者的管理,通过对用户名与密码的校验,保证只有合法用户才能使用软件。网络管理实现对采集软件与监控软件之间网络通信的配置。数据管理实现对总线数据文件、视频文件存储位置等参数的配置,监测硬盘空间的大小,根据用户要求清理指定日期范围内的总线数据和视频文件。
采集监控软件的主要模块有视频监控模块、远程控制模块、系统管理模块,如图4所示。
图4 产品视频采集模块功能结构
视频监控模块包括视频数据解压子模块、视频显示子模块、视频文件获取子模块。数据采集软件所采集到的视频数据,需经过有损压缩后再发送到采集监控软件,以保证视频在控制机房监控计算机上实时显示,采集任务结束后,再将完整的视频文件传输到控制机房PC机上。视频数据解压子模块,与数据采集软件建立网络连接,获取压缩后的视频数据,对该数据进行解压缩操作,获得图像数据。视频显示子模块负责将连续的单帧图像数据绘制在界面上的图像显示控件中,实现视频显示功能。在一次采集任务结束时,视频文件获取子模块负责建立视频文件传输连接,通过FTP协议获取本次采集任务产生的视频文件,并将视频文件传输到本机硬盘中。
远程控制模块包括指令发送子模块、控制状态显示子模块。操作人员可以通过采集监控软件对移动式采集设备上的数据采集软件进行远程控制,开启或停止数据采集软件的视频数据发送功能。
与数据采集软件类似,采集监控软件的系统管理模块包括用户管理、网络管理、日志管理和数据管理等子模块,实现对软件使用者的管理,网络通信的配置以及对总线数据文件、视频文件存储的管理。
在采集开始前,首先是对软件进行各项配置。然后管理各个采集板卡进行采集。采集的过程中相关的数据可以保存到数据库中,也可以以数据文件的形式保存到硬盘上。
软件的基本工作流程如图5所示。
图5 试验场综合数据采集系统的工作流程图
数据采集软件在开始运行时完成各种参数和配置文件的加载,以保证软件能够正常运行。
数据采集软件的空闲状态下等待用户的命令。在这种状态下,所有的数据均为静态数据,用户必须完成被试装备和移动式数据采集设备间的物理连接、加电和状态自检。在所有相关操作完成后,软件进入试验数据采集前的就绪状态。
数据采集启动后,数据采集软件实现总线数据与视频数据的采集、存储、显示,在接收到采集监控软件发送的网络指令后,通过网络将视频数据发往采集监控软件。
采集过程中,如果执行存储数据操作,总线数据将保存到数据库或者数据文件中,视频文件保存在硬盘上,方便事后进行系统分析。采集监控软件通过网络接收到数据采集软件的数据后实时显示视频数据,试验结束时,将本次试验采集到的视频文件通过FTP协议完整地下载到监控计算机上。
采集结束后,软件执行文件关闭、网络断开、设备句柄关闭等检查工作。如果某些状态异常,则给用户信息提示并记录到日志中。
试验场目标视频是指挥决策的重要判断依据[10-11]。为保证试验监控效果,数据采集软件与采集监控软件的视频图像需要同步显示。由于数据采集软件安装在移动式数据采集设备上,而采集监控软件安装在控制机房的监控计算机上,两个软件通过以太网进行通信,所以数据采集软件获取到的视频图像需要通过网络实时传送到控制机房的控制计算机上。
因此在数据采集软件的视频采集线程中执行数据的发送任务,每次采集到一帧数据即进行处理、发送。在网络发送前对视频数据进行压缩处理,8路视频同时采集时,压缩传输后所需带宽低于50 MB/s,避免视频数据量过大导致网络拥堵问题。
视频数据帧的压缩及解压需要消耗时间的太大,如果采用无损压缩算法,由于花费时间过长,将导致视频显示卡顿。为保证视频采集、及播放的流畅性,综合视频画面质量、压缩率、执行效率等方面的考虑,采用JPEG有损压缩算法对单帧数据进行压缩,解压后的图像失真较小,而且使每帧视频处理时间低于26 ms,满足画面的显示间隔不超过40 ms的要求。当采集任务结束时,通过FTP协议将完整的视频文件再传输到监控计算机的硬盘上。
以XML格式的配置文件实现指令格式的配置。数据采集软件在接收到指令后,首先进行帧头、帧尾及长度检查,然后计算校验和,与指令配置文件中的格式进行比对,如果不符合通信协议规定格式,则对该条指令不进行处理,同时将该指令记录到错误日志中。
主要的线程包括界面主线程、网络指令处理线程、总线数据采集线程、模拟视频采集线程、数字视频采集线程,主线程只负责界面工作,避免软件运行过程中出现用户操作无法响应的问题。
试验场中有多台移动式数据采集设备,每台设备可根据试验采集对象的不同安装所需板卡。针对这种情况,数据采集软件设计有仪器自动检测功能,通过扫描操作系统的硬件列表,获取到设备中已安装的仪器,针对已安装的仪器进行后续操作。该设计减少了用户配置仪器的工作量,也避免了用户对未安装的仪器进行操作而导致的错误。
系统中所用到的总线板卡仪器出自不同的生产厂商,其提供的API接口也各不相同,为提高系统可扩展性和软件的易维护性,便于扩展不同厂商的板卡,将总线板卡操作过程抽象出共同的操作步骤,包括板卡初始化, 板卡配置,板卡启动,开始采集数据,结束采集数据,据此设计出总线仪器通用接口类,将板卡API进一步地封装,当添加新的仪器时,可以减少软件主体代码的改动。
本文提出的系统设计方法已经用于某实验过程中目标区视频图像和数字信息的高精度实时采集,并完成实验全景的录像。系统的目标是:满足实现外场试验过程中,参试复杂装备的实验数据的采集与上传的需求。实验数据包括多种总线数据(422串口、429总线、1553B总线、FC总线、AFDX总线、CAN总线)、模拟视频数据、数字视频数据等几类。采集端系统配置界面和任务配置界面分别如图6和图7所示。
图6 采集端系统配置界面
图7 任务配置界面
数据综合采集系统软件包含两个软件:数据采集软件和数据浏览软件,相关联的软件为指控中心软件。本系统软件部署在移动采集设备以及控制机房PC机,分别部署有试验数据库。
数据综合采集系统软件根据采集区的硬件配置不同,采集所有相关的总线和视频数据,保存到移动数据库中,同时通过网络发布给指控中心。试验过程中,数据浏览软件通过网络实时获取总线和视频数据,实时显示视频数据,并将其存入本地数据库中。
在实际试验过程中,该系统可以高效地完成多种总线数据及视频数据的采集任务。针对某航空光电设备的数据采集,单台采集设备即可满足被测对象3种数据的采集需求,减少试验仪器的数量,将试验前后试验环境的准备时间缩短了一半,提高了试验效率。采集端视频显示界面如图8所示。
图8 采集端视频显示界面
本文设计的试验场综合数据采集系统由移动式数据采集设备、监控计算机组成,适用于多种航空总线数据及视频数据的采集。数据采集软件运行在移动式数据采集设备上,控制采集设备上的总线板卡与视频采集卡,实现总线数据与视频数据的采集、存储与网络发送。采集监控软件运行在控制机房的监控计算机上,通过网络获取采集设备所采集到的视频数据,并实时显示,便于机房内的试验人员对试验过程进行监控。该系统的设计思路是将试验过程中的数据采集与数据分析分开,只进行数据采集工作,获取到的试验数据可以提供给不同的试验数据处理与分析系统,减少各类试验系统在数据采集过程上的重复开发。