Patent Publication Number: US-8127195-B2

Title: Replacement messages for identifying and preventing errors during the transmission of realtime-critical data

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a divisional application of U.S. application Ser. No. 12/782,873 filed May 19, 2010, now U.S. Pat. No. 7,900,115, and claims the benefits thereof. The U.S. application Ser. No. 12/782,873 is a divisional application of U.S. application Ser. No. 10/490,534 filed Mar. 19, 2004, now U.S. Pat. No. 7,770,085, and claims the benefits thereof. The U.S. application Ser. No. 10/490,534 is the national stage application of International application no. PCT/DE02/03406 filed Sep. 12, 2002. The International application no. PCT/DE02/03406 claims the benefits of German application no. 101 47 426.1 DE filed Sep. 26, 2001, and of German application no. 102 28 822.4 DE filed Jun. 27, 2001. All of the applications are incorporated by reference herein in their entirety. 
    
    
     FIELD OF INVENTION 
     The invention relates to a method for identifying and avoiding errors in the transmission of realtime-critical data using data messages in a data network, especially in an automation system. 
     BACKGROUND OF INVENTION 
     Data networks are formed from a number of network nodes and allow communication between a number of subscribers. Communication here means the transmission of data between the subscribers. The data to be transmitted in this case is sent as data telegrams, which means that the data is packed into one or more packets and sent in this form over the data network to the appropriate recipient. The term data packet is thus used. The term transmission of data is used in this document fully synonymously with the above-mentioned transmission of data telegrams or data packets. 
     For networking in switchable high-performance data networks for example, especially Ethernet, the subscribers are interlinked via coupling nodes. Each coupling node can be connected to more than two subscribers and can also be a subscriber itself. Subscribers are for example computers, Programmable Logic Controllers (PLC) or other machines which exchange electronic data with other machines and especially process it. 
     A method of transmitting data packets is known from EP 0 866 579 A1 in which the data packet is transferred from the transmit station to the receive station, without having an individual identification. 
     In distributed automation systems, for example in the area of drive technology, specific data must arrive at specific times at the intended subscribers and must be processed by the recipients. This is referred to as realtime-critical data or realtime-critical data traffic since if the data does not arrive at its intended destination at the right time this can produce undesired results at the subscriber. 
     The use of a synchronous clocked communication system with equidistant characteristics in an automation system is also known from the prior art. This is taken to mean a system consisting of at least two subscribers that are linked via a data network for the purposes of mutual exchange of data or mutual transmission of data. In this case data is exchanged cyclically in equidistant communication cycles which are specified by the communication clock used by the system. Subscribers are for example central automation devices, e.g., Programmable Logic Controllers (PLC) or other control units, computers or machines which exchange electronic data with other machines and process data, especially from other machines and peripheral devices, e.g. input/output modules, drives, actors, sensors. In this document control units are taken to mean closed-loop controllers or control units of all types. Typical examples of communication systems used for data transmission are bus systems such as Field Bus, Profibus, Ethernet, Industrial Ethernet, FireWire or also PC-internal bus systems (PCI), etc. In such systems data telegrams are fed into the data network at fixed points for transmission by a subscriber. 
     Automation components (e.g. controllers, drives, . . . ) nowadays often have an interface to a cyclically clocked communication system. A run level of the automation components (fast-cycle) (e.g. positional control in a controller, torque control of the drive) is synchronized to the communication cycle. This defines the communication timing. Other lower-performance algorithms (slow-cycle) (e.g. temperature controllers) of the automation components can also only communicate via this communication clock with other components (e.g. binary switches for fans, pumps, . . . ), although a slower cycle would be adequate. Using only one communication clock for transmission of all information in the system produces high demands on the bandwidth of the transmission link and on the communications arrangement of the components. 
     These high demands cannot always be fulfilled and the result can be transmission errors. Possible transmission errors are:
         non-arrival or late arrival of a data telegram;   overflow of a data buffer in a coupling node;   incorrect length of a data telegram;   a physical CRC (Cyclic Redundancy Check) error.       

     With data networks known from the prior art an incorrect data telegram can trigger an error reaction at all data network nodes via which it is forwarded. Error diagnosis is only possible with the telegrams intended for the purpose. This leads to an additional load on the data network, and makes error diagnosis more difficult and causes delays in diagnosis. 
     SUMMARY OF INVENTION 
     An object of the invention is to avoid error reactions in the transmission path of errored data telegrams and create an improved method of error diagnosis. 
     The object of the invention is achieved with the features of the independent claims. Specific embodiments of the invention are specified in the dependent claims. 
     In the method in accordance with the invention data telegrams with errors are basically not forwarded. In this case it is to be viewed as advantageous that the errored data telegram does not trigger error reactions at any further data nodes. Instead of forwarding an errored data telegram a data network node at which no error-free data telegram with a specific identification has arrived by the forwarding time assigned to the identification or is still arriving during the forwarding time sends out a replacement telegram with the identification. 
     The store-and-forward method and the cut-through method can be used for the forwarding. With the store-and-forward method a data telegram is completely received and is buffered before forwarding. In contrast, with the cut-through method, the data is not buffered but is forwarded directly from the receive buffer to the transmit port. 
     Data telegrams generally have an identification, useful data and a transfer status. Replacement telegrams likewise have an identification, useful data and a transfer status. The identification of the replacement telegram is that of the telegram to be replaced. The useful data can be any data. The transfer status identifies the telegram as a replacement telegram. The transfers status can also specify the type of transmission error that has occurred. It his advantageous that no additional data telegram is needed for error diagnosis. 
     Replacement telegrams that are received up to the time of forwarding are forwarded by a coupling node like normal data telegrams at the forwarding time via the transmit port assigned to the identification or identifications. In the preferred embodiment of the invention a coupling node can receive and forward a number of data telegrams with the same identification. 
     In the case of an application it is assumed that initially a data telegram was received at the destination node which is not a replacement telegram and that its useful data and the assigned timer value were stored. If the destination node receives a further data telegram with the same identification it first checks to see whether this is a replacement telegram. If it is, the stored user data and the assigned timer value are basically not replaced. 
     In a preferred embodiment of the invention the arrival of a replacement telegram at the destination node is recorded. If the further data telegram is not a replacement telegram, a further check is made on the basis of the timer value as to whether the saved useful data is still current. If the useful data is still current this can be replaced but it does not have to be replaced. If the useful data is not current it is basically replaced by the useful data of the further data telegram. Before the useful data is forwarded to an application of the destination node it must be completely received and buffered since forwarding of the useful data of a data telegram not yet completely received could lead to malfunctions of the application. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Preferred embodiments of the invention are explained in more detail below with reference to the drawings. The drawings show: 
         FIG. 1  a network diagram of a data network in accordance with the invention for transmitting realtime-critical data; 
         FIG. 2  a schematic connection between a source node and a destination node via a coupling node; 
         FIG. 3  the structure of a DTX Ethernet frame from the prior art and an Ethernet frame in accordance with invention; 
         FIG. 4  a flowchart of an inventive method for transferring realtime-critical data with a coupling node; 
         FIG. 5  a flowchart of an inventive method for transferring realtime-critical data at a destination node. 
     
    
    
     DETAILED DESCRIPTION OF INVENTION 
       FIG. 1  shows a data network in accordance with the invention for transmission of realtime-critical data. The source nodes i are connected directly via the coupling nodes j to the destination nodes k. The data is transmitted via data buses which link data network nodes to each other. A data telegram can for example be forwarded from transmit port  1  of the source node i=1 via the receive buffer  2  and the transmit port  3  of the coupling node j=1 to the receive buffer  4  of the coupling node j=2. But it can also be sent directly from transmit port  5  of the source node i=1 to the receive buffer  4  of the coupling node j=2. It his therefore evident that a data telegram can travel from the source node i=1 either via the coupling node j=1 or the coupling node j=2 to the destination node k=1. This shows that both a coupling node and also a destination node can receive identical data telegrams, which can thus also possess an identical identification, via different network paths. 
       FIG. 2  shows a connection between a source node and a destination node via a coupling node. The source node stores data which was identified with the aid of an application of the source node in the form of a data telegram with a specific identification. At the transmit time specified by the identification the data telegram will be transmitted via a transmit port to one or more coupling nodes. The data telegram is received at a receive buffer of the coupling node. It is then either stored in memory until the time of forwarding (store-and-forward method) or forwarded directly to transmit port (cut through method). At the time of transmission, the data telegram will be forwarded via a transmission port to further coupling nodes or destination nodes. At the receive port of the destination node it is received, stored on this node and provided for an application of the destination node. The source nodes, coupling nodes and destination nodes are synchronized using a timer. 
       FIG. 3  shows the structure of a DIX Ethernet frame of a data telegram known in the prior art and of an Ethernet frame in accordance with the invention. Header, destination address, source address, realtime type and CRC (cyclic redundancy check) are in the same positions and take up an equal amount of memory space. The DIX Ethernet frame also includes up to 1.5 kbytes of user data. The same memory space is assigned for the Ethernet frame in accordance with the invention to the user data, data status and transfer status. 
     The flow diagram in accordance with  FIG. 4  illustrates the procedural steps in accordance with the invention for transferring realtime-critical data at a coupling node. The coupling node initially expects the arrival of one or more error-free data telegrams DT A, B . . . with a specific identification (step  6 ). Their number is taken from the receive list. Data telegrams DT A, B . . . , which arrive before the forwarding time are initially stored (store-and-forward method, step  7 ). In contrast, data telegrams which are received at the forwarding time are forwarded directly from the receive buffer to the send port (cut-through method). Instead of each expected error-free data telegram which is not received by the forwarding time, a replacement telegram DT A, B . . . is created with the identification (step  8 ). At the forwarding time, which is taken from the receive list, the data telegram or telegrams or the replacement telegrams are forwarded (step  9 ). In a preferred embodiment of invention the occurrence of a transmission error is stored at the node at which the transmission error occurred. 
       FIG. 5  illustrates the procedural steps in accordance with the invention for transferring realtime-critical data at a destination node. It is assumed that initially a data telegram DT C, which is not a replacement telegram is received (step  10 ). The case where the first telegram received is a replacement telegram is not relevant for the intention. The data telegram DT C will be stored with an assigned tinier value (step  11 ). If a further data telegram DT D with the same identification is received at the destination node (step  12 ), an initial check must be made as to whether this telegram is a replacement telegram (step  13 ). The useful data of the stored data telegram should basically not be replaced by any data of a replacement telegram. If the data telegram DT D is not a replacement telegram, a check is performed in the next step on the basis of the assigned timer value as to whether the data telegram DT C is current (step  14 ). A current data telegram DT C can be replaced but does not have to be. If the data telegram DT C is not current, its useful data and its assigned timer value are replaced (step  15 ). In a preferred embodiment of the invention the arrival of a replacement telegram at the destination node is recorded. If the data telegram DT D is a replacement telegram, the data telegram DT C is basically not replaced (step  16 ). 
     A method has been provided for transmission of real-time data using data telegrams in a data network having at least one coupling node, wherein the data telegrams each have an identification, data and a transfer status. The coupling node has at least a transmit list and a receiver list, wherein the transmit list has information about the number of data telegrams to be received at the corresponding coupling node having specific identifications. A send list has information about the forwarding time assigned via an identification and wherein a transmit port is assigned to an identification.