Wie können wir helfen?
Modbus-TCP Kommunikation zwischen unseren Ethernet HMIs und Schneider M218 M221 M241 M251 M262 PLCs
Modbus TCP Client/Server der M218 M241 M251 M262 PLCs
Im Gegensatz zu Modbus Serial Link basiert Modbus TCP nicht auf einer hierarchischen Struktur, sondern auf einem Client/Server-Modell.
Der Modicon M241 Logic Controller implementiert sowohl Client- als auch Server-Dienste, so dass er die Kommunikation mit anderen Steuerungen und E/A-Geräten initiieren und auf Anfragen von anderen Steuerungen, SCADA, HMIs und anderen Geräten reagieren kann.
Ohne jegliche Konfiguration unterstützt der integrierte Ethernet-Port der Steuerung den Modbus-Server.
Der Modbus-Client/Server ist in der Firmware enthalten und erfordert keine Programmierung durch den Benutzer. Aufgrund dieser Eigenschaft ist er im Zustand RUNNING, STOPPED und EMPTY zugänglich.
M2xx Logic Controller als Slave-Gerät an Modbus TCP
Um Ihren M241 Logic Controller als Modbus-TCP-Slave-Gerät zu konfigurieren, müssen Sie die Modbus-TCP-Slave-Gerätefunktionalität zu Ihrem Controller hinzufügen. Diese Funktionalität schafft einen spezifischen E/A-Bereich in der Steuerung, auf den das Modbus TCP-Protokoll zugreifen kann. Dieser E/A-Bereich wird immer dann verwendet, wenn ein externer Master auf die %IW- und %QW-Objekte des Controllers zugreifen muss. Mit dieser Modbus-TCP-Slave-Gerätefunktionalität können Sie diesem Bereich die E/A-Objekte der Steuerung zuweisen, auf die dann mit einer einzigen Modbus-Lese-/Schreibregisteranforderung zugegriffen werden kann.
Das Modbus-TCP-Slave-Gerät fügt der Steuerung eine weitere Modbus-Server-Funktion hinzu. Dieser Server wird von der Modbus-Client-Anwendung durch Angabe einer konfigurierten Unit ID (Modbus-Adresse) im Bereich 1…247 angesprochen. Der eingebettete Modbus-Server des Slave-Reglers muss nicht konfiguriert werden und wird durch Angabe einer Unit ID gleich 255 angesprochen.
Eingänge/Ausgänge werden von der Slave-Steuerung gesehen: Eingänge werden vom Master geschrieben und Ausgänge werden vom Master gelesen.
Der Schneider Modbus-Server unterstützt die Modbus-Anfragen:
|
Funktion Code |
Unterfunktion |
Funktion |
|---|---|---|
|
1 (1) |
– |
Lesen der digitalen Ausgänge (%Q) |
|
2 (2) |
– |
Lesen der digitalen Eingänge (%I) |
|
3 (3) |
– |
Halteregister lesen (%MW) |
|
6 (6) |
– |
Einzelregister schreiben (%MW) |
|
8 (8) |
– |
Diagnose |
|
15 (F) |
– |
Schreiben mehrerer digitaler Ausgänge (%Q) |
|
16 (10) |
– |
Schreiben von mehreren Registern (%MW) |
|
23 (17) |
– |
Lesen/Schreiben von mehreren Registern (%MW) |
|
43 (2B) |
14 (E) |
Gerätekennung lesen |
HINWEIS: Der eingebettete Modbus-Server gewährleistet die Zeitkonsistenz nur für ein einziges Wort (2 Byte). Wenn Ihre Anwendung Zeitkonsistenz für mehr als ein Wort erfordert, fügen Sie ein Modbus TCP Slave-Gerät hinzu und konfigurieren Sie es so, dass der Inhalt der %IW- und %QW-Puffer in der zugehörigen IEC-Task (standardmäßig MAST) zeitkonsistent ist.
CommandHMI: Modbus-TCP-Client (Master)
