一种地址自动分配的方法、系统、Modbus主站、Modbus从站与流程

文档序号:15819958发布日期:2018-11-02 23:00阅读:926来源:国知局
一种地址自动分配的方法、系统、Modbus主站、Modbus从站与流程

本发明涉及总线通信技术领域,特别涉及一种适用于modbus协议的地址自动分配的方法,以及系统、modbus主站、modbus从站。

背景技术

modbus总线从站入网时,需要为其配置从站地址,一般站地址的配置方式主要包括硬件设置和软件设置,硬件设置是指通按键或者拨码开关实现手动配置;软件设置一般是通过软件来进行站地址配置。

传统采用人工手动设定来设定通信网络从节点的网络地址,这种方法不仅工作量大,而且还可能导致重复设定地址值的情况,产生人为设置的错误。

从站自动分配地址的方法有下列几种:

(1)采用广播读取设备id并根据id广播设置站地址的分配方法,要求设备根据id号延时发送自身id及站地址,具有等待时间长、分配地址易超出合法范围的缺点。

(2)采用周期性发送广播查询是否有新接入设备的分配方法,要求主站在正常工作过程中,定时发送广播查询指令,为新加入的设备分配站地址。一旦多个设备同时上电,易发生总线冲突,导致整个配置失败,同时影响正常设备的通信效率。

(3)采用从设备主动探测空闲站地址的分配方法,设备在启动时,会一直以主站的方式向不同的从设备发送探测报文,直至探测到空闲地址位置。不仅配置时间长,且一旦多个设备同时上电,易发生总线冲突,导致整个配置失败。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种帮助安装维护人员快速、可靠的完成从站地址的分配的适用于modbus协议的地址自动分配的方法、系统、modbus从站、modbus主站。

为实现上述目的,本发明采用了如下技术方案:

一种适用于modbus协议的地址自动分配的方法,包括以下步骤:

步骤一,总线的modbus主站发送广播设置地址命令,将所有的modbus从站设备的站地址设置成一个相同的固定地址;

步骤二,总线的modbus主站发送广播读取modbus从站设备序列号命令;

步骤三,收到读取modbus从站设备序列号命令的modbus从站设备返回响应读取modbus从站设备序列号命令的报文;

步骤四,总线的modbus主站根据收到modbus从站设备序列号的列表,依次广播下发带有从站设备序列号及从站站地址的从站站地址设置命令;

步骤五,收到广播从站站地址设置命令的modbus从站设备解析出从站设备序列号及从站站地址,如从站设备序列号与自身序列号相等,则修改自身从站站地址。

进一步,步骤二中,收到读取modbus从站设备序列号命令的modbus从站设备延时随机数时间后再返回响应读取modbus从站设备序列号命令的报文。

进一步,所述随机数时间为modbus从站设备自身模数转换的采样值所需时间。

进一步,步骤四中,总线的modbus主站在预设的超时时间内接收并解析modbus从站设备的响应报文,将获得的从站设备序列号保存到设备列表中;等待超时时间后,根据收到modbus从站设备序列号的设备列表,依据返回响应的顺序,依次广播下发带有从站设备序列号及从站站地址的从站站地址设置命令。

进一步,步骤四中,modbus主站下发的modbus从站站地址为modbus从站设备在modbus主站的设备列表中的序号。

进一步,所述modbus主站为兆伏兆瓦房通讯管理机,所述modbus从站包括光伏逆变器和汇流箱。

本发明还提供一种采用上述任一所述的适用于modbus协议的地址自动分配的方法的通讯系统,包括modbus主站和多个modbus从站设备,modbus主站和多个modbus从站设备连接基于modbus协议通讯;所述modbus从站包括从站控制芯片,与从站控制芯片连接的从站通讯模块和从站存储单元,所述modbus主站包括主站控制芯片,与主站控制芯片连接的主站通讯模块和主站存储单元。所述modbus主站的主站控制芯片和modbus从站设备的从站控制芯片执行上述地址自动分配的方法。

