利索能及
我要发布
收藏
专利号: 2022116094889
申请人: 山东科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-27
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种数据采集与处理方法,其特征在于,包括如下步骤:

步骤1. 设置串口信息并打开串口、向采集设备发送初始化命令以及接收采集设备的原始数据,并对发送的初始化命令以及接收到的数据进行显示;

步骤2. 设置数据采集信息,对接收到的数据进行采集并进行处理转化,将采集处理转化后的数据以及数据采集信息暂存到txt文档中;读取采集处理转化后的数据并进行数据显示,同时根据采集处理转化后的数据进行实时绘图显示;在绘图显示过程中实现对不同时刻点的数据进行对比、悬浮显示某一时刻点与各项属性值以及标签显示的可视化操作;

当数据采集结束后若需要保存,则将暂存到txt文档中的数据存储到数据库中;

步骤3. 设置查询条件并从数据库中查询相应的历史数据进行数据显示;根据所查询历史数据的某个数据属性进行历史数据绘图显示;对所查询出的历史数据进行删除、导出以及两次不同历史数据的同一数据属性进行数据对比可视化操作。

2.根据权利要求1所述的数据采集与处理方法,其特征在于,

所述步骤2中,进行数据显示以及实时绘图显示的过程为:

定时调用数据更新函数,获取采集转化处理后的数据并添加到绘图曲线上;其中,实时绘图曲线类型是QSplineSeries类,以曲线图的形式显示数据;对采集转化处理后的数据进行读取,当曲线图处于不断更新状态时即实现实时绘图;

同时,利用数据显示框textEdit的setText()函数对采集处理转化后的数据进行数据显示。

3.根据权利要求2所述的数据采集与处理方法,其特征在于,

所述步骤2中,实时绘图显示的具体实现过程为:

首先通过基于PyQT5的QT Designer在UI界面建立一个QChartView属性的画图位置,以便于实时绘图的显示,当系统运行时进行初始化,并调用设置函数;设置函数为:加载QChart波形显示界面与绘图曲线显示动画,并且设置曲线的颜色、X轴显示格式、Y轴的区间、设置绘图曲线的名称并与预设的Y轴进行绑定;

利用QSplineSeries属性绘图曲线的attachAxis()函数,与预设的X轴与Y轴进行绑定;

其中,当与Y轴绑定时,数据属性相同的绑定同一条Y轴;

设置多条Y轴并通过addAxis()函数添加到画图位置的左侧或右侧,实现多Y轴;

当开始采集数据时,调用数据更新函数获取采集处理转化后的数据,并用曲线图的形式进行显示,当定时调用所述数据更新函数时呈现出动态绘图的状态。

4.根据权利要求3所述的数据采集与处理方法,其特征在于,

所述步骤2中,在绘图显示过程中实现对不同时刻点的数据进行对比的过程如下:在绘图显示过程中双击实时绘图曲线上的某一位置会触发点击时刻点显示函数,该显示函数首先将点击位置的坐标信息转为对应X轴的时刻点,然后判断第一个时刻点显示区域是否为空;若第一个时刻点显示区域为空,表明未获取鼠标双击时刻点,则将转换出来的时刻点即鼠标双击绘图曲线位置所对应的时刻点利用输入文本框lineEdit的setText()函数填写到第一个时刻点显示区域,并将该时刻点所对应的各条实时绘图曲线的Y值存到一个列表中;

其中,Y值是指所有实时绘图曲线即所有数据属性在所点击时刻点的数据值;

如果第一个时刻点显示区域不为空,并且第二个时刻点显示区域为空,表明只获取了第一次鼠标双击曲线的时刻点,等待获取第二次鼠标双击曲线的时刻点,则将转换出来的时刻点即鼠标双击绘图曲线位置所对应的时刻点利用输入文本框lineEdit的setText()函数填写到第二个时刻点显示区域,并将该时刻点所对应的各条实时绘图曲线Y值存到另外一个列表中;

将生成的两个列表对应数值相减并存到第三个列表,最后利用matplotlib绘图库中的pyplot绘图模块对两个不同时刻点的各项数据和数据之差做图表,并进行弹窗显示;

其中,第一时刻点显示区域以及第二时刻点显示区域是一个QLineEdit文本输入框,分别用于获取第一次鼠标双击曲线的时刻点以及第二次鼠标双击曲线的时刻点。

5.根据权利要求3所述的数据采集与处理方法,其特征在于,

