mV-RS485 Adapter Modbus-RTU Register Information


The following Modbus register information can be used to read/write the Modbus address, read the mV values from a connected sensor, and read/write the calibration values within the mV-RS485 adapter.

 

Read Input Registers

Read Current Address Using Universal Address

The mV-RS485 adapter is programmed such that any sensor will respond to Modbus address 251. This is implemented for the event that the sensor’s current address is unknown.

Function 0x04 (Read input registers)
RegistersData TypeData SizePurpose
0x100016-bit integer1 registerUses the univeral address (251) to read the current mV-RS485 adapter address.

 

Example:

RequestResponse
Field NameHexField NameHex
Slave Address0xFBSlave Address0xFB
Function0x04Function0x04
Start Address Hi0x10Byte count0x02
Start Address Lo0x00Register Value Hi0x00
Quantity of register0x00Register Value Lo0x07
Quantity of register0x01CRC Lo0x20
CRC Lo0x21CRC Hi0xE6
CRC Hi0x50
  • Using the universal address of 251 (0xFB), the user has read that the current Modbus address of the sensor is 7 (0x0007).

 

Read mV Value

Function 0x04 (Read input registers)
RegistersData TypeData SizePurpose
0x0002, 0x00332-bit Float, Big-endian2 registersRequests the mV value recorded by the mV-RS485 adapter.

 

Example:

RequestResponse
Field NameHexField NameHex
Slave Address0x01Slave Address0x01
Function0x04Function0x04
Start Address Hi0x00Byte count0x04
Start Address Lo0x02Register Value Hi0xC1
Quantity of register0x00Register Value Lo0xC8
Quantity of register0x02Register Value Hi0xBF
CRC Lo0xD0Register Value Lo0x9A
CRC Hi0x0BCRC Lo0xB7
CRC Hi0xDD
  • The user has requested the mV value reading from the mV-RS485 adapter. The sensor responded with 0xc1c8bf9a (-25.09356 mV).

 

Read Point 1 Calibration Values (mV and concentration)

Function 0x04 (Read input registers)
RegistersData TypeData SizePurpose
0x4000, 0x4001, 0x4002, 0x400332-bit Float, Big-endian4 registersRequests the point 1 calibration values (usually 0) set internally on the mV adapter.

 

Example:

RequestResponse
Field NameHexField NameHex
Slave Address0x01Slave Address0x01
Function0x04Function0x04
Start Address Hi0x40Byte count0x08
Start Address Lo0x00Register Value Hi0x00
Quantity of register0x00Register Value Lo0x00
Quantity of register0x04Register Value Hi0x00
CRC Lo0xE5Register Value Lo0x00
CRC Hi0x8DRegister Value Hi0x00
Register Value Lo0x00
Register Value Hi0x00
Register Value Lo0x00
CRC Lo0x31
CRC Hi0x3D
  • The user has requested the point 1 calibration values from the mV-RS485 adapter. The sensor responded with 0x00000000 (0 mV, 0 value).

 

Read Point 2 Calibration Values (mV and concentration)

Function 0x04 (Read input registers)
RegistersData TypeData SizePurpose
0x4004, 0x4005, 0x4006, 0x400732-bit Float, Big-endian4 registersRequests the point 2 calibration values set internally on the mV adapter.

 

Example:

RequestResponse
Field NameHexField NameHex
Slave Address0x01Slave Address0x01
Function0x04Function0x04
Start Address Hi0x40Byte count0x08
Start Address Lo0x04Register Value Hi0x3F
Quantity of register0x00Register Value Lo0x80
Quantity of register0x04Register Value Hi0x00
CRC Lo0xA4Register Value Lo0x00
CRC Hi0x4CRegister Value Hi0x43
Register Value Lo0x73
Register Value Hi0xCA
Register Value Lo0x3D
CRC Lo0x80
CRC Hi0x8F
  • The user has requested the point 2 calibration values from the mV-RS485 adapter. The sensor responded with 0x3f8000004373ca3d (1 mV, 243.79 value).

 

 

Write Multiple Registers

Change the Modbus Address

Function 0x10 (Write Multiple registers)
RegistersData TypeData SizePurpose
0x100016-bit Integer1 registerChanges the Modbus Address of the mV-RS485 adapter.

 

Example: 

RequestResponse
Field NameHexField NameHex
Slave Address0x01Slave Address0x01
Function0x10Function0x10
Start Address Hi0x10Start Address Hi0x10
Start Address Lo0x00Start Address Lo0x00
Quantity of register0x00Quantity of Outputs Hi0x00
Quantity of register0x01Quantity of Outputs Hi0x01
Byte count0x02CRC Lo0x05
Outputs Value Hi0x00CRC Hi0x09
Outputs Value Lo0x05
CRC Lo0x77
CRC Hi0x92
  • Using the known address of 1, the user has changed the Modbus address of the sensor with address 1 to 5.

 

Write New Point 2 mV Calibration Value

Function 0x10 (Write Multiple registers)
RegistersData TypeData SizePurpose
0x4004, 0x400532-bit Float, Big-endian2 registersChange the point 2 mV calibration value.

 

Example: 

RequestResponse
Field NameHexField NameHex
Slave Address0x01Slave Address0x01
Function0x10Function0x10
Start Address Hi0x40Start Address Hi0x40
Start Address Lo0x04Start Address Lo0x04
Quantity of register0x00Quantity of Outputs Hi0x00
Quantity of register0x02Quantity of Outputs Hi0x02
Byte count0x04CRC Lo0x14
Outputs Value Hi0x3fCRC Hi0x4D
Outputs Value Lo0x80
Outputs Value Hi0x00
Outputs Value Lo0x00
CRC Lo0xDB
CRC Hi0x53
  • The new point 2 mV calibration value has been set to 1.0 (0x3f800000).

 

Write New Point 2 Concentration Calibration Value

Function 0x10 (Write Multiple registers)
RegistersData TypeData SizePurpose
0x4006, 0x400732-bit Float, Big-endian2 registersChange the point 2 concentration calibration value.

 

Example: 

RequestResponse
Field NameHexField NameHex
Slave Address0x01Slave Address0x01
Function0x10Function0x10
Start Address Hi0x40Start Address Hi0x40
Start Address Lo0x06Start Address Lo0x06
Quantity of register0x00Quantity of Outputs Hi0x00
Quantity of register0x02Quantity of Outputs Hi0x02
Byte count0x04CRC Lo0xB5
Outputs Value Hi0x43CRC Hi0x8D
Outputs Value Lo0x7C
Outputs Value Hi0x8F
Outputs Value Lo0x5C
CRC Lo0xE7
CRC Hi0x23
  • The new point 2 concentration calibration value has been set to 252.56 (0x437c8f5c).

 

Note: Point 1 calibration values are typically set at zero; however, the Modbus registers for the point 1 values are 0x4000,0x4001 (mV) and 0x4002, 0x4003 (concentration).