Sección 7 Comunicaciones (Modbus)
7.2 Tramas
Según el protocolo de comunicaciones Modbus (RTU), los comandos del ordenador host y las respuestas
del E5AR/ER adoptan la forma de tramas.
A continuación se explican los datos que contienen las tramas de comando y de respuesta.
En la siguiente explicación, una "H'" al principio de un valor numérico (por ejemplo, H'02) indica que el
valor es un número hexadecimal. Un número o letras entre comillas (por ejemplo, "00") es un carácter
ASCII.
■ Trama de comando
● Ejemplo de cálculo
de CRC-16
Ampliación
Método de cálculo de CRC-16:
Tal como se indica a la dere-
cha, se calcula el valor desde
la dirección cliente hasta el
final de los datos y el resultado
se establece en CRC-16.
7-4
En el modo RTU cada trama empieza y termina por un intervalo de
tiempo de silencio que tiene una longitud de 3,5 caracteres como
mínimo.
Dirección
Modo de
esclava
función
Datos
1
1
Rango de cálculo de CRC-16
Intervalo de silencio con una longitud mínima de 3,5 caracteres.
Especifique el "número de unidad" del E5AR/ER. Se configura
Dirección
en formato hexadecimal de H'00 a H'63 (0 a 99). Cuando se
cliente
difunde a todas las unidades, especifique H'00. No se devuel-
ven respuestas a una difusión.
El código de función indica el tipo de comando del ordenador
Código de
host. El código se configura en formato hexadecimal y tiene
función
una longitud de 1 byte. Para obtener más información, consulte
"7.3 Lista de funciones" (P. 7-7).
Texto del comando basado en el código de función. Especifica
Datos
las direcciones de variable y los valores de los datos de confi-
guración (se especifican en formato hexadecimal).
Comprobación de redundancia cíclica. Es un código de com-
CRC-16
probación calculado desde la dirección cliente hasta el final de
los datos. Dos bytes en formato hexadecimal.
Intervalo de silencio con una longitud mínima de 3,5 caracteres.
A continuación se explica cómo se procesa un mensaje 1 byte cada
vez en el registro de proceso (es un registro de 16 bits denominado
"registro CRC").
(1) Configurar un valor inicial de H'FFFF en el registro CRC.
(2) Realizar una operación XOR en el registro CRC y el primer bytes del
mensaje; devolver el resultado al registro CRC.
(3) Desplazar el contenido del registro CRC 1 bit hacia la derecha, rellenando
MSB con "0".
(4) Si el bit desplazado desde LSB es "0", repetir el paso (3).
Si el bit desplazado desde LSB es "1", realizar una operación XOR en el
registro CRC y H'A001; devolver el resultado al registro CRC.
(5) Repetir los pasos (3) y (4) hasta que el contenido del registro se haya
desplazado 8 bits hacia la derecha.
CRC-16
2 bytes