CN114788248A - 数据传输通道上通信参与方之间循环传输数据的方法及数据传输*** - Google Patents
数据传输通道上通信参与方之间循环传输数据的方法及数据传输*** Download PDFInfo
- Publication number
- CN114788248A CN114788248A CN202080085583.6A CN202080085583A CN114788248A CN 114788248 A CN114788248 A CN 114788248A CN 202080085583 A CN202080085583 A CN 202080085583A CN 114788248 A CN114788248 A CN 114788248A
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- generator
- processor
- cycle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 441
- 238000004891 communication Methods 0.000 title claims description 73
- 238000000034 method Methods 0.000 title claims description 55
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000001934 delay Effects 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 description 32
- 238000012546 transfer Methods 0.000 description 14
- 230000003111 delayed effect Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004801 process automation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 108091081062 Repeated sequence (DNA) Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0023—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
- H04L1/0026—Transmission of channel quality indication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0023—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
- H04L1/0027—Scheduling of signalling, e.g. occurrence thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
在数据传输***中,可在每个传输周期中传输第一数据量。数据生成器(3)为每个传输周期提供第二数据量。第一数据量按百分比超过第二数据量。数据生成器(3)将数据生成器(3)所提供的数据以数据传输通道(1)的数据传输率传输到数据处理器(2)。数据处理器(2)按数据生成器(3)响应于来自数据处理器(2)的命令所需的传输周期数目来延迟处理在数据传输通道(1)上接收来自数据生成器(3)的数据。如果传输周期中的数据传输发生错误,则数据处理器(2)利用重复命令向数据生成器(3)指示传输周期为错误,其中数据生成器(3)接收到重复命令时重复数据处理器(2)指示为错误的传输周期中数据的数据传输。
Description
技术领域
在生产与工艺自动化中,分散布置的机器***设备(诸如I/O模块、测量变换器、驱动器、阀和操作者终端)通过高性能实时通信网络与控制装置进行通信。所有设备(下文又称通信参与方)通过数据传输通道(优选地现场总线)相互连接,其中通常基于主从原理进行数据交换。
本专利申请主张德国专利申请102019133894.8的优先权,其公开内容通过回溯引用归并本文。
背景技术
现场总线上的主动通信参与方为控制装置。它们拥有总线访问权限并确定数据传输。主动通信参与方又称主参与方。被动通信参与方一般为机器***设备。它们没有总线访问权限,只能确认接收到的数据或应主参与方的请求向其传送数据。被动通信参与方又称从参与方。
生产与工艺自动化中的控制过程一般由循环执行的任务组成。这些任务的执行方式是形成机器***设备的从参与方将输入过程数据经由现场总线提供给执行过程控制的主参与方。然后根据待执行的任务在主参与方中生成输出过程数据并经由现场总线传输回从参与方。
数据通常以离散数据包(下文又称电报)的形式在通信参与方之间交换。电报结构一般是基于以太网标准。
实践中经常出现电报未正确地从某一个通信参与方传送到另一个通信参与方的问题。可能的原因是发送通信参与方中的干扰、数据传输通道的短暂中断以及接收通信参与方中的干扰。数据丢失却会导致控制任务执行中的错误。
为了消除数据传输的干扰,现场总线***可以重复错误传输的电报。这一点的实现方式可以是主参与方向从参与方发送电报,然后等待应答电报。如果从参与方即时处理电报,则从参与方可以用单独的电报或相同的电报应答。如果主参与方在指定时间内未收到应答,则主参与方再次发送原本发送的电报。这种方法例如参阅专利文献DE102016121019A1,其中如果从参与方未确认接收到首次发送的电报,则主参与方第二次发送已经发送过的电报。
另一种实现可能性在于,主参与方发送电报序列而非单个电报,该电报序列包括多个内容基本相同的电报。为了成功传送,从参与方从电报重复序列中接收至少一个电报便足矣。这种方法例如参阅专利文献DE102015117937A1。
如果通信参与方必须触发特定动作以响应成功接收电报,则执行动作的时刻取决于在错误情况下重复电报时接收到重复电报的时间或通信参与方对电报序列中的哪个电报做出响应。多个通信参与方要在现场总线***中同步运行时,这可能尤其成问题。
专利文献US7,373,578B2描述了一种利用电报重复进行无损数据传输的方法,其中当通信故障时,将电报重复推迟到下一个通信周期,从而使通信周期的带宽保持恒定。利用此过程,却无法保证接收方在每个通信周期中均会接收到当前数据。
发明内容
本发明的目的是实现通信参与方之间在数据传输通道上无损地循环传输数据。
本发明用以达成上述目的的解决方案为根据权利要求1所述的方法以及根据权利要求9所述的数据传输***。有利改进方案参阅从属权利要求。
在数据传输***中,通信参与方之间循环地在数据传输通道上传输数据,该数据传输通道以在每个传输周期中可传输第一数据量的数据传输率运行。在此情形下,一个通信参与方充当数据处理器,另一个通信参与方充当数据生成器。数据生成器为每个传输周期提供第二数据量。第一数据量按百分比超过第二数据量。数据生成器将数据生成器所提供的数据以数据传输通道的数据传输率传输到数据处理器。数据处理器按数据生成器响应于来自数据处理器的命令所需的传输周期数目来延迟处理在数据传输通道上接收自数据生成器的数据。如果传输周期中的数据传输发生错误,则数据处理器利用重复命令向数据生成器指示传输周期为错误,其中数据生成器接收到重复命令时重复数据处理器指示为错误的传输周期的数据的数据传输。
第一数据量表示每传输周期可以传输多少数据。每传输周期由数据生成器生成第二数据量。然后,所生成的第二数据量利用可具有第一数据量大小(即大于第二数据量)的数据包来传输,从而可以在传输周期内用所传输的数据包传输多于第二数据量的数据。这样就在每个通信周期中均提供了冗余的传输周期,可以用来重复错误的数据传输。
利用此过程,数据传输不会丢失。此外,即使重复传输周期的数据传输,每个通信周期所需的带宽也能保持恒定。另外,确保数据处理器会在每个通信周期中接收新的数据。数据处理器延迟开始处理在数据传输通道上接收来自数据生成器的数据的死区时间可以保持尽量最短,可以与数据生成器响应于来自数据处理器的命令所需的传输周期数目精确协调。
第一数据量超过第二数据量的百分比乘以n倍可以等于第二数据量,其中n为大于1的整数。如果数据生成器在传输周期中传输的数据少于第一数据量,则数据处理器丢弃在该传输周期中接收来自数据生成器的数据。利用此过程,可以简单地确保数据处理器在每个通信周期中接收新的数据,同时针对可能重复错误的数据传输提供冗余传输周期。
数据处理器可以设计为在每个传输周期中均发送处理器数据单元,数据生成器在相应的传输周期中用生成器数据单元应答处理器数据单元,其中处理器数据单元包含用来传输重复命令的数据元素。如果数据传输***中采用的协议能够在即时进行数据处理,则在传输周期中可以用单个电报既传输处理器数据单元又传输生成器数据单元。EtherCAT现场总线协议能够即时进行此类数据处理。替代地,也可以借助单独的电报在传输周期中既发送处理器数据单元也发送生成器数据单元。这样,在传输周期中用处理器数据单元和生成器数据单元进行数据传输在数据传输***的设计中提供了最大的灵活性。
在初始化序列的范围内可以确定死区时间,其对应于数据生成器响应于来自数据处理器的命令所需的传输周期数。传输周期则设计为在初始化序列的连续处理器数据单元中提供数据值序列,其中初始化序列的每个传输周期与单独的数据值相关联,其中数据生成器记录之后将数据值输入到下一个发送至数据处理器的生成器数据单元中。利用此过程,能够简单可靠地确定死区时间,这确定了在数据处理器中设置的处理来自数据生成器的用户数据时的延迟。
数据处理器可以设计为向处理器数据单元中输入用来传输运行状态命令的数据元素,该运行状态命令指示传输周期为初始化序列的一部分或数据传输序列的一部分。数据处理器还可以设计为向处理器数据单元中输入用来传输数据命令的数据元素,利用该数据命令可更改数据生成器在传输周期中生成的第二数据量。数据生成器可以设计为向生成器数据单元中输入用来传输传输状态命令的数据元素,该传输状态命令指示生成器数据单元中为用户数据设置的数据元素是否完全被用户数据占用。替代地,数据生成器可以设计为向生成器数据单元中输入用来传输传输状态命令的数据元素,该传输状态命令指示生成器数据单元中被用户数据占用的数据元素的数目。
利用这样的处理器数据单元或生成器数据单元的设计,在其他传输周期之一中有错误数据传输时,在每个通信周期内可以简单地在冗余传输周期中进行重复。
在数据传输***中,数据生成器可以具有用于接收所生成的第二数据量的环形缓冲区形式的缓存。在环形缓冲区的情况下,可以先后存储相继传输周期中的第二数据量,并可以简单地进行寻址。关于环形缓冲区的通信周期时间和存储器大小,需要注意的是,环形缓冲区中尚未从数据生成器传输到数据处理器的数据不会被覆盖。
附图说明
下面结合优选实施方式对本发明予以详述。
图1示出用于在数据传输通道上两个通信参与方之间循环传输数据的数据传输***的最一般结构形式,其中一个通信参与方充当数据处理器,而另一个通信参与方充当数据生成器。
图2示出用于图1所示的数据传输***中的数据生成器的环形缓冲区形式的缓存的实施方案。
图3示出用于在图1所示的数据传输***中的数据处理器与数据生成器之间循环传输用户数据的第一序列。
图4示出用于在图1所示的数据传输***中的数据处理器与数据生成器之间循环传输用户数据的第二序列。
图5示出用于在图1所示的数据传输***中的数据处理器与数据生成器之间循环传输用户数据的第三序列。
具体实施方式
用于在数据传输通道上通信参与方之间循环传输数据的数据传输***是针对自动化技术领域的应用,即,借助软件对技术过程进行控制和监视,但不限于这样的应用。
在生产与过程自动化中,控制装置与分布式传感器/执行器层面经由本地通信网络进行通信。所采用的通信网络是现场总线***,可以采取不同的拓扑结构,例如环形、星形、线形或树形拓扑结构。
在现场总线***中,一般会区分主动和被动通信参与方。现场总线***的主动通信参与方为控制装置,它作为主参与方确定数据业务。主参与方拥有对数据传输通道的访问权限,进而可以独立地将数据输出到数据传输通道。现场总线***中的被动通信参与方为传感器和执行器,它们作为从参与方接收数据或允许应主参与方的请求将数据传送给主参与方。
控制、监视和调节技术过程的程序一般有多个控制任务,这些控制任务均有输入和输出过程映像。过程数据关联到传感器和执行器,即形成过程接口的从参与方。输入过程数据是由控制装置(即现场总线上的主参与方)通过数据传输通道从传感器请求,控制装置接收后根据控制任务进行处理,然后作为输出过程数据通过数据传输通道传输到执行器。
数据传输通道上的过程数据交换一般以通常循环传输的离散数据包(下文又称电报)的形式进行。电报结构通常基于以太网标准,其中现场总线上使用的传输协议优选地保证实时传输和低抖动。
为了在不丢失数据的情况下传输数据,即使重复传输周期的数据传输也能保持每个通信周期所需的带宽恒定,应执行以下操作:
在数据传输***中,在数据传输通道上循环传输数据,该数据传输通道以在每个传输周期中可传输第一数据量的数据传输率运行。数据生成器还为每个传输周期提供第二数据量,第一数据量按百分比超过第二数据量。
数据生成器将数据生成器所提供的数据以数据传输通道的数据传输率传输到数据处理器。数据处理器按数据生成器响应于来自数据处理器的命令所需的传输周期数目来延迟处理在数据传输通道上接收来自数据生成器的数据。
如果在传输周期的数据传输过程中发生错误,则数据处理器使用重复命令向数据生成器指示传输周期为错误,其中数据生成器在接收到重复命令时重复数据处理器指示为错误的传输周期中数据的数据传输。
第一数据量超过第二数据量的百分比乘以n倍可以等于第二数据量,其中n为大于1的整数。如果数据生成器在传输周期中传输的数据少于第一数据量,则数据处理器丢弃在该传输周期中接收来自数据生成器的数据。利用此过程,可以简单地确保数据处理器在每个通信周期中接收新的数据,同时针对可能重复错误的数据传输提供冗余传输周期。
但原则上,第一数据量超过第二数据量的百分比乘以n倍不必完全等于第二数据量。数据处理器则可设计为当多次接收数据时却仅处理该数据一次。这可以通过数据处理器检查传输周期中接收来自数据生成器的数据是否已经从先前的传输周期已知并对于数据处理器可用的方式来完成。然后,数据处理器要么丢弃已经存在的数据,要么丢弃再次接收的数据。
图1示出用于根据上述过程在数据传输通道1上两个通信参与方之间循环传输数据的数据传输***的最一般结构形式。一个通信参与方为数据处理器2,另一个通信参与方为数据生成器3。数据传输通道1上的传输周期以在数据处理器2与数据生成器3之间双向交换数据的方式来实施。
基于自动化***作为数据传输***,数据传输通道1为现场总线,其中数据处理器2代表控制装置,其作为主参与方确定现场总线上的数据业务。另一方面,数据生成器3为现场总线上的从参与方,即应主参与方的请求向其传输数据的机器***设备。一般而言,大量的数据生成器3(即从参与方)连接到现场总线(即数据传输通道1),由数据处理器2(即主参与方)并行寻址。
如果数据传输***中采用的协议允许即时处理数据,则在传输周期中利用单个电报既可从数据处理器2向数据生成器3传输数据,又可从数据生成器3向数据处理器2传输数据。EtherCAT现场总线协议能够即时进行此类数据处理。替代地,也有可能每个通信参与方(即数据处理器2和数据生成器3)在传输周期中借助单独的电报发送数据。
如果期望在数据处理器2中进行同步数据处理,其中数据处理器2在每个通信周期中处理新的数据,这尤其是在控制任务环境下处理过程数据时的目标,则必须考虑到在数据交换时数据生成器3需要多少个传输周期,以便在接收到来自数据处理器2的电报后响应于接收到的电报中的命令。
数据处理器2则设置为按数据生成器3响应于来自数据处理器2的命令所需的传输周期数目来延迟处理数据传输通道1上接收到的数据。这样能够保证,如果数据处理器2使用重复命令向数据生成器3指示传输周期中的数据传输为错误,则数据处理器2还会接收数据生成器3在接收到重复命令后重传的数据,之后数据处理器2对该数据进行处理。
一般希望至少对于数据处理器2必须设置的死区时间能够保持尽量最短。如果每个通信参与方(即数据处理器2和数据生成器3)均借助自己的电报在传输周期中发送数据,则可以在同一个传输周期中通过数据生成器3响应于数据处理器2的重复命令而执行重发数据,因为这两个通信参与方的电报可以在时间上相互偏移地执行。于是,在数据生成器3在传输周期中发送其电报之前,数据生成器3具有充足的时间来评估来自数据处理器2的电报,以便使用该电报响应于来自数据处理器2的重复命令而进行电报重复。在此情况下,数据处理器2处理数据的最小死区时间为一个传输周期。然而,如果在数据生成器3中进行了相应的设置,数据生成器3的响应也可能仅发生在下一个传输周期或甚至更晚的传输周期中。
如果在传输周期中利用单个电报既从数据处理器2向数据生成器3传输数据也从数据生成器3向数据处理器2传输数据,则需要由数据处理器2应在仅一个传输周期内实现处理数据的最小死区时间,电报通过数据生成器3的通路应设计为使得数据生成器3具有充足的时间来评估数据处理器2利用电报转发的命令。这可以通过这样一种电报结构来实现,即将数据处理器2的命令布置于电报的前段,而数据生成器3仅将其数据输入到电报的后段。于是,在数据生成器3将其数据输入电报之前,数据生成器3可以解译利用电报转发的来自数据处理器2的命令。数据生成器3即可利用数据生成器3转发的重复命令的电报重新发送来自错误传输周期的数据。
如果在电报流通期间数据生成器3中不会进行这样的命令解译,则数据生成器3响应于重复命令,即重发错误传输周期的数据,只能利用下一个传输周期中流通的电报或更晚传输周期中流通的电报进行。
数据生成器3一般在每个传输周期中生成相同的数据量。数据处理器2则还设置为使得数据处理器2在每个传输周期中至少处理由数据生成器3提供的数据量。替代地,数据生成器3却也可以为不同的传输周期生成不同的数据量。数据处理器2的处理能力则与数据生成器3在传输周期中提供的数据量相匹配。
由数据生成器3生成的数据本地存储在缓存中,以便再应数据处理器2的请求在传输周期过程中发送。数据生成器3中的缓存可以构造为环形缓冲区。在环形缓冲区中先后存储数据。当达到环形缓冲区的末尾时,又会从头开始。
关于环形缓冲区的通信周期时间和存储器大小,需要注意的是,环形缓冲区中尚未从数据生成器3传输到数据处理器2的数据不会被覆盖。因此,必须确保数据生成器3平均(即通过多个通信周期观察)不会生成比这几个通信周期范围内可从数据生成器3传输到数据处理器2更多的新数据。
下面举例解释在数据传输通道1上数据生成器3与数据处理器2之间无丢失地循环传输数据的过程,其中即使重复数据传输也能保证通信周期的带宽恒定。本文不再赘述数据传输技术的具体设计。特别是可以使用IEC 61158标准下定义的工业应用的现场总线中描述的过程。标准IEC 61784-1和IEC 61784-2中组合了现场总线的可能协议。
就本例而言,假设数据生成器3在每个传输周期中提供具有四个数据字段的数据包,其中每个数据字段包含固定数目的数据元素,例如以字节为单位。四个数据字段的数据元素均为用户数据,例如过程数据,其针对数据处理器2的处理在控制任务中被确定。
图2示出数据生成器3的环形缓冲区形式的缓存的实施方案,用于接受由数据生成器3生成的数据。环形缓冲区设计成可以接受由数据生成器3提供的20个传输周期的数据。在图2的环形缓冲区中,各个数据包标为数据周期1-20(Data Cycle 01-20)。在图2中,还在附加段中,环形缓冲区中的任意数据包(标有编号n的数据周期)细分为四个数据字段。每个数据字段由字母D、数据包的数据周期编号n和从1到4的序列号表示。
进一步假设数据传输通道1以每个传输周期中可从数据生成器3向数据处理器2传输五个数据字段的数据量的数据传输率运行。这样,在传输周期中可传输的数据量比数据生成器3在一个传输周期中生成的数据量超出四分之一,按百分比表示为25%。数据生成器3为5个传输周期生成的数据量可以用4个传输周期来传输。数据传输***中通信周期的带宽为五个传输周期,其中五个传输周期之一相对于数据生成器3为五个传输周期提供数据量的传输为冗余,并可以用于重复传输来自识别为错误的传输周期的数据。
在本例中,在一个传输周期中可从数据生成器3传输到数据处理器2的第一数据量按百分比超过数据生成器3为一个传输周期生成的第二数据量,该百分比乘以n倍等于第二数据量,其中n为大于1的整数。在本例中,该百分比为25%,n=4。但原则上,第一数据量超过第二数据量的百分比乘以n倍不必完全等于第二数据量。
图2所示的环形缓冲区分配有16个内存地址A1-A16(如图2中的括号所示),用于传输数据生成器3的来自20个传输周期存储在环形缓冲区中的数据。每个内存地址A1-A16表征由五个数据字段组成的数据区,其数据可以在数据传输通道1上按传输周期从数据生成器3传输到数据处理器2。
进一步假设数据处理器2在每个传输周期将两个数据字段中的每一个处理器数据单元发送到数据生成器3。在相应的传输周期中,数据生成器3以由七个数据字段组成的生成器数据单元应答数据处理器2的处理器数据单元。如上述替代方案,具有两个数据字段的处理器数据单元和具有七个数据字段的生成器数据单元可以包含在单个电报中或者也可以作为单独的电报传输。
由数据处理器2在传输周期中发送的处理器数据单元中的两个数据字段被保留用于各自解译为命令数据的数据元素。
如下结合图3显示和阐述,处理器数据单元中的第一数据字段包含至少两个数据元素,其中第一命令数据元素为运行状态命令E,第二命令数据元素为重复命令R,它们可以均有值0或值1。运行状态命令E的值0表示传输周期为初始化序列的一部分。传输状态命令E的值1表示传输周期为数据传输序列的一部分。重复命令R的值0表示上一个传输周期执行无误。重复命令R的值1表示上一个传输周期的数据传输发生错误。除了运行状态命令E和重复命令R之外,第一数据字段中可包括其他命令数据元素。
处理器数据单元的第二数据字段中的数据元素根据处理器数据单元的第一数据字段中的命令数据元素的值来进行解译,可以是数据值或地址值ID。地址值ID尤其是涉及图2所示的环形缓冲区的16个内存地址A1-A16。
在生成器数据单元的七个数据字段中,生成器数据单元的前两个数据字段为数据元素保留,这些数据元素均解译为命令数据。生成器数据单元中的其他五个数据字段用于将由数据生成器3提供并缓存在环形缓冲区中的用户数据传输到数据处理器2。生成器数据单元的每个用户数据字段可以接受由数据生成器3提供并缓存在环形缓冲区中的数据字段。
生成器数据单元的第一数据字段包含至少一个传输状态命令F作为命令数据元素,其可以具有值0或值1。传输状态命令F的值0表示生成器数据单元的五个用户数据字段未完全被数据占用,传输状态命令F的值1表示生成器数据单元的五个用户数据字段完全被数据占用。
替代地,代替用值0或值1来区分生成器数据单元的用户数据字段未完全占用和完全占用,传输状态命令F也可以作为值始终指定生成器数据单元被占用的用户数据字段的确切数目。
生成器数据单元的第二数据字段中的数据元素则根据生成器数据单元的第一数据字段中的命令数据元素的值来进行解译,可以是数据值或地址值ID。地址值ID尤其是涉及图2所示的环形缓冲区的16个内存地址A1-A16。
图3示出第一序列前九个传输周期Zyklus 0到Zyklus 8,用于数据传输通道1上数据处理器2与数据生成器3之间循环传输用户数据。在每个传输周期中,如上所述,数据处理器2发送具有两个数据字段的处理器数据单元,数据生成器3发送具有七个数据字段的生成器数据单元。
同样如上所述,数据传输***中数据传输的通信周期由五个相继的传输周期组成。在图3所示的第一传输周期序列中,第一通信周期开始于第五传输周期Zyklus 4,结束于第九传输周期Zyklus 8。
在第一通信周期的数据传输开始之前,利用初始化序列中先前的传输周期,在数据传输***确定死区时间,其对应于数据生成器3响应于来自数据处理器2的命令所需的传输周期数目。然后,数据处理器2设置为使得数据处理器2至少延迟几个传输周期处理在数据传输通道1上接收来自数据生成器3的用户数据,延迟的传输周期数目对应于死区时间。
在上述实施方式中,数据传输***设计为使得数据生成器3需要一个传输周期来解译来自数据处理器2的命令。
在初始化序列开始时,数据处理器2在第一处理器数据单元的第一数据字段中的第一传输周期Zyklus 0中发送运行状态命令E=0,这表示数据传输***处于初始化模式。此外,数据处理器2向第一处理器数据单元的第一数据字段中输入重复命令R=0。在第一处理器数据单元的第二数据字段中传输数据值X。
数据生成器3在第一传输周期Zyklus 0中尚未评估第一处理器数据单元中的命令,因此在第一传输周期Zyklus 0中尚未响应于第一处理器数据单元中的命令,数据生成器3在第一传输周期Zyklus 0中发送第一生成器数据单元,其中仅在第一数据字段中输入传输状态命令F=0。第一生成器数据单元的其余六个数据字段保持空闲。传输状态命令F的值0表示生成器数据单元的五个用户数据字段未完全被数据占用。
在第二传输周期Zyklus 1,数据处理器2在第二处理器数据单元的第一数据字段中又发送运行状态命令E=0和重复命令R=0。数据处理器2向第二处理器数据单元的第二数据字段中输入高于第一处理器数据单元的数据值X的数据值X+1。
数据处理器2进入初始化模式,当在处理器数据单元的第一数据字段中输入运行状态命令E=0,从而随着每个传输周期,处理器数据单元的第二数据字段中的数据值加1。利用此过程,随着初始化序列的相继的处理器数据单元提供数据值序列,其中将初始化序列的每个传输周期与单独的数据值相关联。除了使数据值递增,也可以使数据值递减。然而,也可以在处理器数据单元的第二数据字段中输入以不同方式个性化的数据值序列。
数据生成器3此时已在第二传输周期中评估了来自第一处理器数据单元的运行状态命令E=0,并响应于此向第二生成器数据单元的第二数据字段中镜像地输入来自第一处理器数据单元的第二数据字段的数据值X。第二生成器数据单元的五个用户数据字段仍保持为空,数据生成器3在第二生成器数据单元的第一数据字段中以传输状态命令F=0作出指示。
数据生成器3基本上设置为当数据生成器3在第一数据字段的处理器数据单元中识别出运行状态命令E=0时,命令指示数据传输***处于初始化模式,向发送给数据处理器2的下一个生成器数据单元的第二数据字段中输入对应处理器数据单元的第二数据字段中的数据值。
数据处理器2在评估第二生成器数据单元时,通过数据处理器2在第一传输周期Zyklus 0中已用第一处理器数据单元发送的数据值X的反馈而发现数据生成器3延迟一个传输周期响应于来自数据处理器2的命令。对于数据处理器2,则存在死区时间,使得数据处理器2必须延迟处理接收来自数据生成器的用户数据,以便可能为数据生成器让步两个传输周期来响应于来自数据处理器2的命令。
在确定死区时间之后,在第二传输周期Zyklus 1之后,数据处理器2退出初始化模式并转换到传输模式。
在第三传输周期Zyklus 2,数据处理器2此时向第三处理器数据单元的第一数据字段中输入指示传输模式的运行状态命令E=1。此外,数据处理器2向第三处理器数据单元的第一数据字段中***重复命令R=0。第三处理器数据单元的第二数据字段保持为空。
替代地,数据处理器2也可以将初始化序列扩展更多的传输周期,具体方式是,数据处理器2发送更多的处理器数据单元,第一数据字段中具有运行状态命令E=0,第二数据字段中具有来自数据序列的数据值,由此根据数据生成器在评估运行状态命令E=0之后向生成器数据单元反馈的数据值,可以多次确定死区时间。数据处理器2就可以视需要确定任何死区时间波动,然后在数据处理器中设置的延迟内考虑处理来自数据生成器3的用户数据。
然而,如果数据处理器2获知数据生成器3需要多少个传输周期来响应于来自数据处理器2的命令,则原则上也可以省略实际数据传输之前的初始化序列。然后可以在数据处理器2中直接设置在数据处理器2中处理用户数据必须相对于接收到用户数据的传输周期延迟的传输周期数目。
由于评估延迟了一个传输周期,数据生成器3以响应于第二传输周期Zyklus 1中发送的第二处理器单元的第三生成器数据单元来应答数据处理器2在第三传输周期Zyklus2中发送的第三处理器数据单元,第一数据字段中具有传输状态命令F=0,第二数据字段中具有来自第二处理器数据单元的镜像数据值X+1。五个用户数据字段仍保持为空。
在数据处理器2以第三传输周期Zyklus 2切换到的传输模式下,仅当第一数据字段中传输状态命令F的值1指示生成器数据单元的所有五个用户数据字段都包含数据时,数据处理器2进一步处理生成器数据单元。由数据生成器3在第三传输周期Zyklus 2中发送的第三生成器数据单元在第一数据字段中具有传输状态命令F=0,因此被数据处理器2丢弃。
然后,数据处理器2以第四传输周期Zyklus 3继续传输模式,其中数据处理器2发送与来自第三传输周期Zyklus 2的第三处理器数据单元相同的第四处理器数据单元。该第四处理器数据单元的第一数据字段又包含运行状态命令E=1和重复命令R=0。第四处理器数据单元的第二数据字段保持为空。
数据生成器3同时评估了第三处理器数据单元,该第三处理器数据单元以运行状态命令E=1向数据生成器指示传输模式变更,数据生成器3开始为第四传输周期Zyklus 3提供用户数据。如上所述,数据生成器3设计成为每个传输周期提供具有四个数据字段的数据包Data Cycle,其保存在数据生成器3的环形缓冲区中。由数据生成器3生成并包括四个数据字段D11-D14的第一数据包Data Cycle 01存储在第一内存地址A1下的环形缓冲区中。
在第四传输周期Zyklus 3中,数据生成器3再将第一数据包Data Cycle 01的四个数据字段D11-D14输入到第四生成器数据单元的五个用户数据字段中的前四个。第五用户数据字段还保持为空,因为数据生成器3在环形缓冲区中未提供更多的数据。
在第四生成器数据单元的第一数据字段中,数据生成器3又输入传输状态命令F=0,指示生成器数据单元中的用户数据字段未全部被填满。利用第四生成数据单元的第二数据字段,数据生成器3转发环形缓冲区地址A1作为地址值ID,在该地址下,第四生成数据单元转发的用户数据存储在环形缓冲区中。
由于数据处理器2在传输模式下设置为当数据生成器3转发的传输状态命令为F=0时,数据处理器2则不处理生成器数据单元的用户数据字段中的数据,数据处理器2丢弃第四生成器数据单元的四个用户数据字段中的数据。
数据处理器2以第五处理器数据单元开始第五传输周期Zyklus 4,该第五处理器数据单元对应于来自第四传输周期Zyklus 3的第四处理器数据单元。这意味着在第五处理器数据单元的第一数据字段中将运行状态命令E设置为值1并将重复命令R设置为值0。
在评估第四处理器数据单元之后,数据生成器3同时将具有四个数据字段D21-D24的第二数据包Data Cycle 02保存在环形缓冲区中。数据生成器3的环形缓冲区中的前八个数据字段此时被数据生成器3生成的第一数据包Data Cycle 01和第二数据包Data Cycle02占用。
数据生成器3在传输模式下设置为当在先前传输的生成器数据单元的第一数据字段中关于传输状态命令F显示值0时,数据生成器3则将生成器数据单元的用户数据字段中的数据在下一个生成器数据单元的用户数据字段中重复。
由于第四生成器数据单元中有五个用户数据字段未完全被数据占用,因此传输状态命令F设置为值0,数据生成器3向第五生成器数据单元的五个用户数据字段中输入保存在第一环形缓存区地址A1下的第一数据包Data Cycle 01的四个数据字段D11-D14和第二数据包Data Cycle 02的第一数据字段D21。
第五生成器数据单元的第一数据字段中的传输状态命令F此时获得值1,该值指示第五生成器数据单元的五个用户数据字段完全被数据占用。在第五生成器数据单元的第二数据字段中,又指定环形缓冲区的第一内存地址A1作为地址值ID。
如果如在图3的第一序列中,在生成器数据单元的数据传输中未发生错误,则数据处理器2在进一步的传输周期中发送相同的处理器数据单元,该处理器数据单元的第一数据字段中包含运行状态命令E=1,代表数据传输运行模式,并包含重复命令R=0,重复命令指示上一个传输周期的数据传输无误进行。另一方面,处理器数据单元的第二数据字段保持为空。图3示出关于第六传输周期Zyklus 5至第九传输周期Zyklus 8的对应第六至第九处理器数据单元。
在评估来自上一个传输周期的处理器数据单元之后,数据生成器3为另外的传输周期分别提供另外的数据包Data Cycle。从图3所示的第一序列可以看出,数据生成器3为第六传输周期Zyklus 5生成具有四个数据字段D31-D34的第三数据包Data Cycle 03,为第七传输周期Zyklus 6生成具有四个数据字段D41-D44的第四数据包Data Cycle 04,为第八传输周期Zyklus 7生成具有四个数据字段D51-D54的第五数据包Data Cycle 05,为第九传输周期Zyklus 8生成具有四个数据字段D61-D64的第六数据包Data Cycle 06。
然后,数据生成器3中环形缓冲区的数据字段在第六传输周期Zyklus 5中在第二内存地址A2处、在第七传输周期Zyklus 6中在第三内存地址A3处以及在第八传输周期Zyklus 7中在第四环形缓冲区地址A4处被完全填充。在第六、第七和第八生成器数据单元的第一数据字段中,数据生成器3转发对应于第五生成器数据单元的传输状态命令F=1,其指示对应的生成器数据单元中的五个用户数据字段完全被占用。然后,在第二数据字段中分别指定所传输的环形缓冲区地址ID,对于第六生成器数据单元是第二内存地址A2,对于第七生成器数据单元是第三内存地址A3,对于第八生成器数据单元是第四环形缓冲区地址A4。
然后,数据生成器3将存储在第二数据字段中指定的环形缓冲区地址下的数据输入到第六、第七和第八生成器数据单元的五个另外的用户数据字段中。对于第六生成器数据单元,它们是在第五生成器数据单元之后剩余的第二数据包Data Cycle 02的三个数据字段D22-D24和第三数据包Data Cycle 03的前两个数据字段D31-D32。第七生成器数据单元的五个用户数据字段中包含第四数据包Data Cycle 04的其余两个数据字段D33-D34和第四数据包Data Cycle 04的前三个数据字段D41-D43。第八生成器数据单元的五个用户数据字段中包含第四数据包Data Cycle 04的其余数据字段D44和第五数据包Data Cycle 05的四个数据字段D51-D54。
在第九传输周期Zyklus 8,对于用环形缓冲区中第五环形缓冲区地址A5下的第九生成器数据单元进行用户数据传输,数据生成器3将该第五环形缓冲区地址A5输入到第九生成器数据单元的第二数据字段中,数据生成器3仅可用具有四个数据字段D61-D64的第六数据包Data Cycle 06。第五环形缓存区地址A5的最后一个数据字段未被占用,因此数据生成器3在第九传输周期Zyklus 8(类似于第四传输周期Zyklus 3)传输未完全填满的生成器数据单元。
因此,在第九生成器数据单元的第一数据字段中,数据生成器3输入传输状态命令F=0,以指示五个用户数据字段未完全被数据占用。类似于第四生成器数据单元,数据处理器2则丢弃用第九生成器数据单元传输的数据。然后是图3的第一序列中不再显示的数据传输,类似于第五数据传输周期Zyklus 4,在第十传输周期Zyklus 9中,继续重复传输保存在第五环形缓存区地址A5下的数据,由于数据发生器同时生成第七数据包Data Cycle 07,环形缓存区地址A5下的所有数据字段被四个数据字段D71-D74填充。接着执行四个另外的传输周期,其中传输了由数据生成器用第八至第十数据包Data Cycle 08-10完全填充的第六至第八环形缓存区地址A6-A8的数据字段。
在图3所示的第一传输周期序列中,在数据传输通道1上数据生成器3与数据处理器2之间无误地传输数据单元。数据传输在此设计为在四个传输周期中可以传输由数据生成器3为五个传输周期生成的数据量。因此,在代表一个通信周期的五个传输周期中,始终有一个传输周期冗余。
因此,在无误传输的情况下,数据处理器始终不使用五个传输周期中的一个传输周期来处理传输的用户数据。在这个冗余传输周期中,从数据生成器传输到数据处理器的生成器数据单元中始终存在至少一个空的用户数据字段。数据生成器3用传输状态命令F=0来指示这一点。数据处理器2则设置为丢弃在生成器数据单元中传输的数据并等待下一个完全传输的生成器数据单元。
利用冗余传输周期,如果传输周期中的数据传输期间发生错误,则可以在通信周期内重复传输周期,而无需扩增通信周期的带宽,如图4中的第二传输周期序列所示。
图4示出代表两个通信周期的十个传输周期。在图4所示的第二序列中,并未显示出图3中第一序列的前四个传输周期Zyklus 0-3,如上所述,这前四个传输周期用于确定初始化模式中的死区时间并在传输模式开始时启动第一通信周期来进行用户数据传输。然而,除了第五至第九传输周期Zyklus 4-8之外,图4还示出随后的第十至第十五传输周期Zyklus 9-13。
图4还示出由数据生成器3为第十至第十四传输Zyklus 4-13提供的第八至第十二数据包Data Cycle 08-12。从图4所示的第二序列可以看出,数据生成器3为第十传输周期Zyklus 9生成具有四个数据字段D81-D84的第八数据包Data Cycle 08,为第十一传输周期Zyklus 10生成具有四个数据字段D91-D94的第九数据包Data Cycle 09,为第十二传输周期Zyklus 11生成具有四个数据字段D101-D104的第十数据包Data Cycle 10,为第十三传输周期Zyklus 12生成具有四个数据字段D111-D114的第十一数据包Data Cycle 11,为第十四传输周期Zyklus 13生成具有四个数据字段D121-D124的的第十二数据包Data Cycle12。在图3所示的第二传输周期序列中,则类似于图4所示的第一传输周期序列,在第五传输周期Zyklus 4中无误地进行数据传输。然而,在随后的第六传输周期Zyklus 5,第六生成器数据单元到数据处理器2的传输故障。在图4中用闪电符号图形化表征了在第六传输周期Zyklus 5中错误传输第六生成器数据单元。
数据处理器2在第七传输周期Zyklus 6中对第六传输周期Zyklus 5中的错误数据传输做出响应,具体方式是,与图3所示的第一序列中的第七处理器数据单元相反,数据处理器2在第七处理器数据单元的第一数据字段中将重复命令R设置为值1,指示在上一个第六传输周期Zyklus 5中发生了数据传输错误。附加地,数据处理器2在第七处理器数据单元的第二数据字段中指示第二环形缓冲区地址A2作为地址值,在该地址下存储了错误传输的第六生成器数据单元的用户数据字段。
由于数据生成器3对来自处理器数据单元的命令的响应延迟一个传输周期,因此在第七传输周期Zyklus 6中,响应于来自第六传输周期Zyklus 5的前一个第六处理器数据单元(这是用重复命令R=0指示的无误传输),数据生成器3首先用第七生成器数据单元发送存储在第三环形缓冲区地址A3下的数据字段,然后由数据处理器2无误地接收。
因此,在第八传输周期Zyklus 7,数据处理器2则又在第一数据字段中发送重复命令R=0作为第八处理器数据单元,这确认了第七生成器数据单元的无误数据传输。替代地,也有可能只要在第二环形缓冲区地址A2下存储在环形缓冲区中的数据字段不存在无误传输,数据处理器2就在进一步的处理器数据单元中重复第七传输周期Zyklus 6中传输的第七处理器数据单元,其中用第一数据字段中的重复命令R=1和第二数据字段中的第二环形缓冲区地址A2指示第六生成器数据单元的错误数据传输。
在第八数据传输周期Zyklus 7,数据生成器3响应于第七处理器数据单元中的重复命令R=1并用第八生成器数据单元重复第六生成器数据单元,其中第八生成器数据单元的五个用户数据字段传输存储在第二环形缓冲区地址A2下的数据字段。
在第九传输周期Zyklus 8,则将有规律地继续数据传输,由于第八传输周期Zyklus 7中会重复图4所示的第二序列中的第六传输周期Zyklus 5,因此进行对应于图3所示的第一序列中的第八传输周期Zyklus 7的数据传输,其中用第九生成器数据单元的五个用户数据字段传输存储在第五环形缓冲区地址A5下的数据字段。
这样完成了第一通信周期,与图3中所示的第一序列相反,由于重复了图4所示的第二序列中的第七传输周期Zyklus 6中错误传输,使用冗余的第九传输周期Zyklus 8来进行第一通信周期中的用户数据传输,由数据处理器2对此进行处理。
在图4所示的第二序列中,然后第十传输周期Zyklus 9类似于图3所示的第一序列再次无误地完成。然而,在图4所示的第二序列中,在第十一生成器数据单元的传输中,第十一传输周期Zyklus 10中再次发生错误,由另外一个闪电符号指示这一点。
数据处理器2在第十二传输周期Zyklus 11中用第十二处理器数据单元响应于这个另外的传输错误,第十二处理器数据单元在第一数据字段中包含重复命令R=1并在第二数据字段中包含环形缓冲区地址A6,指示先前错误传输的第十一生成器数据单元。
数据生成单元3重复来自第十一传输周期Zyklus 10的第十一生成数据单元作为第十三传输周期Zyklus 12中的第十三生成数据单元。然后,第十四传输周期Zyklus 13完成了第二通信周期,其中推迟传输存储在第八环形缓存区地址A8下的数据字段。
如图4中的第二序列所示,在具有冗余传输周期的每个通信周期中,如果在其他传输周期之一中发生错误数据传输,则可以执行传输重复。
在图3和图4所示的示例中,一个传输周期内可传输的第一数据量比一个传输周期内数据生成器3生成的第二数据量超出四分之一,按百分比表示为25%。原则上,第一数据量与第二数据量可以相互匹配,使得第一数据量超过第二数据量的百分比乘以n倍等于第二数据量,其中n为大于1的整数。数据传输***中通信周期的带宽为n+1个传输周期,其中n+1个传输周期之一相对于数据生成器3为n+1个传输周期提供数据量的传输为冗余,并可以用于重复传输来自识别为错误的传输周期的数据。
然而,第一数据量超过第二数据量的百分比乘以n倍不必完全等于第二数据量。数据传输***中通信周期的带宽则是使用第一数据量除了每个传输周期中传输的第二数据量之外还要传输额外的第二数据量所需的传输周期数目,并辅以另外一个传输周期。在每个通信周期中,始终有一个传输周期冗余,这允许重新传输来自识别为错误的传输周期的数据。
在图3和图4所示的示例中,如果数据生成器3在传输周期中传输的数据少于第一数据量,则数据处理器2丢弃在该传输周期中接收来自数据生成器3的数据。该过程防止了数据处理器2在无误传输的情况下因冗余传输周期而双倍处理在通信周期中已经传输了两次的数据。
数据处理器2的行为借助传输状态命令F来控制,其值0指示生成器数据单元的用户数据字段未完全被数据占用,而其值1指示生成器数据单元的用户数据字段完全被数据占用。替代地,传输状态命令F始终可以将生成器数据单元中被占用的用户数据字段的确切数目指定为数值,然后数据处理器2评估该数值。
原则上,必须保证数据处理器2在通信周期内多次接收到数据时仅对该数据处理一次。数据处理器2必须确定在一个传输周期中接收自数据生成器3的数据是否从先前的传输周期已知并对于数据处理器2可用。然后,数据处理器2要么丢弃已经存在的数据,要么丢弃再次接收的数据。
除了可能由数据处理器2控制的由数据生成器3在处理器数据单元中用重复命令R=0重复错误传输的生成器数据单元,数据处理器2还可以用处理器数据单元传输另外的命令,这些命令更改数据生成器在传输周期中生成的数据量,即更改数据生成器提供的数据包Data Cycle中的数据字段数目。
图5中示出第三传输周期序列,它与图4所示的第二序列一致。图5中再又示出代表两个通信周期的十个传输周期。在图5所示的第三序列中,也缺少图3所示的第一序列的前四个传输周期Zyklus 0-3。如同图4,图5仅示出第五到第十四传输周期Zyklus 4-13。此外,图5还示出由数据生成器3提供的第一至第十二数据包Data Cycle 01-12。
与第二序列相比,在第三序列中,类似于第一序列假设所有数据传输都无误进行。因此,图5所示的第三序列中的所有处理器数据单元都在第一数据字段中包含重复命令R=0,但在图5中为了清楚期间,该重复命令未记入处理器数据单元的第一数据字段中。
附加地,处理器数据单元的第一数据字段包含数据命令D,可以用来更改数据生成器3要在数据包Data Cycle中生成的数据字段的数目。数据指令D的值0指示不应更改数据生成器3要在数据包Data Cycle中生成的数据字段的数目。另一方面,数据生成器3将数据命令D的非零整数解译为应在数据包Data Cycle中提供对应于该值的数据字段数目。
如图3和图4所示的第一序列和第二序列,在图5所示的第三序列中也预设数据生成器3,使得数据生成器3为每个传输周期提供具有四个数据字段的数据包Data Cycle。
在图5所示的第三序列中,第一通信周期类似于图4所示的第二序列以第五传输周期Zyklus 4开始,其中在第五处理器数据单元的第一数据字段中用数据命令D的值0指示不应更改每个传输周期由数据生成器3在数据包Data Cycle中提供的数据字段的数目。
在第六传输周期Zyklus 5,数据处理器2在第六处理器数据单元的第一数据字段中用数据命令D的值8指示数据生成器在每个传输周期应提供的数据字段的数目,应从四个数据字段增加到八个数据字段。然后,数据处理器2在第六处理器数据单元的第二数据字段中进一步指定应从哪个数据包编号CY(在当前情况下从编号5的数据包Data Cycle)开始增加数据字段数。
由于延迟一个传输周期评估第八传输周期Zyklus 7的第六处理器数据单元的数据命令D=8,数据生成器3则提供第五数据包Data Cycle 05而非先前的四个数据字段,于是具有八个数据字段D51-D58。
在第七传输周期Zyklus 6,数据处理器2再在第七处理器数据单元的第一数据字段中用数据命令D的值0指示不应进一步更改每个传输周期中数据生成器3已在数据包DataCycle中提供的数据字段的数目。因此,关于第九传输周期Zyklus 8,数据生成器3又为第六数据包Data Cycle 05提供八个数据字段D61-D68。
从图5所示的第三序列可以看出,在第八传输周期Zyklus 7中,数据处理器2再将每个传输周期由数据发生器3生成的数据字段的数目减少到四个数据字段,其中将值4作为数据命令D的值输入到第八处理器数据单元的第一数据字段中。在第八处理器数据单元的第二数据字段中,数据处理器2再用数据包编号CY=7指定数据生成器3应当提供第七数据包Data Cycle 07,只有四个数据字段而非八个数据字段。
由于延迟一个传输周期评估第九传输周期Zyklus 9的第八处理器数据单元的数据命令D=8,数据生成器3则提供第七数据包Data Cycle 07,又只有四个数据字段而非八个数据字段。
于是,在图5所示的第三序列中,数据处理器2将保持设置为四个数据字段的数据字段生成率,其中数据处理器2在另外的处理器数据单元中用数据命令D的值0指示数据字段生成率保持不变。
在图2所示的数据生成器3的环形缓冲区中,与图4所示的第二序列相比,在图5所示的第三序列中根据数据生成器3提高的数据字段生成率额外存储八个另外的数据字段,为第七传输周期Zyklus 6扩增第五数据包Data Cycle 05,为第八传输周期Zyklus 7扩增第六数据包Data Cycle 06。这八个另外的数据字段D55-D58、D65-D68通过第一通信周期和第二通信周期的两个附加冗余传输周期从数据生成器3传输到数据处理器2。
利用此过程,可以灵活地控制数据生成。这里需要的是,数据生成器3的环形缓冲区具有充足的存储容量来接纳尚未传输的数据字段。这个过程特别有利于数据处理器2以较长的死区时间处理来自数据生成器3的用户数据。
Claims (17)
1.一种用于在数据传输通道(1)上通信参与方之间循环传输数据的方法,
其中,所述数据传输通道(1)以在每个传输周期中能传输第一数据量的数据传输率运行,
其中,一个通信参与方充当数据处理器(2),另一个通信参与方充当数据生成器(3),
其中,所述数据生成器(3)为每个传输周期提供第二数据量,
其中,所述第一数据量按百分比超过所述第二数据量,
其中,所述数据生成器(3)将所述数据生成器(3)所提供的数据以所述数据传输通道(1)的数据传输率传输到所述数据处理器(2),
其中,所述数据处理器(2)按所述数据生成器(3)响应于来自所述数据处理器(2)的命令所需的传输周期数目来延迟处理在所述数据传输通道(1)上接收来自所述数据生成器(3)的数据,
其中,如果所述传输周期中的数据传输发生错误,则所述数据处理器(2)利用重复命令向所述数据生成器(3)指示传输周期为错误,
其中,所述数据生成器(3)接收到所述重复命令时重复所述数据处理器(2)指示为错误的传输周期中数据的数据传输。
2.根据权利要求1所述的方法,其中,所述第一数据量超过所述第二数据量的百分比乘以n倍等于第二数据量,其中,n为大于1的整数,且
其中,如果所述数据生成器(3)在一个传输周期中传输的数据少于所述第一数据量,则所述数据处理器(2)丢弃在传输周期中接收来自所述数据生成器(3)的数据。
3.根据权利要求1或2所述的方法,其中,在每个传输周期中,所述数据处理器(2)均发送处理器数据单元,所述数据生成器(3)在相应的传输周期中用生成器数据单元应答所述处理器数据单元,其中,所述处理器数据单元包含用来传输所述重复命令的数据元素。
4.根据权利要求3所述的方法,其中,在初始化序列的范围内确定死区时间,其对应于所述数据生成器(3)响应于来自所述数据处理器(2)的命令所需的传输周期数目,其中,所述数据处理器(2)在所述初始化序列的相继处理器数据单元中提供数据值序列,其中将所述初始化序列的每个传输周期与单独的数据值相关联,其中,所述数据生成器(3)在记录数据值之后将其输入到下一个发送至所述数据处理器(2)的生成器数据单元。
5.根据权利要求4所述的方法,其中,所述处理器数据单元包含用来传输运行状态命令的数据元素,该运行状态命令指示所述传输周期为所述初始化序列的一部分或数据传输序列的一部分。
6.根据权利要求3至5中任一项所述的方法,其中,所述处理器数据单元包含用来传输数据命令的数据元素,利用该数据命令能更改所述数据生成器(3)在一个传输周期中生成的第二数据量。
7.根据权利要求3至6中任一项所述的方法,其中,所述生成器数据单元包含用来传输传输状态命令的数据元素,该传输状态命令指示所述生成器数据单元中为用户数据提供的数据元素是否完全被用户数据占用。
8.根据权利要求3至6中任一项所述的方法,其中,所述生成器数据单元包含用来传输传输状态命令的数据元素,该传输状态命令指示所述生成器数据单元中被用户数据占用的数据元素的数目。
9.一种用于在数据传输通道(1)上通信参与方之间循环传输数据的数据传输***,
其中,所述数据传输通道(1)配置为以在每个传输周期中能传输第一数据量的数据传输率运行,其中,一个通信参与方充当数据处理器(2),另一个通信参与方充当数据生成器(3),
其中,所述数据生成器(3)设计成为每个传输周期提供第二数据量,
其中,所述第一数据量按百分比超过所述第二数据量,
其中,所述数据生成器(3)设计为将所述数据生成器(3)所提供的数据以所述数据传输通道(1)的数据传输率传输到所述数据处理器(2),
其中,所述数据处理器(2)设计为按所述数据生成器(3)响应于来自所述数据处理器(2)的命令所需的传输周期数目来延迟处理在所述数据传输通道(1)上接收来自所述数据生成器(3)的数据,
其中,如果所述传输周期中的数据传输发生错误,则所述数据处理器(2)设计为利用重复命令向所述数据生成器(3)指示传输周期为错误,
其中,所述数据生成器(3)设计为在接收到所述重复命令时重复所述数据处理器(2)指示为错误的传输周期中数据的数据传输。
10.根据权利要求9所述的数据传输***,其中,所述第一数据量超过所述第二数据量的百分比乘以n倍等于第二数据量,其中,n为大于1的整数,且
其中,如果所述数据生成器(3)在一个传输周期中传输的数据量少于所述第一数据量,则所述数据处理器(2)设计为丢弃在传输周期中接收自所述数据生成器(3)的数据。
11.根据权利要求9或10所述的数据传输***,其中,所述数据处理器(2)设计为在每个传输周期中均发送处理器数据单元,所述数据生成器(3)在相应的传输周期中用生成器数据单元应答所述处理器数据单元,其中,所述处理器数据单元包含用来传输所述重复命令的数据元素。
12.根据权利要求11所述的数据传输***,其中,在初始化序列的范围内确定死区时间,其对应于所述数据生成器(3)响应于来自所述数据处理器(2)的命令所需的传输周期数目,其中,所述数据处理器(2)设计为在所述初始化序列的相继处理器数据单元中提供数据值序列,其中将所述初始化序列的每个传输周期与单独的数据值相关联,其中,所述数据生成器(3)在记录数据值之后将其输入到下一个发送至所述数据处理器(2)的生成器数据单元。
13.根据权利要求12所述的数据传输***,其中,所述数据处理器(2)设计为向所述处理器数据单元中输入用来传输运行状态命令的数据元素,该运行状态命令指示所述传输周期为所述初始化序列的一部分或数据传输序列的一部分。
14.根据权利要求11至13中任一项所述的数据传输***,其中,所述数据处理器(2)设计为向所述处理器数据单元中输入用来传输数据命令的数据元素,利用该数据命令能更改所述数据生成器(3)在一个传输周期中生成的第二数据量。
15.根据权利要求11至14中任一项所述的数据传输***,其中,所述数据生成器(3)设计为向所述生成器数据单元中输入用来传输传输状态命令的数据元素,该传输状态命令指示所述生成器数据单元中为用户数据提供的数据元素是否完全被用户数据占用。
16.根据权利要求11至14中任一项所述的数据传输***,其中,所述数据生成器(3)设计为向所述生成器数据单元中输入用来传输传输状态命令的数据元素,该传输状态命令指示所述生成器数据单元中被用户数据占用的数据元素的数目。
17.根据权利要求9至16中任一项所述的数据传输***,其中,所述数据生成器(3)具有用于接收所生成的第二数据量的环形缓冲区形式的缓存。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019133894.8A DE102019133894A1 (de) | 2019-12-11 | 2019-12-11 | Verfahren zum zyklischen Übertragen von Daten zwischen Kommunikationsteilnehmern auf einem Datenübertragungskanal und Datenübertragungssystem |
DE102019133894.8 | 2019-12-11 | ||
PCT/EP2020/085788 WO2021116424A1 (de) | 2019-12-11 | 2020-12-11 | Verfahren zum zyklischen übertragen von daten zwischen kommunikationsteilnehmern auf einem datenübertragungskanal und datenübertragungssystem |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114788248A true CN114788248A (zh) | 2022-07-22 |
Family
ID=73834535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080085583.6A Pending CN114788248A (zh) | 2019-12-11 | 2020-12-11 | 数据传输通道上通信参与方之间循环传输数据的方法及数据传输*** |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220294565A1 (zh) |
EP (1) | EP4070530B1 (zh) |
CN (1) | CN114788248A (zh) |
DE (1) | DE102019133894A1 (zh) |
WO (1) | WO2021116424A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040027235A1 (en) * | 2000-08-10 | 2004-02-12 | Gunter Steindl | Communication method |
CN101361310A (zh) * | 2005-11-23 | 2009-02-04 | Nxp股份有限公司 | 用于通信数据的数据处理器***及方法 |
EP2575280A1 (de) * | 2011-09-27 | 2013-04-03 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines Automatisierungsgeräts zum Vermeiden von Datenverlusten sowie entsprechendes Datenübertragungsverfahren |
CN109032516A (zh) * | 2014-06-02 | 2018-12-18 | 美光科技公司 | 用于在可扩展存储器***协议中包封数据的***及方法 |
US10270705B1 (en) * | 2013-12-18 | 2019-04-23 | Violin Systems Llc | Transmission of stateful data over a stateless communications channel |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5084877A (en) * | 1989-05-05 | 1992-01-28 | At&T Bell Laboratories | High speed transport protocol |
US7042833B1 (en) * | 2000-11-28 | 2006-05-09 | Texas Instruments Incorporated | Modem transmission over packet networks |
US9250908B2 (en) * | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
US9411532B2 (en) * | 2001-09-07 | 2016-08-09 | Pact Xpp Technologies Ag | Methods and systems for transferring data between a processing device and external devices |
US6665283B2 (en) * | 2001-08-10 | 2003-12-16 | Motorola, Inc. | Method and apparatus for transmitting data in a packet data communication system |
JP4209743B2 (ja) * | 2003-08-08 | 2009-01-14 | 三菱電機株式会社 | 電子制御装置 |
JP2005318429A (ja) * | 2004-04-30 | 2005-11-10 | Sony Ericsson Mobilecommunications Japan Inc | 再送制御方法及び無線通信端末 |
JP4412181B2 (ja) * | 2005-01-21 | 2010-02-10 | 株式会社日立製作所 | 適応変調方法並びに符号化率制御方法 |
US9325456B2 (en) * | 2005-03-22 | 2016-04-26 | Intel Corporation | Method and apparatus for delayed recovery for block acknowledgement bursting in a wireless network |
WO2009062280A1 (en) * | 2007-11-15 | 2009-05-22 | Mosaid Technologies Incorporated | Methods and systems for failure isolation and data recovery in a configuration of series-connected semiconductor devices |
DE102008004854B4 (de) * | 2008-01-17 | 2015-06-18 | Audi Ag | Verfahren zum Übermitteln von Botschaften in einem Bussystem, Busgerät und Bussystem |
JP5184597B2 (ja) * | 2010-09-06 | 2013-04-17 | 株式会社日立産機システム | 通信制御装置及び通信・制御システム |
DE102015117937B3 (de) | 2015-10-21 | 2017-01-19 | Beckhoff Automation Gmbh | Kommunikationsnetzwerk, Verfahren zum Betreiben eines solchen und Teilnehmer in einem Kommunikationsnetzwerk |
DE102016121019A1 (de) * | 2016-11-03 | 2018-05-03 | Beckhoff Automation Gmbh | Verfahren zum Übertragen von Datenpaketen auf einer Datenübertragungsstrecke zwischen zwei Kommunikationsteilnehmern, Automatisierungssystem und Computerprogramm |
CN108365924B (zh) * | 2017-01-26 | 2021-02-12 | 华为技术有限公司 | 一种数据重传方法、通信装置 |
DK3430750T3 (da) * | 2017-02-06 | 2020-01-02 | Ericsson Telefon Ab L M | Fremgangsmåde til delvis retransmission |
US10368349B2 (en) * | 2017-04-13 | 2019-07-30 | Kabushiki Kaisha Toshiba | Method for assisting bidirectional communication in wireless networks |
JP6991784B2 (ja) * | 2017-08-24 | 2022-01-13 | 株式会社モバイルテクノ | 無線通信システム、再送パラメータ決定装置、および再送パラメータ通知方法 |
US11190455B2 (en) * | 2018-02-28 | 2021-11-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Decoding of a media stream at a packet receiver |
JP6688334B2 (ja) * | 2018-03-27 | 2020-04-28 | 矢崎総業株式会社 | ネットワークノード、ネットワーク通信システム及びネットワーク通信方法 |
US10592452B1 (en) * | 2018-09-12 | 2020-03-17 | Cavium, Llc | Low latency interconnect protocol for coherent multi-chip communication |
WO2021052590A1 (de) * | 2019-09-19 | 2021-03-25 | Siemens Aktiengesellschaft | Verfahren zum betrieb eines funk-kommunikationssystems für ein industrielles automatisierungssystem, funk-kommunikationssystem, basisstation und teilnehmerstation |
US11606749B2 (en) * | 2019-11-19 | 2023-03-14 | Qualcomm Incorporated | Application delay for power mode adaptation |
-
2019
- 2019-12-11 DE DE102019133894.8A patent/DE102019133894A1/de not_active Withdrawn
-
2020
- 2020-12-11 WO PCT/EP2020/085788 patent/WO2021116424A1/de active Search and Examination
- 2020-12-11 EP EP20824221.4A patent/EP4070530B1/de active Active
- 2020-12-11 CN CN202080085583.6A patent/CN114788248A/zh active Pending
-
2022
- 2022-06-02 US US17/830,856 patent/US20220294565A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040027235A1 (en) * | 2000-08-10 | 2004-02-12 | Gunter Steindl | Communication method |
CN101361310A (zh) * | 2005-11-23 | 2009-02-04 | Nxp股份有限公司 | 用于通信数据的数据处理器***及方法 |
EP2575280A1 (de) * | 2011-09-27 | 2013-04-03 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines Automatisierungsgeräts zum Vermeiden von Datenverlusten sowie entsprechendes Datenübertragungsverfahren |
US10270705B1 (en) * | 2013-12-18 | 2019-04-23 | Violin Systems Llc | Transmission of stateful data over a stateless communications channel |
CN109032516A (zh) * | 2014-06-02 | 2018-12-18 | 美光科技公司 | 用于在可扩展存储器***协议中包封数据的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4070530A1 (de) | 2022-10-12 |
DE102019133894A1 (de) | 2021-06-17 |
US20220294565A1 (en) | 2022-09-15 |
EP4070530B1 (de) | 2023-08-02 |
EP4070530C0 (de) | 2023-08-02 |
WO2021116424A1 (de) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8291142B2 (en) | Method, bus components, and control system for ethernet-based control of an automation system | |
JP4847469B2 (ja) | 複数個のステーションを有するコントロールシステムにおけるデータ送信方法、及び該コントロールシステム | |
US10193705B2 (en) | Method, communication network, and control unit for the cyclical transmission of data | |
EP2455832B1 (en) | Programmable controller | |
US20190197016A1 (en) | Control system and control device | |
US8660117B2 (en) | Packet switching device and local communication network with such a packet switching device | |
CN110224914B (zh) | 用于工业通信协议中的数据聚合的方法和*** | |
US7900115B2 (en) | Replacement messages for identifying and preventing errors during the transmission of realtime-critical data | |
US8230146B2 (en) | Communication method and master-slave system for a field bus configured according to the AS-interface standard | |
CN114174953B (zh) | 低复杂度以太网节点(len)一个端口 | |
CN111279656A (zh) | 数据传输方法和通信网络 | |
US11483240B2 (en) | Master-slave bus system and method for operating a bus system | |
US20030055900A1 (en) | Network and associated network subscriber having message route management between a microprocessor interface and ports of the network subscriber | |
JP6121563B2 (ja) | プロトコル例外状態を用いたデータ伝送プロトコル | |
US11973826B2 (en) | Data transmission method and automation communication network | |
US11398919B2 (en) | Method for detecting network subscribers in an automation network and automation network | |
US8792518B2 (en) | Automation system | |
US20150010017A1 (en) | Communication network for transmission of messages | |
CN114788248A (zh) | 数据传输通道上通信参与方之间循环传输数据的方法及数据传输*** | |
CN104429009B (zh) | 用于在数据包的双向传输情况下传输数据包的方法 | |
US20220209985A1 (en) | Data transmission method, segment telegram and automation communication network | |
US20040105398A1 (en) | Method and electronic switching circuit for a scalable communication interface in automation components | |
JP7437370B2 (ja) | 制御システム、産業装置、制御方法、及びプログラム | |
US11489697B2 (en) | Transmission of data on a local bus | |
US20220337451A1 (en) | Method for data communication between subscribers of an automation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |