Informationen zu Modbus TCP

Der Internet-Draft-Standard

Das 1979 entwickelte Modbus-Protokoll dient als Kommunikationsprotokoll, das auf einer Master/Slave Architektur basiert. Als De-facto-Standard hat sich Modbus TCP neben EtherCAT, EtherNet/IP, PROFINET und POWERLINK für die industrielle Kommunikation über Industrial Ethernet etabliert.

Die Basis bilden die verfügbare Basistechnologie, eine Vielzahl industrieller Seriengeräte sowie eine stabile Spezifikation. Bisher gibt es kein einheitliches Anwendungsprotokoll für Industrial Ethernet. Auch in absehbarer Zukunft wird es dieses wohl nicht geben. Die IAONA bemüht sich zwar, die Planung in Angriff zu nehmen, doch konkrete Ergebnisse der beteiligten Industrieverbände gibt es bisher nur im Bereich der Installationsrichtlinien. Die bisher bekannten Lösungen können in die Kategorien‚ Systeme für verteilte Automatisierung’ sowie ‚Feldbus-on-Ethernet-Lösungen’ unterteilt werden.

Profinet CBA und IDA zählen bisher zu den Systemen für die verteilte Automatisierung. Diese beiden Konzepte umfassen ein ganzheitliches System. Eine Automatisierungsaufgabe wird dabei durch das Zusammenwirken von intelligenten, verteilten Geräten gelöst. Die Systeme erfordern eine komplett neue Vorgehensweise bei Programmierung und Engineering.

Feldbus-on-Ethernet-Lösungen sind hingegen durch das weitgehend unveränderte Feldbusprotokoll gekennzeichnet. Ethernet-TCP/IP wurde dabei als neue Übertragungstechnik zugelassen. EtherNet/IP (Rockwell Automation, ODVA), Profinet IO (Siemens, PNO), EtherCAT (Beckhoff, ETG) und Modbus TCP (Schneider Automation, IDA) sind typische Vertreter dieser Kategorie sind. Vorteile dieser Systeme sind, dass der Einsatz kein grundsätzliches Umdenken bei den Anwendern erfordert und die Spezifikationen stabil sind. Diese Lösungen sind für eine schnelle, zuverlässige Übertragung von Daten zwischen Feldgeräten und Automatisierungsgeräten gedacht sind.

Die Modbus-Lösung

Die TCP-Lösung sah vor, dass man Ethernet-TCP/IP als eine weitere Übertragungstechnik für das bereits im Jahre 1979 zugelassene Modbus-Protokoll zulassen würde. Die Lösung wurde von Schneider Automation in die Organisation IETF (Internet Engineering Task Force), die für die Internetstandardisierung zuständig ist, eingebracht. Die Modbus-Dienste und das Objektmodell der Ursprungsvariante wurden unverändert beibehalten. Dabei wurden sie auf TCP/IP als Übertragungsmedium abgebildet. Modbus wurde also erweitert und besteht somit aus dem klassischen Modbus-RTU (asynchrone Übertragung über RS-485 oder RS-232), dem Modbus TCP (Ethernet-TCP/IP basierte Client-Server Kommunikation) und dem Modbus-Plus (High-Speed Kommunikation über ein Token-Passing Netzwerk). Das einheitliche Anwendungsprotokoll ist allen Varianten gemeinsam ist.Vom jeweils verwendeten Übertragungsmedium ist das Anwendungsprotokoll unabhängig. Es wird nach dem Client-Server-Prinzip organisiert. Der Client initiiert einen Dienstaufruf, indem er ein Request-Telegramm aussendet. Dieser Aufruf wird dann vom Server mit einem Response-Telegramm beantwortet. Sowohl das Request- als auch das Response-Telegramm enthalten Parameter oder Daten.Bei der Modbus Standardkommunikation werden noch zusätzlich zu Daten und Befehlscode eine CRC-Prüfsumme und die Slave-Adresse übertragen. Bei Modbus TCP übernimmt diese Funktionen hingegen das unterlagerte TCP-Protokoll.

TCP/IP – Mapping

Für die Übertragung des Modbus-Anwendungsprotokolls Modbus TCP wird für die Datenübertragung in Ethernet-TCP/IP-Netzwerken das "Transport Control Protocol" (TCP) verwendet. Die Parameter und Daten werden in den Nutzdatencontainer eines TCP-Telegramms nach dem Encapsulation-Prinzip eingebettet. Bei der Einbettung wird ein "Modbus Application Header" (MBAP) vom Client erzeugt, der dem Server die eindeutige Interpretation der empfangenen Modbus-Parameter und Befehle bietet.

Modbus TCP – Performance

