总线拓扑网络自组网方法转让专利

申请号 : CN201811629483.6

文献号 : CN109586978B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 袁延波刘国安童庆俞志群王圣洁傅盼盼张莹

申请人 : 浙江中控研究院有限公司

摘要 :

本发明提供了一种总线拓扑网络自组网方法。基于本发明实现了无主网络、自动时间槽分配,以及时间槽与ID分离;在自组网过程中自动建立组网架构,自动诊断定位故障点,并可在故障情况下完成自动组网。通过本发明,可以快速定位网络中的每个设备位置,当系统设备或者线路故障时,无需人工参与即可定位故障。使得组网配置过程更加智能高效,不仅节省了工程师繁琐重复的工作量,也避免了因人为导致的重复配置、错乱等问题。

权利要求 :

1.一种总线拓扑网络自组网方法,其特征在于,包括:步骤10:每个节点均接入系统总线;

步骤11:在各节点同步上电后立即进入接收状态,等待一个固定时间段后,再按照ID延迟一个动态时间段;

步骤12:若延迟期间接收到阻塞码特征码,则按照阻塞码特征码同步系统时钟,等待阻塞码特征码结束作为系统时间槽启动同步标志,按照预设ID自行延时占用时间槽;

步骤12:若到达延迟时间未能收到阻塞码特征码,则按照规定时间发送阻塞特征码,所述阻塞码特征码有两个功能:占用总线,阻止其他节点向总线发布消息;发布总线时钟节拍;

步骤13:由发布阻塞码特征码的节点x立即向系统发布节点上线消息,消息内包含ID、节点状态、节点基本信息;

步骤14:发布阻塞码特征码的节点x之外的其余节点依据ID占用各自时间槽轮流发布节点上线消息,直到节点ID为255的节点发送完毕或超时;

步骤15:由发布阻塞码特征码的节点x收集节点状态消息建立节点顺序表,清除节点不连续导致的空时间槽;

步骤16:发布阻塞码特征码的节点x发布节点顺序表消息,各节点按照顺序应答报文,保证报文正确接收;

步骤17:发布阻塞码特征码的节点x按照正常通讯时间槽宽发布启动消息,消息内包含下一节点ID,下一节点发布启动消息,包含下下节点ID……各节点依次启动正常通讯。

2.如权利要求1所述的总线拓扑网络自组网方法,其特征在于,所述固定时间段可根据系统规模自行设定。

3.如权利要求1所述的总线拓扑网络自组网方法,其特征在于,所述动态时间段可根据系统节点反应时间自行设定动态时间单位、节点ID最大数值,采用ID最大值×动态时间单位方式生成。

4.如权利要求1所述的总线拓扑网络自组网方法,其特征在于,步骤12中,按照固定时间段+动态时间段+阻塞时间=最大等待时间确定阻塞发送时间,最小阻塞码特征码发送时间不低于30ms。

5.如权利要求1所述的总线拓扑网络自组网方法,其特征在于,还包括:步骤20:每个节点均接入系统总线;

步骤21:前序节点x发送报文完成后,当前节点y启动发送逻辑,后续节点启动超时检测,若节点y超时,则节点y关闭报文发送,后续节点m启动报文发送,同时在正常数据消息中附加占用非周期数据槽位信息请求;

步骤22:后续节点m在非周期数据槽发送在节点标记上清除掉线节点的顺序表;

步骤23:时间槽按照新的时间表运行。

6.如权利要求1所述的总线拓扑网络自组网方法,其特征在于,还包括:步骤30:每个节点均接入系统总线;

步骤31:新插入节点m上电后立即进入接收状态,开始接收消息;

步骤32:接收n个周期,确认非周期时间空闲并同步时钟;

步骤33:在第n+1个周期,非周期时间发送节点消息包,由收到消息的节点在第n+2周期发布接纳或拒绝新节点标记;

步骤34:在第n+2个周期,非周期数据时间槽发布接纳新节点后的顺序表;

步骤34:在第n+2个周期,非周期数据时间槽发布拒绝新节点加入消息,新插入节点保持离线;

步骤35:在第n+3周期,新增节点m按照新的节点顺序表发送数据;

步骤36:时间槽按照新的时间表运行。

说明书 :

