11. Verbindung zu anderen Geräten
11.4 Modbus-TCP
11.4.2 Programmierung der Kommunikation mittels Modbus-TCP
618
Für die Programmierung der Kommunikation ist mindestens ein System nötig, welches
die Funktionalität des Modbus-TCP Clients erfüllt und in der Lage ist Befehle an den
untergeordneten Server zu schicken.
Da das Steuerrelais easyE4 mit verschiedenen auf dem Markt erhältlichen Modbus-
TCP Clients zusammen arbeiten kann, werden nur standardgemäße Modbus-TCP Funk-
tionen unterstützt.
Dies sind Funktionen, die im Modbus-Standard einheitlich definiert sind und somit von
allen Modbus-TCP Teilnehmern auf Protokollebene einheitlich implementiert werden.
Weitere Informationen kann dem MODBUS MESSAGING ON TCP/IP
IMPLEMENTATION GUIDE V1.0b der Modbus Organisation entnommen werden.
Verbindung:
Für den Betrieb von Modbus-TCP-Server müssen folgende Ports freigegeben sein:
Modbus-TCP: Dienst—Port 502
l
Der Port 502 ist im Normalfall als Standard eingegeben. Sollte dies nicht der Fall sein,
ist dieser bei dem Verbindungsaufbau einzustellen.
Optional erforderliche Freigaben je nach verwendeter Funktionalität:
DNS: UDP/TCP Port 53 (Nur wenn DNS eingesetzt werden soll)
l
DHCP: UDP Port 67 für Server /UDP Port 68 für Clients (Nur wenn DHCP eingesetzt
l
werden soll)
Folgende standardgemäße Funktionen stellt die Modbus-TCP-Server-Implementierung
der easyE4 zur Verfügung:
Funktionsbeschreibung
Read Coils
Read Discrete Inputs
Read Holding Registers
Read Input Registers
Write Single Registers
Write Multiple Registers
Für jede der oben aufgeführten Funktionsbeschreibungen gibt es 2 wesentliche Pro-
tocol Data Units (PDUs).
1. Request-PDU (Modbus-TCP Server muss diese empfangen)
a. Byte 0 enthält den Funktionscode – an diesem wird die gewünschte Funk-
tion erkannt
b. Die restlichen Bytes sind funktionsspezifisch
2. Response-PDU (Modbus-TCP Server muss diese versendet)
easyE4 04/19 MN050009 DE www.eaton.com
Lesen von Ausgängen
Lesen von Eingängen
Lesen von Augangsregistern
Lesen von Eingangsregistern
Schreiben eines Registers
Schreiben mehrerer Register
Funktionscode
0x01
0x02
0x03
0x04
0x06
0x10