ProSoft Technology MVI69-MCM User Manual
Page 121
MVI69-MCM ♦ CompactLogix or MicroLogix Platform
Reference
Modbus Communication Module
User Manual
ProSoft Technology, Inc.
Page 121 of 167
March 22, 2011
5.5
Special Control and Status Blocks
Control and Status blocks are special blocks used to control the module or
request special data from the module. The current version of the software
supports eight types of special blocks.
Slave Disable and Enable blocks (page 121) (only for Master port or ports)
Slave Status blocks (page 124) (only for Master port or ports)
Event Command blocks (page 125) (only for Master port or ports)
Command Control blocks (page 127) (only for Master port or ports)
Pass-Through blocks (page 129) (only for Slave port or ports)
Initialize Output Data blocks (page 133) (all configurations)
Warm Boot block (page 133, page 89) (all configurations)
Cold Boot block (page 133) (all configurations)
Slave Disable/Enable, Slave Status, Event Command, and Command Control
blocks function only when one or both ports are configured to be a Modbus
Master. Pass-Though blocks function only when one or both ports are configured
to be a Modbus Slave. Initialize Output Data, Warm Boot, and Cold Boot blocks
function regardless of port Master/Slave configuration.
5.5.1 Slave Disable and Enable Control Blocks
For a variety of reasons, it may be desirable to disable and enable polling of
certain network slaves using logic control from the processor. For these
instances, you can use the Slave Disable and Slave Enable Special Control
Block codes, along with a list of slave addresses to disable or enable.
When a port is configured as a Modbus Master, the module maintains a 256-
word memory table that reserves one word for each possible Modbus slave
address (see Slave Status (page 124)). This memory table is used by the
module's operating firmware as a 'scratch pad' to hold the polling state of each
Modbus address, to see whether or not that address is currently being polled or
whether or not that address can be polled.
For example, IF:
1 A slave fails to respond to a command within the specified R
ESPONSE
T
IMEOUT
(page 58);
2 And, the specified number of R
ETRIES
(page 58) also fail;
3 And, the E
RROR
D
ELAY
C
OUNTER
(page 58) is greater than 0;
THEN:
1 The module will set the Slave Status register for that address to a value of 3
to prevent further polling of that slave.
2 The value in the E
RROR
D
ELAY
C
OUNTER
parameter will be added to an
internal countdown register.
3 Each time a command addressed to the disabled slave is to be executed
from the Command List, the command will be skipped instead of sent.
4 The internal countdown register will be decremented by one (1) each time a
command is skipped.