Redes Modbus

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

REDES MODBUS

Modbus es un protocolo de comunicaciones, basado en la arquitectura maestro/esclavo o cliente/servidor,


diseñado en 1979 por Modicon para su gama de controladores lógicos programables (PLCs).

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.

¿Qué es el protocolo Modbus TCP?


Modbus/TCP es un protocolo de comunicación diseñado que permite a equipos industriales tales como
PLCs, PC, drivers para motores y otros tipos de dispositivos físicos de entrada/salida, comunicarse sobre
una red Ethernet. Fue introducido por Schneider Automation como una variante de la familia de protocolos
MODBUS, ampliamente usada para la supervisión y el control de equipo de automatización.
Específicamente el protocolo define el uso de mensajes MODBUS en un entorno intranet o internet usando
los protocolos TCP/IP.

La especificación Modbus/TCP define un estándar interoperable en el campo de la automatización


industrial, el cual es simple de implementar para cualquier dispositivo que soporte sockets TCP/IP. Todas
las solicitudes son enviadas vía TCP sobre el puerto registrado 502 y normalmente usando comunicación
half-duplex sobre una conexión dada. Es decir, no hay beneficio en enviar solicitudes adicionales sobre una
conexión única mientras una respuesta está pendiente.

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.

Cuales son los beneficios de utilizar el protocolo Modbus


RTU/TCP?
 De codigo abierto, no se requiere pagar por licencia.
 Ampliamente soportado por HMIs o softwares SCADA
 Facil de usar
 Se pueden integrar varios equipos facilmente
 Bajo costo de desarrollo
 Conocido apliamente en la industria
 Modbus RTU — Es la implementación más común disponible para Modbus. Se utiliza en la
comunicación serie y hace uso de una representación binaria compacta de los datos para
el protocolo de comunicación. El formato RTU sigue a los comandos/datos con una suma
de comprobación de redundancia cíclica (CRC) como un mecanismo de comprobación de errores
para garantizar la fiabilidad de los datos. Un mensaje Modbus RTU debe transmitirse
continuamente sin vacilaciones entre caracteres. Los mensajes Modbus son entramados
(separados) por períodos inactivos (silenciosos).
 Modbus ASCII — Se utiliza en la comunicación serie y hace uso de caracteres ASCII para
el protocolo de comunicación. El formato ASCII utiliza un checksum de control de redundancia
longitudinal (LRC). Los mensajes Modbus ASCII están entramados por los dos puntos principales
(":") y la nueva línea (CR/LF).
 Modbus TCP/IP o Modbus TCP — Se trata de una variante Modbus utilizada para comunicaciones
a través de redes TCP/IP, conectándose a través del puerto 502. 2 No requiere un cálculo de suma
de verificación (checksum), ya que las capas inferiores ya proporcionan protección de checksum.
 Modbus sobre TCP/IP o Modbus sobre TCP o Modbus RTU/IP — Esta es una variante de Modbus
que difiere del Modbus TCP en que se incluye una suma de comprobación en la carga útil como en
Modbus RTU.
 Modbus sobre UDP — Algunos han experimentado con el uso de Modbus sobre UDP en redes IP,
lo que elimina los gastos generales necesarios para TCP.3
 Modbus Plus (Modbus+, MB+ o MBP) — Es una versión extendida del protocolo y privativa
de Schneider Electric y a diferencia de las otras variantes, soporta comunicaciones peer-to-
peer entre múltiples masters.4 Requiere un co-procesador dedicado para manejar HDLC. Utiliza par
trenzado a 1 Mbit/s y sus especificaciones son muy semejantes al estándar EIA/RS-485 aunque no
guarda compatibilidad con este, e incluye transformador de aislamiento en cada nodo. Se requiere
hardware especial para conectar Modbus Plus a un ordenador, normalmente una tarjeta diseñada
para bus ISA, PCI o PCMCIA.

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

Ya lo hemos mencionado en otros post, estamos hablando de un protocolo de aplicación y por lo