本发明还提供一种适用于modbus协议的地址自动分配的modbus从站,包括从站控制芯片,与从站控制芯片连接的从站通讯模块和从站存储单元,modbus从站与modbus主站连接通信,从站控制芯片执行以下步骤:

modbus从站与modbus主站连接通信;在接收到modbus主站发送的广播设置地址命令后,将自身站地址设置为固定地址;在收到读取modbus从站设备序列号命令后,延时随机数时间后返回响应读取modbus从站设备序列号命令的报文;在收到广播广播从站站地址设置命令后解析modbus从站设备序列号及从站站地址,如从站设备序列号与自身序列号相等,则修改自身从站站地址;从站设备序列号与自身序列号不等则忽略。

本发明还提供一种适用于modbus协议地址自动分配的modbus主站,包括主站控制芯片,与主站控制芯片连接的主站通讯模块和主站存储单元,modbus主站与多台modbus从站连接通信,modbus主站控制芯片执行以下步骤:

发送广播设置地址命令,将所有的modbus从站设备的站地址设置成一个相同的固定地址;发送广播读取modbus从站设备序列号命令,在预设的超时时间内接收并解析modbus从站设备的响应报文,将获得的从站设备序列号保存到设备列表中;在等待超时时间后,根据收到modbus从站设备序列号的设备列表,依次广播下发带有从站设备序列号及从站站地址的从站站地址设置命令。

本发明适用于modbus协议的地址自动分配的方法通过先将所有从站设备的站地址设置成一个相同的固定地址,主站读取从站设备序列号,再向从站广播下发设备序列号及从站站地址的命令,整个流程所用时间短,分配地址不会出现冲突,设备通信效率高,帮助安装维护人员快速、可靠的完成从站地址的分配。

附图说明

图1是本发明总线的拓扑图;

图2是本发明modbus协议的地址自动分配的方法的流程图。

具体实施方式

以下结合附图1-2给出的实施例,进一步说明本发明适用于modbus协议的地址自动分配的方法的具体实施方式。本发明的适用于modbus协议的地址自动分配的方法不限于以下实施例的描述。

本发明提供一种适用于modbus协议的地址自动分配的方法,包括以下步骤:

步骤一,总线的modbus主站发送广播设置地址命令,将所有的modbus从站设备的站地址设置成一个相同的固定地址;

步骤二,总线的modbus主站发送广播读取modbus从站设备序列号命令;

步骤三,收到读取modbus从站设备序列号命令的modbus从站设备返回响应读取modbus从站设备序列号命令的报文;

步骤四,总线的modbus主站根据收到modbus从站设备序列号的设备列表,依次广播下发带有从站设备序列号及从站站地址的从站站地址设置命令;

步骤五,收到广播从站站地址设置命令的modbus从站设备解析出从站设备序列号及从站站地址,如从站设备序列号与自身序列号相等,则修改自身从站站地址。

本发明适用于modbus协议的地址自动分配的方法通过先将所有从站设备的站地址设置成一个相同的固定地址,主站读取从站设备序列号,再向从站广播下发设备序列号及从站站地址的命令,整个流程所用时间短,分配地址不会出现冲突,设备通信效率高,帮助安装维护人员快速、可靠的完成从站地址的分配。

如图1、2所示,一种适用于modbus协议的地址自动分配的方法的实施例,具体包括以下步骤:

步骤一,总线的modbus主站发送广播设置地址命令,将所有的modbus从站设备的站地址设置成一个相同的固定地址;

步骤二,总线的modbus主站发送广播读取modbus从站设备序列号命令;

步骤三,收到读取modbus从站设备序列号命令的modbus从站设备延时随机数时间后返回响应读取modbus从站设备序列号命令的报文,报文含有modbus从站设备序列号;

