Arbeitsmodus
Modbus basiert auf dem Master-Slaven - Modus. In einem Netzwerk tauscht das Modbus-Protokoll Informationen über einen Anfrage-Antwort - Mechanismus zwischen einem Master (Client) und einem Slave (Server).
Die folgende Abbildung zeigt ein typisches Modbus-Netzwerk, in dem ein Master-Gerät (Client) ein oder mehrere Slave-Geräte (Server) steuert.

In einem Modbus-Standardnetzwerk gibt es 1 Master und bis zu 31 Slaves.
Kommunikationsmerkmale
Master-Slave - Funktionsweise:
- Nur ein Master-Gerät kann gleichzeitig mit dem Netzwerk verbunden sein;
- Nur das Master-Gerät kann die Kommunikation initiieren und Anfragen an Slaves senden;
- Der Master-Gerät kann auf jeden Slave-Gerät individuell über eine spezielle Adresse zugreifen oder kann auf alle Slave-Geräte gleichzeitig über die Adresse 0 zugreifen;
- Slave-Geräte können nur Antworten an das Master-Gerät senden;
- Slave-Geräte können keine Kommunikation mit dem Master oder anderen Slave-Geräten initiieren.
Kommunikationsmodus
Das Modbus-Protokoll unterstützt zwei Kommunikationsmodus für den Informationsaustausch:
- Unicast-Modus - das Master-Gerät greift über eine spezielle Adresse auf das Slave-Gerät zu, verarbeitet die Anfrage des Slaves und sendet anschließend eine Antwort an das Master-Gerät.
- Broadcast-Modus - Der Master greift auf alle Slaves über die Adresse 0 auf, in diesem Modus antwortet der Slave nicht auf die Broadcast-Nachricht. (Daher muss der Anforderungsbefehl im Broadcast-Modus ein Schreibbefehl in der Modbus-Standardfunktion sein)
Antwortzeit
Die Antwortzeit ist die Zeit, die vom Slave-Gerät benötigt wird, um auf eine Anforderung des Master-Geräts zu antworten. Die Werte des Modbus-Protokolls sind:
- Typischer Wert < 10 ms (90% des Informationsaustauschs)
- Der maximale Wert beträgt ca. 700 ms, daher wird empfohlen, nach dem Senden einer Modbus-Anforderung für eine Sekunde zu pausieren, bevor Sie fortfahren.
Datenaustausch
Das Modbus-Protokoll unterstützt zwei Datentypen:
- Single-Bit
- Register (16 Bit)
Die spezifischen Bit - und Registerdefinitionen hängen vom Slave-Gerät ab.
Adresse
Mit dem Modbus-Protokoll ausgetauschten Nachrichten enthalten die Adresse der zu verarbeitenden Daten. Jedes Register hat eine Registernummer, und jede Datenklasse (Bit oder Register) hat eine 16 - Bit-Adresse.
In der PDU, die durch das Modbus-Protokoll festgelegt ist, werden alle Spule - oder Registeradressen von 0 abgerechnet. Daher ist die Adresse des Registers Nr. n - 1. Zum Beispiel ist die Adresse des Registers 12000 0x2EDF (11999).
帧
Alle Frames (ADU), die mit dem Modbus-Protokoll ausgetauscht werden, haben maximal 256 Bytes (ASCII-Format verdoppelt), die 4 Felder enthalten:
| 域 | Definition | Größe (RTU-Format) | Beschreibung |
|---|---|---|---|
| 1 | Aus der Gerätennummer (Adresse) | 1 Byte | Zieladresse der Anfrage - 0: Broadcast (alle Slaves betreffen) - 1 - 247: Unicast, eindeutige Adresse des Slaves |
| 2 | Funktionscode | 1 Byte | SieheModbus Funktionscode |
| 3 | Daten | 0 bis 252 Bytes | Anforderungsdaten (oder Antwortdaten) |
| 4 | Prüfsumme | 2 Bytes | CRC- Prüfsumme (ASCII für LRC) |
Die folgende Abbildung zeigt den Frame-Austausch - Prozess im Master-Slave - Arbeitsmodell.

Netzwerk Topologie
Modbus RTU
Modbus-RTUs basieren normalerweise auf seriellen RS - 485 - Kommunikationsverbindungen, und die RS - 485 - Busverdrahlungsspezifikation legt fest, dass sie eine Bustopologie sein müssen. In der tatsächlichen Verdrahtung wird normalerweise eine Hand in Hand gekrümmte Kette Verdrahtung verwendet. Zum Beispiel, Slave 1 / 2 / 3 drei RS - 485 - Geräte, Slave1 's 485 + Zugriff auf Slave2' s 485 + Port, Slave2 's 485 + anschließen an Slave3' s 485 + Port, und so weiter, die Verkabelung von 485 - wie 485 +.

Modbus TCP
Im Vergleich zu Modbus-RTUs, die eine serielle Verbindung verwenden, basiert Modbus-TCP auf Ethernet-Kommunikation und ist somit flexibler in der Netzwerktopologie. Von einer Master-Multi - Slave-Konstruktion auf einer seriellen Verbindung entwickelte sich das Konstruktionsmodell für mehrere Clients / mehrere Server.
Mit Modbus TCP kann ein Master-Gerät (Client) einen Modbus-Slave (Server) über die IP-Adresse finden und sich über ein Modbus-Gateway mit einem anderen Modbus-RTU - Netzwerk verbinden.

Antwort veröffentlichen