ProSoft Technology 5202-DFNT-MCM4 User Manual
Page 38

MCM ♦ ProLinx Gateway
Serial Port Modbus Error and Status Data
Modbus Master/Slave
Driver Manual
Page 38 of 80
ProSoft Technology, Inc.
October 16, 2009
Slaves are defined to the system when the gateway loads the Master Command
List during start-up and initialization. Each slave defined will be set to a state
value of 1 in this initial step. If the Master port fails to communicate with a slave
device (timeout expired on a command, retries failed), the Master will set the
state of the slave to a value of 2 in this status table. This suspends
communication with the slave device for a user-specified Error Delay Count
(page 26).
When the Master first suspends polling of a particular slave, it creates a Error
Delay Counter for this slave address and set the value in that counter equal to
the Error Delay Counter parameter in the configuration file. Then, each time a
command in the list is scanned that has the address of a suspended slave, the
delay counter value for that slave will be decremented. When the value reaches
zero, the slave state will be set to 1. This will re-enable polling of the slave.
The first word in the defined register locations contains the status code for slave
node address 1. Each successive word in the list is associated with the next
node in sequence, up to slave node address 255.
The individual Slave List Status for each Modbus port are returned to the address
locations specified in the following table.
Modbus Port
Address Range
0
4510 to 4764
1
4910 to 5164
2
5310 to 5564
3
5710 to 5965=4
Port 0 Slave List Status Layout
The addresses listed are for Port 0 only; but the format is the same for each port.
The start address for each port is given in the previous section, Master Port:
Modbus Slave List Status. (page 37)
Internal
Database
Address
(Example)
Offset Description
4510
0
Slave #1 Status
4511
1
Slave #2 Status
4512
2
Slave #3 Status
4513
3
Slave #4 Status
4514
4
Slave #5 Status
.
.
.
.
.
.
Note that the values in the Slave List Status tables are initialized to zero (0) at
power-up, cold boot and during warm boot.