Due to timing variations in various Modbus devices, it is possible for a Modbus master to have problems sending write commands to the MCM slave port while having no issues with read commands.
In such cases, the "Use Guard Band" and "Guard Band Time" parameters (in older versions of ladder logic or ProLinx Configuration files) or the "InterCharacterDelay" parameter (in newer versions of ladder logic) can be used to activate an alternate timing scheme that allows write commands to be properly interpreted and appropriate responses sent.
To activate this alternate timing scheme in older versions of ladder logic, set the Use Guard Band to "1" to enable this feature and set the Guard Band Time to any value greater than 8 (milliseconds.) Values between 10 and 25 are typical; but certain applications may require even higher values.
To activate this alternate timing scheme in newer versions of ladder logic, set the InterCharacterDelay parameter to any value other than 0. Again, typical values are between 10-25; but may need to be higher.
Guard Band Parameter
With multiple nodes in the network (multi-drop), the module must be able to define the time period used to properly recognize the received data sequence as a valid Modbus message. This time period is defined through the guardband timer parameter.
This functionality is only used for Modbus RTU mode, when the module is configured as a slave device in a multi-drop network (RS-422 or RS-485 wiring). In RTU mode, when the module receives sequence of data from another node, it will recognize the end of the message when it detects a 3.5 character gap. The next byte received after a 3.5 character gap will be recognized as the start of a new Modbus message. The 3.5 character gap depends on the port communication settings, especially the baud rate. The higher the baud rate, the lower the corresponding time period equivalent to the 3.5 character delay.
To use the default Guard Band Timeout parameter, set the Guard Band Time as follows:
Guard Band Time = 0
This configuration will set the module to use a pre-defined time interval for Modbus message recognition calculated for each baud rate. This should provide optimal performance for most applications.
The following guard band timer values will be automatically used by the module with the default parameter value (Guard Band Timer = 0) is selected:
Baud Guard Band Timer (ms)
110: 350
150: 256
300: 128
600: 64
1200: 32
2400: 16
4800: 8
9600: 4
19200: 2
28800: 2
38400 2
57600: 1
115200: 1
If you still observe a considerable number of communication errors, try to increase the Guard Band Time value (in milliseconds) until the network performance is improved.