一种plc广播批量升级方法及系统

文档序号:196406 发布日期:2021-11-02 浏览:35次 >En<

阅读说明:本技术 一种plc广播批量升级方法及系统 (PLC broadcast batch upgrading method and system ) 是由 施家健 孟娟 陈高 江云波 吴建国 康宣 赵洛阳 张青 于 2021-07-07 设计创作,主要内容包括:本发明公开了一种PLC广播批量升级方法,包括以下步骤:S1、集抄器发送升级文件,S2、路由模块发送准备升级命令,S3、路由模块广播数据包,S4、路由模块遍历升级位图,S5、路由模块广播丢失数据包,S6、路由模块重复检查位图并补发数据包至收到完整位图,S7、路由模块发送执行升级命令,S8、重新组网检查固件版本号,S9、对为升级的重新发送执行升级命令;一种PLC广播批量升级方法的系统,包括一个集抄器,多个智能电表;使得升级流程过程可控,对集抄器抄读任务,集抄系统的点抄任务没有影响,采用广播批量升级,减少整体升级的时间,使用数据包补发机制,升级流程容错率高。(The invention discloses a PLC broadcast batch upgrading method, which comprises the following steps: s1, sending an upgrade file by the meter reader, S2, sending an upgrade preparation command by the routing module, S3, broadcasting a data packet by the routing module, S4, traversing an upgrade bitmap by the routing module, S5, broadcasting a lost data packet by the routing module, S6, repeatedly checking the bitmap and retransmitting the data packet until the complete bitmap is received by the routing module, S7, sending an upgrade execution command by the routing module, S8, re-networking, checking a firmware version number, and S9, executing the upgrade execution command for the retransmission of the upgrade; a system of a PLC broadcast batch upgrading method comprises a meter reading device and a plurality of intelligent electric meters; the upgrading process is controllable, reading tasks of the centralized meter reading device and point reading tasks of the centralized meter reading system are not affected, broadcasting batch upgrading is adopted, the whole upgrading time is shortened, a data packet reissue mechanism is used, and the fault tolerance rate of the upgrading process is high.)

一种PLC广播批量升级方法及系统

技术领域

本发明涉及电力电子技术领域,尤其涉及一种PLC广播批量升级方法及系统。

背景技术

现在的智能电网中,智能电表,表端PLC模块已经成为必不可少的功能,随着载波通信模块应用水平的提高,对系统升级成为设备维护的重要内容,传统的载波通信模块升级方法主要以一对一的方法进行,尤其常用的是打开设备结构件直接用烧写器进行烧写更新固件、使用本地通讯线进行本地升级以及通过集抄系统远程通过电力线一对一升级,这些方法均存在效率低下,耗时长的问题。

目前,为了提高产品可靠性以及易用性,出现一些本身具有固件升级功能的PLC产品,这些固件升级功能包括数据接收模块和系统升级模块,能够实现接收存储数据并对固件系统进行升级,然而这种升级方法显而易见存在诸多缺点,例如,当系统升级时影响日常的抄写,这对于电表在实际应用中产生极大的影响;对于批量的不同优先级的节点的升级存在升级过程繁琐,可靠性低的问题;对于升级流程中出现错误,无法快速准确地定位出错步骤的问题。

例如,一种在中国专利文献上公开的“PLC固件升级系统及方法”,其公告号“CN102945177A”,包括升级判断单元、系统升级单元、升级启动单元以及升级标识,通过判断升级标识有效和无效进行固件升级,提供了对于PLC的分段升级流程的方案,没有提供对于批量升级的技术方案,当多个PLC同时升级时,存在发生错误不能及时作出处理的缺点。

发明内容

为此,本发明实施例提供一种PLC广播批量升级方法及系统,能够通过广播升级节点模块,方便的批量升级PLC固件系统。

为了实现上述目的,本发明的实施方式提供如下技术方案:

一种PLC广播批量升级方法,包括以下步骤:

S1、集抄系统远程下发PLC节点升级文件到集抄器,集抄器将升级文件发到路由PLC模块;

S2、路由模块广播准备升级命令,升级命令包括升级文件大小、文件校验以及升级ID等信息,通知节点模块做好升级准备;

S3、路由模块将升级文件分成等长的数据包,并将所有数据包对所有节点广播一遍;

S4、路由模块遍历所有节点的升级位图;

S5、路由模块根据节点回复的位图重新广播丢失的位图对应的数据包;

S6、路由模块对每个节点重复步骤S5直至收到完整的位图,对再次广播过所有数据包但没有完整升级位图的节点,重复步骤S2一次并对其重新发送所有数据包;

S7、对收到完整位图的节点发送执行升级命令,节点收到执行升级命令开始更新固件;

S8、节点更新固件完成后,重新组网,路由模块遍历查询所有节点的固件版本号;

S9、若所有节点的固件版本号与升级版本一致则结束升级,路由模块将所有节点版本号上传到集抄器,集抄器再将节点版本号发送回集抄系统;若存在固件版本号与升级版本不一致的节点,路由模块再次对其广播执行升级命令,在其升级完毕后重新组网查询其固件版本号并将固件版本号通过集抄器发回集抄系统。

作为优选,所述S3中如果有节点模块没有收到准备升级命令直接收到了数据包,节点模块也会暂存这些数据包,如果节点收到与准备升级命令中ID不符的数据包则放弃之前收到的数据包暂存新数据包,如果收到重复数据包,则丢弃重复数据包。

作为优选,所述S4中升级位图是一个数组,其中每一个字节的每一位都代表对应数据包的接收状态,例如FFFE(转换为二进制信号为11111111 11111110)表示前15包都接收到了,最后一包没有收到)。

作为优选,所述S4中遍历节点时,中继级别更低的节点优先级更高,即遍历会优先查询离路由模块近的节点。

作为优选,所述S5中对中继级别更低的节点发送丢失数据包时会同时广播给比其低级别的节点,中继级别低的节点丢失的包,级别高的节点也有很大概率丢失,因此重发的时候也同时也广播给其他设备。

作为优选,所述S5中对于最后一级升级位图不完整的节点,路由模块改为单播重发升级包。

作为优选,集抄器可以通过命令暂停路由模块升级节点PLC模块的流程,使得集抄器可以随时开始抄表任务。

一种PLC广播批量升级系统,适用于如权利要求1至6任一项所述的一种PLC广播批量升级方法,包括:一个集抄器,用于集中数据并传输数据;位于所述集抄器上的路由PLC模块,用于数据交互;多个智能电表,用于收集发送数据;位于所述智能电表上的表端节点PLC模块,用于数据交互。

作为优选,一个路由模块与多个节点模块组成网络,离路由模块更近的节点模块中继级别更低,一个节点PLC模块可以与多个节点模块相连,与同一模块相连的节点PLC之间不互相连接。

本发明的实施方式具有如下优点:

(1)对升级流程分段自检,提高升级过程可靠性;(2)通过位图检查保证升级效率,通过从低至高补发数据包的机制,提高了升级流程正确率;(3)升级流程分段可控,不影响集抄器的抄读任务;(4)升级流程由路由模块广播批量完成,减少人工操作,提高整体升级效率。

附图说明

为了更清楚地说明发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。

本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达到的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。

图1是本发明实施方式中的一种PLC广播批量升级方法的流程图。

图2是本发明的一种PLC广播批量升级方法的系统结构图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的认识可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在一个实施例中,如图 1所示,本发明提供了一种PLC广播批量升级方法,包括以下步骤:

S1、集抄系统远程下发PLC节点升级文件到集抄器,集抄器将升级文件发到路由PLC模块;

S2、路由模块广播准备升级命令,升级命令包括升级文件大小、文件校验以及升级ID等信息,通知节点模块做好升级准备;

S3、路由模块将升级文件分成等长的数据包,并将所有数据包对所有节点广播一遍;如果有节点模块之前没有收到准备升级命令,直接收到了数据包的话,节点模块也会暂存这些数据包,如果节点收到与准备升级命令中ID不符的数据包则放弃之前收到的数据包暂存这些新数据包,如果收到重复数据包,则丢弃重复数据包;

S4、路由模块遍历所有节点的升级位图;升级位图是一个数组,其中每一个字节的每一位都代表对应数据包的接收状态,例如FFFE(转换为二进制信号为1111111111111110)表示前15包都接收到了,最后一包没有收到),中继级别更低的节点优先级更高,即遍历会优先查询离路由模块近的节点;

S5、路由模块根据节点回复的位图重新广播丢失的位图对应的数据包;对中继级别更低的节点发送丢失数据包时会同时广播给比其低级别的节点,中继级别低的节点丢失的包,级别高的节点也有很大概率丢失,因此重发的时候也同时也广播给其他设备,对于最后一级升级位图不完整的节点,路由模块改为单播重发升级包;

S6、路由模块对每个节点重复步骤S5直至收到完整的位图,对再次广播过所有数据包但没有完整升级位图的节点,重复步骤S2一次并对其重新发送所有数据包;

S7、对收到完整位图的节点发送执行升级命令,节点收到执行升级命令开始更新固件;

S8、节点更新固件完成后,重新组网,路由模块遍历查询所有节点的固件版本号;

S9、若所有节点的固件版本号与升级版本一致则结束升级,路由模块将所有节点版本号通过集抄器发送回集抄系统;若存在固件版本号与升级版本不一致的节点,路由模块再次对其广播执行升级命令,在其升级完毕后重新组网查询其固件版本号并将固件版本号通过集抄器发回集抄系统。

集抄器可以通过命令暂停路由模块升级节点PLC模块的流程,使得集抄器可以随时开始抄表任务。

如图2所示,本发明提供了一种PLC广播批量升级系统,包括:一个集抄器,用于集中数据并传输数据;位于集抄器上的路由PLC模块,用于数据交互;多个智能电表,用于收集发送数据;位于智能电表上的表端节点PLC模块,用于数据交互。

一个路由模块与多个节点模块组成网络,离路由模块更近的节点模块中继级别更低,一个节点PLC模块可以与多个节点模块相连,与同一模块相连的节点PLC之间不互相连接。

在第二个实施例中,S5中路由模块根据位图发送丢失数据包时,对中继级别更低的节点模块发送后,不再对与其相连的更高级节点模块发送,节点模块可将检查位图发送于相连的节点模块,若相连的节点模块的检查位图不一致,则由相连的节点模块发送位图对应的缺失的数据包,减少了路由模块的发送次数,提高了发送效率,路由模块只需对高级中继级别的节点模块进行检查位图,直到位图完整向其发送执行升级命令,其余步骤同实施例一。

在第三个实施例中,S4中遍历位图时,每一个数据包由一个特定符号代表,位图符号由检验数据包符号得出,位图符号代表对应数据包的收到状态,不代表对应存储器位置上的数据包符号,其余步骤同实施例一。

在第四个实施例中,S7中路由模块发送执行升级信号后,对应节点模块暂不升级,直到与其相连的节点模块均获得完整位图并收到执行升级命令,其余步骤同实施例一。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:热水器数据的处理方法、装置、存储介质和电子装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!