Steuerung als Slave-Gerät auf Modbus TCP

Überblick

In diesem Abschnitt wird die Konfiguration des M241 Logic Controller als Modbus TCP-Slave-Gerät beschrieben.

Das Modbus TCP-Slave-Gerät fügt eine weitere Modbus-Serverfunktion zur Steuerung hinzu. Dieser Server wird von der Modbus-Clientanwendung durch Angabe einer konfigurierten Geräte-ID (Modbus-Adresse) im Bereich 1 bis 247 adressiert. Der integrierte Modbus-Server der Slave-Steuerung erfordert keine Konfiguration; er wird über die Unit-ID = 255 adressiert. Siehe Modbus TCP-Konfiguration.

Um den M241 Logic Controller als Modbus TCP-Slave-Gerät zu konfigurieren, müssen Sie Ihrer Steuerung eine Modbus TCP-Slave-Gerät-Funktion hinzufügen (siehe weiter unten „Hinzufügen eines Modbus TCP-Slave-Gerä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.

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 den Watchdog, der der privilegierten Verbindung zugeordnet ist, können Sie prüfen, ob der privilegierte Master die Steuerung abfragt. Wenn innerhalb der Timeout-Dauer keine Modbus-Anforderung empfangen wird, wird die Diagnoseinformation i_byMasterIpLost auf 1 gesetzt (TRUE). Weitere Informationen finden Sie unter Schreibgeschützte Ethernet-Port-Systemvariablen.

Weitere Informationen zu Modbus TCP finden Sie auf der Website unter www.odva.org.

Hinzufügen eines Modbus TCP -Slavegeräts

Gehen Sie zur Konfiguration Ihres M241 Logic Controller als Modbus TCP-Slave-Gerät (Modbus TCP-Slave-Gerät) vor wie folgt:

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:

• Verwendung des Hardwarekatalogs

• Verwenden der Kontextmenüs oder Plus-Schaltflächen

Modbus TCP-Konfiguration

Um dasModbus TCP-Slave-Gerät, zu konfigurieren, doppelklicken Sie auf TM4ES4 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.

Watchdog

Watchdog in 500 ms-Inkrementen

HINWEIS: Der Watchdog gilt für die Master-IP-Adresse, sofern sie nicht 0.0.0.0. lautet.

Slave-Anschluss

Modbus-Kommunikationsport (502)

HINWEIS: Die Portnummer kann über den changeModbusPort-Skriptbefehl geändert werden.

Geräte-ID

Sendet die Requests an das 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 120) (jedes Register umfasst 2 Byte).

Eingangsregister (%QW)

Anzahl der %QW-Register, die beim Austausch verwendet werden sollen (2 bis 120) (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:

  • %IWs werden von Register 0 bis n-1 zugeordnet und können gelesen/geschrieben werden (n = Anzahl Halteregister, jedes %IW-Register umfasst 2 Byte).

  • %QWs werden von 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-Slave-Gerä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-Slave-Gerä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-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 1 Wort (2 Byte). Wenn für Ihre Anwendung Zeitkonsistenz für mehr als 1 Wort (2 Byte) erforderlich ist, verwenden Sie das Modbus TCP-Slave-Gerät.

Der Parameter Variablen immer aktualisieren ist auf Aktiviert 1 (Buszyklus-Task verwenden, wenn in keiner anderen Task verwendet) gesetzt und kann nicht bearbeitet werden.

Buszyklus-Optionen

Wählen Sie auf der Registerkarte ModbusTCP Slave-Gerät E/A-Abbild die zu verwendende Buszyklus-Task aus:

  • Zykluseinstellungen des übergeordneten Busses verwenden (Standardeinstellung)

  • MAST

  • Eine bestehende Task des Projekts: Sie können eine vorhandene Task auswählen und mit dem Scanner verbinden. Weitere Informationen über die Anwendungstasks finden Sie im EcoStruxure Machine Expert Programmierhandbuch.

HINWEIS: Im E/A-Abbild-Editor des Geräts, das das Modbus TCP-Slave-Gerät enthält, ist der entsprechende Parameter Buszyklus-Task vorhanden. Dieser Parameter verweist auf die Task, die für die Aktualisierung der %IW- und %QW-Register zuständig ist.