Hoe kunnen we helpen?
Modbus-TCP communicatie tussen onze Ethernet HMI’s en Schneider M218 M221 M241 M251 M262 PLC’s
Modbus TCP client/server van de M218 M241 M251 M262 PLC’s
In tegenstelling tot Modbus seriële link is Modbus TCP niet gebaseerd op een hiërarchische structuur, maar op een client/server-model.
De Modicon M241 Logic Controller implementeert zowel client- als serverdiensten, zodat deze communicatie kan initiëren met andere controllers en I/O-apparaten en kan reageren op verzoeken van andere controllers, SCADA, HMI’s en andere apparaten.
Zonder enige configuratie ondersteunt de embedded Ethernet-poort van de controller Modbus server.
De Modbus client/server is opgenomen in de firmware en vereist geen programmeeractie van de gebruiker. Dankzij deze functie is hij toegankelijk in de statussen RUNNING, STOPPED en EMPTY.
M2xx Logic Controller als slave-apparaat op Modbus TCP
Om uw M241 Logic Controller te configureren als een Modbus TCP Slave Device, moet u de Modbus TCP Slave Device-functionaliteit toevoegen aan uw controller. Deze functionaliteit creëert een specifiek I/O-gebied in de controller dat toegankelijk is via het Modbus TCP-protocol. Dit I/O-gebied wordt gebruikt wanneer een externe master toegang moet hebben tot de %IW- en %QW-objecten van de controller. Met deze Modbus TCP Slave Device-functionaliteit kun je de I/O-objecten van de controller in dit gebied onderbrengen, die dan toegankelijk zijn met een enkele Modbus lees-/schrijfregisters-aanvraag.
De Modbus TCP Slave Device voegt nog een Modbus-serverfunctie toe aan de controller. Deze server wordt door de Modbus client-toepassing aangesproken door een geconfigureerde Unit ID (Modbus-adres) in het bereik 1…247 op te geven. De embedded Modbus-server van de slave-controller hoeft niet geconfigureerd te worden en wordt aangesproken door een Unit ID gelijk aan 255 op te geven.
Ingangen/uitgangen worden gezien vanaf de slave-controller: ingangen worden geschreven door de master en uitgangen worden gelezen door de master.
De Schneider Modbus-server ondersteunt de Modbus-verzoeken:
|
Functiecode |
Subfunctie |
Functie |
|---|---|---|
|
1 (1) |
– |
Digitale uitgangen lezen (%Q) |
|
2 (2) |
– |
Digitale ingangen lezen (%I) |
|
3 (3) |
– |
Houdingsregister lezen (%MW) |
|
6 (6) |
– |
Enkelvoudig register schrijven (%MW) |
|
8 (8) |
– |
Diagnostisch |
|
15 (F) |
– |
Meerdere digitale uitgangen schrijven (%Q) |
|
16 (10) |
– |
Meerdere registers schrijven (%MW) |
|
23 (17) |
– |
Meerdere registers lezen/schrijven (%MW) |
|
43 (2B) |
14 (E) |
Apparaatidentificatie lezen |
OPMERKING: De geïntegreerde Modbus-server garandeert alleen tijdsconsistentie voor één woord (2 bytes). Als uw toepassing tijdconsistentie voor meer dan 1 woord vereist, moet u een Modbus TCP Slave Device toevoegen en configureren zodat de inhoud van de %IW- en %QW-buffers tijdconsistent is in de bijbehorende IEC-taak (standaard MAST).
CommandHMI: Modbus-TCP-client (Master)
