一种基于时间对齐的数据处理方法及装置

文档序号:30493557发布日期:2022-06-22 02:51阅读:228来源:国知局
一种基于时间对齐的数据处理方法及装置

1.本发明涉及一种基于时间对齐的数据处理方法及装置,属于工业数据采集分析领域。


背景技术:

2.随着现代制造业向智能化、自动化、复杂化的方向发展,这就对制造装备的精度和可靠性提出了更高的要求,对智能维护也有了更高的要求。
3.在实际的工业现场数据采集系统中导出的不同规格的数据,一般为字符串格式,数据量较大。通常数据采集系统系统中包括多个测点,且受硬件成本与系统规模的限制,部署在工业现场的测点往往是非同步采样,因此不同测点之间采集的数据必然会存在时间不同的问题,因此有必要提出一种用于现场采集数据预处理的通道绝对时间对齐方法。


技术实现要素:

4.本发明提供了一种基于时间对齐的数据处理方法及装置,用于重新组织数据采集系统中导出的数据信息,存储在tdms文件中,使之一个采集数据的时间对应一组数据。
5.本发明的技术方案是:一种基于时间对齐的数据处理方法,包括:
6.导出测点的原始数据,根据原始数据的数据格式,利用读取文本文件和for循环命令读取原始数据中的数据采集时间以及时域波形数据;将时域波形数据放入时域波形数组;将获得的数据采集时间转化为时间标识格式并放入原始时间数组;查找原始时间数组中的最大值和最小值为数据时间最大值和数据时间最小值;
7.依据获取的原始时间数组,利用while循环命令,从以数据时间最小值为循环参数m的起始值开始,利用一维搜索命令寻找原始时间数组中是否有m所代表的数据时间,若存在则将该数据时间所在的索引号放入时间索引号数组中,若不存在则生成一个设定值w放入时间索引号数组中,将每次运行的循环参数m所代表的数据时间存入数据全部时间数组;每运行完一次,循环参数m的取值加1,直至循环参数m为数据时间最大值时停止循环;
8.将时间索引号数组利用while循环和一维搜索命令,寻找设定值w所在的索引号j,若存在设定值w,则将j减去1后的索引号中对应的元素用于更新时间索引号数组中索引号j对应的元素;直至时间索引号数组中不存在设定值w,则循环结束,获得更新后的时间索引号数组;
9.利用while循环命令,从循环参数i=0开始,搜索更新后的时间索引号数组中索引号为i的元素获得ai,搜索时域波形数组中索引号为ai的元素获得bi,搜索数据全部时间数组中索引号为i的元素获得ci;将bi转化为波形格式作为数据,将ci转化为字符串格式作为通道名称,以测点作为组名,写入tdms文件;每运行一次,循环参数i的取值加1,直至循环参数i为时间索引号数组大小时停止循环。
10.所述读取文本文件命令采用基于行读取的方法读取。
11.所述将获得的数据采集时间转化为时间标识格式,采用的方式是通过截取字符串
命令获取数据采集时间中年、月、日、时、分、秒所在的字符串并转化为数值格式,通过按名称捆绑簇并经过日期/时间至秒转换命令输出为时间标识格式。
12.所述将bi转化为波形格式,具体为:先将字符串格式转换为数值型的数组格式作为时域波形格式的幅值,以1/采集频率作为采样间隔,共同合成波形格式的数据。
13.所述将ci转化为字符串格式,具体为:利用获取时间/日期字符串命令将时间标识格式转化为字符串格式。
14.一种基于时间对齐的数据处理装置,包括:
15.读取文件模块:用于导出测点的原始数据,根据原始数据的数据格式,利用读取文本文件和for循环命令读取原始数据中的数据采集时间以及时域波形数据;将时域波形数据放入时域波形数组;将获得的数据采集时间转化为时间标识格式并放入原始时间数组;查找原始时间数组中的最大值和最小值为数据时间最大值和数据时间最小值;
16.数据时间处理模块:用于依据获取的原始时间数组,利用while循环命令,从以数据时间最小值为循环参数m的起始值开始,利用一维搜索命令寻找原始时间数组中是否有m所代表的数据时间,若存在则将该数据时间所在的索引号放入时间索引号数组中,若不存在则生成一个设定值w放入时间索引号数组中,将每次运行的循环参数m所代表的数据时间存入数据全部时间数组;每运行完一次,循环参数m的取值加1,直至循环参数m为数据时间最大值时停止循环;
17.时间对齐模块:用于将时间索引号数组利用while循环和一维搜索命令,寻找设定值w所在的索引号j,若存在设定值w,则将j减去1后的索引号中对应的元素用于更新时间索引号数组中索引号j对应的元素;直至时间索引号数组中不存在设定值w,则循环结束,获得更新后的时间索引号数组;
18.数据对齐存储模块:用于利用while循环命令,从循环参数i=0开始,搜索更新后的时间索引号数组中索引号为i的元素获得ai,搜索时域波形数组中索引号为ai的元素获得bi,搜索数据全部时间数组中索引号为i的元素获得ci;将bi转化为波形格式作为数据,将ci转化为字符串格式作为通道名称,以测点作为组名,写入tdms文件;每运行一次,循环参数i的取值加1,直至循环参数i为时间索引号数组大小时停止循环。
19.一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的基于时间对齐的数据处理方法。
20.一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述中任意一项所述的基于时间对齐的数据处理方法。
21.本发明的有益效果是:本发明将数据采集系统中导出的测点不同通道、不同规格的原始数据的信息进行重新组织,以绝对时间为基准,对不同的通道进行时序对齐,实现将现场采集的数据文件转换成tdms文件,利用tdms文件对于波形数据文件具有良好的读写性能,能够实现快速的读取的特点,便于后续分析功能的使用;在tdms文件中以测点作为组名,时间作为通道名称,将其对应的时域波形数据转化为波形格式作为数据,使一个时间点对应一组数据,若该时间点没有数据则继承前一个时间点的数据,从而实现通道绝对时间对齐,便于实现多测点对比分析;对基于多通道、多测点的设备整体健康评估具有重要的意义。
附图说明
22.图1为本发明流程图的第一部分;
23.图2为本发明流程图的第二部分。
具体实施方式
24.下面结合附图和实施例,对发明做进一步的说明,但本发明的内容并不限于所述范围。
25.实施例1:如图1-2所示,一种基于时间对齐的数据处理方法,包括:
26.导出测点的原始数据,根据原始数据的数据格式,利用读取文本文件和for循环命令读取原始数据中的数据采集时间以及时域波形数据;将时域波形数据放入时域波形数组;将获得的数据采集时间转化为时间标识格式并放入原始时间数组;查找原始时间数组中的最大值和最小值为数据时间最大值和数据时间最小值;
27.依据获取的原始时间数组,利用while循环命令,从以数据时间最小值为循环参数m的起始值开始,利用一维搜索命令寻找原始时间数组中是否有m所代表的数据时间,若存在则将该数据时间所在的索引号放入时间索引号数组中,若不存在则生成一个设定值w放入时间索引号数组中,将每次运行的循环参数m所代表的数据时间存入数据全部时间数组;每运行完一次,循环参数m的取值加1,直至循环参数m为数据时间最大值时停止循环;
28.将时间索引号数组利用while循环和一维搜索命令,寻找设定值w所在的索引号j,若存在设定值w,则将j减去1后的索引号中对应的元素用于更新时间索引号数组中索引号j对应的元素(可以理解为:设定值所在的索引号j对应的时间没有采集数据,通过将索引号j-1对应的元素更新索引号j对应的元素,从而实现继承前一索引号的数据;);直至时间索引号数组中不存在设定值w,则循环结束,获得更新后的时间索引号数组;
29.利用while循环命令,从循环参数i=0开始,搜索更新后的时间索引号数组中索引号为i的元素获得ai,搜索时域波形数组中索引号为ai的元素获得bi,搜索数据全部时间数组中索引号为i的元素获得ci;将bi转化为波形格式作为数据,将ci转化为字符串格式作为通道名称,以测点作为组名,写入tdms文件;每运行一次,循环参数i的取值加1,直至循环参数i为时间索引号数组大小时停止循环。
30.进一步地,可以设置所述读取文本文件命令采用基于行读取的方法读取。
31.进一步地,可以设置所述将获得的数据采集时间转化为时间标识格式,采用的方式是通过截取字符串命令获取数据采集时间中年、月、日、时、分、秒所在的字符串并转化为数值格式,通过按名称捆绑簇并经过日期/时间至秒转换命令输出为时间标识格式。
32.由于索引出的数据时间格式为字符串,因此将字符串格式转化为时间标识格式,进而能有效参与时间索引号数组及数据全部时间数组的构建。
33.进一步地,可以设置所述将bi转化为波形格式,具体为:先将字符串格式转换为数值型的数组格式作为时域波形格式的幅值,以1/采集频率作为采样间隔,共同合成波形格式的数据。
34.进一步地,可以设置所述将ci转化为字符串格式,具体为:利用获取时间/日期字符串命令将时间标识格式转化为字符串格式。
35.上述中bi为时域波形数据,其格式为字符串格式;而ci为数据时间,其格式为时间
标识格式;本发明通过将时域波形数组中索引出来的元素转换为波形格式,并进一步将数据全部时间数组索引出来的元素转换为字符串格式,从而实现将数据写入tdms文件,以便于后期的数据分析。
36.再进一步地,将数据采集系统采集的测点的原始数据所在文件路径,通过拆分路径获的路径和文件名称。在存储为tdms文件时,将路径作为创建属性节点的路径,将文件名作为存储文件的名称。实现存储过程的优化。
37.实施例2:下面对本发明一种可选的具体方式进行详细说明。
38.在工业现场领域,以数控机床为例,在数控机床的各个轴上的待测位置安装传感器作为测点,对设备状态监测系统采集的多测点原始数据采用本发明方法进行数据处理,以一个测点的数据为例:
39.导出设备状态监测系统采集的测点a的原始数据(部分数据以表1所示),导出的数据的格式为dat(如表1所示,奇数行为采集数据时间参数、偶数行为时域波形数据),利用基于行读取的方法和for循环命令读取原始数据中的数据采集时间以及时域波形数据(for循环依据行读取的方法读取奇数行中的数据采集时间和偶数行的时域波形数据);将时域波形数据放入时域波形数组(表2);将获得的数据采集时间转化为时间标识格式并放入原始时间数组(表3);查找原始时间数组中的最大值(2022-02-13 17:40)和最小值(2022-02-10 10:18)为数据时间最大值和数据时间最小值。
40.表1
41.设备,位置,a,0.3556,m/s^2,0,12800,25600,0,2022-02-10 10:18:23-0.273,0.102,0.013,-0.281,0.410,-0.128,-0.362,0.513,-0.170,-0.269,0.424,-0.265,0.128
……
设备,位置,a,0.3083,m/s^2,0,12800,25600,0,2022-02-10 10:19:350.492,-0.514,-0.124,0.305,-0.405,0.046,0.219,-0.472,0.105,0.287,-0.430,0.296,0.350
……
设备,位置,a,0.4524,m/s^2,0,12800,25600,0,2022-02-10 10:22:430.508,-0.153,-0.336,0.534,-0.389,-0.145,0.471,-0.377,-0.004,0.415,-0.428,-0.027,0.411
……
设备,位置,a,0.5197,m/s^2,0,12800,25600,0,2022-02-10 10:24:370.550,0.673,0.197,0.295,-0.598,0.363,-0.158,-0.124,0.524,-0.624,0.032,0.811,-0.927
…………
设备,位置,a,0.4195,m/s^2,0,12800,25600,0,2022-02-13 17:40:40-0.021,0.315,-0.289,-0.272,0.280,0.016,-0.509,0.134,0.330,-0.551,0.172,0.553,-0.527
……
42.表2
[0043]-0.273,0.102,0.013,-0.281,0.410,-0.128,-0.362,0.513,-0.170,-0.269,0.424,-0.265,0.128
……
0.492,-0.514,-0.124,0.305,-0.405,0.046,0.219,-0.472,0.105,0.287,-0.430,0.296,0.350
……
0.508,-0.153,-0.336,0.534,-0.389,-0.145,0.471,-0.377,-0.004,0.415,-0.428,-0.027,0.411
……
0.550,0.673,0.197,0.295,-0.598,0.363,-0.158,-0.124,0.524,-0.624,0.032,0.811,-0.927
…………‑
0.021,0.315,-0.289,-0.272,0.280,0.016,-0.509,0.134,0.330,-0.551,0.172,0.553,-0.527
……
[0044]
表3
[0045]
2022-02-10 10:182022-02-10 10:192022-02-10 10:222022-02-10 10:24
……
2022-02-13 17:40
[0046]
依据获取的原始时间数组(表3),利用while循环命令,从以数据时间最小值2022-02-10 10:18为循环参数m的起始值开始,利用一维搜索命令寻找原始时间数组中是否有m所代表的数据时间(2022-02-10 10:18),若存在,则将该数据时间(2022-02-10 10:18)所在的索引号(0)放入时间索引号数组中,若不存在则生成一个为-1的值放入时间索引号数组中。将每次运行的循环参数m所代表的数据时间存入数据全部时间数组;每运行完一次,循环参数m的取值加1(本实施例中加1表示1分钟)。
[0047]
第一次循环,m为2022-02-10 10:18,原始时间数组中存在m所代表的数据时间(2022-02-10 10:18),将该数据时间(2022-02-10 10:18)所在的索引号(0)放入时间索引号数组中,将m所代表的数据时间(2022-02-10 10:18)存入数据全部时间数组,m加1分钟,即m为2022-02-10 10:19;第二次循环,m为2022-02-10 10:19,原始时间数组中存在该数据时间,将索引号(1)放入时间索引号数组中,将m所代表的数据时间(2022-02-10 10:19)存入数据全部时间数组,m加1分钟,即m为2022-02-10 10:20;第三次循环m为2022-02-10 10:20,原始时间数组中不存在此时间,将(-1)放入时间索引号数组中,将m所代表的数据时间(2022-02-10 10:20)存入数据全部时间数组,m加1分钟,即m为2022-02-10 10:21;
……
直至循环参数m为数据时间最大值(2022-02-13 17:40)时停止循环,此时获得时间索引号数组(表4)和数据全部时间数组(表5)。
[0048]
表4
[0049]
01-1-12-13
……
12348
[0050]
表5
[0051]
2022-02-10 10:182022-02-10 10:192022-02-10 10:202022-02-10 10:212022-02-10 10:222022-02-10 10:232022-02-10 10:24
……
2022-02-13 17:40
[0052]
将时间索引号数组(表4)利用while循环和一维搜索命令,寻找值为-1所在的索引
号j。第一次循环,j为2,则将2减去1为1,索引号1所对的元素为1,将-1替换为1;第二次循环,j为3,则将3减去1为2,索引号2所对的元素为1,将-1替换为1;第三次循环,j为5,则将5减去1为4,索引号4所对的元素为2,将-1替换为2
……
直至时间索引号数组中不存在-1,则循环结束,获得更新后的时间索引号数组(表6);
[0053]
表6
[0054]
0111223
……
12348
[0055]
利用while循环命令,当循环参数i=0时,搜索更新后的时间索引号数组(表6)中索引号为i的元素获得ai(0),搜索时域波形数组(表2)中索引号为ai(0)的元素获得bi(表2的第一行),搜索数据全部时间数组(表5)中索引号为i(0)的元素获得ci(2022-02-10 10:18);将bi(表2的第一行)转化为波形格式作为数据,将ci(2022-02-10 10:18)转化为字符串格式作为通道名称,以测点(a)作为组名,写入tdms文件;每运行一次,循环参数i的取值加1,直至循环参数i为时间索引号数组大小时停止循环,此时时间和数据的对应情况如表7所示。将数据采集系统采集的测点的原始数据所在文件路径,通过拆分路径获的路径和文件名称。在存储为tdms文件时,将路径作为创建属性节点的路径,将文件名作为存储文件的名称。实现存储过程的优化。
[0056]
表7
[0057][0058]
实施例3:根据本发明实施例的另一方面,提供了一种基于时间对齐的数据处理装置,包括:
[0059]
读取文件模块:用于导出测点的原始数据,根据原始数据的数据格式,利用读取文本文件和for循环命令读取原始数据中的数据采集时间以及时域波形数据;将时域波形数据放入时域波形数组;将获得的数据采集时间转化为时间标识格式并放入原始时间数组;查找原始时间数组中的最大值和最小值为数据时间最大值和数据时间最小值;
[0060]
数据时间处理模块:用于依据获取的原始时间数组,利用while循环命令,从以数据时间最小值为循环参数m的起始值开始,利用一维搜索命令寻找原始时间数组中是否有m所代表的数据时间,若存在则将该数据时间所在的索引号放入时间索引号数组中,若不存在则生成一个设定值w放入时间索引号数组中,将每次运行的循环参数m所代表的数据时间存入数据全部时间数组;每运行完一次,循环参数m的取值加1,直至循环参数m为数据时间最大值时停止循环;
[0061]
时间对齐模块:用于将时间索引号数组利用while循环和一维搜索命令,寻找设定值w所在的索引号j,若存在设定值w,则将j减去1后的索引号中对应的元素用于更新时间索引号数组中索引号j对应的元素;直至时间索引号数组中不存在设定值w,则循环结束,获得更新后的时间索引号数组;
[0062]
数据对齐存储模块:用于利用while循环命令,从循环参数i=0开始,搜索更新后的时间索引号数组中索引号为i的元素获得ai,搜索时域波形数组中索引号为ai的元素获得bi,搜索数据全部时间数组中索引号为i的元素获得ci;将bi转化为波形格式作为数据,
将ci转化为字符串格式作为通道名称,以测点作为组名,写入tdms文件;每运行一次,循环参数i的取值加1,直至循环参数i为时间索引号数组大小时停止循环。
[0063]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;和/或,上述各个模块以任意组合的方式位于不同的处理器中。
[0064]
实施例4:根据本发明实施例的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的基于时间对齐的数据处理方法。
[0065]
实施例5:根据本发明实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述中任意一项所述的基于时间对齐的数据处理方法。
[0066]
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1