Redes Modbus
Redes Modbus
Redes Modbus
Debido a que este protocolo fue público, de fácil uso y que requiere poco desarrollo (maneja bloques de
datos sin suponer restricciones) se convirtió en un protocolo de comunicaciones estándar en la industria. Es
el protocolo de mayor disponibilidad para la conexión de dispositivos electrónicos industriales.
El protocolo Modbus permite el control de una red de dispositivos, por ejemplo un equipo de medición
temperatura y humedad puede comunicar los resultados a una PC. Modbus también se usa para la
conexión de un PC de supervisión con una unidad remota (RTU) en sistemas de supervisión de adquisición
de datos (SCADA). Existen versiones del protocolo Modbus para puerto serial y Ethernet (Modbus/TCP).
Cada dispositivo de la red Modbus posee una dirección única. Cualquier dispositivo puede enviar órdenes
Modbus, aunque lo habitual es permitirlo sólo a un dispositivo maestro. Cada comando Modbus contiene la
dirección del dispositivo destinatario de la orden. Todos los dispositivos reciben la trama pero sólo el
destinatario la ejecuta (salvo un modo especial denominado "Broadcast"). Cada uno de los mensajes
incluye información redundante que asegura su integridad en la recepción. Los comandos básicos Modbus
permiten controlar un dispositivo RTU para modificar el valor de alguno de sus registros o bien solicitar el
contenido de dichos registros.
Modbus/TCP básicamente encapsula una trama MODBUS dentro de una trama TCP en una manera simple
como se muestra en la figura a continuación.
Limitaciones[editar]
Dado que Modbus fue diseñado a finales de los setenta para comunicarse con controladores
lógicos programables, el número de tipos de datos se limita a aquellos entendidos por los PLC en ese
momento. Los objetos binarios grandes no son compatibles
No existe una forma estándar para que un nodo encuentre la descripción de un objeto de datos, por
ejemplo, para determinar si un valor de registro representa una temperatura entre 30 y 175 grados.
Dado que Modbus es un protocolo maestro / esclavo, no es posible que un dispositivo de campo
"informe por excepción" (excepto a través de Ethernet TCP / IP, llamado open-mbus) - el nodo maestro
debe rutinariamente encuestar cada dispositivo de campo y buscar cambios en los datos. Esto
consume ancho de banda y tiempo de red en aplicaciones en las que el ancho de banda puede ser
costoso, como por ejemplo un enlace de radio de baja velocidad binaria.
Modbus está restringido al direccionamiento de 254 dispositivos en un enlace de datos, lo que limita
el número de dispositivos de campo que pueden conectarse a una estación maestra (una vez más,
Ethernet TCP/IP es una excepción).
Las transmisiones Modbus deben ser contiguas, lo que limita los tipos de dispositivos de
comunicaciones remotas a aquellos que pueden almacenar datos para evitar lagunas en la transmisión.
El protocolo Modbus no ofrece seguridad contra órdenes no autorizadas o interceptación de datos. 7
Funcionamiento
Lo primero es lo primero: recordar el funcionamiento: En redes Modbus, las reglas de cómo fluye
la comunicación las dicta el propio protocolo. En la comunicación, hay siempre un maestro que
pregunta datos a uno o varios esclavos al mismo tiempo. El protocolo determina, en función del
mensaje enviado por el maestro, qué acción debe tomar el esclavo (por ejemplo, abrir una válvula
o comunicar un dato).
Capa física
Cantidad de dispositivos
Parece obvio pero muchas veces, no se tiene en consideración. ¿Cuántos dispositivos tiene la
red? La cantidad de dispositivos va a afectar en la latencia y sincronización de las
comunicaciones.
Implementaciones
Por último, podemos encontrar muchas implementaciones diferentes. Por ejemplo, podemos
encontrar dispositivos RTU que envíen datos de caudal remotamente desde varios kilómetros de
distancia, pero también sistemas más locales conectados a un sistema SCADA.
Tramas Modbus
Puede que en algún momento te tengas que sentar e ir un paso más allá que simplemente leer
datos desde tu SCADA, ya sea para diagnosticar un problema o para verificar la red, y analizar los
datos crudos que vienen de un equipo Modbus. Por eso, en esta entrada vamos a analizar cómo
se conforman las tramas Modbus.
Error Check: El CRC es una verificación del mensaje, para comprobar que éste no tiene
malformaciones. Esta verificación se corresponde con el checksum de la trama.
Por supuesto, éste análisis no completa la trama completa del protocolo completo – RTU, TCP,
etc – pero sí son los campos de cualquier protoclo Modbus, sea cuál sea el medio.