一种主从式总线通信系统的地址分配方法技术方案

技术编号:37390802 阅读:21 留言:0更新日期:2023-04-27 07:29
本发明专利技术公开了一种主从式总线通信系统的地址分配方法。本发明专利技术根据从机唯一的产品识别码来计算从机对分配地址请求报文的应答信息的发送间隔时间,并在对新的分配地址请求报文进行应答时调整应答信息的发送间隔时间。相比现有技术,本发明专利技术技术方案不容易产生总线冲突,即使冲突也可通过自动调整发送间隔时间快速解决,从而实现从机通信地址的快速自动分配;此外,本发明专利技术自动分配地址为纯软件实现,不需要增加硬件成本。需要增加硬件成本。需要增加硬件成本。

【技术实现步骤摘要】
一种主从式总线通信系统的地址分配方法


[0001]本专利技术涉及一种主从式总线通信系统的地址分配方法,属于工业通信总线


技术介绍

[0002]Modbus、profibus、HART等工业总线通信系统属于主从式通信,通信要求从机的地址必须唯一且不重复,一般使用从机的拨码开关或者人机界面输入方式逐一对从机地址进行设置,普遍需要手动设置从机的通讯地址,由此需要在现场进行从机地址的设置,给现场安装带来不便,同时在故障更换设备后,若由于遗忘或错误的设置了从机的通讯地址,亦会导致整个系统通信无法正常工作。现有自动地址实现方案主要有增加地址识别线、双串口、空闲状态申请分配地址、虚拟地址、令牌环等,需要增加硬件成本,或者导致分配地址完成时间较长,可靠性差,影响通信效率。

技术实现思路

[0003]本专利技术所要解决的技术问题在于克服现有技术不足,提供一种主从式总线通信系统的地址分配方法,可以极低的成本快速实现从机通信地址的自动分配。
[0004]本专利技术具体采用以下技术方案解决上述技术问题:
[0005]一种主从式总线通信系统的地址分配方法,包括以下步骤:
[0006]从机接收主机第一次广播的分配地址请求报文,根据以从机自身唯一的产品识别码为自变量的第一发送间隔时间函数计算出第一发送间隔时间,并按照第一发送间隔时间向主机发送包含从机自身的产品识别码的分配地址请求响应报文;
[0007]从机接收主机点对点通信发送的包含从机的产品识别码和分配地址的地址确认报文,用其中的分配地址更新自身的地址并向主机发送地址确认响应报文;
[0008]从机接收主机第n次广播的分配地址请求报文,并判断自身的地址是否已分配,如是,则不响应,如否,则根据以从机自身唯一的产品识别码为自变量的第n发送间隔时间函数计算出第n发送间隔时间,并按照第n发送间隔时间向主机发送包含从机自身的产品识别码的分配地址请求响应报文;其中,n=2,3,

,N,N为主机广播分配地址请求报文的次数,主机在每次广播分配地址请求报文后会进行冲突检测,如检测到总线冲突,则再次广播分配地址请求报文,直到不再检测到总线冲突。
[0009]相比现有技术,本专利技术技术方案具有以下有益效果;
[0010]本专利技术根据从机唯一的产品识别码来计算从机对分配地址请求报文的应答信息的发送间隔时间,该方案不容易产生总线冲突,即使冲突也可通过自动调整发送间隔时间快速解决,从而实现从机通信地址的快速自动分配;此外,本专利技术自动分配地址为纯软件实现,不需要增加硬件成本。
附图说明
[0011]图1为主机和从机报文交互模型示意图;
[0012]图2为为主机自动分配地址流程示意图;
[0013]图3为从机接收分配地址流程示意图;
[0014]图4为主机冲突检测报文交互模型示例;
[0015]图5为主机冲突检测处理流程示意图。
具体实施方式
[0016]针对现有主从式总线通信系统自动分配地址方案在解决总线冲突方面的不足,本专利技术的思路是根据从机唯一的产品识别码来计算从机对分配地址请求报文的应答信息的发送间隔时间。
[0017]具体地,本专利技术所提出的主从式总线通信系统的地址分配方法,包括以下步骤:
[0018]从机接收主机第一次广播的分配地址请求报文,根据以从机自身唯一的产品识别码为自变量的第一发送间隔时间函数计算出第一发送间隔时间,并按照第一发送间隔时间向主机发送包含从机自身的产品识别码的分配地址请求响应报文;
[0019]从机接收主机点对点通信发送的包含从机的产品识别码和分配地址的地址确认报文,用其中的分配地址更新自身的地址并向主机发送地址确认响应报文;
[0020]从机接收主机第n次广播的分配地址请求报文,并判断自身的地址是否已分配,如是,则不响应,如否,则根据以从机自身唯一的产品识别码为自变量的第n发送间隔时间函数计算出第n发送间隔时间,并按照第n发送间隔时间向主机发送包含从机自身的产品识别码的分配地址请求响应报文;其中,n=2,3,

