Modbus TCP basiert nicht auf einer hierarchischen Struktur, sondern auf einem Client/Server-Modell.
Der integrierte Ethernet-Port der Steuerung unterstützt einen Modbus-Server ohne jegliche Konfiguration.
Der Modbus-Server unterstützt folgende Modbus-Anforderungen:
Funktionscode Dez. (Hex.) |
Unterfunktion Dez. (Hex.) |
Funktion |
---|---|---|
3 (3) |
– |
Halteregister lesen (%MW) |
6 (6) |
– |
Einzelnes Register schreiben (%MW) |
16 (10) |
– |
Mehrere Register schreiben (%MW) |
22 (16) |
- |
Schreibregister ausblenden |
23 (17) |
– |
Mehrere Register lesen/schreiben (%MW) |
43 (2B) |
14 (E) |
Geräteidentifikation lesen |
Zur Konfigurieration eines TM3 Ethernet-Buskopplers als Modbus-TCP-Slave-Gerät integrieren Sie den Buskoppler und wählen asujs.
Diese Tabelle enthält die Liste der Datenauswahlcodes:
Datenauswahlcode (hex.) |
Beschreibung |
---|---|
00 |
Reserviert |
01 |
Standardnetzwerkdiagnose |
02 |
Ethernet-Port-Diagnose |
03 |
Modbus TCP/Port 502-Diagnose |
04 |
Modbus TCP/Port 502-Verbindungstabelle |
05 - 7E |
Reserviert für andere öffentliche Codes |
7F |
Offsets von Datenstrukturen |
Zone |
Zugriff |
Register |
Funktion |
---|---|---|---|
Diagnosezone |
RO |
900 - 901 |
Diagnose des Buskopplers |
RO |
930 - 931 |
Status von TM2/TM3-Bus und -Modulen |
|
RO |
932 |
Systemstatus |
|
RO |
991 - 992 |
Kommunikationsdiagnose |
|
RO |
1058...1066 |
Ethernet-Kommunikationsparameter |
|
RO |
1100...1115 |
TM3-Buskoppler-Produktinformationen |
|
RO |
2512 - 2513 |
TM3-Buskoppler-Produktseriennummer |
|
E/A-Scannerzone |
RO |
1...99 |
Teilgruppe der Eingangswerte des Buskopplermoduls (die ersten 7 Module)(1) |
RW |
101...199 |
Teilgruppe der Ausgangswerte des Buskopplermoduls (die ersten 7 Module)(1) |
|
RO |
3001...3499 |
Buskopplermodul Eingangswerte (alle Module)(1) |
|
RW |
3501...3999 |
Buskopplermodul Ausgangswerte (alle Module)(1) |
|
RO |
13001...13499 |
Buskopplermodul Eingangswerte (alle Module) für die Verwendung mit HMI-Geräten |
|
RO |
13501...13999 |
Buskopplermodul Ausgangswerte (alle Module) für die Verwendung mit HMI-Geräten |
|
Direkte TM3-Konfiguration |
Siehe Vorgehensweise zur Konfiguration: Register zur Konfigurationsverwaltung |
15000 - 16499 |
Senden der TM3-Konfiguration durch Steuerungen über Modbus-Requests zulassen |
(1) Beim Zugriff auf diese Register wird ein Fehler zurückgegeben, wenn der Systemstatus (Register 932) nicht 5 ist (TM3-Bus über modbus TCP gesteuert). Die Werte der Register 3001 bis 3499, 3501 bis 3999 und 13001 bis 13999 sind nur gültig wenn das Register 931 den Wert 0 aufweist (Busstatus OK, Status aller Module OK). |
Register |
Funktion |
Beschreibung |
---|---|---|
900 |
Diagnose des Buskopplers |
Bits (0...8]): Nicht verwendet |
Bit (9): E/A-Bus Laufzeitfehler |
||
Bits (10-11): Nicht verwendet |
||
Bit (13): E/A-Bus nicht konfiguriert oder Buskonfigurationsfehler |
||
Bits (14-15): Nicht verwendet |
||
901 |
E/A-Modulstatus |
Bits (0...13): Status des ersten bis Status des 14. Erweiterungsmoduls |
Bits (14-15): Nicht verwendet |
||
0: Kein Fehler erkannt |
||
1: Fehler erkannt |
Register |
Funktion |
Bit |
Beschreibung |
---|---|---|---|
930 |
Status von TM3/TM2-Bus und -Modulen |
0…1 Modul 1 |
Modulstatus (2 Bits pro Modul):
|
2…3 Modul 2 |
|||
4…5 Modul 3 |
|||
6…7 Modul 4 |
|||
8…9 Modul 5 |
|||
10…11 Modul 6 |
|||
12…13 Modul 7 |
|||
14…15 Modul 8 |
|||
931 |
Status von TM3/TM2-Bus und -Modulen |
0…1 Modul 9 |
Modulstatus (2 Bits pro Modul):
|
2…3 Modul 10 |
|||
4…5 Modul 11 |
|||
6…7 Modul 12 |
|||
8…9 Modul 13 |
|||
10…11 Modul 14 |
|||
12…13 |
Reserviert |
||
14…15 |
Busstatus:
|
Register |
Funktion |
Beschreibung |
---|---|---|
932 |
Status des Systems |
|
933 |
TM3/TM2-Buskonfiguration |
|
Register |
Funktion |
Beschreibung |
---|---|---|
991 |
Anzahl empfangener Meldungen |
Anzahl der empfangenen Meldungen. |
992 |
Anzahl gesendeter Meldungen |
Anzahl der gesendeten Meldungen. |
Informationen zur Einstellung der Netzwerkkonfigurationen mithilfe der Register 1050 bis 1056 finden Sie unter Konfigurieren der Netzwerkeinstellungen per Modbus-Befehl.
Register |
Funktion |
---|---|
1050 |
Netzwerkkonfiguration starten oder anwenden. 1 = Starten 0 = Anwenden |
1051 |
Hochwertiges Wort (HIGH) der IP-Adresse |
1052 |
Niederwertiges Wort (LOW) der IP-Adresse |
1053 |
Hochwertiges Wort (HIGH) der Subnetzmaske |
1054 |
Niederwertiges Wort (LOW) der Subnetzmaske |
1055 |
Hochwertiges Wort (HIGH) der Gateway-Adresse |
1056 |
Niederwertiges Wort (LOW) der Gateway-Adresse |
1057 |
Fehler erkannt (siehe die Fehler pro Bit in der nachstehenden Tabelle) |
1058 |
MAC-Adresse |
1059 |
|
1060 |
|
1061 |
IP-Adresse |
1062 |
|
1063 |
Subnetzmaske |
1064 |
|
1065 |
Gateway |
1066 |
In der folgenden Tabelle werden die Fehler pro Bit für Register 1057 beschrieben:
Bitfeld |
Fehlerbit (0 = Kein Fehler, 1 = Fehler) |
Beschreibung |
||
---|---|---|---|---|
Bit 0 |
Ungültige IP |
90.0.0.1 und 90.0.0.2 sind nicht zulässig, da sie im Buskoppler für das RNDIS-Netzwerk reserviert sind. |
||
Bit 1 |
Ungültige IP |
Ungültiger Wert für das höherwertige Byte. Wert darf nicht null sein. Wert darf nicht größer oder gleich 224 sein.
|
||
Bit 2 |
Ungültige IP |
Loopback (Schleifenschaltung) nicht zulässig. Der Wert des höherwertigen Bytes der IP-Adresse bzw. das höherwertige Byte darf nicht 127 sein. Beispiel: Die IP-Adresse 127.xxx.xxx.xxx ist nicht zulässig. |
||
Bit 3 |
Ungültige Subnetzmaske |
Der zulässige Höchstwert für das letzte Byte beträge 252.
Beispiele für ungültige Subnetzmaskenwerte:
|
||
Bit 4 |
Ungültige Subnetzmaske |
Die Subnetzmaske muss direkt aufeinander folgende Einer ohne dazwischen liegenden Nullen enthalten. Beispiel für eine ungültige Adresse:
|
||
Bit 5 |
Ungültige IP |
Die IP-Adresse darf keine Broadcast-Adresse. Die Broadcast-Adresse wird durch Umkehrung der Bits der Subnetzmaske und dann einer bitweisen OR-Operation mit der IP-Adresse berechnet. Beispiel: Eine Konfiguration mit der IP-Adresse 10.10.0.3 und der Subnetzmaske 255.255.255.252 ist ungültig, da die resultierende Broadcast-Adresse der IP-Adresse entsprechen würde. |
||
Bit 6 |
Ungültiges Subnetz |
IP-Klasse wird nicht abgedeckt. Die bitweise AND-Operation der IP-Adresse mit den umgekehrten Bitwerten der Subnetzmaske darf nicht 0 sein. Beispiel: Die IP-Adresse 10.10.0.4 und die Subnetzmaske 255.255.255.252 sind nicht zulässig, da die IP-Klasse nicht von der Subnetzmaske abgedeckt wird. |
||
Bit 7 |
Ungültiges Gateway |
Der Wert des höherwertigen Bytes der Gateway-Adresse ist ungültig. Null ist nicht zulässig. 127 ist nicht zulässig. Der Wert muss kleiner sein als 224.
Beispiele für ungültige Gateway-Adressen:
|
||
Bit 8 |
Ungültiges Gateway |
Die Gateway-Adresse 255.255.255.255 ist nicht zulässig. |
||
Bit 9 |
Ungültige IP |
Gibt einen Fehler zurück, wenn die Gateway-Adresse der Broadcast-Adresse entspricht. Die Broadcast-Adresse wird durch Umkehrung der Bits der Subnetzmaske und dann einer bitweisen OR-Operation mit der IP-Adresse berechnet.
Beispiel für eine ungültige Konfiguration:
|
||
Bit 10 |
Ungültiges Gateway |
Die Host-ID wird durch Umkehrung der Bits der Subnetzmaske und dann einer bitweisen AND-Operation mit der Gateway-Adresse berechnet. Der Ergebniswert darf nicht 0 sein.
Beispiel für eine ungültige Konfiguration:
|
||
Bit 11 |
Ungültige IP |
Netzwerk ist nicht erreichbar. Gibt einen Fehler zurück, wenn (IP AND Subnetz) nicht identisch ist mit (Gateway AND Subnetz).
Beispiel für eine ungültige Konfiguration:
|
||
Bit 12 |
Ungültiges Subnetz |
Die Subnetzmaske 0.0.0.0 ist nicht zulässig. |
||
Bit 13 |
Nicht verwendet |
– |
||
Bits 14-15 |
Statusbits: Verweisen auf den Status der Konfiguration der Netzwerkeinstellungen. |
Bit 15 |
Bit 14 |
Beschreibung |
0 |
0 |
Standardwert beim Einschalten. |
||
0 |
1 |
Der Buskoppler speichert die Netzwerkkonfiguration (nachdem |
||
1 |
0 |
Die Netzwerkkonfiguration wurde gespeichert, es wird auf nächstes Aus- und Wiedereinschalten gewartet. |
||
1 |
1 |
Die Netzwerkkonfiguration ist fehlerhaft oder es ist ein Timeout aufgetreten. |
||
Beispiel:
|