LGF_CalcCRC8 (FC / V3.0.1)


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

Baustein Schnittstelle

LGF_CalcCRC8 (FC)
Byte  initValue Ret_Val  Byte
    
Byte  mask   
    
Array[*] of Byte  array  Array[*] of Byte
       
   

Input Parameter

BezeichnerDatentypBeschreibung
initValueByteStartwert, mit dem die Berechnung durchgeführt wird.
Wenn keinen Startwert notwendig ist - 16#00 zuweisen.
maskByteGeneratorpolynom, mit dem die Berechnung durchgeführt wird.
(Maske / CRC Polynom)

Output Parameter

BezeichnerDatentypBeschreibung
Ret_ValByteBerechneter CRC-Wert (Rückgabewert der Funktion).

In/Out Parameter

BezeichnerDatentypBeschreibung
arrayArray[*] of ByteDatenstrom, für den der CRC-Wert berechnet werden soll.

Funktionsbeschreibung

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.

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
01.00.00Siemens Industry Online Support
03.07.2018First released version
01.00.01Siemens Industry Online Support
17.08.2018Upgrade: TIA V15 Update 2
01.00.02Siemens Industry Online Support
23.11.2018Upgrade: TIA V15.1
01.00.03Simatic Systems Support
09.10.2019Code refactoring, comments added
03.00.00Simatic Systems Support
23.04.2020Set version to V3.0.0, harmonize the version of the whole library
03.00.01Simatic Systems Support
12.11.2020Insert documentation
Assign default start values to optional inputs - `initValue`, `mask`