Lantronix XPort APS: Modbus Protocol User Guide - Page 14

Advanced Modbus Protocol Settings - software

Page 14 highlights

3: Configuring Modbus Delay after CTS Going Active (0-1275 ms, 5ms increments) Only asked if RTS/CTS mode is variable and set to wait for CTS to go active. After the IAP Device Server sees the modem assert an RTS/CTS response input, it delays from 0 to 1275 msec before transmitting. If the IAP Device Server waits without seeing a valid response from the modem, it will return the Modbus exception response 0x0B (hex) to the Modbus/TCP requesting master. Delay Dropping RTS after Transmitting (0-1275 ms, 5 ms increments) Only asked if RTS/CTS mode is variable. After the IAP Device Server completes transmission, it delays from 0 to 1275 msec before dropping the RTS/CTS output. Advanced Modbus Protocol Settings Changing these parameters takes a bit of thought and planning. Slave Address (0 for auto, or 1...255 fixed otherwise) Modbus/TCP includes a Unit ID field, which is used to address multiple Modbus slaves at a single IP address. Unfortunately, some first generation software drivers assumed a single slave at each IP and always set the Unit ID field to 0. This causes the IAP Device Server problems because it requires the Unit ID for the Modbus/RTU "Slave Address." To support these older applications, the IAP Device Server allows you to force a fixed address for Modbus/RTU and Modbus/ASCII, but note that this restricts you to a single serial slave device per IAP Device Server. Setting this value to 0 causes the IAP Device Server to use the Modbus/TCP Unit ID as received. Setting it to any other address causes the IAP Device Server to always use the set value as a fixed address. Allow Modbus Broadcasts (1=Yes 2=No) This relates to the previous issue. The default is 2/No, in which case the IAP Device Server always assumes a Modbus/TCP "Unit ID" of 0 really means Modbus slave address 1. Answering No here is like setting a fixed address of 1 (parameter above), except the fixed address is only used if the Modbus/TCP "Unit ID" is 0. Note: In the current software version for IAP Device Server, a true Modbus broadcast is only supported when a serial slave device is attached. A Modbus broadcast from a serial master device is discarded regardless of this parameter setting. Use MB/TCP 0x0B/0x0A Exception Responses (1=No 2=Yes) Traditional serial Modbus uses silence to signal some errors. While this works well with direct serial lines, it causes serious problems on a TCP/IP wide-area-network where delays are not so predictable. . See 2: Modbus for more information. Setting this parameter to 1/No causes the IAP Device Server to behave like a traditional Modbus serial slave - it answers timeouts, unconfigured slave addresses, and CRC errors with silence. Setting this to 2/Yes causes the IAP Device Server to return 1 of 2 new exception codes defined in Modbus/TCP. Consider exception hex 0A (PATH UNAVAILABLE) a "hard" error where a retry is not likely to succeed. It is returned: Modbus Protocol User Guide 14

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

3: Configuring Modbus
Modbus Protocol User Guide
14
Delay after CTS Going Active (0-1275 ms, 5ms increments)
Only asked if RTS/CTS mode is variable and set to wait for CTS to go active. After the IAP
Device Server sees the modem assert an RTS/CTS response input, it delays from 0 to 1275
msec before transmitting. If the IAP Device Server waits without seeing a valid response from the
modem, it will return the Modbus exception response 0x0B (hex) to the Modbus/TCP requesting
master.
Delay Dropping RTS after Transmitting (0-1275 ms, 5 ms increments)
Only asked if RTS/CTS mode is variable. After the IAP Device Server completes transmission, it
delays from 0 to 1275 msec before dropping the RTS/CTS output.
Advanced Modbus Protocol Settings
Changing these parameters takes a bit of thought and planning.
Slave Address (0 for auto, or 1…255 fixed otherwise)
Modbus/TCP includes a Unit ID field, which is used to address multiple Modbus slaves at a single
IP address. Unfortunately, some first generation software drivers assumed a single slave at each
IP and always set the Unit ID field to 0. This causes the IAP Device Server problems because it
requires the Unit ID for the Modbus/RTU “Slave Address.” To support these older applications,
the IAP Device Server allows you to force a fixed address for Modbus/RTU and Modbus/ASCII,
but note that this restricts you to a single serial slave device per IAP Device Server.
Setting this value to
0
causes the IAP Device Server to use the Modbus/TCP Unit ID as received.
Setting it to any other address causes the IAP Device Server to always use the set value as a
fixed address.
Allow Modbus Broadcasts (1=Yes 2=No)
This relates to the previous issue. The default is
2/No
, in which case the IAP Device Server
always assumes a Modbus/TCP “Unit ID” of
0
really means Modbus slave address
1
. Answering
No
here is like setting a fixed address of
1
(parameter above), except the fixed address is only
used if the Modbus/TCP “Unit ID” is
0
.
Note:
In the current software version for IAP Device Server, a true Modbus broadcast is
only supported when a serial slave device is attached. A Modbus broadcast from a serial
master device is discarded regardless of this parameter setting.
Use MB/TCP 0x0B/0x0A Exception Responses (1=No 2=Yes)
Traditional serial Modbus uses silence to signal some errors. While this works well with direct
serial lines, it causes serious problems on a TCP/IP wide-area-network where delays are not so
predictable. . See
2: Modbus
for more information.
Setting this parameter to
1/No
causes the IAP Device Server to behave like a traditional Modbus
serial slave – it answers timeouts, unconfigured slave addresses, and CRC errors with silence.
Setting this to
2/Yes
causes the IAP Device Server to return 1 of 2 new exception codes defined
in Modbus/TCP.
Consider exception hex 0A (PATH UNAVAILABLE) a “hard” error where a retry is not likely to
succeed. It is returned: