实时分布式网络模块、实时分布式网络及其方法

文档序号:7978514阅读:175来源:国知局
实时分布式网络模块、实时分布式网络及其方法
【专利摘要】实时分布式网络被布置成在至少一个主应用和至少一个实时分布式网络之间提供接口。所述实时分布式网络模块包括被布置成在至少第一实时分布式网络连接上发送和接收实时分布式网络数据的第一通信组件;被布置成在至少一个另外的实时分布式网络连接上发送和接收实时分布式网络数据的至少一个另外的通信组件;被布置成给所述至少一个主应用提供接口的至少一个主应用接口组件;以及被布置成在所述第一通信组件、所述至少一个另外的通信组件和所述至少一个主应用接口组件之间执行通信通道映射的至少一个配置组件。所述至少一个配置组件还被布置成:一旦在所述实时分布式网络中检测到链路故障,则在所述第一通信组件、所述至少一个另外的通信组件和所述至少一个主应用接口之间执行通信通道的动态重新映射。
【专利说明】实时分布式网络模块、实时分布式网络及其方法
【技术领域】
[0001]本发明的领域涉及实时分布式网络模块、实时分布式网络以及一种配置实时分布式网络的至少一部分的方法。
【背景技术】
[0002]在自动化系统领域,例如工业自动化系统,诸如制造装配线或汽车控制系统,常常需要实时分布式控制系统以便系统有效地运行。为了实现这样的实时分布式控制,现场总线通常被实现以在要求实时分布式控制的各种组件之间提供实时分布式通信机制。现场总线是用于实时分布式控制的工业计算机网络协议家族的名称,现在标准化为IEC61158。EtherCAT(用于控制自动化技术的以太网)是这样的现场总线网络的例子,并且特别包括基于以太网的现场总线网络。
[0003]这样的现场总线网络的重要方面是它们提供实时分布式控制的能力。为了实现这样的实时控制,诸如EtherCAT网络的现场总线网络依赖于该系统内使用了分布式时钟机制的各个节点的同步,其使得网络中的各个从(slave)节点能够在共用现场总线时间域内被同步,因此使得现场总线器件和它们的本地应用能够彼此同步。
[0004]EtherCAT使用从节点内的硬件使所述从机同步到主时域。此外,EtherCAT “从”控制器提供了 EtherCAT现场总线和从应用之间的接口。主器件负责利用从机使用的特定命令来分发帧,以同步其时钟。主器件没有必要实施EtherCAT特定硬件,而且往往这样的主器件包括标准的以太网控制器。因此,主器件通常位于EtherCAT系统的同步时间域的外部,并且可能需要特定算法将其时域同步到EtherCAT网络。
[0005]通常在EtherCAT系统中实施的分布式时钟系统能够将所有的EtherCAT节点同步到参考时钟。通常,在特定以太网段内,在主器件之后具有分布式时钟能力的第一从节点被用于提供参考时间(系统时间),其中系统中的所有其他节点同步到该参考时间。该系统时间被用作参考时钟,以便同步其他EtherCAT器件的本地时钟和主器件的本地时钟。传播延迟、本地时钟源和本地钟偏移都考虑到这样的时钟同步。
[0006]时钟同步过程通常包括三个阶段:
[0007]1.传播延迟测量,其中主器件通过发送ARMW(自动增量物理读多写)广播消息在所有方向上的所有从节点之间发起传播延迟测量。每一个一个EtherCAT从控制器测量并本地保存每一个一个方向上测量帧的接收时间。一旦ARMW帧在EtherCAT网络行进并且返回,则主器件收集接收时间,并且计算从节点之间的传播延迟,;
[0008]2.参考时钟(系统时间)的偏移补偿,其中每一个一个从时钟的本地时间与系统时间进行比较,并且通过写入每一个一个从机单独补偿差值。所有器件都被补偿以具有相同的绝对系统时间。
[0009]3.参考时钟的漂移补偿,其中每一个一个从节点内的参考时钟和本地时钟之间的漂移要求通过定期测量以上两者之间的差值和重调补偿而被补偿。
[0010]许多自动化系统的另一个要求是系统的可用性/可靠性。冗余是一种用于提高系统的可靠性,特别是在链路故障之后用于提高系统的可用性的技术。所建议的一种用于在EtherCAT系统中提供冗余的技术是一种环形冗余方法,诸如图1所示的。在这种用于在EtherCAT系统中提供冗余的已知技术中,EtherCAT主器件110利用主节点112和两个集成EtherCAT从节点114、116实现。EtherCAT网络被布置成环形拓扑,其中EtherCAT主器件110围绕环(经由集成从节点114、116中的每一个一个)在每一个一个方向上发送复制数据分组。当网络中发生中断的时候,诸如在120所示的,两个独立的EtherCAT线网络140、145被创建,其中每一个一个线路网140、145接收(复制)的数据分组的版本。
[0011]如果在端口上没有检测到器件,则EtherCAT从控制器被布置成自动关闭打开的端口,并且在下一个可用端口上转发帧。因此,一旦环形拓扑中有链路故障120,则在中断
12O任一侧的从节点13 O、13 5关闭了各自端口并启用此“环回”功能,其中帧将在它们所来自的方向上被环回,从而创建了两个“往返”EtherCAT线路网140、145。有利的是,由于EtherCAT主器件110经由集成从节点114、116中的每一个一个发送重复数据分组,所以线路网140、145中的节点将继续接收数据帧。
[0012]为了最小化延迟和抖动,EtherCAT从节点被布置成处理仅在一个方向上的流量;每一个一个从节点内的数据流的所有其他方向被限制在数据的转发。因此,对于诸如图1所示的环形拓扑,从节点通常被定向成使得它们处理在相同方向上行进的数据。因此,在链接故障120之后,在对于所得到的线路网140中的一个的外部从节点的处理的方向将朝向主器件110,而对于在其他所得到的线路网145中的外部从节点的处理的方向将远离主器件110。为了保持线网络之间的同步,要求集成从节点114、116中的每一个一个提供分布式时钟,因此需要相应线路网140、145中的“第一”从节点。因此,对于这个已知的解决方案,用于集成从节点114和116的处理方向在网络环形内结构上彼此相反,以便使得两个集成从节点114、116在断线之后是相应线路网140、145中的“第一”。
[0013]由于从节点执行的单向处理,所以要求主器件110 —旦链路故障就重新配置网络拓扑,以便将从节点的相对处理顺序中的变化考虑在内,并因此解决模式后链路故障;特别是涉及位置寻址。
[0014]然而,从环形拓扑切换到双线路拓扑对EtherCAT网络中各个节点的同步有显著的影响。虽然在主器件Iio中集成两个从节点114、116使得两个得到的EtherCAT线路网
140、145之间能够保持一定程度的同步,但是要求主器件110重新计算新网络拓扑内从节点之间的传播延迟。由于不可能事先知道链路故障可能在何处发生,所以有必要在链路故障120发生之后从头开始重新计算新的传播延迟,这是耗时的,因此延迟从链路故障恢复,或者,计算所有可能方案的传播延迟数据,这不仅增加了对于初始传播延迟测量过程的复杂性和延迟,而且需要存储器空间来存储传播延迟数据和更复杂的算法后链路故障以纠正同步性能。在一些例子中,由于EtherCAT网络可以包括数百个从节点,所以计算和存储所有可能方案的传播延迟数据是明显不切实际的。
[0015]此外,主器件110复制分组并围绕环在两个方向对其进行发送的要求给数据分组的发送引入了更多的处理周期、复杂性和抖动。例如,主器件110必须提供两个发送端口。这是通过复制数据分组或处理两个发送队列在两个端口上发送相同的分组完成的。当帧被环回的时候,主器件110也必须处理两个接收流,这就增加了整个网络的复杂性,特别是在链路故障之后。具体地,主器件110必须知道处于所得到的线网络路径140、145中的每一个的那些从机,并且关于当前网络拓扑,确保帧的处理元件是认知的。因此,要求主器件110执行显著数量的附加检查。
[0016]这种已知方法在EtherCAT网络中提供冗余的另一个缺陷是它仅能够支持环形拓扑,并且因此只允许部署包含了两个端口的从节点。因此,它不会使得能够在诸如树型拓扑等等的更复杂的网络拓扑中提供冗余。

