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
Consultar el valor binario de la alarma de calibrado en dirección 0x26A0:
Instrucción: lee la palabra de la dirección 0x14E5
01
Esclavo
Respuesta (CRC16 = 0x8479)
01
Esclavo
Palabra 1 = 1 significa que el valor binario del temporizador de enjuague 1 es igual a 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 A0
Función
Dirección
03
02
Función
Número de
bytes
else
00 01
8F 60
Leer una pala-
CRC
bra
00 01
79 84
Palabra 1
CRC