Hi Khalid,
The device is a CalControls 3300 temperature controller and the documentation for reading the holding registers is shown below.
Read Holding Registers
Byte Meaning Value(hex)
1 Slave address xx
2 ModBus Function code (read holding register) 03
3 Starting Address MSB xx
4 Starting Address LSB xx
5 No of registers MSB 00
6 No of registers LSB 01
7 CRC lo byte ??
8 CRC hi byte ??
The temperature is returned in bytes 3 and 4 of the reply and is divided by 10.
The message to the device would be:
[01][03][00][1C][00][01][45][CC]
If the temperature is 22.5 degrees, the reply from the device would be
[01][03][02][00][DE][B9][D7]
The Labview and VB programs I am using are writing the above message to the device to obtain the temperatures.
Thanks,
Mark