实时分布式网络从器件、实时分布式网络及其方法

文档序号:7978512阅读:258来源:国知局
实时分布式网络从器件、实时分布式网络及其方法
【专利摘要】本发明描述了实时分布式网络从模块。所述实时分布式网络从模块包括被布置成在至少第一实时分布式网络连接上发送和接收实时分布式网络数据的第一通信组件;被布置成在至少一个另外的实时分布式网络连接上发送和接收实时分布式网络数据的至少一个另外的通信组件;以及至少一个处理组件。所述至少一个实时分布式网络从模块选择性地可配置成以第一处理模式和至少一个另外的处理模式进行操作,在第一处理模式中,所述至少一个处理组件被配置成处理在所述第一和至少一个另外的通信组件之间的第一方向上行进的实时分布式网络数据,在至少一个另外的处理模式中,所述至少一个处理组件被配置成处理在所述第一和至少一个另外的通信组件之间的至少一个另外的方向上行进的实时分布式网络数据。
【专利说明】实时分布式网络从器件、实时分布式网络及其方法
【技术领域】
[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,则在中断120任一侧的从节点130、135关闭了各自端口并启用此“环回”功能,其中帧将在它们所来自的方向上被环回,从而创建了两个“往返”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]然而,从环形拓扑切换到双线路拓扑对EtherCAT网络中各个节点的同步有显著的影响。虽然在主器件Iio中集成两个从节点114、116使得两个得到的EtherCAT线路网140、145之间能够保持一定程度的同步,但是要求主器件110重新计算新网络拓扑内从节点之间的传播延迟。由于不可能事先知道链路故障可能在何处发生,所以有必要在链路故障120发生之后从头开始重新计算新的传播延迟,这是耗时的,因此延迟从链路故障恢复。替代地,有必要事先计算所有可能方案的传播延迟数据,这不仅增加了对于初始传播延迟测量过程的复杂性和延迟,而且需要存储器空间来存储传播延迟数据。在一些例子中,由于EtherCAT网络可以包括数百个从节点,所以计算和存储所有可能方案的传播延迟数据是明显不切实际的。
[0014]这种方法在EtherCAT网络中提供冗余的另一个缺陷是它仅能够支持环形拓扑,因此只允许部署包含了两个端口的从节点。因此,它不会使在诸如树型拓扑等等更复杂的网络拓扑中提供冗余。此外,这种方法需要在主器件内嵌入两个EtherCAT从节点。然而,这并不总是可能的或实际的。

【发明内容】

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

