分享一种发动机连续数据采集与显示方法与流程

本站介绍的分享一种发动机连续数据采集与显示方法与流程,为您介绍下面内容:


本发明属于发动机测试领域,具体涉及一种发动机连续数据采集与显示方法。



背景技术:

信号采集越来越成为电控发动机控制系统研发过程中的重要工作,数字示波器以其携带方便、使用简单、测量准确等优势越来越受到发动机试验人员的青睐。

为了对各信号进行分析,发动机耐久等试验需要长时间高速采集。在电控发动机试验当中一般采集通道数量较多,在保存数据时各通道对应的信号名称容易混淆;而且示波器一般的传输模式为示波器先将采集数据存入自身的缓存区,待采集结束后传给pc;由于示波器的缓冲存储器容量有限,当需要长时间连续采集时,单靠示波器自身的缓存是远远不够的。

现有的方法例如中国发明专利cn108871782a公开的一种发动机数据采集方法及装置,通过设置采集周期,实现了对接收到的发动机数据进行存储或不存储的判断,提高了数据采集的灵活性;还有论文“便携式多通道快插接型发动机参数采集系统开发,《现代车用动力》,第2期总第162期,2016年5月”,开发了一种便携式采集系统,对发动机上各类传感器的模拟信号进行采集和记录,但此采集系统将数据存在数据采集器中,不适合长时间高速采集;上述提到的都是通过开发数据采集装置进行信号采集与转化,但都不能实现信号的高速和连续采集,更不能实现信号的实时显示和对采集的发动机信号名称保存。



技术实现要素:

针对现有技术的缺陷,本发明的目的在于建立一种发动机连续数据采集与显示方法,通过matlab软件开发程序结合gui界面上用户的操作,直接控制数字示波器采集和数据显示,采集结束后对数据和信号名自动保存,传输速度高,能够实现发动机数据的连续高速采集。

为了达到上述目的,本发明所采用的技术方案是:一种发动机连续数据采集与显示方法,将matlab软件和数字示波器连接,结合gui界面上用户的操作,直接控制数字示波器采集和数据显示,采集结束后对数据和信号名自动保存,具体包括以下步骤:

首先,用户打开gui界面,在各通道下拉菜单中选择此通道采集的信号名称,如果没有找到就选择“开启”选项;选择示波器型号,并填写采样间隔时间;

然后,根据采集需求选择手动停止采集或是定量自动停止采集,并点击开始采集按键,随后执行gui界面开发程序;所述gui界面开发程序的流程包括:获取当前gui界面用户填写的参数值;计算示波器通道开启数量;清空上次运行时图像显示;运行示波器采集程序;将采集结果另存为mat数据;循环判断各通道信号名确定与否,记录信号名并创建信号名向量;保存信号名向量和采集数据数组;

其中所述示波器采集程序的流程包括:先初始化参数,运行驱动文件连接示波器;设置示波器量程、内部缓冲区、采样模式、采样间隔和采集样点数量;判断定量采集标志是否开启,如果开启则将采集样点数量设置为最大采样数量,当超过数量时自动停止标志置1;判断停止采集按键是否按下,如果按下就将按键停止标志置1;判断已命名的通道数量,设置各图形显示区域;while循环中采集数据、显示并检测停止标志;当不满足while循环条件时,跳出循环执行断开示波器程序,示波器采集程序结束;

最后,当用户点击“保存为mat”时,将全部通道数据保存为mat格式,包括没有开启的通道,首列为采样时间;当点击“保存为excel”时,程序会将开启的通道导出,选择过信号名的通道首行显示对应的信号名,选择“开启”的通道首行显示通道名。

进一步地,所述示波器采集程序中while循环中采集数据、显示并检测停止标志具体包括以下方面:

一、采集数据保存在缓冲区,创建当前采集数据的时间向量;

二、将确定名称的信号绘制成图形,显示在gui图形显示窗口,横坐标采用当前的时间向量;

三、将缓冲区数据存入matlab数组中,然后清空缓冲区,准备采集下一循环;

四、判断停止采集按键是否按下和是否超过最大采样数量,如果是则将按键停止标志置1,或将自动停止标志置1。

进一步地,当用户点击“保存为excel”按键时,执行保存excel程序,首先保存当前用户选择的保存目录,方便下次存储,打开进度条;计算整个采集数据长度;计算excel存储区域;对计算后的总页数进行判断,将采集的数据和信号名填入excel;保存结束后,关闭进度条。

进一步地,计算excel存储区域包含以下方面:判断数据长度和10^6余数是否为0;如果余数为0,则总页数等于长度和10^6的商,如果余数不为0,则总页数等于长度和余数差值与10^6的商加1。

进一步地,对计算后的总页数进行判断,将采集的数据和信号名填入excel具体为:总页数为1时,只需一页sheet即可,将信号名填入a1行,a2行以下填入采集的数据;总页数不为1时,循环填入每页sheet,首行填入信号名,其余各行按序填入采集数据。

有益效果:本发明是通过开发matlab程序实现数字示波器和matlab软件连通,控制示波器采集并将采集的数据发送到matlab当中,而且实现定量采集、实时显示和信号名自动保存等功能,通过控制数字示波器采集,传输速度高,并将数据实时传输到pc中,实现长时间采集,相比现有技术,具有以下优点:

1、本发明开发了数字示波器连续采集程序,将示波器采集数据实时传输到matlab中,不受示波器缓存区容量限制,便于试验中长时间高速采集。

2、具备手动和定量自动停止功能;在gui用户界面上,通过选择可实现手动停止或定量自动停止功能,使得采集数据更加灵活。

3、具备采集数据实时显示功能;根据用户选择开启并命名的通道数量,平均分配窗口,并做到了坐标轴随时间移动,便于实时观察数据。

4、具备数据保存和信号名自动存储的功能;发动机常用的信号名称已经添加到下拉菜单中,当保存数据为excel时信号名自动保存在首行,没有选择信号名的会自动将通道名保存在首行。

附图说明

图1是gui界面开发程序运行流程图;

图2是示波器采集程序流程图;

图3是数据保存excel执行程序流程图;

图4是gui用户交互平台。

具体实施方式

下面结合附图和具体实施例对本发明做进一步详细的说明。

本发明借助市场上流行的数字示波器进行信号采集,利用其能和matlab连通并能将采集数据导出的特点,开发了一种matlab和示波器连接并控制示波器进行采集和传输以及实时监控的方法,通过开发gui用户交互界面,平台可以获取用户填写和选择的信号名称和采集模式,通过matlab能够对数字示波器进行连通、设置、采集存储和断开,之后依靠后台程序对采集信号进行实时显示,采集结束后对采集数据和信号名称进行自动保存,而且实现定量采集、实时显示和信号名自动保存等功能。

本发明后台程序可以分为示波器采集程序和gui界面开发程序两部分,以下分别具体介绍。

如图1所示,gui界面开发程序含有以下步骤:

步骤一、获取当前gui界面用户填写的参数值;

步骤二、计算示波器通道开启数量;

步骤三、清空上次运行时图像显示;

步骤四、运行上述示波器采集程序;

步骤五、将采集结果另存为mat数据;

步骤六、循环判断各通道信号名确定与否,记录信号名并创建信号名向量;

步骤七、保存信号名向量和采集数据数组。

如图2所示,示波器采集程序含有以下步骤:

步骤一、初始化参数,运行驱动文件连接示波器;

步骤二、设置示波器有关参数,包含以下方面:

1、设置量程和内部缓冲区。发动机上常用的信号幅值都在20v以下,因此为了简化,程序中将量程衰减10倍后设定为±2000mv。内部缓冲区是示波器采集存储数据的媒介,程序设定250000个样点数量,每个样点数据类型为int16,存储达到数量后清零重新存储。

2、设置采样模式为流模式。此为数字示波器采样模式类型选择,流模式为连续采集模式。

3、设置采样间隔和采集样点数量。通过gui获取用户填写的参数值,并赋给示波器驱动语句。

步骤三、判断定量采集标志是否开启,如果开启则将采集样点数量设置为最大采样数量,当超过数量时自动停止标志置1;

步骤四、判断停止采集按键是否按下,如果按下就将按键停止标志置1;

步骤五、判断已命名的通道数量,设置各图形显示区域;

步骤六、while循环中采集数据、显示并检测停止标志,包含以下方面:

1、采集数据保存在缓冲区,创建当前采集数据的时间向量。

2、将确定名称的信号绘制成图形,显示在gui图形显示窗口,横坐标采用当前的时间向量。

3、将缓冲区数据存入matlab数组中,然后清空缓冲区,准备采集下一循环。

4、判断停止采集按键是否按下和是否超过最大采样数量,如果是则将按键停止标志置1,或将自动停止标志置1。

步骤七、当不满足while循环条件时,跳出循环执行断开示波器程序,示波器采集程序结束。

如图3所示,数据保存excel程序含有以下步骤:

步骤一、保存当前用户选择的保存目录,方便下次存储,打开进度条;

