8 COMUNICACIONES
Una secuencia completa de solicitud / respuesta consiste en los siguientes bytes transmitidos como marcos
de datos separados:
MENSAJE PREGUNTA DEL MAESTRO:
DIRECCIÓN ESCLAVA: (1 byte)
CÓDIGO DE FUNCIÓN: (1 byte)
DATOS:
(número variable de los bytes dependiendo del CÓDIGO DE FUNCIÓN)
CRC:
(2 bytes)
MENSAJE DE RESPUESTA DEL ESCLAVO:
DIRECCIÓN ESCLAVA: (1 byte)
CÓDIGO DE FUNCIÓN: (1 byte)
DATOS:
(número variable de los bytes dependiendo del CÓDIGO DE FUNCIÓN)
CRC:
(2 bytes)
Se termina un mensaje cuando no se recibe ningún dato por un período de tiempo de transmisión de 3½.
caracteres. Por lo tanto, el dispositivo que transmite no debe permitir espacios entre bytes más grandes que
este intervalo (cerca de 3 ms en 9600 baudios).
• DIRECCIÓN DEL ESCLAVO Éste es el primer byte de cada mensaje. Este byte representa la dirección
asignada por el usuario del dispositivo esclavo que recibirá el mensaje enviado por el maestro. A cada
dispositivo esclavo se le debe asignar una dirección única, y solo el esclavo al cual se dirigió responderá
a un mensaje que comience con su dirección. En un mensaje de pregunta del maestro la DIRECCIÓN
ESCLAVO representa la dirección del esclavo a al cual se está enviando la solicitud. En un mensaje de
respuesta esclavo la DIRECCIÓN ESCLAVO es una confirmación que representa la dirección del esclavo
que está enviando la respuesta. Un mensaje de pregunta del maestro con una DIRECCIÓN ESCLAVO
de 0, indica un comando de transmisión. Todos los esclavos en el enlace de comunicación tomarán
acción basados en el mensaje, pero ninguno responderá al maestro. El modo de transmisión se reconoce
solamente cuando está asociado con los FUNCTION CODES (Códigos de función) 05h, 06h, y 10h. Para
cualquier otro código de función, un mensaje con dirección del esclavo 0 en modo de transmisión no será
tomado en cuenta.
• CÓDIGO DE FUNCIÓN Éste es el segundo byte de cada mensaje. Modbus define los códigos de función
del 1 al 127. El 745 de GE Power Management implementa algunas de estas funciones. En un mensaje
de la pregunta maestro el CÓDIGO DE FUNCIÓN le dice al esclavo acción realizar. En un mensaje de
respuesta esclavo, si el CÓDIGO DE FUNCIÓN enviado por el esclavo es igual al CÓDIGO DE
FUNCIÓN enviado por el maestro entonces el esclavo realizará la función como se solicitó. Si el bit de
orden alto del CÓDIGO DE FUNCIÓN enviado del esclavo es un 1 (es decir si es el CÓDIGO DE
FUNCIÓN > 7Fh) entonces el esclavo no realizará la función como se solicitó y está enviando un error o
una respuesta de excepción.
• DATOS Éste será un número variable de bytes dependiendo del CÓDIGO DE FUNCIÓN. Esto puede
incluir valores reales, PUNTOS DE AJUSTE, o las direcciones enviadas por el maestro al esclavo o por el
esclavo al maestro.
• CRC Este es un código de corrección de errores de dos bytes. La versión RTU de Modbus incluye dos
CRC-16 (verificación de redundancia cíclica de 16 bits) con cada mensaje. El algoritmo CRC-16
esencialmente trata el flujo de datos completos (bits de datos solamente; arranque, paro y paridad son
ignorados) como un número binario continuo. Este número es primero desplazado a la izquierda 16 bits y
después dividido por un polinomio característico (11000000000000101B). El resto de los 16 bits de la
división se añaden al final del mensaje, MSByte primero. El mensaje resultante, incluyendo el CRC
cuando está dividido por el mismo polinomio en el receptor, dará un cero restante si no ha ocurrido
ningún error de transmisión. Si un dispositivo esclavo de Modbus de GE Power Management recibe un
mensaje en el cual un error está indicado por el cálculo CRC-16, el dispositivo esclavo no responderá al
mensaje. Un error CRC-16 indica que uno o más bytes del mensaje fueron recibidos incorrectamente y
por lo tanto el mensaje entero debería ser ignorado para evitar que el dispositivo esclavo realice cualquier
operación incorrecta. El cálculo CRC-16 es un método estándar de la industria usado para la detección
de error.
GE Power Management
745 Relé de Administración del Trasformador
8.2 PROTOCOLO MODBUS
8.2.5 FORMATO DEL PAQUETE DE DATOS
8
8-3