设备数据的采集方法及装置、存储介质和电子装置与流程

文档序号:20764313发布日期:2020-05-15 18:40阅读:142来源:国知局
设备数据的采集方法及装置、存储介质和电子装置与流程

本发明涉及智能设备领域,具体而言,涉及一种设备数据的采集方法及装置、存储介质和电子装置。



背景技术:

目前工业系统中,电表、气表、水表等传感器设备,大部分均采用modbusrtu的通信方式。为了能对其进行远程抄表和数据读取,均需要搭建监控系统,通过网关将设备仪表信息进行采集转发。

通常情况下网关的开发有定制化的情况,针对定制化的网关通常需要对总线上的设备协议进行预先设置,只有预先配置了相关的协议解析才能实现数据解析和转发。如果总线接入新的modbus设备,只能通过更改程序来实现。而为了实现从站设备自动入网,采用了通过预先配置协议解析,再通过遍历的方法对从站进行识别,最后主站对该从站进行数据采集。但,该方式中涉及到的设备扫描必须为本系统适应协议内的设备,如果总线上接入一种新的modbus设备,则无法实现自动接入。

针对相关技术中的上述问题,目前尚未存在有效的解决方案。



技术实现要素:

本发明实施例提供了一种设备数据的采集方法及装置、存储介质和电子装置,以至少解决相关技术中对于总线上的设备只有预先配置了相关的协议解析才能实现数据解析和转发的问题。

根据本发明的一个实施例,提供了一种设备数据的采集方法,包括:通过主设备对从设备的设备地址进行扫描;在所述设备地址未被所述主设备扫描到的情况下,通过所述主设备向所述从设备发送查询帧;通过所述主设备接收所述从设备反馈的反馈帧,并根据所述反馈帧中携带的可读写寄存器的范围信息对所述从设备进行数据采集。

根据本发明的另一个实施例,提供了一种设备数据的采集装置,包括:扫描模块,用于通过主设备对从设备的设备地址进行扫描;发送模块,用于在所述设备地址未被所述主设备扫描到的情况下,通过所述主设备向所述从设备发送查询帧;第一处理模块,用于通过所述主设备接收所述从设备反馈的反馈帧,并根据所述反馈帧中携带的可读写寄存器的范围信息对所述从设备进行数据采集。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,通过主设备对从设备的设备地址进行扫描,如果存在未被主设备扫描的设备地址,则说明该设备地址对应的从设备是新加入的,因此通过主设备向从设备发送查询帧,通过主设备接收从设备反馈的反馈帧,并根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集,也就是说,对于新加入总线的从设备可以通过主动向主设备发送可读写寄存器的范围信息,以使得主设备能够对新加入的从设备进行数据采集,解决了相关技术中对于总线上的设备只有预先配置了相关的协议解析才能实现数据解析和转发的问题,实现了设备自动扫描上线的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的设备数据的采集方法的流程图;

图2是根据本发明实施例的扫描帧的结构示意图;

图3是根据本发明实施例的反馈帧的结构示意图;

图4是根据本发明实施例的设备数据的采集装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

在本实施例中提供了一种设备数据的采集方法,图1是根据本发明实施例的设备数据的采集方法的流程图,如图1所示,该流程包括如下步骤:

步骤s102,通过主设备对从设备的设备地址进行扫描;

步骤s104,在设备地址未被主设备扫描到的情况下,通过主设备向从设备发送查询帧;

步骤s106,通过主设备接收从设备反馈的反馈帧,并根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集。

通过上述步骤s102至步骤s106,通过主设备对从设备的设备地址进行扫描,如果存在未被主设备扫描的设备地址,则说明该设备地址对应的从设备是新加入的,因此通过主设备向从设备发送查询帧,通过主设备接收从设备反馈的反馈帧,并根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集,也就是说,对于新加入总线的从设备可以通过主动向主设备发送可读写寄存器的范围信息,以使得主设备能够对新加入的从设备进行数据采集,解决了相关技术中对于总线上的设备只有预先配置了相关的协议解析才能实现数据解析和转发的问题,实现了设备自动扫描上线的效果。

在本实施例的可选实施方式中,在设备地址已被主设备扫描到的情况下,通过主设备直接接收从设备反馈的反馈帧,并根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集。也就是说,如果设备地址是已经被主设备扫描到的,则无需主设备发送查询帧,而是由从设备主动发送反馈帧,以使得主设备通过中携带的可读写寄存器的范围信息对从设备进行数据采集,提高了对从设备进行数据采集的效率。

在本实施例的可选实施方式中,对于本实施例中涉及到的根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集的方式进一步可以是:

步骤s11,比较主设备中的范围信息与反馈帧中携带的可读写寄存器的范围信息是否一致;

步骤s12,在主设备中的范围信息与反馈帧中携带的可读写寄存器的范围信息一致的情况下,根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集;

步骤s13,在主设备中的范围信息与反馈帧中携带的可读写寄存器的范围信息一致的情况下,确定反馈帧为非法帧。

