CN115618033B - 数据采集与处理方法、系统、计算机设备以及存储介质 - Google Patents
数据采集与处理方法、系统、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN115618033B CN115618033B CN202211609488.9A CN202211609488A CN115618033B CN 115618033 B CN115618033 B CN 115618033B CN 202211609488 A CN202211609488 A CN 202211609488A CN 115618033 B CN115618033 B CN 115618033B
- Authority
- CN
- China
- Prior art keywords
- data
- display
- acquisition
- time
- historical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/54—Browsing; Visualisation therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据采集与处理技术领域,具体公开了一种数据采集与处理方法、系统、计算机设备以及存储介质。本发明基于python程序语言实现,通过将采集到的数据进行处理转化,不仅能够实现对数据的实时处理,还能够通过绘图显示的方式直观地观测到采集数据的变化,同时能够在绘图显示过程中进行数据对比、悬浮显示以及标签显示等可视化操作,数据可视化程度高。此外,本发明不仅能够对历史数据进行查询,还能够对历史数据进行绘图显示、数据对比、删除以及导出等可视化操作,数据的管理性强。本发明操作简单、功能强大,能够实现对数据的高效可视化处理,对数据采集与处理技术领域有着重要的意义。
Description
技术领域
本发明属于数据采集与处理技术领域,特别涉及一种数据采集与处理方法、系统、计算机设备以及存储介质。
背景技术
随着科学技术的发展,当今社会对数据采集与处理的要求与日俱增。因此,数据采集与处理在现代生活中变得越来越重要。如今人们需要利用先进的数据采集、处理及分析技术,让数据变得简单易用,从而创造价值,这就要求数据采集与处理系统要方便人们的操作,并且具备数据的快速查询以及处理等特性。目前,数据采集与处理系统多采用PyQt作为界面开发工具,采用PyQtGraph绘图库进行实时数据的绘制,软件选择网口通信与串口通信方式,将采集的数据保存到数据库中,并可以选择数据保存的格式。然而,采用PyQtGraph进行画图虽然保证了数据的实时显示,但是,基于PyQtGraph的画布无法实现多坐标轴多曲线同时进行实时绘图,无法进行数据的实时显示,并且无法实时进行数据的对比显示。另外,此类数据采集与处理系统没有历史数据绘图功能,因此数据的可视化显示效果相对较差,同时,其UI界面上没有对于数据的查询以及删除等操作,导致数据的管理性较差。
发明内容
本发明的目的在于提出一种数据采集与处理方法,该方法不仅能够对采集处理转化后的数据进行数据显示、实时绘图显示以及数据对比等操作,同时能够将采集处理转化后的数据存储到数据库中以及查询并调用历史数据进行数据显示,并根据所查询历史数据的某个数据属性进行绘图显示,以及根据两次不同历史数据的同一数据属性进行数据对比等操作,此外,还能够对数据库的数据进行删除和导出等操作,使得数据的可视化程度高、数据管理性好。
本发明为了实现上述目的,采用如下技术方案:
一种数据采集与处理方法,包括如下步骤:
步骤1. 设置串口信息并打开串口、向采集设备发送初始化命令以及接收采集设备的原始数据,并对发送的初始化命令以及接收到的数据进行显示;
步骤2. 设置数据采集信息,对接收到的数据进行采集并进行处理转化,将采集处理转化后的数据以及数据采集信息暂存到txt文档中;读取采集处理转化后的数据并进行数据显示,同时根据采集处理转化后的数据进行实时绘图显示;在绘图显示过程中实现对不同时刻点的数据进行对比、悬浮显示某一时刻点与各项属性值、以及标签显示的可视化操作;
当数据采集结束后若需要保存,则将暂存到txt文档中的数据存储到数据库中;
步骤3. 设置查询条件并从数据库中查询相应的历史数据进行数据显示,历史数据按照每次数据采集时间的先后顺序依次进行编号显示;根据所查询历史数据的某个数据属性进行历史数据绘图显示;对所查询出的历史数据进行删除、导出以及两次不同历史数据的同一数据属性进行数据对比可视化操作。
此外,在上述数据采集与处理方法的基础上,本发明还提出了一种与之相对应的数据采集与处理系统,该数据采集与处理系统采用的技术方案如下:
一种数据采集与处理系统,包括如下步骤:
数据采集模块,用于设置串口信息并打开串口、向采集设备发送初始化命令以及接收采集设备的原始数据,并对发送的初始化命令以及接收到的数据进行显示;
数据可视化处理模块,设置数据采集信息,对接收到的数据进行采集并进行处理转化,将采集处理转化后的数据以及数据采集信息暂存到txt文档中;读取采集处理转化后的数据并进行数据显示,同时根据采集处理转化后的数据进行实时绘图显示;在绘图显示过程中实现对不同时刻点的数据进行对比、悬浮显示某一时刻点与各项属性值以及标签显示的可视化操作;当数据采集结束后若需要保存,则将暂存到txt文档中的数据存储到数据库中;
历史数据处理模块,用于设置查询条件并从数据库中查询相应的历史数据进行数据显示;根据所查询历史数据的某个数据属性进行历史数据绘图显示;对所查询出的历史数据进行删除、导出以及两次不同历史数据的同一数据属性进行数据对比可视化操作。
此外,在上述数据采集与处理方法的基础上,本发明还提出了一种用于实现上述数据采集与处理方法的计算机设备。该计算机设备包括存储器和处理器,存储器中存储有可执行代码,处理器执行所述可执行代码时,用于实现上面述及的数据采集与处理方法的步骤。
此外,在上述数据采集与处理方法的基础上,本发明还提出了一种用于实现上述数据采集与处理方法的计算机可读存储介质。该计算机可读存储介质,其上存储有程序,当该程序被处理器执行时,用于实现上面述及的数据采集与处理方法的步骤。
本发明具有如下优点:
如上所述,本发明述及了一种数据采集与处理方法、系统、计算机设备以及存储介质。本发明基于python程序语言实现,通过将采集到的数据进行处理与转化,不仅能够实现对数据的实时处理,而且能够对多设备采集的数据在不同的数据处理页面同时进行处理,使得数据处理的效率明显提高,而且使数据处理变得整洁;此外,本发明能直观地观测到采集数据的变化,同时能够在绘图显示过程中进行数据对比、悬浮显示以及标签显示可视化操作,数据可视化程度高。此外,本发明除了能够对历史数据进行查询等操作,还能够对历史数据进行绘图显示、对比以及导出等操作,对数据的管理性较强。本发明操作简单、功能强大,能够实现对数据的高效可视化处理,因而对数据采集与处理领域有着重要的意义。
附图说明
图1为本发明实施例中数据采集与处理方法的流程框图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
结合图1所示,本实施例述及了一种数据采集与处理方法,其包括如下步骤:
步骤1. 设置串口信息并打开串口、向采集设备发送初始化命令以及接收采集设备的原始数据,并对发送的初始化命令以及接收到的数据进行显示。
步骤1.1. 设置串口信息并打开串口,用于接收采集设备的原始数据;设置的串口信息例如包括串口选择、波特率、数据位、校验位、停止位等。
步骤1.2. 向采集设备发送初始化命令,用于控制采集设备的数据发送情况,数据发送过程中选择固定发送某一串命令或者重新编辑发送命令作为初始化命令。
步骤1.3. 设置数据接收参数,并接收采集设备的原始数据;数据接收参数包括数据接收的样式、数据接收的时间以及接收数据自动换行操作。
步骤1.4. 对发送的初始化命令数据以及接收到的数据进行显示。
当然,上述步骤1.2至上述步骤1.4也可以集合到步骤2中同步处理,即当采用lora模块进行数据传输时,首先按步骤1.1设置好串口信息后,等进入数据可视化页面即可进行初始化命令数据的发送以及接收数据的显示,然而该过程与上述步骤1.2至步骤1.4是相同的,只是相比于上述步骤1.2至步骤1.4更加智能化、自动化。
步骤2. 设置数据采集信息,对接收到的数据进行采集并进行处理转化,将采集处理转化后的数据以及数据采集信息暂存到txt文档中;读取采集处理转化后的数据并进行数据显示,同时根据采集处理转化后的数据进行实时绘图显示;在绘图显示过程中实现对不同时刻点的数据进行对比、悬浮显示某一时刻点与各项属性值以及标签显示的可视化操作。
采集信息例如包含采集日期、采集型号、采集名称、采集人员、备注信息等。
将数据采集信息填写完后,利用QMessageBox类的question()函数询问并获取是否确认的对话框,以此来提示操作者是否开始采集。
数据开始采集时,会向采集设备发送控制采集语句,系统会接收到原始采集数据。
若采集到的数据与需要处理的数据进制类型不一致,还需要进行数据类型转化,即将采集的数据处理转化成与需要处理的数据进制类型一致。以采集的数据为十六进制数据,而需要转化的数据为十进制数据为例:当接收到数据后,根据数据传输协议将采集到的数据进行处理转化,将部分采集到的十六进制数据低8位与高8位正确排序后,切割掉两个数据中间的空白字符,将两个数据拼接成新的数据,并将新的数据转化为十进制数据,其它完整的十六进制数据可以根据预先写好的进制转化程序直接转化为十进制数据。
将当前采集转化处理后的十进制数据以及采集日期、采集型号、采集名称、采集人员、备注信息、采集数据个数等数据采集信息暂时插入到txt文件中。
定时(例如设置1000ms)调用数据更新函数,获取采集转化处理后的数据与当前时间并添加到绘图曲线上;实时绘图曲线类型是QSplineSeries类,以曲线图的形式显示数据;对采集转化处理后的数据进行读取,当曲线图处于不断更新状态时即实现实时绘图。
同时,利用数据显示框textEdit的setText()函数对采集处理转化后的数据进行数据显示。
根据采集处理转化后的数据进行实时绘图显示的具体实现过程为:
首先通过基于PyQT5的QT Designer在UI界面建立一个QChartView属性的画图位置,以便于实时绘图的显示,当系统运行时进行初始化,并调用设置函数。
设置函数为:加载Qchart波形显示界面与绘图曲线显示动画,并且设置曲线的颜色、X轴显示格式、Y轴的区间、设置绘图曲线的名称并与预设的Y轴进行绑定。
利用QSplineSeries属性绘图曲线的attachAxis()函数,与预设的X轴与Y轴进行绑定;其中,当与Y轴绑定时,数据属性相同的绑定同一条Y轴。
例如,以针对洗衣机的数据采集与处理为例,洗衣机的实时转速、下一阶段脱水转速、设置转速均与转速相关,那么其单位一致,便可以绑定同一条Y轴。
设置多条Y轴并通过addAxis()函数添加到画图位置的左侧或右侧,实现多Y轴。
当开始采集数据时,调用数据更新函数,获取采集处理转化后的数据,并用曲线图的形式进行显示,当定时调用所述数据更新函数时,就呈现出动态绘图的状态。
在绘图显示过程中实现对不同时刻点的数据进行对比的过程如下:在绘图显示过程中双击实时绘图曲线上的某一位置会触发点击时刻点显示函数,该显示函数首先将点击位置的坐标信息转为对应X轴的时刻点,然后判断第一个时刻点显示区域是否为空。若第一个时刻点显示区域为空,表明未获取鼠标双击时刻点,即未点击绘图曲线进行数据对比,则将转换出来的时刻点即鼠标双击绘图曲线位置所对应的时刻点利用输入文本框lineEdit的setText()函数填写到第一个时刻点显示区域,并将该时刻点所对应的各条实时绘图曲线的Y值存到一个列表中。其中,Y值是指所有实时绘图曲线即所有数据属性在所点击时刻点的数据值。
如果第一个时刻点显示区域不为空,并且第二个时刻点显示区域为空,表明只获取了第一次鼠标双击曲线的时刻点,等待获取第二次鼠标双击曲线的时刻点,则将转换出来的时刻点即鼠标双击绘图曲线位置所对应的时刻点利用输入文本框lineEdit的setText()函数填写到第二个时刻点显示区域,并将该时刻点所对应的各条实时绘图曲线Y值存到另外一个列表中。
将生成的两个列表对应数值相减并存到第三个列表,最后利用matplotlib绘图库中的pyplot绘图模块对两个不同时刻点的各项数据和数据之差做图表,并进行弹窗显示。
点击‘清除数据’按键会将时刻点显示区域清空,等待获取下一次需要对比的时刻点。
其中,第一时刻点显示区域以及第二时刻点显示区域是一个QLineEdit文本输入框,分别用于获取第一次鼠标双击曲线的时刻点以及第二次鼠标双击曲线的时刻点。
在绘图显示过程中进行标签显示的过程如下:
标签显示区域包含代表各个数据属性颜色的曲线与数据属性名称。
当单击标签时,触发鼠标单击函数,并执行以下动作:改变标签的透明度与实时绘图曲线的显示状态,使得标签与实时绘图曲线的状态在点击后发生变化。
在绘图显示过程中悬浮显示某一时刻点与各项属性值的过程如下:
当光标显示在实时绘图曲线的上方时,触发鼠标悬停函数,并执行以下动作:
将当前光标与实时绘图的交点位置转换成X轴的时刻点,并通过实时绘图的pointsVector()函数获取该时刻点所对应的实时绘图曲线中的各个Y值。
利用显示文本提示框QToolTip的showText()函数将时刻点以及各个Y值展示出来。
读取采集处理转化后的数据并进行数据显示的过程如下:
当开始采集时,系统会调用数据更新函数:获取处理转化后的某些特定属性数据,并用数据显示框textEdit的setText()函数来显示数据。
当定时调用数据更新函数时,则呈现出实时显示数据的状态。实时显示的数据为状态显示数据,一般不发生变化,以针对洗衣机的数据采集与处理为例,例如洗衣机的锁门、门锁继电器等数据参数,其只有在特定的条件下才发生变化。
当数据采集结束后,会提示是否保存数据。
如果选择是,则会将调用插入数据库函数,将暂存到txt文件中的数据插入到数据库中,然后删除txt文件中的数据;选择否的话,会直接删除txt文件中的数据。
另外,本发明方法能够同时对多个采集设备的数据进行采集处理与可视化,当系统获取到采集的数据后,可以按照采集数据的MAC地址将数据进行分类,不同的MAC地址代表不同设备发送来的数据。系统采用多线程方法对不同设备采集的数据同时进行处理,提高了数据处理的效率。当系统开始数据采集后,系统按照采集数据MAC地址的不同将处理转化后的数据暂存在不同的txt文件中,并可以在不同的页面中同时对数据进行可视化。
步骤3. 设置查询条件并从数据库中查询相应的历史数据进行数据显示,历史数据按照每次数据采集时间的先后顺序依次进行编号显示。根据所查询历史数据的某个数据属性进行历史数据绘图显示;对所查询出的历史数据进行删除、导出以及两次不同历史数据的同一数据属性进行数据对比可视化操作。
历史数据查询包含需要根据某些内容进行查询的信息:采集日期、采集型号、采集名称、采集人员、备注、采集设备信息,以及查询、清空数据、显示全部三个按键,填写dateEdit日期控件属性的采集日期以及其它lineEdit输入文本框属性的任意采集信息,点击‘查询’按键会调用查询函数:获取填写的查询信息内容,并打开数据库获取与填写的查询信息内容相匹配的数据,并将查询的数据信息添加到历史数据显示单元中,其中利用表格列表控件TableWidget对查询的历史数据进行展示;点击‘显示全部’按键则直接打开数据库,将所有的采集数据信息展示在历史数据显示单元中;点击‘清空数据’按键会打开数据库将表中的数据全部删除。
利用表格列表控件TableWidget进行显示,具体为:
首先将需要显示历史数据的基本信息默认显示在表格列表控件TableWidget的上方,作为表格的标题;之后获取数据库中的历史数据来显示表格列表控件TableWidget中的数据行数,将对应的数据内容显示在表格列表对应的位置上;
表格列表的最后一个标题‘操作’对应的历史绘图下拉框即是可以对所查询数据库中的历史数据的某个数据属性进行历史绘图,即点击comboBox下拉框控件中的任意一个数据属性,都会触发选择函数绑定的事件,即首先从数据库中选择出此次操作所对应的历史数据,然后选择出需要历史绘图的数据属性,并以存储到数据库的时间为X轴,对数据进行历史绘图,历史绘图采用matplotlib绘图库中的pyplot绘图模块画图。
在绘图显示过程中进行历史数据对比、删除以及导出的过程如下:
右击触发历史数据操作函数会弹窗显示对比、删除以及导出操作;历史数据操作函数使用QMenu创建弹出操作菜单,通过addAction()函数添加菜单项:对比、删除、导出。
对所查询历史数据中两次不同历史数据的同一数据属性进行数据对比时,需要先点击选择需要对比的参数,当选择对比菜单项时,会将点击的历史数据序号显示在历史数据对比区域内,并打开数据库获取此次点击位置的历史数据,当第二次选择数据对比时会触发数据对比函数,会调用数据库中获取到点击的两次采集数据进行数据对比绘图。
其中,进行数据对比需要获取到两次需要对比的历史数据,第一次点击对比后获取到第一次需要对比的历史采集数据,并将采集数据的序号显示显示在第一个‘请输入对比编号:’后面,第二次选择好需要对比的历史采集数据后进行数据对比。
数据对比绘图的过程为:利用matplotlib绘图库中的pyplot绘图模块在同一张图上进行显示,绘图时以采集时间为X轴,以采集数据值为纵坐标,显示两次不同历史采集中同一数据属性的数值变化,两次选择的历史采集数据用两种不同的颜色来区分。
当选择删除菜单项会将选择好的历史数据利用sql删除语句从数据库中删除,当选择导出菜单项会将选中的历史数据包括数据属性名称,利用循环语句全部写入到xlsx表格中。
本发明集软件集数据采集与数据处理于一体,能够实时采集数据并对数据进行处理,数据处理的效率相对高。本发明能够实时的观测采集数据的变化,采集数据进行实时绘图时可以对两个不同时刻点的数据进行对比,显示不同时刻点各数据的差值,数据可视化程度高。本发明除了可以对数据进行增、删、查等操作,还可以对历史数据进行绘图、对比、导出等操作,对数据的管理性较强。本发明能够对多设备同时采集的数据在不同的处理页面进行同步处理,保证了数据处理的实时性与准确性。
本发明数据采集与处理方法,例如可以应用于洗衣机的数据采集与可视化处理,其过程如下:通过lora模块进行无线通信,配置串口信息后获取到洗衣机主控板发送的数据并显示在系统数据采集页面的数据接收单元中,结合洗衣机MAT通信协议及洗衣机主板约定好各参数的定义对采集的数据进行处理转化。在采集设备可视化界面,点击‘开始采集’按键后会对洗衣机的数据进行可视化处理,其中对洗衣机的非状态位:水位频率、转速、水温、水位等数据属性进行实时绘图,对锁门、门锁继电器、电源、主控版本号等状态位数据属性进行实时显示,实现对洗衣机数据的可视化处理。此外,在历史数据管理界面,可以对保存到数据库中的洗衣机数据进行查询,并针对特定的洗衣机数据进行历史绘图、删除、导出等操作,并实现将不同历史采集数据进行对比,实现了对洗衣机的历史采集数据的管理。
当然,以上仅仅为示例性的,目的是方便更好地理解本发明,本发明述及的数据采集与处理方法主要依靠主控板对数据进行采集,然后依照每个采集设备的通信协议对数据进行处理,可以用于出厂数据的测试以及研发数据的测试监测,类似的应用场景例如还可以是干洗机或空调领域的数据采集与可视化处理,其原理与洗衣机场景相同,此处不再详细赘述。
此外,基于同样的发明构思,本发明实施例还提供了一种对应于上述数据采集与处理方法的数据采集与处理系统。该数据采集与处理系统,包括如下功能模块:
数据采集模块,用于设置串口信息并打开串口、向采集设备发送初始化命令以及接收采集设备的原始数据,并对发送的初始化命令以及接收到的数据进行显示;
数据可视化处理模块,设置数据采集信息,对接收到的数据进行采集并进行处理转化,将采集处理转化后的数据以及数据采集信息暂存到txt文档中;读取采集处理转化后的数据并进行数据显示,同时根据采集处理转化后的数据进行实时绘图显示;在绘图显示过程中实现对不同时刻点的数据进行对比、悬浮显示某一时刻点与各项属性值以及标签显示的可视化操作;当数据采集结束后若需要保存,则将暂存到txt文档中的数据存储到数据库中;
历史数据处理模块,用于设置查询条件并从数据库中查询相应的历史数据进行数据显示,历史数据按照每次数据采集时间的先后顺序依次进行编号显示;根据所查询历史数据的某个数据属性进行历史数据绘图显示;对所查询出的历史数据进行删除、导出以及两次不同历史数据的同一数据属性进行数据对比可视化操作。
需要说明的是,上述数据采集与处理系统中,各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
此外,本发明还提出了一种用于实现上述数据采集与处理方法的计算机设备。该计算机设备包括存储器和一个或多个处理器。其中,在存储器中存储有可执行代码,处理器执行所述可执行代码时,用于实现上述数据采集与处理方法的步骤。
本实施例中计算机设备为任意具备数据数据处理能力的设备或装置,此处不再赘述。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,用于实现上述数据采集与处理方法的步骤。
该计算机可读存储介质可以是任意具备数据处理能力的设备或装置的内部存储单元,例如硬盘或内存,也可以是任意具备数据处理能力的设备的外部存储设备,例如设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。
当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。
Claims (8)
1.一种数据采集与处理方法,其特征在于,包括如下步骤:
步骤1. 设置串口信息并打开串口、向采集设备发送初始化命令以及接收采集设备的原始数据,并对发送的初始化命令以及接收到的数据进行显示;
步骤2. 设置数据采集信息,对接收到的数据进行采集并进行处理转化,将采集处理转化后的数据以及数据采集信息暂存到txt文档中;读取采集处理转化后的数据并进行数据显示,同时根据采集处理转化后的数据进行实时绘图显示;在绘图显示过程中实现对不同时刻点的数据进行对比、悬浮显示某一时刻点与各项属性值以及标签显示的可视化操作;当数据采集结束后若需要保存,则将暂存到txt文档中的数据存储到数据库中;
所述步骤2中,进行数据显示以及实时绘图显示的过程为:
定时调用数据更新函数,获取采集转化处理后的数据并添加到绘图曲线上;
其中,实时绘图曲线类型是QSplineSeries类,以曲线图的形式显示数据;对采集转化处理后的数据进行读取,当曲线图处于不断更新状态时即实现实时绘图;
同时,利用数据显示框textEdit的setText()函数对采集处理转化后的数据进行数据显示;
实时绘图显示的具体实现过程为:
首先通过基于PyQT5的QT Designer在UI界面建立一个QChartView属性的画图位置,以便于实时绘图的显示,当系统运行时进行初始化,并调用设置函数;设置函数为:
加载QChart波形显示界面与绘图曲线显示动画,并且设置曲线的颜色、X轴显示格式、Y轴的区间、设置绘图曲线的名称并与预设的Y轴进行绑定;
利用QSplineSeries属性绘图曲线的attachAxis()函数,与预设的X轴与Y轴进行绑定;其中,当与Y轴绑定时,数据属性相同的绑定同一条Y轴;
设置多条Y轴并通过addAxis()函数添加到画图位置的左侧或右侧,实现多Y轴;
当开始采集数据时,调用数据更新函数获取采集处理转化后的数据,并用曲线图的形式进行显示,当定时调用所述数据更新函数时呈现出动态绘图的状态;
步骤3. 设置查询条件并从数据库中查询相应的历史数据进行数据显示;根据所查询历史数据的某个数据属性进行历史数据绘图显示;对所查询出的历史数据进行删除、导出以及两次不同历史数据的同一数据属性进行数据对比可视化操作。
2.根据权利要求1所述的数据采集与处理方法,其特征在于,
所述步骤2中,在绘图显示过程中实现对不同时刻点的数据进行对比的过程如下:
在绘图显示过程中双击实时绘图曲线上的某一位置会触发点击时刻点显示函数,该显示函数首先将点击位置的坐标信息转为对应X轴的时刻点,然后判断第一个时刻点显示区域是否为空;若第一个时刻点显示区域为空,表明未获取鼠标双击时刻点,则将转换出来的时刻点即鼠标双击绘图曲线位置所对应的时刻点利用输入文本框lineEdit的setText()函数填写到第一个时刻点显示区域,并将该时刻点所对应的各条实时绘图曲线的Y值存到一个列表中;
其中,Y值是指所有实时绘图曲线即所有数据属性在所点击时刻点的数据值;
如果第一个时刻点显示区域不为空,并且第二个时刻点显示区域为空,表明只获取了第一次鼠标双击曲线的时刻点,等待获取第二次鼠标双击曲线的时刻点,则将转换出来的时刻点即鼠标双击绘图曲线位置所对应的时刻点利用输入文本框lineEdit的setText()函数填写到第二个时刻点显示区域,并将该时刻点所对应的各条实时绘图曲线Y值存到另外一个列表中;
将生成的两个列表对应数值相减并存到第三个列表,最后利用matplotlib绘图库中的pyplot绘图模块对两个不同时刻点的各项数据和数据之差做图表,并进行弹窗显示;
其中,第一时刻点显示区域以及第二时刻点显示区域是一个QLineEdit文本输入框,分别用于获取第一次鼠标双击曲线的时刻点以及第二次鼠标双击曲线的时刻点。
3.根据权利要求1所述的数据采集与处理方法,其特征在于,
所述步骤2中,在绘图显示过程中进行标签显示的过程如下:
标签显示区域包含代表各个数据属性颜色的曲线与数据属性名称;
当单击标签时,触发鼠标单击函数,并执行以下动作:改变标签的透明度与实时绘图曲线的显示状态,使得标签与实时绘图曲线的状态在点击后发生变化;
所述步骤2中,在绘图显示过程中悬浮显示某一时刻点与各项属性值的过程如下:
当光标显示在实时绘图曲线的上方时,触发鼠标悬停函数,并执行以下动作:
将当前光标与实时绘图的交点位置转换成X轴的时刻点,并通过实时绘图的pointsVector()函数获取该时刻点所对应的实时绘图曲线中的各个Y值;
利用显示文本提示框QToolTip的showText()函数将时刻点以及各个Y值展示出来。
4.根据权利要求1所述的数据采集与处理方法,其特征在于,
所述步骤3中,从数据库中查询相应的历史数据进行数据显示的过程如下:
利用表格列表控件TableWidget进行显示,具体为:
首先将需要显示历史数据的基本信息默认显示在表格列表控件TableWidget的上方,作为表格的标题;之后获取数据库中的历史数据来显示表格列表控件TableWidget中的数据行数,将对应的数据内容显示在表格列表对应的位置上;
根据所查询历史数据的某个数据属性进行历史数据绘图显示的过程如下:当对数据库中查询的历史数据的某个数据属性进行历史绘图时,点击并选择comboBox控件即历史绘图下拉框中的任意一个数据属性,都会触发选择函数绑定的事件,即首先从数据库中选择出此次操作所对应的历史数据,然后选择出需要历史绘图的数据属性,并以存储到数据库的时间为X轴对数据进行历史绘图,历史绘图采用matplotlib绘图库中的pyplot绘图模块画图。
5.根据权利要求1所述的数据采集与处理方法,其特征在于,
所述步骤3中,在绘图显示过程中进行历史数据对比、删除以及导出的过程如下:
右击触发历史数据操作函数会弹窗显示对比、删除以及导出操作;历史数据操作函数使用QMenu创建弹出操作菜单,通过addAction()函数添加菜单项:对比、删除、导出;
对所查询历史数据中两次不同历史数据的同一数据属性进行数据对比时,需要先点击选择需要对比的参数,当选择对比菜单项时,会将点击的历史数据序号显示在历史数据对比区域内,并打开数据库获取此次点击位置的历史数据,当第二次选择数据对比时会触发数据对比函数,以调用数据库中获取到的两次采集数据进行数据对比绘图;
其中,数据对比绘图的过程为:利用matplotlib绘图库中的pyplot绘图模块在同一张图上进行显示,绘图时以采集时间为X轴,以采集数据值为纵坐标,显示两次不同历史采集中同一数据属性的数值变化,两次选择的历史采集数据用两种不同的颜色来区分;
当选择删除菜单项会将选择好的历史数据利用sql删除语句从数据库中删除,当选择导出菜单项会将选中的历史数据包括数据属性名称,利用循环语句全部写入到xlsx表格中。
6.一种数据采集与处理系统,其特征在于,包括如下步骤:
数据采集模块,用于设置串口信息并打开串口、向采集设备发送初始化命令以及接收采集设备的原始数据,并对发送的初始化命令以及接收到的数据进行显示;
数据可视化处理模块,设置数据采集信息,对接收到的数据进行采集并进行处理转化,将采集处理转化后的数据以及数据采集信息暂存到txt文档中;读取采集处理转化后的数据并进行数据显示,同时根据采集处理转化后的数据进行实时绘图显示;在绘图显示过程中实现对不同时刻点的数据进行对比、悬浮显示某一时刻点与各项属性值以及标签显示的可视化操作;当数据采集结束后若需要保存,则将暂存到txt文档中的数据存储到数据库中;
进行数据显示以及实时绘图显示的过程为:
定时调用数据更新函数,获取采集转化处理后的数据并添加到绘图曲线上;
其中,实时绘图曲线类型是QSplineSeries类,以曲线图的形式显示数据;对采集转化处理后的数据进行读取,当曲线图处于不断更新状态时即实现实时绘图;
同时,利用数据显示框textEdit的setText()函数对采集处理转化后的数据进行数据显示;
实时绘图显示的具体实现过程为:
首先通过基于PyQT5的QT Designer在UI界面建立一个QChartView属性的画图位置,以便于实时绘图的显示,当系统运行时进行初始化,并调用设置函数;设置函数为:
加载QChart波形显示界面与绘图曲线显示动画,并且设置曲线的颜色、X轴显示格式、Y轴的区间、设置绘图曲线的名称并与预设的Y轴进行绑定;
利用QSplineSeries属性绘图曲线的attachAxis()函数,与预设的X轴与Y轴进行绑定;其中,当与Y轴绑定时,数据属性相同的绑定同一条Y轴;
设置多条Y轴并通过addAxis()函数添加到画图位置的左侧或右侧,实现多Y轴;
当开始采集数据时,调用数据更新函数获取采集处理转化后的数据,并用曲线图的形式进行显示,当定时调用所述数据更新函数时呈现出动态绘图的状态;
历史数据处理模块,用于设置查询条件并从数据库中查询相应的历史数据进行数据显示;根据所查询历史数据的某个数据属性进行历史数据绘图显示;对所查询出的历史数据进行删除、导出以及两次不同历史数据的同一数据属性进行数据对比可视化操作。
7.一种计算机设备,包括存储器和处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,用于实现权利要求1至5任一项所述的数据采集与处理方法的步骤。
8.一种计算机可读存储介质,其上存储有程序,其特征在于,当该程序被处理器执行时,用于实现权利要求1至5任一项所述的数据采集与处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211609488.9A CN115618033B (zh) | 2022-12-15 | 2022-12-15 | 数据采集与处理方法、系统、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211609488.9A CN115618033B (zh) | 2022-12-15 | 2022-12-15 | 数据采集与处理方法、系统、计算机设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115618033A CN115618033A (zh) | 2023-01-17 |
CN115618033B true CN115618033B (zh) | 2023-03-14 |
Family
ID=84880094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211609488.9A Active CN115618033B (zh) | 2022-12-15 | 2022-12-15 | 数据采集与处理方法、系统、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115618033B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591577B (zh) * | 2024-01-18 | 2024-05-03 | 中核武汉核电运行技术股份有限公司 | 一种基于文件存储的核电历史数据对比方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104677343A (zh) * | 2013-11-27 | 2015-06-03 | 哈尔滨功成科技创业投资有限公司 | 一种温盐深传感器数据采集处理系统 |
US20210183128A1 (en) * | 2014-02-20 | 2021-06-17 | William Ernest Miller | Method and system for construction project management using photo imaging measurements |
CN107016228B (zh) * | 2016-11-25 | 2023-08-18 | 斯图尔特平李 | 一种基于hmds的医学成像系统 |
CN108042154B (zh) * | 2017-12-08 | 2021-06-15 | 浙江中医药大学 | 二维超声心动图序列中心肌形状、运动和变形分析方法 |
CN113008710A (zh) * | 2019-12-04 | 2021-06-22 | 广州华工弈高科技有限公司 | 一种基于无轴心弯折的柔性电路弯曲折叠寿命性能检测系统 |
CN111322114A (zh) * | 2020-03-09 | 2020-06-23 | 青岛理工大学 | 一种隧道风压可视化监测方法、系统、存储介质、装置 |
CN112927793A (zh) * | 2021-01-26 | 2021-06-08 | 天津大学 | 基于Web的意识障碍脑电数据分析系统 |
CN113886363A (zh) * | 2021-10-19 | 2022-01-04 | 一汽解放汽车有限公司 | 历史数据显示方法、装置、计算机设备及存储介质 |
-
2022
- 2022-12-15 CN CN202211609488.9A patent/CN115618033B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115618033A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598574B (zh) | 页面渲染的方法和装置 | |
JP5329012B2 (ja) | プロセス制御システム及び方法 | |
CN115618033B (zh) | 数据采集与处理方法、系统、计算机设备以及存储介质 | |
JPH10171623A (ja) | オブジェクト指向アプリケーション・プログラムを実行するための方法及びコンピュータ・システム | |
CN103728518A (zh) | 变频器调试系统及方法 | |
CN103955421A (zh) | 一种针对文件删除的方法及系统 | |
CN103714492A (zh) | 符合配电网管理特定数据标准的自动报告生成方法 | |
JP2002521746A (ja) | 表示装置に表示したデータの解釈を視覚的に支援する方法とツール | |
CN109033598B (zh) | 一种基于Revit的批量设置标高的方法 | |
CN110543295B (zh) | 可视化Web前端项目构建系统 | |
CN111782651A (zh) | 数据关联关系的可视化编辑方法、装置、设备及存储介质 | |
CN107423270B (zh) | 一种在线流程图和代码实时互转的实现方法 | |
CN110333861B (zh) | 一种基于plc的上位机通用ui设计方法 | |
CN101425037B (zh) | Gui性能日志生成系统、方法及gui性能分析方法 | |
CN111596824B (zh) | 图纸标准化编制方法、系统及电子设备 | |
CN106815010B (zh) | 一种操作数据库的方法及装置 | |
CN111814438A (zh) | 一种网络图的绘制系统及方法 | |
CN116541005A (zh) | 一种前端界面配置的抽象描述方法、装置、设备及介质 | |
CN114281539A (zh) | 一种资源配置方法、系统及存储介质 | |
CN110333906B (zh) | 一种快速处理预留设备的方法、系统、装置和存储介质 | |
CN110909220A (zh) | 拓扑可视化方法及装置 | |
CN109725968B (zh) | 基于群聊的人机交互管理器、服务器、系统及方法 | |
JP2001318944A (ja) | 検索装置およびそのプログラム記録媒体 | |
CN108829387B (zh) | 一种基于Windows平台的RPC函数生成方法 | |
CN117472344A (zh) | 一种代码生成方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |