在Modbus RTU网络中基于设备类型的多节点选择通信方法转让专利
申请号 : CN201911423862.4
文献号 : CN111200547B
文献日 : 2021-07-27
发明人 : 孙宝石
申请人 : 苏州数言信息技术有限公司
摘要 :
权利要求 :
1.一种在Modbus RTU网络中基于设备类型的多节点选择通信方法,其特征在于,包括:节点地址使用Modbus标准8 bit地址,消息格式与Modbus RTU规范完全兼容;支持分类筛选的从节点其8 bit地址从逻辑上被划分为模码和位码:模码表示设备类型,每类设备一个模码;位码则为该节点的选取位;模码的长度从1到8,因此模码的取值范围为0到255;位码的长度为8减去模码的长度,既从7到0,位码如果用二进制表示,仅在其中一个位上为1,其余位均为0;模码长度就是一个Modbus网络的节点分类筛选规则,可由Modbus主节点设定;仅包括模码的地址即位码或位掩码全为0的地址命名为基地址;
主节点发出指令的目标地址则从逻辑上被划分为模码和位掩码:模码与上述从节点地址的模码概念相同;位掩码则为需要筛选的从节点位码的按位求和;
从节点在收到主节点消息后,先判断消息目标地址中的模码是否与自己的模码相等,既设备类型是否一致,如果一致则用消息目标地址中的位掩码与自己的位码做与运算,如果结果为1则处理此消息,否则就忽略此消息。
2.如权利要求1所述的在Modbus RTU网络中基于设备类型的多节点选择通信方法,其特征在于,地址0x00始终为广播地址,所有从节点都能接收并处理主节点以目标地址0x00发出的广播消息。
3.如权利要求1所述的在Modbus RTU网络中基于设备类型的多节点选择通信方法,其特征在于,标准Modbus从节点的地址只能从基地址中选取;每种规则下所支持的标准Modbus从节点数量等同于此规则包括基地址数量,既设备类型数;支持位码选择的从节点数量和不支持位码选择的标准Modbus从节点即基地址数量之和就是一种规则所能包含从节点总数。
4.如权利要求1所述的在Modbus RTU网络中基于设备类型的多节点选择通信方法,其特征在于,系统能够在运行时修改模码长度既规则代码,系统可以通过标准Modbus寄存器读写指令修改设置,修改后立即生效,系统可无间断运行;对规则代码进行动态设置,规定某个特定的读写寄存器保存规则代码的值,主节点可以通过标准Modbus指令读取和修改规则代码。
5.如权利要求1所述的在Modbus RTU网络中基于设备类型的多节点选择通信方法,其特征在于,当主节点广播发出修改规则代码消息后,所有节点都能收到消息并修改模码长度,一条消息即可快速完成整个网络的逻辑划分;主节点启动后广播规则代码,确保从节点获得一致的规则设置,并建议主节点定期广播一次规则代码消息,以同步新上线的节点。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1到5任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1到5任一项所述方法的步骤。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1到5任一项所述的方法。
说明书 :
在Modbus RTU网络中基于设备类型的多节点选择通信方法
技术领域
背景技术
Modbus RTU协议是一个主从(master/slave)架构的串行协议:在一个ModBus网络中,包含
一个地址为0的主节点(master)和多个的从节点(slave),每一个slave设备都有一个唯一
的地址,地址值在1到247之间。
节点,则必须逐一发送。这样不仅增加了主节点的处理负担,而且由于指令之间的间隔,造
成从节点动作不同步。例如,一个区域内有5排灯光,分别由5个从节点控制,主节点需要关
闭所有灯、或者关闭其中3排,则需要分别向5个从节点、或3个从节点发关灯指令。
一个标准),不具有兼容性。
发明内容
操作。本方法不同于组播,组播消息对组内所有节点有效,但无法选择其中部分节点。节点
地址使用Modbus标准8bit地址,消息格式与Modbus RTU规范完全兼容。本方法允许设置设
备类型数量和每种类型包含的设备数,系统在运行过程中可以通过标准Modbus寄存器读写
指令修改设置,修改后立即生效,系统可无间断运行。本方法运行效率高、可靠性好、灵活性
高、兼容性好。在一个串行Modbus网络中允许主节点将一条消息同时发给同类型设备中的
一个、部分或者全部,实现对操作对象灵活、精准的筛选。在使用Modbus标准8bit地址、遵从
Modbus RTU消息格式规范的前提下,实现基于设备类型的多节点筛选功能。能够在系统运
行时对节点分类筛选规则进行动态设置。
范完全兼容;支持分类筛选的从节点其8bit地址从逻辑上被划分为模码和位码:模码表示
设备类型,每类设备一个模码;位码则为该节点的选取位。模码的长度从1到8,因此模码的
取值范围为0到255;位码的长度为8减去模码的长度,既从7到0,位码如果用二进制表示,仅
在其中一个位上为1,其余位均为0;模码长度就是一个Modbus网络的节点分类筛选规则,可
由Modbus主节点(master)设定;仅包括模码的地址(位码或位掩码全为0)命名为基地址。
求和。
与自己的位码做与运算,如果结果为1则处理此消息,否则就忽略此消息。
码选择的从节点数量和不支持位码选择的标准Modbus从节点(基地址)数量之和就是一种
规则所能包含从节点总数。
进行动态设置,规定某个特定的读写寄存器保存规则代码的值,主节点可以通过标准
Modbus指令读取和修改规则代码。
规则代码,确保从节点获得一致的规则设置,并建议主节点定期广播一次规则代码消息,以
同步新上线的节点。
述方法的步骤。
倍扩大。这些技术不仅都无法兼容Modbus RTU标准,而且成本高、灵活性差。而且即便是这
些技术实现了组播功能也无法对同组的节点进行精准选择;
型的多节点选择技术构建的Modbus网络既可以有新的支持位码选择的节点,也可以包括历
史遗留的标准节点,因此,应用空间巨大。
同类型设备中的一个、部分或者全部进行操作,大大提升了消息传递效率;并且配置简便,
允许动态进行规则代码设置。本方法运行效率高、可靠性好、灵活性高、兼容性好。
附图说明
具体实施方式
关闭其中1排、3排或者全部。本方法不同于组播,组播消息对组内所有节点有效,无法选择
其中部分节点。本方法运行效率高、灵活性高、可靠性高,且兼容Modbus RTU规范。
点地址使用Modbus标准8bit地址,消息格式与Modbus RTU规范完全兼容。独特之处在于,支
持分类筛选的从节点其8bit地址从逻辑上被划分为模码和位码:模码表示设备类型,每类
设备一个模码;位码则为该节点的选取位。模码的长度从1到8,因此模码的取值范围为0到
255;位码的长度为8减去模码的长度,既从7到0,位码如果用二进制表示,仅在其中一个位
上为1,其余位均为0。模码长度就是一个Modbus网络的节点分类筛选规则,可由Modbus主节
点(master)设定。仅包括模码的地址(位码或位掩码全为0)命名为基地址。相对应地,主节
点发出指令的目标地址则从逻辑上被划分为模码和位掩码:模码与上述从节点地址的模码
概念相同;位掩码则为需要筛选的从节点位码的按位求和。从节点在收到主节点消息后,先
判断消息目标地址中的模码是否与自己的模码相等,既设备类型是否一致,如果一致则用
消息目标地址中的位掩码与自己的位码做与运算,如果结果为1则处理此消息,否则就忽略
此消息,流程如图1所示。
个支持位码选择的从节点地址的含义为:模码1表示设备类别为1,5个地址均为同种类别;
而5个地址的位码分别是第0位到第4位为1。
别为1、4、16);
能从模码中选取。因此,每种规则下所支持的标准Modbus从节点数量等同于此规则包括模
码数量(基地址数量),也就是设备类型数。
和三个支持位码选择的从节点,地址分别为33、36和48,三个节点都是同一种设备类型(模
码均为1)。标准从节点可以是任何不支持分组功能的第三方Modbus设备。
见,Modbus标准编址可以看做本方法的一个特例,本方法可完全兼容和覆盖Modbus地址标
准。此外,本发明提出的编址方法还有以下关键特征:
节点数量不足。
中选取。因此,每种规则下所支持的标准Modbus从节点数量等同于此规则包括模码数量,既
设备类型数。
读写指令修改设置,修改后立即生效,系统可无间断运行。对规则代码进行动态设置,本方
法规定某个特定的读写寄存器保存规则代码的值,如寄存器40001(注:此地址不特别限定,
在具体项目实施时可以根据实际需求指定一个地址即可),因此,主节点可以通过标准
Modbus指令读取(功能码3)和修改(功能码6)规则代码。例如:
确保从节点获得一致的规则设置,并建议主节点定期(如每隔300秒)广播一次规则代码消
息,以同步新上线的节点。因此,主节点动态维护规则代码的工作流程应如图3所示。
序。此应用场景需要满足两个关键目标:
备类型和8个Modbus标准从节点,每种设备类型下包括5个支持位码选择的从节点。网络具
体定义如下:
类型设备中的一个、部分或者全部进行操作,大大提升了消息传递效率;并且配置简便,允
许动态进行规则代码设置。
的长度,既从7到0,位码如果用二进制表示,仅在其中一个位上为1,其余位均为0。模码长度
就是一个Modbus网络的节点分类筛选规则,可由Modbus主节点(master)设定。
如果结果为1则处理此消息,否则就忽略此消息。
规定某个特定的读写寄存器保存规则代码的值,如寄存器40001(注:此地址不特别限定,在
具体项目实施时可以根据实际需求指定一个地址即可),因此,主节点可以通过标准Modbus
指令读取(功能码3)和修改(功能码6)规则代码。
确保从节点获得一致的规则设置,并建议主节点定期(如每隔300秒)广播一次规则代码消
息,以同步新上线的节点。
的保护范围之内。本发明的保护范围以权利要求书为准。