Die Leistungsfähigkeit eines Modbus TCP-Netzwerkes hängt von der Leistungsfähigkeit der Prozessoren im Kommunikationsinterface der beteiligten Geräte und von der Art und Ausführung des jeweiligen Ethernet-Netzwerkes ab. Die Effizienz des Modbus TCP-Protokolls ist mit etwa 60 Prozent relativ hoch. Im Idealfall können etwa 3,6 Millionen 16-Bit-Registerwerte pro Sekunde im 100 Mbit/s switched Ethernet-Netzwerk übertragen werden. In praktischer Anwendung wird dieser Wert jedoch bei Weitem nicht erreicht. Die tatsächlichen Übertragungszeiten im Netzwerk und vor allem die Protokollbearbeitungszeiten in der Kommunikationsschnittstelle der Feldgeräte können nicht vernachlässigt werden und stellen Performance bestimmende Faktoren dar. Tests mit einer Momentum-SPS haben aufgezeigt, dass pro Sekunde etwa 4.000 dezentrale I/O-Geräte mit 16 analogen Messwerten und 32 digitalen E/A- bedient werden konnten.

Modbus TCP - Systemaspekte

In nahezu allen neuen Geräten mit integriertem Ethernet-TCP/IP-Anschluss ist Modbus TCP als Standardvariante für das Industrial-Ethernet-Anwendungsprotokoll vorhanden. Viele verschiedene Standard-SPS stehen als Clients mit zusätzlichem Kommunikationsprozessor, sowie PC-Karten und OPC-Server zur Verfügung.

Zertifizierte Geräte werden in dem Modbus-Produktkatalog gekennzeichnet. Sie bieten Anwendern den Vorteil, eventuelle Kommunikationsprobleme bereits im Vorfeld eines industriellen Einsatzes zu erkennen und im Verlauf der Prüfprozedur zu beheben.

Der Gebrauch ist immer dann notwendig, wenn die Vorteile der Ethernet-Übertragungstechnik – wie eine hohe Teilnehmeranzahl, eine große Rechweite und die zusätzliche Nutzung der IT-Funktionen (Filetransfer, E-Mail-Übertragung und Webtechnologie) – über das gleiche Medium, die Zusatzkosten der erforderlichen Netzwerkinfrastruktur (sternförmige Verkabelung mit intelligenten Switches) rechtfertigen können. Modbus TCP hat gegenüber anderen Industrial-Ethernet-Konzepten einen erheblichen zeitlichen Vorsprung. Auch bei Geräteherstellern sowie Anwendern gibt es eine niedrigere Einstiegsschwelle hinsichtlich des erforderlichen Know-hows und der Initialkosten.

 

Modbus TCP Kommunikationsmodul
 

Modbus TCP Geschichte

Das Modbus-Protokoll ist seit der Entwicklung im Jahre 1979 als ein Standard der Informationstechnik und der industriellen Kommunikation anzusehen, da es als effektiv und einfach zu implementieren gilt und zudem ein offenes Protokoll darstellt, also für Anbieter von Geräten und deren Anwender gleichermaßen frei verfügbar ist. Die ursprüngliche Nutzung von Modbus lag in der seriell ablaufenden Kommunikation zwischen den Geräten innerhalb eines Netzwerks, zudem dieser Standard auch lange Zeit die einzige Möglichkeit bot, Steuerungssysteme von unterschiedlichen Herstellern so miteinander zu verbinden, dass diese untereinander kommunizieren können. Die Version Modbus TCP gilt seit 2007 als eine klar definierte Norm für den internationalen Gebrauch.

Die Bedeutung von Modbus TCP

Die Einführung dieses offenen Protokolls bedeutete auch gleichzeitig den Einzug der auf Ethernet gestützten Kommunikation in der Automationstechnik, da hierdurch zahlreiche Vorteile für die Entwickler und Anwender erschlossen wurden. So wird durch den Zusammenschluss von Ethernet mit dem allgegenwärtigen Netzwerkstandard von Modbus TCP und einer auf Modbus basierenden Datendarstellung ein offenes System geschaffen, das dies Dank der Möglichkeit des Austausches von Prozessdaten auch wirklich frei zugänglich macht. Zudem wird die Vormachtstellung dieses Protokolls auch durch die Möglichkeit gefördert, dass sich Geräte, die fähig sind den TCP/IP-Standard zu unterstützen, implementieren lassen. Modbus TCP definiert die am weitesten entwickelte Ausführung des offenen, herstellerneutralen Protokolls und sorgt somit für eine schnelle und effektive Kommunikation innerhalb der Teilnehmer einer Netzwerktopologie, die flexibel ablaufen kann. Zudem ist dieses Protokoll auch das einzige der industriellen Kommunikation, welches einen „Well known port“, den Port 502, besitzt und somit auch im Internet routingfähig ist. Somit können die Geräte eines Systems auch über das Internet per Fernzugriff gesteuert werden.

