Datos escritos
Código CRC
Address Function code Start address high bit Start address low 8
bits Data high 8 bits Data low 8 bits CRC low 8 bits CRC high 8
bits
01 06 10 00 07 CF CF 6E
4. Código de control de error (control de CRC)
El aparato superior (master) o subordinado (slave) pueden utilizar el código
de control para verificar la corrección de datos recibidos. Debido a ruido u
otras perturbaciones puede haber errores en la transferencia de datos. El
código de control de error (CRC) permite verificar que la transferencia de
datos fue correcta y permite rechazar los datos incorrectos, lo cual aumenta
la seguridad y el rendimiento del sistema.
El código CRC en la comunicación en el protocolo Modbus contiene 2 bytes.
Los 8 bits menores se encuentran adelante y los 8 mayores atrás, lo cual
ofrece el número binario de bits. El código CRC es calculado por el aparato de
envío (host), se encuentra en la última posición del marco de información. El
aparato receptor (slave) vuelve a calcular el código CRC y compara que el
código determinado y recibido es el mismo. Si son diferentes esto significa
que hubo error durante la transferencia de datos.
5. Método de cálculo del código CRC
El método de cálculo del código CRC está presentado de la siguiente manera:
a) El registro de 16-bits es representado de manera hexadecimal como
FFFF. Este registro es denominado registro CRC.
b) Realización de la operación XOR en el primer byte de datos (el marco) y
en el byte menor del registro CRC. El resultado de la operación se coloca
en el registro CRC.
c)
El movimiento del contenido del registro CRC de un bit hacia derecha (en
el sentido del bit menor), la fijación del valor 0 para el bit mayor y, luego
la comprobación del bit movido.
d) Si el bit de salida es 0 se vuelve a realizar el paso c); si el bit es 1: se
realiza la operación XOR del registro CRC con el polinomio A001 (1010
0000 0000 0001).
2
2
07CF
CF6E
Número de
registros
escritos
El código CRC
calculado por
el aparato
subordinado