# LGF_CalcCRC8For1Byte (FC / 3.0.1)

Übersicht

Autor: Siemens Industry Support

## Kurzbeschreibung

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 (Byte). Der Empfänger erkennt eine fehlerhafte Übertragung aufgrund des ungleichen CRC-Werts. Die Funktion `LGF_CalcCRC8For1Byte` verwendet als Generatorpolynom (Maske) 8 Bit.

### Baustein Schnittstelle

| LGF_CalcCRC8For1Byte (FC) |
--- | --- | ---
Byte |  |  | initValue |  | Ret_Val |  |  | Byte
Byte |  |  | mask |  |  |  |  |
Byte |  |  | value |  |  |  |  |

### Input Parameter

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)
value | Byte | Datenbyte, für das der CRC-Wert berechnet werden soll.

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
Ret_Val | Byte | Berechneter CRC-Wert (Rückgabewert der Funktion).

## Funktionsbeschreibung

Die Funktion berechnet aus einem Datenbyte `value` den CRC-Wert. Der Startwert `initValue` und das Generatorpolynom `mask` sind frei wählbar.

Hinweis
  Für die Berechnung der CRC-Werte stehen verschiedene Online-Tools zur Verfügung. Die Funktion des Bausteins wurde mit folgendem Online-Tool getestet, da es die Eingangsparameter `mask` (Polynom) und `initValue` (Initial Value) unterstützt:
  http://www.sunshine2k.de/coding/javascript/crc/crc_js.html

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
| 1.0.0 | Siemens Industry Online Support
| 03.07.2018 | First released version
| 1.0.1 | Siemens Industry Online Support
| 17.08.2018 | Upgrade: TIA V15 Update 2
| 1.0.2 | Siemens Industry Online Support
| 23.11.2018 | Upgrade: TIA V15.1
| 1.0.3 | Simatic Systems Support
| 09.10.2019 | Code refactoring, comments added
| 3.0.0 | Simatic Systems Support
| 23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library
| 3.0.1 | Simatic Systems Support
| 12.11.2020 | Insert documentation Assign default start values to optional inputs - `initValue`, `mask`