NOTA:
•
Para montar el mensaje, las palabras de 2 bytes se añadirán del
siguiente modo: 1º el byte alto (high), y después el byte bajo (low).
CÓDIGO DE ERROR (CRC) (2 bytes). El campo Código de Error usa
la secuencia de chequeo de error CRC-16. Utiliza para ello los 2 últimos
bytes del mensaje.
Cálculo del CRC-16
Antes de la transmisión de cada mensaje, se calcula y se suma al
mensaje una secuencia de chequeo de error, llamada CRC-16 (Cyclic
Redundancy Check). El receptor recalcula el CRC-16 con el mensaje
recibido y lo compara con el CRC-16 transmitido para comprobar su
buena recepción.
Cuando se detectan diferentes CRC-16 u ocurre un error de
comunicaciones, el proceso genera un algoritmo de error y el Esclavo no
puede asegurar que haya entendido la transmisión. Así, la CPU no puede
contestar con un mensaje. Es esencial entonces, programar el Maestro de
forma que, si no hay respuesta en un tiempo razonable, considere que se
ha producido un error de comunicaciones. El periodo de este tiempo
depende de la velocidad en baudios, la longitud del mensaje y el tiempo
de ciclo del Esclavo. Una vez determinado este tiempo (TIME-OUT), el
Maestro puede ser programado para retransmitir el mensaje
automáticamente.
NOTAS:
•
Para añadir los 2 bytes del CRC al mensaje, primero se añadirá el
byte bajo (low)), y después el byte alto (high).
•
Si se desea comprobar si el CRC-16 es correcto, debe calcularse el
CRC del mensaje completo, incluido el CRC. Si este cálculo es 0, el
mensaje es correcto.
DAS-8000 ver. 2.5
/ 159
Comunicaciones