Toshiba MDB-100 Network Card User Manual


 
15
9. Modicon Programming
9.1 Supported Modbus Commands
The MDB-100 interface supports 5 Modbus commands: command 1 (0x01: read coil
status), command 3 (0x03: read holding registers), command 5 (0x05: force single
coil), command 6 (0x06: preset single register) and command 16 (0x10: preset
multiple registers). Not all registers or coils support all commands (for example,
read-only registers cannot be written to with a command 16). For more information,
refer to section 10. The following limits represent the maximum number of registers
and coils that can be read/written in one packet transaction:
Command
RTU Mode
Read Max
RTU Mode
Write Max
ASCII Mode
Read Max
ASCII Mode
Write Max
1 32 coils N/A 32 coils N/A
3 125 registers N/A 61 registers N/A
5 N/A 1 coil only N/A 1 coil only
6 N/A 1 register only N/A 1 register only
16 N/A 123 registers N/A 59 registers
9.2 Programmable Pointer Register Function
MDB-100 registers 0x6000 0x601F and 0x6080 0x609F are used as
programmable pointer and data registers, respectively. Registers 0x6000 0x601F
(32 total) are used to define other register addresses from which you would like to
read or write, and registers 0x6080 0x609F (32 total) are the actual registers used
to access the data located at the register addresses defined in registers 0x6000
0x601F. For example, if you would like to continuously read the data from registers
0xFE03, 0xFE04, 0xFE06, and 0xFD00, the standard register configuration would
require 3 read commands to be issued: one reading 2 registers starting at register
0xFE03, one reading 1 register starting at register 0xFE06, and one reading 1
register starting at register 0xFD00. To conserve network bandwidth and speed
processing time, however, the programmable pointer registers can be used to allow
the same information to be accessed, but by only issuing 1 command which reads 4
registers.
To configure this function, program as many registers as necessary (up to 32) in the
range 0x6000 0x601F with the register numbers of the registers you would like to
continuously access. In this example, we would set register 0x6000 to 0xFE03 (the
first register number we want to access), register 0x6001 to 0xFE04, register 0x6002
to 0xFE06, and register 0x6003 to 0xFD00. The data located at these drive status
registers can then be obtained by accessing the corresponding registers in the range
0x6080 0x609F (data register 0x6080 corresponds to address register 0x6000,
data register 0x6081 corresponds to address register 0x6001, etc.) Therefore, the 4
registers that are to be monitored can now be accessed simply by issuing 1 holding
register read command with a length of 4 starting from register 0x6080. The returned