总线拓扑网络自组网方法

技术领域

[0001] 本发明涉及一种总线拓扑网络自组网方法

背景技术

[0002] 基于总线拓扑构建的网络往往采用时分复用方式,模块间仲裁采用令牌、轮询、时分复用等方式。一般会由一个主控模块用于进行令牌管理、轮询以及时间槽分配,常规应用
下,分配依据取自设备ID或物理MAC等。例如,FlaxRay总线基于时间槽分配方式,将时间分
为周期通信槽和非周期通信槽,而时间槽分配由主节点进行,当存在多个主节点时,则不能
适用,需要另外制定一个协商过程,保证任一时刻系统内仅包含1个主节点,当主节点失效
时,需要一个时间重新建立时间槽分配机制。EPA总线则采用令牌方式,要求存在一个令牌
管理节点负责令牌的产生与分发,当令牌发送后没有节点持有令牌时,系统需要等待超时,
由令牌管理模块重新生成令牌,系统需要进行大量的令牌发送、令牌等待时间,总线利用率
较低。
[0003] 工业控制系统往往需要根据模块位置、类型进行不连续编址。当采用轮询模式时,系统需要一个主控模块轮流访问各节点,各节点轮流应答、执行指令。采用主从式通讯,主
节点可以通过人工干预轮询点位避免编址空隙导致的时间消耗,当运行过程中插入节点
时,则可能引起冲突,当节点掉线时,该节点浪费一个空时间片,系统灵活性不高。另外,主
节点需要于轮询、应答,占用总线较多时间,总线利用率较低。当主节点故障时,系统不可避
免的出现崩溃,直至新的主节点建立。
[0004] 当采用令牌方式时,系统同样需要一个令牌管理模块负责令牌的产生、消灭。当令牌发送后没有节点持有令牌时,系统需要等待超时,由令牌管理模块重新生成令牌,系统需
要进行大量的令牌发送、等待时间,总线利用率较低。
[0005] 当采用时分复用方式时,系统需要由时间槽维护管理,该功能一般由主控模块完成,当系统冗余架构或对等网架构时,主控模块完成时间槽维护变得不可能。另外模块节点
不连续需要消耗大量时间等待空节点超时进入下一时间槽,总线利用率过低。
[0006] 现行已有的自组网方式,大多是基于无线通信的,自组网协议、方法在网络的上层实现。本发明中自组网方法是基于网络的物理层、链路层进行,底层实现比上层实现更灵
敏、更实时。针对有线网络,CN201710963166.7基于CAN总线的多节点自动组网方法利用了
CAN总线的仲裁机制,CAN节点之间通过监听、随机发送、竞争等方式生产CAN ID,期间某一
个CAN最后确定自身的CAN ID或许需要经过多次冲突竞争才能确定,节点规模较大时,冲突
会更明显,且效率较低,并且该方法只适用于总线型或者星型结构的网络中,不适用于环网
结构。

发明内容

