Panoramica
emModbus è l’implementazione del protocollo Modbus firmata SEGGER. Fornisce ai dispositivi embedded capacità di comunicazione Modbus tramite UART (ASCII e RTU) ed Ethernet (Modbus/TCP e Modbus/UDP), consentendo loro di connettersi a una vasta gamma di apparecchiature industriali, di impiegare funzioni master e slave e di operare in modo efficiente su piccoli microcontrollori con capacità di memoria minima.
Caratteristiche principali
- Piena conformità Modbus: emModbus supporta Modbus RTU, ASCII e Modbus TCP. Inoltre, è conforme alle specifiche ufficiali Modbus, garantendo l’interoperabilità con le architetture standard master-slave.
- Per sistemi embedded: emModbus ha un ingombro di memoria minimamente invasivo a fronte di prestazioni eccezionali. È progettato per MCU con risorse limitate, senza allocazione dinamica della memoria e con funzionalità configurabili.
- Portabilità e flessibilità: Grazie al supporto per molteplici protocolli, al funzionamento master-slave e alla capacità di integrarsi con stack TCP/IP standard, emModbus si adatta facilmente a vari sistemi operativi in tempo reale (RTOS) e sistemi bare-metal. È altamente portabile grazie al codice ANSI-C indipendente dall’hardware, a uno strato di astrazione del kernel (KAL) e alla configurazione delle interfacce a runtime.
Casi d’uso
emModbus è uno strumento eccellente per facilitare scambi di dati semplici e affidabili, monitoraggio e data logging nei seguenti settori:
- Automazione industriale: Grazie al ridotto ingombro di memoria e al comportamento deterministico, facilita il collegamento tra PLC, sensori, attuatori e robotica in fabbriche, raffinerie e centrali elettriche.
- Gestione energetica: Facilita la raccolta dati da contatori intelligenti (smart meters), inverter, batterie e caricatori per veicoli elettrici, garantendo una comunicazione standardizzata per l’analisi dei dati.
- Controllo di processo e Building Automation: Gli utenti beneficiano della semplicità, dell’interoperabilità e della versatilità del protocollo ampiamente adottato.
Come funziona emModbus
emModbus è uno stack software leggero ed efficiente che consente ai dispositivi di comunicare via UART o Ethernet in ruolo master o slave. Può fungere da unità terminale remota (RTU) o come dispositivo Modbus/TCP (utilizzando uno stack Ethernet con interfaccia socket). Utilizzato con l’RTOS embOS di SEGGER, con altri RTOS o come prodotto standalone, gestisce la complessità della messaggistica Modbus, del framing dei dati e della comunicazione di rete.
Utilizzo di memoria e risorse
- ROM: Circa 2,5 KB per un dispositivo master e 3 KB per un dispositivo slave.
- RAM: Circa 30 byte per lo stack e circa 300 byte per ogni canale aggiuntivo.
Versioni e funzionalità
SEGGER offre emModbus in due versioni: emModbus Master ed emModbus Slave.
| Funzionalità | Master | Slave |
| API Master (inclusi esempi ASCII, RTU e Modbus/TCP) | Sì | No |
| API Slave (inclusi esempi ASCII, RTU e Modbus/TCP) | No | Sì |
| Incapsulamento frame ASCII / RTU / Modbus TCP | Sì | Sì |
| Layer di astrazione kernel per embOS e Windows | Sì | Sì |
| Applicazione Modbus per Windows (binario e sorgente) | Sì | Sì |
Requisiti
Per utilizzare Modbus/TCP, emModbus richiede uno stack capace di TCP/IP (come emNet) e un RTOS (come embOS). Funziona con qualsiasi stack TCP/IP che supporti i socket BSD standard. Sebbene sia utilizzabile senza un sistema operativo, un sistema multitasking è raccomandato, specialmente quando si implementa un master Modbus.
Licenze
emModbus è disponibile con vari modelli di licenza per software embedded, consegnati come pacchetti di codice oggetto o sorgente.
- Pagamento unico: Tutte le licenze si ottengono tramite un unico pagamento, sono royalty-free e non basate su abbonamento.
- Supporto: Le licenze includono sei mesi di aggiornamenti e supporto da parte degli esperti SEGGER.
Friendly License: emModbus è disponibile anche tramite la “SEGGER’s Friendly License”, che ne consente l’uso gratuito per scopi non commerciali, di valutazione e didattici, senza limitazioni tecniche.