Commit 1e62dd098d001d6966be28dfdf263995c7d136e5

Authored by Stéphane Raimbault
1 parent b4763407

Add information about not compliant devices (closes #219)

Showing 1 changed file with 7 additions and 4 deletions
doc/modbus_set_slave.txt
@@ -22,12 +22,15 @@ The behavior depends of network and the role of the device: @@ -22,12 +22,15 @@ The behavior depends of network and the role of the device:
22 *RTU*:: 22 *RTU*::
23 Define the slave ID of the remote device to talk in master mode or set the 23 Define the slave ID of the remote device to talk in master mode or set the
24 internal slave ID in slave mode. According to the protocol, a Modbus device must 24 internal slave ID in slave mode. According to the protocol, a Modbus device must
25 -only accept message holing its slave number or the special broadcast number. 25 +only accept message holding its slave number or the special broadcast number.
26 26
27 *TCP*:: 27 *TCP*::
28 -The slave number is only required in TCP if the message must reach a device  
29 -on a serial network. The special value `MODBUS_TCP_SLAVE` (0xFF) can be used in TCP mode to restore  
30 -the default value. 28 +The slave number is only required in TCP if the message must reach a device on a
  29 +serial network. Some not compliant devices or software (such as modpoll) uses
  30 +the slave ID as unit identifier, that's incorrect (cf page 23 of Modbus
  31 +Messaging Implementation Guide v1.0b) but without the slave value, the faulty
  32 +remote device or software drops the requests! The special value
  33 +`MODBUS_TCP_SLAVE` (0xFF) can be used in TCP mode to restore the default value.
31 34
32 The broadcast address is `MODBUS_BROADCAST_ADDRESS`. This special value must be 35 The broadcast address is `MODBUS_BROADCAST_ADDRESS`. This special value must be
33 use when you want all Modbus devices of the network receive the request. 36 use when you want all Modbus devices of the network receive the request.