18.2. ALLGEMEINE ERWEITERUNGEN FÜR ALLE VIEWS
crc16_ccitt_kermit Berechnet die crc16 Prüfsumme der gegebenen Daten-
crc16_df1
crc16_dnp3
lrc
crc16_modbus
18.2.4.1
checksum.crc8_bacnet
Ein in BACNet (Header) Telegrammen verwendeter Prüfsummenalgorithmus.
Das Resultat ist ein einzelnes Byte (8 Bit Wert).
checksum.crc8_bacnet(String )
String: Die Daten als Lua String
Sketch Beispiel
1
p r i n t ( checksum . crc8_bacnet ( " H e l l o w o r l d " ) )
Protokollmonitor Beispiel
function o u t ( )
1
l o c a l t g = t e l e g r a m s . t h i s ( )
2
3
checksum header c r c
l o c a l header_crc = checksum . crc8_bacnet ( t g : s t r i n g ( ) : sub ( 3 , 8 ) )
4
5
. . .
6
checksum data c r c
7
l o c a l d a t a l e n g t h = t g : data ( 6 )
8
l o c a l d a t a _ c r c = checksum . crc16_bacnet ( t g : s t r i n g ( ) : sub ( 9 , 9+
d a t a l e n g t h +1) )
9
end
18.2.4.2
checksum.crc16_bacnet
16 Bit CRC BACNet Prüfsummenalgorithmus. Das Resultat ist ein 16 Bit Inte-
ger Wert.
checksum.crc16_bacnet(String )
String: Die Daten als Lua String
sequenz, allerding mit einem anderen Startwert (Initiali-
sierung) wie in CCITT Kermit üblich.
Berechnet die crc16 Prüfsumme wie sie im Allen-Bradley
DF1 Protokoll verwendet wird. Zurück gegeben wird ein
16 Bit Wert.
Berechnet die crc16 Prüfsumme wie sie im DNP3 Pro-
tokoll verwendet wird. Zurück gegeben wird ein 16 Bit
Wert.
Liefert die Prüfsumme der gegebenen Datensequenz als
Longitudinal Redundancy Check (LRC), wie bei Modbus
ASCII verwendet.
Berechnet die Modbus RTU (CRC16) Prüfsumme der
übergebenen Datensequenz und gibt sie als 16 Bit In-
tegerzahl zurück.
256 + t g : data ( 7 )
> 157
227