Erweitertes Modbus
ASCII-Tutorial


Inhalt

  1. Was ist das Modbus ASCII-Protokoll?
  2. Wie teste ich die Modbus-ASCII-Kommunikation?
  3. Was ist der Unterschied zwischen Modbus ASCII und RTU?
  4. Modbus ASCII vs TCP
  5. 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 die Protokolle RS232/RS485/RS422 verwenden. Seine Einfachheit und die Tatsache, dass Hersteller es kostenlos in ihre Produkte integrieren können, haben dazu beigetragen, dass es die beliebteste Methode zum Anschließen industrieller elektronischer Geräte ist.

Es gibt zwei Hauptübertragungsarten, die bei Verwendung des Modbus-Protokolls verwendet werden. Dies sind Modbus RTU und Modbus ASCII. Dieser Artikel ist als erweitertes Modbus ASCII-Tutorial gedacht. Wir beginnen mit einem Überblick über Modbus, der sowohl für die ASCII- als auch für die RTU-Implementierung des Protokolls relevant ist.

Modbus behebt das Problem des Sendens von Informationen zwischen elektronischen Geräten über serielle Leitungen. Das Protokoll ist in einer Architektur implementiert, die der folgt Master/Slave-Modell. Der Modbus-Master fordert Informationen von den anderen Geräten an. In einem Standard-Modbus-Netzwerk gibt es einen Modbus-Master.

Modbus Master/Slave-Modell

Der Master fordert von den Slave-Geräten Informationen an, die bis zu nummerieren 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 die vom Slave zurückgegebenen Informationen empfängt, ist gemeint mit Modbus-Kommunikation. Das Master-Gerät fordert nicht nur Informationen vom Slave an, sondern kann auch in die internen Register des Slave-Geräts schreiben.

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

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 / 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 leichter lesbar sind.

Wie teste ich die
Modbus-ASCII-Kommunikation?


Wenn Sie mit seriellen Geräten und dem Modbus-Protokoll arbeiten, besteht eine gute Chance, dass Sie irgendwann mit dem Debuggen oder Überwachen Ihrer seriellen Datenübertragung beginnen müssen. Modbus Analyzer (Serial Port Monitor) ist eine von Eltima Software entwickelte spezielle Softwareanwendung, mit der die Datenübertragung über die seriellen Schnittstellen Ihres Systems analysiert und diagnostiziert werden kann.

Modbus Protocol Analyzer

Modbus Analyzer ist ein professionelles und leistungsstarkes Systemdienstprogramm zum Anzeigen, Protokollieren und Analysieren 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 einschätzen zu können, wie ein Modbus-ASCII-Testtool gefällt Modbus-Protokoll-Analysator Schauen wir uns das Daten- und Nachrichtenformat von Modbus ASCII an.

Modbus ASCII-Datenformat


Modbus ASCII verwendet den ASCII-Zeichensatz, um hexadezimale Zeichen darzustellen, die jeweils 4 Datenbits enthalten. Im Modbus-ASCII-Modus enthält jedes Byte 10 Bits. Sie bestehen aus:

  • 1 Startbit
  • 7 Datenbits, wobei das niedrigstwertige Bit zuerst gesendet wird
  • 1 Bit zur Vervollständigung der Parität
  • 1 Stoppbit

Modbus ASCII-Nachrichtenformat


Das Format von Modbus-ASCII-Nachrichten besteht aus einem Startzeichen mit einem Doppelpunkt „:“. Das Ende der Nachricht wird durch einen Wagenrücklauf und einen Zeilenvorschub definiert. Auf diese Weise kann der Abstand zwischen den Nachrichten variiert werden, und Modbus ASCII kann über bestimmte Modems übertragen werden.

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

Mit diesem Tool können Sie:

  • Analysieren der Aktivität der seriellen Schnittstelle - Sie können jede serielle Schnittstelle in Ihrem System öffnen, auch wenn sie bereits von einer anderen Anwendung verwendet wird. Verwenden Sie die Datenerfassung in Echtzeit, um Probleme mit allen Aktivitäten der seriellen Schnittstelle schnell zu diagnostizieren.
  • Mehrere serielle Schnittstellen gleichzeitig überwachen - Eine zentrale Protokolldatei speichert alle überwachten Daten in einer First-In-First-Out-Reihenfolge, um die Analyse zu vereinfachen.
  • Zeigen Sie Ihre Daten in vier verschiedenen Formaten an - Verwenden Sie diese verschiedenen Ansichten einzeln oder in Kombinationen, um mehr Einblick in Ihre Daten zu erhalten. Im Tabellen-, Zeilen-, Speicherauszugs- und Terminalmodus können Sie Ihre Daten so anzeigen, wie es Ihren Anforderungen entspricht.
  • Emulation der Datenübertragung - Sie können die Datenübertragung zu seriellen Geräten 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 Excel CSV-Format exportieren. Neue Daten können an zuvor gespeicherte Dateien angehängt werden.

Insgesamt ist der Modbus Protocol Analyzer ein unverzichtbares Tool für die Arbeit mit seriellen Geräten und dem Modbus-Protokoll.

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. Sie sind beide für die Verwendung mit seriellen Geräten ausgelegt, sind jedoch aufgrund der unten beschriebenen Unterschiede nicht miteinander kompatibel.

Der Hauptunterscheidungsfaktor ist dass Modbus RTU Verwendet eine binäre Codierung, bei der der Modbus-ASCII den ASCII-Zeichensatz verwendet. Modbus RTU führt eine Fehlerprüfung mit der strengen CRC-Methode durch, während Modbus ASCII die weniger effektive LRC-Fehlerprüfungsmethode verwendet. Das Datenformat unterscheidet sich ebenfalls geringfügig, da die RTU-Variante ein Startbit, 8 Datenbits und ein Stoppbit verwendet, im Gegensatz zu dem zuvor betrachteten ASCII-Datenformat.

Die Kombination aus binärer Codierung und CRC-Fehlerprüfung macht Modbus RTU für industrielle Anwendungen geeignet, da es effizienter übertragen kann als die Alternative von ASCII-Zeichen. Wenn Sie sich zwischen Modbus RTU und ASCII entscheiden, ist RTU die erste Wahl, wenn Leistung eine Rolle spielt.

Modbus ASCII vs TCP


Es gibt noch eine weitere Variante von Modbus, und das ist 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 für Modbus ASCII erforderliche LRC-Fehlerprüfung von der IP-Schicht durchgefü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 kommunizieren.

Modbus RTU-Protokoll

Dazu benötigen Sie eine Hardwarelösung namens Modbus ASCII to RTU Converter. Diese Art von Gerät ist im Grunde ein Übersetzer, der Daten von einem Gerät liest und sie dann intern in einem anderen Protokoll zur Verwendung durch das zweite Gerät speichert. Auf diese Weise können Geräte, die eine Modbus-Variante verwenden, miteinander kommunizieren.

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