Autor Thema: Easy E4 als Modbus TCP-Master nutzen  (Gelesen 79 mal)

Offline blade22

  • Newbie
  • *
  • Beiträge: 6
Easy E4 als Modbus TCP-Master nutzen
« am: Februar 11, 2026, 18:12:18 Nachmittag »
Hallo zusammen,
ich hab heute ein ambitioniertes Projekt angefangen und bin bezüglich Modbus TCP ziemlich am straucheln.

Zum Gerät:
EASY E4-UC-12RC1, Hardware 10, Software 2.31 Build 3216 und Easysoft V8.32

Vorhaben:
Die EASY soll als Modbus TCP Master auftretten und Register eines Gerätes lesen, verarbeiten und schreiben können.

Problem:
Das Handbuch ist in diesen Abschnitt ziemlich krude und hat mir nicht wirklich geholfen die Logik hinter der Modbus TCP Server funktion zu verstehen.
Ich habe selbst schon häufiger Modbus TCP oder RTU Geräte erfolgreich betrieben, aber der Aufbau bei Easy ist mir ein Rätzel.

Mein Aufbau soweit:
- Die Easy und das andere Gerät befinden sich im gleichen Netzwerk und können sich gegenseitig "sehen". Easy Adresse 192.168.178.9 und der Client 192.168.178.10
- In EasySoft das Gerät E4-UC-12RC1 eingefügt und unter Projekt -> Modbus Server -> "Modbus TCP Server aktiv" mit einem harken versehen und den Port 502 belassen.
- In EasySoft dann im Ordner "Modbus Module" den Block (MS1) "Modbus TCP Server" in mein Projekt geschoben welches sich dann automatisch mit der Easy verbunden hat.
- Im Block selbst unter "Erweiterungsparamter" die IP des Clienten (192.168.178.10) eingetragen, rest so belassen.
- Im Block dann unter "Zyklische Daten" Unit ID = 1; Update-Rate =100; Funktionscode = FC3; Stardadresse = 40003; Anzahl Elemente = 1, Operandenklasse = I gesetzt. (Ich möchte also beim Client nur das Register 40003 einlesen (FC3 bzw. 0x03), im Register sollte eine 1 stehen die ich also in die Easy übertragen möchte.

Jetzt stehe ich erst einmal vor der Frage ob mein Vorgehen grundsätzlich richtig ist oder habe ich hier schon fehler gemacht habe?

Danke für euren Imput

Grüße

Offline Konni66

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 293
  • Keine Panik!
    • Eaton Trainingscenter Bonn
Antw:Easy E4 als Modbus TCP-Master nutzen
« Antwort #1 am: Gestern um 09:25:08 »
Hallo Blade22,
sieht auf den ersten Blick gut aus.
Nur bei der Unit-ID habe ich gezweifelt, weil ich in deiner Beschreibung kein Modbus/ TCP nach Modbus/ RTU Gateway gefunden habe.
Ich würde hier die Unit-ID 255 versuchen.

Grüße
Konni

Nachtrag: Die Operandenklasse würde ich als Datentyp umschreiben, der übertragen wird.
I, ID: Datenbits
IA16, IA32: Input Wort (16 Bits), Input Doppelwort (32 Bits)
Gleiches gilt für QA16, QA32 (Quputs Wort und Doppelwort)
PS: Gut zusammengefasst von der Google KI:
Modbus TCP nutzt IP-Adressen zur Identifikation von Geräten im Netzwerk, während die Unit-ID (1–247) aus dem seriellen Modbus-Protokoll übernommen wurde. Sie dient in TCP-Netzwerken oft als Gateway-Adresse, um hinter einem Modbus-TCP/RTU-Gateway verbundene serielle Untergeräte (Slaves) anzusprechen oder spezifische interne Datenbereiche eines Geräts zu adressieren.
Kernpunkte des Zusammenhangs:
Identifikation (IP vs. Unit-ID): Bei Modbus TCP erfolgt das Routing primär über die IP-Adresse. Die Unit-ID im Modbus-Header ist oft redundant (oft 0 oder 255), wird aber von manchen Geräten als Unteradresse verwendet.
Gateway-Funktion: Bei Modbus TCP/RTU-Gateways (Brücke zwischen Ethernet und RS485) identifiziert die Unit-ID das spezifische serielle Endgerät.
Alternative Adressierung: Einige Geräte nutzen die Unit-ID, um auf unterschiedliche interne Speicherbereiche oder spezifische Module zuzugreifen, statt nur auf den Standard-Datenspeicher.
Standardverhalten: Wird keine Gateway-Funktionalität benötigt, ist die Unit-ID oft auf 00 oder FF (255) gesetzt und wird vom Zielgerät ignoriert.
Zusammenfassend: Die IP-Adresse findet das Gerät, die Unit-ID (im MBAP-Header) findet das spezifische Modul oder den seriellen Unter-Slave.
« Letzte Änderung: Gestern um 15:39:56 von Konni66 »
Die Programmierbeispiele sind zu Schulungszwecken gedacht. Trotz sorgfältiger Erstellung und Funktionsprüfung können Fehler nicht ausgeschlossen werden. Daher erfolgt die Verwendung der Programmteile in eigener Verantwortung.

Offline blade22

  • Newbie
  • *
  • Beiträge: 6
Antw:Easy E4 als Modbus TCP-Master nutzen
« Antwort #2 am: Gestern um 10:34:16 »
Hallo,

danke für die Antwort.

Im Beispiel hatte ich jetzt ein Modbus TCP gehabt. Master EASY war IP .9; Slave war IP .10.
Ich habe die Unit-ID als Modbus-Adresse verstanden, daher ID 1.

Die genannte Operandenklasse habe ich jetzt auf IA16 geändert, da der Slave im Register eine Int16 stehen hat.
Mit der Änderung konnte ich jetzt ein mir sicher bekannten Wert aus dem Slave über die Easy auslesen. Hat also erst einmal geklappt!

Fragen:
Beim Wert "Update-Rate" ist der Abfrageintervall über den Modbus an den Client gemeint?
Bei Easy entspricht ein Wert von 100 dann 0,1 Sekunden da die Grundeinheit hier ms sind?

Danke