ELX-Software

Automatización industrial e IoT

ELX-MODBUS

Un puente entre el bus Modbus y un broker MQTT

Interroga los equipos Modbus por Ethernet y por el bus serie RS-485, convierte los registros en bruto en valores legibles, los publica en MQTT y devuelve las órdenes por el mismo camino. Se configura por completo en el navegador — no hay ningún archivo de configuración que editar.

v1.2.38 LinuxARM Gratuito

Pasarelas TCP y serie

Conexión por Ethernet — Modbus TCP o RTU sobre TCP — o por un puerto local como /dev/ttyUSB0. Velocidad, paridad, bits de parada y tiempos se ajustan todos.

Una biblioteca de dispositivos ya hechos

Plantillas construidas a partir de las hojas de datos de los fabricantes: registros, escala, controles y enumeraciones ya están rellenos. Añadir un dispositivo conocido cuesta dos clics en lugar de una tarde.

Los registros, con precisión

Holding, Input, Coil y Discrete; enteros, coma flotante y cadenas; orden de palabras y de bytes; máscaras de bits; multiplicador y desplazamiento. Cualquier registro suelto se desactiva sin tocar los demás.

Un panel vivo

Fichas de dispositivo con valores que cambian en su sitio, interruptores, deslizadores y campos de entrada. Mover una ficha cambia también el orden de interrogación, porque el orden en pantalla es el orden en el bus.

Un terminal de protocolo

El intercambio en bruto en hexadecimal, con la duración y el error de cada petición. Es la pantalla que convierte un dispositivo desconocido en uno que funciona.

Un paquete, ninguna dependencia

Un único .deb instala un servicio systemd en Debian, Ubuntu y Raspberry Pi OS. Compilaciones para amd64, arm64 y armhf; no hay nada más que instalar.

Capturas

El panel: fichas de dispositivo con valores en directo, interruptores y deslizadores
La lista de dispositivos y el orden de interrogación
El mapa de registros de un dispositivo
Pasarelas: TCP y RTU serie
La biblioteca de dispositivos con las plantillas hechas
Ajustes del broker MQTT
El terminal de protocolo — el intercambio en directo, en hexadecimal

Qué problema resuelve

Los equipos industriales hablan Modbus — un protocolo de 1979 que se convirtió en la norma de hecho para sensores, relés, contadores y accionamientos. La domótica y la gestión de edificios hablan MQTT. Los dos no se encuentran por sí solos, y el remedio habitual es un montón de guiones, uno por dispositivo, cada uno de los cuales deja de funcionar en cuanto alguien cambia una dirección de registro.

ELX-MODBUS es ese montón sustituido por un solo servicio. Interroga el bus, convierte los registros en bruto en valores con nombre, los publica hacia su broker y acepta las órdenes de vuelta. Todo se configura en un navegador.

Dispositivos Modbus

Sensores, relés, accionamientos, contadores — en RS-485 o Ethernet

ELX-MODBUS

Interrogación, descodificación, publicación, escritura de vuelta

Broker MQTT

Home Assistant, Node-RED, OpenHAB, su propio código

Tres pasos hasta los datos en el broker

  1. Añada una pasarela. Describa la conexión al bus: la dirección de un convertidor RTU sobre TCP, o el puerto serie con su velocidad y su paridad.
  2. Añada un dispositivo. Elija una plantilla de la biblioteca o construya su propio mapa de registros, y luego indique la dirección en el bus y el prefijo MQTT.
  3. Indique su broker. Introduzca la dirección y active la publicación. Los valores salen enseguida hacia los temas, y las órdenes vuelven.
Cómo se comporta la interrogaciónDentro de una pasarela las peticiones van estrictamente en secuencia — el bus tiene un solo maestro — y siguen la lista de arriba abajo. Las pasarelas distintas se interrogan en paralelo. El periodo se fija por dispositivo o por registro.

Cómo los valores se convierten en temas

Un registro en bruto se convierte en valor mediante valor = bruto × multiplicador + desplazamiento, teniendo en cuenta el tipo de dato, el orden de palabras y bytes y una posible máscara de bits. El resultado se publica en {base}/{prefijo}/{clave}.

Un aire acondicionado del salón
home/livingroom/ac/temp        → 24.5      (publicado en cada interrogación)
home/livingroom/ac/set_temp    ← 22.0      (tema de orden, se escribe en el registro)
home/livingroom/ac/mode        → cooling

Los canales de lectura y escritura reciben un tema de orden — {tema}/set por omisión. Un valor enviado ahí pasa al frente de la cola de interrogación y se escribe enseguida: el mando se siente inmediato en lugar de retrasarse un ciclo.

La retenciónCon la marca de retención el broker conserva el último valor y se lo entrega a un suscriptor nuevo en cuanto se conecta. Un panel abierto a las tres de la madrugada muestra números en lugar de huecos.

La biblioteca de dispositivos

En las plantillas, el mapa de registros, la escala y el control ya están configurados según la hoja de datos. Entre ellas:

GrupoDispositivos
ClimaAdaptadores Modbus para aires acondicionados, reguladores de caldera con OpenTherm y eBus, unidades de ventilación
RelésMódulos de relés de seis y dieciséis canales con registros de orden de apertura y cierre
SensoresSondas de temperatura y humedad, sensores múltiples, sondas 1-Wire
IluminaciónReguladores, controladores LED, pasarelas DALI
AnalógicoMódulos de salida 0–10 V y 4–20 mA
Todo lo demásUn dispositivo en blanco en el que usted mismo introduce los registros
Un dispositivo que no está en la bibliotecaCree un dispositivo propio e introduzca los registros a mano — cada campo lleva una indicación de lo que corresponde poner. El terminal de protocolo ayuda a encontrar direcciones y formatos: muestra lo que el dispositivo responde de verdad.

En pocas palabras

Transportes
Modbus TCP, RTU sobre TCP, RTU por puerto serie
Tipos de registro
Holding, Input, Coil, Discrete
Tipos de dato
int, float, cadena, máscaras de bits, orden de palabras y bytes
Sistemas operativos
Debian, Ubuntu, Raspberry Pi OS
Arquitecturas
amd64, arm64, armhf
Configuración
Interfaz web; estado en SQLite, exportable a JSON
Puerto de la interfaz
8080 por omisión
Dependencias externas
Ninguna

ELX-MODBUS

Un puente entre el bus Modbus y un broker MQTT

Descargar

En la misma sección