(según formato MODBUS RTU)
2. CALCULO DEL CRC
1.
Cargar un registro de 16 bits con H'FFFF (todo '1'). Se llamará registro CRC.
2.
Hacer un Ex-OR (OR exclusivo) del primer byte de la trama con el byte bajo del registro CRC y poner el resultado
en CRC.
3.
Rotar 1 bit a la derecha el registro CRC (hacia el LSB) poniendo a cero el MSB. Extraer y examinar el LSB.
4.
Si el LSB es '0' volver al punto 3. Si el LSB es '1', hacer un Ex-OR del CRC con el valor de 16 bits H'A001 (1010
0000 0000 0001).
5.
Repetir los puntos 3 y 4 hasta completar un total de 8 rotaciones al cabo de las cuales se habrá procesado el
primer byte de la trama.
6.
Repetir los puntos 2 a 5 para el siguiente byte de la trama. Continuar estas operaciones hasta procesar todos los
bytes de la trama.
7.
Poner el CRC obtenido al final de la trama de forma que el byte bajo se envíe en primer lugar.
3. TIEMPOS
El instrumento detecta el inicio de un mensaje cuando recibe un carácter válido (conteniendo su dirección o la
dirección 00) transcurrido un intervalo de tiempo de al menos 3,5 veces la longitud de un carácter.
Asimismo se da por finalizada una trama transcurrido un intervalo de la misma duración.
Polinomio CRC : 2
Valor inicial CRC : H'FFFF
Solicitud
Respuesta
--
--
Ad
CR
Ad
T
T
1
2
15
13
0
+ 2
+ 2
Solicitud
-- -- --
CR
Ad
-- -- --
T
3
4
--
--
CR