Method for transmitting data packets on a data transmission link between two communication participants, automation system and computer program
The method and system enhance data transmission efficiency by re-sending packets without receipt confirmation, ensuring seamless data exchange in automation systems through buffer management.
Patent Information
- Application Number
- DE102016121019
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2016-11-03
- Publication Date
- 2025-01-02
- Estimated Expiration
- 2036-11-03
AI Technical Summary
Existing data transmission methods between communication participants are inefficient in ensuring seamless data exchange, particularly in automation systems where timely delivery of measurement and control data is crucial.
A method and system for transmitting data packets that involve sending a first packet with an identifier, determining acknowledgment characters at both participants, and re-sending the packet if the acknowledgment does not confirm receipt, using multiple buffers for storage and dynamic allocation.
Ensures seamless and efficient data exchange by promptly re-transmitting packets that fail to confirm receipt, utilizing buffer management to maintain data availability and reduce transmission errors.
Smart Images

Figure 00000012_0000 
Figure 00000013_0000 
Figure 00000014_0000
Abstract
Description
[0001] The invention relates to a method for transmitting data packets over a data transmission link between two communication participants. The invention further relates to an automation system. The invention further relates to a computer program.
[0002] DE 10 2004 044 764 A1 shows a data transmission method and an automation system for using such a data transmission method.
[0003] EP 1 307 989 B1 shows a communication method.
[0004] US 8,363,550 B1 describes a data exchange between a mobile phone and a base station.
[0005] US 2015 / 0063358 A1 describes communication within an Ethernet network.
[0006] US 2014 / 0254349 A1 describes a generic method and a generic automation system. Similar methods are known from DE 10 2012 210 816 A1 and DE 10 2011 015 966 A1.
[0007] The object underlying the invention is to provide a concept for the efficient transmission of data packets on a data transmission link between two communication participants.
[0008] This object is achieved by means of the respective subject matter of the independent claims. Advantageous embodiments of the invention are the subject matter of the respective dependent subclaims.
[0009] According to one aspect, a method for transmitting data packets on a data transmission link between a first and a second communication participant is provided, comprising the following steps: - sending a first data packet by means of the first communication participant to the second communication participant, wherein the first data packet comprises at least data and an identification character, - Determining at least one first acknowledgment character as a function of the identification character by means of the first communication participant, - Determining at least one second acknowledgment character as a function of the identification character by means of the second communication participant when the second communication participant has received the first data packet, - sending a second data packet comprising the second acknowledgment character to the first communication participant by means of the second communication participant, - receiving the second data packet sent by the second communication participant by means of the first communication participant, - checking by means of the first communication participant whether the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms the receipt of the first data packet, and - re-sending the first data packet with the identical identifier by means of the first communication participant to the second communication participant, provided that the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant.
[0010] According to another aspect, there is provided an automation system comprising: - a first and a second communication participant connected via a data transmission link, each having a connection unit for transmitting data packets on the data transmission link between the two communication participants, - wherein the connection unit of the first communication participant is designed to send a first data packet to the second communication participant, wherein the first data packet comprises at least data and an identification character, - wherein the connection unit of the first communication participant is designed to determine at least a first acknowledgment character as a function of the identification character, - wherein the connection unit of the second communication participant is designed to receive the first data packet and, when the first data packet is received, to determine at least one second acknowledgment character in dependence on the first acknowledgment character and - to send a second data packet containing the second acknowledgement character to the first communication participant, - wherein the connection unit of the first communication participant is designed to receive a second data packet sent by the second communication participant and - to check whether the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms the receipt of the first data packet, and - wherein the connection unit of the first communication participant is designed to send the first data packet with the identical identifier to the second communication participant again, provided that the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant.
[0011] According to another aspect, a computer program is provided which comprises program code for carrying out the method for transmitting data packets on a data transmission path between two communication participants when the computer program is executed on a computer, in particular on an industrial computer for use in automation technology.
[0012] The invention is based on the finding that the above object can be achieved by retransmitting a data packet already sent to the second communication participant (the first data packet) to the second communication participant via the first communication participant if the receipt of the first data packet was not properly acknowledged by the second communication participant by the second communication participant sending the second acknowledgment character back to the first communication participant. Since there is a correlation between the second acknowledgment character and the first acknowledgment character, the first communication participant can determine the corresponding first acknowledgment character upon receiving the second acknowledgment character and thus knows that the first data packet must have arrived at the second communication participant.
[0013] This advantageously ensures that the second communication participant can efficiently inform the first communication participant that the first data packet sent to the second communication participant has also arrived at the second communication participant.
[0014] However, if the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant, the first communication participant assumes that the first data packet has not arrived at the second communication participant and will therefore send the first data packet again.
[0015] This results in the technical advantage that a seamless data exchange between the first and the second communication participant can be efficiently ensured.
[0016] This also results in the technical advantage that an effective concept for the efficient transmission of data packets on a data transmission link between two communication participants is provided.
[0017] The use of such a data transmission method in an automation system is particularly advantageous insofar as it is crucial that data can be exchanged seamlessly between two communication participants. For example, if the data includes measurement data from a sensor, it must generally be ensured that this measurement data can actually be made available remotely from the measuring sensor in order to evaluate it, for example, and then, for example, to control appropriate actions based on the evaluation.
[0018] If, for example, data includes control data for controlling an actuator, it must generally be ensured that this control data reaches the communication participant so that the control is actually carried out.
[0019] According to one embodiment, the data comprises measurement data from a sensor.
[0020] According to one embodiment, the data comprises control data for controlling an actuator.
[0021] According to one embodiment, the first and / or second communication participant comprises a sensor for measuring or detecting a physical quantity.
[0022] According to one embodiment, the first and / or second communication participant is connected to a sensor for detecting or measuring a physical quantity by means of a communication connection.
[0023] In one embodiment, the first communication participant and / or the second communication participant is an actuator.
[0024] In one embodiment, the first and / or the second communication participant and / or the other communication participant is connected to an actuator by means of a communication connection.
[0025] According to one embodiment, it is provided that a data packet is, for example, a telegram, in particular an Ethernet telegram, for example an EtherCAT telegram.
[0026] Sending, as defined in this description, specifically includes the second communication participant, operating as a slave, for example, inserting the data to be sent into a telegram sent by the first communication participant, operating as a master, for example. With EtherCAT, telegrams are sent exclusively by a higher-level control unit via the master, and all slaves read or insert data during the process.
[0027] “Sending” in the sense of the description is therefore understood to mean in particular the insertion of data packets into circulating telegrams, regardless of which communication participant sends (sends) the telegram.
[0028] According to one embodiment, it is provided that the at least one first acknowledgment character and / or the at least one second acknowledgment character are a sequence of acknowledgment characters.
[0029] This provides the technical advantage, for example, that the acknowledgment characters can be determined efficiently.
[0030] According to another embodiment, it is provided that a sequence of identifiers is used to determine the at least one first and / or the at least one second acknowledgment character.
[0031] This provides the technical advantage, for example, that the acknowledgment characters can be determined efficiently.
[0032] According to a further embodiment, it is provided that the re-transmission is carried out if no second or further data packet is received by the first communication participant within a predetermined time, the second acknowledgment signal of which does not correlate with the determined at least one first acknowledgment signal, or the second acknowledgment signal was not received by the first communication participant within the predetermined time.
[0033] This provides the technical advantage, for example, of efficiently ensuring that data that hasn't arrived is resent at the latest after the predetermined time. Transmission errors are thus advantageously compensated for by the retransmission at the latest after the predetermined time.
[0034] In another embodiment, it is provided that the data packets are transmitted cyclically, wherein the predetermined time corresponds to a predetermined number of cycles, so that the re-transmission is carried out if, within the predetermined number of cycles, no second or further data packet is received by the first communication participant whose second acknowledgment character does not correlate with the determined at least one first acknowledgment character, or the second acknowledgment character was not received by the first communication participant within the predetermined number of cycles.
[0035] This provides the technical advantage, for example, of efficiently ensuring that data that hasn't arrived is resent at the latest after the predetermined number of cycles. Transmission errors are thus advantageously compensated for by the retransmission at the latest after the predetermined number of cycles.
[0036] It is further provided that the first communication participant comprises a plurality of buffers for storing data and a transmission buffer for storing data to be transmitted, wherein for transmitting a data packet to the second communication participant, data is read from one of the buffers and written into the transmission buffer, wherein an identifier of a transmitted data packet indicates from which buffer the data of the transmitted data packet was read, so that the first acknowledgment character indicates, due to the dependency on the identifier, from which buffer the data of the transmitted data packet was read, so that the received second acknowledgment character also indicates, due to the correlation with the first acknowledgment character, from which buffer the data of the transmitted data packet was read, wherein for a repeated transmission, it is determined which second acknowledgment character correlated with a first acknowledgment character was not received,so that the first acknowledgment character associated with this second acknowledgment character is determined, so that the identification character associated with this first acknowledgment character is determined, wherein the data is read from the buffer corresponding to the determined identification character and written into the transmission buffer in order to send this data again to the second communication participant.,
[0037] This provides the technical advantage that, after the first data packet has been sent, further data packets can be sent to the second communication participant without losing the ability to resend the corresponding data in the event of a loss of the first data packet already sent. This is because the data is stored in the buffer.
[0038] In particular, providing multiple buffers for storing data provides the technical advantage that, depending on the number of buffers, a certain number of lost data packets can be compensated for, as these are still stored in the buffers.
[0039] In a further embodiment, it is provided that the data of a buffer are only released for overwriting if the received second acknowledgment character correlates with the determined first acknowledgment character or if the second acknowledgment character was received by the first communication participant.
[0040] This provides the technical advantage that the buffer can be operated efficiently. In particular, this provides the technical advantage that the data is available for retransmission at least until the second communication participant sends confirmation that it has received the corresponding data.
[0041] In one embodiment, it is provided that a number of buffers can be changed dynamically.
[0042] This provides the technical advantage, for example, that memory available for buffers can be used efficiently, thus enabling efficient adaptation to different situations, possibly at the expense of less important applications.
[0043] In one embodiment, it is provided that a number of buffers is statically fixed.
[0044] This provides the technical advantage, for example, that the same sequence of operations is always performed, regardless of transmission errors. This effectively reduces the likelihood of transmission errors leading to overload and subsequent errors.
[0045] In one embodiment, it is provided that the second acknowledgment character is equal to the first identification character.
[0046] This provides the technical advantage, for example, that testing can be carried out efficiently.
[0047] According to one embodiment, it is provided that the identification symbol is a number, wherein the determination of the first acknowledgment symbol comprises incrementing the identification symbol by a specific value, for example 1, so that the first acknowledgment symbol is equal to the identification symbol plus the predetermined value.
[0048] This provides the technical advantage, for example, that the first acknowledgment character can be determined efficiently.
[0049] According to one embodiment, it is provided that the identification symbol corresponds to a current counter value of a counter which is incremented after each transmission of a data packet to the second communication participant.
[0050] This provides the technical advantage, for example, that the identification mark can be determined efficiently.
[0051] According to a further embodiment, it is provided that the re-transmission is carried out if the received second acknowledgment character of the data packet which the first communication participant receives after the transmission of the first data packet does not correlate with the determined at least one first acknowledgment character.
[0052] This provides the technical advantage, for example, that transmission errors can be compensated for promptly, i.e. immediately after the first data packet is sent.
[0053] In one embodiment, it is provided that an Ethernet-based fieldbus, in particular an EtherCAT fieldbus, is used as the data transmission path.
[0054] This results in the technical advantage that data can be transferred efficiently.
[0055] According to one embodiment, it is provided that the second communication participant is operated as a master and that the first communication participant is operated as a slave or vice versa.
[0056] This, for example, provides the technical advantage of achieving efficient communication between the two communication participants. Efficient means, in particular, that errors are resolved quickly and that communication overhead is minimal, both in normal and error-related situations.
[0057] In one embodiment, it is provided that the first communication participant only sends the first data packet for the first time after being requested to do so by the second communication participant.
[0058] This provides the technical advantage, for example, of enabling efficient communication between the two communication participants.
[0059] According to one embodiment, it is provided that the automation system is set up or designed to carry out or implement the method for transmitting data packets on a data transmission path between two communication participants.
[0060] According to one embodiment, it is provided that the method for transmitting data packets on a data transmission path between two communication participants is carried out or implemented by means of the automation system.
[0061] Technical functionalities of the automation system result directly from corresponding technical functionalities of the process for transmitting data packets on a data transmission path between two communication participants and vice versa.
[0062] This means that process characteristics arise from corresponding system characteristics and vice versa.
[0063] The wording “respectively” includes in particular the wording “and / or”.
[0064] According to one embodiment, it is provided that the automation system is used or is used in an industrial automation.
[0065] A connection unit within the meaning of the description is designed, for example, to encode the data to be transmitted or to decode the received data. A connection unit within the meaning of the description can also be referred to as a network connection unit.
[0066] The connection unit is particularly designed to generate or form a data packet to be sent.
[0067] According to one embodiment, the automation system is an automation system of an industrial automation.
[0068] A correlation of the received second acknowledgment character with the determined at least one first acknowledgment character such that the second acknowledgment character confirms the receipt of the first data packet comprises one or more of the following cases: An acknowledgement symbol within the meaning of the description includes, for example, a number (or several numbers), a letter (or several letters), or a sequence of one or more numbers and one or more letters. This means, for example, that an acknowledgement symbol can include a numerical sequence, a letter sequence, or an alphanumeric sequence.
[0069] The first and second acknowledgement characters are the same.
[0070] The second acknowledgment character lies within a value range of the first acknowledgment character.
[0071] The first acknowledgment character and the second acknowledgment character are connected to each other, for example, by a mathematical relation R. This means, for example, that R(first acknowledgment character x, = second acknowledgment character x), where R in this case is, for example, a linear mathematical function.
[0072] Another frequently used relation, provided according to one embodiment, is R(x, x - n), where n is the distance from the previously received acknowledgment signal. It characterizes the fact that it expresses the receipt of a sequence of data packets without gaps.
[0073] For example, both connection units of the communication participants have the knowledge of how an acknowledgment character is determined from an identification character.
[0074] This means, for example, that a regulation is specified that specifies how an acknowledgement symbol is determined from an identification symbol.
[0075] For example, the rule is stored in both communication participants.
[0076] The invention will be explained in more detail below with reference to preferred embodiments. Fig. 1 a flowchart of a method for transmitting data packets on a data transmission link between two communication participants, Fig. 2 an automation system, and Fig. 3 a communication participant of the automation system of the Fig. 2.
[0077] Fig. 1 shows a flowchart of a method for transmitting data packets on a data transmission link between two communication participants.
[0078] The procedure includes the following steps: - sending 101 a first data packet by means of the first communication participant to the second communication participant, wherein the first data packet comprises at least data and an identification character, - Determining 103 at least one first acknowledgment character as a function of the identification character by means of the first communication participant, - Determining 105 at least one second acknowledgment character as a function of the identification character by means of the second communication participant when the second communication participant has received the first data packet, - sending 107 a second data packet comprising the second acknowledgment character to the first communication participant by means of the second communication participant, - receiving 109 the second data packet sent by the second communication participant by means of the first communication participant, - checking 111 by means of the first communication participant whether the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms the receipt of the first data packet, and - re-transmitting 113 the first data packet with the identical identifier by means of the first communication participant to the second communication participant, provided that the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant, and - Starting the following sequence, which represents a logical sequence that can also be overlapped depending on the requirements regarding the sequences.
[0079] If it is determined in test step 111 that the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms receipt of the first data packet, the sequence is restarted directly without going through transmission step 113. This is indicated by the corresponding arrow and the dashed line between steps 111 and 113.
[0080] Only if it is determined in test step 111 that the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant, the transmission step 113 is executed before the sequence is restarted.
[0081] Fig. 2 shows an automation system 201.
[0082] The automation system 201 comprises two communication devices 203, 205, which are connected via a data transmission path. This data transmission path is Fig. 2 is symbolically represented by an arrow with reference numeral 212, with the arrow direction here illustratively indicating a communication direction. Data packets are transmitted via the data transmission link 212.
[0083] The communication participant with reference number 205 is hereinafter referred to as the first communication participant. The communication participant with reference number 203 is hereinafter referred to as the second communication participant.
[0084] The second communication participant 203 comprises a connection unit 215. The first communication participant 205 also comprises a connection unit 217.
[0085] Both connection units 215, 217 are designed to transmit data packets on the data transmission path 212 between the two communication participants 203, 205.
[0086] The connection unit 217 of the first communication participant 205 is designed to send a first data packet to the second communication participant 203, wherein the first data packet comprises at least data and an identification character.
[0087] The connection unit 217 of the first communication participant 205 is further designed to determine at least a first acknowledgment character as a function of the identification character.
[0088] The connection unit 215 of the second communication participant 203 is designed to receive the first data packet and, when the first data packet is received, to determine at least a second acknowledgment character as a function of the first acknowledgment character and to send a second data packet comprising the second acknowledgment character to the first communication participant 205.
[0089] The connection unit 217 of the first communication participant 205 is designed to receive a second data packet sent by the second communication participant 203 and to check whether the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms the receipt of the first data packet.
[0090] The connection unit 217 of the first communication participant 205 is designed to resend the first data packet with the identical identifier to the second communication participant 203 if the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant 205.
[0091] In special embodiments, i.e. according to exemplary embodiments, it is provided that the first communication participant 205 is operated as a slave and the second communication participant 203 is operated as a master.
[0092] The automation system 201 comprises, for example, additional communication participants 207, 209, and 211, which are also operated as slaves, for example. These additional communication participants 207, 209, and 211 are also connected to the second communication participant 203, which is operated as a master, and the first communication participant 205, which is operated as a slave, via the data transmission link 212.
[0093] A data packet sent by the master, i.e. the second communication participant 203, passes through the individual slaves in the following order: Slave 207, Slave 209, Slave 205, Slave 211 and from there back again via Slave 205, Slave 209 and Slave 207 to the second communication participant 203.
[0094] The possible mode of operation or operation of the first communication participant 205 according to an embodiment of the invention is described below with reference to the Fig. 3 is further explained.
[0095] The first communication participant 205 comprises eight buffers 219, 221, 223, 225, 229, 231, 233 and 235. In these buffers, data can be or is stored that is to be or has been sent, for example, to the second communication participant 203.
[0096] For example, the eight buffers can be read and sent cyclically one after the other, so that in one cycle, buffer 219 is read and sent, and in a subsequent cycle, buffer 221 is read and sent, and so on until it's buffer 219's turn again. To illustrate this cyclical reading and sending more clearly, the individual buffers are connected by arrows with the reference numeral 237.
[0097] The first communication participant 205 further comprises a transmit buffer 239 for storing data to be transmitted. This means that to transmit data to the second communication participant 203, data is read from one of the eight buffers 219 to 235 and written into the transmit buffer 239. The transmit buffer 239 is the logical instance, and the write process triggers a transmission process; for efficiency reasons, copying the data can therefore be omitted in one implementation. The connection unit 217 is particularly designed for this purpose to read the data from one of the buffers and write it into the transmit buffer 239. The connection unit 217 is further particularly designed to form a data packet comprising the data from the transmit buffer 239 and an identification symbol, wherein the identification symbol indicates from which of the eight buffers 219 to 235 the data was read.
[0098] For example, the identification symbol is a number corresponding to a numbering of the eight buffers.
[0099] Reading or sending from one of the buffers 219 to 235 and writing the read data into the send buffer 239 is symbolically marked by a double arrow with the reference number 241.
[0100] For example, it is now provided that the second communication participant 203, operating as a master, cyclically retrieves new data from the first communication participant 205, operating as a slave. This means that the second communication participant 203 sends a request to the first communication participant 205 to send it new data. The data to be sent is then read from one of the eight buffers 219 to 235 and written to the transmit buffer 239. The transmit buffer 239 thus feeds the data into the data transmission path 212, which is comprised, for example, of a communication system.
[0101] Furthermore, the connection unit 217 controls the transmission buffer 239 in such a way that it inserts an identification character, for example a sequence number, into the data to be transmitted, which indicates, for example, from which of the eight buffers the data was read.
[0102] A first data packet is generated, which contains the data to be sent as well as the identification character.
[0103] The first communication participant 205 additionally determines at least a first acknowledgment character based on the identification character.
[0104] The first data packet is sent back to the second communication participant 203 via the transmission link 212. The second communication participant 203 receives the first data packet and determines at least a second acknowledgment character depending on the identification character.
[0105] The second communication participant 203 then sends a second data packet, which includes the second acknowledgment character, to the first communication participant 205.
[0106] The first communication participant 205 receives the second data packet and checks whether the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms the receipt of the first data packet.
[0107] If the check has shown that the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms the receipt of the first data packet, the data of the buffer from which the data of the first data packet was read out is released for overwriting.
[0108] On the other hand, a repeated transmission of the first data packet with the identical identifier by means of the first communication participant 205 to the second communication participant 203 is provided, provided that the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant 205.
[0109] The first communication participant 205, for example, has a time expectation as to when it can expect a second acknowledgment signal to be sent back.
[0110] This means, for example, that the first communication participant 205 expects the second data packet, which includes the second acknowledgment character, to arrive no later than in the third (generally in a predetermined) cycle from the cycle in which the first data packet is sent. The second data packet includes the second acknowledgment character, which is correlated with the first acknowledgment character in such a way that it confirms receipt of the first data packet. If no second data packet including such a second acknowledgment character is received by the first communication participant 205 in the third (generally in the predetermined) cycle, the first communication participant 205 sends the corresponding data again to the second communication participant 203.
[0111] In summary, the invention provides an efficient concept that enables the efficient transmission of data packets over a data transmission link between two communication participants. In particular, a seamless data exchange can be efficiently ensured. In particular, this allows for efficient use of available bandwidth.
Claims
[1] Method for transmitting data packets on a data transmission link (212) between a first and a second communication participant (203, 205), comprising the following steps: - sending (101) a first data packet by means of the first communication participant (205) to the second communication participant (203), wherein the first data packet comprises at least data and an identification character, - determining (103) at least one first acknowledgment character as a function of the identification character by means of the first communication participant (205), - determining (105) at least one second acknowledgment character as a function of the identification character by means of the second communication participant (203) when the second communication participant (203) has received the first data packet, - sending (107) a second data packet comprising the second acknowledgment character to the first communication participant (205) by means of the second communication participant (203), - receiving (109) the second data packet sent by the second communication participant (203) by means of the first communication participant (205), - checking (111) by means of the first communication participant (205) whether the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms the receipt of the first data packet, and - re-transmitting (113) the first data packet with the identical identifier by means of the first communication participant (205) to the second communication participant (203), provided that the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant (205) characterized bythat the first communication participant (205) comprises a plurality of buffers (219, 221, 223, 225, 229, 231, 233, 235) for storing data and a transmission buffer (239) for storing data to be transmitted, wherein for transmitting a data packet to the second communication participant (203), data is read from one of the buffers (219, 221, 223, 225, 229, 231, 233, 235) and written into the transmission buffer (239), wherein an identifier of a transmitted data packet indicates from which of the buffers (219, 221, 223, 225, 229, 231, 233, 235) the data of the transmitted data packet were read, so that the first acknowledgment character due to the dependency on the identifier indicates from which of the buffers (219, 221, 223, 225, 229, 231, 233, 235) the data of the sent data packet were read, so that the received second acknowledgment character also indicates from which of the buffers (219, 221, 223, 225, 229, 231, 233,235) the data of the transmitted data packet have been read out, wherein for a retransmission (113) it is determined which second acknowledgment character correlated with a first acknowledgment character has not been received, so that the first acknowledgment character associated with this second acknowledgment character is determined, so that the identification character associated with this first acknowledgment character is determined, wherein the data are read out from the buffer (219, 221, 223, 225, 229, 231, 233, 235) corresponding to the determined identification character and written into the transmission buffer (239) in order to send this data again to the second communication participant (203). [2] Method according to claim 1, wherein the at least one first acknowledgment character and / or the at least one second acknowledgment character are a sequence of acknowledgment characters. [3] Method according to claim 1 or 2, wherein a sequence of identifiers is used to determine the at least one first and / or the at least one second acknowledgment character. [4] Method according to one of the preceding claims, wherein the re-transmission (113) is carried out if no second or further data packet is received by the first communication participant (205) within a predetermined time, the second acknowledgment character of which does not correlate with the determined at least one first acknowledgment character, or the second acknowledgment character was not received by the first communication participant (205) within the predetermined time. [5] Method according to claim 4, wherein the data packets are transmitted cyclically, wherein the predetermined time corresponds to a predetermined number of cycles, so that the retransmission (113) is carried out if within the predetermined number of cycles no second or further data packet is received by the first communication participant (205) whose second acknowledgment character does not correlate with the determined at least one first acknowledgment character, or the second acknowledgment character was not received by the first communication participant (205) within the predetermined number of cycles. [6] Method according to claim 5, wherein the data of a buffer (219, 221, 223, 225, 229, 231, 233, 235) are only released for overwriting if the received second acknowledgment character correlates with the determined first acknowledgment character or if the second acknowledgment character was received by the first communication participant (205). [7] Method according to one of the preceding claims, wherein the second acknowledgment character is equal to the first identification character. [8] Method according to one of the preceding claims, wherein an Ethernet-based fieldbus, in particular an EtherCAT fieldbus, is used as the data transmission path (212). [9] Automation system (201), comprising: - a first (205) and a second (203) communication participants connected via a data transmission link (212), each having a connection unit (217, 215) for transmitting data packets on the data transmission link (212) between the two communication participants (205, 203), - wherein the connection unit (217) of the first communication participant (205) is designed to send a first data packet to the second communication participant (203), wherein the first data packet comprises at least data and an identification character, - wherein the connection unit (217) of the first communication participant (205) is designed to determine at least a first acknowledgment character as a function of the identification character, - wherein the connection unit (215) of the second communication participant (203) is designed to receive the first data packet and, when the first data packet is received, to determine at least one second acknowledgment character as a function of the first acknowledgment character and - to send a second data packet comprising the second acknowledgment character to the first communication participant (205), - wherein the connection unit (217) of the first communication participant (205) is designed to receive a second data packet sent by the second communication participant (203) and - to check whether the received second acknowledgment character correlates with the determined at least one first acknowledgment character in such a way that it confirms the receipt of the first data packet, and - wherein the connection unit (217) of the first communication participant (205) is designed to resend the first data packet with the identical identifier to the second communication participant (203) if the received second acknowledgment character does not correlate with the determined at least one first acknowledgment character or the second acknowledgment character was not received by the first communication participant (205), characterized by , that the first communication participant (205) comprises a plurality of buffers (219, 221, 223, 225, 229, 231, 233, 235) for storing data and a transmission buffer (239) for storing data to be transmitted, wherein for transmitting a data packet to the second communication participant (203), data is read from one of the buffers (219, 221, 223, 225, 229, 231, 233, 235) and written into the transmission buffer (239), wherein an identifier of a transmitted data packet indicates from which buffer (219, 221, 223, 225, 229, 231, 233, 235) the data of the transmitted data packet were read, so that the first acknowledgment character, due to the dependency on the identifier, indicates from from which of the buffers (219, 221, 223, 225, 229, 231, 233, 235) the data of the transmitted data packet were read out, so that the received second acknowledgment character also indicates, due to the correlation with the first acknowledgment character, from which of the buffers (219, 221, 223, 225, 229, 231, 233,235) the data of the transmitted data packet have been read out, wherein for a retransmission (113) it is determined which second acknowledgment character correlated with a first acknowledgment character has not been received, so that the first acknowledgment character associated with this second acknowledgment character is determined, so that the identification character associated with this first acknowledgment character is determined, wherein the data are read out from the buffer (219, 221, 223, 225, 229, 231, 233, 235) corresponding to the determined identification character and written into the transmission buffer (239) in order to send this data again to the second communication participant (203). [10] Automation system (201) according to claim 9, which is designed to carry out the method according to one of claims 1 to 8. [11] Computer program comprising program code for carrying out the method according to one of claims 1 to 8 when the computer program is executed on a computer.
Citation Information
Patent Citations
Transmission of data packets between two devices in automation system, using check symbol from last data packet received as start value when calculating check symbols for packet to be sent
DE102004044764A1
Method for transferring data from field device e.g. sensor, to field bus coupler, field bus master and cyclically processed program in automation system, involves cyclically transmitting fragments from field devices
DE102011015966A1
Data packet for bidirectional transmission of data packets during data transmission between a first and a second communication device, and method for transmitting such a data packet.
DE102012210816A1
Communication method
EP1307989B1
Systems and methods for seamless data stream transfer during band switch between wireless stations
US20140254349A1