Steuerung als Slavegerät über Modbus TCP

Überblick

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

Jeder M262 Logic/Motion Controller nutzt einen Modbus-Server, der nicht konfiguriert werden muss. 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 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 Geräte-ID = 255 adressiert. Siehe Modbus TCP-Konfiguration.

Um den M262 Logic/Motion Controller als Modbus TCP-Slavegerät zu konfigurieren, müssen Sie die Funktion Modbus TCP-Slavegerät zu Ihrer Steuerung hinzufügen (siehe „Hinzufügen eines Modbus TCP-Slavegeräts weiter unten). Diese Funktion richtet einen spezifischen E/A-Bereich in der Steuerung ein, auf den über das Modbus TCP-Protokoll zugegriffen werden kann.

Dieser E/A-Bereich wird immer dann verwendet, wenn ein externer Master auf die %IW- und %QW-Objekte der Steuerung zugreifen muss. Die Funktion Modbus TCP-Slavegerät ermöglicht Ihnen die Bereitstellung der E/A-Objekte der Steuerung für diesen Bereich, auf die dann über einen einzigen 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 kein Modbus-Request empfangen wird, werden die Diagnoseinformationen i_byMasterIpLost auf 1 (TRUE) gesetzt. Weitere Informationen finden Sie unter Schreibgeschützte Ethernet-Port-Systemvariablen.

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

Hinzufügen eines Modbus TCP -Slavegeräts

Um ein Modbus TCP-Slavegerät hinzuzufügen, wählen Sie Modbus TCP-Slavegerä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 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 an dieser Adresse werden 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-Port

Modbus-Kommunikationsport (502).

HINWEIS: Die Portnummer kann mit dem changeModbusPort-Skriptbefehl geändert werden.

Geräte-ID

Sendet die Requests an das Modbus TCP-Slavegerä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).

Wenn ein Modbus TCP-Slavegerät konfiguriert wurde, greifen Modbus-Befehle, die an die Geräte-ID (Modbus-Adresse) gesendet werden, auf die %IW- und %QW-Objekte der Steuerung zu und nicht auf die regulären Modbus-Wörter (auf die zugegriffen wird, wenn die Geräte-ID 255 ist). Dies ermöglicht Lese-/Schreibvorgänge durch eine Modbus-TCP-IOScanner-Anwendung.

Das Modbus TCP-Slavegerät antwortet auf eine Teilmenge der Modbus-Befehle, weicht 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-Slavegerät unterstützt:

Funktionscode dez. (hex.)

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

Um E/A-Objekte mit Variablen zu verknüpfen, wählen Sie die Registerkarte Modbus TCP 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 abhängig von den Parametern Halteregister (%IW) und Eingangsregister (%QW) der Registerkarte Modbus TCP.

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 I/O Abbild die zu verwendende Buszyklus-Task aus:

  • Zykluseinstellungen des übergeordneten Busses verwenden (Standard)

  • MAST

  • Eine vorhandene Task des Projekts: Sie können eine vorhandene Task auswählen und mit dem Scanner verknüpfen. Weitere Informationen zu den Anwendungstasks finden Sie im EcoStruxure Machine Expert - Programmierhandbuch.

HINWEIS: Es gibt einen entsprechenden Parameter Buszyklus-Task im E/A-Abbild-Editor des Geräts, der das Modbus TCP-Slavegerät enthält. Dieser Parameter definiert die Task, die für die Aktualisierung der %IW- und %QW-Register zuständig ist.