Principio de cliente-servidor de Modbus
Descripción general
El protocolo Modbus RTU intercambia información mediante un mecanismo de solicitud-respuesta entre un cliente y un servidor. El principio cliente-servidor es un modelo de protocolo de comunicación en el que un dispositivo (el cliente) controla uno o más dispositivos (los servidores). En una red Modbus estándar, hay un cliente y hasta 31 servidores.
Una descripción detallada del protocolo Modbus está disponible en www.modbus.org.
Características del principio cliente-servidor
El principio cliente-servidor presenta las siguientes características:
-
Solo se conecta a la red un cliente a la vez.
-
Solo el cliente puede iniciar la comunicación y enviar solicitudes a los servidores.
-
El cliente puede dirigirse a cada servidor de forma individual mediante su dirección específica o a todos los servidores simultáneamente mediante la dirección 0.
-
Los servidores solo pueden enviar respuestas al cliente.
-
Los servidores no pueden iniciar la comunicación, ya sea con el cliente o con otros servidores.
Modos de comunicación cliente-servidor
El protocolo Modbus RTU puede intercambiar información utilizando los dos modos de comunicación:
-
modo solicitud-respuesta
-
modo de difusión
Modo solicitud-respuesta
Modo de difusión
Tiempo de respuesta
Los valores con el protocolo Modbus son:
-
Valor típico < 10 ms para el 90% de los intercambios
-
Valor máximo en torno a 700 ms. Por tanto, se recomienda implementar un tiempo de espera de 1 segundo después de enviar una solicitud Modbus.
Intercambio de datos
El protocolo Modbus utiliza 2 tipos de datos:
-
bits
-
Palabras de 16 bits llamadas registros
Los relés VigiPacT son compatibles con ambos tipos de datos.
Cada registro tiene un número de registro. Cada tipo de datos (bit o registro) tiene una dirección de 16 bits.
Los mensajes intercambiados con el protocolo Modbus contienen la dirección de los datos que se van a procesar.
Registros y direcciones
La dirección del número de registro n es n-1. En las tablas que se detallan en las siguientes secciones de este documento se proporcionan los números de registro (en formato decimal) y sus correspondientes direcciones (en formato hexadecimal). Por ejemplo, la dirección del número de registro 100 es 0x0063 (99).
Tramas
Todas las tramas intercambiadas con el protocolo Modbus tienen un tamaño máximo de 256 bytes y están compuestas por 4 campos:
Campo |
Definición |
Tamaño |
Descripción |
---|---|---|---|
1 |
Número de servidor |
1 byte |
Destino de la solicitud:
|
2 |
Códigos de función |
1 byte o 2 bytes |
Consulte Funciones de Modbus |
3 |
Datos |
n registros |
Datos de solicitud o respuesta |
4 |
Comprobación |
2 bytes |
CRC16 (para comprobar errores de transmisión) |