CN108476206B - Communication network operation method, communication network, controller and data processing device - Google Patents

Communication network operation method, communication network, controller and data processing device Download PDF

Info

Publication number
CN108476206B
CN108476206B CN201680075558.3A CN201680075558A CN108476206B CN 108476206 B CN108476206 B CN 108476206B CN 201680075558 A CN201680075558 A CN 201680075558A CN 108476206 B CN108476206 B CN 108476206B
Authority
CN
China
Prior art keywords
data
participant
field
header
datagram
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.)
Active
Application number
CN201680075558.3A
Other languages
Chinese (zh)
Other versions
CN108476206A (en
Inventor
托斯顿·班提
豪格·伯特纳
德克·詹森
汤玛斯·雷帝格
汉斯·贝克霍夫
艾利克·冯纳美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beckhoff Automation GmbH and Co KG
Original Assignee
Beckhoff Automation GmbH and Co KG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beckhoff Automation GmbH and Co KG filed Critical Beckhoff Automation GmbH and Co KG
Publication of CN108476206A publication Critical patent/CN108476206A/en
Application granted granted Critical
Publication of CN108476206B publication Critical patent/CN108476206B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/4026Bus for use in automation systems

Abstract

In a communication network, a first participant (14) serially transmits clocked data to a second participant (16). The data sequence includes a write datagram having a header (420), an intermediate field (430) following the header, and a data field (440) following the intermediate field. The second participant reads a header, determines input data based on the contents of the header, and writes the input data to the data field (440) when the data sequence passes the second participant. The length of the intermediate field (430) is adapted to the clock frequency of the data sequence and the response time of the second participant.

Description

Communication network operation method, communication network, controller and data processing device
Technical Field
The invention relates to a method for operating a communication network, a controller for use as a first participant and a data processing device for use as a second participant.
The present patent application claims priority from german patent application DE 102015120242.5, the disclosure of which is incorporated herein by reference.
Background
The communication network comprises a plurality of (i.e. at least two) participants communicating with each other via suitable communication channels. The communication channel can be designed as a wireless and a wired channel. Information may be transmitted from one participant to another participant in the form of discrete data packets (messages) in a communication network.
A transport network is a network in which data paths through participants are defined through which participants can receive and forward messages. Messages transmitted by a controller as a first participant in a network pass through the data path and thus through subsequent participants of the transmission network. When the message passes one of the participants, the participant concerned has the ability to read data from or write data to the message. A message may contain one or more datagrams. Each datagram includes at least a header and a data field following the header. The header is provided to accommodate status information and/or control information. The data field is provided to accommodate a payload.
During the writing process, the participants receive the datagram and define the input data according to the header content of the datagram. The participant then writes the input data to the data field following the header. The definition of the input data requires a certain time depending on the header content. This time is referred to as the response time of the relevant participant.
Since the length of the datagrams is fixed, a time interval occurs (in each case at the output of the participant) between the output of the datagram header and the output of the data field of the datagram, the length of which is likewise fixed, i.e. cannot be modified by the participant. In other words, the time of the output of the header is concatenated with the time of the output of the data field in a fixed manner. However, the participant cannot output the data field until the participant has defined the aforementioned input data and written it to the data field. Since the definition of the input data requires a certain time (the above response time), the participant cannot output the header at any random early stage. Instead, it must delay the output of the entire datagram for a time corresponding to the response time (otherwise the header and data fields would be "split").
In automation technology, different field bus protocols based on 100Mbit/s ethernet have been established. Since 1Gbit/s ethernet is now prevalent in the consumer domain, it is also desirable to transmit fieldbus protocols at bit rates of 1Gbit/s or higher. At the same time, it is preferable not to provide the entire participant with a faster clock accordingly.
DE 19803686 a1 discloses a clocked fieldbus system with at least two participants which exchange messages in a bit-synchronous manner, wherein the processing time required by the participants is taken into account by means of null messages. Intermediate fields in messages for filling free space in the payload field not occupied by the payload are known from DE 102007004044 a1 and DE 102008009835 a 1.
US 2005/0259609 a1 relates to a master-slave system in which a plurality of slave devices are connected in parallel to a serial bus interface of a master device configured as a three-wire interface. The master device triggers both the write as well as the read process of the slave device, wherein different transmission formats may be used for data exchange at the master line, and a pause bit is provided if the read process (i.e. data) is intended to be transmitted from the slave device to the master device. The suspend bit is used so that the master and the slave release bus accesses for a short time to thereby avoid collisions during bus accesses. When there is a pause bit always on line, the slave internally performs the processing step by extracting data from a slave register block.
Disclosure of Invention
The object of the invention is to achieve the shortest possible transfer time for datagrams to be transmitted.
This object is achieved by the features of the independent claims. The dependent claims describe particularly advantageous embodiments.
A datagram from which a participant reads addressed data is referred to below as a read datagram, and a datagram from which a participant writes addressed data is referred to as a write datagram. A message may contain multiple datagrams, which may be read datagrams or write datagrams. Providing a message that includes both reading datagrams and writing datagrams may also exist.
In a method for operating a communication network according to the invention, a clocked data sequence is transmitted from a first participant to a second participant of the communication network. The first participant transmits one data unit of the data sequence per clock cycle. The data sequence includes a write datagram including a header, an intermediate field following the header, and a data field following the intermediate field. In each case, the header, intermediate field, and data field include one or more data units. The second participant reads the header within the second participant's response time and defines input data according to the contents of the header and independently of the contents of the intermediate field. When the data sequence passes the second participant, the second participant writes the input data defined in this way into the write datagram. The length of the intermediate field matches the clock frequency of the data sequence and the response time of the second participant.
The length of the intermediate field in the written datagram is significantly matched to the clock frequency of the data sequence and the response time of the second participant, such that the second participant successfully defines and writes input data to the data field of the datagram according to the contents of the header, while the data field is available to the second participant for write access. The intermediate field makes the transfer time between the input and the output of the second participant short, i.e. the short transfer time through the second participant. If the length of the intermediate field is sufficient, it is possible to output the header of the write datagram (and possibly other fields of the datagram located between the header and the intermediate field) at the output of the second participant without (if otherwise required) passing a certain latency in order to be able to output the data field at the required fixed time interval between it and the header. At least in principle, a transfer time of only one clock cycle by the second participant can now be implemented. In an embodiment of this type, the second participant in each case first reads one data unit of the header of the write datagram per clock cycle and defines the input data during the following clock cycle corresponding to the intermediate field depending on the content of the header that has just been read. The second participant then writes the input data defined in this way into the data field of the write datagram while the data field passes through the second participant (one data unit of the data field per clock cycle).
In one embodiment, the intermediate field consists of only a sequence of padding bits (dummy or empty bits). The pad bits or dummy bits or null bits are bits whose content is not evaluated. For example, the middle field may be a finite sequence of zero bits. In this type of embodiment, the only purpose of the intermediate field is to increase the time interval between the header and the data field in order to be able to forward the individual data units written into the datagram as quickly as possible by the second participant. In this case, the shortening of the transfer time is accompanied by lengthening the message by a constant amount of the payload in the message. This may result in a reduction of the effective data rate (e.g. if less messages can be transmitted per time unit as a result of the lengthening of the messages). In this case, it is conceivable to choose the length of the middle field to represent a compromise between the transfer time and the effective data rate. It is to be noted that the intermediate field must have a certain minimum length in order to be able to have a minimum transfer time of a transmission data sequence in the communication network.
This minimum length is also referred to as the optimal length of the middle field in the following. If a shorter length (i.e. shorter than the optimal length) is chosen for the intermediate field, this will require a longer transfer time of at least one of the plurality of participants through the communication network, but the message will then be shorter, i.e. it will be possible to transmit more datagrams per time unit. A shortened intermediate field, i.e. an intermediate field having a length shorter than the optimal length, may be suitable, in particular if many messages are intended to be transmitted in rapid succession, i.e. at short time intervals, so that the individual messages may no longer become long. However, if maximization of the payload transmitted per time unit (i.e. the payload data rate or the effective data rate) is not the decisive criterion, it may be appropriate to select the above-defined optimal length for the intermediate field.
The optimal length of the intermediate field, i.e. the minimum length for achieving as short a transfer time as possible, obviously depends on the clock frequency of the data sequence and the response time of the second participant. The higher the clock frequency of the data sequence and the longer the response time of the second participant, the longer the optimal length of the middle field will be. According to one embodiment, the header contains an indication of the length of the middle field. In this way, each participant receiving a data sequence is able to identify the beginning of the data field. Alternatively, it is for example understood that each datagram in the data sequence contains an intermediate field, wherein the length of the intermediate field is the same for all datagrams. In this case, for example during commissioning of the communication network, or after each adaptation of the length of the intermediate field, it is sufficient to program each participant according to the length of said intermediate field, which is the same for all datagrams, for example.
At this point it should be noted that all the disclosed features of the first participant and the second participant may be implemented in the same or similar manner in each of the other participants of the communication network.
According to one embodiment, the datagram is a write datagram and the message further comprises a read datagram comprising a header and a data field immediately following the header. The read datagram therefore does not contain an intermediate field comparable to that of the write datagram. This embodiment is based on the following recognition: unlike write access, read access to the data field by the second participant is not problematic in time because the second participant does not have to provide any data for read access.
According to one embodiment, the header contains an address and the second participant determines the input data by reading the input data from a memory region specified with the address. Retrieving the data from the memory region may take a certain amount of time. In some embodiments, the response time may be substantially comprised of the time required to retrieve the input data from the memory area.
According to one embodiment, the input and output of the second participant are interconnected via a shift register. The shift register is clocked at a clock frequency and passes through the data sequence. For example, the shift register may have a write section downstream of the read section and a read section, wherein the second participant is able to read data from the read section (and thus from the sequence of data) and write data (e.g. the input data mentioned above) to the write section (and thus to the sequence of data). The second participant reads the header from the read section when the header passes through the read section. After a period of time, i.e. when the input field passes the write section, the second participant writes the input data into the write section and thus into the data field of the datagram.
The shift register may also have an intermediate section located between the read section and the write section. The intermediate segment has the effect of extending the time between the read process and the write process. The above-mentioned intermediate field may be omitted if the intermediate segment is sufficiently long (i.e. at least of optimal length). However, if the length of the middle field is shorter than the optimal length, the middle field provides the second participant with sufficient time to determine the input data after reading the header and writing it to the write section of the shift register. The longer the intermediate segment, the longer the transfer time through the second participant. In a variant of this embodiment, the write section is not located downstream of the read section, but the two sections partially or completely overlap each other.
According to one embodiment, the shift register comprises only one single memory component, which accommodates exactly one data element of a data sequence in each clock cycle of said data sequence. In this case the shift register and thus the second participant has a transfer time of exactly one clock cycle of the data sequence. The second participant then receives one data unit of the data sequence in one clock cycle and in the next clock cycle already outputs the same data unit (with changed or unchanged content) at its output.
According to one embodiment, the length of the shift register and the length of the intermediate field match each other. Alternatively or additionally, the method may comprise means for matching the length of the shift register and the length of the intermediate field to each other. Said means may comprise, for example, minimizing the length of said shift register with a given length of said intermediate field, or minimizing the length of said intermediate field with a given length of said shift register.
In many applications it may be appropriate to minimize the transfer time through the second participant and to select the shift register as short as possible and the intermediate field to be of the length required for this purpose. Conversely, in other applications (e.g., if an efficient data transfer rate is desired, or the message is intended to be as short as possible for other reasons), it may be appropriate to extend the transfer time through the second participant and shorten the intermediate field.
According to one embodiment, the intermediate field contains at least one null element. An empty element (also referred to as a filler element or a dummy element in this application) is a data unit whose content is not evaluated in the method. The content of the null element, i.e. the value of the bits of the null element, is irrelevant. Instead, each empty element in the intermediate field is used only to provide an intermediate field having a particular length.
According to one embodiment, the intermediate field may also contain status information read by the participant, such as interrupts and the like. Reading this type of status information into the intermediate field does not defeat the purpose of extending the time for addressing the first data byte, since this status information is not selected by the address field, but is instead held in advance or permanently in due care by the participant. Alternatively, the intermediate field may also be used to distribute unaddressed data to participants, similar to a broadcast message. Thus increasing the effectiveness of the data transfer.
According to one embodiment, the data sequence comprises a plurality of write datagrams. In each case, each of these datagrams contains a header, an intermediate field following the header, and a data field following the intermediate field. In each case, the length of the intermediate field may be matched to the clock frequency of the data sequence and to the response time of at least one of the plurality of participants. Datagrams are obviously transmitted continuously. Each of the plurality of datagrams may be addressed to a particular participant or participants in the communication network. For example, the datagram may be a fragment of a message. The data sequence may obviously contain other datagrams (e.g. one or more read datagrams) that do not necessarily contain intermediate fields.
According to one embodiment, the length of the middle field (middle field length) is the same in all write datagrams. The middle field length may then be defined, for example, in the header of the message comprising the datagram. In an alternative design, the intermediate field length is stored in each participant (e.g. in a register specifically provided for this purpose).
According to one embodiment, the data sequence comprises a message comprising a message header and a plurality of datagrams following the message header. For example, a particular participant may be addressed with each datagram. Synchronous control of the participants, for example devices in an automated production plant, can thus be implemented. This type of data sequence can be implemented, for example, in an ethernet control automation technology (EtherCAT) system.
According to one embodiment, the length of the intermediate field and the clock frequency of the data sequence are matched to one another. Alternatively or additionally, the method may comprise means for matching the length of the intermediate field and the clock frequency to each other. The means may comprise, for example, minimizing the length of the intermediate field at a given clock frequency, or maximizing the clock frequency at an intermediate field of a given length. An increase in clock frequency generally results in a shorter transfer time through each participant. The extension of the middle field allows a higher clock frequency to be used because it provides each participant more time to read the data header, define the incoming data, and write the incoming data to the data field of the datagram, even with a shortened transfer time.
According to one embodiment, the method comprises a configuration means by which the transfer time through the second participant (i.e. the transfer time from input to output of the second participant) is set based on the length of the intermediate field and the clock frequency. In a special embodiment, the second participant operates in such a way that the second participant sets its transfer time independently on the basis of the length of the intermediate field and the clock frequency. This may be done, for example, in a configuration phase, for example, using test datagrams, where a test is performed to determine whether the test datagrams are processed correctly.
According to one embodiment, the second participant indicates to the first participant the response time of the second participant. The second participant (e.g., slave participant) thus enables the first participant (e.g., master participant) to set the appropriate length of the intermediate field. According to one particular embodiment, each of a plurality of participants processing datagrams or messages transmitted in time by a first participant indicates its respective response time to the first participant. The multiple participants thus enable a first participant (e.g., a master participant) to set a sufficient length of the intermediate field for all participants.
According to one embodiment, a first participant (e.g., a master participant) indicates the length of the intermediate field to a second participant (e.g., a slave participant). The second participant is thus able to reduce its transfer time as much as possible depending on the length of the intermediate field. In addition, the second participant can process the write datagram correctly (e.g., write input data at the correct location of the datagram). According to one embodiment, the first participant indicates the length of the intermediate field by writing an indication of the length of the intermediate field to the sequence of clocked data transmitted by it (e.g. to the header of each transmitted message), or (in each case, where the message contains multiple datagrams having intermediate fields of different lengths), to the header of each datagram.
In various embodiments, for example during a configuration phase in the operation of the communication network, the first participant communicates the length of the intermediate field to the second participant (and the relevant other participants) in a separate configuration signal.
The communication network according to the invention is characterized in that it is configured to carry out a method according to one of the above-described embodiments.
The communication network may be, for example, a field bus system. According to one embodiment, the communication system uses the ethernet protocol. Alternatively, other communication protocols may be used.
According to a particular embodiment, the communication network is an EtherCAT network. The EtherCAT network is a Beckhoff automation-specific developed ethernet protocol-based fieldbus system.
A controller according to the invention for use as a first participant in a communication network is configured to generate a clocked data sequence and to output the clocked data sequence on one output of the controller for forwarding to a second participant of the communication network. The controller generates one data unit of the data sequence per clock cycle. The data sequence includes a write datagram including a header, an intermediate field following the header, and a data field following the intermediate field. In each case, the header, intermediate field, and data field comprise one or more data units. As already mentioned above, a data unit is a finite sequence of bits having a fixed length, wherein the length is the same for all data units. For example, a data unit may be a bit, a byte (8 bits), or any other data unit. In each case, the header, intermediate field, and data field comprise one or more data units. In each case, one or more clock cycles are assigned to the header, intermediate fields, and data fields, respectively. The controller is characterized in that the length of the intermediate field can be matched to the clock frequency of the data sequence and the response time of the second participant. This provides the advantages described above with reference to the method according to the invention.
A data processing arrangement according to the invention for use as a second participant in a communication network is configured to receive a clocked data sequence, wherein the data processing arrangement receives one data unit of the data sequence per clock cycle. The data processing device is configured in particular for receiving and processing a data sequence comprising a datagram comprising a header, an intermediate field following the header, and a data field following the intermediate field, wherein the header, intermediate field and data field comprise in each case one or more data units. The data processing apparatus is characterized in that it reads the header of the datagram as it passes through the data processing apparatus, and defines input data according to the content of the header and independently of the content of the intermediate field within the response time, and writes the input data into the data field of the datagram.
Drawings
The present invention is described in detail below with reference to the accompanying drawings. The same reference numerals denote the same or equivalent components.
Fig. 1 schematically shows an example of an embodiment of a communication network.
Fig. 2 schematically shows an example of a conventional implementation of a datagram.
Fig. 3 schematically shows an example of a conventional implementation of a method for operating a communication network.
Fig. 4 schematically shows an example of an embodiment of a datagram.
Fig. 5 schematically shows an example of an embodiment of a method for operating a communication network.
Fig. 6 shows a flow chart of an example of an embodiment of a method for processing datagrams in a participant of a communication network.
Fig. 7 schematically shows an example of an implementation of the second and third participants.
Detailed Description
The example of a communication network 10 outlined in fig. 1 comprises a plurality of participants 12, which participants 12 communicate with each other via a data path 11 using a communication technique. In operation, messages are transmitted along the data path 11. As an example, assume that a first participant 14 (e.g., a master participant) transmits a message that subsequently passes through other participants 12 along the data path 11 and is processed by the participants. At least one segment of the data path 11 passes through each of a plurality of participants 12.
A segment length (e.g. measured in data units) and a corresponding transfer time (e.g. measurable in clock cycles) may be assigned to each segment of the data path 11, the data path 11 extending from the input of one of the plurality of participants 12 to the corresponding output of the same participant. The length of a given segment and the transfer time assigned to it are related to each other as follows: transfer time-segment length: the data rate. The data rate is understood to mean the number of data units transmitted per time interval, i.e. the inverse of a clock period.
An increase in the data rate, i.e. a faster clock of the data sequence transmitted by the first participant 14, results in correspondingly shorter transfer times on each segment of the data path 11. The higher the data rate, the less time is available for each participant to define the input data after receiving the first segment of the clocked data sequence and to write them to a particular subsequent segment of the data sequence provided for this purpose.
At too high a clock frequency, a situation may occur in which a segment for accommodating a data sequence provided by the input data has already passed through the second participant 16, while the second participant 16 is still busy defining the input data. The clock frequency of the communication network (i.e. the clock frequency of the data sequence through the participants) cannot therefore be easily increased in any given way. Likewise, by increasing the clock frequency, the transfer time from one given participant to another cannot be easily shortened.
This difficulty is overcome by providing intermediate fields in the datagram, as will be explained in detail below with reference to fig. 4 to 6. Data rates greater than 1Gbit/s (corresponding to clock frequencies greater than 1 GHz) can therefore be implemented, for example, in EtherCAT networks.
Fig. 2 schematically shows an example of a conventional implementation of a datagram 10 having a command field CMD, an identification field IDX, an ADDRESS field ADDRESS, a LENGTH field LENGTH, an interrupt field IRQ, a DATA field DATA, and an end field WKC. The fields of the datagram 200 are shown in chronological order in fig. 2. This means that field CMD is transmitted first, field IDX is transmitted next, field ADDRESS is transmitted next, etc. The fields of said datagram upstream of said DATA field DATA are collectively referred to as a header 220. In the example, the header 220 includes a field CMD; IDX, ADDRESS, LENGTH, and IRQ. The content of a field in a data sequence is understood to mean the current value or state of the field, i.e. the value indicated by said field. For example, an individual bit has a value of 0 or 1.
The command field CMD indicates the way in which the datagram 200 is intended to be processed in the participant. In one embodiment, for example, the first value of the command field CMD may characterize said datagram as a read datagram, i.e. as a datagram whose DATA (the content of the DATA field DATA) is intended to be read by the addressed participant. A second, different value of the command field CMD may characterize the datagram 200 as a write datagram, i.e. a datagram whose DATA field DATA is intended to accommodate DATA from the addressed participant. First participant 14 may assign the received datagram to a transport datagram having an identification field IDX. The ADDRESS field ADDRESS may be used to select one or more participants for which datagrams are defined and may indicate a particular memory location (e.g., among the addressed participants). The LENGTH field LENGTH indicates the LENGTH of the DATA field DATA. The interrupt field IRQ may define an interrupt triggered by a participant. The payload may be transmitted together with said DATA field DATA (DATA field 240), e.g. DATA defined for the second participant 16 (input DATA; in this case said datagram is a read datagram) (see fig. 1), or DATA to be input by the second participant 16 (output DATA; in this case said datagram is a write datagram). The structure of datagrams as outlined herein is only an example. In a different example (not shown), the header includes fields other than those shown here. In another example, the datagram does not contain an end field WKC.
By way of example, it is assumed in the following that the clocked data sequence (which contains datagram 200) is transmitted by first participant 14 and received by second participant 16. It is further assumed that the command field CMD and the ADDRESS field ADDRESS characterize the datagram 200 as a write datagram addressed to the second participant 16. The second participant 16 first receives the header of the datagram 200 and recognizes, based on the identification field IDX and the command field CMD, that it intends to fetch DATA from the memory area specified with the ADDRESS field ADDRESS and the LENGTH field LENGTH (e.g. the internal memory area of the second participant 16) and write them to the DATA field DATA. The second participant 16 thus requests the contents of the specified memory region. The time, referred to as the response time in this application, passes between the time the fields ADDRESS and LENGTH are read and the requested memory data is received. The second participant 16 then writes the obtained memory DATA (i.e. the contents of the memory area defined by ADDRESS and LENGTH) as input DATA into the DATA field DATA. A prerequisite for this is that the DATA field DATA has not passed the second participant 16 at this time. This is achieved, for example, by selecting a clock frequency that is low enough to guarantee a sufficiently long transfer time from the input to the output of the second participant 16. In this conventional implementation, the clock frequency cannot be increased in any given way due to the effective response time of the second participant 16.
Fig. 3 shows an example of a conventional implementation of a method of processing a data sequence in real time by a plurality of participants. In the example, the data sequence passes through three participants S1, S2, and S3 (e.g., the slave participants 16, 18, 20 in fig. 1) in succession. In the example, the DATA sequence comprises three consecutive datagrams, which in each case contain an address field ADDR1 or ADDR2 or ADDR3 and a DATA field DATA1 or DATA2 or DATA3 following the respective address field. For the sake of simplicity, it is assumed here that the address field and the data field consist in each case of exactly one data unit. If the data path on which the data sequence is transmitted is considered as a shift register, this means that the address field and the data field in the shift register are in each case advanced by one position per clock cycle.
The figure shows the position of the data sequence on the data path at five successive times t-1 to t-5, where the length of the clock period has been selected as a time unit. At time t-1, the address field ADDR1 of the first datagram has reached participant S1, and S1 reads the memory address indicated in the address field ADDR 1. At time t-2, S1 retrieves input data from the memory area specified with the address. At time t-3, S1 writes the input DATA into the DATA field DATA1 of the first datagram, which is possible because DATA1 is still inside the participant S1 at this time. Subsequent datagrams (ADDR2, DATA2) and (ADDR3, DATA3) are processed in a similar manner by participants S2 and S3 downstream of participant S1. In the example, the address field ADDR2 of the second datagram (ADDR2, DATA2) has reached the participant S2 at time t-5 and is then read by S2. Further processing is performed at a later time not shown in fig. 3.
According to one embodiment, a single participant (in fig. 3, participants S1, S2, and S3) is addressed through a sequence of datagrams. In this case, the ADDRESS field ADDRESS (or other indication for addressing one or more participants) described above may be omitted.
In a different embodiment, which may be implemented in e.g. EtherCAT, each datagram contains an ADDRESS field, e.g. an ADDRESS field ADDRESS (see above) for addressing one or more participants for which the relevant datagram is defined. This allows datagrams to be transmitted in any given sequence. This means that the sequence of datagrams in the message is random. The sequence of datagrams in the message can be selected in particular independently of the sequence of participants on the data path. The method outlined in figure 3 (where for simplicity it has been assumed that each datagram comprises only one ADDRESS field and one data field) is easily transferred to an embodiment where each datagram contains an ADDRESS field (e.g. ADDRESS) for addressing one or more participants. The above therefore applies to the method described below with reference to fig. 5.
The example of a datagram 400 outlined in fig. 4 contains a header 420, an intermediate field 430 following the header, and a data field 440 following the intermediate field 430. The datagram 400 may also have an end field 450 following the data field 440. The header 420 and the data field 440 are comparable to the header 220 and the data field 240 of the datagram 200 shown in fig. 2 and may be constructed and processed in the same manner as the latter. For example, a participant who intends to write input data to the data field 440 may be selected using the control field 420 (e.g., using the ADDRESS field ADDRESS contained therein). The intermediate field 430 is used primarily or exclusively for providing spacing between the header 420 and the data field 440, in order to enable a participant to define input data depending on the content of the header 420, even with very short transfer times of the datagram 400 by the relevant participant, and to write the input data defined in this way to the data field 440 in good time. The length of the middle field 430 may match the clock frequency at which the data units of the datagram 400 are transmitted and the response time of one or more participants intending to process the datagram 400. The intermediate field typically has to be extended if the clock frequency is to be increased.
The intermediate field 430 may be advantageous at least if the datagram 400 is a write datagram (i.e. in the specific example if the command field CMD characterizes said datagram 400 as a write datagram). A write datagram is generally any datagram that causes a participant to write data into the data field of the datagram. Conversely, a read datagram is any datagram that causes a participant to read data from the data field of the datagram.
The data sequence may include write datagrams as well as read datagrams. In read datagrams, intermediate fields between the header and data fields do not normally yield any benefit, but the read datagram is only unnecessarily extended. Thus, the header is preferably followed immediately by the data field in the read datagram. This means that no intermediate fields are provided in the read datagram. For example, a read datagram may be constructed in the same manner as datagram 200 shown in fig. 2, with data field 240 immediately following header 220.
Fig. 5 schematically shows an example of a clocked data sequence comprising two consecutive datagrams, namely a first datagram followed by a second datagram. The first datagram (ADDR1, FILL1, DATA1) comprises an address field ADDR1, an intermediate field FILL1 following the address field, and a DATA field following the intermediate field. The second datagram (ADDR2, FILL2, DATA2) is constructed in a similar manner and comprises an address field ADDR2, an intermediate field FILL2, and a DATA field DATA2 following the intermediate field. In the example, the address fields ADDR1 and ADDR2 form in each case the header of the associated datagram. In practice, the header of a datagram typically consists not only of an address field, but also contains additional fields, but this type of additional field is not relevant to the present simplified description. In each clock cycle, the data sequence (as described above with reference to fig. 3) advances in each case by one data field and thus by the participants, here participants S1, S2 and S3. In the illustration, the data sequence is shown in each case at five successive times t 1 to t 5, where the length of the clock period has been selected as a unit of time, as shown in fig. 3. At time t-1, participant S1 evaluates the header of the first datagram, for example by reading a memory address from an address field contained in the header. At the following time t-2, when the middle field FILL1 passes through participant S1, the participant S1 defines input data according to the contents of the header. In the example shown, the participant S1 defines the input data by reading the input data from the memory area specified in the address field ADDR 1. At time t-3, the participant S1 writes the determined input DATA in the input field DATA 1. The transfer time of each data unit in the clocked data sequence by each of the participants S1, S2, S3 is obviously shorter compared to the process diagram according to fig. 3, i.e. in this example it is only equal to one clock cycle instead of the two clock cycles required in fig. 3.
The flow chart in fig. 6 shows an example of a method 600 for processing a data sequence in a participant of a communication network. For example, the participant may be one of the participants 12 of the communication network described with reference to fig. 1. In the method, a participant first receives a memory address (step 601), and (where relevant) an indication of the length of the addressed memory region. The participant reads the received address and, if relevant, the further information received in step 601 (step 602) and fetches the data from the memory area specified with the address (step 604). At the same time, the participant receives the intermediate fields of the data sequence (step 603). The intermediate field may contain one or more dummy bytes (i.e., dummy bytes) that have no purpose other than to delay the receipt of the data field following the header (step 605). Thus, when write access to the data fields of the data sequence is possible, the participant has completed step 604 (obtained the input data) so that the input data is then actually also available to it. After receiving the data field (step 605) and obtaining the data (step 604), the participant writes the data to the data field (step 606).
Instead of filling the intermediate field with dummy bytes, the intermediate field can also be used to send a payload of this type, which is basically always provided by the participant or which has been read in the participant before the arrival of the write datagram, e.g. an interrupt, as well as other status information. Reading this type of data into the intermediate field does not defeat the purpose of extending the time for addressing the first data byte, since this status information is not selected by the address field, but is held permanently or in advance validly by the participant. Similar to broadcast messages, additional bytes in the intermediate field may also be used to distribute unaddressed data to participants.
In the embodiment outlined in fig. 7, each (or at least one) of the multiple participants of the network has a first memory means 710 (e.g. a first register) in which the minimum length of the intermediate field is recorded. The minimum length may be chosen such that a minimum transfer time is allowed among the relevant participants. The minimum length may depend on the implementation of the relevant participant. Each (or at least one) of the plurality of participants also has a second memory means 720 (e.g., a second register) in which the actual length of the intermediate field may be recorded. In operation, each of the plurality of participants adjusts its transfer time in accordance with the actual length of the intermediate field recorded in the second memory device. In each case, according to a particular embodiment, the first participant 14 (see fig. 1) selects the maximum of the minimum lengths indicated by the other participants (e.g., participants 16 and 18) as the middle field length to be used and records the selected middle field length in the respective second memory device 720 of participant 12.
In this application, it is assumed that the bit length of a datagram does not change as the datagram traverses the data path. Adapting the bit length of the datagram during transit would require additional technical measures. Each datagram thus has a fixed bit length. However, this does not exclude the possibility of different datagrams in a message having a different bit length, or datagrams in a subsequent message having a different bit length than the corresponding datagram in an earlier message.
A data unit is a finite sequence of bits having a fixed length. For example, a data unit may be a bit, a byte (8 bits), 16 bits, 32 bits, or 64 bits. The multiple data units have the same fixed length in each case.
The transfer time by the participant is the time period between receiving a bit at the input of the participant and outputting the same bit at the output of the participant. This means that the transfer time through the participant is the transfer time of the bit from the input to the output of the participant.
The transmission duration of the datagram is the time required for the datagram to pass through a given point on the data path. If the datagram consists of N bits (i.e., if its bit length is N), the transmission duration of the datagram is N × BR, where BR is the bit rate. The bit rate is the number of bits transmitted per time unit.

Claims (16)

1. A method for operating a communication network, having the following measures:
transmitting a clocked data sequence from a first participant (14) to a second participant (16) of the communication network, wherein one data unit of the data sequence is transmitted by the first participant (14) per clock cycle, and wherein the data sequence contains a datagram (400) as a write datagram, the datagram (400) containing a header (420), an intermediate field (430) following the header, and a data field (440) following the intermediate field, wherein the header, the intermediate field, and the data field have in each case one or more data units;
the second participant reads the header;
defining, by the second participant, input data according to contents of the header within a response time of the second participant; and
recording, by the second participant, the input data in the datagram as the sequence of data passes through the second participant,
wherein a length of the intermediate field matches a clock frequency of the data sequence and the response time of the second participant.
2. The method of claim 1, wherein inputs and outputs of the second participant are interconnected via shift registers clocked at the clock frequency and through the data sequence, wherein a length of the shift registers and the length of the middle field match one another.
3. The method of claim 1, wherein the intermediate field includes at least one null element.
4. The method of claim 1, wherein the intermediate field includes at least one unaddressed data unit read by the second participant.
5. The method of claim 1, wherein at least one data unit previously or permanently validly held by the second participant is read into the intermediate field by the second participant.
6. The method of claim 1, wherein the data sequence includes a plurality of write datagrams, wherein each of the plurality of write datagrams includes a header, an intermediate field following the header, and a data field following the intermediate field, in each case, wherein the length of the intermediate field matches the clock frequency of the data sequence, and a response time of at least one of the participants.
7. The method of claim 6, wherein the length of the intermediate field is the same for each of the write datagrams.
8. The method of claim 6, wherein the length of the intermediate field matches the response time of the participant in the communication network having the longest response time.
9. The method of claim 1, wherein the length of the middle field and the clock frequency are matched to each other.
10. The method of claim 1, wherein the second participant sets its transfer time based on the length of the middle field and the clock frequency, the transfer time being equal to a duration of one bit.
11. The method of claim 10, wherein the second participant indicates to the first participant the response time of the second participant.
12. The method of claim 10, wherein the first participant indicates the length of the intermediate field to the second participant.
13. A communication network comprising a fieldbus system configured to carry out the method of any one of claims 1 to 12.
14. The communication network of claim 13, wherein the fieldbus system is an EtherCAT network.
15. A first participant device for use in a communication network having a plurality of participants, comprising:
a controller (14) configured to:
generating a clocked data sequence, wherein one data unit of the data sequence is generated per clock cycle, wherein the data sequence contains a write datagram containing a header, an intermediate field following the header, and a data field following the intermediate field, wherein the header, the intermediate field, and the data field in each case comprise one or more data units,
the clocked data sequence is output at an output for forwarding to a second participant of the communication network, an
Wherein the length of the intermediate field may match a clock frequency of the data sequence and a response time of the second participant.
16. A second participant device for use in a communication network having a plurality of participants, comprising:
a data processing apparatus (16) configured to:
receiving a clocked data sequence, wherein one data unit of the data sequence is received per clock cycle, wherein the data sequence contains a write datagram containing a header, an intermediate field following the header, and a data field following the intermediate field, wherein the header, the intermediate field, and the data field comprise one or more data units in each case, wherein the length of the intermediate field matches the clock frequency of the data sequence and the response time of the second participant, and
reading the header during the passage of the write datagram, and defining input data according to the contents of the header within a response time and writing the input data to the data field of the datagram.
CN201680075558.3A 2015-11-23 2016-11-22 Communication network operation method, communication network, controller and data processing device Active CN108476206B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102015120242.5A DE102015120242B3 (en) 2015-11-23 2015-11-23 Method for operating a communication network, communication network, control device and data processing device
DE102015120242.5 2015-11-23
PCT/EP2016/078403 WO2017089336A1 (en) 2015-11-23 2016-11-22 Method for operating a communication network, communication network, controller, and data processing device

Publications (2)

Publication Number Publication Date
CN108476206A CN108476206A (en) 2018-08-31
CN108476206B true CN108476206B (en) 2021-09-14

Family

ID=57389435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680075558.3A Active CN108476206B (en) 2015-11-23 2016-11-22 Communication network operation method, communication network, controller and data processing device

Country Status (5)

Country Link
US (1) US10484520B2 (en)
EP (1) EP3378212B8 (en)
CN (1) CN108476206B (en)
DE (1) DE102015120242B3 (en)
WO (1) WO2017089336A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016125128B3 (en) 2016-12-21 2018-03-29 Beckhoff Automation Gmbh Data transmission method, communication network and master subscriber
DE102018129774A1 (en) * 2018-11-26 2020-05-28 Beckhoff Automation Gmbh Method for operating a network participant and network participant
DE102019125270A1 (en) * 2019-09-19 2021-03-25 Beckhoff Automation Gmbh Method for processing telegrams in an automation network, automation network, master participant and slave participant
CN112564938B (en) * 2020-11-06 2022-03-29 华南理工大学 Equipment controller reconfigurable system based on EtherCAT protocol and implementation method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728817B1 (en) * 2001-02-12 2004-04-27 Conexant Systems, Inc. Integrated packet bus for multiple devices
CN1582435A (en) * 2001-10-15 2005-02-16 英特尔公司 Data structure for data transmission on a time division multiplexed bus
US20050259609A1 (en) * 2004-05-20 2005-11-24 Hansquine David W Single wire bus interface
CN1913408A (en) * 2006-07-04 2007-02-14 苏州市震旦电力科技有限公司 Industrial Ethernet bus chock smotthing processing method
DE102007004044A1 (en) * 2007-01-22 2008-07-31 Phoenix Contact Gmbh & Co. Kg Method and system for optimized transmission of data between a control device and a plurality of field devices
CN103973406A (en) * 2014-05-15 2014-08-06 电子科技大学 Controller area network bus speeding-up method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4622551A (en) * 1983-10-27 1986-11-11 Otis Elevator Company Half-duplex industrial communications system
DE19803686A1 (en) * 1998-01-30 1999-08-05 Siemens Ag Method and device for the communication of equal stations of a ring-shaped, serial optical fiber bus
US20030023960A1 (en) * 2001-07-25 2003-01-30 Shoab Khan Microprocessor instruction format using combination opcodes and destination prefixes
US6839790B2 (en) * 2002-06-21 2005-01-04 Smar Research Corporation Plug and play reconfigurable USB interface for industrial fieldbus network access
US8254267B2 (en) * 2003-07-15 2012-08-28 Agere Systems Inc. Extensible traffic generator for synthesis of network data traffic
CN100464517C (en) * 2003-08-08 2009-02-25 华为技术有限公司 Recognition device and method for frame correction sequence in general frame treating package mode
US7058089B2 (en) * 2004-02-18 2006-06-06 Rosemount, Inc. System and method for maintaining a common sense of time on a network segment
US7234084B2 (en) * 2004-02-18 2007-06-19 Emerson Process Management System and method for associating a DLPDU received by an interface chip with a data measurement made by an external circuit
DE102008009835B4 (en) * 2008-02-18 2011-07-28 Phoenix Contact GmbH & Co. KG, 32825 Transmission method and reception method
ES2387139T3 (en) * 2008-06-04 2012-09-14 Vega Grieshaber Kg Determination of telegram lengths
CN102142917B (en) * 2011-03-28 2014-02-19 华为技术有限公司 Data frame positioning method and device
EP2527935B1 (en) 2011-05-26 2014-12-03 Siemens Aktiengesellschaft Method for operating an automation system
CA2874899C (en) * 2012-06-01 2017-07-11 Blackberry Limited Universal synchronization engine based on probabilistic methods for guarantee of lock in multiformat audio systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728817B1 (en) * 2001-02-12 2004-04-27 Conexant Systems, Inc. Integrated packet bus for multiple devices
CN1582435A (en) * 2001-10-15 2005-02-16 英特尔公司 Data structure for data transmission on a time division multiplexed bus
US20050259609A1 (en) * 2004-05-20 2005-11-24 Hansquine David W Single wire bus interface
CN1913408A (en) * 2006-07-04 2007-02-14 苏州市震旦电力科技有限公司 Industrial Ethernet bus chock smotthing processing method
DE102007004044A1 (en) * 2007-01-22 2008-07-31 Phoenix Contact Gmbh & Co. Kg Method and system for optimized transmission of data between a control device and a plurality of field devices
CN103973406A (en) * 2014-05-15 2014-08-06 电子科技大学 Controller area network bus speeding-up method

Also Published As

Publication number Publication date
EP3378212B1 (en) 2019-03-27
CN108476206A (en) 2018-08-31
EP3378212A1 (en) 2018-09-26
US10484520B2 (en) 2019-11-19
US20180270336A1 (en) 2018-09-20
EP3378212B8 (en) 2019-05-29
DE102015120242B3 (en) 2017-02-09
WO2017089336A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
CN108476206B (en) Communication network operation method, communication network, controller and data processing device
KR100970300B1 (en) Method and device for accessing data of a message memory of a communication component
JP5563165B2 (en) Method and apparatus for serial data transmission with switchable data rate
RU2596582C2 (en) Method and device for memory size adapted serial data transfer
JP4691601B2 (en) Method, communication network, and control apparatus for cyclic transmission of data
WO2016054245A1 (en) Confirming data accuracy in a distributed control system
JP2010517347A (en) Method and facility for optimized transmission of data between a controller and a plurality of field devices
CN104144094A (en) Method for operating slave node of digital bus system
US9544258B2 (en) Network, head subscriber and data transmission method
US11483240B2 (en) Master-slave bus system and method for operating a bus system
US10567194B2 (en) User station for a bus system and method for increasing the transmission capacity in a bus system
CN103281321A (en) Satellite-borne FlexRay bus dynamic segment communication method
KR100977897B1 (en) Method for storing messages in a message memory and corresponding message memory
US10848419B2 (en) Data transmission method, communication network and master participant
US9438537B2 (en) Method for cut through forwarding data packets between electronic communication devices
US20190188174A1 (en) Multi-slave serial communication
CN113852533B (en) Multi-channel data communication system and method and electronic equipment
CN108429707B (en) Time trigger service repeater and method adapting to different transmission rates
CN112328523B (en) Method, device and system for transmitting double-rate signal
KR20080055910A (en) Method of transmitting messages
KR101232782B1 (en) System and method for detection of multiple timing masters in a network
US10764409B2 (en) Data communication device, arithmetic processing device, and control method of data communication device
US8989203B2 (en) Electronic device, communication control method, and recording medium
JP4060530B2 (en) Method and apparatus for processing data packets received or transmitted on a data channel
CN114124718A (en) Strong real-time EtherCAT implementation 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
GR01 Patent grant
GR01 Patent grant