Código De Redundancia Cíclica (Crc); Códigos De Excepción - Power Electronics SDRIVE 700 Serie Manual Tecnico De Usuario

Tabla de contenido

Publicidad

SDRIVE 700
11.6.5. Código de Redundancia Cíclica (CRC)
El código de redundancia cíclica lo utiliza tanto el maestro como el esclavo a fin de detectar
errores en la transmisión. Este código se añade al final de la trama transmitida. El polinomio
característico de este código es:
El receptor calcula el CRC del mensaje recibido y lo compara con el código de redundancia
cíclica recibido. En caso de error, todo el mensaje es descartado. No es posible recuperar errores
dentro del mensaje.
11.6.5.1. Teoría
Todo el mensaje (sin los bits de start / stop ni bit de paridad) se considera como una secuencia
continua para ser procesada con el bit más significativo transmitiéndose en primer lugar.
El mensaje se premultiplica por 2
mostrado arriba.
El cociente se desecha y el resto de 16 bits se añade al mensaje. Este resto se pre-inicializa a
0FFFFH a fin de evitar aceptar una secuencia de ceros como una secuencia válida.
El receptor recibe la secuencia completa y efectúa la división con el mismo polinomio
característico; en caso de que el mensaje se haya recibido sin errores el resto de la división es
cero.
El dispositivo usado para la transmisión serie de datos enviará el bit menos significativo LSB de
cada carácter primero. A la hora de generar el CRC, el primer bit transmitido se define como el bit
más significativo MSB del dividendo.
Por conveniencia, y como quiera que no hay acarreos en esta aritmética, asumamos que el bit
más significativo MSB es el de la derecha. Por ello, si queremos ser consistentes, el orden de bit
del polinomio característico se debe invertir. El bit más significativo se descarta en tanto en
cuanto afecta sólo al cociente y no al resto.
Así que el polinomio original
queda así
11.6.6. Códigos de Excepción
Tanto los errores de protocolo como los errores en el rango de datos provocan una respuesta
del SD700 con una respuesta de excepción.
Una respuesta de excepción consiste en la dirección del esclavo que ha detectado el error, el
código de función recibido por el esclavo (con el bit más significativo puesto a 1 a fin de indicar la
respuesta de excepción), el código de error, y el código de redundancia cíclica.
En la tabla que sigue se resumen los códigos de excepción y sus causas:
Código
Nombre
01
Función ilegal
02
Dirección de datos ilegal
03
Valor de datos ilegal
06
Ocupado, mensaje rechazado.
07
Reconocimiento.
COMUNICACIÓN MODBUS
312
CRC-16 = x
16
+ x
15
+ x² + 1
16
(2 bytes a la izquierda) y luego se divide por el polinomio
x
16
+x
15
+x²+1 = 1100 0000 0000 00101
1010 0000 0000 0001 (A001H)
Causa
El campo de función recibido por el esclavo está fuera de rango. El
rango de código de función válido es el código 3 y 16.
La dirección de datos recibida por el esclavo está fuera de rango.
El valor de datos recibido por el esclavo está fuera de rango.
El esclavo no puede llevar a cabo de forma inmediata la acción
solicitada por el maestro.
La acción solicitada no se puede llevar a cabo.
POWER ELECTRONICS

Hide quick links:

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

Sd7011552112

Tabla de contenido