Erstveröffentlichung im Februar 2022, aktualisiert im April 2023
Was ist Modbus?
Bei Modbus handelt es sich um ein Client/Server (früher Master/Slave) basiertes Kommunikationsprotokoll, welches sich in der Industrie zum De-facto-Standard entwickelt hat. Mit ein Grund dafür ist, dass es sich um ein offenes Protokoll handelt.
Mittels Modbus können ein Client (z. B. ein myDatalogC3xx) und mehrere Server verbunden werden. Durch die breite Unterstützung des Modbus Standards kommen eine Vielzahl an Gerätschaften für die Serverrolle in Frage.
Anwendungsbeispiele
Die Anwendungspalette reicht von der Anbindung von einfachen Sensoren über die Kommunikation mit Antriebs- und Motorcontrollern bis hin zum Datenaustausch mit komplexen Mess- und Regelsystemen.
- Millisekunden schneller Eingang für Verbrauchszählereingänge (Energie, Wasser, Gas)
- Datenerfassung von Energiezählern, PV-Anlagen, Batteriespeichersysteme und Übertragung an ein Überwachungs- und Steuerungssystem
- Optimierung der Verbräuche / Erträge
Industrielle Steuerung
- Steuern von einfachen Anlagen und Assets
- Parametrieren aus der Ferne
- Schalten / Steuern von Aktoren, Motorsteuerungen
- Fernfreigabe von Assets
Wasser- und Abwasserbehandlung
- Erfassen von Sensorwerten
- Dosierpumpen steuern und überwachen
Welche Betriebsarten unterstützt die Modbus Bibliothek?
Die Modbus Bibliothek gibt es für serielle Schnittstellen (RS232 und RS485) und Ethernet.
Im Hinblick auf die Datenübertragung werden drei Betriebsarten unterschieden:
Modbus RTU
- überträgt Daten in binärer Form
- guter Datendurchsatz
- vom Menschen nicht lesbar
Modbus ASCII
- überträgt Daten ASCII-codiert
- geringerer Durchsatz
- vom Menschen direkt lesbar
Modbus TCP
- ähnlich RTU
- Übertragung in TCP/IP-Paketen
- guter Datendurchsatz
- vom Menschen nicht lesbar
Wie die Modbus Bibliothek funktioniert?
Die Modbus Master Bibliothek ermöglicht die einfache Integration des Modbus-Protokolls in eigene Projekte.
Für die Integration eines Modubs-Client in das eigene Projekte sind im wesentlichen fünf (Modbus RTU/ASCII) beziehungsweise sieben (Modbus TCP) Funktionen erforderlich.
Die Bibliotheksfunktionen und die Handhabung sind auf allen unterstützten Geräten ident. Die Umsetzung der hardwarespezifischen Besonderheiten passiert automatisch im Hintergrund und sorgt somit für besonderen Komfort.
Die Bibliothek unterstützt den Master (=Client) Modus sowohl für serielle Schnittstellen (RS232 und RS485) als auch für Ethernet (LAN). Im Falle der seriellen Schnittstellen kann die Datenübertragung wahlweise im effizienteren Modbus-RTU oder alternativ im Modbus-ASCII Format erfolgen. Bei Ethernet kommt Modbus-TCP zum Einsatz.
Folgende Funktionscodes für Lese- bzw. Schreibzugriffe werden derzeit unterstützt:
Funktionscode | Objekttyp |
01 Read Coil Status | Einzelnen Eingang „Coil“ lesen |
02 Read Input Status | Einzelnen Eingang „Discrete Input“ lesen |
03 Read Holding Registers | (analoge) Eingänge „Holding Register“ lesen |
04 Read Input Registers | (analoge) Eingänge „Input Register“ lesen |
05 Write Single Coil | Einzelnen Ausgang „Coil“ schreiben |
06 Write Single Register | Einzelnen (analogen) Ausgang „Holding Register“ schreiben |
15 Write Multiple Coils | Mehrere Ausgänge „Coils“ schreiben |
16 Write Multiple Coils | Mehrere (analoge) Ausgänge „Holding Registers“ schreiben |
Die Bibliothek kann im Studio einfach in eigene Projekte eingebunden und verwendet werden. Zudem steht der vollständige Source-Code im Studio zur Verfügung.
Unterstützte Hardware
*können nicht gleichzeitig verwendet werden
Die Modbus Master Bibliothek wird von folgenden IoT Devices mit den dazugehörigen Interface Ports unterstützt:
myDatalogEasy IoT – 1x RS485 – 1x RS232 oder 1x RS4851) | myDatalogEasy IoTmini – 1x RS485 – 1x RS232 | myDatalogC3xx – 1xRS232 – 1xRS485 | M22x / M23x – 2xRS232 (UART0/1) 2) – 2xRS485 (SPI) 2) |
PoC RS485 2xRS485 | PoC RS232 1xRS232 | PoC LAN 1x LAN |
1) RS485-Schnittstellenerweiterung erforderlich
2) zusätzliche externe Beschaltung notwendig