用于分配并优先化数据传输的方法和设备的制作方法

文档序号:7978880阅读:115来源:国知局
专利名称:用于分配并优先化数据传输的方法和设备的制作方法
技术领域
本文中所公开的主题一般涉及用于控制机器和工业过程的工业控制网络,更具体地,涉及使用时间同步来在用于分布式控制系统的工业控制网络上分配并优先化数据通信。
背景技术
工业控制器是用于控制工厂自动化等的专用计算机。工业控制器通常执行为特定控制应用而高度定制的控制程序。诸如“继电器梯形逻辑”的专门控制语言一般用于使装置的编程更容易。在所存储的程序的指导下,工业控制器的处理器周期性地检查输入装置的状态并更新输出装置的状态。为了确保对机器或过程的可预测控制,控制程序必须非常可靠,并且以定义明确的时间段来执行。随着工业过程越来越复杂,越来越多的装置与工业控制器连接。装置通常分布在机器附近或者沿着工艺线分布。工业网络通常用于连接分布式装置并且使得数据可以在装置之间传输。类似地,为了保持控制程序的可靠性,分布式装置之间的通信必须非常可靠并且以定义明确的时间段来执行。响应于工业网络越来越复杂,已开发了许多工业通信协议来在分布式装置之间提供高调度通信。这些工业协议预留各个装置在该网络上进行通信的时隙,从而确保所有的关键通信都可以在预定义的时间内发生。尽管这些工业通信协议满足工业通信的结构化要求,但是这些协议也有它们的缺点。高调度通信要求限制了工业控制系统的灵活性。随着系统的大小和复杂性增长,越来越多的通信和调度要求基于装置之间的交互而需要复杂、循环的调度优化例程。如果期望进一步扩展该系统,则必须重新配置整个调度表以容纳新装置。另外,扩展可能具有拓扑限制,以确保网络的可用带宽沿着网络的每个分支都满足性能要求。因而,期望提供一种满足工业控制系统的确定性要求的系统,并且为了易于安装和扩展而保持灵活性。

发明内容
本文中所公开的主题描述了一种用以在工业控制网络上分配并优先化数据通信的方法,其中工业控制网络包括但不限于采用电气和电子工程协会(IEEE) 802. 3标准的工业以太网络。建立包括多个优先窗口(prioritywindow)和多个传输优先级队列的传输调度表。传输调度表定义每个优先窗口的起始时间和持续时间。每个优先窗口可具有分配给该优先窗口的任意数量的优先级队列,并且可选地,可以不具有分配给该优先窗口的优先级队列。另外,每个优先级队列可被分配给一个或多个优先窗口。在控制网络上通信的控制装置根据传输调度表传输数据包。在每个优先窗口内,可传输与分配给该优先窗口的各优先级队列中的一个优先级队列对应的数据包。数据包可在优先窗口内的任意点处传输, 但将仅在没有来自更高优先级队列的数据包正等待传输的情况下传输。根据本发明的一个实施例,用于被配置为在工业网络上进行通信的工业控制装置的网络接口包括被配置为与工业网络连接的多个端口。每个端口均具有发送电路和接收电路。发送电路包括多个队列。网络接口还包括开关电路。该开关电路与每个端口均进行通信,并且定义多个优先窗口。每个优先窗口具有持续时间以及被分配为在优先窗口内传输的零个或更多个队列。在每个优先窗口的持续时间内,开关电路被配置为如果不存在来自分配给该优先窗口的更高优先级队列的数据包,则开始传送分配给该优先窗口的队列中的数据包。如果未将队列分配给优先窗口,则不在该优先窗口的持续时间内开始新的数据包传送。因而,本发明的特征在于,可确定性地传递来自控制装置的数据包,又仍保持调度传输的灵活性。根据应用要求确定优先窗口的数量和分配给每个优先窗口的队列。根据本发明的另一实施例,一种在工业网络上的多个控制装置之间传输数据的方法定义了多个优先窗口。每个优先窗口均包括起始时间和结束时间。还定义了多个队列, 并且将每个队列分配给一个或多个优先窗口。将要传输的数据包分配给各队列中的一个队列。在每个优先窗口内,监控分配给该优先窗口的每个队列的数据包,并且如果将至少一个队列分配给该优先窗口,则在不存在来自分配给该优先窗口的更高队列的数据包的情况下,传输分配给该优先窗口的每个队列的数据包,而如果未将队列分配给该优先窗口,则不传输任何附加数据包。根据详细描述和附图,本发明的这些和其他优点和特征对于本领域的技术人员而言将是显而易见的。然而,应该理解,尽管说明了本发明的优选实施例,但是详细描述和附图是作为示例给出的,而不具有限制性。可在不背离本发明的精神的情况下,在本发明的范围内进行各种改变和修改,并且本发明包括全部这样的修改。


