专利名称:在Modbus通信网络中为从节点设备分配网络地址的方法
技术领域:
本发明涉及一种分配地址的方法,尤其是一种在Modbus通信网络中为从节点设备分配地址的方法。
背景技术:
Modbus是一种串行通讯协议,以其协议简单、实施容易、性价比高、可靠性好等优点而获得了越来越广发的应用,成为工业领域通信协议标准,并且是工业电子设备之间相对常压的连接方式。Modbus网络是一个主/从结构的网络,其中有一个节点是主节点,其他使用 Modbus协议参与通信的节点是从节点,该网络中每一个从节点设备都有一个唯一的地址。 在网络中,只有被指定为主节点的节点可以启动一个命令,每一个Modbus命令都包含了打算执行的节点的设备地址并以广播的方式向网络中各从节点发布,各从节点需要根据命令中包含的设备地址判断是否需要执行。因此,Modbus网络中各从节点的地址设定就显得尤为重要,一旦出现重复地址或者遗漏地址,就会导致通信网络冲突,系统无法正常使用。传统采用人工手动设定来设定通信网络从节点的网络地址,这种方法不仅工作量大,而且还可能导致重复设定地址值得情况,引入人工错误。中国专利CN101309306公开了一种在Modbus通信网络中为从节点设备分配地址的方法,由主节点设备周期性的向从节点设备发送地址轮询报文,一旦网络中存在该轮询报文中包含的地址则回应该轮询报文, 并设定该从节点设备的地址。使用该方法需要首先在主节点设备中设定网络中从节点设备的地址与设备总量并依次询问,显得设定繁琐,并且设定网络地址需要很长的时间。中国专利CN1019694^公开了一种在RS-485总线上电能表的自动识别方法,采用主节点与从节点之间的通信来识别从节点,但在接收到乱码应答的情况下,主节点需要进行最多100次循环来测试网络中从节点设备地址,耗时依然很长。
发明内容
针对现有技术的不足,本发明的目的是要提供一种在Modbus网络中效率高、时间短的为从节点设备份分配地址的方法。为实现上述目的,本发明采用的技术方案如下一种在Modbus通信网络中为从节点设备分配地址的方法,其包括以下步骤1)初始化主节点设备和从节点设备,设置从节点设备的设备地址的最小值IDs和最大值IDe,所述最小值IDs和最大值IDe均为自然数;2)主节点设备根据最小值IDs和最大值IDe计算出一大于或等于最小值IDs,小于或等于最大值IDe的中间值IDt,所述中间值IDt为自然数,并向各从节点设备发送包含有所述中间值IDt的地址报文;3)从节点设备接收到该地址报文后进行解析,将自身的设备地址与所述中间值 IDt进行比较,如果自身设备地址小于所述中间值IDt,则向主节点设备发送包含该从节点设备的设备地址的应答报文,否则不回应该地址报文;4)如果主节点设备收到一应答报文,则向该从应答报文中的设备地址对应的节点设备发送包含Modbus网络地址的设定报文,如果在等待时间内收到该节点设备的确认报文,则该从节点设备的Modbus网络地址已经被确定,该从节点设备将不再对主节点设备发送的信息进行回应,并返回步骤1);否则主节点设备将中间值IDt赋给最大值IDe,返回步骤2);5)如果主节点设备收到至少两个应答报文,则将中间值IDt赋给最大值IDe,返回步骤2);6)如果主节点设备没有收到应答报文,则将中间值IDt赋给最小值IDs,返回步骤 2);当主节点设备判断最大值IDe与最小值IDs之差小于2时,所有的从节点设备都被确认并设定地址值,流程结束。进一步,所述最小值IDt设为1,所述最大值IDe设为232_1。进一步,所述中间值IDt的计算公式为
Γ ^ IDs+ IDe
权利要求
1.一种在Modbus通信网络中为从节点设备分配网络地址的方法,其特征在于,其包括以下步骤1)初始化主节点设备和从节点设备,设置从节点设备的设备地址的最小值IDs和最大值IDe,所述最小值IDs和最大值IDe均为自然数;2)主节点设备根据最小值IDs和最大值IDe计算出一大于或等于最小值IDs,小于或等于最大值IDe的中间值IDt,所述中间值IDt为自然数,并向各从节点设备发送包含有所述中间值IDt的地址报文;3)从节点设备接收到该地址报文后进行解析,将自身的设备地址与所述中间值IDt进行比较,如果自身设备地址小于所述中间值IDt,则向主节点设备发送包含该从节点设备的设备地址的应答报文,否则不回应该地址报文;4)如果主节点设备收到一应答报文,则向该从应答报文中的设备地址对应的节点设备发送包含Modbus网络地址的设定报文,如果在等待时间内收到该节点设备的确认报文, 则该从节点设备的Modbus网络地址已经被确定,该从节点设备将不再对主节点设备发送的信息进行回应,并返回步骤1);否则主节点设备将中间值IDt赋给最大值IDe,返回步骤 2);5)如果主节点设备收到至少两个应答报文,则将中间值IDt赋给最大值IDe,返回步骤2);6)如果主节点设备没有收到应答报文,则将中间值IDt赋给最小值IDs,返回步骤2); 当主节点设备判断最大值IDe与最小值IDs之差小于2时,所有的从节点设备都被确认并设定地址值,流程结束。
2.如权利要求1所述的方法,其特征在于,所述最小值IDt设为1,所述最大值IDe设为沪2-1。
3.如权利要求1或2所述的方法,其特征在于,所述中间值IDt的计算公式为
全文摘要
本发明所述的一种在Modbus网络中为从节点设备分配地址的方法属于通信领域,实现了由主节点设备自动对Modbus网络中的各从节点设备的自动识别并分配Modbus地址的方法。相对于现有技术,本发明能够在较短的时间内确定Modbus网络中从节点设备的Mosbus地址,并且能根据从节点地址的大小来设定从节点设备的响应延迟时间,加快从节点设备地址的设定速度。
文档编号H04L29/12GK102325201SQ20111033146
公开日2012年1月18日 申请日期2011年10月27日 优先权日2011年10月27日
发明者刘玉明, 古雄文, 吴荡儒 申请人:珠海派诺科技股份有限公司