【附图说明】
[0018]参照附图,仅仅通过举例的方式,本发明的进一步细节、方面和实施例将被描述。在附图中,类似的符号被用于表示相同的或功能相似的元素。为了简便以及清晰,附图中的元素不一定按比例绘制。
[0019]图1图示了已知EtherCAT系统的简化框图。
[0020]图2和图3图示了现场总线网络的例子的简化框图。
[0021]图4图示了现场总线网络的替代例子的简化框图。
[0022]图5图示了集成电路器件的简化框图。
[0023]图6至图8图示了一种配置现场总线网络的至少一部分的方法的例子的部分的简化流程图。
【具体实施方式】
[0024]现在将参照被布置成提供从应用和EtherCAT网络之间的接口的现场总线从模块描述本发明。然而,可以设想,本发明并不仅限于在EtherCAT系统中被实现,并且可同样在替代实时分布式网络中被实现,在实时分布式网络中,网络元件之间的冗余和同步是必需。尤其可以设想本发明可同样在替代现场总线网络中被实现。
[0025]首先参照图2,图2图示了现场总线网络200的例子的简化框图,在所示的例子中现场总线网络200包括EtherCAT系统。现场总线网络200包括主器件210。图2中所示的主器件210包括信号处理模块215,信号处理模块215被布置成执行一个或多个主应用,包括和/或软件代码例程。主器件210还包括通信处理器220,通信处理器220被配置成提供在信号处理模块215上运行的一个或多个主应用和至少一个现场总线网络之间的接口。将了解,图2中所示的包括主器件210仅包括主器件实现的一个可能例子。例如,主器件210可能替代地包括,例如带有内部或外部通信端口等等的通用CPU(中央处理器件)。
[0026]通信处理器220包括在所示的例子中表示为端口 _0的第一通信组件230,第一通信组件230被布置成在现场总线连接上发送和接收现场总线数据。通信处理器220还包括在所示的例子中表示为端口 _1的第二通信组件240,第二通信组件240被布置成在第二现场总线连接上发送和接收现场总线数据。以这种方式,主器件210的第一和第二通信组件230、240可以可操作地耦合于现场总线网络200中的从节点225。因此,在处理模块215上运行的主应用能够经由通信组件230、240在现场总线网络上发送现场总线数据帧,例如包括了用于一个或多个从节点225的命令。
[0027] 如图2所示,第一和第二通信组件230、240以这样的方式通过从节点270被连接,即,使得由第一通信组件230 (更具体地说是通过发送(TX)通道232)发送到从节点的数据在朝着第二通信组件(更具体地说是其接收(RX)通道244)的第一方向上流动。由第二通信组件发送的数据在朝着第一通信组件230的与第一方向相反的第二方向上240流动,如在图2中用箭头F和P表示的。[0028]在所示的例子中,现场总线网络200还包括现场总线从器件250。从器件250构成了现场总线网络200中的从节点,并且包括现场总线从模块255。现场总线从模块255包括第一通信组件260,第一通信组件260被布置成在第一现场总线连接上发送和接收现场总线数据,通常在265图示。现场总线从模块255还包括第二通信组件270,第二通信组件270被布置成在第二现场总线连接上发送和接收现场总线数据,通常在275图示。现场总线从模块255还包括至少一个处理组件,并且被布置成执行将在通信组件260、270的接收通道262、272上接收的数据帧转发到相反通信组件260、270的发送通道264、274以用于发送到现场总线网络的下一个节点。在一些例子中,现场总线从模块255被布置成执行在通信组件260、270之间的接收到的数据帧的直通转发。
[0029]现场总线从模块255选择性地可配置成以第一处理模式和至少一个第二处理模式进行操作,在所述第一处理模式中,所述至少一个处理组件280被配置成处理在所述第一和第二通信组件260、270之间的第一方向上行进的现场总线数据,在所述至少一个第二处理模式中,所述至少一个处理组件280被配置成处理所述第一和第二通信组件260、270之间的与第一方向相反的至少第二方向上行进的现场总线数据。
[0030]例如,在图2中,现场总线网络200在冗余网络配置中被配置,其中从节点225,包括从器件250,在主器件210的第一和第二通信组件230、240之间的环形拓扑中被配置。从节点225被定向以处理在第一方向上行进的数据,如通常用字母“P”表示,从主器件210的第一通信组件230到主器件的第二通信组件240。因此,在图2所示的例子中,现场总线从模块255被配置成以第一处理模式进行操作,在所述第一处理模式中,所述至少一个处理组件280被配置成处理在其第一通信组件260处接收到的、并在第一方向上从现场总线从模块255的第一通信组件260行进到现场总线从模块255的第二通信组件270的现场总线数据。相反,从节点225,包括从器件250,被布置成在通常由字母“F”表示的相反方向上将现场总线数据(未处理)从主器件210的第二通信组件240转发到主器件210的第一通信组件230。
[0031]在这个冗余网络配置中,主器件210可以至少在第一方向上在现场总线网络周围从第一通信组件230发送数据。因此,从器件250位于现场总线网络中处理顺序中的最后位置。为了有助于从链路故障(如在下面更详细描述的)恢复,主器件210可以被布置成围绕环(经由通信组件230、240中的每一个)在每一个方向上发送复制数据分组,其中在第二方向上从主器件210的第二通信组件240到第一通信组件230的数据分组在没有被处理的情况下围绕环被转发,而现场总线网络保持在这个环形拓扑中。
[0032]现场总线网络200的同步可通过实现一种分布式时钟机制来获得,据此,现场总线网络中的第一从节点225 (例如,最接近于主器件的第一通信组件230的从节点)包括被用于提供参考时间(系统时间)的参考时钟,其中系统中的所有其他节点同步到该参考时间。例如,第一从节点被用于将其时间传播到网络中的其他从节点以便保持所有这些同步到相同时钟。主器件210实现了一种算法,以保持它同步到第一从机。注意,在主器件210围绕环形网络在每一个方向上发送重复数据帧的情况下,每一个数据帧将从主器件210的通信组件230环游半个环而返回到其他通信组件240。在这种情况下,在任何从节点不存在环回并且主器件的两个通信组件230、240是“打开”的。每一个从节点225,包括从器件250,仅在一个方向上处理数据帧中的数据报。[0033]如果没有检测到下游器件,则EtherCAT从控制器被布置成自动关闭打开的端口,并且在下一个可用端口上转发帧,这对于双端口从节点将是由此接收帧的端口。因此,一旦现场总线网络200中有链路故障,诸如在图3中的310所示的,位于链路故障310任一侧的从节点320、330关闭了其相应端口并启用此“环回”功能,其中现场总线数据帧将在它们所来自的方向上被环回。在这样的链路故障之后,现场总线网络拓扑从环形拓扑变为包括了通常在340和350所示的两线网络的双线网络。
[0034]以这种方式,由主器件210经由第一通信组件230发送的数据帧沿着第一线网络340被处理,直到位置相邻于链路故障的从节点320,在该处,它们环回到主器件210。对于这个第一线网络,线网络340 (例如,最接近于主器件210的第一通信组件230的从节点)中的第一从节点(在图3的325所示的)与原始环形拓扑中的第一从节点相同。因此,线网络340中的这个第一从节点325可能继续作为时钟参考源,第一线网络340中的其他节点可被同步到该时钟参考源,在该第一线网络340中的从节点之间的传播延迟沿着处理路径相对于彼此是相同的。
[0035]相反,对于在链路故障310之后的第二线网络350,需要建立新的时钟参考,并为其中的从节点重建同步。然而,因为主器件210不能事先知道在哪里会发生链路故障,所以不可能(在传统的现场总线网络中)事先确定在链路故障310之后,哪一个从节点将是“下游”网络的处理路径中的第一从机(例如,位置相邻于第二线网络350中的链路故障310的从节点330)。因此,在传统的现场总线网络中,要求主器件210实现预先测量了所有可想到的链路故障位置两个方向上的传播延迟的复杂算法,并要求找到中断的位置以便知道哪个是下游网络路径中的第一从机(带有分布式时钟能力)。
[0036]然而,通过重新配置从器件250的现场总线从模块255以第二处理模式进行操作,在所述第二处理模式中,处理组件280被配置成处理在第一和第二通信组件260、270之间的第二方向上行进的现 场总线数据,从器件250将变为源自链路故障310的处理路径“下游”的第一从节点,从而将适当地位于下游线网络350的处理路径中以提供参考时钟,其中线网络350中的其他从节点(这对于所示的例子包括从节点330)可被同步到该参考时钟。以这种方式,通过这样的重新配置从器件250的处理模式,主器件210能够事先知道哪个从节点可以被用于在链接故障之后提供下游路径中的时钟参考,基本上不管链路故障在哪里发生。因此,在一些实例中,现场总线从模块255还包括高分辨率定时源285,据此,现场总线从模块255能够提供供在分布式时钟同步机制中使用的时钟参考。
[0037]对于从器件250的处理模式的这种重新配置,从器件250可基本上位于源自链路故障310下游的任何位置,以有效地重新定位在从器件250的下游线网络350的处理路径中的从节点以提供参考时钟,其中线网络350中的其他从节点(这对于所示的例子包括从节点330)可被同步到该参考时钟。然而,通过在图2和图3中所示的现场总线网络中的环形拓扑的处理路径中的最后位置实现从器件,诸如从器件250,主器件210能够知道初始环形拓扑内的最后从节点将是在链路故障之后在所得到的下游处理路径中遇到的第一从节点。通过使这样的从器件能够触发“运行中”的处理方向,主器件210知道,对于现场总线网络内的基本上任何链路内发生的链路故障,它可以使用这个从器件来保持下游处理路径在链路故障后的同步,除了从器件250和主器件210之间的直接链路。因此,主器件210并不需要预先测量所有可想到的电缆中断位置在两个方向上的所有传播延迟的复杂算法。此外,主器件210不需要找到中断的位置以便确定从节点,其中该从节点是下游处理路径中带有分布式时钟能力的第一从节点。注意,主器件210和给其相应路径提供了时钟参考的两个从节点之间要求两个同步算法。事先知道要使用哪个从节点意味着主器件也无需持有用于恢复的复杂表格和算法(注意,网络中有可能有数百个从节点,它带有比简单的初始环形拓扑更复杂的配置)。
[0038]潜在地,所有主器件210需求是每一个路径中的第一从节点的传播延迟。通过在初始网络中的最后从节点内触发“运行中”的处理方向上,最后从节点变为第一从节点,从而显著简化了网络的控制和同步所必需的主器件算法。
[0039]此外,如果主器件210使用位置寻址,那么从节点将递增在接收到的数据帧的数据报中的地址,并且如果该值变为零,则从节点将处理数据报的命令。因此,为了寻址第一从节点,主器件210将位置地址设置为’ -1’ (Oxffff),例如来发送ARMW命令以将第一从节点的时间传播到其他从节点。在链路故障之后,如果命令是传播时间(从寄存器内正确地址上的ARMW),则主器件210通常不能无条件地使用下游路径上位置寻址,因为它不知道在哪里会发生中断,并且如果在冗余路径中遇到的第一从机将具有DC能力,并且因此通常必须在两条路径上生成不同的帧,这就增加了开销和复杂性。然而,通过在图2和图3中所示的现场总线网络中的 环形拓扑的处理路径中的最后位置(或位于后续链路故障下游的某个其他位置)实现从器件,诸如从器件250,主器件210能够事先知道在下游路径中遇到处理的第一从机(即,在触发其处理的方向之后的从机250)将具有DC能力,从而允许位置寻址以及两条路径中的相同帧无条件被使用。
[0040]现场总线从模块255可被布置成以任何适合方式从以第一处理模式操作切换到以第二处理模式操作(反之亦然)。例如,现场总线从模块255可被布置成基于在接收到的数据帧内被设置的比特从以第一处理模式的操作切换到以第二处理模式操作。例如,一旦接收到数据帧,现场总线从模块255可被布置成解析接收到的数据数据帧中的数据报,并根据再循环比特(例如,包括’ I’的值)或被’设置’的标识(从而指示在从节点225内启用环回功能或例如响应于链接故障)从以第一处理模式操作切换到以第二处理模式操作(反之亦然)。此外和/或替代地,现场总线从模块255可被布置成一旦从主器件210收到命令,则从以第一处理模式操作切换到以第二处理模式操作,以在接收到的现场总线数据帧内切换处理模式。此外和/或替代地,现场总线从模块255可被布置成一旦收到用于从运行的本地从应用,例如在从器件250内的处理模块290上执行的从应用,切换处理模式的命令,则从以第一处理模式操作切换到以第二处理模式操作(反之亦然)。此外和/或替代地,现场总线从模块255可被布置成至少部分地基于本地元数据选择性地以接收到的数据帧的第一或第二处理模式中的一个进行操作。例如,并且返回参照图2,如果主器件的第二通信组件240被配置在环回模式中,则计数器(未示出)可在现场总线从模块255中被实现,并被布置成对由其通信组件260、270中的每一个接收到的数据帧进行计数。虽然现场总线网络保持完整,但是第一通信组件260的计数器将保持大于或等于第二通信组件270的计数器。然而,一旦链路故障310发生,则主器件210将被迫重新配置其通信组件240以将数据帧发送到链路故障下游网络的分段。结果,第二通信组件270的计数器将超过第一通信组件260的计数器,从而向现场总线从模块255指示网络的重新配置,因此需要切换处理模式。[0041]在一些例子中,现场总线从模块225可包括被布置成存储一个或多个处理模式比特的一个或多个可编程寄存器,其中,现场总线从模块255被布置成至少部分地基于处理模式比特值选择性地以处理模式进行操作。例如,并且如图2和图3所示,现场总线从模块255可包括与第一和第二通信组件260、270中的每一个相关联的可编程寄存器266、276。以这种方式,现场总线从模块255可被布置成一旦在第一可编程寄存器266内设置处理模式比特,则处理在第一方向上从第一通信组件260行进到第二通信组件270的现场总线数据,以及一旦在第二可编程寄存器276内设置处理模式比特,则处理在第二方向上从第二通信组件270行进到第一通信组件260的现场总线数据。
[0042]对于上面所述的以及附图中示出的例子,现场总线从器件已被描述为选择性地可配置成以第一处理模式和至少一个另外的处理模式进行操作,在所述第一处理模式中,所述至少一个处理组件被配置成处理在所述第一和至少一个另外的通信组件之间的第一方向上行进的现场总线数据,在所述至少一个另外的处理模式中,所述至少一个处理组件被配置成处理在所述第一和至少一个另外的通信组件之间的至少一个另外的方向上行进的现场总线数据。在一些例子中,现场总线从模块可进一步选择性地可配置成以至少一个另外的处理模式进行操作,在所述至少一个另外的处理模式中,所述至少一个处理组件被配置成处理在所述第一和至少一个另外的通信组件之间的第一方向上、以及在所述第一和至少一个另外的通信组件之间的至少一个另外的方向上行进的现场总线数据。
[0043]所示例子中的现场总线从模块255可以使网络同步、冗余以及从链路故障的恢复和/或整个网络控制被简化。特别是,所示例子中的现场总线从模块255可以使主器件能够事先知道在链路故障之后在下游处理路径中遇到的第一从节点。
[0044]冗余控制的主器件算法可以被简化。例如,并且通常,如果只有一个从节点被用于系统时间,那么在链 路故障之后,主器件必须:
[0045]-确定链路故障在哪里发生;
[0046]-从分布式参考时钟从节点读取系统时间;
[0047]-重新编程在网络拓扑数据库中的从机的位置(或切换到固定寻址);以及
[0048]-在网络的下游、附属部分周围发送适当偏移补偿值之前,实现考虑到其处理时间、抖动和发送队列和/或等待时间的复杂算法。
[0049]然而,通过使主器件能够事先知道网络的附属部分中的第一从机,而这第一从机能够提供分布式时钟功能,主器件只需要:
[0050]-弄清链路故障在哪里发生;
[0051]-重新编程在网络拓扑数据库中的从机的位置(或切换到固定寻址);
[0052]-在“正常”路径上发送数据帧,其中,例如在EtherCAT系统的情况下,ARMW地址=Oxffff (假设正是第一从机能够提供分布式时钟功能);以及
[0053]-在下游、附属部分上发送数据帧,其中新的拓扑或新的位置的视图被编程,或使用固定寻址。
[0054]此外,在主器件内实现的从到从写算法,诸如同步所需的等等可被简化。例如,由于从节点仅在一个方向上处理,所以只可能将数据从一个从机传送到进一步向下处理链的另一个从机。诸如EtherCAT的现场总线协议包含可以从一个从节点读取并将读取值写入在该节点之后的一些或所有从节点的各种命令。这是通过将源自从节点的存储器的地址的值读入数据帧中的数据报来工作的,然后每一个后续从节点将该值写入其存储器中的相同或另一个地址(据此,在一些例子中,这是在相同帧中完成的,因为它在现场总线网络周围被转发)。这是要求同步的第一从节点被用于保持其他节点被同步到的定时(时钟参考)的一个原因。
[0055]为了将数据从一个从机写入到在处理链中在前的另一个从机,需要两个帧。主器件将在第一帧中的读取命令发送到将其数据保持在其存储器中的从机。在后续帧上,主器件生成了对于需要该数据的从机的写命令,据此,如果所有从机需要它,那么广播写入被使用。通过使从器件250的处理方向能够如上所述被触发,该从器件可做成处理链中的第一从机。然后,主器件可以关闭网络中的“真实”第一从机上的端口,从而创建了环。然后,它将在冗余路径上发送命令,其中从器件250是处理链中的第一从机,因为它已经翻转了它的处理方向。如果连续需要一些更新,这就可能是有用的,因为它可以在比从机的数据被复制到进一步链的从机的情况下的更少的帧中完成。
[0056]现在参照图4,图4图示了替代现场总线网络400的简化示例框图。现场总线网络400包括主器件410。图4中所示的主器件410包括被布置成执行一个或多个主应用的信号处理模块415。主器件410还包括通信处理器420,通信处理器420被布置成提供在信号处理模块415上运行的所述一个或多个主应用和至少一个现场总线网络之间的接口。在一些例子中,图4中所示的主器件410仅包括主器件实现的一个可能例子。例如,主器件410可能替代地包括,例如带有内部或外部通信端口等等的通用CPU(中央处理器件)。
[0057]通信处理器420包括在所示的例子中表示为端口 _0的第一通信组件430,第一通信组件430被布置成在现场总线连接上发送和接收现场总线数据。通信处理器420还包括在所示的例子中表示为端口 _1的第二通信组件440,第二通信组件440被布置成在第二现场总线连接上发送和接收现场总线数据。以这种方式,主器件410的第一和第二通信组件430、440可以可操作地耦合于现场总线网络中的从节点。因此,在信号处理模块415上运行的主应用能够经由通信组件430、440在现场总线网络上发送现场总线数据帧,例如包括了一个或多个从节点225的命令的数据帧。
[0058] 在图4所示的例子中,现场总线网络400还包括现场总线从器件450。从器件450包括第一现场总线从模块255。第一现场总线从模块255包括第一通信组件260,第一通信组件260被布置成在第一现场总线连接上发送和接收现场总线数据。现场总线从模块255还包括第二通信组件270,第二通信组件270被布置成在第二现场总线连接上发送和接收现场总线数据。第一现场总线从模块255还包括至少一个处理组件280,并且被布置成执行在通信组件260、270的接收通道上接收的数据帧的转发以发送相反第一和第二通信组件260、270的通道以用于传输到现场总线网络中的下一个节点。在一些例子中,现场总线从模块255被布置成在通信组件260、270之间执行接收到的数据帧的直通转发。
[0059]第一现场总线从模块255选择性地可配置成以第一处理模式和至少第二处理模式进行操作,在所述第一处理模式中,至少一个处理组件280被配置成处理在其第一和第二通信组件260、270之间的第一方向上行进的现场总线数据,在至少第二处理模式中,至少一个处理组件280被配置成处理在第一和第二通信组件260、270之间的至少第二方向上行进的现场总线数据。
[0060]从器件450还包括第二现场总线从模块455。第二现场总线从模块455包括第一通信组件460,第一通信组件460被布置成在第一现场总线连接上发送和接收现场总线数据。第二现场总线从模块455还包括第二通信组件470,第二通信组件470被布置成在第二现场总线连接上发送和接收现场总线数据。第二现场总线从模块455还包括至少一个处理组件480,并且被布置成执行在通信组件460、470的接收通道上接收的数据帧的转发以发送相反第一和第二通信组件460、470的通道以用于传输到现场总线网络中的下一个节点。在一些例子中,现场总线从模块455被布置成在通信组件460、470之间执行接收到的数据帧的直通转发。
[0061]第二现场总线从模块455选择性地可配置成以第一处理模式和至少第二处理模式进行操作,在所述第一处理模式中,至少一个处理组件480被配置成处理在第一和第二通信组件460、470之间的第一方向上行进的现场总线数据,在至少第二处理模式中,至少一个处理组件480被配置成处理在第一和第二通信组件460、470之间的至少第二方向上行进的现场总线数据。
[0062]以这种方式,并且如图4中所示的,从器件的第一和第二现场总线从模块455、255可在现场总线网络中被实现,现场总线从模块455、255中的每一个构成了其中的从节点。特别是,第一和第二总线从模块455、255可位于现场总线网络中,使得它们在现场总线网络的处理路径中分别位于第一和最后的位置。以这种方式,在现场总线网络中的链路故障之后,单一从器件450可在“上游”网络路径中负责第一从节点(例如,通过第一现场总线从模块455实现的),并在下游网络路径中负责第一从节点(例如,在切换其处理方向上之后,通过第二现场总线从模块255实现的)。
[0063]以这种方式,共用定时源可被两个现场总线从模块255、455使用以在链路故障之后同步其相应的处理路径。在图4所示的例子中,从器件450通过两个独立的现场总线从模块255、455实现了两个从节点,其中每一个现场总线从模块包括两个通信组件260、270、460、470,并且带有独 立的处理组件280、480。然而,在一些例子中,单一现场总线从模块可包括,例如,4个通信组件,并且可以替代地用于实现两个从节点。有利的是,通过以这种方式在链路故障的任一侧使用共用定时源使得能够简化主器件410上的软件,这是由于在链路故障之前或之后,主器件410仅需要一种同步算法以在其时间域和网络中从节点的时间域之间进行同步。主器件410可以选择使用图4中的网络中的第一节点455。无论链路故障在哪里发生,主器件410可以使用通信组件430访问第一从节点,或在链路经由通信组件440将通信组件430连接到现场总线从模块455失败的情况下访问第一从节点。由于第一和最后的从节点停留在同一个从器件450上,所以通过将主器件410的时钟同步到任一现场总线从模块455或255,只需要一种同步算法。主器件410仅需要将命令发送到附属网段中的第一从节点以将其时间传播到要求同步的附属网络部分的其他节点。
[0064]现在参照图5,图5图示了被布置成实现诸如图2-图4的现场总线从模块255的现场总线模块的集成电路器件500的简化示例框图。集成电路器件500被布置成经由如通常在510所示的一个或多个输入通道接收的数据分组或“帧”,并且在如通常在515所示的一个或多个输出通道上路由/转发接收到的数据帧。集成电路器件500还包括多个通信组件530,多个通信组件530被布置成经由输入和输出通道510、515发送和接收数据帧。通信组件530可通过介质访问控制器(MAC)被实现,例如包含了时间戳硬件以协助同步和/或分布式时钟机制的以太网或EtherCAT MAC。在所示例子中的集成电路器件500还包括RISC (精简指令集计算)复合体540,一个或多个RISC处理器可配置成执行经由通信组件530接收到的数据帧的处理等等。集成电路器件500还包括一个或多个处理单元560以用于运行应用软件并管理数据平面硬件;例如以启动和停止通道或改变数据帧的路由等等。因此,对于图2-图4中所示的例子,本地从应用可被实现为在这样处理单元560上运行的计算机程序代码。
[0065]在图5所示的例子中,集成电路器件还包括总线控制570和通用输入/输出线575,其可被用于启用集成电路器件和诸如存储器件等等的一个或多个外部器件之间的通信。
[0066]现在参照图6至图8,图6-图8图示了一种配置例如正如可在图2_图4的从器件250、450内实现的现场总线网络内现场总线从节点的方法的一部分的简化示例流程图。图6的方法的一部分在610开始,并进行到620,在620,在所示的例子中,现场总线从节点位于允许在冗余路径后链路故障内的附属网段确定性控制的位置。在一些例子中,这样的位置可以包括现场总线网络的处理顺序中的“最后”位置。接着,在630,用于现场总线从节点的初始处理方向被配置。然后,在640,对于在初始处理方向上行进的数据帧,对接收到的数据帧的处理被执行。在650,一旦接收到处理方向上所需变化的指示,例如这样的指示是响应于检测到网络中的链路故障、并且包括在接收到的数据帧中设置的再循环比特、或从主器件或本地从应用接收到的命令等等,所述方法进入到660,在660,例如,在相反的方向上重新配置从节点的处理方向。然后,所述方法在670结束。
[0067]图7的方法的一部分在710开始,其中在现场总线从节点的通信组件(例如,端口)收到现场总线数据帧。接着,在720,确定现场总线从节点处的通信组件的接收通道是否被配置用于处理(例如,基于其可编程寄存器内的比特值)。如果确定通信组件的接收通道没有被配置用于处理,则数据帧在730被简单地转发到现场总线从节点的下通信组件的发送端口,并且所述方法在740结束。然而,如果确定通信组件的接收通道被配置用于处理,则所述方法进行到750,在750,在730被转发到现场总线从节点的下通信组件的发送端口之前,数据帧被处理,并且所述方法在740结束。
[0068]图8的方法的一部分可以在几个事件中的一个开始。第一这种事件包括在810从接收到的数据帧解析数据报,所述方法从此进行到815,在815,确定了数据报内的再循环比特是否被设置(例如,包括‘I’的值)。如果再循环比特没有被设置,那么所述方法简单地进行到860并结束。然而,如果再循环比特已被设置,则指示先前从节点中的环回功能已被启用,从而指示可能的链路故障,那么所述方法进行到850,在850,例如在可编程寄存器内的处理模式比特值被更新以切换现场总线从节点的处理方向。然后,所述方法在860结束。
[0069]第二事件包括在820从本地从应用接收软件命令。一旦从本地从应用接收到这样软件指令,所述方法进入到850,在850,处理模式比特值被更新以切换现场总线从节点的处理方向。然后,所述方法在860结束。
[0070]第三事件包括从接收到的数据帧中的现场总线网络的主器件接收主写命令。一旦收到这样的主写命令,所述方法进行到850,在850,处理模式比特值被更新以切换现场总线从节点的处理方向。然后,所述方法在860结束。第四事件包括发生本地元数据事件,例如,第一通信组件的接收到的帧计数包括小于第二通信组件的接收到的帧计数的值。一旦这样元数据事件发生,所述方法进入到850,在850,处理模式比特值被更新以切换现场总线从节点的处理方向。然后,所述方法在860结束。
[0071]本发明可以在用于在计算机系统上运行的计算机程序中被实现,至少包括用于当在诸如计算机系统或使得可编程的装置能够执行根据本发明的设备或系统的功能的可编程的装置上运行时,执行根据本发明的方法步骤的代码部分。
[0072]计算机程序是一系列指令,诸如特定应用和/或操作系统。计算机程序可以例如包括以下中的一个或多个:子例程、函数、程序、对象方法、对象实现、可执行的应用、小程序、小服务程序、源代码、对象代码、共享库/动态装载库和/或设计用于在计算机系统上的执行的其他指令序列。
[0073]计算机程序可以在计算机可读存储介质上被内部地存储或经由计算机可读传输介质传输到计算机系统。所有 或者一些计算机程序可以被永久地、可移除地提供在计算机可读介质或远程地耦合到信息处理系统。计算机可读介质可以包括,例如但不限于任何数目的以下:包括磁盘和磁带存储介质的磁存储介质;光学存储介质,诸如光盘介质(例如,CD-R0M、CD-R等等)以及数字视盘存储介质;非易失性存储器存储介质,包括基于半导体存储器单元,诸如闪存存储器、EEPR0M、EPR0M、R0M ;铁磁数字存储器;MRAM ;易失性存储介质,包括寄存器、缓冲器或缓存、主存储器、等等;以及数字传输介质,包括计算机网络、点对点通信设备、以及载波传输介质,仅举几例。
[0074]计算机处理通常地包括执行(运行)程序或程序的一部分,当前的程序值和状态信息,以及通过操作系统用于管理处理的执行的资源。操作系统(OS)是管理计算机的资源共享以及提供给程序员用于访问那些资源的接口的软件。操作系统处理系统数据和用户输入,以及通过分配和管理任务以及内部系统资源作为系统对用户和程序的一项服务来作出响应。
[0075]计算机系统可以例如包括至少一个处理单元、关联存储器和大量的输入/输出(I/O)设备。当执行计算机程序时,计算机系统根据计算机程序处理信息并且经由I/O设备产生所得到的输出信息。
[0076]如在此使用的,表述非短暂将被理解为指的是存储介质本身的非短暂性,而不是指存储信息本身在存储状态持续多长时间的概念。因此,另外可能会被认为是例如,非易失性(诸如很多电可擦可编程只读存储器(EPROM)或随机存取存储器(RAM))的存储器在本发明中不过被认为是“非短暂”,而在传输过程中的信号载流子被认为是“短暂的”,即使信号在传输过程中保持长时间期间。
[0077]由于本发明说明的实施例可能大部分是使用本领域所属技术人员已知的电子组件和电路被实施,所以不会在比上述所说明的认为有必要的程度大的任何程度上解释细节,以用于对本发明基本概念的理解以及为了不混淆或偏离本发明所教之内容。
[0078]在前面的说明中,参照本发明实施例的特定示例已经对本发明进行了描述。然而,很明显,在不脱离如所附权利要求中所阐述的本发明的更宽范围的情况下,可做出各种修改和变化,本发明的更宽范围因此并不限于具体示例。
[0079]如在此讨论的连接可以是适于例如经由中间设备传输来自或去往相应的节点、单元或设备的信号的任何类型的连接。因此,除非暗示或另外表明,所述连接例如可以是直接连接或间接连接。所述连接可以被图示或描述为涉及单一连接、多个连接、单向连接、或双向连接。然而,不同实施例可以改变连接的实现。例如,可以使用单独单向连接而不是双向连接,并且反之亦然。而且,多个连接可以被替换为连续地或以时间复用方式传输多个信号的单一连接。同样地,携带多个信号的单一连接可以被分离成携带这些信号的子集的各种不同的连接。因此,存在用于传输信号的许多选项。
[0080]本领域技术人员将认识到:逻辑块之间的界限仅仅是说明性的并且替代实施例可以合并逻辑块或电路元件或在各种逻辑块或电路元件上强加替代的分解功能。因此,应了解,在此描述的架构仅仅是示例性的,并且事实上可以实现实现相同功能的很多其他架构。例如,为了简单并便于理解,现场总线从模块的处理组件和通信组件已被说明和描述为单独的逻辑组件。然而,将了解这些组件可例如通过在处理单元上运行的计算机程序代码在单一功能组件内被实现。
[0081]为了实现相同功能的组件的任何布置是有效地“关联”使得所需的功能得以实现。因此,在此组合以实现特定功能的任何两个元件可以被看作彼此“相关联”使得所需的功能得以实现,而不论架构或中间元件。同样地,如此关联的任何两个组件还可以被认为是彼此被“可操作连接”或“可操作耦合”以实现所需的功能。
[0082]此外,本领域所属技术人员将认识到以上描述的操作之间的界限只是说明性的。多个操作可以组合成单一的操作,单一的操作可以分布在附加操作中并且可以至少部分地在时间上重叠地执行操作。而且,替代实施例可以包括特定操作的多个示例,并且操作的顺序在各种其他实施例中可以更改。
[0083]又如,在一个实施例中,说明的示例可以被实现为位于单一集成电路上的电路或在相同设备内的电路。例如,用于执行从应用的处理单元290和图2中所示的现场总线从模块225可在单一集成电路器件内被实现。替代地,所述例子可被实现为任何数目的单独集成电路或以合适的方式彼此互连的单独器件。
[0084]又如,示例或其一部分可以诸如以任何合适类型的硬件描述语言被实现为物理电路的软或代码表示,或被实现为能够转化成物理电路的逻辑表示的软或代码表示。
[0085]而且,本发明不限于在非程序化硬件中实现的物理设备或单元,但也可以应用在可编程的设备或单元中,这些设备或单元通过按照合适的程序代码操作能够执行所期望的设备功能,诸如主机、微型计算机、服务器、工作站、个人计算机、笔记本、个人数字助理、电子游戏、汽车和其他嵌入式系统、手机和各种其他无线设备,在本申请中通常表示为“计算机系统”。
[0086]然而,其他修改、变化和替代也是可能的。说明书和附图相应地被认为是从说明性的而不是严格意义上来讲的。
[0087]在权利要求中,放置在括号之间的任何参考符号不得被解释为限定权利要求。在权利要求中 ,词语“包括”或“含有”不排除其他元件或权利要求中列出的步骤的存在。此外,如在此使用的词语“一”或“一个”被定义为一个或不止一个。而且,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”的不定冠词时,在权利要求中诸如“至少一个”以及“一个或多个”的介绍性短语的使用也不应该被解释成暗示通过不定冠词“一”或“一个”引入的其他权利要求元素将包括这样介绍的权利要求元素的任何特定权利要求限制成仅包含这样的元素的发明。对于定冠词的使用也是如此。除非另有说明,使用诸如“第一”以及“第二”的术语来任意地区分这样的术语描述的元素。因此,这些术语不一定旨在指示这样的元素的时间或其他优先次序。在相互不同的权利要求中记载某些措施的事 实并不指示这些措施的组合不能被用于获取优势。
【权利要求】
1.一种实时分布式网络从模块,包括: 第一通信组件,所述第一通信组件被布置成在至少第一实时分布式网络连接上发送和接收实时分布式网络数据; 至少一个另外的通信组件,所述至少一个另外的通信组件被布置成在至少一个另外的实时分布式网络连接上发送和接收实时分布式网络数据;以及至少一个处理组件; 其中所述至少一个实时分布式网络从模块选择性地可配置成以第一处理模式和至少一个另外的处理模式进行操作,在所述第一处理模式中,所述至少一个处理组件被配置成处理在所述第一通信组件和至少一个另外的通信组件之间的第一方向上行进的实时分布式网络数据,在所述至少一个另外的处理模式中,所述至少一个处理组件被配置成处理在所述第一通信组件和至少一个另外的通信组件之间的至少一个另外的方向上行进的实时分布式网络数据。
2.根据权利要求1所述的实时分布式网络从模块,所述实时分布式网络从模块还包括高分辨率定时源,并且所述至少一个实时分布式网络从模块能够提供用于在分布式时钟同步机制中使用的时钟参考。
3.根据任何先前权利要求所述的实时分布式网络从模块,所述实时分布式网络从模块动态地可配置成:从以所述第一处理模式操作切换至运行中的所述至少一个另外的处理模式。
4.根据权利要求3所述的实时分布式网络从模块,所述实时分布式网络从模块被布置成:至少部分地基于源自至 少包括以下的一组中的至少一个从以所述第一处理模式操作切换至所述至少一个另外的处理模式: 在接收到的数据帧中设置比特; 在接收到的数据帧中的主器件命令; 收到本地从应用命令;以及 用于接收到的数据帧的元数据。
5.根据任何先前权利要求所述的实时分布式网络从模块,还包括至少一个可编程寄存器,所述至少一个可编程寄存器被布置成存储至少一个处理模式比特,其中所述至少一个实时分布式网络从模块被布置成至少部分地基于所述至少一个处理模式比特值以所述第一处理模式和至少一个另外的处理模式中的一个进行操作。
6.根据权利要求5所述的实时分布式网络从模块,所述实时分布式网络从模块包括: 第一可编程寄存器,所述第一可编程寄存器与所述第一通信组件相关联;以及 至少一个另外的可编程的寄存器,所述至少一个另外的可编程的寄存器带有所述至少一个另外的可编程寄存器, 其中所述至少一个实时分布式网络从模块被布置成: 一旦在所述第一可编程寄存器内设置处理模式比特,则处理在所述第一通信组件和至少一个另外的通信组件之间的所述第一方向上行进的实时分布式网络数据;以及 一旦在所述至少一个另外的可编程寄存器内设置处理模式比特,则处理在所述第一通信组件和至少一个另外的通信组件之间的所述至少一个另外的方向上行进的实时分布式网络数据。
7.根据任何先前权利要求所述的实时分布式网络从模块,所述实时分布式网络从模块被布置成:在所述第一通信组件和至少一个另外的通信组件之间的所述第一方向和至少一个另外的方向中的至少一个上执行接收到的数据帧的直通转发。
8.根据任何先前权利要求所述的实时分布式网络从模块在单一集成电路内被实现。
9.一种实时分布式网络从器件,包括至少一个实时分布式网络从模块,所述至少一个实时分布式网络从模块包括: 第一通信组件,所述第一通信组件被布置成在至少第一实时分布式网络连接上发送和接收实时分布式网络数据; 至少一个另外的通信组件,所述至少一个另外的通信组件被布置成在至少一个另外的实时分布式网络连接上发送和接收实时分布式网络数据;以及 至少一个处理组件; 其中所述至少一个实时分布式网络从模块选择性地可配置成以第一处理模式和至少一个另外的处理模式进行操作,在所述第一处理模式中,所述至少一个处理组件被配置成处理在所述第一通信组件和至少一个另外的通信组件之间的第一方向上行进的实时分布式网络数据,在所述至少一个另外的处理模式中,所述至少一个处理组件被配置成处理在所述第一通信组件和至少一个另外的通信组件之间的至少一个另外的方向上行进的实时分布式网络数据。
10.一种实时分 布式网络从器件,包括第一实时分布式网络从模块和至少一个另外的实时分布式网络从模块;所述第一实时分布式网络从模块和至少一个另外的实时分布式网络从模块中的每一个包括: 第一通信组件,所述第一通信组件被布置成在至少第一实时分布式网络连接上发送和接收实时分布式网络数据; 至少一个另外的通信组件,所述至少一个另外的通信组件被布置成在至少一个另外的实时分布式网络连接上发送和接收实时分布式网络数据;以及 至少一个处理组件; 其中所述第一实时分布式网络从模块和至少一个实时分布式网络从模块中的每一个选择性地可配置成以第一处理模式和至少一个另外的处理模式进行操作,在所述第一处理模式中,所述至少一个处理组件被配置成处理在所述第一通信组件和至少一个另外的通信组件之间的第一方向上行进的实时分布式网络数据,在所述至少一个另外的处理模式中,所述至少一个处理组件被配置成处理在所述第一通信组件和至少一个另外的通信组件之间的至少一个另外的方向上行进的实时分布式网络数据。
11.一种实时分布式网络,包括根据权利要求9或权利要求10所述的实时分布式网络从器件。
12.—种在实时分布式网络中配置实时分布式网络从节点的方法,所述方法包括:在所述实时分布式网络中的所述实时分布式网络从节点处,在所述实时分布式网络从节点的第一通信组件和至少一个另外的通信组件之间的第一方向上配置实时分布式网络数据的处理; 所述方法还包括:一旦在所述实时分布式网络中检测到链路故障,则在所述实时分布式网络从节点的所述第一通信组件和至少一个另外的通信组件之间的第二方向上配置实时分布式网络数据的处理。
13.—种非短暂计算机程序产品,具有存储在其中以用于编程信号处理逻辑以执行使得在冗余实时分布式网络中能够同步的方法的可执行程序代码,所述代码可操作用于:在被布置成在所述实时分布式网络中的实时分布式网络从节点之间提供接口的实时分布式网络模块处,在所述实时分布式网络从节点的第一通信组件和至少一个另外的通信组件之间的第一方向上配置实时分布式网络数据的处理; 所述代码还可操作用于:一旦在所述实时分布式网络中检测到链路故障,则在所述实时分布式网络从节点的所述第一通信组件和至少一个另外的通信组件之间的第二方向上配置实时分布式网络数据的处理。
14.根据权利要求12所述的非短暂计算机程序产品,其中所述计算机可读存储介质包括以下中的至少一个:硬盘、CD-ROM、光存储装置、磁存储装置、只读存储器ROM、可编程只读存储器PR0M、可擦除可编程只读存储器EPR0M、电可擦可编程只读存储器EEPROM以及闪存存储 器。
【文档编号】H04L29/02GK104025534SQ201180074646
【公开日】2014年9月3日 申请日期:2011年11月4日 优先权日:2011年11月4日
【发明者】格拉哈姆·埃德米斯顿 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1