基于MatlabGUI的数据处理方法、装置、电子设备及存储介质与流程

文档序号:33292494发布日期:2023-02-28 20:20阅读:45来源:国知局
基于MatlabGUI的数据处理方法、装置、电子设备及存储介质与流程
gui软件串口发送与接收的数据个数,判断是否与下位机接收和发送的数据个数相匹配。
19.第二方面,本发明实施例提供了一种基于matlab gui的数据处理装置,所述数据处理装置包括:
20.串口通信配置单元,在matlab gui软件上配置串口以与下位机建立通信,在所述串口预设可接收数据的通道数量;
21.数据接收单元,通过所述串口的通道接收所述下位机发送的数据;
22.数据处理单元,将所述下位机发送的数据进行绘制并在所述matlab gui软件界面进行显示和/或存储。
23.第三方面,本发明的实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述的方法。
24.第四方面,本发明的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
25.有益效果
26.本发明提供了一种基于matlab gui(graphical user interface)的数据处理方法,所述数据处理方法通过在matlab gui(graphical user interface)软件上配置串口以与下位机建立通信,在所述串口预设可接收数据的通道数量;通过所述串口的通道接收所述下位机发送的数据;将所述下位机发送的数据进行绘制并在所述matlab gui(graphical user interface)软件界面进行显示和/或存储,通过matlab串口函数中连续工作模式,可实现高速数据传输将数据直接传输到matlab内部缓存空间内,无需生成txt或dat等格式的数据文件,去掉数据文件导入到matlab的步骤,过程简单、耗时短、在缓存空间足够的情况下,能保证数据传输的连续性,做到不丢数据。
27.应当理解,