在附图中示出了本文所公开的主题的各个示例性实施例,在附图中,类似的附图标记始终表示类似的部分,并且其中图1是根据本发明的一个实施例的控制装置通信的框图表示;图2是根据本发明的一个实施例的带宽分配的框图表示;图3是示出将图2的优先窗口与实时时钟信号进行协调的流程图;以及图4是示出针对图2的一个优先窗口传输数据包的流程图。在描述附图中示出的本发明的各个实施例时,为了清楚将采用特定术语。然而,并不意味着本发明受限于这样选择的特定术语,并且应该理解,每个特定术语均包括为实现类似目的而以类似方式起作用的全部技术等同术语。例如,经常使用词“连接”、“附连”或与此类似的术语。这些术语不限于直接连接,而是包括通过其他元件的连接,其中,本领域的技术人员将这样的连接认为是等同的。
具体实施例方式开始参照图1,示出了经由网络12进行通信的一对工业控制装置10。每个控制装置10包括用于将装置10连接至网络12的网络接口 11。每个网络接口 11包括至少一个端口 14,并且优选地包括一对端口 14,其中每个端口 14与相邻装置10进行通信。可选地,网络接口 11可包括用于例如与处理器20或附加装置10进行通信的附加端口 14。每个端口14上的通信优选地是全双工的,意味着可同时发送和接收帧,并且至少一个发送电路16和至少一个接收电路18与每个端口 14相关联。网络接口 11控制关于每个端口 14的通信。每个端口 14包括发送电路16和接收电路18。每个发送电路16均包括多个队列Q1-Q3,并且Q1-Q3中的每个队列均包括多个缓冲器Bxy,其中“χ”标识缓冲器B所属的队列Q,而“y”标识缓冲器B在每个队列Q内的等级。尽管示例性实施例示出各自具有两个缓冲器B的三个队列,但是预期可在不背离本发明的范围的情况下使用任意数量的队列Q和对应的缓冲器B。优选地,在专用集成电路 (ASIC)上实现网络接口 11。可选地,可使用任何其他适合的电子装置或电子装置的组合实现网络接口 11。网络接口 11优选地经由具有发送电路16和接收电路18的第三端口 14与处理器20进行通信。可选地,网络接口 11可被配置为通过任意适合的数据总线与处理器 20进行通信。作为又一选择,处理器20可被配置为与每个端口 14直接接口并管理该端口的流量。每个工业控制装置10还包括至少一个存储装置22。存储装置22与处理器20进行通信,并且可选地与网络接口 11进行通信。存储装置22存储用于工业控制装置10的传输调度表观和处理器可执行指令沈以及其他数据。存储装置22可被实现为单个装置或多个装置。可选地,上面实现有网络接口 11的ASIC的一部分可被配置为存储器,并且可通过网络接口 11的其他部分被直接访问。每个工业控制装置10还包括将时间信号25提供给处理器20的实时时钟对。时间信号25可由网络接口 11直接访问,或者可选地,可经由处理器20访问。为了统一执行传输调度表观而使来自每个控制装置10的时间信号25同步。为了在每个控制装置10当中协调传输调度表观的执行,使来自每个控制装置10 上的实时时钟M的时间信号25与主时钟信号同步。可根据任何可接受的方法(例如,用于时钟同步的IEEE 1588标准)执行时间同步。优选地,选择来自一个控制装置10的实时时钟M以提供主时钟信号。可选地,独立的实时时钟可提供主时钟信号。最初使每个实时时钟M的时间信号25与主时钟信号同步,并且优选地,周期性地对该时间信号进行重新同步,以确保每个控制装置10的时间信号25保持同步。开关电路13包括数据包切换逻辑以及用于将来自每个端口 14的数据包传输至网络12的逻辑定义优先窗口。此外,参照图2,所示出的实施例分别包括第一优先窗口 34、第二优先窗口 36、第三优先窗口 38和第四优先窗口 40。另外,各优先窗口 34、36、38和40分别由起始时间41、43、45和47以及持续时间42、44、46和48定义。在周期性间隔30内运行优先窗口 34、36、38和40。起始时间41、43、45和47以及持续时间42、44、46和48中的每一个均可根据以传输调度表28存储在存储器22中的数据来进行配置并且一开始就被加载。传输调度表观实现了在优先窗口 34内传输数据包的灵活性。例如,可配置优先窗口的数量和分配给每个优先窗口的队列Q的数量。每个队列Q可分配给一个或多个优先窗口,并且每个优先窗口可具有分配给该优先窗口的零个或更多个队列。此外,可通过允许运行或禁止运行一个或多个优先窗口来配置可用优先窗口的数量。另外,可改变每个优先窗口的起始时间和持续时间。对传输调度表观做出的改变既存储至存储器22又传送至开关电路13。例如通过连接至控制装置10的操作者接口(未示出)或者通过将预先选择的值包括在存储器22中所存储的处理器可执行指令中,可执行初始配置。此外,处理器20监控每个优先窗口的性能,并且可根据所监控的性能重新配置优先窗口。如图2所示,示例性传输调度表观可定义四个优先窗口 34、36、38和40。第一队列Ql可用于传输高优先级数据并且被分配给第一优先窗口 34。第二队列Q2可用于传输低优先级数据并且被分配给第二优先窗口 36。第三优先窗口 38可被用作不进行数据传输的时间段,并且因此可以不具有所分配的队列Q。通过不将队列Q分配给第三优先窗口 38,第三优先窗口 38还可用作时间缓冲器,从而使得完成传输来自第二优先窗口 36的长的低优先级消息。第四优先窗口 40可用于高优先级数据与低优先级数据的组合,并且具有分配给该优先窗口的第一队列Ql和第二队列Q2这两者。类似地,可分配附加队列Q以传输高优先级数据包、低优先级数据包或者任何一个中等优先级数据包,并且可根据系统要求将每个队列Q分配给一个或多个优先窗口。在优先窗口内,数据包的传输是灵活的,并且优选地,根据分配给优先窗口的每个队列Q的优先级别,基于每个队列Q的缓冲器B的先进先出(FIFO)执行数据包的传输。例如,可分配第一队列Ql和第二队列Q2以在第二优先窗口 36内传输,其中,第一队列Ql具有比第二队列Q2高的优先级。存在于第一队列Ql的缓冲器B中的任意数据包将基于FIFO 在优先窗口 36的持续时间44的起始处开始传输并继续传输直到优先窗口 36的持续时间 44。然而,如果第一队列Ql中不存在数据包,则来自队列Q2的数据包也可在优先窗口 36 的起始处开始传输。另外,只要没有数据包到达第一队列Q1,则第二队列Q2就将继续传输存储在第二队列Q2中的全部数据包。如果分配给第一队列Ql的数据包在正传输来自第二队列Q2的数据包时到达,则第一队列Ql中的新数据包将在当时正传输的来自第二队列Q2 的数据包之后进行传输。第二队列Q2中的任意剩余数据包将在传输来自第一队列Ql的数据包后重新开始传输。如果第二优先窗口 36的持续时间44在传输了全部数据包前结束, 则剩余数据包将保持在其各自队列Q的缓冲器B中,以在已分配了该队列Q的下一优先窗口期间传输。如果优先窗口不具有向其分配的队列Q,则在该优先窗口期间将不会开始附加数据包传输。然而,如果曾存在来自前一优先窗口的正在进行的传输,则将允许正在传输的数据包在未分配有队列Q的优先窗口内完成传输。在操作时,开关电路13管理控制装置10与网络12之间的通信。每个外部接收电路18接收来自网络12的数据包,并且内部接收电路18接收来自处理器20的数据包。开关电路13监控每个端口 14的接收电路18,并且根据包含在数据包内的数据将输入的数据包括传送至每个发送电路16的适当队列Q。每个数据包典型地包括标识数据包的适当目的地的地址。网络接口 11将计划给该控制装置10的数据包传送至与处理器20连接的端口 14,并且将计划给另一控制装置的数据包传送至另一端口 14的每个发送电路16的适当队列Q,以随后传输至下一相邻控制装置10。每个数据包优选地包括标识该数据包的优先级别的字段,从而利用定制或标准评分方案,例如,IEEE 802. 3优先级标签或互联网协议差分服务代码点(IP DSCP)优先级别。数据包的优先级别标识将该数据包分配给哪个队列Q。 另外,可将多个优先级队列分配给一个队列Q。开关电路13以预定间隔30周期性地执行传输调度表观,并且对每个发送电路16进行协调以基本上同时运行传输调度表观。开关电路13被配置为根据优先窗口的配置控制从发送电路14到网络12的数据包传送。参照图3,在步骤50,获得第一优先窗口 34的起始时间。在步骤52,获得来自实时时钟M的时间信号25的当前值。在步骤54,开关电路13将时间信号25与优先窗口 34的起始时间进行比较。如果时间信号25不等于起始时间,则开关电路13继续监控时间信号 25,直到该时间信号等于起始时间为止。当时间信号25等于第一优先窗口 34的起始时间时,如步骤56所示,分配给第一优先窗口 34的队列中的数据包的传输开始,并且将持续优先窗口 34的持续时间42。在步骤58,例程确定另一个优先窗口是否有效。如果是,开关电路13在步骤60获得下一优先窗口的起始时间,并且再次根据步骤52和M监控时间信号 25,直到该时间信号等于下一优先窗口的起始时间为止。过程重复,直到每个有效的优先窗口都已有机会进行传输为止。一旦最后的有效优先窗口已运行,则开关电路13循环回至步骤50,并且重复例程。开关电路13还被配置为管理来自分配给一个优先窗口的每个队列Q的数据包的传输。参照图4,在步骤62,例程标识分配给优先窗口的最高优先级队列Q。在步骤64,例程确定与优先窗口相关联的最高级别序列Q的缓冲器B中是否存在任何数据包。如果是, 则在步骤S66,优选地基于FIFO开始传输来自最高级别队列Q的数据包。如果在步骤64不存在任何最高队列Q的数据包,则在步骤68,例程确定是否还将较低级别的任何队列Q分配给了优先窗口。如果在步骤68,例程正监控优先窗口中的最低级别队列Q并且发送电路16 中不存在任何数据包,则例程在步骤72检查该优先窗口的传输所剩余的时间。如果在步骤 68,存在优先级比正监控的最后一个队列Q低的另一队列Q,则如步骤70所示,例程标识下一个更低的队列Q,并且返回至步骤64。在步骤64,如果对于正监控的新队列Q存在数据包,则例程再次基于先进先出(FIFO)开始传输这些数据包。在传输各数据包之后,在步骤 72,例程检查优先窗口是否存在任何剩余时间。如果剩余了时间,则例程循环返回至继续针对属于优先窗口的任何队列Q中的数据包而监控发送电路16。处理器20可根据特定度量监控传输调度表观的性能和对应的网络传输,并且按期望修改传输调度表观。用于评价传输调度表的性能的度量可包括但不限于抖动,在传输调度表观内在期望时间处发送数据包的重复性;等待时间,请求传输数据包与传输该数据包之间的延迟;以及可用带宽,在给定间隔处的未利用的时间量。例如,如果花费太长时间来传输特定队列Q的数据包,则处理器20可相应地修改传输调度表观。例如,通过将队列Q分配给附加优先窗口或者通过延长优先窗口的持续时间,可修改传输调度表。将对传输调度表观的修改传输至系统中的每个装置10,以使全部装置10保持相同的调度表观。根据本发明的一个实施例,控制装置10可以菊花链配置来布置,意味着网络12将每个控制装置10与一个或两个其他控制装置10串联连接。网络12在具有发送电路16和接收电路18的端口 14处与每个控制装置10连接。如果控制装置10生成要在网络12上传输的数据包,则该数据包被分配了优先级别并且被置于相应队列Q的缓冲器B中。然后, 根据先前描述的传输调度表观,在网络12上将数据包传输到链中的下一链路。输入到控制装置10上的端口 14的数据包进入接收电路18。数据包中的地址可用于确定控制装置10 是否是数据包的计划接收方。如果是,则可将数据包传送至控制装置10的处理器20。如果不是,则根据传输调度表观,可将数据包传送至另一端口 14的发送电路16并且传递至链中的下一控制装置10。根据本发明的另一实施例,控制装置10可以按照树状、星型或者菊花链、树状和星型拓扑的任何组合来布置。星型或树状拓扑中的控制装置10将具有多于两个的外部端Π 14。应该理解,本发明并不受限于对本文所述的部件的构造和布置的细节的应用。本发明能够实现其他实施例并且以各种方式实践或执行。上述变换和修改落入本发明的范围内。还应理解,本文中所公开和定义的本发明延伸到所提及的或根据文本和/或附图显而易见的各特征中的两个以上的全部替选组合。这些不同的组合全部构成本发明的各个替选方面。本文中所描述的实施例说明了已知的实践本发明的最佳方式,并且将使得本领域技术人员能够利用本发明。
权利要求
1.一种被配置为在工业网络上进行通信的工业控制装置,包括 处理器;与所述处理器通信的存储装置,用于存储传输调度表和多个处理器可执行指令;以及与所述处理器通信的网络接口,所述网络接口还包括多个端口,被配置为与所述工业网络连接,每个端口具有发送电路和接收电路,其中, 所述发送电路包括多个队列;以及与每个端口均进行通信的开关电路,用于定义多个优先窗口,每个优先窗口具有持续时间以及被分配为在所述优先窗口内传输的零个或更多个队列,其中,在每个优先窗口的持续时间内,所述开关电路被配置为如果不存在来自分配给所述优先窗口的更高优先级队列的数据包,则开始传送存在于分配给所述优先窗口的队列中的数据包。
2.根据权利要求1所述的工业控制装置,其中,所述传输调度表定义每个优先窗口的起始时间和持续时间,并且其中,能够在所述处理器上执行所述指令以将每个优先窗口的起始时间和持续时间传送至所述开关电路。
3.根据权利要求2所述的工业控制装置,其中,还能够在所述处理器上执行所述指令以监控通过所述网络传送的数据包。
4.根据权利要求3所述的工业控制装置,其中,能够响应于至少一个预定通信度量来调整所述传输调度表,并且其中,还能够执行所述指令以将调整后的传输调度表传送至所述开关电路。
5.根据权利要求4所述的工业控制装置,其中,能够在所述处理器上执行所述指令以响应于至少一个预定通信度量而将队列重新分配给优先窗口。
6.根据权利要求2所述的工业控制装置,其中,所述传输调度表是与所述工业网络连接的每个装置所使用的通用调度表。
7.一种用于在工业网络上的多个控制装置之间传输数据的方法,包括以下步骤 定义多个优先窗口,每个优先窗口具有起始时间和结束时间;定义多个队列,每个队列均被分配给一个或多个优先窗口 ; 将数据包分配给所述队列中的一个队列;在每个优先窗口内,监控分配给所述优先窗口的每个所述队列的数据包;以及在每个优先窗口内,如果将至少一个队列分配给所述优先窗口,则在不存在来自分配给所述优先窗口的更高队列的数据包的情况下,传输分配给所述优先窗口的每个队列的数据包,而如果未将队列分配给所述优先窗口,则不传输任何附加数据包。
8.根据权利要求7所述的方法,还包括使每个所述控制装置上的实时时钟与主时钟同步的初始步骤,其中,每个优先窗口的起始时间和结束时间对应于由所述实时时钟生成的时间信号。
9.根据权利要求7所述的方法,还包括从预定义的传输调度表读取所述起始时间和所述结束时间中的每一个的初始值的初始步骤。
10.根据权利要求9所述的方法,还包括以下步骤 监控来自每个队列的数据包的传输;以及响应于数据包的传输,对以下中的至少一个进行重新定义所述优先窗口中的一个优先窗口的起始时间、所述优先窗口中的一个优先窗口的结束时间或分配给每个优先窗口的队列。
全文摘要
本文中所公开的主题描述了一种用以在工业控制网络上分配并优先化数据通信的方法和设备。建立包括多个优先窗口和多个队列(Q)的传输调度表(28)。将每个队列(Q)分配给至少一个优先窗口,并且每个优先窗口可具有向其分配的多个队列(Q)。在控制网络(12)上进行通信的控制装置(10)根据传输调度表(28)传输数据包。在每个优先窗口内,可传输与分配给该优先窗口的一个队列(Q)对应的数据包。数据包可在优先窗口期间的任何点处传输,但将仅在没有来自更高队列(Q)的数据包等待传输的情况下进行传输。
文档编号H04L12/56GK102571556SQ20111037022
公开日2012年7月11日 申请日期2011年11月15日 优先权日2010年11月15日
发明者大卫·A·维斯科, 安东尼·G·吉巴尔蒂, 肯伍德·H·霍尔, 西瓦拉姆·巴拉苏布拉马尼安, 阿纳托里·莫多瓦斯基 申请人:洛克威尔自动控制技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1