Definition und Funktionsweise:
CRC steht für Cyclic Redundancy Check (Zyklische Redundanzprüfung) und ist ein weit verbreitetes Verfahren zur Fehlererkennung bei der Übertragung oder Speicherung digitaler Daten. Es handelt sich um eine Form der Prüfsumme, die jedoch eine deutlich höhere Erkennungsrate für Übertragungsfehler bietet als einfache Summenprüfverfahren (Checksummen).
Bei der CRC-Berechnung wird der Datenblock als Polynom interpretiert und durch ein festes Generatorpolynom dividiert. Der Rest dieser Division ist der CRC-Wert, der an die Daten angehängt wird. Der Empfänger führt die gleiche Berechnung durch. Stimmt der berechnete CRC-Wert mit dem empfangenen überein, wird die Datenintegrität angenommen. Bei Abweichung liegt ein Fehler vor.
Vorteile und Relevanz in der Automatisierung:
- Hohe Erkennungsrate: CRC-Algorithmen sind in der Lage, eine sehr hohe Anzahl von Übertragungsfehlern zu erkennen, einschließlich Einzelbitfehlern, Burst-Fehlern und vertauschten Bits, die von einfachen Prüfsummen oft übersehen werden.
- Standardisierung: CRC ist ein Industriestandard und wird in vielen wichtigen Kommunikationsprotokollen eingesetzt.
- Effizient: Die Berechnung ist recheneffizient und kann in Hardware implementiert werden.
CRC ist ein fundamentaler Bestandteil der zuverlässigen Datenkommunikation in der Automatisierungstechnik, insbesondere in Umgebungen mit elektromagnetischen Störungen:
- Ethernet: Jedes Ethernet-Frame enthält eine CRC-Prüfsumme im Frame Check Sequence (FCS) Feld, um die Integrität der Daten zu überprüfen.
- Feldbusse und Industrial Ethernet: Viele Feldbus- und Industrial Ethernet-Protokolle (z.B. PROFINET, EtherCAT, PROFIBUS) verwenden CRC oder ähnliche Mechanismen, um die Sicherheit der Datenübertragung zwischen Steuerungen und Feldgeräten zu gewährleisten.
- Datenspeicherung: Auch bei der Speicherung von Daten auf Festplatten oder Flash-Speichern wird CRC oder ähnliche Methoden zur Fehlererkennung eingesetzt.
CRC trägt maßgeblich zur Datenintegrität und zur Zuverlässigkeit von Automatisierungssystemen bei, indem es sicherstellt, dass die übermittelten Befehle und Daten korrekt sind.
→ Siehe auch: Checksum, Fehlererkennung, Datenintegrität, Kommunikation, Feldbus, Ethernet

