Modbus ist ein einfaches, zuverlässiges und offenes Kommunikationsprotokoll, das in der Industrie verwendet wird und auf einer Vielzahl von Kommunikationsmedien implementiert werden kann, einschließlich der gängigen RS232, RS485 und Ethernet. Mit der weit verbreiteten Verwendung von Modbus-TCP haben internationale Internetorganisationen den System-Port 502 auf dem TCP / IP-Protokollstack spezifiziert und reserviert, der für den Zugriff auf Modbus-Geräte bestimmt ist.
Die folgende Abbildung zeigt das Modbus-Protokollstack - Modell im Überschnittsansatz.

Das Modbus-Kommunikationsprotokoll gibt es derzeit für serielle Verbindungen, TCP / IP-Ethernet und andere Netzwerkversionen, die Internetprotokolle unterstützen. In der Praxis sind die Verbindungen über RS485 und TCP / IP am häufigsten. Im Folgenden werden einige Varianten des Modbus-Protokolls beschrieben.
Modbus RTU
Modbus RTU ist die häufigste Implementierung von Modbus, basiert auf seriellen Kommunikationsbussen (z. B. RS232, RS485) und verwendet eine kompakte binäre Datenform für die Protokollkommunikation. Das RTU-Format enthält eine Prüfsumme mit zyklischer Redundanz nach Befehl / Daten als Fehlerprüfungsmechanismus, um die Zuverlässigkeit der Daten zu gewährleisten. Modbus RTU-Nachrichten müssen kontinuierlich ohne Zögern zwischen den Zeichen übertragen werden. Modbus-Nachrichten bestehen aus freien (stille) Zeiträumen (getrennt).

Das Format für jedes Byte (11 Bit) im RTU-Modus lautet:
| Frame Format | Beschreibung |
|---|---|
| Kodierungssystem | 8 binäres System |
| Datenbit | 1 - Bit-Start - Bit 8 - Bit-Datenbit, das am wenigsten signifikanteste Bit 1 - Bit-Parity - Überprüfung (HINWEIS: Standardmäßige Paritätsprüfung ist erforderlich, auch ungerade oder keine Prüfung kann verwendet werden) 1 - Bit-Stop - Bit (HINWEIS: 2 - Bit-Stop - Bit erforderlich, wenn keine Prüfung verwendet wird) |
| Framesendmethode | Jedes Zeichen oder jedes Byte wird von links nach rechts gesendet. |
| Prüfen. | CRC (Cyclic Redundancy Check), Low-Byte - First-Send |
| Start / End | Nachrichtenframe durch ein Freizeitintervall von mindestens 3,5 Byte-Zeiten unterscheiden 1 Frame Daten |
Modbus ASCII
Modbus ASCII und Modbus RTU verwenden eine serielle Verbindungskommunikation, mit der Unterscheidung, dass Modbus ASCII eine menschlich lesbare, langwierige Darstellung verwendet und die Prüfsumme der Vertical Redundancy-Check verwendet, um die Integrität der Datenübertragung zu gewährleisten. Modbus ASCII-Nachrichten bestehen aus einem vorangegangenen Doppelpunkt (":") und einem nachfolgenden Zeilenumschlag (CR / LF).

Das Format für jedes Byte (10 Bit) im ASCII-Modus lautet:
| Frame Format | Beschreibung |
|---|---|
| Kodierungssystem | Hexadezimal, ASCII Zeichen 0 - 9, A-F |
| Datenbits | 1 Bit Startbit 7 Bit Datenbits, zuerst das am wenigsten signifikante Bit 1 Bit Parität (Hinweis: Standardmäßige Paritätsprüfung ist erforderlich, auch ungerade oder keine Prüfung kann verwendet werden) 1 - Bit Stop-Bit (Hinweis: 2 Stop-Bits erforderlich, wenn keine Prüfung verwendet wird) |
| Framesendmethode | Jedes Zeichen oder Byte wird in der Reihenfolge von links nach rechts gesendet. |
| Prüft | LRC (vertical redundancy check), Low-Byte - First-Send |
| Beginn | Beginn mit einem ' Doppelpunkt ' (:) entsprechend ASCII Hexadezimal 3A |
| Endet | Endet mit einem ' Return-to - Line ' (CR, LF) Paar (ASCII Hexadezimal 0D und 0A) |
Beachten Sie, dass Knoten, die für den RTU-Modus konfiguriert sind, aufgrund unterschiedlicher Frameformate nicht mit Knoten, die für den ASCII-Modus konfiguriert sind, kommunizieren können.
Modbus TCP
Modbus TCP (oder auch Modbus TCP / IP genannt) ist eine Modbus-Variante, die über TCP / IP-Netzwerke kommuniziert und über Port 502 verbunden ist. Im Gegensatz zu den beiden vorherigen Modbus TCP benötigt keine Prüfsumme Berechnung, da die unteren Schichten des TCP / IP-Protokollstacks bereits einen Prüfsumme-Schutz bieten.
Wenn die Prüfsumme in der Nutzlast enthalten ist, um einen ähnlichen Frame wie Modbus RTU zu bilden, wird dies Modbus RTU / IP genannt.

Weitere Versionen
Zusätzlich zu den oben genannten drei gängigen Modbus-Protokollen gibt es einige weniger gängige Modbus-Erweiterungen.
Modbus over UDP
Da es Modbus über TCP gibt, wird natürlich auch jemand versuchen, Modbus über UDP auszuführen, also Modbus über UDP. Das hat den Vorteil, dass die für TCP erforderlichen Overhead eliminiert werden.
Modbus Plus
Das Modbus Plus (Modbus +, MB + oder MBP) - Protokoll ist von Schneider Electric patentiert und unterstützt im Gegensatz zu anderen Varianten die Punkt-zu - Punkt-Kommunikation zwischen mehreren Masterstationen. Es benötigt jedoch einen dedizierten Coprozessor, um High-Speed - Token-Rotation wie HDLC zu verarbeiten. Es verwendet 1 Mbit / s Twisted Pairs und hat Transformator-Isolation an jedem Knoten, wodurch es ein Umwandlung / Kanten-Trigger statt Spannung / Level-Trigger ist. Der Anschluss von Modbus Plus an einen Computer erfordert spezielle Hardware, in der Regel eine Karte, die ISA -, PCI - oder PCMCIA-Busse unterstützt.
Pemex Modbus
Pemex Modbus ist eine Erweiterung des Standardmodbus und unterstützt historische und Verkehrsdaten. Es wurde für die Öl - und Gasfirma Pemex für die Prozesskontrolle entwickelt, wurde aber nie weit verbreitet.
Enron Modbus
Enron Modbus ist eine weitere Erweiterung des Standardmodbus, der von Enron entwickelt wurde und 32 - Bit-Ganzzahlen und Gleitkomma-Variablen sowie historische und Verkehrsdaten unterstützt. Der Datentyp verwendet eine Standard-Adress - Zuordnung. Historische Daten werden verwendet, um den Industriestandards des American Petroleum Institute (API) zu entsprechen, wie Daten gespeichert werden.
Aufmerksamkeit
Die ersten vier Modbus-Protokolle (Modbus RTU, Modbus ASCII, Modbus TCP und Modbus UDP) sind im Datenmodell und Funktionsaufruf identisch, nur dass sie unterschiedlich verkapseln. Aufgrund der unterschiedlichen Frameformate sind diese Protokollvarianten jedoch nicht interoperabel.
Antwort veröffentlichen