tanto, podemos encontrarnos su implementación sobre diferentes medios fìsicos, en concreto,
sobre RS-232 o RS-485 – Modbus RTU y Modbus ASCII- y Ethernet, Modbus TCP/IP. Si vamos
un poco más allá, las comunicaciones serie y TCP/IP pueden ser implementadas  para conexión
por cable, wireless, SMS o GPRS. En función de cada una además, tenemos más
particularidades. En redes Modbus RTU, se prevé un total de 255 direcciones entre @1 y @254
para dispositivos, y la @0 reservada para broadcasting. Cabe mencionar de cada protocolo físico,
el broadcasting no es posible sobre RS-232, mientras que en RS-485 el broadcasting se
puede extender a 32 dispositivos al mismo tiempo. La velocidad de transferencia para estas redes
está limitada a 19,2 kbps. En redes Modbus TCP/IP, puede haber más dispositivos en la red y
también la velocidad de transferencia es mayor, 10/100 Mbaud. Esto convierte a Modbus en un
protocolo IoT, tal y como comentábamos en esta entrada.

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.

¿Qué es un protocolo de comunicación?


 
En principio un protocolo de comunicación es un conjunto de reglas que permiten la
transferencia e intercambio de datos entre los distintos dispositivos que conforman una red,
por ejemplo, entre un conjunto de medidores de temperatura y el computador central, y entre
éste y los actuadores que subirán o bajaran la temperatura de un proceso.
 
Como podemos ver el protocolo de comunicación es fundamental para que la automatización
de los procesos industriales sea posible. A medida que la tecnología ha avanzado, los
protocolos de comunicación han tenido un proceso de evolución también, por ejemplo, hoy es
posible la comunicación en tiempo real e inalámbrica entre todo tipo de sensores,
registradores, indicadores, actuadores y centros de proceso de alta complejidad, ya sea
dentro de una planta industrial, o entre diferentes nodos industriales ubicados en puntos
geográficos distintos. Los protocolos que se usan actualmente en la industria provienen, por
un lado, de la evolución de los antiguos protocolos basados en comunicaciones de serie, y,
por otro, de la creación de nuevos estándares basados en nuevas tecnologías. Un buen
ejemplo de ese desarrollo en un protocolo de comunicación es Modbus.
 
¿Qué es Modbus?
Modbus es un protocolo de comunicación que nace en 1979 en la empresa estadounidense
Modicon. Fue concebido de un inicio como un protocolo de uso público que  regula el
procedimiento que el controlador y el esclavo utilizan para intercambiar datos, regula también
el formato de estos datos, y cómo se tratan los errores. Modbus no especifica sin embrago el
tipo de red de comunicaciones a utilizar, lo que le otorga una alta compatibilidad para ser
implementado en diferentes tipos de redes, Ethernet, RS-485, RS-232 etc. Estas
características, sumadas a su facilidad de uso e implementación permitieron su rápida
difusión, siendo uno de los protocolos de comunicación más populares en sistemas de
automatización y control industrial.
Modbus opera en modo “maestro – esclavo” (cliente - servidor) siendo el maestro (o servidor)
quien controla en todo momento las comunicaciones con los esclavos que pueden ser hasta
247 (o 247 dispositivos). Los esclavos (clientes) se limitan a entregar los datos solicitados o a
ejecutar la acción indicada por el maestro.
 
La comunicación del maestro hacia los esclavos puede ser de dos tipos:
- “Peer to peer”: en que se establece comunicación “maestro-esclavo”, el maestro solicita
información y el esclavo responde (se envía el comando a un solo dispositivo).
- “Broadcast”: en que se establece comunicación “maestro - todos los esclavos”, el maestro
envía un comando a todos los esclavos de la red sin esperar respuesta.
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) de allí que encontremos
con relativa frecuencia descripciones que señalan que el protocolo de comunicación de un
equipo es Modbus RTU. 
 
Modbus/TCP Corresponde a una variante que posibilita a equipos industriales tales como
PLCs, PC, controladores para motores y otros tipos de dispositivos físicos de entrada/salida,
comunicarse sobre una red Ethernet,  permitiendo que mensajes MODBUS puedan utilizarse
en un entorno intranet o internet usando los protocolos TCP/IP 
 

¿Qué ventajas ofrece Modbus?


Las razones que han llevado a Modbus a convertirse en un estándar como protocolo de
comunicación son varias, entre ellas:

 Código abierto, no se requiere pagar por licencia.


 Ampliamente soportado por HMI, PLC; o softwares SCADA
 Fácil de usar
 Se pueden integrar varios equipos fácilmente
 Bajo costo de desarrollo
 Conocido ampliamente en la industria
 Facilidad de adaptación a las nuevas tecnologías en instrumentos y
