This application claims priority to the European application No. 05001799.5, filed Jan. 28, 2005 which is incorporated by reference herein in its entirety.
The invention relates to a system and a method for transmitting telegrams. The system has at least one first communication means provided for sending telegrams and at least one second communication means provided for receiving telegrams, with a telegram having a check value that can be determined from a useful data component of the telegram. The first communication means has a first telegram counter provided for assigning a count value to a telegram in accordance with a send sequence. A telegram is a data packet that can be transmitted between communication means within the communication network.
Using a check value serves to ensure data integrity during data transmission or storage, with a value, in the simplest case a checksum, being determined, for example calculated, from data in a telegram by means of a suitable method. The resulting value is then co-stored or, as the case may be, co-transmitted as a check value. The telegram recipient can likewise determine a check value from the data and compare said value with the sender's co-transmitted check value. If the two check values are different an error, in particular a transmission error, will have occurred. If the two check values are identical it is highly probable that the message will have been transmitted correctly.
An object of the invention is to improve error detection during the transmission of telegrams.
Said object is achieved by means of a system for transmitting telegrams having at least one first communication means provided for sending telegrams and at least one second communication means provided for receiving telegrams, with a telegram having a check value that can be determined from a useful data component of the telegram, with the first communication means having a first telegram counter provided for assigning a count value to a telegram in accordance with a send sequence, with the count value for determining the check value being a constituent of the useful data component, with information signaling a change in the count value being a constituent of the useful data component when the telegram is transmitted, with the second communication means having a second telegram counter, with means being provided for synchronizing the first and second telegram counter.
Said object is achieved by means of a method for transmitting telegrams between a first and second communication means by which method a check value is determined from a useful data component of a telegram, by means of a first telegram counter of the first communication means a count value is assigned to a telegram in accordance with a send sequence, with the count value for determining the check value being a constituent of the useful data component, with information signaling a change in the count value being transmitted as a constituent of the telegram's useful data component, with a second telegram counter of a second communication means being synchronized with the first telegram counter.
The invention is based on the idea of not transmitting the entire count value in the useful data component of the telegram but nonetheless using the count value in determining the check value. Instead of the entire count value only information signaling a change in said value is transmitted as a constituent of the telegram's useful data component. The probability of detecting errors while a telegram is being transmitted will be enhanced thereby without significantly reducing the respective telegram's useful data component. Distinguishing between the individual telegrams by means of a count value will thus be improved because a telegram counter having a count value with more places can be used without significantly restricting the useful data component of the data packets. A telegram counter is referred to also as a serial telegram number.
So that the useful data component can be used as effectively as possible for the actual useful data it is proposed according to an advantageous embodiment of the invention for the information signaling a change in the count value to be a signal edge.
So that the useful data component is minimally encumbered with the higher-value places of the count value it is proposed according to an advantageous embodiment of the invention for the count value to be divisible into higher-value places and at least one lower-value place and for the information signaling a change in the count value to be the at least one lower-value place. The higher-value places of the count value will thus not be transmitted in the telegram's useful data component, but said higher-value places will nonetheless be used in determining the check value. Of the count value only the at least one lower-value place will be transmitted as a constituent of the telegram's useful data component.
If, according to a further advantageous embodiment of the invention, the count value is a binary value, then the higher-value places will advantageously contain all the higher-value bits and the at least one lower-value place the lowest-value bit of the count value.
To increase certainty in detecting telegram errors, according to a further advantageous embodiment of the invention the check value can be determined by means of a cyclic redundancy check (CRC). Instead of simple addition, a CRC employs polynomal division for determining the check value and can generally detect random errors more effectively than a method based on a simple checksum.
To achieve particularly simple synchronizing between the first and second communication means it is proposed according to an advantageous embodiment of the invention for the means for synchronizing to be provided for transmitting resetting information between the communication means, with said resetting information being linked to resetting of the telegram counters to a resetting value.
The means for synchronizing are advantageously provided for transmitting the resetting information when communication starts and when a communication error occurs.
According to further advantageous embodiments of the invention the communication means are communication participants in a switched network or in a field bus system. The transmission of telegrams can be further improved if, according to an advantageous embodiment of the invention, the telegrams are at least partially storable in the communication means.
The system is advantageously provided for the failsafe transmission of telegrams, the term “failsafe” signifying that the system will go into a safe condition in the event of a disruption or fault. With a failsafe system, any faults occurring in the system (in this case faults that can arise in the communication means) must be detected with sufficiently high probability and managed, with the aim of adequately reducing the endangering of people, the environment and/or machinery by system faults.
The invention is described in more detail below with the aid of the exemplary embodiments shown in the figures, in which:
The specific requirements of communication in failsafe systems are briefly dealt with below to explain the technical background of the invention. Especially in failsafe systems faults of any kind must be detected with high probability and managed in such a way as not to cause any impermissible reactions. In systems of said type that applies also to communication, for example over field buses. For field bus communication of said type, increasing use is also being made of Ethernet standards and Ethernet components. Such components include, for example, communication means embodied as switches. Very many (for example 100) switches can be arranged in series in field-bus communication. Said switches have the property of being able to store very many telegrams (1,000 or more). Should a fault occur in the switch (for example if an alpha particle causes a bit to invert), the switch may possibly resend telegrams it has already sent. The result thereof in failsafe systems can be that an actuator already deactivated through a telegram instruction will be reactivated (or vice versa) owing to the “old telegrams” sent again. This can thus lead to a hazardous fault that cannot be tolerated in failsafe systems.
Conventional field buses such as PROFIBUS and Interbus-S do not employ any switches for their communication. The communication means used being able to buffer just a few telegrams (typically two), it sufficed to manage a fault occasioning up to three old telegrams. Said conventional failsafe communication methods use a telegram counter having count values up to eight bits wide. With the aid of said telegram counter it is possible to detect a multiplicity of telegram errors such as, for example, the loss or duplication of a telegram, the insertion of an old telegram, and an incorrect telegram sequence.
Since, however, the probability of telegram duplications increases sharply with the introduction of switches and the structures that are possible therewith, and because the failsafe communication layer should give no credence to the error detection mechanisms of the standard communication layers, such a fault needs to be detected with very high probability. An 8-bit telegram counter will detect faults of this type with a probability of 1:255, which is customarily insufficient for safety applications. Residual error rates of 10-9 per hour are customarily required for failsafe communication that can be standardized. According to the exemplary embodiment a telegram counter having a 32-bit long count value is introduced. The additional 24 bits would reduce the possible amount of net data since a data packet—a telegram—is customarily limited in length, for example to 8 bytes in the case of a periphery with low-level modularity. The invention improves distinguishing between the individual telegrams by means of the telegram counter's respective count value without significantly restricting the data packets in terms of the portion of useful data.
Summarizing, the invention thus relates to a system and a method for transmitting telegrams. The system has at least one first communication means 1 provided for sending telegrams and at least one second communication means 2 provided for receiving telegrams, with a telegram having a check value 30 that can be determined from a useful data component 32-35 of the telegram, with the first communication means 1 having a first telegram counter provided for assigning a count value 34, 35 to a telegram in accordance with a send sequence. To improve error detection during the transmission of telegrams it is proposed that the count value 34, 35 for determining the check value 30 be a constituent of the useful data component 32-35, that information signaling a change in the count value be a constituent of the useful data component when the telegram is transmitted, that the second communication means 2 have a second telegram counter, and that means be provided for synchronizing the first and second telegram counter.
Number | Date | Country | Kind |
---|---|---|---|
05001799.5 | Jan 2005 | EP | regional |