Modbus RTU-Kommunikation
Modbus RTU (Remote Terminal Unit) ist ein Standardprotokoll für die Kommunikation im Netzwerk und verwendet die RS232- oder RS422/485-Verbindung für die serielle Datenübertragung zwischen Modbus-Geräten im Netzwerk.
Modbus RTU nutzt ein Master/Slave-Netzwerk, in dem die gesamte Kommunikation von einem einzigen Master-Gerät ausgelöst wird, während die Slaves lediglich auf die Anforderung des Masters reagieren können. Der Master sendet eine Anforderung an eine Slave-Adresse und nur das Slave mit dieser Slave-Adresse antwortet auf den Befehl.
Sonderfall: Modbus-Slave-Adresse 0 sendet ein Broadcast-Telegramm an alle Slaves (ohne Slave-Antwort).
Modbus-Funktionscodes
-
Eine CPU, die als Modbus RTU-Master betrieben wird, kann Daten und E/A-Zustände in einem über eine Kommunikationsverbindung verbundenen Modbus RTU-Slave lesen und schreiben.
-
Eine CPU, die als Modbus RTU-Slave betrieben wird, ermöglicht es einem über eine Kommunikationsverbindung verbundenen Modbus RTU-Master, Daten und E/A-Zustände in der eigenen CPU zu lesen und zu schreiben.
Funktionen zum Lesen von Daten: Dezentrale E/A und Programmdaten lesen
|
Modbus-Funktionscode |
Funktionen zum Lesen von Daten aus dem Slave (Server) - Standardadressierung |
|---|---|
|
01 |
Ausgangsbits lesen: 1 bis 2000/19921) Bits pro Anforderung |
|
02 |
Eingangsbits lesen: 1 bis 2000/19921) Bits pro Anforderung |
|
03 |
Halteregister lesen: 1 bis 125/1241) Worte pro Anforderung |
|
04 |
Eingangswörter lesen: 1 bis 125/1241) Worte pro Anforderung |
Funktionen zum Schreiben von Daten: Dezentrale E/A schreiben und Programmdaten ändern
|
Modbus-Funktionscode |
Funktionen zum Schreiben von Daten in den Slave (Server) - Standardadressierung |
|---|---|
|
05 |
Ein Ausgangsbit schreiben: 1 Bit pro Anforderung |
|
06 |
Ein Halteregister schreiben: 1 Wort pro Anforderung |
|
15 |
Ein oder mehrere Ausgangsbits schreiben: 1 bis 1960 Bits pro Anforderung |
|
16 |
Ein oder mehrere Halteregister schreiben: 1 bis 122 Worte pro Anforderung |
-
Die Modbus-Funktionscodes 08 und 11 bieten Diagnosemöglichkeiten für die Kommunikation mit dem Slave-Gerät.
-
Modbus-Slave-Adresse 0 sendet ein Broadcast-Telegramm an alle Slaves (ohne Slave-Antwort; für Funktionscodes 5, 6, 15, 16).
Stationsadressen im Modbus-Netzwerk
|
Station |
Adresse |
|
|---|---|---|
|
RTU-Station |
Standardstationsadresse |
1 bis 247 sowie 0 für Broadcast |
|
Erweiterte Stationsadresse |
1 bis 65535 sowie 0 für Broadcast |
|
Modbus-Speicheradressen
Die tatsächlich verfügbare Anzahl von Modbus-Speicheradressen (Ein-/Ausgangsadresen) richtet sich nach der CPU-Variante und nach dem verfügbaren Arbeitsspeicher.
Modbus RTU-Anweisungen in Ihrem Programm
-
Modbus_Comm_Load: Eine Ausführung von Modbus_Comm_Load ist erforderlich, um PtP-Parameter wie Datenübertragungsgeschwindigkeit, Parität und Datenflusskontrolle einzurichten. Nachdem das Kommunikationsmodul für das Modbus RTU-Protokoll konfiguriert ist, kann er nur von der Anweisung Modbus_Master oder der Anweisung Modbus_Slave verwendet werden.
-
Modbus_Master: Mit der Modbus-Master-Anweisung kann die CPU als Modbus-RTU-Mastergerät für die Kommunikation mit einem oder mehreren Modbus-Slave-Geräten eingesetzt werden.
-
Modbus_Slave: Mit der Modbus-Slave-Anweisung kann die CPU als Modbus-RTU-Slave-Gerät für die Kommunikation mit einem Modbus-Master-Gerät eingesetzt werden.