Today is...
Friday, May 26, 2017
Welcome to, the global online
community of automation professionals.
Featured Video...
Featured Video
A tutorial introduction to programming using the QuickBuilder Programming Environment.
Our Advertisers
Help keep our servers running...
Patronize our advertisers!
Visit our Post Archive
Modbus TCP Reading Error with 32 Bit Floating Point HR
Error while reading a 32 bit holding register in a Honeywell masterlogic 50 PLC, using MODBUS TCP protocol to poll the PLC with inductive automation SCADA software.
By Luis Aiassa on 23 October, 2015 - 2:36 pm

I have reading error while reading a 32 bit holding register in a Honeywell masterlogic 50 PLC. I am using modbus TCP protocol to poll the PLC with inductive automation scada software.

We are working with masterlogic plc. we read a floating point variable using modbus TCP. The variable is an accumulator, suddenly the value drop in some units, and suddenly it increase in the same amount. This kind of behaviour is erratic. I thought could be a precision issue due to format difference between floating point in scada software and plc, but it seems to be the same. both manuals stand that use same ieee standard for floating point formatting.

Any comments I will appreciate


It sounds like you are seeing step changes in the data.

An example with numerical values would help, along with a description of the process variable would help diagnose the issue.

1) Wrong FP format
There are two widely used floating point (FP) word/byte formats (big/little endian, byte swap), but the use of the wrong format to interpret a value produces such a bizarre result that it is apparent that there is something wrong with the interpretattion. For instance, look at these 3 successive 'true' values, 999, 1000, 1001 and the bizarre results that occur when the wrong interpretive format is used.

999.00 -2.0042
1000.00 2.46E-41
1001.00 2.0042

I would think that if you expect a value on the order of 1000, that a value of 2, -2 or 2^-41 would be recognized as a bogus value.

However, if the data values are 'reasonable' and make sense, then unless your HMI was programmed to 'ignore' the exponent, the HMI's use of the wrong interpretive format is unlikely.

2) Scaling
Step changes can be caused by over-amplified scaling, where the HMI's scale is such a small fraction of sensor's range so that one sees the digitization steps in either the sensor output or the analog input's conversion.

An example might be a signal from a pressure transmitter with a 0-6 bar range that is scaled 0-10 mbar. The entire scale range is less than 0.2% of the field instrument's span.

3) Amplified noise
The amplification of noise on a straight line, steady state process value appears as steps.