Instructions

Table Of Contents
Kommunikationsprozessor und Modbus-TCP
13.5 Modbus-Kommunikation
S7-1200 Automatisierungssystem
1270 Systemhandbuch, V4.2.3, 08/2018, A5E02486681-AL
Extended_Addressing
Auf die Extended_Addressing-Variable wird in ähnlicher Weise zugegriffen wie auf die oben
beschriebene HR_Start_Offset-Referenz, außer dass es sich bei der Extended_Addressing-
Variable um einen Booleschen Wert handelt. Der Boolesche Wert muss von einer
Ausgangsspule und kann nicht von einer Box "Verschieben" geschrieben werden.
Für die Modbus-Slave-Adressierung kann ein einzelnes Byte (dies ist der Modbus-Standard)
oder ein doppeltes Byte konfiguriert werden. Die erweiterte Adressierung dient zur
Adressierung von mehr als 247 Geräten in einem einzigen Netzwerk. Wenn Sie sich für die
erweiterte Adressierung entscheiden, können Sie maximal 64.000 Adressen ansprechen. Im
Folgenden wird ein Telegramm der Modbus-Funktion 1 als Beispiel gezeigt.
Tabelle 13- 89 Slave-Adresse mit einem Byte (Byte 0)
Funktion 1
Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Anforderung Slave-
Adresse
F-Code Anfangsadresse Länge der Spulen
Gültige Antwort Slave-
Adresse
F-Code Länge Spulendaten
Fehlerantwort Slave-
Adresse
0x81 E-Code
Tabelle 13- 90 Slave-Adresse mit zwei Bytes (Byte 0 und Byte 1)
Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Anforderung
Slave-Adresse
F-Code
Anfangsadresse
Länge der Spulen
Gültige Antwort
Slave-Adresse
F-Code
Länge
Spulendaten
Fehlerantwort
Slave-Adresse
0x81
E-Code
Zugriff auf Datenbereiche in Datenbausteinen (DB) statt des direkten Zugriffs auf Modbus-Adressen
Ab der Version V4.0 der Modbus_Slave-Anweisung und Firmware-Version V4.2 der S7-1200
CPU kann auf Datenbereiche in DBs zugegriffen werden, anstatt direkt auf Prozessabbilder
und Halteregister zuzugreifen. Hierfür müssen auf der Eigenschaftenseite "Attribute" der
globalen DB die Kontrollkästchen "Nur in Ladespeicher ablegen" und "Optimierter
Bausteinzugriff" abgewählt werden.
Wenn eine Modbus-Anforderung eintrifft und kein Datenbereich für den Modbus-Datentyp
des entsprechenden Funktionscodes festgelegt wurde, behandelt die CPU die Anforderung
wie in früheren Anweisungsversionen: Sie können direkt auf Prozessabbilder und
Halteregister zugreifen.
Wenn ein Datenbereich für den Modbus-Datentyp des Funktionscodes festgelegt wurde,
wird von der Modbus_Slave-Anweisung aus diesem Datenbereich gelesen bzw. in diesen
Datenbereich geschrieben. Ob gelesen oder geschrieben wird, hängt von der Art des
Auftrags ab.
Bei einer einzelnen Modbus-Anforderung kann nur in einen Datenbereich geschrieben bzw.
daraus gelesen werden. Sollen beispielsweise Halteregister gelesen werden, die sich über
mehrere Datenbereiche erstrecken, sind mehrere Modbus-Anforderungen notwendig.