Kommunikationshandbuch für Modbus RTU


In diesem Artikel werden alle Aspekte der Modbus RTU-Kommunikation erläutert. Was ist der Unterschied zwischen Modbus RTU und ASCII und Modbus RTU und 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 Serial Port Monitor
  3. Wie funktioniert Modbus RTU?
  4. Modbus RTU gegen TCP
  5. Modbus RTU vs 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 mithilfe des Modbus-Protokolls Informationen über serielle Leitungen austauschen.

Es hat sich weithin durchgesetzt und wird ausgiebig im Bauwesen eingesetzt Gebäudemanagementsysteme (BMS) und Industrielle Automatisierungssysteme (IAS). Die Akzeptanz wurde durch die Benutzerfreundlichkeit, Zuverlässigkeit und die Tatsache vorangetrieben, dass es sich um Open Source handelt und in jedem Gerät oder jeder Anwendung gebührenfrei verwendet werden kann.

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

Wofür steht Modbus RTU?


Modbus RTU (Remote Terminal Unit) ist einer der beiden Übertragungsmodi, die in der ursprünglichen Modbus-Spezifikation definiert sind. Die beiden Modi Modbus RTU und ASCII sind für die Verwendung mit seriellen Geräten vorgesehen, die die Protokolle RS232, RS485 und RS422 unterstützen. Ein Unterscheidungsmerkmal 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
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 weiteres Beispiel für die Notwendigkeit eines Modbus RTU-Überwachungsdienstprogramms ist die Wartung des Netzwerks und der zugehörigen Geräte in einer automatisierten industriellen Produktionsanlage.

Serial Port Monitor ist eine effiziente 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 Geräten, die die Protokolle RS232, RS485 und RS422 unterstützen, können die Übertragungen überwacht und analysiert werden, um das Debuggen oder die Entwicklung zu unterstützen.

Dieses Softwaretool wurde mit einer flexiblen und benutzerfreundlichen Oberfläche, einem integrierten 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 von Serial Port Monitor sind.

  • Analyse der Modbus RTU-Aktivität. Dieser Sniffer für die serielle Schnittstelle kann jede serielle Schnittstelle öffnen, auch die, die bereits von einer anderen Anwendung geöffnet wurden, und sofort damit beginnen, alle Aktivitäten zu überwachen, die über diese Schnittstelle laufen. Mit der Echtzeit-Datenerfassung können Sie Probleme und Probleme schnell aufspüren. Die überwachten Daten können in Dateien umgeleitet oder zur späteren Analyse in die Zwischenablage kopiert werden.
  • Überwachen Sie mehrere serielle Schnittstellen gleichzeitig. Mit dieser Funktion können Sie beobachten, wie Ihre Anwendungen mit mehreren Ports oder Geräten in derselben Überwachungssitzung interagieren. Die erfassten Daten werden in einer zentralen Protokolldatei nacheinander angezeigt, um die Analyse zu vereinfachen.
  • Wählen Sie zwischen mehreren Datenansichten. Es gibt vier Ansichten, die einzeln verwendet oder alle gleichzeitig angezeigt werden können. Dies sind die Modi "Tabelle", "Zeile", "Speicherauszug" und "Terminal". Sie bieten jeweils einen anderen Einblick in Ihre Daten. In der Speicherauszugsansicht können Sie die Anschlusseinstellungen untersuchen und Überwachungsfilter verwenden, um das Durcheinander auf dem Bildschirm zu verringern und sich auf die wichtigen Ereignisse zu konzentrieren.
  • Emulation der Datenübertragung. Sie können Daten in verschiedenen Formaten wie Zeichenfolge, Binär, Dezimal und Hex an serielle Geräte senden, um die Reaktion des seriellen Geräts auf bestimmte Befehle oder Datenzeichenfolgen zu überwachen.
  • Sitzungswiedergabeoption. Sie können eine Übertragung an eine serielle Schnittstelle wiederholen, um genauere Überwachungsinformationen zu erhalten. Sitzungen können miteinander verglichen und Unterschiede zur einfachen Analyse automatisch hervorgehoben werden.
  • Exportieren Sie überwachte Daten in verschiedenen Formaten. Sie können Ihre Daten in eine Datei im HTML-, ASCII-Text-, UNICODE-Text- oder Excel CSV-Format exportieren und die Daten aktuell an eine zuvor gespeicherte Datei anhängen lassen.
  • Benutzerfreundliches Bedienfeld. Serial Port Monitor ermöglicht den Zugriff auf serielle Anschlüsse und Schnittstellen, ohne dass Programmierkenntnisse erforderlich sind. Filter zur Steuerung der angezeigten Daten können auf einfache Weise in der Symbolleiste der Anwendung angepasst werden.
  • Verfolgen Sie die Eingabe-/Ausgabesteuerungscodes. Sie können die vollständigen Details und Parameter aller IOCTLs (Serial Input/Output Control Codes) mit Serial Port Monitor abrufen.

