12.4 Estructura del bastidor:
Modo ASCII
Byte
1
Bit de inicio (nivel bajo)
7
Bit de datos
0/1
Bit de comprobación de paridad (ningún bit en el caso de que no haya
comprobación. De lo contrario, 1 bit)
1/2
Bit de parada (1 bit en el caso de que haya comprobación, de lo
contrario, 2 bits)
Modo RTU
Byte
1
Bit de inicio (nivel bajo)
8
Bit de datos
0/1
Bit de comprobación de paridad (ningún bit en el caso de que no haya
comprobación. De lo contrario, 1 bit)
1/2
Bit de parada (1 bit en el caso de que haya comprobación, de lo
contrario, 2 bits)
12.5 Comprobación de errores
12.5.1 Modo ASCII
Comprobación de redundancia longitudinal (LRC): Se lleva a cabo en el contenido del mensaje
ASCII excepto el carácter de "dos puntos" al principio del mensaje y el par CRLF (retorno de
carro/salto de línea) al final del mensaje.
La LRC se calcula añadiendo bytes de 8 bits sucesivamente en el mensaje, descartando
cualquier acarreo y, a continuación, añadiendo doses para complementar el resultado.
Un proceso para generar una LRC es:
1. Añadir todos los bytes en el mensaje, excluir los "dos puntos" iniciales y el CRLF del final.
Añádalos en un campo de 8 bits, de manera que los acarreos quedarán descartados.
2. Elimine el valor del campo final desde los FF hexadecimales (todos los 1) para producir el
complemento de los unos.
3. Añada 1 para producir el complemento de los doses.
12.5.2 Modo RTU
Comprobación de redundancia cíclica (CRC): El campo de CRC es de dos bytes y contiene un
valor binario de 16 bits.
La CRC empieza precargando primero un registro de 16 bits a todos los 1. A continuación
empieza un proceso para aplicar bytes de 8 bits sucesivamente del mensaje al contenido
actual del registro. Únicamente los ocho bits de datos de cada carácter se utilizan para generar
la CRC. Los bits de inicio y de parada, y el bit de paridad, no se aplican a la CRC.
Un proceso para generar una CRC-16 es:
1. Cargue un registro de 16 bits con FFFF hexadecimales (todos los 1). Llámelo registro de la
CRC.
2. Efectúe un OR exclusivo en el primer byte de 8 bits del mensaje con el byte alto del registro
de la CRC de 16 bits, y ponga el resultado en el registro de la CRC.
3. Mueva el registro de la CRC un bit hacia la derecha (hacia el bit menos significativo (LSB)),
llenando del ceros el bit más significativo (MSB). Extraiga y examine el LSB.
4. (Si el LSB es 0): Repita el paso 3 (vuelva a moverlo).
(Si el LSB es 1): Efectúe un OR exclusivo en el registro de la CRC con el valor polinominal
A001 hexadecimal (1010 0000 0000 0001).
Comunicación Modbus
Función
Función
12-2
Inversor AC10