[0007] 本发明的目的在于提供一种总线拓扑网络自组网方法。
[0008] 为解决上述问题,本发明提供一种总线拓扑网络自组网方法,包括:
[0009] 步骤10:每个节点均接入系统总线;
[0010] 步骤11:在各节点同步上电后立即进入接收状态,等待一个固定时间段后,再按照ID延迟一个动态时间段;
[0011] 步骤12A:若延迟期间接收到阻塞码,则按照阻塞码同步系统时钟节拍,等待阻塞码结束作为系统时间槽启动同步标志,按照预设ID自行占用时间槽;
[0012] 步骤12B:若到达延迟时间未能收到阻塞码,则按照规定时间发送堵塞特征码,所述阻塞码有两个功能:占用总线,阻止其他节点向总线发布消息;发布总线时钟节拍;
[0013] 步骤13:由发布阻塞码的节点x立即向系统发布节点上线消息,消息内包含ID、节点状态、节点基本信息;
[0014] 步骤14:发布阻塞码的节点x之外的其余节点依据ID占用各自时间槽轮流发布节点上线消息,直到节点ID为255的节点发送完毕或超时;
[0015] 步骤15:由发布阻塞码的节点x收集节点状态消息建立节点顺序表,清除节点不连续导致的空时间槽;
[0016] 步骤16:发布阻塞码的节点x发布节点顺序表消息,各节点按照顺序应答报文,保证报文正确接收;
[0017] 步骤17:发布阻塞码的节点x按照正常通讯时间槽宽发布启动消息,消息内包含下一节点ID,下一节点发布启动消息,包含下下节点ID......各节点依次启动正常通讯。
[0018] 进一步的,在上述方法中,所述固定时间段根据应用规模确定。
[0019] 进一步的,在上述方法中,所述动态时间段根据节点反应时间确定动态时间单位,按照最大ID地址设定动态时间段为最大ID×动态时间单位。
[0020] 进一步的,在上述方法中,步骤12B中,按照固定时间段+动态时间段+阻塞时间=最大等待时间确定阻塞发送时间,最小阻塞码发送时间不低于30ms。
[0021] 进一步的,在上述方法中,还包括:
[0022] 步骤20:每个节点均接入系统总线。
[0023] 步骤21:前序节点x发送报文完成后,当前节点y启动发送逻辑,后续节点启动超时检测,若节点y超时,则节点y关闭报文发送,后续节点m启动报文发送,同时在正常数据消息
中附加占用非周期数据槽位信息请求。步骤22:后续节点m在在非周期数据槽发送在节点标
记上清除掉线节点的顺序表;
[0024] 步骤23:时间槽按照新的时间表运行。
[0025] 进一步的,在上述方法中,还包括:
[0026] 步骤30:每个节点均接入系统总线。
[0027] 步骤31:新插入节点m上电后立即进入接收状态,开始接收消息;
[0028] 步骤32:接收n个周期,确认非周期时间空闲并同步始终;
[0029] 步骤33:在第n+1个周期,非周期时间发送节点消息包,由收到消息的节点在第n+2周期发布接纳或新节点标记;
[0030] 步骤34A:在第n+2个周期,非周期数据时间槽发布接纳新节点后的顺序表;
[0031] 步骤34B:在第n+2个周期,非周期数据时间槽发布拒绝新节点加入消息,新插入节点保持离线;
[0032] 步骤35:在第n+3周期,节点m按照新的节点顺序表发送数据;
[0033] 步骤36:时间槽按照新的时间表运行。
[0034] 与现有技术相比,本发明基于本发明的总线拓扑网络各节点地位同等,可自动组网,并自动识别编址间隙,时间槽与ID分离。系统可自动识别出链路或设备故障,识别故障
点。本发明在自组网过程中不仅能够自动建立网络架构,也能针对网络中出现的链路故障
等进行诊断,并带故障完成自组网,这是其他自组网方法不具备的功能。通过本发明,使得
环网控制系统的组网配置过程更加智能高效,无需人工参与,不仅节省了工程师大量繁琐
且重复的工作量,也避免了极易因人为导致的重复配置、错乱等问题。同时,通过本发明,上
位机以及用户可以清楚的知道每个设备在网络中所处的位置,当系统设备或者线路故障
时,也无需工程师挨个排查定位,即可明确知道网络故障位置。

附图说明

[0035] 图1为本发明个实施例的网络拓扑结构示意图;
[0036] 图2为本发明一实施例的通讯调度方法示意图;
[0037] 图3为本发明一实施例的整体上电过程的流程图;
[0038] 图4为本发明一实施例的节点下线过程的流程图;
[0039] 图5为本发明一实施例的节点热插入过程的流程图。

具体实施方式