步骤四,总线的modbus主站在预设的超时时间内接收并解析modbus从站设备的响应报文,将获得的从站设备序列号保存到设备列表中;等待超时时间后,根据收到modbus从站设备序列号的设备列表,依据返回响应的顺序,依次广播下发带有从站设备序列号及从站站地址的从站站地址设置命令;

步骤五,收到广播从站站地址设置命令的modbus从站设备解析出从站设备序列号及从站站地址,如从站设备序列号与自身序列号相等,则修改自身从站站地址;从站设备序列号与自身序列号不等,则不进行任何处理。

本发明适用于modbus协议的地址自动分配的方法通过先将所有从站设备的站地址设置成一个相同的固定地址,主站读取从站设备序列号,再向从站下发设备序列号及从站站地址的命令,从站设自动分配地址,特别是步骤三中,modbus从站设备延时随机数时间后返回响应读取modbus从站设备序列号命令的报文,不同的从站设备延时不同的时间,以保证在同一时间内,总线上只有一台设备在进行数据的传输,保证总线的通讯正常;整个流程所用时间短,分配地址不会出现冲突,设备通信效率高,帮助安装维护人员快速、可靠的完成从站地址的分配。优选的,所述随机数时间为modbus从站设备自身模数转换的采样值所需时间,由于不同的modbus从站设备自身模数转换的采样值所需时间完全不同,保证总线中只有一台设置进行通讯,防止发生通讯冲突,中间等待时间为从站设备自身模数转换的采样值所需时间,等待时间短,分配地址不会出现冲突,设备通信效率高,帮助安装维护人员快速、可靠的完成从站地址的分配。步骤四中,根据收到modbus从站设备序列号的设备列表,依据返回响应的顺序,依次广播下发带有从站设备序列号及从站站地址的从站站地址设置命令。依据返回响应的顺序下发命令,且所述modbus从站站地址为modbus从站设备在modbus主站的设备列表中的序号,设备列表序号设为从站站地址保证从站站地址的唯一性,防止从站发生地址冲突。

具体的,如图2所示,具体的步骤四包括:

步骤a,modbus主站判断modbus从站设备序列号返回响应是否超出超时时间,若超出超时时间,进入步骤d,若未超出则进入步骤b;

步骤b,modbus主站判断是否收到modbus从站设备序列号返回响应,若收到返回响应读取序列号命令进入步骤c,未收到返回响应读取序列号命令进入步骤a;

步骤c,modbus主站解析modbus从站设备序列号返回响应,保存modbus从站设备序列号至modbus主站的设备列表中。

步骤d,根据收到modbus从站设备序列号的设备列表,依据返回响应的顺序,依次广播下发带有从站设备序列号及从站站地址的从站站地址设置命令。

下面结合附图2,以modbus主站为光伏兆瓦房通讯管理机,从站为光伏逆变器和汇流箱进行说明本发明的具体实施过程:

步骤101和步骤102:modbus主站(光伏兆瓦房通讯管理机)和modbus从站进行初始化,使整个网络中的modbus主站1(光伏兆瓦房通讯管理机)和modbus从站2(光伏逆变器和汇流箱)都能够进行正常的modbus数据收发状态。每个modbus从站2(光伏逆变器和汇流箱)都有一个唯一序列号,用于识别设备。

步骤103:modbus主站1(光伏兆瓦房通讯管理机)发送广播设置modbus从站2(光伏逆变器和汇流箱)的站地址命令,报文中不含序列号信息,要求所有接收到广播设置指令的modbus从站2(光伏逆变器和汇流箱)都立刻修改站地址为固定地址247。

步骤104:modbus从站2(光伏逆变器和汇流箱)接收到广播设置站地址命令,解析成功后,立刻将站地址改为固定地址247并进入地址自动分配状态。

步骤105:modbus主站1(光伏兆瓦房通讯管理机)发送广播读取序列号命令,要求modbus从站2(光伏逆变器和汇流箱)发送序列号信息。

