I have kind of a weird problem with a new Modbus TCP device. The device is configured and I’ve set up tags using address mapping. When I use the Quick Client and trigger a read, it reads fine. I’m monitoring traffic with Wireshark, and I see the connection, request, and response.
But in the Designer, the tags are all null with a quality of Unknown. I’ve tried using the address mapping syntax for the tag and also manual addressing, with and without the unit id. Wireshark shows no traffic on port 502.
Also, when I set up a subscription in Quick Client, it’s always null. But a single read works fine.
Usually for troubleshooting stuff like this it helps to delete the mapping and disable or delete all tags you’ve defined in Ignition except for one that you’re confident should have the right address and focus on that.
In this case it seems like you should just have one tag with an OPC Item Path of [eaoModbusTest]IR0. I assume you’ve got the driver configured for zero-based addressing as well?
It looks like restarting the OPC-UA module fixed this problem. Restarting the Modbus module wasn’t enough. Subscriptions in the Quick Client as well as creating new tags in the tag browser with manual addressing both work now.
I have this same issue with ignition 8.1.47. I restarted the Modbus module and the OPC-UA module and nothing changed. My designer shows the tags as Bad_Failure, but in quickclient if I read the tag it comes back w/ correct result almost instantly. Also if I subscribe to the tags in quickclient only the first tag works.
Even though the capability exists to create modbus tag mappings, it's recommended to not use it and to directly link to the registers following the proper naming convention.
I have no address mappings in the device setup. I addressed each Modbus address individually with OPC tags and initially they all work, but they do not follow the tag provider and never update after initial poll. So the only way that I have found that they will “repoll” or update again is if i double click into the tag value and click out of it then I get hit with this error: “Error writing to outputvolt.value: Bad("Bad_InternalError: An internal error occurred as a result of a programming or configuration error.")”, but as soon as close the error dialog box it reads the tag and sends me the correct value. See screenshot of my tag and tag provider setup.