Die CRC-Berechnung wird für die Fehlererkennung bei der Datenübertragung verwendet. Das Ergebnis einer Berechnung liefert einen CRC-Wert über die gesendeten Daten. Der Empfänger erkennt eine fehlerhafte Übertragung aufgrund des ungleichen CRC-Werts. Die Funktion LGF_CalcCRC8 verwendet als Generatorpolynom (Maske) 8 Bit.
| LGF_CalcCRC8 (FC) | ||||||||
|---|---|---|---|---|---|---|---|---|
| Byte | initValue | Ret_Val | Byte | |||||
| Byte | mask | |||||||
| Array[*] of Byte | array | Array[*] of Byte | ||||||
| Bezeichner | Datentyp | Beschreibung |
|---|---|---|
| initValue | Byte | Startwert, mit dem die Berechnung durchgeführt wird. Wenn keinen Startwert notwendig ist - 16#00 zuweisen. |
| mask | Byte | Generatorpolynom, mit dem die Berechnung durchgeführt wird. (Maske / CRC Polynom) |
| Bezeichner | Datentyp | Beschreibung |
|---|---|---|
| Ret_Val | Byte | Berechneter CRC-Wert (Rückgabewert der Funktion). |
| Bezeichner | Datentyp | Beschreibung |
|---|---|---|
| array | Array[*] of Byte | Datenstrom, für den der CRC-Wert berechnet werden soll. |
Die Funktion berechnet aus einem beliebig großen Datenstrom den CRC-Wert. Der Datenstrom setzt sich aus den einzelnen Elementen des Arrays am Ein- / Ausgangsparameter array zusammen. Der Startwert initValue und das Generatorpolynom mask sind frei wählbar.
mask (Polynom) und initValue (Initial Value) unterstützt:| Version & Datum | Änderungsbeschreibung | |
|---|---|---|
| 01.00.00 | Siemens Industry Online Support | |
| 03.07.2018 | First released version | |
| 01.00.01 | Siemens Industry Online Support | |
| 17.08.2018 | Upgrade: TIA V15 Update 2 | |
| 01.00.02 | Siemens Industry Online Support | |
| 23.11.2018 | Upgrade: TIA V15.1 | |
| 01.00.03 | Simatic Systems Support | |
| 09.10.2019 | Code refactoring, comments added | |
| 03.00.00 | Simatic Systems Support | |
| 23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library | |
| 03.00.01 | Simatic Systems Support | |
| 12.11.2020 | Insert documentation Assign default start values to optional inputs - `initValue`, `mask` | |