2 Descripción de protocolo Modbus
2.7
Suma de comprobación (CRC16)
Esquema de cálculo
Según la suma de comprobación (CRC16) se reconocen errores de transmisión. Si se determina un
error en la evaluación, el instrumento no responde.
CRC = 0xFFFF
while (no todos los ByteOfMessage elaborados);
¡NOTA!
¡El Low-Byte de la suma de comprobación se transmite primero!
Ejemplo: la suma de comprobación CRC16 CC DD se transmite y se muestra con el orden DD CC.
Ejemplo
Consulte el valor binario de la prealarma de tensión del sensor en la dirección 0x2601:
Instrucción: lee la palabra de la dirección 0x2601
01
Esclavo
Respuesta (CRC16 = 0x8479)
01
Esclavo
La palabra 1 = 1 significa que el valor binario de la prealarma para la tensión del sensor = 1.
16
CRC = CRC XOR ByteOfMessage
For (1 a 8)
CRC = SHR(CRC)
if (desplazada hacia la derecha la marca Flag = 1)
then
CRC = CRC XOR 0xA001
03
26 01
Función
Dirección
03
02
Función
Número de
Bytes
else
00 01
DE 82
Leer una pala-
CRC
bra
00 01
79 84
Palabra 1
CRC