技术实现要素:
部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
28.结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素。
29.图1示出了本发明实施例的一种基于matlab gui的数据处理的流程图;
30.图2示出了本发明实施例的一种基于matlab gui的数据处理装置的结构示意图;
31.图3示出了本发明实施例的一种基于matlab gui的数据处理装置的工作流程图;
32.图4示出了本发明实施例的一种电子设备的结构图。
具体实施方式
33.为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
34.需要说明的是,本发明实施例描述的仅仅是为了更加清楚的说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定。
35.在用嵌入式软件调试过程中,传统上位机串口调试软件常采用vs、vb等软件编写,储存下来的数据文件格式为dat或txt。在matlab软件后期处理中,需要先将dat或txt文件格式导入到workspace中,当存在多个大量数据文件同时导入时,过程繁琐、耗时过长、容易出错。
36.在多数情况下,调试过程中不免会出现误操作或者参数不合适等问题,若是将实时传输的数据绘制出来,可及时观测到调试中的问题,即时命令下位机停止发送数据。若能提前对数据进行预判,只将需要处理的数据保存到上位机,可一定程度上节省储存空间。
37.本发明充分发挥matlab软件强大的函数库及gui可视化的优势,提出了基于matlabgui串口通信高速数据采集的实时绘图及数据预处理的方法,该方法能有效解决上述问题,并具有简单易操作等特点,加速了数据传输和数据处理的过程。
38.图1示出了本发明实施例的一种基于matlab gui的数据处理方法的流程图;如图1所示,所述数据处理方法包括:
39.s20、在matlab gui软件上配置串口以与下位机建立通信,在所述串口预设可接收数据的通道数量;具体的,可以配置串口端号、波特率、校验位、通道数、开关串口等信息。对串口内部工作机制进行设置,如数据位、中断标志、数据传输模式、回调函数、溢出时间等。其中,通道数代表接收有效数据的个数,如选择7通道,则可接收7路不同的物理量。同时为防止开关串口时,出现端口号占用的问题,可在关闭串口功能内加入删除所有端口信息,不再使用串口时,将串口释放。发送命令时,打开串口,设置相关命令,发送到下位机;可以对发送数据大小进行限制,防止误操作发送意外数。对gui界面发送面板区域输入的数字,按照发送协议对数据进行处理,然后将十进制转换为十六进制,取低8位进行数据累加和。最后选择低8位异步发送模式将数据写入到串口中。
40.s40、通过所述串口的通道接收所述下位机发送的数据;
41.可以考虑将所需变量设置为全局变量,并将此部分放在回调函数中。首先对接收的数据进行帧头、校验和验证,验证正确后,去掉帧头提取数据体,并对数据体放入到内部缓存区;验证错误后,再次寻找帧头,重新验证。
42.s60、将所述下位机发送的数据进行绘制并在所述matlab gui软件界面进行显示和/或存储。
43.本实施例提供了一种基于matlab gui(graphical user interface)的数据处理方法,所述数据处理方法通过在matlab gui(graphical user interface)软件上配置串口以与下位机建立通信,在所述串口预设可接收数据的通道数量;通过所述串口的通道接收所述下位机发送的数据;将所述下位机发送的数据进行绘制并在所述matlab gui(graphical user interface)软件界面进行显示和/或存储,通过matlab串口函数中连续工作模式,可实现高速数据传输将数据直接传输到matlab内部缓存空间内,无需生成txt或dat等格式的数据文件,将数据直接传输到matlab内部缓存空间内,去掉数据文件导入到matlab的步骤;针对大量数据文件导入问题,节省了时间,便于后期数据优化和处理。
44.具体地,当选择开启实时绘图功能前,可以选择绘图采样点频率,然后按采样点频率将内部缓存数据显示出来,此部分同样放在回调函数中;通过绘图可对数据的有效性进
行预判;对无效数据可选择提前关闭数据传输,一定程度上可节省缓存空间,提高系统调试效率;
45.当接收完下位机的数据时,可选择将内部缓存区的数据按传输先后顺序保存为内部mat数据文件,双击该数据文件可自动导入到workspace中,便于后续使用。保存完成后,可选择清除内部缓存区数据,以节省缓存区空间。
46.作为可能实现的一种实施方式,所述数据处理方法还包括:
47.调用脚本文件,按脚本文件中的功能对接收的下位机发送的数据进行预处理。同时,脚本文件可根据需要进行不断修改,方便数据处理。通过对脚本文件功能的编写,可按预期对数据进行预处理,方便后续数据继续使用。
48.作为可能实现的一种实施方式,所述数据处理方法还包括:统计上位机matlab gui软件串口发送与接收的数据个数,判断是否与下位机接收和发送的数据个数相匹配。
49.基于同一发明构思,本发明实施例还提供了一种基于matlab gui(graphical user interface)的数据处理装置,可以用于实现上述实施例中所描述的一种基于matlab gui(graphical user interface)的数据处理方法,如下面实施例所述:由于该一种基于matlab gui(graphical user interface)的数据处理装置解决问题的原理与一种基于matlab gui(graphical user interface)的数据处理方法相似,因此一种基于matlab gui(graphical user interface)的数据处理装置的实施可以参见一种文件保护方法的实施,重复之处不再赘述。以下所使用的,术语“单元”可以实现预定功能的软件和和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
50.具体地,基于matlab gui(graphical user interface)的数据处理装置包括设置有图形化操作界面的matlab gui工具及配置分布、串口通信配置单元20、数据接收单元40、数据处理单元60等部分组成。
51.图2示出了本发明实施例的一种基于matlab gui(graphical user interface)的数据处理装置的结构示意图;如图2所示,所述数据处理装置包括:
52.串口通信配置单元20,在matlab gui软件上配置串口以与下位机建立通信,在所述串口预设可接收数据的通道数量;
53.数据接收单元40,通过所述串口的通道接收所述下位机发送的数据;可以考虑将所需变量设置为全局变量,并将此部分放在回调函数中。
54.数据处理单元60,将所述下位机发送的数据进行绘制并在所述matlab gui软件界面进行显示和/或存储。
55.本上述例提供了一种基于matlab gui(graphical user interface)的数据处理装置,所述数据处理装置通过串口通信配置单元20在matlab gui(graphical user interface)软件上配置串口以与下位机建立通信,在所述串口预设可接收数据的通道数量;通过数据接收单元40在所述串口的通道接收所述下位机发送的数据;通过数据处理单元60将所述下位机发送的数据进行绘制并在所述matlab gui(graphical user interface)软件界面进行显示和/或存储,通过matlab串口函数中连续工作模式,可实现高速数据传输将数据直接传输到matlab内部缓存空间内,无需生成txt或dat等格式的数据文件,将数据直接传输到matlab内部缓存空间内,去掉数据文件导入到matlab的步骤;针对大
量数据文件导入问题,节省了时间,便于后期数据优化和处理。
56.具体地,所述图形化操作界面的matlab gui工具及配置分布,新建空白fig文件,对画布尺寸进行规划并修改,并添加gui相应工具箱。选择静态文本、可编辑文本、普通按钮、弹出式菜单、坐标区、面板等功能在画布内进行合理布局和基础配置。
57.所述串口通信配置单元20,对串口功能的实现进行配置。选择设置端口号、波特率、校验位、通道数、开关串口等信息。对串口内部工作机制进行设置,如数据位、中断标志、数据传输模式、回调函数、溢出时间等。其中,通道数代表接收有效数据的个数,如选择7通道,则可接收7路不同的物理量。同时为防止开关串口时,出现端口号占用的问题,可在关闭串口功能内加入删除所有端口信息,不再使用串口时,将串口释放。
58.发送命令时,打开串口,设置相关命令,发送到下位机,可以对发送数据大小进行限制,防止误操作发送意外数。对gui界面发送面板区域输入的数字,按照发送协议对数据进行处理,然后将十进制转换为十六进制,取低8位进行数据累加和。最后选择低8位异步发送模式将数据写入到串口中。
59.所述数据接收单元40,需要考虑将所需变量设置为全局变量,并将此部分放在回调函数中。首先对接收的数据进行帧头、校验和验证,验证正确后,去掉帧头提取数据体,并对数据体放入到内部缓存区;验证错误后,再次寻找帧头,重新验证。
60.所述数据处理单元60,可选择开启或关闭。当选择开启实时绘图功能前,需要选择绘图采样点频率,然后按采样点频率将内部缓存数据显示出来。此部分同样放在回调函数中。
61.当接收完下位机的数据时,可选择将内部缓存区的数据按传输先后顺序保存为内部mat数据文件,双击该数据文件可自动导入到workspace中,便于后续使用。保存完成后,可选择清除内部缓存区数据,以节省缓存区空间。
62.所述数据处理装置还包括数据预处理单元80,可调用脚本文件,按脚本文件中的功能对原始数据进行预处理。同时,脚本文件可根据需要进行不断修改,方便数据处理。
63.所述数据处理装置还包括所述数据统计单元100,可统计上位机gui软件串口发送与接收的数据个数,观测是否与下位机接收和发送的个数相匹配。
64.当接收完下位机的数据时,可选择将内部缓存区的数据按传输先后顺序保存为内部mat数据文件,双击该数据文件可自动导入到workspace中,便于后续使用。保存完成后,可选择清除内部缓存区数据,以节省缓存区空间。
65.上述各单元部分在gui界面上合理配置分布,通过设置串口通信,发送命令数据给下位机,选择接收数据通道数,将数据波形显示或存储下来。
66.下面以一较优的实施例对本发明的基于matlab gui(graphical user interface)的数据处理装置的工作流程进行说明:图3示出了本发明实施例的一种基于matlab gui的数据处理装置的工作流程图,如图3所示;
67.具体步骤如下:
68.1)打开matlab gui软件,配置串口端号、波特率等信息,选择可接收数据的通道数,然后打开串口。
69.2)设置相关命令,发送到下位机。
70.3)开启实时绘图/关闭实时绘图。在选择开启实时绘图之前,设置绘图点频率,接
收数据以提前选择的通道数在matlab gui界面上显示,如通道数选择7,可同时观测7路数据波形。开启实时绘图功能当中,可随时关闭实时绘图。
71.4)数据保存/数据清除。当完成一次数据传输后,可选择先将数据保存下来,在对应文本框内输入要保存数据文件的命名,数据会以matlab内部mat文件形式储存在当前工作目录下,便于后期调用matlab内部函数进行数据处理。完成数据保存后,可选择数据清除,及时清除内部缓存数据。
72.5)数据预处理。将对采集的数据进行预处理,将数据被处理后的预先功能和效果,写入到m文件中,通过调用实时脚本文件,完成对数据直接预处理。
73.6)按照需要重复步骤2-5,实现多通道高速数据传输与多组数据预处理。
74.7)统计数据接收与发送总数。
75.8)关闭串口,关闭软件。
76.本发明实施例还提供了一种计算机电子设备,图4示出了可以应用本发明实施例的电子设备的结构示意图,如图4所示,该计算机电子设备包括,中央处理模块(cpu)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram 403中,还存储有系统操作所需的各种程序和数据。cpu 401、rom 402以及ram 403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
77.以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
78.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和和/或流程图中的每个方框、以及框图和和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
79.描述于本发明实施例中所涉及到的模块或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括串口通信配置单元20和数据接收单元40,其中,这些单元的名称在某种情况下并不构成对该模块本身的限定,例如,数据接收单元40还可以被描述为“通过所述串口的通道接收所述下位机发送的数据的数据接收单元40”。
80.作为另一方面,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述一种文件保护装置中所包含的计算机可读存储介质;也可以是
单独存在,未装配入电子设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明的一种基于matlab gui(graphical user interface)的数据处理方法。
81.以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1