步骤二、计算整个采集数据长度;

步骤三、计算excel存储区域。由于有些excel版本每页sheet只能存储10^6行,如果超过就需要存储在其他sheet页,因此需要计算存储区域。包含以下方面:

1、判断数据长度和10^6余数是否为0,如果为0,则总页数等于长度和10^6的商;

2、如果余数不为0,则总页数等于长度和余数差值与10^6的商加1。

步骤四、对计算后的总页数进行判断,将采集的数据和信号名填入excel,包含以下内容:

1、总页数为1时,只需一页sheet即可,将信号名填入a1行,a2行以下填入采集的数据;

2、总页数不为1时,循环填入每页sheet,首行填入信号名,其余各行按序填入采集数据。

步骤五、保存结束,关闭进度条。

gui用户界面如图4所示,集参数设置、发动机信号名选择、采集模式选择、结果显示、数据导出为一体的gui用户交互平台,其中结果显示有表格显示窗口和图形显示窗口,图形显示可实现采集数据实时显示,横坐标为实时可变的时间轴。

本发明通过开发数字示波器驱动程序和开发matlab/gui执行程序能实现数字示波器和matlab软件连通,控制示波器采集并发送到matlab当中,而且实现定量采集、实时显示和信号名自动保存等功能。

定量采集功能:程序中加入了停止按键,按下后即停止采集并将采集的结果保存后显示在gui表格显示窗口中。

自动停止功能,通过在gui中设置采集样点数量,程序会在采集达到设定数量后自动停止,并将采集的结果保存后显示在gui表格显示窗口中。

图像实时显示功能,程序中加入了通道开启数量判断,和通道采集信号名是否确定判断,合理分配了图形显示窗口空间;对于在界面中用户已经选择信号名的通道,会全部在图形中实时显示,并平均分配窗口;当遇到采集的信号没有在下拉菜单中找到对应名称时,用户选择“开启”即可,程序只在表格显示窗口显示并保存导出结果,不会在图形窗口中实时显示以节省空间;除此之外图形显示程序中将坐标轴随时间移动,便于实时观察采集数据。

数据及信号名保存功能:当用户点击“保存为mat”时,程序会将全部通道数据保存为mat格式,包括没有开启的通道,首列为采样时间。当点击“保存为excel”时,程序会将开启的通道导出,选择过信号名的通道首行显示对应的信号名,选择“开启”的通道首行显示通道名。这样选择“关闭”的通道将不会在excel中显示,以便减小excel表格大小,提高导出速度。

实施例1

当用户打开gui界面后,首先在各通道下拉菜单中选择此通道采集的信号名称,如果没有找到就选择“开启”选项。选择示波器型号,并填写采样间隔时间。

根据采集需求选择手动停止采集或是定量自动停止采集;选手动停止时,“自动停止功能”框未被勾选,“采集样点数量”框为灰色被冻结状态,程序会将默认值填入,但不会赋值给最大采样数量,此时点击“开始采集”按键,执行gui运行程序;当勾选“自动停止功能”框时,“采集样点数量”框被激活,用户需填入采集样点数量,之后点击开始采集按键,随后执行gui运行程序。

如图1所示,gui界面程序首先获取当前gui界面用户填写的参数值;计算示波器通道开启数量;清空上次运行时图像显示;运行示波器采集程序;将采集结果另存为mat数据;循环判断各通道信号名确定与否,记录信号名并创建信号名向量;保存信号名向量和采集数据数组。

其中示波器采集程序流程图如图2所示,先初始化参数,运行驱动文件连接示波器;设置示波器量程、内部缓冲区、采样模式、采样间隔和采集样点数量等;判断定量采集标志是否开启,如果开启则将采集样点数量设置为最大采样数量,当超过数量时自动停止标志置1;判断停止采集按键是否按下,如果按下就将按键停止标志置1;判断已命名的通道数量,设置各图形显示区域;while循环中采集数据、画图并检测停止标志,当不满足while循环条件时,跳出循环执行断开示波器程序,示波器采集程序结束。

当点击“保存为excel”按键时,执行保存excel程序,如图3所示首先保存当前用户选择的保存目录,方便下次存储,打开进度条;计算整个采集数据长度;计算excel存储区域;对计算后的总页数进行判断,将采集的数据和信号名填入excel;保存结束后,关闭进度条。