Dieser Modbus RTU-Protokollanalysator sollte sich in der Toolbox aller Benutzer befinden, die intensiv mit seriellen Geräten und dem Modbus-Protokoll arbeiten. Sie können es entweder im RTU- oder im ASCII-Modus verwenden, was es zu einem vielseitigen Software-Dienstprogramm macht. Es ist eine effiziente Lösung, mit der Sie alle seriellen Schnittstellen Ihres Systems ohne zusätzliche Hardwareanforderungen überwachen können. Der Serial Port Monitor von Eltima kann sowohl unter Windows 10 als auch unter Windows Server 2012 und 2016 ausgeführt werden.

Wie funktioniert Modbus RTU?


Das Modbus-Protokoll ist im Grunde ein System, das Anforderungen und Antworten von elektronischen Geräten verarbeitet. Die Master/Slave-Architektur wird verwendet, wenn der Master Anforderungen stellt, auf die die Slave-Geräte antworten.

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 übernehmen. 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 reagiert. Es kann keine Informationsübertragung initiieren und befindet sich in einem Wartemuster, bis es auf eine Anforderung des Masters reagiert.

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 Herzstück des Modbus-Protokolls ist die Komponente, die als Protocol Data Unit (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 Application Data Unit (ADU) zu erstellen. Im Signalstrom und vor dem Funktionscode wird im Modbus RTU-Modus eine Slave-ID von 1 Byte gesendet, um das Slave-Gerät zu identifizieren, das die Anforderung erfüllen soll. An die PDU ist ein 2-Byte-CRC angehängt, der sicherstellt, dass die richtige Anzahl von Bytes gesendet und empfangen wurde.

Modbus-Geräte unterstützen vier Datentabellen, mit denen die Kommunikation zwischen Geräten erleichtert wird. Dies sind Digitaleingänge, Digitaleingä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
Digitaleingänge
nur lesen
1 Bit
als Eingänge verwendet
Spulenausgänge
reading/writing
1 Bit
verwendet, um diskret zu steuern
Eingangsregister
nur lesen
16 bit
wird für die Eingabe verwendet
Halten von Registern
lesen Schreiben
16 bit
wird für eine Vielzahl von Dingen verwendet, 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 Slave-Register lesen oder in dieses schreiben.

Slaves geben Fehlercodes zurück, wenn sie ein Paket empfangen, das einen Fehler in der Anforderung enthält. Fehlercodes werden zurückgegeben, z. B. für die Anforderung einer ungültigen Funktion, für ungültige Registeradressen, die vom angegebenen Slave nicht erreicht werden können, und für Meldungen, die darauf hinweisen, dass das Slave-Gerät ausgelastet ist oder einen Fehler aufweist.

Modbus RTU erfordert, dass Sie Parameter wie die Baudrate, das Zeichenformat (8 Bit, keine Parität usw.) und die Slave-ID kennen oder definieren, wenn Sie die Kommunikation einleiten. Eine Nichtübereinstimmung in einem dieser Parameter führt zum Fehlschlagen Ihres Kommunikationsversuchs.

Modbus RTU gegen 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 Latenz und andere Aspekte der Kommunikation über ein Netzwerk machten einige Änderungen erforderlich, um sicherzustellen, dass Anforderungen und Antworten miteinander synchronisiert bleiben und keine falschen Daten von einem Slave-Gerät empfangen werden.

Modbus TCP weist im Vergleich zu Modbus RTU einen Unterschied in der Art und Weise auf, in der die PDU verpackt ist. Der TCP-Frame, der die PDU enthält, beginnt mit einer MBAP-Transaktionskennung (MODBUS Application Protocol) von 2 Byte anstelle der Slave-ID. Es ist auch nicht erforderlich, dass die CRC eine Fehlerprüfung durchführt, da die TCP-Schicht diese Funktion ausführt.

Modbus RTU vs ASCII


Da beide Teile der ursprünglichen Modbus-Protokollspezifikation waren, fragen Sie sich möglicherweise, 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 erraten haben, verwendet Modbus ASCII beim Senden von Nachrichten ASCII-Zeichen.

Durch die Verwendung von ASCII-Zeichen werden die Nachrichten besser lesbar, sind jedoch ein weniger effizientes Übertragungsverfahren. Ein weiterer wesentlicher Unterschied besteht in der durchgeführten Fehlerprüfung. Modbus ASCII verwendet die weniger effektive LRC-Methode zur Fehlerprüfung und nicht 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 ausgelegt sind, sind sie aufgrund der oben genannten Unterschiede nicht miteinander kompatibel. Wenn Sie mit seriellen Geräten arbeiten, sollten Sie darauf vorbereitet sein, das Modbus-Protokoll zu verwenden.

Serial Port Monitor

Anforderungen: Windows (32-bit und 64-bit): XP/2003/2008/Vista/7/8/10, Windows Server 2012, Windows Server 2016 , 9.16MB Größe
Version 7.0.342 (der 13. Jan, 2018) Versionshinweise
Categorie: Communication Application