This document introduces a Modbus/UDP flavor which we have developed to verify if the Modbus protocol is suited for the use of UDP/IP as lower level communication stack as the protocol:
We succeeded with a relatively simple design and implementation and are convinced that a Modbus/UDP flavor is an interesting approach for reducing the traffic overhead, achieving high throughput performance.
That's the beauty of the thing, basically we have not changed anything of the Modbus application level (and TCP) specification but how messages are transported.
This means that the IP specific header (called MBAP in the specification) is exactly the same as for Modbus/TCP. It's 7 bytes long and composed of the following fields:
Also nothing has changed about possible network setups. They are not really limited by the specification; it is possible to setup multi-master systems or realize bidirectional communication (i.e. have nodes that are master and slave at the same time). However, the user should be well aware that there are implications in terms of transport (e.g. collisions etc.) if one deviates from the Master/Slave schema.
Definately not. It is and has been as easy as this and it works great.
Well, only the implementation. Messages are unicast between nodes on the network, with two packages (a Request and a Response package/message) per transaction.
Well, the protocol is transaction oriented. If a package get's lost, the transaction will not be successfully executed. Thus, the master will know and can decide whether to retry it (a given number of times for example) or give up.