Das Modbus-Protokoll entstand Ende der 1970er-Jahre und ist im Bereich der M2M-Interaktion (Machine-to-Machine) weiterhin relevant. Es ist ein Netzwerkprotokoll, das in der Industrie zur Überwachung und Integration verschiedener Anlagen weit verbreitet ist. Modbus ist de facto ein Standard und wird von fast allen Herstellern industrieller Geräte unterstützt. Mit dem Modbus-Protokoll können Sie Werte von Sensoren empfangen und Controller steuern. Ursprünglich nutzte Modbus die Schnittstellen RS-232 und RS-485. Später entstand die Variante Modbus TCP, die Ethernet für die Interaktion zwischen den Teilnehmern nutzt. Standardmäßig verwendet dieses Protokoll den TCP-Port 502.
Modbus-Geräte interagieren nach dem Master-Slave-Prinzip. Das Master-Gerät stellt die Verbindung her und führt Anfragen aus, während der Slave nur darauf antworten kann. Kürzlich hat der Modbus-Entwickler die Master-Slave-Terminologie durch das vertrautere Client-Server ersetzt. Das Client-Gerät oder die Software (Master) sendet Anfragen an das abgefragte Server-Gerät (Slave) und empfängt Antworten.
Jedes Modbus-Gerät wird durch eine eindeutige Adresse (Slave ID) identifiziert, die aus dem Bereich 1–247 vergeben werden kann. Die Adresse 0 dient Broadcast-Anfragen eines Clients an alle Server; die Adressen 248–255 gelten als reserviert. Bei Modbus TCP fungiert die übliche IP-Adresse eines Geräts als Bezeichner. Für die Verbindung mit einem RS485-Netzwerk über einen speziellen Router kann jedoch auch eine Standardadresse erforderlich sein.
Eine Modbus-Anfrage besteht aus einem Funktionscode und den Daten, die vom Gerät angefordert oder geschrieben werden sollen. Jede Funktion kann nur mit einem bestimmten Datentyp arbeiten. Es gibt nur-lesende und nur-schreibende Funktionen.
Funktionen zum Lesen von Modbus-TCP-Registern
Funktionscode |
Was macht die Funktion |
Werttyp |
Zugriffstyp |
|---|---|---|---|
01 (0x01) |
Coil-Status lesen |
Diskret |
Lesen |
02 (0x02) |
Eingangsstatus lesen |
Diskret |
Lesen |
03 (0x03) |
Holding-Register lesen |
16 Bit |
Lesen |
04 (0x04) |
Eingangsregister lesen |
16 Bit |
Lesen |
Auf Register wird über eine 16-Bit-Adresse zugegriffen. Das erste Element jeder Registergruppe entspricht der Adresse 0. Die Adresse (der Index) jedes Registers kann Werte von 0–65535 annehmen. Die Register speichern Werte interner Variablen, Zähler, Sensorablesungen und Flags. Adressen (Indizes) der erforderlichen Register finden Sie in der Dokumentation des jeweiligen Geräts. Sie stehen üblicherweise im Abschnitt „Modbus Mapping Table“.
Zum Lesen und Überwachen der Parameter von Modbus-Geräten können Sie spezielle Programme nutzen, die dieses Protokoll unterstützen. 10-Strike Network Monitor Pro ermöglicht die Verbindung zu Geräten über Modbus TCP und das Auslesen erforderlicher Parameter. Zum Lesen eines Registers genügen folgende Parameter:
- IP-Adresse des Geräts
- Port (Standard 502)
- Slave ID
- Registerindex
- Funktionscode
Befindet sich der Überwachungsserver nicht im Gerätenetzwerk, können Sie über einen Agenten (Proxy-Dienst) in einem anderen Netzwerk verbinden.
Das Programm kann auf einem Server in Netzwerk #1 installiert sein und sich per Modbus TCP mit einem Gerät in einem anderen Netzwerk #2 verbinden, das mit Netzwerk #1 verknüpft ist. Dazu nutzen Sie eine Remote-Agent-Anwendung, die auf einem PC in Netzwerk #2 mit dem gewünschten Modbus-Gerät installiert wird. Bei diesem Schema sendet das Programm eine Anfrage an den Agenten unter der angegebenen IP-Adresse, und der Agent leitet sie an das Modbus-Gerät weiter.
Überschreitet der Parameterwert die festgelegten Grenzen, benachrichtigt das Programm prompt auf verschiedene Weise. Der Alarmschwellenwert lässt sich in den Prüfungsparametern konfigurieren.
Die überwachten Parameterwerte können Sie auf grafischen Indikatoren oder einer SCADA-ähnlichen Schema-, Diagramm- oder Kartenansicht anzeigen.
Nachteile des Modbus-Protokolls
Das Protokoll wurde vor über 40 Jahren entwickelt, als Datenschutzfragen noch nicht so relevant waren. Es hat eine Reihe von Nachteilen, nicht nur im Sicherheitsbereich:
- Fehlende Authentifizierung und Verschlüsselung der übertragenen Daten. Zum Schutz benötigen Sie VPN-Tunnel.
- Nur das Master-Gerät kann eine Datenübertragung initiieren. Es muss das Slave-Gerät ständig abfragen und erzeugt so unnötigen Verkehr.
- Das Slave-Gerät kann die Trennung vom Master nicht erkennen.
Trotz seines Alters und der Nachteile ist Modbus weiterhin einfach zu nutzen. Das sorgt für eine hohe Implementierungsgeschwindigkeit in der Industrie. Die Abwesenheit unnötiger Funktionen ist sein Hauptvorteil. Modbus wird aktiv weiterentwickelt und von vielen Industriegeräten verschiedener Hersteller unterstützt. Es wird auch von Anbietern bei der Erstellung von Cloud-IoT-Plattformen genutzt.
Achtung! Diese Prüfung ist nur in der Pro-Version des Programms verfügbar.
Siehe auch:
Anforderungen: Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022 werden unterstützt.

