Steuerung als Slave-Gerät auf Modbus TCP

Überblick

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

Jeder M262 Logic/Motion Controller nutzt einen Modbus-Server, der nicht konfiguriert werden muss. 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 M262 Logic/Motion 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-Slave-Gerä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-Slave-Gerä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 -Slave-Geräts

Um ein Modbus TCP-Slave-Gerät hinzuzufügen, wählen Sie Modbus TCP-Slave-Gerät im Hardwarekatalog aus.

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 das Modbus TCP-Slave-Gerät (Modbus TCP-Slave-Gerät) zu konfigurieren, doppelklicken Sie auf Ethernet_2 > ModbusTCP_Slave_Device in der Gerätebaumstruktur.

Das folgende Dialogfeld wird angezeigt:

Element

Beschreibung

Konfigurierte Parameter

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 mit dem 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 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:

  • %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).

Wenn ein Modbus TCP-Slave-Gerä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 antwortet auf eine Untergruppe der Modbus-Befehle, weicht in seinem Verhalten jedoch von den Modbus-Standards ab und dient dem 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 Client/Master-Steuerung (= %IW für die Server/Slave-Steuerung). Eingang bedeutet EINGANG der Client/Master-Steuerung (= %QW für die Server/Slave-Steuerung).

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 zu den 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.