数据采集与分析系统需求分析和总体设计
数据采集与分析系统是 PXI 测试系统的上位机软件子系统,在系统中有着重
要的作用。本章将首先简要介绍 PXI 测试系统,分析其整体结构与功能,说明数
据分析系统与 PXI 测试系统的关系;然后将分析数据采集与分析系统的功能和非
功能需求;最后介绍系统的总体架构、功能结构和数据结构设计。
2.1 PXI 测试系统简介
PXI 测试系统是某武器控制系统的自动测试设备,其功能是完成被测武器控
制系统的模拟量、开关量、 SDC 数据、 1553B 总线数据、 RS422 串口数据和网络
通信数据这六种接口数据的采集与分析工作,并以图形化的软件界面为用户提供
控制输入接口,同时显示测试结果,以实现对被测系统的自动测试和监控。 PXI
测试系统主要由信号调理设备、数据采集设备和数据分析设备三部分组成,其硬
件组成结构如图 2–1 所示。
其中信号调理设备主要对由被测武器控制系统输出的待测接口信号进行调
理、变压或隔离等操作;数据采集设备主要包括各接口数据采集板卡和数据采集
计算机,各接口数据采集板卡实现对相应接口数据的采集工作,而数据采集计算
机完成数据采集板卡的控制、存储采集的各接口数据以及显示采集状态信息,并
通过网络将数据传输给数据分析设备;数据分析设备由数据分析计算机和打印机
组成,其中数据分析计算机完成对接收到的各接口数据的详细事后分析和显示操
作,并通过打印机输出数据分析结果。
PXI 测试系统中数据采集计算机和数据分析计算机是整个系统的控制和数据
处理中心,其上运行系统中的用户软件。系统软件结构如图 2–2 所示。
在数据采集计算机中,包含了六种采集板卡的驱动程序和数据采集软件,其
中采集板卡驱动程序为数据采集软件对各采集板卡的控制提供了相应的接口函
数,数据采集软件需要为用户提供了数据采集操作指令的输入接口,实现对数据
采集板卡的控制,完成数据采集与存储工作,同时对采集的数据进行简单分析,
在软件界面中显示用户所需信息。
数据分析计算机上运行的是数据分析软件,该软件对采集的各接口数据进行
深入的分析处理,并以图表或曲线的方式将分析结果显示在软件界面中,同时提
供数据查询、排序、比较等用户接口,便于用户对数据进行进一步分析操作。
2.2 数据采集与分析系统功能需求分析
本文研究的是 PXI 测试系统中数据采集与分析系统,可分为数据采集与数据
分析两个子系统,分别完成被测系统接口数据的采集和分析两大功能,下面对这
两个子系统的功能需求进行详细分析。
2.2.1 数据采集子系统功能需求
数据采集子系统的主要功能需求有:采集参数设置、数据采集与数据发送功
能,各功能的详细要求如下。
(1)采集参数设置功能
采集参数设置功能为用户提供设置数据采集设备工作模式和相关显示参数的
操作接口,以满足 PXI 测试系统不同的测试需求,其用例图如图 2–3 所示。
其中设置参数功能主要完成模拟量、开关量、 SDC 、 RS422 和网络这五种接
口数据相关采集和软件显示参数的设置,具体的待设置如模拟量采样通道、模拟
量显示通道、模拟量采样频率、开关量采样频率、 SDC 采样频率、 RS422 串口监
控通道和 RS422 通信波特率等,通过设置参数控制数据采集设备工作在不同模式
下。保存参数和导入参数功能用于方便用户保存当前参数以及将参数文件信息导
入参数设置界面。
(2)数据采集功能
数据采集功能用于实现控制各采集板卡获取接口数据、存储数据以及显示数
据,主要包括模拟量采集、开关量采集、 SDC 数据采集、 1553B 数据采集、
RS422 数据采集和网络数据采集,其用例图如图 2–4 所示。
六种接口数据采集功能的具体需求分析如下:
1 )模拟量采集:需要控制模拟量采集板卡获取被测系统的 32 通道模拟量数
据,并能将数据存储在数据采集计算机中,要求采集通道和采样率可调,采样率
范围为 0~10Ksps ;在采集的同时需要在软件界面中显示各通道电压值和波形。
2 )开关量采集:需要控制开关量采集板卡获取被测系统的 64 通道开关量数
据,并能将数据存储在采集计算机中,要求采样率在范围为 0~1Ksps 范围内可
调;在采集的同时需要显示各通道的电平状态和波形。
3 ) SDC 采集:需要控制 SDC 数据采集板卡获取被测系统的 3 通道旋转角度
数据,并能将数据存储在采集计算机中,要求采样率在 0~1Ksps 可调;在采集的
同时需要实时显示 3 路角度值。
4 ) 1553B 数据采集:需要控制 1553B 通信板卡处于监控模式,实时监听并
采集被测系统 1553B 总线上的通信数据,并能将数据存储在采集计算机中;在采
集的同时需实时显示采集的 1553B 数据帧数、状态字、命令字和数据字等。
5 ) RS422 串口数据采集:需要控制 RS422 串口通信卡监控被测系统中 4 路
全双工串口的通信数据,要求波特率在 0~1Mbps 范围内可调,并能将数据存储在
采集计算机中;在采集的同时需要实时显示采集的 RS422 数据帧数和数据内容。
6 )网络数据采集:需要控制网卡监控被测系统中 2 路以太网的双向通信数
据,并能将数据存储在采集计算机中;在采集的同时需要实时显示网络数据总量
和通信地址、数据内容等。
(3)数据发送功能
数据发送功能用于将采集到的接口数据从数据采集计算机发送给数据分析计
算机,数据的传输将通过网络实现,要求数据发送前用户能设置远程计算机的互
联网协议( Internet Protocol, IP )地址。
2.2.2 数据分析子系统功能需求
数据分析子系统的功能主要包括:数据接收、数据分析、分析结果打印,各
功能的需求分析如下。
(1)数据接收功能
该功能用于接收数据采集计算机发送过来的接口数据,并保存在数据分析计
算机,为后续分析提供数据源。
(2)数据分析功能
数据分析功能需要根据用户指令对接收到的数据进行解析和处理,并将数据
分析结果以直观、合理的方式显示在软件界面中,供用户观察。数据分析功能的
用例图如图 2–5 所示。
数据分析功能具体包括以下六大功能需求:
1 )模拟量分析:利用表格和波形两种方式对模拟量数据进行分析,其中表
格分析需要将模拟量通道号、采集时间和模拟量数值显示在表格中,并提供数据
查询、排序、过滤等功能;波形分析功能需要将各通道的模拟量数据与采集时间
的曲线显示在软件界面中,同时为用户提供波形移动、缩放、回放、对比分析、
细节分析等操作方式。
2 )开关量分析:需要以表格和波形两种方式对开关量数据进行分析,具体
功能需求与模拟量分析功能类似。
3 ) SDC 数据分析:需要以表格和波形两种方式分析 3 通道的 SDC 角度数
据,具体功能需求与模拟量分析功能类似。
4 ) 1553B 数据分析:用于分析 1553B 数据通信内容,以表格的形式显示监
控到的每帧 1553B 数据的采集时间、命令字、状态字和数据字,并显示状态字和
块状态字的具体信息。
5 ) RS422 数据分析:以表格的形式显示采集的每一帧 RS422 通信数据内
容,包括采集时间、收发方向、通道号和数据字等。
6 )网路数据分析:用于对捕获的以太网数据帧进行解析,以表格的形式显
示每帧网络数据的采集时间、网络协议、物理地址( Media Access Control,
MAC )地址、 IP 地址、端口号和数据字等内容 [36] 。
(3)分析结果打印功能
分析结果打印功能用于在数据分析子系统完成数据分析和显示工作后,将软
件界面的显示结果中的全部或用户感兴趣的部分区域通过打印机打印出来,以方
便用户观察和保存测试结果。
2.3 数据采集与分析系统非功能需求分析
数据采集与分析系统除了需满足上述功能性需求之外,还需要从以下三个方
面考虑其非功能需求。
(1)通用化需求
根据自动测试系统的通用性准则,要求本软件系统采用模块化、标准化的结
构设计,要有优良的继承性,设计和实现过程中采用规范化的管理和编程,以便
于进行系统维护和升级操作。
(2)实用性需求
由于该系统主要面向武器系统测试过程中的操作人员,因此要求数据采集与
分析系统软件界面简洁友好,提示信息丰富,各种功能操作不能太过繁琐,避免
使用复杂的操作设计,尽可能降低系统操作的复杂度,不需要操作者对测试系统
或相关学科知识具有深入的了解,通过简单的学习即可正确、流畅的操作软件,
以提高工作效率。
(3)可靠性需求
首先本系统要具有良好的精确性,能准确无误执行系统的各项功能需求,并
达到相应的指标;而且要求系统能连续、稳定的工作 8 小时以上,不能出现故障
或者卡顿现象;最后系统要有一定的容错能力,在用户进行非常规操作或者输入
错误指令时弹出提示对话框,且保证系统仍然能够稳定运行。
2.4 数据采集与分析系统总体设计
2.4.1 系统架构设计
数据采集与分析系统架构如图 2–6 所示,本次设计采用三层体系结构 [37] ,系
统主要分为表示层、应用逻辑层和数据存储层,每层的详细说明如下:
(1)表示层:图形用户界面部分,主要完成数据采集指令和数据分析指令
接收以及显示和输出操作,其中数据采集子系统实时显示采集的数据,数据分析
子系统实现数据分析结果的显示和打印输出。
(2)应用逻辑层:完成具体的数据采集与数据分析工作,数据采集包括设
备初始化、采集参数设置、数据采集和数据发送,数据分析操作包括数据接收、
数据分析处理和分析结果打印。该层为系统的主体部分,介于表示层与数据存储
层之间,接收表示层的指令并对其做出响应,为表示层提供显示数据,同时实现
数据存储层的数据读写访问等操作。
(3)数据存储层:存储采集计算机采集到的接口数据和数据分析计算机中
进行分析处理相关的接口数据,包含数据库存储和文本文件存储两种方式。
2.4.2 功能结构设计
根据前文对数据采集与分析系统的功能需求分析,可将系统分为数据采集子
系统和数据分析子系统,其详细功能结构如图 2–7 所示。
数据采集子系统的功能模块主要包括采集参数设置、数据采集和数据发送三
个部分。其中采集参数设置功能完成各接口数据采集参数的设置工作;数据采集
功能包括模拟量、开关量、 SDC 数据、 1553B 总线数据、 RS422 串口通信数据和
网络通信六种数据的采集功能;而数据发送功能则实现将采集到的接口数据发送
给数据分析计算机。
数据分析子系统主要包括数据接收模块、数据分析模块和结果打印模块。其
主要任务是接收数据采集计算机采集得到的接口数据,并提供人机交互接口,允
许用户对各接口数据进行分析处理,并在软件界面中以波形、表格等形式直观显
示数据分析结果,此外还完成打印输出数据分析结果的功能。
2.4.3 数据结构设计
系统中数据存储层主要实现模拟量、开关量、 SDC 数据、 1553B 数据 、
RS422 数据和网络数据六种不同的接口数据的存储,各接口数据对应的存储方式
和文件命名格式如表 2–1 所示,其中所有接口数据均有文本文件存储方式的需
求, 1553B 数据、 RS422 数据和网络数据另外有数据库存储的需求,数据采集完
成后系统将所有接口数据汇总到一个文件 xxxx.dat ( xxxx 表示文件名由用户指
定),该文件除了包含六种接口数据外,其文件头中还含有采集时间、数据总量
等信息,以方便后续的文件传输与数据分析操作。
在数据汇总文件中,本系统定义了其文件头结构体 FILE_HEAD 如下,该结
构体中包含了一些数据分析操作必须的信息,如开始采集时间、采集参数、时标
信息、各接口数据存盘文件大小与地址信息等。
typedef struct
{
char file_sym[4];
// 固定字符串 “HKXT”
char start_data[14];
// 开始采集时间 YYYYMMDDHHMMSS
char start_save_data[14];
// 开始存盘时间 YYYYMMDDHHMMSS
char stop_data[14];
// 终止采集时间 YYYYMMDDHHMMSS
unsigned int duration;
// 采集时间 ms
PARAMETER f_para;
// 采集参数
long int Key1MilliSeconds[10],Key2MilliSeconds[10],
Key3MilliSeconds[10],Key4MilliSeconds[10]; //QWET 时标时间
unsigned short Key1ClickTimes,Key2ClickTimes,
Key3ClickTimes,Key4ClickTimes; // 特征时标的个数
long long file_size_ad;
//AD 文件大小
long long file_size_di;
//DI 文件大小
long long file_size_sdc;
//SDC 文件大小
long long file_size_1553b_mdb; //1553B 数据库大小
long long file_size_1553b_dat;
//1553B 文本大小
long long file_size_422_mdb;
//422 数据库大小
long long file_size_422_dat;
//422 文本文件大小
long long file_size_lan_mdb;
//LAN 数据库文件大小
long long file_size_lan_dat;
//LAN 文本文件大小
long long addr_ad_file;
//AD 文件起始地址
long long addr_di_file;
//DI 文件起始地址
long long addr_sdc_file;
//SDC 文件起始地址
long long addr_1553b_mdb;
//1553B 数据库起始地址
long long addr_1553b_dat;
//1553B 文本起始地址
long long addr_422_mdb;
//422 数据库文件起始地址
long long addr_422_dat;
//422 文本文件起始地址
long long addr_lan_mdb;
//LAN 数据库文件起始地址
long long addr_lan_dat;
//LAN 文本文件起始地址
}FILE_HEAD;
表 2–2 给出了模拟量、开关量和 SDC 数据每次采样得到的数据格式,对于模
拟量数据,单次采样得到 32 通道的电压值,精确到小数点后两位,每个通道模
拟量均用一个 float 型数据表示;对于开关量数据,单次采样得到 64 通道电平的
高低状态,每一通道用 1bit 信息表示,因此 64 个通道总共需要 8 个 unsigned char
型数据表示;而对于 SDC 数据,单次采样得到 3 通道旋转角度数据,精确到小数
点后两位,每个通道均用一个 float 型数据表示。
对于 1553B 、 RS422 和网络通信总线,这三种总线协议中通信均采用数据帧
的格式进行数据传输,其单帧数据结构复杂,信息丰富。为了用户在数据采集过
程中能实时观察这三种数据总线的通信状态,在数据采集过程中需要对数据进行
初步的解析操作,获取每一帧数据的具体内容并显示在软件中。为了方便对
1553B 、 RS422 和网络数据进行管理和显示操作,本系统将解析后的三种数据存
入对应数据库中。表 2–3 、表 2–4 和表 2–5 分别给出了 1553B 数据、网络数据和
RS422 数据的数据库表设计。
2.4.4 系统流程设计
基于数据采集与分析系统的需求与功能,下面将针对数据采集与数据分析两
个子系统,设计软件的总体流程。
数据采集子系统主要完成采集参数设置、数据采集和数据发送功能,软件的
流程如图 2-8 所示,详细说明如下:
( 1 )数据采集软件启动后,首先打开各数据采集板卡并进行初始化操作,
如果板卡初始化操作失败,显示错误信息以提醒用户,说明软件对数据采集板卡
访问存在问题(如系统硬件故障或驱动安装错误等),软件将无法开始后续的数
据采集操作。用户解决问题后,重新启动软件进行初始化操作,直至所有板卡成
功打开并完成初始化操作。
(
2 )数据采集设备初始化成功后,软件将显示设备处于初始状态,即未设
置采集参数,此时如果软件检测到参数设置指令,将弹出参数设置界面进行参数
设置,如果参数设置成功,则等待用户开始数据采集的指令;如果参数设置失
败,软件显示错误信息,等待用户重新设置参数或放弃设置参数。如果用户放弃
参数设置,软件将默认数据采集设备以初始状态进行采集操作。
(
3 )软件接收到用户开始采集的指令后,软件执行数据获取与显示操作,
控制数据各数据采集板卡对相应接口数据进行读取,并将读取的接口数据按一定
格式实时显示在界面中,供用户观察。
(
4 )数据获取成功后,需要根据数据存盘标志来判断是否进行数据存储操
作。在数据采集开始后,软件如果检测到开始存盘指令,将存盘标志设为有效,
否则数据存盘标志无效。数据存盘标志有效时需要在获取和显示接口数据的同
时,执行数据存储操作,将采集到的接口数据按文本文件或数据库文件的形式进
行存储,直至用户发出停止采集指令。
(
5 )如果用户发出停止采集指令,软件停止数据采集工作,具体包括停止
数据获取,保持最新数据显示,如果执行了数据存储操作则将剩余数据写入存储
文件后停止存储操作,关闭存储文件。
对于数据分析子系统,其主要实现对采集到的六种接口数据进行详细的分析
与处理,以表格、波形等方式直观的展现数据分析结果,主要包括数据接收、数
据分析和分析结果打印三大功能模块。
更详细的,信迈提供PXI国产化软硬件一体化方案。