Limitations of Modbus serial over wireless and mesh
-
Cannot set 7 data bits.
Digi's XBee modules only support 8 data bits, Even/Odd/None/Mark parity and 1/2 stop bits.
-
Length of Modbus frames:
The maximum length of data sent wirelessly between XBee nodes depends on the module configuration, for example on the protocol (Zigbee, DigiMesh, or 802.15.4), or whether encryption is enabled.
Sending Modbus requests that fit within a single packet is always safe, because the remote XBee module sends the serial data cleanly to the destination.
If the data is send is larger than the maximum length, the Modbus gateway splits the data into smaller packets. However, the destination Modbus device might not receive a complete oversized request for nearly 400-500 milliseconds after the gateway sent the data. The Modbus device receiving this data must be able to configure its packet idle gap to be 500 milliseconds or larger.
-
Packet idle gap - Intercharacter timeout
Traditional Modbus/RTU serial devices have either a fixed gap detect of about three to four milliseconds, or a configurable gap detect of up to one second or more. Unfortunately, for a mesh with route discover and retries, gaps between packets could be up to five seconds. The Modbus device receiving this data must be able to configure its packet idle gap to be 500 milliseconds or larger.
-
Response times
Traditional Modbus/RTU serial devices have response timeouts in the 500 milliseconds to one second range, and in general a fast embedded device begins responding in 10 to 100 milliseconds. However, over a mesh, responses may come back more slowly given that messages may be stored-and-forwarded through many routers; also, retries and mesh route discovery can add latency.
-
For 802.15.4 networks, remote XBee nodes connected to Modbus networks must be XBee 3, because previous hardware does not support explicit data transmissions.