Modbus RTU & Modbus TCP – Protokollbeschreibung¶
🧾 Was ist Modbus?¶
Modbus ist ein offenes Kommunikationsprotokoll, das 1979 von Modicon (heute Schneider Electric) für speicherprogrammierbare Steuerungen (SPS) entwickelt wurde.
Es ist eines der ältesten und am weitesten verbreiteten industriellen Protokolle zur Übertragung von Messwerten, Steuerbefehlen und Statusinformationen.
Modbus gibt es in mehreren Varianten:
- Modbus RTU – über serielle Schnittstellen (RS-485/RS-232)
- Modbus ASCII – ältere Text-basierte Variante
- Modbus TCP – über Ethernet/IP
📦 Modbus RTU vs. Modbus TCP¶
| Merkmal | Modbus RTU | Modbus TCP |
|---|---|---|
| Transportmedium | RS-485 / RS-232 (seriell) | Ethernet / TCP/IP |
| Frame-Format | Binär | TCP/IP-Frame mit Modbus-Nutzlast |
| OSI-Modell | Layer 1–2 (Physik + Data Link) | Layer 1–4 (TCP/IP) |
| Standard-Port | – | Port 502/tcp |
| Adressierung | Slave-ID (1–247) | IP-Adresse + Unit-ID |
| Verbindungstyp | Master-Slave (halbduplex) | Client-Server (vollduplex) |
| Bandbreite | Gering (9600–115200 Baud typisch) | Hoch (100 Mbit/s und mehr) |
| Broadcast möglich | Ja (bei RTU-Varianten) | Nein (TCP ist verbindungsorientiert) |
| Typische Nutzung | Altanlagen, einfache Systeme, lokal | Moderne SCADA- oder HMI-Systeme |
âš™ Funktionsweise¶
Modbus basiert auf einem einfachen Request-Response-Modell:
- Der Client (Master) sendet eine Anfrage
- Der Server (Slave) antwortet mit den gewünschten Daten
Wichtige Komponenten:¶
- Function Code (z. B. Lesen, Schreiben, Diagnose)
- Adresse des Zielregisters
- Anzahl der Daten
- CRC (bei RTU) oder Prüfsummen (TCP durch TCP selbst)
📚 Wichtige Function Codes¶
| Code | Funktion | Beschreibung |
|---|---|---|
| 01 | Read Coils | Binäre Ausgänge lesen |
| 02 | Read Discrete Inputs | Binäre Eingänge lesen |
| 03 | Read Holding Registers | Analoge Ausgänge lesen |
| 04 | Read Input Registers | Analoge Eingänge lesen |
| 05 | Write Single Coil | Einzelnen digitalen Ausgang setzen |
| 06 | Write Single Register | Einzelnes Register schreiben |
| 15 | Write Multiple Coils | Mehrere digitale Ausgänge setzen |
| 16 | Write Multiple Registers | Mehrere Register schreiben |
🧠Modbus im OSI-Modell¶
Modbus RTU¶
| OSI-Layer | Protokoll |
|---|---|
| 1 | RS-485 / RS-232 |
| 2 | Modbus RTU-Frame (mit CRC) |
| 3–7 | Nicht vorhanden |
Modbus TCP¶
| OSI-Layer | Protokoll |
|---|---|
| 1 | Ethernet |
| 2 | MAC / L2-Frame |
| 3 | IP |
| 4 | TCP |
| 5–6 | – |
| 7 | Modbus TCP Application Layer |
🔒 Sicherheit (oder Mangel daran)¶
Modbus (RTU & TCP) wurde nie für sichere Netzwerke entwickelt. Die Protokolle bieten keinen Schutz gegen:
- Man-in-the-Middle
- Replay-Angriffe
- Spoofing
- Denial-of-Service
Sicherheitsmaßnahmen:¶
- Netzsegmentierung (z. B. OT/IT-Trennung, VLANs)
- Firewalls mit Portfilter (Port 502 blockieren oder einschränken)
- VPN für Fernzugriffe auf Modbus TCP
- Protokollfilterung (Deep Packet Inspection) in industriellen Firewalls
- Zugriffsschutz an den Endgeräten (z. B. Whitelist von Master-Adressen)
✅ Vorteile von Modbus¶
- Einfach zu implementieren und weit verbreitet
- Open Standard, lizenzfrei
- Große Gerätekompatibilität
- Klar verständliche Telegrammstruktur
- Breite Unterstützung in SCADA-Systemen, PLCs, HMIs
âš Nachteile¶
- Keine native Sicherheit
- Begrenzte Datenrate bei RTU
- Keine objektorientierte Datenstruktur (wie z. B. bei OPC UA)
- Ein Master pro Leitung bei RTU (kein Peer-to-Peer)
- Keine komplexe Datenmodellierung möglich
🔌 Standard-Ports¶
| Protokoll | Port | Protokollart |
|---|---|---|
| Modbus TCP | 502/tcp | Offiziell |
| Modbus RTU | – | Seriell (z. B. COM1, /dev/ttyS0) |
🧰 Tools & Software¶
- Wireshark mit Modbus-TCP-Dissector
- modpoll / modscan (CLI-Tools zur Abfrage)
- mbtget / pymodbus / libmodbus (Scripting und Integration)
- OpenPLC, Node-RED, SCADA-Systeme (z. B. Ignition, WinCC, iFIX)
Fazit¶
Modbus RTU und TCP sind robuste, einfache Protokolle mit weltweiter Verbreitung in der Automatisierungstechnik.
Trotz fehlender Sicherheitsfunktionen sind sie bis heute de-facto-Standards, vor allem bei einfacher Datenerfassung und Steuerung.
Für neue Anlagen sollte aber – insbesondere bei TCP – die Kommunikation zusätzlich abgesichert werden oder auf sichere Alternativen (z. B. OPC UA, MQTT mit TLS, IEC 62351) umgestiegen werden.
Tipp:
Viele IoT-Gateways, Energiezähler, Sensoren und einfache SPS sprechen nativ Modbus, weshalb es ideal für Test- und Migrationszwecke bleibt.