一种发动机地面试验测试参数远程同步接收方法

文档序号:1963749 发布日期:2021-12-14 浏览:16次 >En<

阅读说明:本技术 一种发动机地面试验测试参数远程同步接收方法 (Remote synchronous receiving method for engine ground test parameters ) 是由 王世辉 李铁 邹宇 丁凡 王欢欢 韩晓颖 张丹静 于 2021-08-02 设计创作,主要内容包括:本发明涉及一种发动机地面试验测试参数远程同步接收方法。包括1)参数设置,包括软件设置和采集端、接收端IP设置;2)解析xml配置文件,配置NATS信息,将用到的采集通道的属性信息和路数放在xml配置文件中;3)接收UDP包,分析抓包的数据得到采集软件发送UDP数据包的报文协议;4)解析采集数据,解析采样路数及每路采样对应的eUUnits值;5)封装数据并上传,将解析出的数据以及xml配置文件中的信息封装并发布到中间件服务器上;6)远程接收数据,将接收到的数据流转化为Sample data数据类型并发送到远程接收服务器上。本发明第一时间得到试验测试数据,为缩短发动机研制周期奠定基础。(The invention relates to a remote synchronous receiving method for testing parameters of an engine ground test. The method comprises the steps of 1) parameter setting, including software setting and IP setting of a collection end and a receiving end; 2) analyzing an xml configuration file, configuring NATS information, and placing the attribute information and the number of paths of the used acquisition channel in the xml configuration file; 3) receiving a UDP packet, analyzing the data of the packet capturing to obtain a message protocol of sending the UDP data packet by the acquisition software; 4) analyzing the collected data, analyzing the number of sampling paths and the eUUnnits value corresponding to each path of sampling; 5) packaging and uploading the data, and packaging and issuing the analyzed data and the information in the xml configuration file to a middleware server; 6) and receiving data remotely, converting the received data stream into a Sample data type and transmitting the Sample data type to a remote receiving server. The invention obtains test data in the first time and lays a foundation for shortening the development period of the engine.)

一种发动机地面试验测试参数远程同步接收方法

技术领域

本发明涉及试验测试领域,具体涉及一种发动机地面试验测试参数远程同步接收方法。

背景技术

固体火箭发动机地面试验是发动机研制流程中必不可少的试验项目,是检验发动机设计参数是否符合总体要求参数、发动机内部各结构是否稳定的唯一试验项目。在导弹武器研制周期紧张、竞争激烈的环境下,发动机地面试验尤其会受到武器型号总体、发动机设计人员,甚至军方代表等的关注。为了第一时间得到发动机地面试验的测试结果,各方代表一般都会从远方专程聚集到试验现场来参观试验,但是整个地面试验一般仅持续几十秒的时间。另一方面,发动机地面试验参数测试设备为太平洋6000,经过与设备厂家沟通,采集软件内部带有数据分发功能,可以进行进一步分析,实现测试数据远程同步接收。

分布式数据库采用的数据同步方法和同步中间件,一些ISV也开发出大量具有异构数据库同步功能的软件和产品,获得市场的普遍认同。

现有的数据同步方法都是单独使用,将现有的数据进行远程同步传输,而我们需要的是与现有的太平洋6000测试软件联合使用,将其实时采集到的数据进行远程同步接收。

本发明针对目前存在的问题及需要与现有的太平洋6000测试软件联合使用,将其实时采集到的数据进行远程同步接收的需求,通过分析对比WireShark抓取的UDP数据包,解析出参数配置文件,从而将采集到的数据进行重新封装后远程同步发送,实现测试数据远程同步接收,使相关人员第一时间接收到发动机地面试验数据,并进行分析,有效缩短发动机研制周期。

发明内容

本发明要解决的技术问题

本发明提供一种发动机地面试验测试参数远程同步接收方法,通过分析WireShark抓取的UDP包并与太平洋采集软件实际采集的数据对比,解析出采集参数的种类、采集通道路数、每路采集通道对应的值以及xml配置文件,从而将采集到的数据进行封装后远程同步发送到接收服务器。

为解决技术问题采用的技术方案

一种发动机地面试验测试参数远程同步接收方法,包括如下步骤:

1)参数设置

参数设置包括太平洋6000软件设置和采集端、接收端IP设置,

太平洋6000软件设置

设置软件配置信息,将″Distribute UDP Date"设置为″yes″,″select UDP datechannels″设置为需要分发数据包的通道;

设置通道信息,包括采样率、测量类型、传感器类型、测量单位、灵敏度等,

采集端、接收端IP地址要求前面三位都一致就可以;

2)解析xml配置文件

首先需要配置NATS的相关信息,包括NATS服务器的IP、端口号以及发布-订阅的主题,

其次,由于在UDP数据包中不包含每个采集通道对应的属性信息,因此需要将用到的采集通道的属性信息放在xml配置文件中,根据上文中的数据格式定义,采集通道的属性包括了dataType(数据类型)、pacificNum(通道编号)、crateNum(机箱号)、slotNum(插槽号)、passNum(通道号),同时,也要把采集通道的路数放在xml配置文件中,

