M241 Logic Controller als Slavegerät in einem Modbus TCP-Netzwerk
In diesem Abschnitt wird die Konfiguration des M241 Logic Controller als Modbus TCP-Servergerät beschrieben.
Um den M241 Logic Controller als Modbus TCP-Slavegerät zu konfigurieren, müssen Sie Ihrer Steuerung eine Modbus TCP-Slavegerät-Funktion hinzufügen (siehe Hinzufügen eines Modbus TCP-Slavegeräts). Diese Funktion richtet einen spezifischen E/A-Bereich in der Steuerung ein, auf den über das Modbus TCP-Protokoll zugegriffen werden kann. Der E/A-Bereich wird immer dann verwendet, wenn ein externer Master auf die -%IW und %QW-Objekte der Steuerung zugreifen muss. Die Modbus TCP-Slavegerät-Funktion ermöglicht Ihnen die Ablage der steuerungsspezifischen E/A-Objekte in diesem Bereich, auf die dann über einen einzelnen Modbus-Lese/Schreibregister-Request zugegriffen werden kann.
Das Modbus TCP-Slavegerät fügt eine weitere Modbus-Serverfunktion zur Steuerung hinzu. Dieser Server wird von der Modbus-Clientanwendung durch Angabe einer konfigurierten Unit-ID (Modbus-Adresse) aus dem Bereich 1 bis 247 adressiert. Siehe Modbus TCP-Konfiguration.
Die Eingänge/Ausgänge aus Sicht der Slave-Steuerung: Die Eingänge werden vom Master geschrieben, die Ausgänge vom Master gelesen.
Das Modbus TCP-Slavegerät kann eine privilegierte Modbus-Clientanwendung definieren, deren Verbindung nicht abgebrochen wird (die integrierten Modbus-Verbindungen werden unter Umständen beendet, wenn mehr als 8 Verbindungen benötigt werden).
Über die Timeout-Dauer der privilegierten Verbindung können Sie prüfen, ob der privilegierte Master die Steuerung per Polling abfragt. Wenn innerhalb der Timeout-Dauer keine Modbus-Anforderung empfangen wird, wird die Diagnoseinformation i_byMasterIpLost auf 1 gesetzt (TRUE). Weitere Informationen hierzu finden Sie unter Schreibgeschützte Systemvariablen des Ethernet-Ports.
Weitere Informationen zu Modbus TCP finden Sie auf der Website unter www.modbus.org.
Hinzufügen eines Modbus TCP -Slavegeräts
|
Schritt |
Aktion |
|---|---|
|
1 |
Fügen Sie ein TM4ES4-Erweiterungsmodul in Ihrer Konfiguration hinzu. Dazu müssen Sie zuvor den Industrial_Ethernet_Manager zum Logic Controller hinzugefügt haben. |
|
2 |
Wählen Sie Modbus TCP-Slave-Gerät im Hardwarekatalog aus. |
|
3 |
Ziehen Sie das Element in die Gerätebaumstruktur und legen Sie es auf einem der optisch hervorgehobenen Knoten ab. Weitere Informationen zum Hinzufügen von Geräten in einem Projekt finden Sie unter: • Verwenden der Methode Drag&Dop (Ziehen und Ablegen) • Verwenden der Kontextmenüs oder Plus-Schaltflächen |
Um das Modbus TCP-Slavegerät (Modbus TCP-Slave-Gerät) zu konfigurieren, doppelklicken Sie auf Ethernet_1 > ModbusTCP_Slave_Device in der Gerätebaumstruktur.
Das folgende Dialogfeld wird angezeigt:
|
Element |
Beschreibung |
|---|---|
|
Master-IP-Adresse |
IP-Adresse des Modbus-Masters Die Verbindungen sind auf dieser Adresse nicht geschlossen. |
|
Timeout |
Timeout in 500-ms-Inkrementen. HINWEIS: Das Timeout gilt für die Master-IP-Adresse, sofern sie nicht 0.0.0.0. lautet. |
|
Slave-Anschluss |
Modbus-Kommunikationsport (502) |
|
Unit-ID |
Sendet die Requests an das Modbus TCP-Slavegerät (Modbus TCP-Slave-Gerät) (1 bis 247) anstatt an den integrierten Modbus-Server (255). |
|
Halteregister (%IW) |
Anzahl der %IW-Register, die beim Austausch verwendet werden sollen (2 bis 40) (jedes Register umfasst 2 Byte). |
|
Eingangsregister (%QW) |
Anzahl der %QW-Register, die beim Austausch verwendet werden sollen (2 bis 40) (jedes Register umfasst 2 Byte). |
Registerkarte ModbusTCP Slave Gerät E/A-Abbild
Die E/A werden aus der Sicht des Masters wie folgt den Modbus-Registern zugeordnet:
o%IWs werden Register 0 bis n-1 zugeordnet und können gelesen/geschrieben werden (n = Anzahl Halteregister, jedes %IW-Register umfasst 2 Byte).
o%QWs werden Register n bis n+m-1 zugeordnet und sind schreibgeschützt (n = Anzahl Eingangsregister, jedes %QW-Register umfasst 2 Byte).
Im Anschluss an die Konfiguration eines Modbus TCP-Slavegeräts werden die an die Unit-ID (Modbus-Adresse) gesendeten Modbus-Befehle anders gehandhabt als beim Senden dieser Befehle an ein anderes Modbus-Gerät im Netzwerk. Wird beispielsweise der Modbus-Befehl 3 (3 hex) an das Modbus-Standardgerät gesendet, liest das Gerät den Wert eines oder mehrerer Register und gibt diesen Wert zurück. Wenn der gleiche Befehl an den Modbus TCP-Slave gesendet wird, erleichtert dies den Lesezugriff durch einen externen E/A-Scanner.
Wenn ein Modbus TCP-Slavegerät konfiguriert wurde, greifen Modbus-Befehle, die an die Unit-ID (Modbus-Adresse) dieses Geräts gesendet werden, auf die %IW- und %QW-Objekte der Steuerung zu und nicht auf die Modbus-Standardwörter (auf die zugegriffen wird, wenn die Unit-ID = 255). Dies ermöglicht Lese-/Schreibvorgänge durch eine Modbus-TCP-IOScanner-Anwendung.
Das Modbus TCP-Slavegerät reagiert auf einen Teil der Modbus-Befehle zum Austausch von Daten mit dem externen E/A-Scanner. Die folgenden Modbus-Befehle werden vom Modbus TCP-Slavegerät unterstützt:
|
Funktionscode dez. (in Hex-Darstellung) |
Funktion |
Kommentar |
|---|---|---|
|
3 (3) |
Halteregister lesen |
Ermöglicht dem Master das Lesen der %IW- und %QW-Objekte des Geräts. |
|
6 (6) |
Einzelnes Register schreiben |
Ermöglicht dem Master das Schreiben der %IW- Objekte des Geräts. |
|
16 (10) |
Mehrere Register schreiben |
Ermöglicht dem Master das Schreiben der %IW- Objekte des Geräts. |
|
23 (17) |
Mehrere Register lesen/schreiben |
Ermöglicht dem Master das Lesen der %IW- und %QW-Objekte des Geräts und das Schreiben der %IW-Objekte des Geräts. |
|
Sonstige |
Nicht unterstützt |
– |
HINWEIS: Bei Modbus-Requests, die auf Register oberhalb von n+m-1 zugreifen, wird der Ausnahmecode 02 – ILLEGAL DATA ADDRESS zurückgegeben.
Zur Verknüpfung der E/A mit Variablen wählen Sie die Registerkarte ModbusTCP Slave Gerät I/O Abbild aus:
|
Kanal |
Typ |
Beschreibung |
|
|---|---|---|---|
|
Eingang |
IW0 |
WORD |
Halteregister 0 |
|
... |
... |
... |
|
|
IWx |
WORD |
Halteregister x |
|
|
Ausgang |
QW0 |
WORD |
Eingangsregister 0 |
|
... |
... |
... |
|
|
QWy |
WORD |
Eingangsregister y |
|
Die Anzahl der Wörter ist von den Parametern Halteregister (%IW) und Eingangsregister (%QW) auf der Registerkarte Modbus TCP abhängig.
HINWEIS: Ausgang bedeutet AUSGANG der Ursprungssteuerung (%IW für die Steuerung). Eingang bedeutet EINGANG der Ursprungssteuerung (%QW für die Steuerung).
HINWEIS: Das Modbus TCP-Slavegerät (Modbus TCP-Slave-Gerät) aktualisiert die %IW- und %QW-Register als eine zeitkonsistente Einheit, die mit den IEC-Tasks (standardmäßig die MAST-Task) synchronisiert wird. Im Gegensatz dazu gewährleistet der Modbus TCP-Server Zeitkonsistenz nur für ein Wort (2 Byte). Wenn für Ihre Anwendung Zeitkonsistenz für mehr als ein Wort (2 Byte) erforderlich ist, verwenden Sie das Modbus TCP-Slavegerät.
Wählen Sie die Buszyklus-Task aus, um Folgendes verwenden zu können:
oZykluseinstellungen des übergeordneten Busses verwenden (Standardeinstellung)
oMAST
Im E/A-Abbild-Editor des Geräts, das das Modbus TCP-Slavegerät (Modbus TCP-Slave-Gerät) enthält, ist der entsprechende Parameter Buszyklus-Task vorhanden. Dieser Parameter verweist auf die Task, die fürdie Aktualisierung der %IW- und %QW-Register zuständig ist.