Hello, I am working on a project where we want to publish the data via MQTT to Ignition, but we have a legacy OPC-DA client application that can only get the data via Device Reads. How does Ignition, as the OPC server, handle a device read when it’s data source is MQTT?
Ignition doesn’t have an OPC Classic/DA server so I’m not sure how to answer.
I suppose that it is the answer lol. It can’t handle that situation.
If it were an OPC UA client connection and the Exposed Tags feature was enabled the client would see the MQTT tags and a call to the Read service would just give you the current value as it sits in Ignition.
If I were to use an intermediate agent, like cogent data hub to bridge bridge the da client to ignitions ua server. Would a device read trigger a response by ignition? Would it send a demand poll to the edge ignition gateway to publish “fresh” data?
No, MQTT data arrives into Ignition exceptionally/unsolicited. The OPC UA server doesn’t even know what the source of the data is. You’d get the most recent value Ignition received, no demand poll or refresh would happen or is possible.
Thanks for the quick replies! I’ll keep digging through my problem. Has to be an answer for it somewhere in here.
Autosol eACM has a trigger for demand poll via mqtt. It’s a feature that Ignition should consider as a fundamental feature. Maybe the publish interval is set to a high time interval and you want to know at that moment what’s going on. It’s also a comfort factor for the transition taking place in a culture built on legacy polling.
If that trigger is exposed in the MQTT namespace and ends up as an Ignition tag, you can certainly trigger it by writing to it or whatever before you then issued the read call. But it’s not going to happen automatically as a pre-req to the read.
Sorry. I jumped topics to a feature request for Ignition Edge. I was just saying it would be cool if Ignition Edge knew what to do with a demand poll request.