诊断并报告网络中断的制作方法

文档序号:7994663阅读:124来源:国知局
诊断并报告网络中断的制作方法
【专利摘要】一种系统、方法和计算机可读介质允许电缆断裂或其它网络链路故障被检测到并被报告。该方法可包括以下步骤:周期性地从网络中的根节点向网络中的下一个节点传输数据包;在回路中的每个连续的非根节点,操纵该数据包并转发该被操纵的数据包到回路中的下一个连续节点;当在预定的时间段内在根节点处该数据包被收回时,报告该回路是完整的;并且当在预定时间段内在根节点处该数据包没有被收回时,报告已发生网络中断。该网络可以符合STP或FSTP协议,并且可含有可能包括双环的一个或多个环。PLC可以作为根节点操作,并且该报告可以在PLC中的应用级进行。
【专利说明】诊断并报告网络中断
[0001]背景
[0002]工业自动化系统通常包括通过一个或多个通信网络耦合到其他设备如远程I/O设备的可编程逻辑控制器(PLC)。在工厂或其他工业环境中,这样的网络可能包括几十个传感器,其持续监控诸如温度、液位、或机械臂位置这样的事情。该传感器可以被耦合到I/O设备,其每秒向PLC返回多次报告。PLC可以包括按照变化的条件行事的规则,例如通过网络向其他设备发布命令,以在系统中执行各种操作。PLC还可以监测并报告关于在系统中检测到的错误和各种运行参数的状态。
[0003]如图1中所示,用户控制台101被耦合到可编程逻辑控制器(PLC) 102。控制台101可以包括一个或多个处理器和存储应用软件的存储器和/或用户接口,其允许用户或计算机程序来配置、改变、控制和监视在PLC102中和该PLC在其中操作的网络中的功能的操作。PLC102可以包括任意的各种类型的市售的PLC,如从施耐德电气公司可购得的Modicon?Quantum? PLC。
[0004]PLC102可以通过背板互连或其它方式被耦合到一个或多个通信控制器103和104。每个通信控制器处理通过一个或多个网络108和109与一个或多个远程I/O设备如设备105、106和107的通信,旨在监视和控制系统中的各种设备和传感器。
[0005]工业以太网是用于在工业自动化系统中在节点之间进行通信的一种类型的网络。例如工业以太网的网络可以被配置成一个或多个环,其根据生成树协议(STP)或快速生成树协议(RSTP)被配置并通信。STP是防止桥回路(循环)和随后的广播辐射(即,永无休止地在该网络中传输的数据包)的网络协议。它也允许网络包括冗余链路,以在发生链路故障时提供自动备份的路径,不会有产生可能导致冗余广播消息的回路的危险。
[0006]STP在设备的网状网络中创建生成树,并禁止不是生成树的一部分的节点之间的任何链路(阻塞端口),在任意的两个网络节点之间只留有单一的活动路径。一个节点基于它的桥ID被选择为根节点。其他的节点被配置为确定并使用到该根节点的最短路径。一旦检测到链路故障,协议计算并创建一个新的最短路径树结构(例如,通过激活阻塞端口),并且该网络自己自动重新配置,以围绕附近的故障链路或节点工作。STP被标准化为IEEE802.1D0
[0007]RSTP是改进版的STP,被标准化为IEEE 802.lw,其能够比STP更快地响应变化。也已经提出了 STP的其它变型和修改。
[0008]期望提供在例如设备的RSTP环的网络中的检测到的电缆断裂或其他网络故障的改进的检测和报告,特别是在PLC中的应用级。
[0009]发明概述
[0010]本文描述了一种系统、方法和计算机可读介质,用于检测网络(如工业以太网网络)中的电缆断裂或其它的链路故障。该方法可以包括以下步骤:周期性地从网络中的根节点向网络中的下一个节点传输数据包;在回路中的每个连续的非根节点,操纵该数据包并转发该被操纵的数据包到回路中的下一个连续节点;当在预定的时间段内在根节点处收回该数据包时,报告该回路是完整的;并且当在预定的时间段内在根节点处没有收回该数据包时,报告已经发生网络中断。该网络可以符合STP或RSTP协议,并且可含有可能包括双环的一个或多个环。在一些变型中,PLC可以作为根节点操作,并且报告可在PLC中的应用级来完成。在一些变型中,该数据包可以作为网络中的多播数据包被传输。当它通过阻塞端口被传输时,该数据包可以以不同的方式被处理。
[0011]本文还描述了包括被配置为生成树拓扑的多个网络节点的系统。在该系统中的根节点可以周期性地向网络中的下一个节点传输数据包。系统中的每个连续的非根节点可以操纵该数据包并转发该被操纵的数据包到下一个连续节点。当在预定的时间段内在根节点处收回该数据包时,可以产生报告或其他的指示符以指示该网络是完整的。当该数据包没有在预定的时间段内在根节点处被收回时,可以产生回路断开消息或指示符。该网络可以符合STP或RSTP协议,并且可含有可能包括双环的一个或多个环。在一些变型中,该数据包可以作为网络中的多播数据包被传输。当它通过阻塞端口被发送时,该数据包可以以不同的方式被处理。
[0012]本文还描述了一种计算机可读介质,例如存储器设备,其包括可执行指令,该指令在当被执行时,履行与以上所描述的方法和系统有关的功能。
[0013]附图简述
[0014]本公开和在此所描述的各方面的潜在优点的更完整的理解可通过考虑附图、参照下面的描述来获得,其中相同的参考编号表示相同的特征,并且其中:
[0015]图1是包括PLC和各种网络单元的工业自动化系统的框图。
[0016]图2是包括被配置为根据本文所描述的各种原理来操作的一个或多个网络的系统的框图。
[0017]图3是示出了根据本文所描述的各种原理可以被执行的各种步骤或功能的流程图。
[0018]图4示出了用于回路校验消息的一种可能的帧格式。
[0019]图5示出了可被用于实现本文所描述的各种功能的设备。
[0020]详细描述
[0021]图2示出了包括被配置为根据本文所描述的各种原理来操作的一个或多个网络的系统。如图2中所示,网络单元201的第一(主)环包括根节点205,其可以包括PLC或其它的联网设备。该环还包括第一双环开关206,其将主环耦合到网络单元202的第二(次)环(图2的左侧)。双环开关允许数据包从一个环(例如,环201)上的网络单元发起,以被传输到另一个环(例如,环202)上的网络单元。主环还包括将主环201耦合到次环202的双环开关207、以及将主环201耦合到第三次环203的双环开关208和209、以及将主环201耦合到第四次环204的双环开关210。
[0022]在某些实施方式中,主环201根据STP或RSTP被配置和管理,允许环201来自动检测和修复网络链接,这是众所周知的。为方便起见,双环开关206至210以它们耦合到的环的两侧被标明(例如,双环开关206以对应于环202的RSTP2和对应于环201的RSTPl两者被标明。)
[0023]此外,如图2中所示,次环202包括3个双端口开关211、212,和213。虽然没有明确被示出,每个开关可以被耦合到一个或多个设备(例如,传感器或控制器),旨在使用数据包在工业自动化系统中执行一个或多个功能,该数据包在如图2中所示的网络化设备之间被传输。类似地,次环204包括双端口开关217、218和219,以及次环203包括双端口开关 214,215 和 216。
[0024]根据STP或RSTP协议(或它们的变体中的一个),如图2所示的在一些开关上的某些端口被阻塞(设置为非激活),以便防止在环中循环。图2中,阻塞端口通过散列标记220 (在双端口开关212上)、散列标记221 (在双端口开关215上)、散列标记222 (在双端口开关219上)和散列标记223 (在双端口开关207上)被示出。
[0025]根据某些实施方式,根节点205周期性地传输围绕环201的回路校验消息以确定回路完整性是否是完整的。如果数据包在预定的时间段内穿过环并返回到根节点205,则回路被认为是完整的,并且指示符可以被设置以指示该状态。如果该数据包没有在预定的时间段内返回到根节点205,则根节点205可以认为该回路被破坏,并且指示符可以被设置以指示该状态。
[0026]根节点可以包括PLC,并且该指示符可以包括PLC的存储器中的位或其他的数据存储单元。该指示符也可以在PLC中的应用层被监测和报告,以便提供人类可读错误消息、显示屏幕、或其它类型的指示(例如,电子邮件或寻呼消息)。
[0027]图3示出各种步骤和功能,其可以被执行,以实施诊断和报告电缆断裂或其它的网络缺陷的过程。这些步骤可以以软件、硬件、固件、或它们的组合来实现。软件指令可以包含在有形的可读介质如存储器中,并且由一个或多个处理器或其它的计算设备来执行。这样的指令可以被存储在任何不同的设备中,如图2中所示的那些。一个或多个处理器和存储器可以被用于执行图3中所示的任何或全部的步骤和功能。
[0028]以步骤301开始,根节点(例如,节点205,其可以是PLC)发送回路校验数据包到主环上的相邻节点,并设置用于在根节点处收回回路校验数据包的超时定时器。该超时定时器可以被设置为任何值,该值对于网络的规模和配置是合理的,或者它可以被设置为默认值。例如,依赖于数据包必须穿过的节点的数目,可以关于穿过该环并返回到根节点它将花费的最长时间做出假设。或者,可以选择默认值,该默认值比用于在最大可能的环中穿过的最长时间更大。
[0029]在一些变型中,回路校验数据包使用多播目的MAC地址被发送。在一个变型中,回路校验数据包的目的MAC地址被固定在01:80:63:07:00:0A (十六进制)。在环上的所有的节点可以注册以接收该数据包。
[0030]在一些实施方式中,数据包不被传输到次环(例如,通过双环开关),而是仅穿过主环。例如,根节点205仅传输回路校验数据包到双环开关206的RSTPl端口,而不是到双环开关206的RSTP2端口。在一些其它实施方式中,独立的回路校验也可以在次环上进行。用于回路校验消息的一种可能的格式被示于图4中,其将在下面更详细地解释。
[0031]在环中的每个节点接收该数据包,并且可以以各种方式操纵该数据包。在步骤302中,相邻节点(例如,图2中的双环开关210)接收该数据包。在步骤303中,如果根节点是接收该数据包的节点(即,数据包已经穿过环并返回到根节点),则在步骤304中该数据包被丢弃,并且,在步骤313中,该环的完整性被报告是完整的,假设超时时间到接收该数据包的时间还没到期(步骤314)。
[0032]环完整性报告(成功还是失败)可以以任何不同的方式被执行。在一些实施方式中,可以提供指示灯(绿色为成功,红色为失败)。在其它的实施方式中,可以在网络化设备例如PLC中的应用级生成错误消息。PLC可以基于该报告采取进一步的行动,如传输电子邮件、寻呼警报、自动电话呼叫、或其它的电子通知技术。该错误也可以被记录在数据库中和/或报告给PLC或其它设备中的其他应用。
[0033]在步骤305中,检查“非转发标志”是否已经被设置在回路校验数据包中。如果非转发标志已经被设置,则在步骤306中进行检查以确定是否该数据包已经通过阻塞端口被接收。
[0034]如果在步骤306中回路校验数据包通过阻塞端口被接收,则在步骤307中该数据包被丢弃。这确保消息通过阻塞端口只发送一次,并防止回路或循环。
[0035]在步骤308中,进行检查,以确定在回路校验数据包中的主机MAC字段是否与接收到该数据包的节点的主机MAC值相同。在一种实施方式中,主机MAC字段的使用可以确定是否存在一个以上的根节点。如果存在匹配,则在步骤309中该数据包被丢弃。在一种实施方式中,主机MAC地址可以由回路校验帧的始发者来设置。
[0036]在步骤310中,进行检查,以确定该数据包是否正在阻塞端口上被发送。如果该数据包正在阻塞端口上被发送,则在步骤311中,非转发标志被设置。这防止数据包第二次通过阻塞端口被再次转发。
[0037]在步骤310和311之后,在步骤312中,回路校验数据包被发送到相同的环中的下一个节点,并且该过程返回到步骤302。
[0038]如果在回路校验数据包在根节点处被收回之前,超时定时器到期,则在步骤314中生成错误报告。如上面所解释的,报告可以发生在PLC中的应用级,并且可以通过电子邮件或其它方式被进一步传递到人或到应用程序,用于进一步处理。
[0039]在步骤315中,该过程可以在自动的基础上被重复(即,返回到步骤301),例如一个两分钟的时间间隔。
[0040]图4示了用于回路校验帧的一种可能的形式。图4中所示的值是以十六进制形式。当然,本发明不限定于图4中所示的特定的值。
[0041]图5示出了可以被用来执行如图2中所示的这些设备的装置。设备501,例如根节点205或双环开关206,可以包括一个或多个处理器503和一个或多个存储器504,其中已经存储用于执行上述功能的指令。该设备还可以包括一个或多个I/O电路502和504,以通过端口与网络上的其他设备进行通信。提到的处理器和存储器也旨在涵盖各种类型的处理结构,包括但不限于专用集成电路(ASIC)和现场可编程门阵列(FPGA)。
[0042]以上所描述的功能和步骤可以通过硬件和/或通过软件来实现,软件存储在有形的计算机可读介质(例如,存储器)中,并且通过例如包括以软件编程的一个或多个处理器的服务器计算机的各种计算设备或装置来执行。
[0043]图中的功能块之间的划分仅是说明性的,并且计算设备和其他装置的物理划分可能不同于功能划分。此外,某些或所有的功能块可以在功能上和/或物理上被组合或进一步细分。例如,设备102和103可以被合并成单个的设备,并且甚至控制台101的功能可以被合并到单个设备中,例如工业PC。
[0044]除非另有明确说明,方法权利要求的步骤(以及相应的功能元件)在此不应该被限定于以它们所列举的顺序被执行。
[0045]提到的“生成树协议”是指并且不仅包括标准的STP和RSTP,还有这种协议的其它的变型和修改。“生成树协议”应被理解为包括建立并修复诸如以太网交换机的设备的网络中的无回路拓扑的协议。
【权利要求】
1.一种方法,包括: 从根据生成树协议配置的网络中的根节点,向所述网络中的相邻节点传输数据包; 在所述网络中的每个连续的非根节点,操纵所述数据包并转发所操纵的数据包到所述网络中的下一个相邻节点; 当在预定的时间段内在所述根节点处收回所述数据包时,报告所述网络是完整的;当在预定的时间段内在所述根节点处没有收回所述数据包时,报告在所述网络中已经发生中断。
2.如权利要求1所述的方法,其中所述生成树协议是快速生成树协议。
3.如权利要求1所述的方法,其中所述数据包具有多播目的MAC地址。
4.如权利要求1所述的方法,其中至少一个所述非根节点通过阻塞端口转发所述数据包。
5.如权利要求4所述的方法,其中当所述数据包通过所述阻塞端口被转发时,在所述数据包中设置标志以表明该数据包不应该通过另一个阻塞端口被再次转发。
6.如权利要求1所述的方法,其中操纵所述数据包包括,确定在所述数据包中是否已经设置了非转发标志,并且如果已经设置了所述非转发标志,则防止通过阻塞端口再次转发所述数据包。
7.如权利要求1所述的方法,其中操纵所述数据包包括,如果在所述数据包中的主机MAC地址匹配正在操纵所述数据包的节点的主机MAC地址,则丢弃所述数据包。
8.如权利要求1所述的方法,其中报告已经发生中断包括产生应用级消息。
9.如权利要求1所述的方法,还包括定期重复上述步骤的步骤。
10.如权利要求1所述的方法,其中所述根节点包括工业自动化系统中的可编程逻辑控制器PLC。
11.如权利要求1所述的方法,还包括防止向位于次环中的节点转发所述数据包的步骤。
12.一种装置,包括: 处理器;以及 存储器,其存储指令,所述指令当由所述处理器执行时,使得所述装置执行: 从根据生成树协议配置的网络中的根节点接收数据包;以及 操纵所述数据包并转发所操纵的数据包到所述网络中的下一个相邻节点。
13.如权利要求12所述的装置,其中所述生成树协议是快速生成树协议。
14.如权利要求12所述的装置,其中所述数据包具有多播目的MAC地址。
15.如权利要求12所述的装置,其中所述装置被配置为通过阻塞端口转发所述数据包。
16.如权利要求15所述的装置,其中当所述数据包通过所述阻塞端口被转发时,所述装置在所述数据包中设置标志以表明该数据包不应该通过另一个阻塞端口被再次转发。
17.如权利要求12所述的装置,其中所述装置被配置为确定在所述数据包中是否已经设置了非转发标志,并且如果已经设置了所述非转发标志,则防止通过阻塞端口再次转发所述数据包。
18.如权利要求12所述的装置,其中所述装置被配置为,如果在所述数据包中的主机MAC地址匹配所述装置的主机MAC地址,则丢弃所述数据包。
19.如权利要求12所述的装置,其中所述根节点包括工业自动化系统中的可编程逻辑控制器PLC。
20.一种计算机可读介质,其具有存储于其上的指令,所述指令当被执行时,使得装置执行: 从根据生成树协议配置的网络中的根节点接收数据包;以及 操纵所述数据包并转发所操纵的数据包到所述网络中的下一个相邻节点。
【文档编号】H04L12/44GK104272667SQ201280071943
【公开日】2015年1月7日 申请日期:2012年4月5日 优先权日:2012年4月5日
【发明者】维贾伊·瓦尔拉拉, 阿伦·梅赫梅达吉奇, 马克·奎利 申请人:施耐德电器工业公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1