Fortgeschrittenes Modbus
ASCII-Tutorial


Inhalt

  1. Was ist das Modbus-ASCII-Protokoll?
  2. So testen Sie die Modbus ASCII-Kommunikation
  3. Was ist der Unterschied zwischen Modbus ASCII und RTU?
  4. Wie konvertiert man Modbus ASCII in das Modbus RTU-Protokoll?

Was ist das Modbus-ASCII-Protokoll?


Modbus ist ein serielles Kommunikationsprotokoll, das 1979 von der Modicon Corporation entwickelt wurde. Es wurde ursprünglich für die Verwendung mit speicherprogrammierbaren Steuerungen (SPS) des Unternehmens entwickelt. Modbus ist ein offenes Protokoll, das serielle Geräte unterstützt, die das RS232/RS485/RS422-Protokoll verwenden. Die Einfachheit und die Tatsache, dass Hersteller es kostenlos in ihre Produkte integrieren können, hat dazu beigetragen, dass es die populärste Methode zum Anschließen industrieller elektronischer
Geräte ist.

Es gibt zwei Hauptübertragungsarten, die bei der Verwendung des Modbus-Protokolls verwendet werden. Sie sind Modbus RTU und Modbus ASCII. Dieser Artikel ist ein fortgeschrittenes Modbus ASCII-Lernprogramm. Wir beginnen mit einer Übersicht über Modbus, die sowohl für die ASCII- als auch für die RTU-Implementierung des Protokolls relevant ist.

Modbus befasst sich mit dem Problem des Sendens von Informationen zwischen elektronischen Geräten über serielle Leitungen. Das Protokoll ist in einer Architektur implementiert, die dem folgt Master / Slave-Modell. Der Modbus-Master ist dafür verantwortlich, Informationen von den anderen Geräten anzufordern. In einem Standard-Modbus-Netzwerk gibt es einen Modbus-Master.

Modbus ASCII-Protokoll

Der Master fordert Informationen von den Slave-Geräten an, die bis zu einer Nummer sein können 247. Jedes Slave-Gerät wird durch eine Slave-Adresse zwischen 1 und 247 identifiziert. Der Prozess, mit dem der Master den Slave abfragt und vom Slave zurückgegebene Informationen empfängt, ist damit gemeint Modbus-Kommunikation. Das Master-Gerät kann nicht nur Informationen vom Slave anfordern, sondern auch in die internen Register des Slave-Geräts schreiben.

Serielle Daten werden zwischen Geräten in Bitströmen ausgetauscht, bei denen jedes Bit eine Spannung ist. Binärdaten werden mit einer 1 ausgetauscht, die durch eine negative Spannung bezeichnet wird, und eine Null wird durch eine positive Spannung dargestellt.

Das Modbus-Protokoll definiert Funktionscodes und das Codierungsschema für die Datenübertragung entweder als Einzelpunkte (1-Bit, Spulen) oder als 16-Bit-Datenregister. Datenpakete werden entsprechend der verwendeten Übertragungsmethode gekapselt. Das Modbus-Protokoll verwendet vier verschiedene Tabellen, um Daten in den Slave-Geräten zu speichern. Es gibt zwei Spulen, die diskrete Ein- oder Aus-Werte speichern, und zwei Register, die numerische Werte speichern. Im Fall von Modbus ASCII werden Nachrichten mit dem ASCII-Zeichensatz weitergeleitet, sodass sie für das menschliche Auge besser lesbar sind.

Was ist das Modbus-ASCII-Protokoll?


So testen Sie die Modbus ASCII-Kommunikation mit dem Modbus-Protokollanalysator

Wenn Sie mit seriellen Geräten und dem Modbus-Protokoll arbeiten, besteht eine gute Chance, dass Sie irgendwann ein Debugging oder eine Überwachung Ihrer seriellen Datenübertragung vornehmen müssen. Modbus Analyzer ist eine spezielle Softwareanwendung, die von Eltima Software entwickelt wurde und zur Analyse und Diagnose der Datenübertragung über die seriellen Schnittstellen Ihres Systems verwendet werden kann.

Modbus Protocol Analyzer

Modbus Analyzer ist ein professionelles und leistungsstarkes Systemdienstprogramm zur Anzeige, Protokollierung und Analyse der Modbus-Kommunikation.
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

Um besser zu verstehen, wie ein Modbus ASCII-Testwerkzeug funktioniert Modbus Protokoll Analyzer kann Ihnen helfen, werfen wir einen Blick auf die Modbus ASCII-Daten und das Nachrichtenformat.

Modbus ASCII-Datenformat


Modbus ASCII verwendet den ASCII-Zeichensatz zur Darstellung von Hexadezimalzeichen, die jeweils 4 Datenbits enthalten. Im Modbus ASCII-Modus sind in jedem Byte 10 Bit enthalten. Sie bestehen aus:

  • 1 Startbit
  • 7 Datenbits, wobei das niedrigstwertige Bit zuerst gesendet wird
  • 1 Bit für Paritätsabschluss
  • 1 Stoppbit

Modbus ASCII-Nachrichtenformat