如图4所示为手动停止模式应用实例,开启a、b、e三个通道,其中a通道和b通道确定了信号名,左侧的图形显示窗口实时显示采集图像,当采集结束时右上方的表格显示窗口显示采集数据;当点击“保存为mat”时,程序会将全部通道数据保存为mat格式,包括没有开启的通道,首列为采样时间;当点击“保存为excel”时,程序会将a、b、e通道导出,其中a通道和b通道显示对应的信号名,e通道显示通道名,并且根据数据长度自动创建多页sheet。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。


技术特征:

1.一种发动机连续数据采集与显示方法,其特征在于,将matlab软件和数字示波器连接,结合gui界面上用户的操作,直接控制数字示波器采集和数据显示,采集结束后对数据和信号名自动保存,具体包括以下步骤:

首先,用户打开gui界面,在各通道下拉菜单中选择此通道采集的信号名称,如果没有找到就选择“开启”选项;选择示波器型号,并填写采样间隔时间;

然后,根据采集需求选择手动停止采集或是定量自动停止采集,并点击开始采集按键,随后执行gui界面开发程序;所述gui界面开发程序的流程包括:获取当前gui界面用户填写的参数值;计算示波器通道开启数量;清空上次运行时图像显示;运行示波器采集程序;将采集结果另存为mat数据;循环判断各通道信号名确定与否,记录信号名并创建信号名向量;保存信号名向量和采集数据数组;

其中所述示波器采集程序的流程包括:先初始化参数,运行驱动文件连接示波器;设置示波器量程、内部缓冲区、采样模式、采样间隔和采集样点数量;判断定量采集标志是否开启,如果开启则将采集样点数量设置为最大采样数量,当超过数量时自动停止标志置1;判断停止采集按键是否按下,如果按下就将按键停止标志置1;判断已命名的通道数量,设置各图形显示区域;while循环中采集数据、显示并检测停止标志;当不满足while循环条件时,跳出循环执行断开示波器采集程序,示波器采集程序结束;

最后,当用户点击“保存为mat”时,将全部通道数据保存为mat格式,包括没有开启的通道,首列为采样时间;当点击“保存为excel”时,将开启的通道导出,选择过信号名的通道首行显示对应的信号名,选择“开启”的通道首行显示通道名。

2.如权利要求1所述的一种发动机连续数据采集与显示方法,其特征在于,所述示波器采集程序中while循环中采集数据、显示并检测停止标志具体包括以下方面:

一、采集数据保存在缓冲区,创建当前采集数据的时间向量;

二、将确定名称的信号绘制成图形,显示在gui图形显示窗口,横坐标采用当前的时间向量;

三、将缓冲区数据存入matlab数组中,然后清空缓冲区,准备采集下一循环;

四、判断停止采集按键是否按下和是否超过最大采样数量,如果是则将按键停止标志置1,或将自动停止标志置1。

3.如权利要求1所述的一种发动机连续数据采集与显示方法,其特征在于,当用户点击“保存为excel”按键时,执行保存excel程序,首先保存当前用户选择的保存目录,方便下次存储,打开进度条;计算整个采集数据长度;计算excel存储区域;对计算后的总页数进行判断,将采集的数据和信号名填入excel;保存结束后,关闭进度条。

4.如权利要求3所述的一种发动机连续数据采集与显示方法,其特征在于,计算excel存储区域包含以下方面:判断数据长度和10^6余数是否为0;如果余数为0,则总页数等于长度和10^6的商,如果余数不为0,则总页数等于长度和余数差值与10^6的商加1。

5.如权利要求3所述的一种发动机连续数据采集与显示方法,其特征在于,对计算后的总页数进行判断,将采集的数据和信号名填入excel具体为:总页数为1时,只需一页sheet即可,将信号名填入a1行,a2行以下填入采集的数据;总页数不为1时,循环填入每页sheet,首行填入信号名,其余各行按序填入采集数据。

技术总结
本发明涉及一种发动机连续数据采集与显示方法,利用数字示波器能和MATLAB连通并能将采集数据导出的特点,开发了一种MATLAB和示波器连接并控制示波器进行采集和传输以及实时监控的方法,通过开发GUI用户交互界面,平台可以获取用户填写和选择的信号名称和采集模式,通过MATLAB能够对数字示波器进行连通、设置、采集存储和断开,之后依靠后台程序对采集信号进行实时显示,采集结束后对采集数据和信号名称进行自动保存,而且实现定量采集、实时显示和信号名自动保存等功能。

技术研发人员:刘松;郭延超;段松松;章明;胡友耀
受保护的技术使用者:洛阳拖拉机研究所有限公司
技术研发日:2020.03.13
技术公布日:2020.06.26

分享一种发动机连续数据采集与显示方法与流程的相关内容如下: