Konfiguration des zyklischen Datenaustauschs über Modbus TCP
Zum Konfigurieren des zyklischen Datenaustauschs über Modbus TCP sind folgende Maßnahmen erforderlich:
oFür jedes Modbus TCP-Slavegerät den Datenaustausch-Request (auf Kanälen) und das E/A-Abbild konfigurieren.
oDen E/A-Scanner für Modbus TCP-Slavegeräte konfigurieren.
Ein Modbus-Kanal überträgt einen Modbus-Request zwischen dem Master und einem Slave.
Für ein generisches Slavegerät können Sie mehrere Kanäle verwenden. Um an ein Gerät mehrere Requests zu senden, erstellen Sie mehrere Kanäle.
Konfigurieren der Kanäle eines Modbus TCP-Slavegeräts
Schritt |
Aktion |
---|---|
1 |
Doppelklicken Sie in der Gerätebaumstruktur auf ein Modbus TCP-Slavegerät. Ergebnis: Das Konfigurationsfenster des Geräts wird angezeigt. |
2 |
Klicken Sie auf die Registerkarte Modbus TCP Slave-Kanal: ![]()
|
3 |
Um einen nicht vordefinierten Kanal zu entfernen, wählen Sie ihn aus und klicken Sie auf Löschen. |
4 |
Um die Parameter eines Kanals zu ändern, wählen Sie den Kanal aus und klicken Sie auf Bearbeiten. HINWEIS: Bei Geräten mit vordefinierten Kanälen kann nur die Wiederholungsrate geändert werden. |
5 |
Um einen Kanal hinzuzufügen, klicken Sie auf Kanal hinzufügen. Daraufhin erscheint ein Dialogfeld: ![]()
|
6 |
Im Bereich Kanal können Sie Folgendes definieren: oName: Optionale Zeichenkette zur Benennung des Kanals. oEinheits-ID [1..255]: Einheits-ID (1) des Modbus TCP-Slavegeräts (Standardwert: 255). oWiederholungsrate: Abfrageintervall des Modbus-Requests (Standard: 20 ms). oKommentar: Optionales Feld für eine Beschreibung des Kanals. oFunktionscode: Typ des Modbus-Requests: oMehrere Register lesen/schreiben (Funktionscode 23) (Standard). oHalteregister lesen (Funktionscode 03). oHalteregister schreiben (Funktionscode 16). Im Bereich LESEN-Register können Sie Folgendes definieren: oOffset: Anfangsregisternummer für den Lesevorgang (Wert zwischen 0 und 65535). oLänge: Anzahl der zu lesenden Register (je nach Funktionscode) oFehlerbehandlung: Definition des Fehlerwerts bei Unterbrechung der Kommunikation: oLetzten Wert beibehalten (Standard): Der letzte gültige Wert wird beibehalten.. oAuf 0 setzen: Die Werte werden auf 0 zurückgesetzt. Im Bereich SCHREIBEN-Register können Sie Folgendes definieren: oOffset: Anfangsregisternummer für den Schreibvorgang (Wert zwischen 0 und 65535). oLänge: Anzahl der zu schreibenden Register (je nach Funktionscode) |
7 |
Klicken Sie auf OK, um die Konfiguration des Kanals zu bestätigen. |
8 |
Wiederholen Sie die Schritte 5 bis 7, um andere Kanäle für die Modbus-Kommunikation mit dem Gerät zu definieren. Für jeden Modbus-Request muss ein Kanal erstellt werden. |
(1) Die Einheitenkennung wird für Modbus TCP-TCP-Geräte verwendet, die aus mehreren Modbus-Geräten bestehen, z. B. auf RTU-Gateways von Modbus zu Modbus. In einem solchen Fall ermöglicht die Einheitenkennung, die Slave-Adresse des Geräts hinter dem Gateway zu erreichen. Modbus/TCP-fähige Geräte ignorieren standardmäßig den Parameter Einheitenkennung.
Länge von Lese-/Schreib-Registern
Die Länge von Lese-/Schreib-Registern richtet sich nach dem Modbus-Funktionscode.
Der folgenden Tabelle können Sie die maximale Länge der Lese-/Schreib-Register für einen Kanal entnehmen:
Modbus-Funktionscode |
Maximale Länge |
|
---|---|---|
Lese-Register |
Schreib-Register |
|
Mehrere Register lesen/schreiben (Funktionscode 23) |
125 |
121 |
Lese-Register (Funktionscode 03) |
125 |
- |
Schreib-Register (Funktionscode 16) |
- |
123 |
HINWEIS: Aufgrund dieser Beschränkungen und der maximalen Anzahl an Ein-/Ausgangswörtern des Scanners (2048) müssen Sie die Scanner-Ressourcen-Last prüfen.