Modbus XDriver value may have to be converted to obtain correct value.
Temperature point read from slave device as 7985.00 must be divided by 100 to obtain its correct value of 79.85
All CX master controllers
For various reasons slave devices may store values in a different format such as storing the floating point value 79.85 as an integer 7985, in such cases the read value has to be converted on the Continuum side.
Typically these conversions involve dividing or multiplying the read value by a multiple of 10
Consult the documentation of the slave Modbus device, typically the listing specifies the required conversion
Here is an example from the C-TRAC3 HVAC controller Modbus documentation.
Ambient Temperature Sensor
- Description: Outdoor ambient sensor generally located in the outside air inlet.
- Read only
- Modbus® register: 30709
- Return value: The floating point variable inside the C-TRAC3 has been multiplied by 10 then
converted into a Signed Integer which is sent out on the Modbus® port. To reconstruct a
single precision number, divide the returned integer value by 10.
- Sensor range: -46 to 160 °F
In the example above the read value must be converted by dividing it by 10, this can be done directly upon referencing the value or a second numeric point can be created to hold the converted value, a PE program reads the raw value, makes the conversion and stores the results in the secondary numeric point.