Parameter
Keypad and
structure
display
Table 6-6 Slave response
Byte
0
Slave source node address
1
Function code 0x10
2
Start register address MSB
3
Start register address LSB
4
Number of 16bit registers written MSB
5
Number of 16bit registers written LSB
6
CRC LSB
7
CRC MSB
FC23 Read/Write multiple
Writes and reads two contiguous arrays of registers. The slave imposes
an upper limit on the number of registers which can be written. If this is
exceeded the slave will discard the request and the master will time out.
Table 6-7 Master request
Byte
0
Slave node address 1 through 247, 0 is global
1
Function code 0x17
2
Start register address to read MSB
3
Start register address to read LSB
4
Number of 16bit registers to read MSB
5
Number of 16bit registers to read LSB
6
Start register address to write MSB
7
Start register address to write LSB
8
Number of 16bit registers to write MSB
9
Number of 16bit registers to write LSB
10
Length of register data to write (in bytes)
11
Register data 0 MSB
12
Register data 0 LSB
11+byte count CRC LSB
12+byte
CRC MSB
count
Table 6-8 Slave response
Byte
0
Slave source node address
1
Function code 0x17
2
Length of register data in read block (in bytes)
3
Register data 0 MSB
4
Register data 0 LSB
3+byte count CRC LSB
4+byte count CRC MSB
6.2.7
Extended data types
Standard MODBUS registers are 16bit and the standard mapping maps
a single #X.Y parameter to a single MODBUS register. To support 32bit
data types (integer and float) the MODBUS multiple read and write
services are used to transfer a contiguous array of 16bit registers.
Slave devices typically contain a mixed set of 16bit and 32bit registers.
To permit the master to select the desired 16bit or 32bit access the top
two bits of the register address are used to indicate the selected data
type.
NOTE
The selection is applied for the whole block access.
214
Parameter description
Parameter x.00
format
Description
Description
Description
www.controltechniques.com
Advanced parameter
Serial comms
descriptions
protocol
bit 15
bit 14
TYP1
TYP0
Type select
The 2bit type field selects the data type according to the table below:
Type field
Selected data
bits 15-14
type
00
INT16
01
INT32
10
Float32
11
Reserved
If a 32bit data type is selected then the slave uses two consecutive 16bit
MODBUS registers (in 'big endian'). The master must also set the
correct 'number of 16bit registers'.
Example, read #20.21 through #20.24 as 32bit parameters using FC03
from node 8:
Table 6-9 Master request
Byte
Value
0
0x08
Slave destination node address
1
0x03
FC03 multiple read
2
0x47
Start register address #20.21
(16384 + 2021 - 1) = 18404 = 0x47E4
3
0xE4
4
0x00
Number of 16bit registers to read
#20.21 through #20.24 is 4x32bit registers =
5
0x08
8x16bit registers
6
CRC LSB
CRC
7
MSB
Table 6-10 Slave response
Byte
Value
0
0x08
Slave destination node address
1
0x03
FC03 multiple read
Length of data (bytes) = 4x32bit registers =
2
0x10
16bytes
3-6
#20.21 data
7-10
#20.22 data
11-14
#20.23 data
15-18
#20.24 data
19
CRC LSB
20
CRC MSB
Reads when actual parameter type is different from selected
The slave will send the least significant word of a 32 bit parameter if that
parameter is read as part of a 16 bit access.
The slave will sign extend the least significant word if a 16 bit parameter
is accessed as a 32 bit parameter. The number of 16 bit registers must
be even during a 32 bit access.
Example, If #1.28 is a 32 bit parameter with a value of 0x12345678,
#1.29 is a signed 16 bit parameter with a value of 0xABCD, and #1.30 is
a signed 16 bit parameter with a value of 0x0123.
Electronic
Performance
nameplate
bits 0 - 13
Parameter address
X x 100+Y-1
Comments
backward compatible
IEEE754 standard
Not supported on all slaves
Description
Description
Digitax ST Advanced User Guide
Issue Number: 1
Need help?
Do you have a question about the Digitax ST and is the answer not in the manual?
Questions and answers