所述步骤2中,在绘图显示过程中进行标签显示的过程如下:

标签显示区域包含代表各个数据属性颜色的曲线与数据属性名称;

当单击标签时,触发鼠标单击函数,并执行以下动作:改变标签的透明度与实时绘图曲线的显示状态,使得标签与实时绘图曲线的状态在点击后发生变化;

所述步骤2中,在绘图显示过程中悬浮显示某一时刻点与各项属性值的过程如下:当光标显示在实时绘图曲线的上方时,触发鼠标悬停函数,并执行以下动作:

将当前光标与实时绘图的交点位置转换成X轴的时刻点,并通过实时绘图的pointsVector()函数获取该时刻点所对应的实时绘图曲线中的各个Y值;

利用显示文本提示框QToolTip的showText()函数将时刻点以及各个Y值展示出来。

6.根据权利要求1所述的数据采集与处理方法,其特征在于,

所述步骤3中,从数据库中查询相应的历史数据进行数据显示的过程如下:

利用表格列表控件TableWidget进行显示,具体为:

首先将需要显示历史数据的基本信息默认显示在表格列表控件TableWidget的上方,作为表格的标题;之后获取数据库中的历史数据来显示表格列表控件TableWidget中的数据行数,将对应的数据内容显示在表格列表对应的位置上;

根据所查询历史数据的某个数据属性进行历史数据绘图显示的过程如下:

当对数据库中查询的历史数据的某个数据属性进行历史绘图时,点击并选择comboBox控件即历史绘图下拉框中的任意一个数据属性,都会触发选择函数绑定的事件,即首先从数据库中选择出此次操作所对应的历史数据,然后选择出需要历史绘图的数据属性,并以存储到数据库的时间为X轴对数据进行历史绘图,历史绘图采用matplotlib绘图库中的pyplot绘图模块画图。

7.根据权利要求1所述的数据采集与处理方法,其特征在于,

所述步骤3中,在绘图显示过程中进行历史数据对比、删除以及导出的过程如下:右击触发历史数据操作函数会弹窗显示对比、删除以及导出操作;历史数据操作函数使用QMenu创建弹出操作菜单,通过addAction()函数添加菜单项:对比、删除、导出;

对所查询历史数据中两次不同历史数据的同一数据属性进行数据对比时,需要先点击选择需要对比的参数,当选择对比菜单项时,会将点击的历史数据序号显示在历史数据对比区域内,并打开数据库获取此次点击位置的历史数据,当第二次选择数据对比时会触发数据对比函数,以调用数据库中获取到的两次采集数据进行数据对比绘图;

其中,数据对比绘图的过程为:利用matplotlib绘图库中的pyplot绘图模块在同一张图上进行显示,绘图时以采集时间为X轴,以采集数据值为纵坐标,显示两次不同历史采集中同一数据属性的数值变化,两次选择的历史采集数据用两种不同的颜色来区分;

当选择删除菜单项会将选择好的历史数据利用sql删除语句从数据库中删除,当选择导出菜单项会将选中的历史数据包括数据属性名称,利用循环语句全部写入到xlsx表格中。

8.一种数据采集与处理系统,其特征在于,包括如下步骤:

数据采集模块,用于设置串口信息并打开串口、向采集设备发送初始化命令以及接收采集设备的原始数据,并对发送的初始化命令以及接收到的数据进行显示;

数据可视化处理模块,设置数据采集信息,对接收到的数据进行采集并进行处理转化,将采集处理转化后的数据以及数据采集信息暂存到txt文档中;读取采集处理转化后的数据并进行数据显示,同时根据采集处理转化后的数据进行实时绘图显示;在绘图显示过程中实现对不同时刻点的数据进行对比、悬浮显示某一时刻点与各项属性值以及标签显示的可视化操作;当数据采集结束后若需要保存,则将暂存到txt文档中的数据存储到数据库中;

历史数据处理模块,用于设置查询条件并从数据库中查询相应的历史数据进行数据显示;根据所查询历史数据的某个数据属性进行历史数据绘图显示;对所查询出的历史数据进行删除、导出以及两次不同历史数据的同一数据属性进行数据对比可视化操作。

9.一种计算机设备,包括存储器和处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,用于实现权利要求1至7任一项所述的数据采集与处理方法的步骤。

10.一种计算机可读存储介质,其上存储有程序,其特征在于,当该程序被处理器执行时,用于实现权利要求1至7任一项所述的数据采集与处理方法的步骤。