,N,N为主机广播分配地址请求报文的次数,主机在每次广播分配地址请求报文后会进行冲突检测,如检测到总线冲突,则再次广播分配地址请求报文,直到不再检测到总线冲突。
[0021]为了便于公众理解,下面通过一个具体实施例并结合附图来对本专利技术的技术方案进行详细说明:
[0022]以Modbus总线通信系统为例,其采用图1所示主机和从机报文交互模型,通信为请求

应答(request

reply)模型。
[0023]在广播模式下,主机向所有的n个从机广播发送广播报文1,即分配地址请求报文request。
[0024]每个从机都拥有一个唯一的产品识别码,所有的从机根据自身的产品识别码按照预设的发送间隔时间函数计算自己的发送间隔时间,从机响应主机的分配地址请求报文发送包含自己的产品识别码的响应报文reply1

replyn。
[0025]主机接收到所有从机的包含自身产品识别码的响应报文reply1

replyn后,收集已连接从机的产品识别码,建立从机的管理列表,然后主机根据收集的从机产品识别码按一定规则分配地址给从机,主机向从机发送地址确认报文request1

requestn进行点对点通信确认分配地址,从机收到包含自己产品识别码的地址确认报文后响应主机地址确认报文。
[0026]主机根据所收到从机响应的报文进行总线冲突检测,如检测到总线冲突,则再次广播分配地址请求报文request;从机接收主机再次广播的分配地址请求报文,并判断自身
的地址是否已分配,如是,则不响应,如否,则根据自身的产品识别码按照新的发送间隔时间函数重新计算自己的发送间隔时间,并按照该发送间隔时间响应主机的分配地址请求报文,发送包含自己的产品识别码的响应报文。
[0027]依此类推,直到主机未检测到总线冲突,则地址自动分配完成。
[0028]产品识别码是产品的唯一标识码,可以是一组有代表意义的数字或字母或数字字母组合组成,如产品出厂年/月/产品代号/序号组成的2208010001,BBJHJAJJJA,CK2208010001等。从机每一轮对分配地址请求报文的响应的发送间隔时间是以自身产品识别码为自变量,根据一系列预设的发送间隔时间函数计算得到。所述发送间隔时间函数可以是一次函数、加权随机函数、散列函数等。例如,第一次的响应信息发送间隔时间t用一次函数表示t=基准间隔时间*产品识别码第0位,再一次的响应信息发送间隔时间可以是t=基准间隔时间*产品识别码第1位,第三次的响应信息发送间隔时间可以是t=基准间隔时间*产品识别码第2位,依此类推,每次计算发送间隔时间所使用的产品识别码数据位数依次下移一位。或者,发送间隔时间t用加权随机函数表示t=fw(ID),fw是加权随机函数,参数ID是产品识别码,每次本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种主从式总线通信系统的地址分配方法,其特征在于,包括以下步骤:从机接收主机第一次广播的分配地址请求报文,根据以从机自身唯一的产品识别码为自变量的第一发送间隔时间函数计算出第一发送间隔时间,并按照第一发送间隔时间向主机发送包含从机自身的产品识别码的分配地址请求响应报文;从机接收主机点对点通信发送的包含从机的产品识别码和分配地址的地址确认报文,用其中的分配地址更新自身的地址并向主机发送地址确认响应报文;从机接收主机第n次广播的分配地址请求...

【专利技术属性】
技术研发人员:孙芝雨邵建国孙伟锋
申请(专利权)人:常熟开关制造有限公司原常熟开关厂
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1