Überblick über die Modbus RTU-Kommunikation (S7-1200, S7-1500) - STEP 7

MODBUS (RTU) (S7-1200, S7-1500)

ft:publication_title
MODBUS (RTU) (S7-1200, S7-1500)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
Überblick über die Modbus RTU-Kommunikation

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.