ELX-Software

Automazione industriale e IoT

ELX-MODBUS

Un ponte fra il bus Modbus e un broker MQTT

Interroga le apparecchiature Modbus via Ethernet e sul bus seriale RS-485, trasforma i registri grezzi in valori leggibili, li pubblica in MQTT e riscrive i comandi in senso inverso. Si configura interamente dal browser — non c'è alcun file di configurazione da modificare.

v1.2.38 LinuxARM Gratuito

Gateway TCP e seriali

Collegamento via Ethernet — Modbus TCP o RTU su TCP — oppure tramite una porta locale come /dev/ttyUSB0. Velocità, parità, bit di stop e tempi si regolano tutti.

Una biblioteca di dispositivi pronti

Modelli costruiti sulle schede tecniche dei costruttori: registri, scala, elementi di comando ed enumerazioni sono già compilati. Aggiungere un dispositivo noto richiede due clic invece di un pomeriggio.

I registri, con precisione

Holding, Input, Coil e Discrete; interi, virgola mobile e stringhe; ordine di parole e byte; maschere di bit; moltiplicatore e scostamento. Qualsiasi singolo registro si disattiva da solo, senza toccare gli altri.

Un cruscotto vivo

Riquadri dei dispositivi con valori che cambiano sul posto, interruttori, cursori e campi di immissione. Spostare un riquadro cambia anche l'ordine di interrogazione, perché l'ordine sullo schermo è l'ordine sul bus.

Un terminale di protocollo

Lo scambio grezzo in esadecimale, con la durata e l'errore di ogni richiesta. È la schermata che trasforma un dispositivo sconosciuto in uno che funziona.

Un pacchetto, nessuna dipendenza

Un unico .deb installa un servizio systemd su Debian, Ubuntu e Raspberry Pi OS. Build per amd64, arm64 e armhf; non c'è altro da installare.

Schermate

Il cruscotto: riquadri dei dispositivi con valori dal vivo, interruttori e cursori
L'elenco dei dispositivi e l'ordine di interrogazione
La mappa dei registri di un dispositivo
Gateway: TCP e RTU seriale
La biblioteca dei dispositivi con i modelli pronti
Impostazioni del broker MQTT
Il terminale di protocollo — lo scambio dal vivo, in esadecimale

Quale problema risolve

Le apparecchiature industriali parlano Modbus — un protocollo del 1979 diventato lo standard di fatto per sensori, relè, contatori e azionamenti. La domotica e la gestione degli edifici parlano MQTT. I due non si incontrano da soli, e il rimedio abituale è un mucchio di script, uno per dispositivo, ciascuno dei quali smette di funzionare appena qualcuno cambia un indirizzo di registro.

ELX-MODBUS è proprio quel mucchio sostituito da un solo servizio. Interroga il bus, converte i registri grezzi in valori con un nome, li pubblica verso il vostro broker e accetta i comandi di ritorno. Tutto si configura in un browser.

Dispositivi Modbus

Sensori, relè, azionamenti, contatori — su RS-485 o Ethernet

ELX-MODBUS

Interrogazione, decodifica, pubblicazione, riscrittura

Broker MQTT

Home Assistant, Node-RED, OpenHAB, il vostro codice

Tre passi fino ai dati nel broker

  1. Aggiungete un gateway. Descrivete il collegamento al bus: l'indirizzo di un convertitore RTU su TCP, oppure la porta seriale con velocità e parità.
  2. Aggiungete un dispositivo. Scegliete un modello dalla biblioteca o costruite la vostra mappa dei registri, poi indicate l'indirizzo sul bus e il prefisso MQTT.
  3. Indicate il broker. Inserite l'indirizzo e attivate la pubblicazione. I valori partono subito verso gli argomenti, e i comandi tornano indietro.
Come si comporta l'interrogazioneDentro un gateway le richieste sono rigorosamente in sequenza — il bus ha un solo master — e seguono l'elenco dall'alto in basso. Gateway diversi vengono interrogati in parallelo. Il periodo si imposta per dispositivo o per singolo registro.

Come i valori diventano argomenti

Un registro grezzo diventa un valore con valore = grezzo × moltiplicatore + scostamento, tenendo conto del tipo di dato, dell'ordine di parole e byte e di un'eventuale maschera di bit. Il risultato viene pubblicato su {base}/{prefisso}/{chiave}.

Un condizionatore in soggiorno
home/livingroom/ac/temp        → 24.5      (pubblicato a ogni interrogazione)
home/livingroom/ac/set_temp    ← 22.0      (argomento di comando, scritto nel registro)
home/livingroom/ac/mode        → cooling

I canali in lettura e scrittura ricevono un argomento di comando — {argomento}/set in modo predefinito. Un valore mandato lì passa in testa alla coda di interrogazione e viene scritto subito: il comando risulta immediato invece di essere rinviato di un ciclo.

La conservazioneCon il contrassegno di conservazione il broker tiene l'ultimo valore e lo consegna a un nuovo iscritto appena si collega. Un cruscotto aperto alle tre di notte mostra numeri invece di spazi vuoti.

La biblioteca dei dispositivi

Nei modelli mappa dei registri, scala ed elemento di comando sono già impostati secondo la scheda tecnica. Fra questi:

GruppoDispositivi
ClimaAdattatori Modbus per condizionatori, regolatori di caldaia con OpenTherm ed eBus, unità di ventilazione
RelèModuli relè a sei e sedici canali con registri di comando di apertura e chiusura
SensoriSonde di temperatura e umidità, sensori multipli, sonde 1-Wire
LuceDimmer, controllori LED, gateway DALI
AnalogicoModuli di uscita 0–10 V e 4–20 mA
Tutto il restoUn dispositivo vuoto in cui inserite voi stessi i registri
Un dispositivo che non è in bibliotecaCreate un dispositivo personalizzato e inserite i registri a mano — ogni campo porta un suggerimento su cosa vada messo. Il terminale di protocollo aiuta a trovare indirizzi e formati: mostra ciò che il dispositivo risponde davvero.

In breve

Trasporti
Modbus TCP, RTU su TCP, RTU su porta seriale
Tipi di registro
Holding, Input, Coil, Discrete
Tipi di dato
int, float, stringa, maschere di bit, ordine di parole e byte
Sistemi operativi
Debian, Ubuntu, Raspberry Pi OS
Architetture
amd64, arm64, armhf
Configurazione
Interfaccia web; stato in SQLite, esportabile in JSON
Porta dell'interfaccia
8080 in modo predefinito
Dipendenze esterne
Nessuna

ELX-MODBUS

Un ponte fra il bus Modbus e un broker MQTT

Scarica

Nella stessa sezione