【发明内容】

[0017]如附属权利要求中所描述的,本发明提供了实时分布式网络模块、实时分布式网络、一种配置实时分布式网络的至少一部分的方法以及非短暂性计算机程序产品。
[0018]本发明的具体实施例在从属权利要求中被陈述。
[0019]本发明的这些或其他方面根据下文中描述的实施例将会很明显,并且参照下文中描述的实施例被阐述。
【专利附图】

【附图说明】
[0020]参照附图,仅仅通过举例的方式,本发明的进一步细节、方面和实施例将被描述。在附图中,类似的符号被用于表示相同的或功能相似的元素。为了简便以及清晰,附图中的元素不一定按比例绘制。
[0021]图1图示了已知EtherCAT系统的简化框图。
[0022]图2至4图示了现场总线网络配置的第一例子的简化框图。
[0023]图5图示了集成电路器件的简化框图。
[0024]图6至8图示了现场总线网络配置的另外的例子的简化框图。
[0025]图9和10图示了一种配置现场总线网络的至少一部分的方法的例子的部分的简化流程图。
【具体实施方式】
[0026]现在将参照被布置成提供主应用和EtherCAT网络之间的接口的现场总线模块描述本发明。然而,可以设想,本发明并不仅限于在EtherCAT系统中被实现,并且可同样在替代实时分布式网络中被实现,在实时分布式网络中,网络元件之间的冗余和同步是必需。尤其可以设想本发明可同样在替代现场总线网络中被实现。
[0027]首先参照图2,图2图示了现场总线网络200的例子的简化框图,其中现场总线网络200在所示的例子中包括EtherCAT系统。现场总线网络200包括主器件210。图2中所不的主器件210包括至少一个信号处理模块215,信号处理模块215被布置成执行一个或多个主应用,包括软件代码例程。主器件210还包括至少一个现场总线模块220,现场总线模块220被布置成提供在信号处理模块215上运行的一个或多个主应用和诸如现场总线网络200的至少一个现场总线网络之间的接口。
[0028]现场总线模块220包括在所示的例子中表示为端口 _0的第一通信组件230,第一通信组件230被布置成在通常在235所示的现场总线连接上发送和接收现场总线数据。现场总线模块220还包括至少一个另外的通信组件,诸如在所示的例子中表示为端口 _1的第二通信组件240,至少一个另外的通信组件被布置成在诸如通常在245所示的至少一个另外的现场总线连接上发送和接收现场总线数据。以这种方式,第一和第二通信组件230、240可以可操作地耦合于现场总线网络200中的相应的从节点270。现场总线模块220还包括至少一个主应用接口组件250,主应用接口组件250被布置成给在信号处理模块215上运行的一个或多个主应用提供接口。现场总线模块220还包括至少一个配置组件260,配置组件260被布置成在通信组件230、240和主应用接口组件250之间执行通信通道的映射。
[0029]如图2所示,第一和第二通信组件230、240以这样的方式通过从节点270被连接,即,由第一通信组件230 (更具体地说是通过发送(TX)通道232)发送到从节点的数据在朝着第二通信组件(更具体地说是其接收(RX)通道244)的第一方向上流动。由第二通信组件240发送的数据在朝着第一通信组件230的与第一方向相反的第二方向上流动,如在图2中用箭头F和P指示的。
[0030]例如,并且如图3所示,现场总线网络200可被配置成以第一、冗余模式进行操作,其中配置组件260可被布置成:配置第一通信组件端口 _0230以包括开组态,其中所述第一通信组件端口 _0230的发送通信通道232和接收通信通道234被映射到主应用接口组件250的相应的通信通道;以及配置第二通信组件端口 _1240以包括闭合组态,其中所述第二通信组件端口 _1240的发送通信通道242被映射到所述第二通信组件端口 _1240的接收通信通道240。因此,可以由第二通信组件240在与接收方向相反的方向上向后朝向第一通信组件230发送由第二通信组件240接收到的数据。
[0031]以这种方式,并且通过可操作地耦合从节点270以形成现场总线模块220的两个通信组件230、240之间的电路,如在图2和图3所示,现场总线网络200可被创建,其中现场总线模块220的第一通信组件端口 _0230可以在现场总线网络200中形成第一节点,并且经由该第一节点,在信号处理模块215上运行的主应用能够在现场总线网络上发送数据。相反,现场总线模块220的第二通信组件端口 _1240在网络中形成了最后节点。通过配置现场总线模块220的第二通信组件的端口 _1240以包括闭合组态,第二通信组件端口 _1240提供了 “环回”功能,据此,数据帧在现场总线网络周围经由从节点270被环回到第一通信组件端口 _0230。
[0032]特别是对于所示的例子,从节点270被定向成使得它们在通常用字母“P”表示的第一或“出站”方向上处理数据帧;例如在远离第一通信组件端口 _0230的方向上处理数据帧。因此,从第二通信组件端口 _1240返回的并流入通常用字母“F”表示的第二或“入站”方向的数据帧仅仅被从节点270转发,而没有执行任何处理。
[0033]此外,如图4所示,现场总线模块220可以可被配置成以至少一个另外的故障链路模式进行操作,其中配置组件260可被布置成:一旦在现场总线网络200内检测到链路故障410,则:将所述第一通信组件端口 _0230的所述接收通信通道234重新映射到所述至第二通信组件端口 _1240的所述发送通信通道242 ;以及将所述第二通信组件端口 _1240的所述接收通信通道244重新映射到所述主应用接口组件250的相应的通信通道。有利的是,如果没有检测到下游器件,则EtherCAT从节点被布置成自动关闭打开的端口,并且在下一个可用端口上转发以太网帧,这对于双端口从节点将是由此接收帧的端口。因此,在所示的例子中,一旦在现场总线网络中有链路故障410,则位于链路故障410任一侧的从节点470、475关闭了其相应的端口并启用其“环回”功能,其中数据帧将在它们所来自的方向上被环回。[0034]因此,以这种方式将现场总线模块220重新配置成以第二、故障链路模式进行操作,使得由与出站方向上的链路故障410相邻的从节点470环回到第一通信组件端口 _0230的数据帧能够通过现场总线模块220从第一通信组件端口 _0230重新路由到第二通信组件端口 _1240,从第二通信组件端口 _1240它们可被发送到链路故障410的剩余从节点“下游”(如在出站方向P看到的)。如前面所提到的,从节点270被定向成使得它们在“出站”方向上处理数据帧;例如在远离第一通信组件端口 _0230的方向上处理数据帧。当重新路由的数据帧由第二通信组件端口 _1240发送到从节点的时候,数据帧通过剩余从节点流动的方向最初是在转发方向上。一旦到达与链路故障410相邻的从节点475,由从节点475环回数据帧。在以这种方式环回之后,通过从节点所环回的数据帧流动的方向现在是在处理方向P上。以这种方式,在链路故障410之后,当现场总线模块220已被配置成以这个第二、链路故障模式进行操作的时候,从节点270处理数据帧的顺序与在链路故障发生之前,当现场总线模块220被配置成以第一冗余模式进行操作的时候的顺序相同。因此,不需要在信号处理模块215上运行的主应用在链路故障后调整其/它们的行为以补偿网络拓扑中的变化。因此,可显著降低从链路故障中恢复所需的时间和算法复杂性。
[0035]而且,在信号处理模块215上运行的主应用能够使用相同的通信组件230、240,例如使用图中所示的第一通信组件端口 _0230,在现场总线网络200上发送数据帧,而不管现场总线模块220是否被配置以第一、冗余模式还是第二、故障链路模式进行操作。此外,不要求复制数据帧以便在现场总线网络200内提供冗余。因此,附加处理周期、复杂性和抖动不需要被引入到数据分组的发送,接收到的数据帧也不需要附加检查等等。
[0036]在所示的例子中,现场总线模块220还包括通常在280所示的高分辨率定时源。以这种方式,第一和第二通信组件230、240能够提供时钟参考以供在分布式时钟同步机制中使用。
[0037]例如,并且返回参照图3,在当现场总线网络200中不存在链路故障时的正常操作期间,并且现场总线模块220被配置成以所述第一、冗余模式操作的时候,主器件210的第一通信组件端口 _0230可被认为是现场总线网络200中的第一节点。因此,第一通信组件端口 _0230可被用于提供参考时间(系统时间),其中现场总线网络200中的所有其他节点都被同步到该参考时间。在信号处理模块215上运行的主应用可通过给现场总线网络200(包括在主器件210中集成的通信组件230、240)中的所有节点发送ARMW(自动增量物理读多写)广播消息而发起传播延迟测量。每一个节点控制器测量并写入在每一个方向上测量帧的接收时间(例如,在处理和转发方向上)。一旦ARMW帧在网络周围行进并且返回,则主应用收集接收时间并计算从节点之间的传播延迟。一旦主应用已确定每一个节点的延迟,则每一个从机时钟的本地时间与第一通信组件端口 _0230保持的系统时间进行比较,并且通过单独将偏移写入每一个从节点270,差值被补偿;所有的从节点270被补偿,以具有基本上相同的绝对系统时间。因此,现场总线网络200中的所有节点都与第一通信组件端口 _0230同步,并且有利地与主器件210的现场总线模块220同步,从而使得主从应用能够被同步。
[0038]返回参照图4,当链路故障410在现场总线网络200中发生的时候,通过如上所示重新映射通信通道,使得现场总线组件220被配置成以所述至少一个另外的故障链路模式进行操作,第一通信组件端口 _0230在现场总线网络200中保持了第一节点。因此,第一通信组件端口 _0230保持了网络中的所有节点的有效时钟参考,因此,在链路故障之后,从节点270基本上保持了同步。此外,因为从节点270处理数据帧的顺序与当现场总线模块220被配置成以所述至少一个另外的链路故障模式进行操作的时候保持相同,所以从节点270之间的传播延迟仅仅受到在位于链路故障任一侧的从节点470、475之间的数据帧的重新路由的影响。因此,只需要主器件210重新计算位于链路故障任一侧的从节点470、475之间的传播延迟。由于这种重新计算的相对小的性质,一旦检测到链路故障410,它可能会被即时执行,而不会导致从链路故障410恢复的显著延迟。
[0039]在一些例子中,现场总线模块220的通信组件230、240能够执行数据帧的直通转发,以便减小等待时间和抖动,并且特别是,可以选择性可配置成执行在其接收通信通道处接收到的数据帧的直通转发。因此,在所示的例子中,通信组件230、240可以被布置成支持EtherCAT处理功能的至少一个子集或包含在由主应用提供的元数据或描述符(未示出)中的本地专有命令。这种元数据可以是现场总线模块220的配置组件260解释和处理的命令描述符的形式,例如:“在数据帧的偏移X处,将数据从偏移Y插入主器件210/现场总线模块220/配置组件260’的存储器(未示出),或配置信息。此外,在一些例子中,现场总线模块220的通信组件230、240可以选择性地可配置成在发送方向和/或接收方向上处理和/或解析数据帧。以这种方式,通信组件230、240可以被配置成支持多个不同的网络拓扑和配置,以及多个现场总线模式。
[0040]此外,启用通信组件230、240的接收和发送线程内的信号处理允许用于给通信组件230、240提供数据帧的机制的灵活性。例如,主应用接口 250可以包括例如媒体独立接口(MII)。因此,可以经由以太网从在处理模块215上运行的主应用接收数据帧并将数据帧返回到在处理模块215上运行的主应用,并且因此包括需要很少(如果有的话)处理的以太网数据帧。在这种情况下,主器件210将需要两个附加以太网通信端口以实现主应用接口:一个在主应用侧,而一个在现场总线模块侧。然而,在一些例子中,通过启用通信组件230、240的接收和发送线程内的处理,现场总线模块220可以被布置成直接从存储器(未示出)读取数据报,其中主应用接口 250包括例如,直接存储器存取(DMA)模块。因此,可以要求接收数据报的通信组件230、240在数据可以在现场总线网络200被发送之前处理该数据报,并在写回存储器之前处理返回的数据帧。以这种方式,附加以太网通信端口不是必需的。
[0041]如前面所提到的,一旦在现场总线网络200中检测到链路故障,配置组件260被配置成从第一冗余模式配置到至少一个另外的故障链路模式配置执行通信组件230、240的通信通道的动态重新映射。在一些例子中,可直接由现场总线模块220检测到这样的链路故障。例如,当在链接故障410任一侧的从节点470、475关闭其相应的端口,并且启用它们的“环回”功能时,那些从节点470、475可以被配置成在所环回的至少第一数据帧中设置比特,诸如再循环比特。现场总线模块220的第一通信组件230、240可被布置成至少解析接收到的数据帧,以便检测是否已设置这样的比特,并且因此检测链路故障何时在现场总线网络200中发生。以这种方式,一旦在现场总线数据帧内收到链路故障的指示,则现场总线模块220可因此被布置成使得配置组件260从第一冗余模式配置到至少一个另外的故障链路模式配置执行通信组件230、240的通信通道的动态重新映射。
[0042]此外和/或替代地,这样的链路故障可由主应用检测到,例如,由于没有被停留在链路故障之外的从节点处理的命令的结果。因此,一旦在现场总线网络200中检测到链路故障,则现场总线模块220可以被布置成经由主应用接口 250或在其数据帧内从主器件210接收命令,以配置配置组件260以从第一冗余模式配置到至少一个另外的故障链路模式配置执行通信组件230、240的通信通道的动态重新映射。
[0043]此外和/或替代地,这样的链路故障可由现场总线模块220自身检测到。例如,对于以上描述的所示的例子配置,现场总线模块220已被配置成在链接故障前以第一、冗余模式进行操作,其中配置组件260被布置成配置第一通信组件230包括开组态,并配置第二通信组件240包括闭合组态。然而,现场总线模块220可同样被配置成在链路故障前(例如,已经完成传播延迟测量)以第一、冗余模式进行操作,其中配置组件260被布置成配置第一和第二通信组件230、240包括开组态。在这种配置中,在信号处理模块上运行的主应用仅需要经由例如第一通信组件230例如在处理方向上在现场总线网络200发送数据帧。以这种方式,当链路故障410发生的时候,在位于链路故障410任一侧的从节点470、475关闭其相应的端口并启用它们的“环回”功能之后,由链路故障的从节点475下游环回的数据分组将被现场总线模块220的第二通信组件240 (重新)接收。因此,现场总线模块220可以使用环回数据帧的这样的重新接收以检测链路故障。
[0044]现在参照图5,图5图示了集成电路器件500的例子的简化框图,其中该集成电路器件500被布置成实现现场总线模块,诸如图2至4的现场总线模块220。集成电路器件500被布置成经由通常在510所示的一个或多个输入通道接收数据分组或“帧”,以及在通常在515所示的一个或多个输出通道上路由/转发接收到的数据帧。现场总线模块220还包括多个通信组件530,多个通信组件530被布置成经由输入和输出通道510、515发送和接收数据帧。通信组件530可以通过媒体存取控制器(MAC)被实现,例如包含了时间戳硬件以协助同步和/或分布式时钟机制的以太网或EtherCAT MAC。所示例子中的集成电路器件500还包括RISC (精简指令集计算)复合体540,一个或多个RISC处理器,RISC处理器可配置成执行经由通信组件530接收到的数据帧的处理等等。集成电路器件500还包括一个或多个处理单元560,用于运行应用软件并管理数据平面硬件;例如以启动和停止通道或改变数据帧的路由等等。因此,对于图2至4所示的例子,配置组件260可被实现为在这样的处理单元560上运行的计算机程序代码。
[0045]在图5所示的例子中,集成电路器件500还包括总线控制模块570和通用输入/输出线575,其可被用于启用集成电路器件和运行主应用的处理模块等等之间的通信。
[0046]现在参照图6至8,图6至8图示了诸如EtherCAT系统的现场总线网络600的例子的简化框图。现场总线网络600包括主器件610。在图6至8中所示的主器件610包括至少一个信号处理模块615,信号处理模块615被布置成执行一个或多个主应用。主器件610还包括至少一个现场总线模块620,现场总线模块620被布置成在处理模块615上运行的一个或多个主应用和诸如现场总线网络600的至少一个现场总线网络之间提供接口。
[0047]现场总线模块620包括在所示的例子中表示为端口 _0的第一通信组件630,第一通信组件630被布置成在现场总线连接上发送和接收现场总线数据。所示例子中的现场总线模块620包括分别表示为端口 _1和端口 _2的两个另外的通信组件640、645,两个另外的通信组件640、645被布置成在两个另外的现场总线连接上发送和接收现场总线数据。以这种方式,通信组件630、640、645可以可操作地耦合于现场总线网络600中的相应的从节点。现场总线模块620还包括至少一个主应用接口组件650,主应用接口组件650被布置成给在信号处理模块615上运行的至少一个主应用提供接口。现场总线模块620还包括至少一个配置组件660,配置组件660被布置成在通信组件630、640、645和主应用接口组件650之间执行通信通道的映射。
[0048]例如,并且如图6所示,现场总线网络620可以可配置成以第一、冗余模式进行操作,其中配置组件260可以被布置成:配置第一通信组件端口 _0630以包括开组态,其中所述第一通信组件端口 _0630的发送通信通道和接收通信通道被映射到主应用接口组件650的相应的通信通道;以及配置第二和第三通信组件端口 _1640和端口 _2645以包括闭合组态,其中第二和第三通信组件640、650中的每一个的发送通信通道被映射到相应通信组件640的接收通信通道。如箭头F和P表示的,数据以一种类似于图2至4中的例子的方式从第一通信组件630流动到第二通信组件640,如在第一通信组件630和第三通信组件645之间的数据流一样。
[0049]以这种方式,并且通过可操作地耦合从节点以形成现场总线模块620的第一和第二通信组件630、640之间的第一电路以及形成第一和第三通信组件630、645之间的第二电路,如在图6所示,现场总线网络600可被创建,其中现场总线模块620的第一通信组件端口 _0630可以在网络中形成第一节点,并且经由该第一节点,在信号处理模块615上运行的主应用能够在现场总线网络600上发送数据。相反,现场总线模块620的第二和第三通信组件640、645在网络中的每一个电路中形成了最后节点。通过配置现场总线模块620的第二和第三通信组件640、645以包括闭合组态,第二和第三通信组件640、645提供了 “环回”功能,据此,在现场总线网络周围经由从节点将数据帧环回到第一通信组件630。
[0050]特别是对于所示的例子,从节点被定向成使得它们在“出站”方向上处理数据帧;例如在远离第一通信组件630的方向上处理数据帧。因此,从第二和第三通信组件640、645返回的数据帧仅仅被从节点270转发,而没有执行任何处理。
[0051]此外,并且如图7所示,现场总线模块620可以可配置成以第二、故障链路模式进行操作,其中配置组件660可以被布置成:一旦在第一通信组件630和第三通信组件645之间的现场总线网络600的电路中检测到链路故障710,则:将第一通信组件630的接收通信通道重映射到第三通信组件645的发送通信通道;以及将第三通信组件645的接收通信通道重映射到主应用接口组件650的相应的通信通道。
[0052]一旦在第一通信组件630和第三通信组件645之间的现场总线网络600的电路中有链路故障710,则位于链路故障710任一侧的从节点770、775关闭了其相应的端口并启用其“环回”功能,其中数据帧将在它们所来自的方向上被环回。因此,以这种方式将现场总线模块620重新配置成以该第二、故障链路模式进行操作使得能够将与出站方向上的链路故障710相邻的从节点770环回的数据帧从第一通信组件630重新路由到第三通信组件645,可以将它们从第三通信组件645发送到链路故障710的剩余从节点“下游”。
[0053]使用相同的通信组件630、640、645,例如使用所示例子中的第一通信组件630,在信号处理模块上运行的主应用615能够在现场总线网络600上发送数据帧,而不管现场总线模块620被配置成以第一、冗余模式还是第二、故障链路模式进行操作。此外,为了在现场总线网络600中提供冗余,不要求数据帧在停留在主器件610上的每一个外出端口上被多路传送。在第一、冗余模式或第二、故障链路模式中,主应用信号处理模块615能够在第一通信组件630上发送。此外,取决于现场总线网络600中故障链路的位置,主器件可以假定多个故障链路模式,同时使用相同的通信组件630保持传送。
[0054]此外,并且如图8所示,现场总线模块620可以可配置成以第三另外的故障链路模式进行操作,其中配置组件660可以被布置成:一旦在第一通信组件630和第二通信组件640之间的现场总线网络600的电路中检测到链路故障810,则:将第一通信组件630的接收通信通道重映射到第二通信组件640的发送通信通道;以及将第二通信组件640的接收通信通道重映射到主应用接口组件650的相应的通信通道。
[0055]一旦第一通信组件630和第二通信组件640之间的现场总线网络600的电路中有这样的链路故障810,则位于链路故障810任一侧的从节点870、875关闭了其相应的端口并启用其“环回”功能,其中数据帧将在它们所来自的方向上被环回。因此,以这种方式将现场总线模块620重新配置成以该第三另外的故障链路模式进行操作使得与出站方向上的链路故障810相邻的从节点870环回的数据帧从第一通信组件630重新路由到第二通信组件640,可以将它们从第二通信组件640发送到链路故障810的剩余从节点“下游”。
[0056]使用相同的通信组件630、640、645,例如使用所示例子中的第一通信组件630,在信号处理模块上运行的主应用615能够在现场总线网络600上发送数据帧,而不管现场总线模块620被配置成以第一、冗余模式还是第三另外的故障链路模式进行操作。此外,不要求数据帧被多路传送,以便在现场总线网络600中提供冗余。
[0057]在一些例子中,现场总线模块620可以可配置成以另一个故障链路模式进行操作(未不出),其中配置组件660可以被布置成:一旦分别在第一通信组件630和第二和第三通信组件640、645之间的现场总线网络600的每一个电路中检测到链路故障710、810,则:将第一通信组件630的接收通信通道重映射到第二通信组件640的发送通信通道;将第二通信组件640的接收通信通道重映射到第三通信组件645的发送通信通道;以及将第三通信组件645的接收通信通道重映射到主应用接口组件650的相应的通信通道。因此,多个链路故障可以被处理,同时使用相同的通信组件630保持发送。这就允许主器件610假定环形拓扑,而不管多个网络拓扑和多个现场总线模式的故障链路位置。
[0058]因此,如图6至8所示,根据本发明的一些实施例调整的现场总线模块并不限于支持包括了环形拓扑的现场总线网络,但也可同样支持包括了诸如图6至8中所示的树状拓扑的更复杂的拓扑的可扩展现场总线网络。因此,相比于所提出的现有技术解决方案,现场总线模块220实现了用于在现场总线网络200中提供冗余的改进机制。特别地,提供了在链路故障之后以灵活和可扩展方式实现简化的恢复和精确的控制的现场总线模块220。
[0059]现在参照图9,图9图示了一种配置诸如可在图2至4或图6至8的主器件210、610中实现的现场总线网络的至少一部分的方法的部分的例子的简化流程图900。所述方法开始于910,并进入到920,在920,通信组件标识符(端口 [ID])例如通过被设置为初始’ O’值而被初始化。接着,在930,诸如图2至4的现场总线模块220、或图6至8的现场总线模块620的现场总线模块中的通信组件被设置为“开”组态,其中通信组件标识符(端口 [ID])值对应于该通信组件。例如,通信组件的发送通信通道和接收通信通道可被映射到的比如现场总线模块的主应用接口组件的相应的通信通道。现场总线组件中的一个或多个另外的通信组件也可被设置为“闭合”组态,例如,其中通信组件的接收通信通道被映射到该通信组件的发送通信通道。在所示的例子中,在930,通信组件标识符(端口 [ID])也被递增。
[0060]接着,在940,现场总线网络中的节点之间的传播延迟然后被测量。例如,主应用可通过例如在EtherCAT系统、ARMW(自动增量物理读多写)广播消息、或等同物的情况下将测量帧发送到现场总线网络中的所有节点(包括在主器件内集成的通信组件)而发起传播延迟测量。每一个节点控制器对接收到的测量帧加时间戳,例如,在每一个方向上(例如,在处理和转发方向上测量并写入测量帧的接收时间。一旦测量帧在网络周围行进并返回,则主应用收集接收时间并计算节点之间的传播延迟。
[0061]然后,在950,确定对于被设置为开组态的所有通信组件是否已测量传播延迟。如果对于被设置为开组态的所有通信组件没有测量传播延迟,则所述方法环回到930。相反,如果确定已获得所有的传播延迟测量,则所述方法进入到960,在960,偏爱网络配置被假定,例如,其中现场总线模块的预定通信组件被设置为开组态,而现场总线模块的其他所有的通信组件被设置为闭合组态。
[0062]假定偏爱网络配置,在970,分布式时钟参考被建立并且从节点偏移被配置。例如,如果现场总线模块包括高分辨率定时信号,则被设置为开组态的现场总线模块的“第一”通信组件可以被用于提供参考时间(系统时间),其中现场总线网络中的所有其他节点都被同步到该参考时间。每一个从时钟的本地时间然后与第一通信组件保持的系统时间进行比较,并且通过单独写入每一个从节点,差值被补偿;所有的从节点被补偿,以具有基本上相同的绝对系统时间。
[0063]接着,在980,在现场总线网络上发送的数据帧的调度可以基于偏爱配置和传播传播延迟测量被定义。然后,所述方法在990结束。
[0064]因此,对于图9中所示的方法的一部分,现场总线模块可以被配置成以第一、冗余模式进行操作,其中偏爱配置被假定。在该第一、冗余模式中,被布置成在至少一个第一现场总线连接上发送和接收现场总线数据的第一通信组件可以被配置成包括开组态,其中第一通信组件的发送通信通道和接收通信通道被映射到主应用接口组件的相应的通信通道。而且,在该第一冗余模式中,被布置成在至少一个另外的现场总线连接上发送和接收现场总线数据的至少一个另外的通信组件可以被配置成包括闭合组态,其中所述第二通信组件的发送通信通道被映射到所述第二通信组件的接收通信通道。
[0065]现在参照图10,图10图示了一种配置诸如也可在图2至4或图6至8的主器件210,610中实现的现场总线网络的至少一部分的例子的部分的简化流程图1000。所述方法开始于1010,其中在现场总线网络中检测到链路故障。接着,在1020,第一通信组件的接收通信通道被重新映射到位于链路故障的“下游”的通信组件的发送通信通道,以及位于链路故障的下游的通信组件的接收通信通道被重新映射到所述至少一个主应用接口组件的相应的通信通道。在1030,然后根据通信组件通道的重新映射来更新在现场总线网络上发送的数据帧的调度,并且所述方法在1040结束。
[0066]本发明可以在用于在计算机系统上运行的计算机程序中被实现,至少包括用于当在诸如计算机系统或使得可编程的装置能够执行根据本发明的设备或系统的功能的可编程的装置上运行时,执行根据本发明的方法步骤的代码部分。
[0067]计算机程序是一系列指令,诸如特定应用和/或操作系统。计算机程序可以例如包括以下中的一个或多个:子例程、函数、程序、对象方法、对象实现、可执行的应用、小程序、小服务程序、源代码、对象代码、共享库/动态装载库和/或设计用于在计算机系统上的执行的其他指令序列。
[0068]计算机程序可以在计算机可读存储介质上被内部地存储或经由计算机可读传输介质传输到计算机系统。所有或者一些计算机程序可以被永久地、可移除地提供在计算机可读介质或远程地耦合到信息处理系统。计算机可读介质可以包括,例如但不限于任何数目的以下:包括磁盘和磁带存储介质的磁存储介质;光学存储介质,诸如光盘介质(例如,CD-R0M、CD-R等等)以及数字视盘存储介质;非易失性存储器存储介质,包括基于半导体存储器单元,诸如闪存存储器、EEPR0M、EPR0M、R0M ;铁磁数字存储器;MRAM ;易失性存储介质,包括寄存器、缓冲器或缓存、主存储器、等等;以及数字传输介质,包括计算机网络、点对点通信设备、以及载波传输介质,仅举几例。
[0069]计算机处理通常地包括执行(运行)程序或程序的一部分,当前的程序值和状态信息,以及通过操作系统用于管理处理的执行的资源。操作系统(OS)是管理计算机的资源共享以及提供给程序员用于访问那些资源的接口的软件。操作系统处理系统数据和用户输入,以及通过分配和管理任务以及内部系统资源作为系统对用户和程序的一项服务来作出响应。
[0070]计算机系统可以例如包括至少一个处理单元、关联存储器和大量的输入/输出(I/O)设备。当执行计算机程序时,计算机系统根据计算机程序处理信息并且经由I/O设备产生所得到的输出信息。
[0071]如在此使用的,表述非短暂将被理解为指的是存储介质本身的非短暂性,而不是指存储信息本身在存储状态持续多长时间的概念。因此,另外可能会被认为是例如,非易失性(诸如很多电可擦可编程只读存储器(EPROM)或随机存取存储器(RAM))的存储器在本发明中不过被认为是“非短暂”,而在传输过程中的信号载流子被认为是“短暂的”,即使信号在传输过程中保持长时间期间。
[0072]由于本发明说明的实施例可能大部分是使用本领域所属技术人员已知的电子组件和电路被实施,所以不会在比上述所说明的认为有必要的程度大的任何程度上解释细节,以用于对本发明基本概念的理解以及为了不混淆或偏离本发明所教之内容。
[0073]在前面的说明中,参照本发明实施例的特定示例已经对本发明进行了描述。然而,很明显,在不脱离如所附权利要求中所阐述的本发明的更宽范围的情况下,可做出各种修改和变化,本发明的更宽范围因此并不限于具体示例。
[0074]如在此讨论的连接可以是适于例如经由中间设备传输来自或去往相应的节点、单元或设备的信号的任何类型的连接。因此,除非暗示或另外表明,所述连接例如可以是直接连接或间接连接。所述连接可以被图示或描述为涉及单一连接、多个连接、单向连接、或双向连接。然而,不同实施例可以改变连接的实现。例如,可以使用单独单向连接而不是双向连接,并且反之亦然。而且,多个连接可以被替换为连续地或以时间复用方式传输多个信号的单一连接。同样地,携带多个信号的单一连接可以被分离成携带这些信号的子集的各种不同的连接。因此,存在用于传输信号的许多选项。
[0075]本领域技术人员将认识到:逻辑块之间的界限仅仅是说明性的并且替代实施例可以合并逻辑块或电路元件或在各种逻辑块或电路元件上强加替代的分解功能。因此,应了解,在此描述的架构仅仅是示例性的,并且事实上可以实现实现相同功能的很多其他架构。例如,为了简单并便于理解,现场总线模块的主应用接口组件、配置组件和通信组件已被说明和描述为单独的逻辑组件。然而,将了解这些组件可例如通过在处理单元上运行的计算机程序代码在单一功能组件内被实现。
[0076]为了实现相同功能的任何组件的布置是有效地“关联”使得所需的功能得以实现。因此,在此组合以实现特定功能的任何两个元件可以被看作彼此“相关联”使得所需的功能得以实现,而不论架构或中间元件。同样地,如此关联的任何两个组件还可以被认为是彼此被“可操作连接”或“可操作耦合”以实现所需的功能。
[0077]此外,本领域所属技术人员将认识到以上描述的操作之间的界限只是说明性的。多个操作可以组合成单一的操作,单一的操作可以分布在附加操作中并且可以至少部分地在时间上重叠地执行操作。而且,替代实施例可以包括特定操作的多个示例,并且操作的顺序在各种其他实施例中可以更改。
[0078]又如,在一个实施例中,说明的示例可以被实现为位于单一集成电路上的电路或在相同设备内的电路。例如,用于执行主应用的处理单元215、615和现场总线模块220、620可以被实现在单一集成电路器件内。替代地,所述例子可以被实现为任何数目的单独集成电路或以合适的方式彼此互连的单独器件。
[0079]又如,示例或其一部分可以诸如以任何合适类型的硬件描述语言被实现为物理电路的软或代码表示,或被实现为能够转化成物理电路的逻辑表示的软或代码表示。
[0080]而且,本发明不限于在非程序化硬件中实现的物理设备或单元,但也可以应用在可编程的设备或单元中。这些设备或单元通过按照合适的程序代码操作能够执行所期望的设备功能,诸如主机、微型计算机、服务器、工作站、个人计算机、笔记本、个人数字助理、电子游戏、汽车和其他嵌入式系统、手机和各种其他无线设备,在本申请中通常表示为“计算机系统”。
[0081]然而,其他修改、变化和替代也是可能的。说明书和附图相应地被认为是从说明性的而不是严格意义上来讲的。
[0082]然而,其他修改、变化和替代也是可能的。说明书和附图相应地被认为是从说明性的而不是严格意义上来讲的。
[0083]在权利要求中,放置在括号之间的任何参考符号不得被解释为限定权利要求。在权利要求中,词语“包括”或“含有”不排除其他元件或权利要求中列出的步骤的存在。此夕卜,如在此使用的词语“一”或“一个”被定义为一个或不止一个。而且,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”的不定冠词时,在权利要求中诸如“至少一个”以及“一个或多个”的介绍性短语的使用也不应该被解释成暗示通过不定冠词“一”或“一个”引入的其他权利要求元素将包括这样介绍的权利要求元素的任何特定权利要求限制成仅包含这样的元素的发明。对于定冠词的使用也是如此。除非另有说明,使用诸如“第一”以及“第二”的术语来任意地区分这样的术语描述的元素。因此,这些术语不一定旨在指示这样的元素的时间或其他优先次序。在相互不同的权利要求中记载某些措施的事实并不指示这些措施的组合不能被用于获取优势。
【权利要求】
1.一种实时分布式网络模块,所述实时分布式网络模块被布置成在至少一个主应用和至少一个实时分布式网络之间提供接口 ;所述至少一个实时分布式网络模块包括: 第一通信组件,所述第一通信组件被布置成在至少第一实时分布式网络连接上发送和接收实时分布式网络数据; 至少一个另外的通信组件,所述至少一个另外的通信组件被布置成在至少一个另外的实时分布式网络连接上发送和接收实时分布式网络数据; 至少一个主应用接口组件,所述至少一个主应用接口组件被布置成给所述至少一个主应用提供接口 ;以及 至少一个配置组件,所述至少一个配置组件被布置成在所述第一通信组件、所述至少一个另外的通信组件和所述至少一个主应用接口组件之间执行通信通道的映射; 其中所述至少一个配置组件还被布置成:一旦在所述实时分布式网络中检测到链路故障,则在所述第一通信组件、所述至少一个另外的通信组件和所述至少一个主应用接口之间执行通信通道的动态重新映射。
2.根据权利要求1所述的实时分布式网络模块可配置成以第一、冗余模式进行操作,其中所述至少一个配置组件被布置成: 将所述第一通信组件配置成包括开组态,其中所述第一通信组件的发送通信通道和接收通信通道被映射到所述至少一个主应用接口的相应的通信通道;以及 将所述至少一个另外的通信组件配置成包括闭合组态,其中所述至少一个另外的通信组件的发送通信通道被映射到所述至少一个另外的通信组件的接收通信通道。
3.根据任何先前权利要求所述的实时分布式网络模块可配置成以至少一个另外的、故障链路模式进行操作,其中所述至少一个配置组件被布置成:一旦在所述实时分布式网络中检测到链路故障,则: 将所述第一通信组件的所述接收通信通道重新映射到所述至少一个另外的通信组件的所述发送通信通道;以及 将所述至少一个另外的通信组件的所述接收通信通道重新映射到所述至少一个主应用接口组件的相应的通信通道。
4.根据任何先前权利要求所述的实时分布式网络模块,被布置成:一旦在所述实时分布式网络中检测到链路故障,则使得所述至少一个配置组件从第一、冗余模式配置到至少一个另外的、故障链路模式配置执行所述通信通道的动态重新映射。
5.根据任何先前权利要求所述的实时分布式网络模块,被布置成:一旦经由所述至少一个主应用接口接收到命令,则使得所述至少一个配置组件从第一、冗余模式配置到至少一个另外的、故障链路模式配置执行动态重新映射。
6.根据任何先前权利要求所述的实时分布式网络模块,被布置成:一旦在实时分布式网络数据帧内收到指示,则使得所述至少一个配置组件从第一、冗余模式配置到至少一个另外的、故障链路模式配置执行动态重新映射。
7.根据任何先前权利要求所述的实时分布式网络模块,其中所述第一通信组件和所述至少一个另外的通信组件中的至少一个选择性地可配置成执行在其接收通信通道接收到的数据的直通转发。
8.根据任何先前权利要求1至6中的任一项所述的实时分布式网络模块,其中所述第一通信组件和所述至少一个另外的通信组件中的至少一个选择性地可配置成在发送方向和接收方向上处理和/或解析数据帧。
9.根据任何先前权利要求所述的实时分布式网络模块,其中所述实时分布式网络模块包括高分辨率定时源,以及所述第一通信组件和所述至少一个另外的通信组件能够提供时钟参考以供在分布式时钟同步机制中使用。
10.根据任何先前权利要求所述的实时分布式网络模块,其中所述实时分布式网络模块被布置成在至少一个主应用和至少一个EtherCAT网络之间提供接口,以及所述第一通信组件和至少一个另外的通信组件被布置成在相应的实时分布式网络连接上发送和接收以太网数据。
11.根据权利要求10所述的实时分布式网络模块,其中所述第一通信组件和至少一个另外的通信组件被布置成至少支持所述EtherCAT处理功能的子集。
12.根据权利要求10或权利要求11所述的实时分布式网络模块,其中所述第一通信组件和至少一个另外的通信组件被布置成支持包含在由主应用提供的元数据和/或描述符内的本地专有命令。
13.根据任何先前权利要求所述的实时分布式网络模块被实现为集成电路。
14.一种实时分布式网络,包括根据权利要求13所述的至少一个实时分布式网络模块。
15.—种配置实时分布式网络的至少部分的方法;所述方法包括,在被布置成在至少一个主应用和至少一个实时分布式网络之间提供接口的实时分布式网络模块处: 将第一通信组件配置成包括开组态,其中所述第一通信组件的发送通信通道和接收通信通道被映射到至少一个主应用接口的相应的通信通道;以及 将至少一个另外的通信组件配置成包括闭合组态,其中所述至少一个另外的通信组件的发送通信通道被映射到所述至少一个另外的通信组件的接收通信通道; 其中所述方法还包括:一旦在所述实时分布式网络中检测到链路故障,则: 将所述第一通信组件的所述接收通信通道重新映射到所述至少一个另外的通信组件的所述发送通信通道;以及 将所述至少一个另外的通信组件的所述接收通信通道重新映射到所述至少一个主应用接口组件的相应的通信通道。
16.一种在其中存储有可执行程序代码的非短暂计算机程序产品,用于对执行一种配置实时分布式网络的至少部分的方法的信号处理逻辑进行编程,所述代码在被布置成在至少一个主应用和至少一个实时分布式网络之间提供接口的实时分布式网络模块处可操作用于: 将第一通信组件配置成包括开组态,其中所述第一通信组件的发送通信通道和接收通信通道被映射到至少一个主应用接口的相应的通信通道;以及 将至少一个另外的通信组件配置成包括闭合组态,其中所述至少一个另外的通信组件的发送通信通道被映射到所述至少一个另外的通信组件的接收通信通道; 其中所述代码还可操作用于:一旦在所述实时分布式网络中检测到链路故障,则:将所述第一通信组件的所述接收通信通道重新映射到所述至少一个另外的通信组件的所述发送通信通道;以及将所述至少一个另外的通信组件的所述接收通信通道重新映射到所述至少一个主应用接口组件的相应的通信通道。
17.根据权利要求16所述的非短暂计算机程序产品,其中所述计算机可读存储介质包括以下中的至少一个:硬盘、CD-ROM、光存储装置、磁存储装置、只读存储器ROM、可编程只读存储器PR0M、可擦除可编程只读存储器EPR0M、电可擦可编程只读存储器EEPROM以及闪存存储器。
【文档编号】H04L29/02GK103918238SQ201180074651
【公开日】2014年7月9日 申请日期:2011年11月4日 优先权日:2011年11月4日
【发明者】格拉哈姆·埃德米斯顿, 赫兹·拉哈明 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1