Erweiterte Modbus RTU-Kommunikationsanleitung


In diesem Artikel werden wir alle Aspekte der Modbus RTU-Kommunikation erläutern. Was ist der Unterschied zwischen Modbus RTU und ASCII und Modbus RTU gegenüber TCP / IP? So testen Sie das Modbus RTU-Protokoll mit der Modbus RTU-Überwachungssoftware.

Inhalt


  1. Was ist das Modbus RTU-Protokoll?
  2. So testen Sie Modbus RTU mit dem Serial Port Monitor
  3. Wie funktioniert Modbus RTU?
  4. Modbus RTU im Vergleich zu TCP
  5. Modbus RTU gegen ASCII

Was ist das Modbus RTU-Protokoll?


Das Modbus RTU-Protokoll ist ein Kommunikationsmittel, das den Datenaustausch zwischen speicherprogrammierbaren Steuerungen (SPS) und Computern ermöglicht. Elektronische Geräte können über das Modbus-Protokoll Informationen über serielle Leitungen austauschen.

Es hat sich weithin durchgesetzt und wird in der Konstruktion von Gebäudemanagement-Systeme (BMS) und industrielle Automatisierungssysteme (IAS). Seine Akzeptanz wurde durch seine Benutzerfreundlichkeit, Zuverlässigkeit und die Tatsache, dass es sich um Open-Source handelt und in jedem Gerät oder jeder Anwendung gebührenfrei verwendet werden kann, vorangetrieben.

Das Protokoll wurde 1979 von Modicon® zur Verwendung mit seinen speicherprogrammierbaren Steuerungen entwickelt und veröffentlicht. Es ist unter Verwendung einer Master / Slave-Architektur aufgebaut und unterstützt serielle Geräte, die die RS232 / RS485 / RS422-Protokolle verwenden. Modbus wird häufig in Szenarien verwendet, in denen mehrere Mess- und Steuergeräte Signale an eine zentrale Steuerung oder ein System senden, um Daten zu sammeln und zu analysieren. Industrielle Automatisierung und Überwachung und Datenerfassung (SCADA) Systeme verwenden häufig das Modbus-Protokoll.

Wofür steht Modbus RTU?


Modbus RTU (Remote Terminal Unit) ist einer der beiden in der ursprünglichen Modbus-Spezifikation definierten Übertragungsmodi. Die beiden Modi sind Modbus RTU und ASCII und sind beide für die Verwendung mit seriellen Geräten ausgelegt, die die Protokolle RS232, RS485 und RS422 unterstützen. Ein charakteristisches Merkmal von Modbus RTU ist die Verwendung von Binärcodierung und starker CRC-Fehlerprüfung. Modbus RTU ist die Implementierung des Modbus-Protokolls, das am häufigsten in industriellen Anwendungen und automatisierten Produktionsanlagen verwendet wird.

So testen Sie Modbus RTU mit dem Serial Port Monitor


Es gibt einige Situationen, in denen die Verwendung eines Modbus-RTU-Testers sehr hilfreich sein kann. Wenn Sie sich entwickeln oder Debuggen von seriellen Geräten oder Anwendungen, Sie möchten die Datenübertragung zwischen Geräten und Anwendungen überwachen und analysieren können. Ein anderes Beispiel, bei dem sich ein Modbus RTU-Überwachungsprogramm als unentbehrlich erweist, ist, wenn Sie damit beauftragt sind, das Netzwerk und die zugehörigen Geräte in einer automatisierten industriellen Produktionsanlage zu warten.

Serial Port Monitor

Serial Port Monitor ist eine leistungsfähige Software zum Testen und Debuggen des Modbus RTU-Protokolls.
Serial Port Monitor logo

Serial Port Monitor

Protokollieren und analysieren Sie die Aktivität des Serial-Ports
4.8 Rang basierend auf 41+ Nutzer, Bewertungen(75)
Herunterladen 14 Tage voll funktionale Testversion
Serial Port Monitor

Serial Port Monitor von Eltima ist eine Modbus RTU-Software. Es ist eine umfassende und voll funktionsfähige Anwendung, die die Überwachung und Analyse aller Modbus RTU-Schnittstellenaktivitäten auf Ihrem System ermöglicht. Bei allen Geräten, die die Protokolle RS232, RS485 und RS422 unterstützen, können ihre Übertragungen überwacht und analysiert werden, um Debugging- oder Entwicklungsaufgaben zu unterstützen.

