Kommunikationsprozessor und Modbus-TCP
13.5 Modbus-Kommunikation
Funktionscodes eingehender Modbus-Meldungen (3, 6 und 16) lesen oder schreiben Wörter in
einem Modbus-Halteregister, bei dem es sich um einen Merker oder um einen Datenbaustein
handeln kann. Der Typ des Halteregisters wird vom Parameter MB_HOLD_REG angegeben.
Hinweis
Zuweisung des Parameters MB_HOLD_REG
Modbus-Halteregister, die als Arrays aus Wörtern, Ganzzahlen (16 Bit), breiten Zeichen,
vorzeichenlosen Ganzzahlen (16 Bit), Bytes, kurzen Ganzzahlen, vorzeichenlosen kurzen
Ganzzahlen, Zeichen, Doppelwörtern, Ganzzahlen (32 Bit), vorzeichenlosen Ganzzahlen (32
Bit) oder Realzahlen definiert sind, können in jedem Speicherbereich abgelegt werden.
Modbus-Halteregister, die Sie als Strukturen definiert haben, müssen in nicht-optimierten DBs
abgelegt werden.
Für ein Modbus-Halteregister im Speicherbereich der Merker verwenden Sie das Format des Any-
Pointers. Dies ist das Format P#"Bitadresse" "Datentyp" "Länge". Beispiel: P#M1000.0 WORD 500.
Die folgende Tabelle zeigt Beispiele für die Zuordnung von Modbus-Adressen zum Halteregister,
das für die Modbus-Funktionscodes 03 (Wörter lesen), 06 (Wort schreiben) und 16 (Wörter
schreiben) verwendet wird. Die tatsächliche obere Grenze der DB-Adressen wird vom
maximalen Arbeitsspeicher und vom maximalen M-Speicher des jeweiligen CPU-Modells
festgelegt.
Tabelle 13-66 Beispiele für die Zuordnung von Modbus-Adressen zu Adressen im Speicher der CPU
Modbus-Adresse
40001
40002
40003
40004
40005
Header des Modbus-Anwendungsprotokolls
Der Header des Modbus-Anwendungsprotokolls umfasst die ersten sieben Bytes jeder Modbus
TCP-Nachricht. Dieser Header enthält die Transaktionskennung, die Protokollkennung, die
Länge und die Gerätekennung. Die Antwortnachricht der MB_SERVER-Anweisung enthält die
gleichen Werte für die Transaktionskennung, die Protokollkennung und die Gerätekennung, die
in der Modbus-Anforderungsnachricht empfangen wurden. Das Längenfeld wird von der
Anweisung MB_SERVER berechnet.
Mehrere Serververbindungen
Es können mehrere Serververbindungen hergestellt werden. Ein einziges PLC-Gerät kann
gleichzeitig Verbindungen mit mehreren Modbus TCP-Clients herstellen.
Ein Modbus TCP-Server unterstützt gleichzeitige Verbindungen bis zur maximalen für das PLC-
Gerät zulässigen Anzahl von Open User Communication-Verbindungen. Die Gesamtzahl der
Verbindungen für ein PLC-Gerät, einschließlich Modbus TCP-Clients und Modbus TCP-Server,
1036
P#M100.0 Word 5
MW100
MW102
MW104
MW106
MW108
Beispiele für Parameter von MB_HOLD_REG
P#DB10.DBx0.0 Word 5
DB10.DBW0
DB10.DBW2
DB10.DBW4
DB10.DBW6
DB10.DBW8
"Rezept".Inhaltsstoff
"Rezept".Inhaltsstoff[1]
"Rezept".Inhaltsstoff[2]
"Rezept".Inhaltsstoff[3]
"Rezept".Inhaltsstoff[4]
"Rezept".Inhaltsstoff[5]
S7-1200 Automatisierungssystem
Systemhandbuch, V4.5 05/2021, A5E02486681-AO