telecomunicaciones

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.

¿Qué es una trama?


En protocolos de comunicación, las tramas son unidades de datos que envía un dispositivo hacia
otro/s, y que, en conjunto, conforman un mensaje. Por lo tanto, y a modo de simplificación,
podríamos decir que en definitiva la trama es el conjunto de bits que conforman un mensaje. El
formato de los mensajes depende, además del protocolo en si, de la capa física con la que trabaje
el protocolo. Por lo tanto, no podemos esperar que la trama de mensajes de Modbus RTU y
Modbus TCP sean exactamente igual, aunque en ambos casos conservan similitudes.

¿Qué campos conforman la tramas Modbus?


Una vez que sabemos de qué se tratan las tramas, tratemos de identificar qué campos identifican
las tramas Modbus:

 Device Address: Dirección del dispositivo hacia donde se dirige el emisor.


 Function Code: Función que necesita realizar el emisor.
 Register Address: Dirección a la que queremos acceder.
 Number of Registers:  Número de registros sobre los que queremos realizar la función.
Por ejemplo, para leer dos registros  del Holding Register 40212 de un Slave cuya dirección es 15,
el comando que el Master debería enviar sería 15 -03-0212-
02.   Luego, puede haber más
campos, por ejemplo, normalmente al final del mensaje nos encontramos con el Error Check.

 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.

Tramas en Modbus TCP


Como ya hemos mencionado, en realidad las tramas completas dependerán del medio que
usemos para enviar nuestros mensajes Modbus. Por ejemplo, en Modbus TCP la trama Modbus
viene dentro de una trama TCP, por lo que ésta es un poco más larga. Hacemos hincapié en
Modbus TCP porque esta especificación permite a Modbus poder trabajar sobre arquitecturas
modernas y rápidas, no limitando su uso a sistemas de constrol sino incluso haciendo Modbus
valido para enviar tramas sobre la red empresarial.

Campos de una trama Modbus


La tramas Modbus se identifican por una serie de campos, que son los siguientes:
 Device Address: Se trata de la dirección del dispositivo hacia el que el emisor se está
dirigiendo.
 Register Address: En este caso es a la que tenemos intención de acceder.
 Function Code: Es la función que el emisor habría de realizar.
 Number of Registers: Se trata del número de registros sobre los cuales se debe realizar la
función anterior.
Estos se envían siguiendo la secuencia Device/Function/Register/Number. Además, se pueden
añadir otros campos a continuación como es el Error Check, basntante común. Este consiste en
una verificación del mensaje enviado y recibido, incluyendo un CRC que se compara para
comprobar que el contenido no se ha deformado.
Estos son los campos que nos encontramos en un Modbus cualquiera. Después, dependiendo de
si trabajamos con TCP, RTU, etc. Las tramas se pueden completar con algunos otros

Trama Modbus TCP


Como decimos, para completar una trama será necesario tener en cuenta el medio que se utiliza.
Lo común es trabajar con tramas Modbus TCP, que incluyen mensajes un poco más largos pero
mucho más completos que si trabajásemos de manera general.
Le damos importancia a esta debido a que es una especificación que hace que Modbus pueda
trabajar en arquitecturas muy rápidas y modernas. De esta manera, el uso no se ve limitado a
sistemas de control; de hecho, se puede conseguir que, incluso, Modbus envíe tramas en la red
empresarial, con lo que nos ahorramos pasos y, con ello, brechas en la seguridad.

¿Qué significa Modbus RTU?

Modbus RTU (Unidad Terminal Remota) es uno de los dos modos de


transmisión definidos en la especificación Modbus original. Los dos
modos son Modbus RTU y ASCII, y ambos están diseñados para usarse
con dispositivos serie que admiten los protocolos RS232, RS485 y
RS422. Una característica distintiva de Modbus RTU es que usa
codificación binaria y una fuerte verificación de los errores CRC.
Modbus RTU es la implementación del protocolo Modbus que se usa
con mayor frecuencia en aplicaciones industriales e instalaciones de
producción automatizadas.
.

También podría gustarte