Dieses Software-Tool wurde mit einer flexiblen und benutzerfreundlichen Oberfläche, integriertem Terminal und Datenexportfunktionen entwickelt. Es ist eine wertvolle Ressource für die Diagnose von Modbus RTU-Kommunikationsproblemen in der Windows-Umgebung. Hier sind einige Highlights aus der Liste der Funktionen, die Teil des Monitors für serielle Schnittstellen sind.

  • Analyse der Modbus RTU-Aktivität. Dieser serielle Port-Sniffer kann jeden seriellen Port öffnen, sogar diejenigen, die bereits von einer anderen Anwendung geöffnet wurden, und sofort beginnen, alle Aktivitäten zu überwachen, die sich durch diese Schnittstelle bewegen. Mit der Echtzeitdatenerfassung können Sie Probleme und Probleme schnell aufspüren. Die überwachten Daten können in Dateien umgeleitet oder in die Zwischenablage kopiert werden, um sie für eine spätere Analyse zu verwenden.
  • Überwachen Sie mehrere serielle Anschlüsse gleichzeitig. Mit dieser Funktion können Sie beobachten, wie Ihre Anwendungen mit mehreren Ports oder Geräten innerhalb derselben Überwachungssitzung interagieren. Die erfassten Daten werden in einer zentralen Protokolldatei in einer First-In-First-Out-Darstellung dargestellt, um ihre Analyse zu vereinfachen.
  • Wählen Sie zwischen mehreren Datenansichten. Es gibt vier Ansichten, die einzeln oder alle gleichzeitig angezeigt werden können. Sie sind die Tabellen-, Zeilen-, Dump- und Terminal-Modi und sie können jeweils einen anderen Einblick in Ihre Daten bieten. In der Dump-Ansicht können Sie die Port-Einstellungen untersuchen, und Sie können Überwachungsfilter verwenden, um das Durcheinander auf dem Bildschirm zu reduzieren und sich auf die wichtigen Ereignisse zu konzentrieren.
  • Emulation der Datenübertragung. Sie können Daten an serielle Geräte in verschiedenen Formaten wie String, Binär, Dezimal und Hex senden, um die Reaktion des seriellen Geräts auf bestimmte Befehle oder Datenstrings zu überwachen.
  • Session-Wiedergabe-Option. Sie können eine Übertragung an eine serielle Schnittstelle wiederholen, um genauere Überwachungsinformationen zu erhalten. Sitzungen können miteinander verglichen und Unterschiede für eine einfache Analyse automatisch hervorgehoben werden.
  • Exportieren Sie überwachte Daten in verschiedenen Formaten. Sie können Ihre Daten in eine Datei im HTML-, ASCII-, UNICODE- oder ExSel-CSV-Format exportieren und die aktuell überwachten Daten an eine zuvor gespeicherte Datei anhängen lassen.
  • Benutzerfreundliches Bedienfeld. Serial Port Monitor ermöglicht den Zugriff auf serielle Schnittstellen und Schnittstellen ohne Programmierkenntnisse. Filter zur Steuerung der angezeigten Daten können in der Symbolleiste der Anwendung leicht angepasst werden.
  • Verfolgen Eingabe / Ausgabe Steuercodes. Sie können die vollständigen Details und Parameter aller seriellen Eingabe- / Ausgabesteuercodes (IOCTLs) mit dem Serial Port Monitor erhalten.

Dieser Modbus RTU-Protokollanalysator sollte in der Toolbox von jedem sein, der umfangreich mit seriellen Geräten und dem Modbus-Protokoll arbeitet. Sie können es entweder im RTU- oder im ASCII-Modus verwenden, wodurch es zu einem vielseitigen Software-Dienstprogramm wird. Es ist eine effiziente Lösung, mit der Sie alle seriellen Schnittstellen in Ihrem System ohne zusätzliche Hardwareanforderungen überwachen können. Eltimas Serial Port Monitor läuft sowohl unter Windows 10 als auch unter Windows Server 2012 und 2016.

Wie funktioniert Modbus RTU?


Das Modbus-Protokoll ist im Wesentlichen ein System, das Anfragen und Antworten von elektronischen Geräten verarbeitet. Die Master / Slave-Architektur wird verwendet, wenn der Master Anforderungen stellt, die von den Slave-Geräten beantwortet werden.

  • Was ist ein Modbus RTU-Master?

Ein Modbus RTU-Master ist das zentrale Gerät, das Informationen von den angeschlossenen Slave-Geräten anfordert. Eine zentrale Steuerung in einem automatisierten Produktionssystem kann die Rolle eines Modbus RTU-Masters spielen. Eine Modbus-Implementierung hat einen Master. Master-Geräte erhalten Informationen von den Slaves und können auch in die Register der Slave-Geräte schreiben.

  • Was ist ein Modbus RTU-Slave?

Der Modbus RTU-Slave ist das Gerät, das auf die Anforderung des Master-Geräts antwortet. Es kann keine Informationsübertragungen initiieren und befindet sich in einem Warteschleifenmuster, bis auf eine Anforderung des Masters reagiert wird.

Wie bereits erwähnt, gibt es in einer Modbus-RTU-Implementierung ein Master-Gerät, und es können bis zu 247 Slave-Geräte vorhanden sein. Jedes Slave-Gerät wird durch eine Slave-Adresse von 1 bis 247 identifiziert.

Das Herz des Modbus-Protokolls ist die Komponente, die als Protokolldateneinheit (PDU). Die PDU besteht aus einem Funktionscode und Daten und ist unabhängig vom verwendeten Modbus-Übertragungsmodus konsistent aufgebaut. Der Funktionscode gibt an, welche Daten vom Master angefordert werden.