3)接收UDP包

分析Wireshark抓包的数据样例可以得到太平洋采集软件发送UDP数据包的报文协议,其中,第37~38个字节代表着当前采样路数,是一个整型数据;从第61个字节开始,每4个字节代表一个通道的eUUnits的值(当前采样通道采样得到的数值),其中,eUUnits的值是32位浮点数,并且,采样路数与eUUnits值的个数是相等的;

4)解析采集数据

根据对太平洋采集软件发送UDP数据包的报文协议的分析可以发现,我们在对UDP报文进行解析时,主要工作是解析采样路数以及每路采样对应的eUUnits值;

5)封装数据并上传

将解析出的数据以及xml配置文件中的相关信息封装为Sample data数据类型,将封装好的Sample data数据转化为二进制数据流并发布到中间件服务器上;

6)远程接收数据

中间件服务器监听并接收二进制数据流,将接收到的数据流转化为Sample data数据类型并发送到远程接收服务器上。

进一步地,所述步骤4)中解析采集数据包括获取2进制数据流、转化16进制数组、4位16进制数组转化为整型数据、8位16进制数组转化为32位浮点型数据四部分,包括如下步骤:

1)从UDP数据包中直接获取的数据是二进制数据流,定义byte类型的数组recvBuf用于保存从UDP数据包中得到的二进制数据流;

2)在byte数组中,一个数据对应着一个字节,用移位运算分别获取一个字节的前四位和后四位,并分别将前四位和后四位转化为一个十六进制整型数字,然后将得到的十六进制数转化为对应的字符,从而得到用字符串类型存储的十六进制数组,这样,UDP包中的数据就转化为用十六进制存储的字符数组;

3)分别将每一位与整数16的对应的n次方(n=0,1,2,3,4,5,6,7)相乘,再将所有得到的数字相加,使长度为4的十六进制数组转化为整型数据;

4)首先将16进制数组转化为2进制数组,再将2进制数组转化为32位浮点数,在将2进制数组转化为32位浮点数,首先要确保2进制数组是32位的,然后确定浮点数符号,并分解有效数字和指数位,最终计算出32位浮点数,并用double类型保存。

获得的有益效果

此方法实现了发动机地面试验数据的远程同步接收,使发动机设计人员、型号总体、总装人员等关心试验成败的人可以远程同步接收到地面试验各测试参数的数据曲线,第一时间接收到发动机地面试验数据,并进行分析,有效缩短发动机的研制周期,为缩短发动机研制周期奠定基础。

附图说明

图1:一种发动机地面试验测试参数远程同步接收方法流程图;

图2:解析采集数据流程图;

图3:UDP报文协议;

图4:第1路太平洋6000采集的振动曲线;

图5:第1路远程同步接收的振动曲线;

图6:第2路太平洋6000采集的振动曲线;

图7:第2路远程同步接收的振动曲线;

图8:第1路太平洋6000采集的应变曲线;

图9:第1路远程同步接收的应变曲线。

具体实施方式

本发明提供一种发动机地面试验测试参数远程同步接收方法,包括参数设置,解析xml配置文件,接收UDP包,解析采集数据,封装数据并上传,远程接收数据,具体步骤如下:

1)参数设置

太平洋6000软件设置

设置软件配置信息,将″Distribute UDP Date″设置为″yes″,″select UDP datechannels″设置为需要分发数据包的通道;

设置通道信息,包括采样率、测量类型、传感器类型、测量单位及灵敏度等;

采集端、接收端IP地址要求前面三位都一致就可以。

2)解析xml配置文件

首先,需要配置NATS的相关信息,包括NATS服务器的IP、端口号以及发布-订阅的主题;

其次,由于在UDP数据包中不包含每个采集通道对应的属性信息,因此需要将用到的采集通道的属性信息放在xml配置文件中,根据上文中的数据格式定义,采集通道的属性包括了dataType(数据类型)、pacificNum(通道编号)、crateNum(机箱号)、slotNum(插槽号)、passNum(通道号),同时,也要把采集通道的路数放在xml配置文件中。

3)接收UDP包

分析Wireshark抓包的数据样例可以得到太平洋采集软件发送UDP数据包的报文协议,其中,第37~38个字节代表着当前采样路数,是一个整型数据;从第61个字节开始,每4个字节代表一个通道的eUUnits的值(当前采样通道采样得到的数值),其中,eUUnits的值是32位浮点数,并且,采样路数与eUUnits值的个数是相等的。

4)解析采集数据

根据对太平洋采集软件发送UDP数据包的报文协议的分析可以发现,我们在对UDP报文进行解析时,主要工作是解析采样路数以及每路采样对应的eUUnits值。

解析采集数据包括获取2进制数据流、转化16进制数组、4位16进制数组转化为整型数据、8位16进制数组转化为32位浮点型数据四部分,具体为:

a)从UDP数据包中直接获取的数据是二进制数据流,定义byte类型的数组recvBuf用于保存从UDP数据包中得到的二进制数据流;