[0040] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0041] 发明提供一种基于总线拓扑结构的自组网及网络诊断方法。网络由节点x、节点y、节点m......节点n‑1、节点n及它们之间的互联线构成。通信口可以是以太网接口、CAN接
口、RS485接口等一切可以以数据帧方式收发的接口。
[0042] 如图1所示,本发明提供一种总线拓扑网络自组网方法,本发明一实施例基于LVDS总线,总线型拓扑,假定此实施例中网络规模不多于60个节点,每节点使用预设的ID,取值
范围1~255,采用带宽时分复用结构,各节点信息在总线上传播延时按照时间确定,因此通
讯是确定性的。图1所示即为网络拓扑结构示意图,每个节点均接入系统总线。本实例按照
三类情况进行描述:节点上电运行、节点插入和节点下线。本实例中发送时间槽采用100μs,
时间槽宽度可以根据总线拓扑、帧长度等方式自行选择。图2为本发明一实施例的通讯调度
方法示意图。
[0043] 本实施例中总线上电过程如下,附图3为自组网步骤:
[0044] 步骤11:本实施例中各节点同步上电后立即进入接收状态,等待一个固定时间段,本例采用488ms,再按照ID延迟一个动态时间段,优选的采用最大ID×2ms。
[0045] 步骤12A:如延迟期间接收到阻塞码,则按照阻塞码同步系统时钟节拍,等待阻塞码结束作为系统时间槽启动同步标志,按照预设ID自行占用时间槽。
[0046] 步骤12B:如到达延迟时间(固定时间+动态时间段)未能收到阻塞码,则发送堵塞特征码,阻塞码发送时间为可以根据需要自行选择,本例中优选按照固定时间段+动态时间
段+阻塞时间=最大等待时间确定所述阻塞码发送时间,最小阻塞码发送时间不低于30ms,
阻塞码由两个功能:占用总线,阻止其他节点向总线发布消息;发布总线时钟节拍。
[0047] 步骤13:由发布阻塞码的节点x立即向系统发布节点上线消息,消息内包含ID、节点状态、节点基本信息等。
[0048] 步骤14:其余节点依据ID占用各自时间槽轮流发布节点上线消息,直到节点ID最大的节点发送完毕或超时。
[0049] 步骤15:由阻塞节点x收集节点状态消息建立节点顺序表,清除节点不连续导致的空时间槽。
[0050] 步骤16:阻塞节点x发布节点顺序表消息,各节点按照顺序应答,保证报文正确接收。
[0051] 步骤17:阻塞节点x按照正常通讯时间槽宽发布启动消息,消息内包含下一节点ID,下一节点发布启动消息,包含下下节点ID......各节点依次启动正常通讯。
[0052] 本实施例中节点下线过程如下,附图4为节点下线处理步骤:
[0053] 步骤21:前续节点x发送完成报文后,节点y启动发送报文,节点y后续节点均启动检测,当后续节点m检测到超时未发送,则节点y停止报文发送,节点m启动报文发送,并在正
常数据消息中附加占用非周期数据槽位信息;
[0054] 步骤22:节点m在在非周期数据槽发送在清除下线节点的顺序表;
[0055] 步骤23:时间槽按照新的时间表运行。
[0056] 本实施例中节点插入过程如下,附图5为节点插入步骤:
[0057] 步骤31:新插入节点m上电后立即进入接收状态,开始接收消息。
[0058] 步骤32:接收n个周期,确认非周期时间空闲,同步时钟。
[0059] 步骤33:在第n+1个周期,非周期时间发送节点消息包,由收到消息的节点在第n+2周期发布接纳或拒绝新节点标记。
[0060] 步骤34A:在第n+2个周期,非周期数据时间槽发布接纳新节点后的顺序表。
[0061] 步骤34B:在第n+2个周期,非周期数据时间槽发布拒绝新节点加入消息,新插入节点保持离线;
[0062] 步骤35:在第n+3周期,节点m按照新的节点顺序表发送数据。
[0063] 步骤36:时间槽按照新的时间表运行。
[0064] 本发明基于本发明的总线拓扑网络各节点地位同等,可自动组网,并自动识别编址间隙,时间槽与ID分离。系统可自动识别出链路或设备故障,识别故障点。本发明在自组
网过程中不仅能够自动建立组网架构,也能针对网络中出现的链路故障等进行诊断,并带
故障完成自组网,这是其他自组网方法不具备的功能。通过本发明,使得环网控制系统的组
网配置过程更加智能高效,无需人工参与,不仅节省了工程师大量繁琐且重复的工作量,也
避免了极易因人为导致的重复配置、错乱等问题。同时,通过本发明,上位机以及用户可以
清楚的知道每个设备在网络中所处的位置,当系统设备或者线路故障时,也无需工程师挨
个排查定位,即可明确知道网络故障位置。
[0065] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0066] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、软件或者二者的结合来实现,为了清楚地说明硬件和软件的
可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究
竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人
员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超
出本发明的范围。
[0067] 显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之
内,则本发明也意图包括这些改动和变型在内。