Principio de cliente-servidor de Modbus
Descripción general
El protocolo Modbus intercambia información mediante un mecanismo de solicitud-respuesta entre un cliente y un esclavo servidor. El principio cliente/servidor es un modelo de protocolo de comunicación en el cual un dispositivo (el cliente) controla uno o más dispositivos (el servidor). En una red Modbus estándar, hay un cliente y hasta 31 servidores.
Encontrará una descripción detallada del protocolo Modbus 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 puede intercambiar información mediante 2 modos de comunicación:
-
modo de unidifusión
-
modo de difusión
Modo de unidifusión
Modo de difusión
Tiempo de respuesta
Valores con el protocolo Modbus:
-
Valor típico < 10 ms para el 90 % de los intercambios
-
Para los mensajes normales, el valor máximo de Tr es de unos 700 ms, por lo que 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:
-
Bit único
-
Registro (16 bits)
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 12000 es 0x2EDF (11999).
Tramas
Todas las tramas intercambiadas con el protocolo Modbus RTU 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 |
Solo 1 byte |
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) |
Configuración predeterminada
A continuación se muestra la configuración predeterminada de la comunicación Modbus.
Elemento |
Ajuste |
---|---|
Velocidad de transmisión en baudios |
19 200 bps |
Datos |
8 bits |
Paridad |
Par |
Parada |
2 bits |
Dirección |
1 |