Modbus TCP-Server

Einführung

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.

Modbus TCP-Server

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

Modbus TCP-Konfiguration

Zur Konfigurieration eines TM3 Ethernet-Buskopplers als Modbus-TCP-Slave-Gerät integrieren Sie den Buskoppler und wählen Modbus TCP-E/A-Scanner > TM3BCEIP asujs.

Diagnoseanforderung

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

TM3-Buskoppler - Modbus TCP-Register

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).

Buskopplerdiagnose

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

Status von TM3/TM2-Bus und -Modulen

Register

Funktion

Bit

Beschreibung

930

Status von TM3/TM2-Bus und -Modulen

0…1 Modul 1

Modulstatus (2 Bits pro Modul):

  • 0x0: Modul OK

  • 0x1: Modulkonfigurationsfehler erkannt

  • 0x2: Modullaufzeitfehler erkannt

  • 0x3: Modul nicht vorhanden, ist jedoch optional

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):

  • 0x0: Modul OK

  • 0x1: Modulkonfigurationsfehler erkannt

  • 0x2: Modullaufzeitfehler erkannt

  • 0x3: Modul nicht vorhanden, ist jedoch optional

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:

  • 0x0: Bus OK

  • 0x1: Buskonfigurationsfehler erkannt

  • 0x2: Buslaufzeitfehler erkannt

  • 0x3: Bus nicht konfiguriert

Systemstatus

Register

Funktion

Beschreibung

932

Status des Systems

  • 0x0: System startet.

  • 0x1: TM3-Bus ist nicht konfiguriert.

  • 0x2: Eine TM3-Konfiguration wird übertragen.

  • 0x3: Eine gültige TM3-Konfiguration wurde erfolgreich angewendet. Die Ausgänge sind auf 0 gesetzt.

  • 0x4: TM3-Bus wird über EIP gesteuert.

  • 0x5: TM3-Bus wird über den Modbus TCP-E/A-Scanner gesteuert.

  • 0x6: TM3-Bus wird über Webserver gesteuert.

  • 0x7: Timeout bei der Feldbusaktualisierung

  • 0x8: Firmwareaktualisierung läuft

  • 0xA: Systemstatus ändert sich.

933

TM3/TM2-Buskonfiguration

  • Bits [0]: Modbus TCP-Datenkonsistenz

  • 0x0: Deaktivieren

  • 0x1: Aktivieren

HINWEIS: Wenn Modbus TCP aktiviert ist, spiegeln die Werte der Statusregister (900...901, 930...932) den Status des TM3-Buskopplers und der verbundenen TM3-Erweiterungsmodule wider. Lesen Sie diese Statusregister, bevor Sie mit dem E/A-Austausch beginnen, und ergreifen Sie nach Bedarf alle erforderlichen Maßnahmen.

Kommunikationsdiagnose

Register

Funktion

Beschreibung

991

Anzahl empfangener Meldungen

Anzahl der empfangenen Meldungen.

992

Anzahl gesendeter Meldungen

Anzahl der gesendeten Meldungen.

Ethernet-Kommunikationsparameter

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.

  • 0.xxx.xxx.xxx

  • 224.xxx.xxx.xx

  • 255.xxx.xxx.xxx

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:
  • xxx.xxx.xxx.253

  • xxx.xxx.xxx.254

  • xxx.xxx.xxx.255

Bit 4

Ungültige Subnetzmaske

Die Subnetzmaske muss direkt aufeinander folgende Einer ohne dazwischen liegenden Nullen enthalten.

Beispiel für eine ungültige Adresse:

  • 160.0.0.0 [10100000.00000000.00000000.00000000]

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:
  • 0.xxx.xxx.xxx

  • 127.xxx.xxx.xxx

  • 255.xxx.xxx.xxx

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:
  • IP-Adresse: 10.10.0.100

  • Subnetzmaske: 255.255.255.0

  • Gateway: 10.10.0.255

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:
  • Subnetmaske: 255.255.255.192

  • Gateway: 10.10.0.192

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:
  • IP-Adresse: 10.10.0.128

  • Subnetzmaske: 255.255.255.192

  • Gateway: 10.10.0.64

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 0 in das Register 1050 geschrieben wurde).

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:
  • Ohne Fehler, Konfiguration wird gespeichert: 0x4000

  • Konfiguration gespeichert: 0x8000

  • Konfigurations-Timeout: 0xC000

  • Null Subnetzfehler: 0xD000

TM3-Buskoppler - Buskoppler-Produktinformationen

Register

Funktion

1100

TM3-Buskoppler-Produktcode

2507-2508

TM3-Buskoppler-Produktfirmwareversion

2512-2513

TM3-Buskoppler-Produktseriennummer

2601

Stellung von Drehschalter ONES (EINER)

2602

Stellung von Drehschalter TENS (ZEHNER)