Der Modbus TCP Protokollstack

Der Aufbau des Protokolls lässt sich als Netwerkstapel, kurz auch Stack, bezeichnen, da hier die Kommunikationsprotokolle innerhalb einer Systemarchitektur übereinander geschichtet werden und somit einen geordneten Stapel ergeben. Die Schichten sind hierbei fortlaufend nummeriert und werden als „layers“ bezeichnet. Innerhalb des Protokolls nimmt jede Schicht eine andere Aufgabe an und setzt diese um indem es die tiefer liegende Schicht in den Prozess mit einbindet. Beim Modbus TCP orientiert sich der Stack am ISO/OSI-Referenzmodell, welches sich aus sieben Schichten zusammensetzt.

  • Schicht 7 – Anwendungsschicht
  • Schicht 6 – Darstellungsschicht
  • Schicht 5 – Sitzungsschicht
  • Schicht 4 – Transportschicht
  • Schicht 3 – Vermittlungsschicht
  • Schicht 2 – Sicherungsschicht
  • Schicht 1 – Bitübertragungsschicht

Das Modbus TCP auf der Anwendungsschicht

Innerhalb der höchsten Schicht, der Anwendungsschicht, findet sich beim OSI-Referenzmodell das Modbus-Protokoll. Auf dieser Ebene wird eine Kommunikation zwischen dem Client und dem Server ermöglicht, was auch für die Verbindung zwischen verschiedenen Geräten zutreffend ist. Diese Geräte werden über unterschiedliche Busse oder auch Netzwerke miteinander verbunden. Da das Modbus TCP ein Verfahren bezeichnet, bei welchem es zu dem Austausch von Nachrichten kommen soll, besteht zu den physikalischen Ebenen der darunter angesiedelten sechs Schichten keine Abhängigkeit. Aufgrund dessen existieren mittlerweile auch diverse Implementierungen des Protokolls auf den unterschiedlichen Kommunikationsmedien wie dem Ethernet, den Funkstrecken oder den Glasfasern.

Die Grundlagen für Modbus TCP

Trotz der stabilen Spezifikationen im Laufe der Zeit stellt die Entwicklung eines einheitlichen Anwendungsprotokolls noch immer eine Schwierigkeit dar, die jedoch gleichsam auch die Grundlage für die neuste Version des Modbus-Protokolls legt. Die hauptsächlichen Systeme, die derzeit zur Lösung dieses Problems herangezogen werden, sind

  • die verteilte Automatisierung und
  • die Feldbus-on-Ethernet Lösung, zu welcher auch Modbus TCP zählt.

Da innerhalb des Modbus-Standards die Anwendungsprotokolle klar geregelt sind und eine Einheit ergeben, trifft dies auch für das Objektmodell zu, welches für den Zugriff benötigt wird. Bei dieser Variante wird die Festlegung auf ein Anwendungsprotokoll auf das eingesetzte Übertragungsmedium gelegt. Innerhalb einer Kommunikation sendet der Client dann ein Request-Telegramm aus, welches einen Dienstaufruf beinhaltet. Seitens des Servers kommt anschließend eine Antwort in Form des Response-Telegramms. An dieser Stelle zeigt sich auch der Vorteil von Modbus TCP im Vergleich zu dem Standard, da bei der weiterentwickelten Version die Übertragung einer CRC-Prüfsumme und der Slave-Adresse durch das entsprechende Protokoll bewerkstelligt wird.

Die Verbindungen beim TCP-Protokoll

Gemeinhin werden bei dieser Modbus Version zwei unterschiedliche Varianten der Verbindung unterschieden:

  • Die Verbindung bleibt bei zyklisch ablaufender Datenübertragung ständig bestehen.
  • Die Verbindung wird nach einer Bedarfsdatenübertragung solange unterbrochen bis die nächste Aktion startet.

Die Arbeitsleistung vom TCP-Protokoll ist permanent als verbindungsorientiert anzusehen, denn der automatisch durchführbare Aufbau einer Verbindung begünstigt eine sehr hohe Transparenz innerhalb von Anwendungsprozessen. Zudem ist auch die beliebige und uneingeschränkte Datenkommunikation möglich, sobald der Client und der Server zueinander in Verbindung stehen. Dabei ist es auch möglich gleich mehrere Verbindungen auf einmal aufzubauen, um die Leistungsfähigkeit zu steigern.