I am reading/writing strings from a Modicon Quantum controller successfully except for some holding register addresses:
[MOD2ATU]HRS152:10 (Registers 40152 - 40156) Returns string ‘042031655’
[MOD2ATU]HRS202:10 (Registers 40202-40206) Returns null or blank string (actually contains same value as above)
If this or another tag pointing to this address is changed to a different data type, it returns values. The OPC Server shows ‘Good’ data quality on all tags and the Modbus V2 driver shows to be polling each of the tags.
Thanks for any help on this.
Let’s get some logs and see what is being returned by the device.
Start by disabling all tags pointing to that device except [MOD2ATU]HRS202:10. Then, on the Ignition gateway, go to the Console > Levels page and search for “ReadHoldingRegisterRequest” and turn the one belonging to MOD2ATU to TRACE.
In your console you should get a bunch of log messages that show the bytes being sent and received between Ignition and the device. Once you’ve confirmed that those messages are there, click the export logs link and email them into support. You can then go back to the Levels tab and turn the logger to INFO again.
After further investigation, this appears to be a bug in the Modbus driver.
The intermediate fix is to disable the advanced “Span Gaps” option.
I’ve already fixed this, but it will take a little bit of time to get through the test/build/release process. Hopefully on Monday there will be a Modbus module available that includes the fix.
This is fixed in versions 7.3.5 and later (including 7.4.x, 7.5.x).