步骤106:modbus从站2(光伏逆变器和汇流箱)接收到读取序列号命令。如站地址为固定地址247,则延时模数转换采样值,发送包含自己序列号的响应指令给modbus主站1(光伏兆瓦房通讯管理机)。如地址不为固定地址247,则忽略该指令。

步骤107:modbus主站1(光伏兆瓦房通讯管理机)检测距离步骤105的时间。如超出设定时间,则进入步骤110,如未超出设定时间,则进入步骤108。

步骤108:modbus主站1(光伏兆瓦房通讯管理机)检测是否收到modbus从站2(光伏逆变器和汇流箱)发送的包含序列号的响应。如检测到有新响应,则进入步骤109。如未检测到有新响应,则进入步骤107。

步骤109:modbus主站1(光伏兆瓦房通讯管理机)解析modbus从站2(光伏逆变器和汇流箱)发送的包含序列号的响应,将序列号保存至设备列表中,并以返回的先后顺序排序。

步骤110:modbus主站1(光伏兆瓦房通讯管理机)根据设备列表,依次向各个modbus从站2(光伏逆变器和汇流箱)发送包含序列号及站地址的广播设置站地址命令。

步骤111:modbus从站2(光伏逆变器和汇流箱)接收到发送包含序列号及站地址的广播设置站地址命令。解析成功后,与自己的序列号做比较,如相等,则修改自己的站地址,如不相等,则忽略该命令。

步骤112:modbus主站1(光伏兆瓦房通讯管理机)判断是否已将所有modbus从站2(光伏逆变器和汇流箱)分配站地址,如已完成,则结束配置,如未完成,则进入步骤105,继续设置工作。

步骤113:modbus主站1(光伏兆瓦房通讯管理机)结束配置工作。

当有新的modbus从站设备加入或modbus从站设备发生变化时,则重复上述步骤重新自动分配地址,在modbus主站1(光伏兆瓦房通讯管理机)上设有操作的接口,由操作人员发起自动分配任务。

本发明还提供一种采用上述方法的适用于modbus协议的地址自动分配的系统,包括modbus主站和多个modbus从站设备,modbus主站和多个modbus从站设备连接基于modbus协议通讯。进一步,本发明还提供一种采用上述方法的地址自动分配的modbus主站,还提供一种采用上述方法自动获取站地址的modbus从站。

所述modbus从站,包括从站控制芯片,与从站控制芯片连接的从站通讯模块和从站存储单元,从站控制芯片执行以下步骤:

modbus从站与modbus主站连接通信;在接收到modbus主站发送的广播设置地址命令后,将自身站地址设置为固定地址;在收到读取modbus从站设备序列号命令后,延时随机数时间后返回响应读取modbus从站设备序列号命令的报文;在收到广播广播从站站地址设置命令后解析modbus从站设备序列号及从站站地址,如从站设备序列号与自身序列号相等,则修改自身地址为从站站地址;从站设备序列号与自身序列号不等则忽略。

优选的,所述的modbus从站为光伏逆变器或汇流箱,所述的延时随机数时间为光伏逆变器或汇流箱自身模数转换的采样值所需时间,当然还可以是其它符合上述协议和方法的modbus从站设备。

所述modbus主站,包括主站控制芯片,与主站控制芯片连接的主站通讯模块和主站存储单元,modbus主站与多台modbus从站连接通信,modbus主站控制芯片执行以下步骤:

发送广播设置地址命令,将所有的modbus从站设备的站地址设置成一个相同的固定地址;

发送广播读取modbus从站设备序列号命令,在预设的超时时间内接收并解析modbus从站设备的响应报文,将获得的从站设备序列号保存到设备列表中,在等待超时时间后,根据收到modbus从站设备序列号的设备列表,依次广播下发带有从站设备序列号及从站站地址的从站站地址设置命令。

优选的,所述modbus主站为光伏兆瓦房通讯管理机。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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