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