Modbus ist ein Datenkommunikationsprotokoll, das auf einem Anfrage-Antwort-Modell basiert. Früher als Master-Slave-Protokoll bezeichnet, hat die Modbus-Organisation im Jahr 2020 die Begriffe Master und Slave durch Server und Client ersetzt.
Modbus wird für die Übertragung von Informationen zwischen Geräten verwendet, die über serielle Leitungen oder Ethernet und zunehmend auch drahtlos an Busse oder Netzwerke angeschlossen sind.
Modbus ist das am häufigsten verwendete Netzwerkprotokoll in der industriellen Fertigung. Der häufigste Anwendungsfall ist die Kommunikation zwischen einer Mensch-Maschine-Schnittstelle (HMI) oder einem übergeordneten Steuerungs- und Datenerfassungssystem (SCADA) und einem Sensor, einer speicherprogrammierbaren Steuerung (PLC) oder einer programmierbaren Automatisierungssteuerung (PAC). Es bietet eine hardwareunabhängige, kostengünstige Möglichkeit, die Interoperabilität von unterschiedlichen Automatisierungsgeräten zu ermöglichen.
Modbus ist beliebt, weil es quelloffen, einfach zu verwenden und überall im Einsatz ist, was es zu einer zuverlässigen Lösung für die Übertragung von diskreten oder analogen E/A- und Registerdaten zwischen Steuergeräten macht.
Modbus ist ein Messaging-Protokoll der Anwendungsschicht, das auf Ebene 7 des OSI-Modells angesiedelt ist. Der Standardanschluss auf einem Modbus-Servergerät ist 502.
Das erste Modbus-Protokoll - Modbus RTU (Remote Terminal Unit) - wurde ursprünglich 1979 von Modicon (heute Schneider Electric) Systems als Programmierprotokoll zur Verwendung mit seinen SPSen veröffentlicht. Modbus ist ein offenes Protokoll, aber das Wort "Modbus" ist ein eingetragenes Warenzeichen von Schneider Electric.
Modbus RTU ist ein einfaches serielles Kommunikationsprotokoll. Im Laufe der Zeit wuchs der Bedarf an einem Standard, der komplexere Implementierungen mit gängigen Transportprotokollen wie Transmission Control Protocol/Internet Protocol (TCP/IP) und User Datagram Protocol (UDP) ermöglicht. Die 1999 entwickelte Modbus-Variante entsprach diesem Bedarf.
Dank benutzerdefinierter Warnmeldungen und Datenvisualisierung können Sie Probleme mit dem Zustand und der Leistung Ihres Netzwerks schnell erkennen und vermeiden.
Beispiele für Modbus-Geräte sind HMI-Hardware, E/A-Schnittstellen und -Module, Sensoren, Modems, Gerätesteuerungen, SPS, Netzwerk-Gateways, Netzwerk-Hostadapter, AC/DC-Wechselrichter, RTUs, SCADA-Hardware, Software-Gerätetreiber, Smart-Home-Geräte, Router usw. Die meisten Modbus-Implementierungen in der Praxis betreffen Geräte, die kleine Datenmengen auf einmal in Szenarien übertragen, in denen Geschwindigkeit keine entscheidende Rolle spielt, z. B. beim Monitoring von Temperaturen.
Es gibt mehrere Varianten von Modbus; Varianten statt Versionen, da sie auf demselben Netzwerksegment nicht interoperabel sind und unterschiedliche Verwendungszwecke haben.
Modbus RTU ist die am weitesten verbreitete Variante und wird für serielle Verbindungen verwendet.
Es gibt zwei Arten von seriellen Modbus-Verbindungen, Modbus RTU und Modbus ASCII. Der Einfachheit halber werden Modbus RTU und Modbus ASCII in der Regel allgemein als Modbus RTU bezeichnet, in der Gruppe der Varianten, die serielle Kabel verwenden.
Bei Modbus RTU werden die Daten im Binärformat übertragen. Bei Modbus ASCII werden die Daten in lesbarem ASCII dargestellt. Binäre Nachrichten sind kürzer als ASCII und theoretisch schneller zu senden und zu empfangen, während ASCII-Nachrichten den Vorteil haben, dass sie von Administratoren leicht überwacht werden können.
Ein wichtiger Unterschied für Entwickler ist, dass Modbus RTU-Nachrichten keine Token für den Textanfang haben. Stattdessen wartet das empfangende Gerät in einer Transaktion auf eine "stille" Periode, um den Beginn einer neuen Nachricht zu bestimmen. ASCII-Nachrichten verfügen über Textanfangs-Token.
Serielle Verbindungen wie Modbus RTU und Modbus ASCII sind Punkt-zu-Punkt-Verbindungen (P2P). P2P bietet einen Kanal für die Kommunikation zwischen zwei Anschlüssen, und Transaktionen werden nur vom Client-Gerät initiiert. Punkt-zu-Punkt ist nicht zu verwechseln mit der Peer-to-Peer-Kommunikation, die eine Verbindung darstellt, die es beiden Geräten ermöglicht, eine Kommunikation zu initiieren. Ein Beispiel für eine gängige P2P-Verbindung ist die Verwendung eines USB-Laufwerks.
Im Gegensatz zu Modbus TCP kann Modbus RTU nur ein Client-Gerät und bis zu 247 Server-Geräte haben, je nach dem verwendeten physikalischen Signalstandard, und für jedes Gerät ist ein eigener Port erforderlich.
Serielle Verbindungen, die serielle Kabel verwenden, sind einfacher einzurichten als Ethernet-Verbindungen, bei denen eine Netzwerkkarte und eine Software installiert und IP-Adressen konfiguriert werden müssen.
In Modbus RTU-Netzwerken werden Nachrichten gemäß den von der EIA genehmigten physikalischen Signalstandards RS-485, RS-422 oder RS-232 übertragen, die die elektrischen Eigenschaften der in der seriellen Kommunikation verwendeten Treiber und Empfänger definieren. EIA steht für die Electronic Industries Alliance und RS für Recommended Standard. Es können auch andere Standards verwendet werden, aber diese sind die am häufigsten verwendeten Standards. Bei den EIA-Standards handelt es sich um Schnittstellen der physikalischen Schicht, die Kommunikationskonverter-Chips verwenden, um die Art und Weise der Signalübertragung zu und von verschiedenen Gerätetypen umzuwandeln. Datenrate, Treiberlast, maximale Treiberausgangsspannung, Baudrate usw. unterscheiden sich zwischen den drei Standards. Manchmal werden Modbus-Implementierungen nach der Art der Schnittstelle bezeichnet, die sie verwenden, z. B. Modbus RS-232 oder Modbus RS-485.
RS-232, das mit der ersten Version von Modbus verwendet wurde, ist mit einer maximalen Datenrate von 20 Kilobytes pro Sekunde langsam, erlaubt nur Kabel mit einer Länge von bis zu 50 Fuß und ist auf den Anschluss eines Client- und eines Servergeräts beschränkt. RS-232 wird jedoch immer noch verwendet, z. B. bei älteren Druckern oder als kostengünstige Möglichkeit zum Anschluss von SPS an andere Geräte, die RS-232 verwenden. Es gibt zwei Arten von RS-232-fähigen Geräten: DTE-Geräte (Data Terminal Equipment), zum Beispiel PCs, und DCE-Geräte (Data Communications Equipment), zum Beispiel Modems. Damit zwei Geräte desselben Typs miteinander kommunizieren können, werden sie über eine umgekehrte RS-232-Kabelverbindung verbunden.
Moderne Systeme erfordern, dass Modbus den Anschluss mehrerer Servergeräte unterstützt, schnellere Datenübertragungen ermöglicht und Datenübertragungen über größere Entfernungen ermöglicht. Um dies zu erreichen, wurden RS-485 und RS-422 verwendet. RS-485 und RS-422 (weniger gebräuchlich) erleichtern die Verwendung von Multidrop-Verdrahtungsmethoden (Verbindung mehrerer Servergeräte mit Client-Geräten), erweitern die Reichweite der Übertragungen auf bis zu 4000 Fuß, bevor ein Repeater benötigt wird, und haben eine Datenrate von 10 Megabit pro Sekunde (Mbps) bis zu 100 Kilobit pro Sekunde.
Ohne Repeater wird RS-485 mit einem Stammkabel, dem Bus, konfiguriert, an dem die Geräte in Reihe geschaltet werden. RS-485 kann bis zu 32 Client-Geräte im Multidrop betreiben. Es hat den zusätzlichen Vorteil, dass es eine bessere Störfestigkeit bietet als der ursprüngliche RS-232-Standard. Mit Hilfe von Repeatern können bis zu 256 Servergeräte zu einem RS-485-Netzwerksegment hinzugefügt werden. RS-485 kann Vollduplex (4-Draht-Modus) oder Halbduplex (2-Draht-Modus) sein.
Modbus TCP - manchmal auch Modbus Ethernet genannt - ist ein industrielles Ethernet-Protokoll, das TCP/IP auf der Transportschicht verwendet. Es wird verwendet, um ein Mehrpunkt-Netzwerk zu schaffen, in dem ein einzelnes Client-Gerät mit mehreren Server-Geräten über eine physikalische Ethernet-Schicht kommunizieren kann. Bei Modbus TCP wird eine Nachricht in ein TCP-Paket verpackt, das wiederum in ein IP-Paket verpackt wird, das die elektrische Ethernet-Signalisierung zur Übertragung des Pakets nutzt. Die Hauptfunktion von TCP besteht darin, sicherzustellen, dass die Datenpakete korrekt empfangen werden, während IP dafür sorgt, dass die Nachrichten korrekt adressiert und weitergeleitet werden.
Es gibt zwei Arten von Modbus-Ethernet-Verbindungen. Modbus TCP und Modbus-over-TCP-Varianten werden gewöhnlich allgemein als Modbus TCP bezeichnet. Modbus TCP ist ein Modbus TCP-Paket in einer TCP-Umhüllung, während Modbus over TCP ein Modbus RTU-Paket in einer TCP-Umhüllung ist. Streng genommen könnte letzteres auch Modbus RTU over TCP genannt werden, aber es wird mit Modbus TCP gruppiert, weil es Ethernet verwendet.
Eine Ethernet-Verbindung ist schneller als eine serielle Verbindung, obwohl die Geschwindigkeit für die Funktion vieler Modbus-Geräte, z. B. für den Bericht von Temperaturen, in der Regel keine kritische Anforderung darstellt. Sie ist auch zuverlässiger und ermöglicht die Übertragung von Daten über größere Entfernungen.
Im Gegensatz zu Modbus RTU können bei Modbus TCP mehrere Geräte einen einzigen Netzwerkanschluss verwenden und die Nachrichten einen 7-Byte-Header enthalten, der als MBAP-Header (Modbus Application Protocol) bezeichnet wird. Der MBAP-Header identifiziert die verwendete Modbus-Anwendungsdateneinheit (ADU), die ihrerseits zur Identifizierung des zu verwendenden Transportprotokolls verwendet wird. Modbus TCP ermöglicht die gleichzeitige Verbindung von Tausenden von Servergeräten und unterstützt mehrere Client-Geräte in einem Netzwerk.
Es gibt weitere Varianten des ursprünglichen Modbus-Protokolls, die für spezielle Anwendungsfälle entwickelt wurden. Pemex Modbus und Enron Modbus wurden entwickelt, um historische und Ereignisdaten in der Öl-, Gas- und Petroleumindustrie zu unterstützen. Enron Modbus unterstützt von Haus aus 32-Bit-Ganzzahlen und Gleitkomma-Variablen.
Das Modbus Security-Protokoll wurde 2018 veröffentlicht, um einige Sicherheitsfunktionen zu implementieren, ohne die ursprüngliche Spezifikation zu ändern.
Secure Modbus verwendet Transport Layer Security (TLS). Es bietet eine zertifikatsbasierte Autorisierung, die Rolleninformationen verwendet, die über Zertifikatserweiterungen übertragen werden. Die Autorisierung ist produktspezifisch und wird durch den Modbus-Funktionscode-Handler aufgerufen. Es bietet auch eine zertifikatsbasierte Authentifizierung.
Modbus Plus, ein Hochgeschwindigkeits-Token-Passing-Netzwerkprotokoll, ist eine Schneider Electric-eigene Entwicklung und keine Modbus-Variante; es müssen proprietäre Kabel und Abschlusswiderstände verwendet werden. Bei Modbus Plus ist die Hauptnachrichtenstruktur Peer-to-Peer, aber Modbus Plus kann auch in P2P- und Multidrop-Netzwerken funktionieren. Modbus Plus erfordert einen speziellen Coprozessor und verwendet eine verdrillte Zweidrahtleitung mit 1 Mbit/s. Er ist übergangsgesteuert und nicht spannungsgesteuert wie die Modbus-Varianten.
Benachrichtigungen in Echtzeit bedeuten eine schnellere Fehlerbehebung, so dass Sie handeln können, bevor ernstere Probleme auftreten.
Jedem Servergerät wird eine eindeutige ID zugewiesen. Wenn ein Client Daten von einem Servergerät anfordert, verwendet er das erste Byte der Nachricht, um zu erkennen, welches Servergerät antworten soll.
Die Modbus-Nachrichtenstruktur verwendet einen ADU/PDU-Rahmen. Die Protokolldateneinheit (PDU) ist unabhängig von den darunter liegenden Kommunikationsschichten. Die ADU enthält die Adresse des Servergeräts, die PDU und ein Prüfsummenfeld. Die PDU enthält einen Funktionscode mit einem Lese- oder Schreibbefehl und ggf. Daten. Die ADU bestimmt den Anfang und das Ende eines Anforderungsrahmens, so dass ein empfangendes Gerät immer weiß, wann eine Nachricht begonnen hat und wann sie abgeschlossen wurde. Die Rahmenformate sind zwischen den Varianten nicht interoperabel.
Informationen über die von einem Client-Gerät angeforderten Daten werden auf Server-Geräten in bis zu vier Tabellen gespeichert. Zwei Tabellen speichern diskrete Ein/Aus-Werte (Spulen) und zwei Tabellen speichern numerische Werte (Register). Es gibt eine Nur-Lese-Tabelle für Eingänge und eine Schreib-Lese-Tabelle für Ausgänge sowohl für Spulen als auch für Register. Die Tabellen werden auf einem Servergerät mit Hilfe einer Modbus Map navigiert, die definiert, um welche Daten es sich handelt, wo sie gespeichert sind und in welchem Format sie gespeichert sind.
Informationen über Offsets sind ebenfalls in der Modbus Map enthalten. Den Datenadressen auf einem Modbus-Servergerät wird jeweils eine Nummer zwischen 1 und 10000 zugewiesen. Die Datenadressen in den Nachrichten selbst verwenden jedoch Zahlen zwischen 0 und 9999. Das bedeutet, dass von der Adresse eines Geräts ein Offset abgezogen werden muss, bevor sie in einer Nachricht verwendet wird. Die Gerätehersteller können die von ihren Produkten verwendeten Offsets angeben.
Die Datenmodelle können von einem Gerät zum anderen variieren, je nachdem, was benötigt wird, z. B. kann ein bestimmtes Gerät nur diskrete Eingänge speichern.
Modbus überträgt nur zwei Datentypen. Register sind 16-Bit-Ganzzahlen ohne Vorzeichen, die zur Speicherung analoger Ein- und Ausgänge verwendet werden. Spulen sind einzelne Binärbits und können einen Zustand von EIN oder AUS darstellen. Es gibt keine Darstellung für negative Werte und Gleitkomma-Zahlen. Negative Ganzzahlen werden im Zweierkomplementformat übertragen. Für die Übertragung von Gleitkommazahlen gibt es einige Umgehungsmöglichkeiten, z. B. das Auf- oder Abrunden eines Bruchteils oder die Übertragung in zwei Registern, d. h. die Verwendung von zwei Registern zur Emulation eines 32-Bit-Datentyps. Modbus legt fest, wie viele Register gelesen oder geschrieben werden müssen, und verwendet laut Spezifikation "eine Big-Endian-Darstellung für Adressen und Datenelemente. Das bedeutet, dass bei der Übertragung einer numerischen Größe, die größer als ein einzelnes Byte ist, das höchstwertige Byte zuerst gesendet wird Einige Gerätehersteller verwenden eine "Little-Endian"-Darstellung. Beide Methoden funktionieren, wenn sowohl Client- als auch Server-Geräte die gleiche Methode verwenden.
Modbus bietet Dienste, die durch Funktionscodes spezifiziert werden. Wenn ein Client-Gerät mit einem Server-Gerät kommuniziert, enthält das zweite Byte der Nachricht einen Funktionscode, der dem Server-Gerät mitteilt, auf welche Tabelle es zugreifen und was es tun soll, z. B. um einige Daten für das Client-Gerät abzurufen oder einige vom Client-Gerät gesendete Daten zu schreiben.
Zu den Funktionscodes gehören öffentliche, Benutzer- und reservierte Codes. Öffentliche Funktionscodes sind öffentlich dokumentiert und von der MODBUS.org-Gemeinschaft validiert, benutzerdefinierte Funktionscodes sind benutzerdefinierte Codes, und reservierte Codes sind für bestimmte Legacy-Implementierungen reserviert und stehen nicht zur öffentlichen Verwendung zur Verfügung.
Für jede Nachricht wird eine zyklische Redundanzprüfung (CRC) durchgeführt. Ein CRC ist ein Fehlererkennungscode, der verwendet wird, um versehentliche Änderungen an den übertragenen Daten zu erkennen. Er wird vor Beginn einer Übertragung und erneut beim Empfang einer Nachricht berechnet. Zwei Bytes in jeder Nachricht werden verwendet, um diesen Wert bei Modbus zu speichern.
Nachrichten enthalten auch Informationen über die Anzahl der zu lesenden oder zu schreibenden Datenbits, die Anzahl der zu lesenden oder zu schreibenden Register und die Gesamtzahl der Datenbits in der Anfrage oder Antwort.
Wenn ein Server-Gerät auf eine Anfrage eines Client-Geräts antwortet, verwendet es das Funktionscode-Feld, um eine erfolgreiche Antwort anzuzeigen, indem es den ursprünglichen Funktionscode wiedergibt, oder es gibt einen Fehlercode im Funktionscode-Feld zurück, wenn die Anfrage nicht erfolgreich war.
Server-Geräte initiieren niemals Nachrichten, sie können z. B. keinen Alarm an ein Client-Gerät initiieren und sie können Broadcast-Nachrichten empfangen, aber niemals darauf antworten. Broadcast-Nachrichten haben eine Server-Geräteadresse von 0.
Modbus TCP und Modbus TCP over UDP sind im Wesentlichen Versionen der seriellen Modbus RTU-Variante mit einer TCP/IP-Schnittstelle, die über Ethernet und Glasfasernetze läuft und schnelle und stabile Verbindungen ermöglicht.
Modbus TCP-Datentransaktionen funktionieren ähnlich wie Modbus RTU-Transaktionen, mit einigen Unterschieden. Modbus TCP erlaubt mehr Adressen als Modbus RTU, unterstützt mehrere Client-Geräte, ermöglicht höhere Übertragungsgeschwindigkeiten und erlaubt so viele Server-Geräte, wie die physikalische Schicht verarbeiten kann. Mit Modbus TCP können mehrere Client-Geräte gleichzeitig Anfragen an ein einzelnes Server-Gerät senden und Client-Geräte können gleichzeitig Nachrichten an mehrere Client-Geräte senden.
Modbus TCP enthält einen MBAP-Header. Der 7-Byte-Header wird am Anfang der Nachrichten hinzugefügt und enthält eine Transaktionskennung zur eindeutigen Identifizierung einer Anfrage, eine Protokollkennung, die auf 0 gesetzt wird, um das Protokoll als Modbus zu identifizieren (dieses Feld kann für systeminternes Multiplexing verwendet werden), die Länge der Daten in der folgenden Nachricht und eine vom Client-Gerät festgelegte Einheitenkennung zur Identifizierung des Server-Geräts.
Bei Modbus TCP enthält die ADU die Modbus-Nachricht und Informationen über das verwendete Transportprotokoll. Modbus umfasst ADU-Varianten, die auf die Unterstützung verschiedener Netzwerkprotokolle und Busse zugeschnitten sind.
Bei Modbus TCP benötigt das Servergerät keine ID, da es eine IP-Adresse verwendet und die Nachrichten über das Netzwerk weitergeleitet werden. Das Prüfsummenfeld wird ebenfalls nicht benötigt, da die Prüfsummenberechnung auf der Ethernet-Ebene erfolgt. Routing-Informationen, die spezifisch für die Transportmethode sind, z. B. TCP oder UDP, werden in der ADU gespeichert.
Drahtloser Modbus wird zunehmend eingesetzt, um Verdrahtungskosten zu sparen und um Sensoren in abgelegenen Gebieten zu platzieren. Ein Modbus-Netzwerk kann leicht für den Betrieb über eine drahtlose Verbindung eingerichtet werden, indem die üblicherweise für RS-485 verwendeten verdrillten Kabel durch einen Standard-Sender an jedem Ende des Netzwerks ersetzt werden. Wireless Modbus ist für Client- und Server-Geräte transparent, da die in verschlüsselter Form gesendeten und empfangenen Datenpakete immer wieder in ihr ursprüngliches Format zurückverwandelt werden, bevor das empfangende Gerät sie erhält.
In der modernen industriellen IT brauchen die richtigen Teams die richtigen Daten. Unser Whitepaper zeigt, wie Sie ein ganzheitliches Monitoring aufsetzen und Elemente aus IT, OT und IIoT in Ihr Dashboard bringen.
Unser zweites Whitepaper bietet Inspirationen und Ideen für Dashboards, die IT-, OT- und IIoT-Daten enthalten – übersichtlich an einem Ort. Wir zeigen, wie konvergente industrielle Dashboards aussehen!
Ursprünglich wurde Modbus in erster Linie für die Verwendung mit PLCs konzipiert und in Anwendungen der industriellen Fertigung eingesetzt, z. B. zur Übermittlung von Sensordaten an eine übergeordnete PLC.
Dank einer Vielzahl proprietärer und offener Router und Gateways wird Modbus heute in praktisch jedem Sektor eingesetzt, z. B. in der Öl- und Gasindustrie, im Immobilien- und Gebäudemanagement, in der Telekommunikation, bei Cloud-Diensten, in der Telemedizin, in vernetzten Häusern, in der Landwirtschaft, im Maschinenbau, bei der Herstellung von Elektrofahrzeugen, in intelligenten Fabriken, im IoT, in der Klimaforschung und -kontrolle, in der Sicherheit, in unternehmenskritischen Systemen usw. Modbus wird auch von Unternehmen verwendet, die Systemintegrationsdienste in diesen Branchen und in anderen Branchen anbieten, in denen es eine große Anzahl verbundener Geräte gibt, z. B. in Rechenzentren und beim Edge Computing.
Da Modbus eine Reihe von Kommunikationsmedien unterstützt, darunter verdrillte Zweidrahtleitungen, drahtlose Verbindungen, Glasfaserkabel, Mobiltelefone und Mikrowellen, stellt es eine flexible Option für komplexe Systeme dar. Mit RS-485-Analog-Digital-Wandlern (ADC) können Administratoren die von mehreren Sensoren an verschiedenen Standorten erfassten Informationen über eine einzige Schnittstelle überwachen.
Die Entwicklung moderner Gateway-Technologien ermöglicht die Kommunikation von Hightech- und älteren Anwendungen und Geräten über Modbus. So kann beispielsweise die Ladeinfrastruktur für Hightech-Elektrofahrzeuge über ein Modbus-Gateway mit bestehenden Energiemanagementsystemen kommunizieren.
Im IoT und IIoT kann ein Modbus-fähiges IoT-Gerät über ein IoT-Gateway mit einem Modbus-Gerät verbunden werden, das andere Modbus-Geräte steuert. Diese Verbindung ermöglicht sichere P2P-Verbindungen über das Internet, die den Einsatz von Firewalls und VPNs vermindern und die Leistung verbessern.
Modbus RTU eignet sich ideal für die folgenden Implementierungen: für die lokale Kommunikation in abgelegenen Gebieten, in denen es kein Internet gibt; wo Geräte statische Adressen haben und nicht zwischen Netzwerken wechseln; und wo eine Bestätigung des Endes einer Nachrichtenanforderung oder -antwort erforderlich ist.
Modbus RTU wird in folgenden Szenarien nicht empfohlen: wenn Servergeräte in der Lage sein müssen, Daten zu pushen; für Anwendungen mit Bandbeschränkungen; wenn Geräte Netzwerke wechseln oder eine unbekannte Adresse haben; und für Anwendungen, die Daten an Cloud-Server senden.
In komplexen Netzwerken, die Ethernet verwenden, können Technologien und codegerechte Anwendungen kombiniert werden, um die Verwendung von Modbus TCP-fähigen Geräten zu ermöglichen.
Modbus verfügt über Fehlererkennungsfunktionen, einschließlich CRC und Gerätediagnose, ist aber dennoch anfällig für Cyberangriffe und wurde auch nicht für Sicherheitsfunktionen konzipiert. Es gibt keine Integritätsprüfungen oder Authentifizierungsverfahren und die Nachrichten sind nicht verschlüsselt.
Modbus RTU birgt ein geringeres Cyber-Sicherheitsrisiko als Modbus TCP, da es nur einen Server gibt. Bei Modbus TCP könnte ein Angreifer in das Netzwerk eindringen, indem er sich als ein neuer Server ausgibt. Die Modbus Security-Variante befasst sich jedoch mit Cybersecurity-Problemen bei Modbus TCP.
Um die Sicherheitslücken von Modbus zu verringern, können industrielle Systeme Firewalls, ein virtuelles privates Netzwerk (VPN) oder ein Modbus OPC Unified Architecture (OPC UA)-Gateway verwenden, das die Daten verschlüsselt, wenn sie über ein Netzwerk gesendet werden.
Für den Transport von Modbus-Nachrichten kann jede Transportschicht oder jedes Gateway verwendet werden, zum Beispiel OPC UA oder Message Queue Telemetry Transport (MQTT). OPC UA wird in der industriellen Automatisierung eingesetzt und ist ein plattformunabhängiges Kommunikationsprotokoll von Maschine zu Maschine. Durch die Integration von Modbus-Geräten in OPC UA können Modbus-Sicherheitsprobleme gelöst und eine zentrale, grafische Schnittstelle zur Kombination und Analyse von Daten aus verschiedenen Quellen bereitgestellt werden. Modbus-Geräte sind in der Regel RTU-Geräte und OPC UA-Geräte sind Ethernet-Geräte, so dass die Integration einen Konvertierungsprozess erfordert, aber es gibt zahlreiche Plug-and-Play-Produkte auf dem Markt, die dies ermöglichen.
Die serielle Modbus-Kommunikation ist eine benutzerfreundliche und kostengünstige Methode zum Anschluss von Geräten. Sie benötigt sehr wenig CPU oder RAM. Sie wird in der Regel in kleinen, kostengünstigen Geräten eingesetzt, die kleine Datenmengen wie Temperatur, Druck, Kraftstoffstand usw. messen.
Die meisten, wenn nicht sogar alle, Industriezweige verwenden PCs für die Entwicklung, die Zusammenarbeit und den Support-Lebenszyklus. Eine serielle Schnittstelle wie Modbus RTU ist für den Anschluss von Peripheriegeräten an PCs oft einfacher zu verwenden als ISA- oder PCI-Schnittstellen. Gängige Peripheriegeräte für eingebettete Systeme, wie AC/DC-Wandler, Temperatursensoren und LCDs, unterstützen alle serielle Schnittstellen.
Ein Semaphor ist ein Synchronisationsobjekt, das für den Zugriff auf eine gemeinsame Ressource durch mehrere Prozesse in einer parallelen Programmierumgebung verwendet wird. Über serielle Schnittstellen können kleine Prozessoren unabhängig voneinander kleine Arbeitseinheiten ausführen, aber dennoch problemlos mit einer größeren Verarbeitungseinheit verbunden werden, ohne dass ein gemeinsamer Speicher oder Semaphoren erforderlich sind.
Jede Modbus-Nachricht hat die gleiche einfache Struktur, so dass sie leicht geparst werden kann. Die Grundelemente - Serveradresse, Funktionscode, Daten und Prüfsummenfeld - sind immer in der gleichen Reihenfolge.
Moderne Industrieprodukte wie PAC, E/A-Geräte und Messgeräte, die eine serielle, Ethernet- oder drahtlose Schnittstelle verwenden, können Modbus trotzdem nutzen.
Nichtprogrammierer, wie Ingenieure und Techniker, die im Feld arbeiten, können die Konzepte von Spule und Registern und die einfachen Befehle zum Lesen und Schreiben dieser leicht verstehen.
Da Modbus so beliebt ist und eine herstellerunabhängige Schnittstelle bietet, wurden viele Tools und Schnittstellen entwickelt, um die Interoperabilität zwischen Anwendungen, Geräten und Daten zu verbessern.
Modbus eignet sich nicht für Anwendungen, die eine ereignisorientierte Reaktion erfordern, wie z. B. einen Alarmzustand, und lässt nicht zu, dass Servergeräte unaufgefordert über Ausnahmen berichten.
Die Modbus-Paketgröße ist auf 253 Byte begrenzt, so dass die Geräte nur etwa 240 Byte an tatsächlichen Daten übertragen können.
Die Datenübertragungsrate bei Modbus ist relativ langsam, obwohl Modbus TCP viel schneller ist als Modbus RTU.
Modbus verwendet nur zwei Datentypen, 16-Bit Ganzzahlen ohne Vorzeichen und Binärdaten. Es gibt jedoch Umgehungslösungen zur Unterstützung von 32-Bit-Datenübertragungen.
Modbus sendet einfach nur Daten; es ist nicht möglich, eine aussagekräftige Beschreibung, wie Einheit, Auflösung oder den Namen eines Datenobjekts direkt in einer Anfrage zu erhalten. Sie können zum Beispiel leicht feststellen, dass eine Temperatur 25 Grad beträgt, aber nicht, ob diese Zahl in Celsius oder Fahrenheit ausgedrückt ist. Eine Möglichkeit, dies zu umgehen, ist die Verwendung eines OPC UA-Gateways, das Metadaten über die Werte in Modbus-Registern bereitstellen kann.
Modbus ist einfach zu verwenden, aber die Tatsache, dass es Offsets für die Adressierung verwendet, kann verwirrend sein. Die Lösung besteht darin, sicherzustellen, dass die Entwickler die Dokumentation lesen (sowohl Client- als auch Server-Geräte müssen die gleiche Offset-Methode verwenden) oder eine Abfragesoftware verwenden, um das Format zu bestimmen, und einen Modbus-Simulator zum Testen verwenden.
Die Anzahl der Client- und Server-Geräte, die ein Modbus RTU-Netzwerk unterstützt, hängt vom verwendeten physikalischen Signalstandard ab, so dass die Anforderungen des Netzwerks bewertet werden sollten, bevor ein Standard ausgewählt wird.
PRTG ist eine umfassende Monitoring-Software für Netzwerke und überwacht Ihre gesamte IT-Infrastruktur.
PRTG ist eine anpassbare Plattform für das Monitoring und die Kontrolle von Modbus RTU und Modbus TCP Verbindungen. Dazu stellt PRTG benutzerdefinierte RTU-Sensoren undTCP-Sensoren zur Verfügung. Sensoren sind virtuelle Monitoring-Geräte, die alle Arten von Messwerten für Verbindungen überwachen können, die Modbus verwenden. PRTG ermöglicht es Administratoren, Daten von physischen Geräten, die Modbus verwenden, über eine benutzerfreundliche Oberfläche in einen Kontext zu setzen und zu analysieren. Sehen Sie hier ein Video über die Funktionsweise des benutzerdefinierten Modbus TCP Sensors.
Hinweis: Um zu sehen, wie Modbus im Vergleich zu alternativen Netzwerkprotokollen - wie BACnet, LonWorks und M-Bus - abschneidet, lesen Sie den Paessler Blog-Beitrag "Protokolle, Gateways und Datenübertragungsmethoden für das Build State Monitoring".