While trying to read Modbus holding registers in Ignition from a Modicon Quantum PLC, we are experiencing issues reading real values. We have not issues reading integer values. Does anyone have any guidance on configuring the Modbus TCP driver to read real value out of holding registers?
Welcome to the forum. It would help if you described your issues and posted screenshots showing what you are attempting.
Have you seen this document on Modbus addressing?
We are not having any problems with the first four row of the picture below (Coil, Discrete Input, Input Register (INT16), and Holding Register (UINT16)). Our issue is with the forth row. We have many REAL data type tags that we need tor read into our project. We tried to configure it according to the Float Point or 32-bit Address Mapping guidance in the manual. We also tried changing the Modbus Type to Holding Register (Float) incase the manual was incorrect which used Input Register (Float). We also tried Input Register (Int16) as shown in the picture. We had no good results with any.
Connecting to a Modicon Unity Premium PLC to read a few float values we ended up with these two non-default settings in the Advanced section under Edit Device:
One-based Addressing: false``` You can also enter addresses directly in tag configuration, which may be quicker for testing. FYI we get the correct values for our first float at this OPC Item Path: ```ns=1;s=[DeviceName]HRF507``` The following three floats are at 509, 511, and 513. I'm not 100% sure this configuration is entirely correct, but it does give the correct values (matches PLC) for the four floats we needed to pull out of it.