Modbus

Modbus es un protocolo de comunicaciones situado en el nivel 7 del Modelo OSI, basado en la arquitectura maestro/esclavo (RTU) o cliente/servidor (TCP/IP), diseñado en 1979 por Modicon para su gama de controladores lógicos programables (PLCs). Convertido en un protocolo de comunicaciones estándar de facto en la industria, es el que goza de mayor disponibilidad para la conexión de dispositivos electrónicos industriales.[1]

Las principales razones por las cuales el uso de Modbus en el entorno industrial se ha impuesto a otros protocolos de comunicaciones son:

  • Se diseñó teniendo en cuenta su uso para aplicaciones industriales
  • Es público y gratuito
  • Es fácil de implementar y requiere poco desarrollo
  • Maneja bloques de datos sin suponer restricciones

Modbus permite el control de una red de dispositivos, por ejemplo un sistema de medida de temperatura y humedad, y comunicar los resultados a un ordenador. Modbus también se usa para la conexión de un ordenador de supervisión con una unidad remota ( RTU) en sistemas de supervisión adquisición de datos ( SCADA). Existen versiones del protocolo Modbus para puerto serie 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.

Existe gran cantidad de modems que aceptan el protocolo Modbus. Algunos están específicamente diseñados para funcionar con este protocolo. Existen implementaciones para conexión por cable, wireless, SMS o GPRS. La mayoría de problemas presentados hacen referencia a la latencia y a la sincronización.

Versiones del protocolo

Hay muchas variantes de protocolos Modbus, existen versiones del protocolo Modbus para el puerto serie, para Ethernet, y otros protocolos que soportan el conjunto de protocolos TCP/IP de Internet:

  • 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.
  • Pemex Modbus — Esta es una extensión de Modbus estándar con soporte para datos históricos y de flujo. Fue diseñado para la compañía petrolera Pemex para su uso en el control de procesos y nunca alcanzó un uso generalizado.
  • Enron Modbus — Esta es otra extensión del estándar Modbus desarrollada por Enron Corporation con soporte para variables enteras de 32 bits y de punto flotante y datos históricos y de flujo. Los tipos de datos se asignan utilizando direcciones estándar.[5]​ Los datos históricos cumplen con un estándar de la industria del American Petroleum Institute (API, por sus siglas en inglés) según la forma en que deben almacenarse los datos.

El modelo de datos y las llamadas de función son idénticas para las primeras 4 variantes de protocolos; Sólo la encapsulación es diferente. Sin embargo, las variantes no son interoperables, ni sus formatos de trama tampoco.

Other Languages
català: Modbus
čeština: Modbus
Deutsch: Modbus
English: Modbus
eesti: Modbus
فارسی: مودباس
suomi: Modbus
français: Modbus
Bahasa Indonesia: Modbus
italiano: Modbus
日本語: Modbus
polski: Modbus
português: Modbus
русский: Modbus
svenska: Modbus
Türkçe: Modbus
українська: Modbus
中文: Modbus