b)在byte数组中,一个数据对应着一个字节,用移位运算分别获取一个字节的前四位和后四位,并分别将前四位和后四位转化为一个十六进制整型数字,然后将得到的十六进制数转化为对应的字符,从而得到用字符串类型存储的十六进制数组,这样,UDP包中的数据就转化为用十六进制存储的字符数组;

c)分别将每一位与整数16的对应的n次方(n=0,1,2,3,4,5,6,7)相乘,再将所有得到的数字相加,使长度为4的十六进制数组转化为整型数据;

d)首先将16进制数组转化为2进制数组,再将2进制数组转化为32位浮点数,在将2进制数组转化为32位浮点数,首先要确保2进制数组是32位的,然后确定浮点数符号,并分解有效数字和指数位,最终计算出32位浮点数,并用double类型保存。

5)封装数据并上传

将解析出的数据以及xml配置文件中的相关信息封装为Sample data数据类型,将封装好的Sample data数据转化为二进制数据流并发布到中间件服务器上。

6)远程接收数据

中间件服务器监听并接收二进制数据流,将接收到的数据流转化为Sample data数据类型并发送到远程接收服务器上。

为使本发明所提出的技术方案的目的、特征和优点能够更加明显易懂,下面将结合附图,对本发明所提出的技术方案的实施例进行清楚、完整地描述。显然,所描述的实施例仅仅是所提出的技术方案的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。

如图1所示,一种发动机地面试验测试参数远程同步接收方法包括太平洋6000软件设置,解析xml配置文件,接收UDP包,解析采集数据,封装数据并上传,远程接收数据,以下以远程接收两路振动、一路应变参数的空采信号为例:

1)参数设置

参数设置包括太平洋6000软件设置和采集端、接收端IP设置,

太平洋6000软件设置

设置软件配置信息,将″Distribute UDP Date″设置为″yes″,″select UDP datechannels″设置为0∶1∶0、0∶1∶1、0∶7∶0三个通道;

振动采样率:1000Spc/channel,测量类型:加速度,传感器类型:电荷,测量单位g’s;

应变采样率:1000Spc/channel,测量类型:应变,传感器类型:半桥,测量单位:uStrain,激励电平:2V。

采集端、接收端IP设置

这里采集端设置IP地址为192.168.0.5;

接收端IP地址为192.168.0.6。

2)解析xml配置文件

首先配置中间件NATS的相关信息,包括中间件服务器的IP、端口号以及发布-订阅的主题。

其次,由于在UDP数据包中不包含每个采集通道对应的属性信息,因此需要将用到的采集通道的属性信息放在xml配置文件中。根据上文中的数据格式定义,采集通道的属性包括了dataType(数据类型)、pacificNum(通道编号)、crateNum(机箱号)、slotNum(插槽号)、passNum(通道号)。同时,也要把采集通道的路数放在xml配置文件中。

具体xml配置文件如下:

3)接收UDP包

分析Wireshark抓包的数据样例可以得到太平洋采集软件发送UDP数据包的报文协议。其中,第37~38个字节代表着当前采样路数,是一个整型数据;从第61个字节开始,每4个字节代表一个通道的eUUnits的值(当前采样通道采样得到的数值),其中,eUUnits的值是32位浮点数。并且,采样路数与eUUnits值的个数是相等的。

UDP报文协议定义如图3所示。

4)解析采集数据

如图2所示,解析采集数据包括获取2进制数据流、转化16进制数组、4位16进制数组转化为整型数据、8位16进制数组转化为32位浮点型数据四部分。具体为:

a)从UDP数据包中直接获取的数据是二进制数据流,定义byte类型的数组recvBuf用于保存从UDP数据包中得到的二进制数据流;

b)在byte数组中,一个数据对应着一个字节,用移位运算分别获取一个字节的前四位和后四位,并分别将前四位和后四位转化为一个十六进制整型数字,然后将得到的十六进制数转化为对应的字符,从而得到用字符串类型存储的十六进制数组,这样,UDP包中的数据就转化为用十六进制存储的字符数组;

c)分别将每一位与整数16的对应的n次方(n=O,1,2,3,4,5,6,7)相乘,再将所有得到的数字相加,使长度为4的十六进制数组转化为整型数据;

d)首先将16进制数组转化为2进制数组,再将2进制数组转化为32位浮点数。在将2进制数组转化为32位浮点数,首先要确保2进制数组是32位的,然后确定浮点数符号,并分解有效数字和指数位,最终计算出32位浮点数,并用double类型保存。

5)封装数据并上传

将解析出的数据以及×ml配置文件中的相关信息封装为Sample data数据类型,将封装好的Sample data数据转化为二进制数据流并发布到中间件服务器上。图4、6分别为太平洋6000采集软件采集到的空采的两路振动数据,图8为太平洋6000采集软件采集到的空采的一路应变数据。

6)远程接收数据

中间件服务器监听并接收二进制数据流,将接收到的数据流转化为Sample data数据类型并发送到远程接收服务器上,图5、7分别为通过本方法远程接收到的两路振动数据,图9为通过本方法远程接收到的一路应变数据。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于区块链的业务处理方法、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!