Ignition platform 8.1.44, reading Schneider plc through modbus tcp.
I cannot explain the value of float/real tag.
PLC - 7.85 [Real] - value is constant
Kepware - 7.85 [Float] - value is constant
Modbus Poll - 7.85 [32-bit Float] - value is constant
Ignition [Holding Register (Float)]
When subscribed the value is changing 7.84 - 7.85 - 7.86 - 7.87, while in Kepware/ModbusPoll it does not change at all.
The PLC programmer assured me that the value is 7.85, but I’m unable to explain the behavior.
Thank you very much, it's resolved. I had to enable reverse word order and adjust for zero-based addressing. I had tried reverse word order earlier, but I didn’t test the +1/-1 address adjustment after swapping the words. I also wasn’t aware that overlaps could manifest as small discrepancies like the one I was seeing.
If you enter 7.85 in the converter here: https://www.h-schmidt.net/FloatConverter/IEEE754.html
You will see that if you toggle the 17th check box (representing the first bit of the second word if this was on modbus) it still only changes the number by ~0.001 or so. This then gets rounded in the display in ignition to the numbers you were seeing.
Feel free to mark the post as a solution if the request has been solved.