Im Modbus-RTU-Übertragungsmodus werden zusätzliche Informationen um die PDU gewickelt, um die vollständige Anwendungsdateneinheit (Application Data Unit, ADU) zu erstellen. Im Signalstrom und vor dem Funktionscode wird im Modus Modbus RTU eine Slave-ID von 1 Byte gesendet, um das Slave-Gerät zu identifizieren, das die Anforderung erfüllen soll. An die PDU ist eine 2-Byte-CRC angehängt, die sicherstellt, dass die richtige Menge an Bytes gesendet und empfangen wurde.

Modbus-Geräte unterstützen vier Datentabellen, die die Kommunikation zwischen Geräten erleichtern. Sie sind diskrete Eingänge, diskrete Ausgänge (Spulen), Eingangsregister und Halteregister. Die Register führen unterschiedliche Funktionen aus und sind nicht in jedem Gerät enthalten. In einigen Fällen werden nur die Halteregister für die E / A-Funktionalität verwendet.

Feld Zugriff Größe Beschreibung
Diskrete Eingänge
nur lesen
1 Bit
als Eingänge verwendet
Spulen Ausgänge
lesen Schreiben
1 Bit
verwendet, um diskret zu steuern
Eingangsregister
nur lesen
16 Bit
verwendet für die Eingabe
Holding-Register
lesen Schreiben
16 Bit
verwendet für eine Vielzahl von Dingen einschließlich Eingaben, Ausgaben, Konfigurationsdaten usw.

Funktionscodes geben an, wie der Master mit dem in der Slave-ID angegebenen Slave-Gerät interagiert. Basierend auf dem gesendeten Funktionscode kann das Master-Gerät eines der Register des Slave lesen oder in diese schreiben.

Slaves geben Fehlercodes zurück, wenn sie ein Paket empfangen, das einen Fehler in der Anforderung enthält. Fehlercodes werden für Probleme wie die Anforderung einer unzulässigen Funktion, ungültige Registeradressen, die vom angegebenen Slave nicht erreicht werden können, und Meldungen, die angeben, dass das Slave-Gerät ausgelastet ist oder einen Fehler festgestellt hat, zurückgegeben.

Modbus RTU erfordert, dass Sie Parameter wie Baudrate, Zeichenformat (8 Bit keine Parität usw.) und Slave-ID beim Initiieren der Kommunikation kennen oder definieren. Ein Missverhältnis in einem dieser Parameter führt zum Fehlschlagen des Kommunikationsversuchs.

Modbus RTU im Vergleich zu TCP


Modbus RTU ist einer der ursprünglichen Übertragungsmodi, die im Modbus-Protokoll definiert wurden. Modbus TCP ist eine kürzlich entwickelte Erweiterung des Protokolls, mit der Modbus-Protokolle über TCP / IP-Netzwerke übertragen werden können. Die inhärente Latenzzeit und andere Aspekte der Kommunikation über ein Netzwerk erforderten einige Modifikationen darüber, wie Anforderungen und Antworten miteinander synchronisiert werden, und stellen sicher, dass die falschen Daten nicht von einem Slave-Gerät empfangen werden.

Modbus TCP weist einen Unterschied darin auf, wie die PDU im Vergleich zu Modbus RTU gewickelt ist. Der TCP-Frame, der die PDU enthält, beginnt mit einer MODBUS Application Protocol (MBAP) -Transaktions-ID von 2 Byte anstelle der Slave-ID. Es ist auch nicht erforderlich, dass der CRC eine Fehlerprüfung durchführt, da der TCP-Layer diese Funktion verarbeitet.

Modbus RTU gegen ASCII


Da sie beide Teile der ursprünglichen Modbus-Protokollspezifikation waren, fragen Sie sich vielleicht, worin der Unterschied besteht Modbus ASCII und Modbus RTU. Modbus RTU verwendet Binärcodierung und CRC-Fehlerprüfung. Diese Auswahl wurde aus Gründen der Effizienz getroffen und ist der Hauptgrund dafür, dass der RTU-Modus der am häufigsten in industriellen Umgebungen verwendete ist. Wie Sie vielleicht vermutet haben, verwendet Modbus ASCII beim Senden von Nachrichten ASCII-Zeichen.

Die Verwendung von ASCII-Zeichen macht die Nachrichten lesbarer, ist jedoch ein weniger effizientes Übertragungsmedium. Ein weiterer wichtiger Unterschied besteht in dem Grad der Fehlerprüfung, die durchgeführt wird. Modbus ASCII verwendet die weniger effektive LRC-Methode der Fehlerprüfung als die stärkere CRC des RTU-Modus.

Obwohl sowohl Modbus RTU als auch Modbus ASCII für die Verwendung mit seriellen Geräten und Protokollen entwickelt wurden, sind sie aufgrund der oben beschriebenen Unterschiede inkompatibel. Wenn Sie mit seriellen Geräten arbeiten, sollten Sie bereit sein, das Modbus-Protokoll zu verwenden.

Serial Port Monitor

Bedarf: Windows XP/2003/2008/Vista/7/8/10/Server 2012 , 9.16MB Größe
Version 7.0.342 (der 13. Jan, 2018) Versionshinweise
Categorie: CommunicationApplication