Modbus-Client/Server-Prinzip
Überblick
Das Modbus-Protokoll tauscht unter Verwendung eines Anfrage-Antwort-Mechanismus Daten zwischen einem Client und einem Server aus. Bei einem Kommunikationsprotokoll nach dem Client/Server-Prinzip steuert ein Gerät (der Client) ein oder mehrere andere Geräte (die Server). Ein Modbus-Standardnetzwerk besteht aus einem Client und bis zu 31 Servern.
Merkmale des Client/Server-Prinzips
Das Client/Server-Prinzip weist folgende Merkmale auf:
-
Es ist jeweils nur ein Client mit dem Netzwerk verbunden.
-
Nur der Client kann die Kommunikation starten und Anfragen an Server senden.
-
Der Client kann jeden Server einzeln über dessen jeweilige Adresse oder alle Server gleichzeitig über die Adresse 0 ansprechen.
-
Die Server können nur Antworten an den Client senden.
-
Server können die Kommunikation weder mit dem Client noch mit den anderen Servern starten.
Client/Server-Kommunikationsmodi
Das Modbus-Protokoll kann Daten in zwei Kommunikationsmodi austauschen:
-
Anfrage-Antwort-Modus
-
Broadcast-Modus
Jedes I/O Smart Link-Gerät verfügt über eine Modbus-Adresse (1 bis 99) und sammelt die Daten der Geräte, die an seine 11 Kanäle (Ti24-Schnittstelle) angeschlossen sind.
Die Zustände und Steuerbefehle für jedes mit I/O Smart Link verbundene Gerät sind in Registern zugänglich, deren Adresse von dem Kanal (1 bis 11) abhängt, an den das Gerät angeschlossen ist.
Anfrage-Antwort-Modus
Im Anfrage-/Antwortmodus spricht der Client geszielt 1 Server unter Verwendung der dedizierten Serveradresse an. Der Server verarbeitet den Request und antwortet dann dem Client.
Broadcast-Modus
Im Broadcast-Modus spricht der Client alle Server über die Adresse 0 an. Server antworten nicht auf Broadcast-Nachrichten.
Bearbeitungszeit
Datenaustausch
Das Modbus-Protokoll verwendet zwei Datentypen:
-
Bits
-
16-Bit-Wörter, die als Register bezeichnet werden
Jedes Register verfügt über eine Registernummer. Jeder Datentyp (Bit oder Register) verfügt über eine 16-Bit-Adresse.
Mit dem Modbus-Protokoll ausgetauschte Nachrichten enthalten die Adresse der zu verarbeitenden Daten.
Frames
Alle mit dem Modbus-Protokoll ausgetauschten Frames umfassen maximal 256 Bytes und bestehen aus vier Feldern:
Feld |
Definition |
Größe |
Beschreibung |
---|---|---|---|
1 |
Servernummer |
1 Byte |
Ziel der Anfrage
|
2 |
Funktionscode |
1 Byte |
|
3 |
|
n Bytes |
|
4 |
Kontrolle |
2 Bytes |
CRC16 (zur Prüfung von Übertragungsfehlern) |
Datenformat
Das Datenformat wird, wie in der folgenden Tabelle gezeigt, gemäß dem Modbus RTU-Format konfiguriert:
Start |
Daten |
Parität |
Anhalten |
---|---|---|---|
1 Bit |
8 Bits |
1 Bit |
1 Bit |
Es erfordert eine gerade Parität. Andere Modi (ungerade Parität, keine Parität) können u. U. auch verwendet werden.
Wenn keine Parität im Modbus-Client implementiert ist, muss ein zusätzliches Stoppbit durch den Modbus–Client übertragen werden, um den Zeichenübertragungsblock auf ein vollständiges 11-Bit-Asynchronzeichen aufzufüllen.