Das Format der Modbus-ASCII-Nachrichten besteht aus einem Startzeichen, einem Doppelpunkt „:“, und das Ende der Nachricht wird durch einen Wagenrücklauf und einen Zeilenvorschub definiert. Dadurch kann der Abstand zwischen den Meldungen variabel sein und Modbus ASCII für die Übertragung durch bestimmte Modems geeignet sein.

Die Modbus Sniffer-Software kann äußerst hilfreich sein Fehlerbehebung, Überwachung und Diagnose von Problemen in einem Modbus-Netzwerk. Es kann sowohl für Modbus RTU- als auch für ASCII-Implementierungen verwendet werden.

Mit diesem Tool können Sie:

  • Analyse der Aktivität serieller Ports - Sie können jeden seriellen Port in Ihrem System öffnen, auch wenn dieser bereits von einer anderen Anwendung verwendet wird. Verwenden Sie die Echtzeit-Datenerfassung, um Probleme aller Aktivitäten der seriellen Schnittstelle schnell zu diagnostizieren.
  • Mehrere serielle Anschlüsse gleichzeitig überwachen - Eine zentrale Protokolldatei speichert alle überwachten Daten in einer First-In-First-Out-Basis, um die Analyse zu erleichtern.
  • Anzeigen Ihrer Daten in vier verschiedenen Formaten - Verwenden Sie diese verschiedenen Ansichten einzeln oder in Kombination, um mehr Einblick in Ihre Daten zu erhalten. Im Tabellen-, Zeilen-, Dump- und Terminalmodus können Sie Ihre Daten so anzeigen, wie es Ihren Anforderungen entspricht.
  • Emulation der Datenübertragung - Sie können die Datenübertragung an serielle Geräte in verschiedenen Formaten wie String, Binär, Dezimal und Hex emulieren.
  • Exportieren Sie Ihre überwachten Daten - Sie können Ihre Daten in Dateien im HTML-, ASCII-Text-, UNICODE-Text- oder Exel CSV-Format exportieren. Neue Daten können an zuvor gespeicherte Dateien angehängt werden.

Alles in allem ist der Modbus Protocol Analyzer ein unverzichtbares Werkzeug für alle, die mit seriellen Geräten und dem Modbus-Protokoll arbeiten.

Was ist der Unterschied zwischen Modbus ASCII und RTU?


Sowohl Modbus ASCII als auch RTU wurden als Teil der ursprünglichen Modbus-Protokollspezifikation eingeführt. Die beiden Varianten verwenden dieselbe Master / Slave-Architektur und sind sich sehr ähnlich. Beide sind für die Verwendung mit seriellen Geräten konzipiert, sind jedoch aufgrund von Unterschieden, die im Folgenden beschrieben werden, nicht kompatibel.

Der Hauptunterscheidungsfaktor ist dass Modbus RTU verwendet die binäre Codierung, wobei der passend benannte Modbus ASCII den ASCII-Zeichensatz verwendet. Modbus RTU führt Fehlerprüfungen mit der stringenten CRC-Methode durch, während Modbus ASCII die weniger effektive LRC-Fehlerprüfmethode verwendet. Das Datenformat unterscheidet sich auch geringfügig, da die RTU-Variante ein Startbit, 8 Datenbits und ein Stoppbit verwendet, im Gegensatz zum ASCII-Datenformat, das wir zuvor betrachtet haben.

Durch die Kombination von Binärcodierung und CRC-Fehlerprüfung eignet sich Modbus RTU für industrielle Anwendungen, da es sich für eine effizientere Übertragung als die Alternative von ASCII-Zeichen eignet. Bei der Wahl zwischen Modbus RTU und ASCII ist RTU die erste Wahl, wenn die Leistung eine Rolle spielt.

Modbus ASCII vs TCP


Es gibt noch eine weitere Variante von Modbus, und zwar Modbus TCP. Dies ist einfach eine Implementierung von Modbus, die über ein TCP/IP-Netzwerk ausgeführt wird. Der Hauptunterschied zwischen Modbus ASCII und Modbus TCP besteht darin, dass die von Modbus ASCII erforderliche LRC-Fehlerprüfung von der IP-Schicht ausgeführt wird.

Wie konvertiert man Modbus ASCII in das Modbus RTU-Protokoll?


Wie bereits erwähnt, sind die Protokolle Modbus ASCII und Modbus RTU nicht miteinander kompatibel. Geräte, die die beiden Protokolle verwenden, können nicht direkt miteinander kommunizieren. Es gibt jedoch Möglichkeiten, die Geräte miteinander zu sprechen.

Modbus RTU-Protokoll

Dazu müssen Sie eine Hardwarelösung verwenden, die als Modbus ASCII / RTU-Konverter bezeichnet wird. Diese Art von Gerät ist im Grunde ein Übersetzer, der Daten von einem Gerät liest und diese dann intern in einem anderen Protokoll zur Verwendung durch das zweite Gerät speichert. Auf diese Weise können Geräte, die eine beliebige Modbus-Variante verwenden, miteinander kommunizieren.

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: Communication Application