也就是说,主设备接收到数据帧时,将数据帧的格式与当前从设备的可读写寄存器的范围信息进行比较,若不符合,则认为接收到的这个数据帧是非法帧,不进行具体数据内容的解析。

例如,在扫描过程中,当前从设备反馈了自己有多少组寄存器可访问;此时主设备接收到数据帧(其他设备发送的),该数据帧中包括起始地址、数据长度和校验码,如,要读的寄存器起始地址为3,读6个字节。但是,当前从设备的寄存器起始地址为3的话,只能读出4个字节,所以信息不匹配,认定为非法帧。本案主设备不对数据帧具体内容的正确与否进行判断,由从设备保证自己发送数据的正确性。所以主设备只是初步的格式上的判断,来排除非法帧。

在本实施例的可选实施方式中,主设备发送的查询帧,如图2所示,其格式与modbus标准格式类似,由设备地址、功能码以及crc校验组成,无有效数据部分。而对于从设备上线的反馈帧,如图3所示,该反馈帧其格式与modbus标准格式一致,由设备地址、功能码、有效数据以及crc校验组成。

具体地,如图3所示,有效数据包括:设备可被访问的寄存器(线圈)组个数,假设为n;具体寄存器(线圈)组1号的起始地址;具体寄存器(线圈)组1号的可访问数据个数;依次类推一直到第n号;

在本申请的另一个可选实施方式中,本实施例的方法步骤还可以包括:

步骤s108,根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集之后,通过主设备对设备地址的下一设备地址继续进行扫描。

也就是说,主设备对设备地址的扫描是循环扫描,如果对当前设备地址已经完成了扫描,则会对下一设备地址进行扫描,直到所有从设备均已上线,能够被主设备进行数据扫描,实现了对从设备进行周期性扫描的效果。

需要说明的是,本实施例中涉及到的可读写寄存器的范围信息包括以下至少之一:被访问的寄存器的数量,每一个寄存器的起始地址,每一个寄存器的可访问数据数量。另外,本实施例中的主设备和从设备应用于modbus协议。

下面结合本实施例的可选实施方式对本申请进行举例说明;

本可选实施例提供了针对modbus-rtu的设备自动扫描上线的方法,该方法的主要过程为:主设备通过上线查询帧对从站进行上线扫描,当从设备接收到查询帧后对主站反馈上线功能帧,具体为:

1),主设备对当前需要扫描的设备地址进行判断,判断设备是否已被扫描,如果已被扫描,则根据从站反馈的寄存器(线圈)组的个数、起始地址以及访问个数进行modbus协议的读功能组帧,实现数据采集;查询结束后再扫描下一地址是否已被扫描依次类推;

2),主设备对当前需要扫描的设备地址进行判断,看设备是否已被扫描,如果未被扫描,则主设备下发上线查询帧,主设备再判断是否有从设备进行反馈,若反馈则记录反馈信息并继续扫描下一设备;若无反馈则继续扫描下一设备;

通过制定主站上线查询帧以及从站上线反馈帧,使得主站在总线上扫描时可获取从站可读写寄存器(线圈)的范围信息,从而使得主站可自动获取从站的查询方法,使得从站可自动上线,并且总线上的从站不再被束缚于协议内容,实现了设备自动扫描上线,无需更改程序。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

实施例2

在本实施例中还提供了一种设备数据的采集装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的设备数据的采集装置的结构框图,如图4所示,该装置包括:扫描模块42,用于通过主设备对从设备的设备地址进行扫描;发送模块44,用于在设备地址未被主设备扫描到的情况下,通过主设备向从设备发送查询帧;第一处理模块46,用于通过主设备接收从设备反馈的反馈帧,并根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集。

可选地,本实施例第一处理模块46,还用于在设备地址已被主设备扫描到的情况下,通过主设备直接接收从设备反馈的反馈帧,并根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集。

可选地,第一处理处理模块,还用于比较主设备中的范围信息与反馈帧中携带的可读写寄存器的范围信息是否一致;在主设备中的范围信息与反馈帧中携带的可读写寄存器的范围信息一致的情况下,根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集。

可选地,本实施例中的扫描模块,还用于根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集之后,通过主设备对设备地址的下一设备地址继续进行扫描。

可选地,本实施例中的可读写寄存器的范围信息包括以下至少之一:被访问的寄存器的数量,每一个寄存器的起始地址,每一个寄存器的可访问数据数量。

可选地,本实施例中的主设备和从设备应用于modbus协议。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,通过主设备对从设备的设备地址进行扫描;

s2,在设备地址未被主设备扫描到的情况下,通过主设备向从设备发送查询帧;

s3,通过主设备接收从设备反馈的反馈帧,并根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,通过主设备对从设备的设备地址进行扫描;

s2,在设备地址未被主设备扫描到的情况下,通过主设备向从设备发送查询帧;

s3,通过主设备接收从设备反馈的反馈帧,并根据反馈帧中携带的可读写寄存器的范围信息对从设备进行数据采集。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1