Using OPC-UA Historical Access in Ignition scripting

I'm looking for a way to use OPC-UA Historical Access from Ignition to pull historical data from a third party HA enabled OPC-UA server. I know this is possible from other clients, but I can't seem to find a way to do it within Ignition.

Is anyone aware of a way to do this?

Thanks

1 Like

I don't think there's anything you can do to get this working, we don't support OPC UA HA in any capacity.

Thanks for the reply Kevin. Is there any particular reason for not supporting OPC UA HA?

I've never actually seen a server that supports it. I'm guessing you have one, but I don't even know what I'd use to develop against. It's just not common in the market yet.

I have the exact same need.

Phoenix Contact PLCNext PLC's support it for internally configured IO, as do several other things I've used (B&R, Beckhoff, Weintek cMT HMI's). I haven't been able to determine if any of the current generation of stand alone OPC-UA bus couplers can do onboard HDA. One once promised but seems to have backed out of that.

Let me provide a use case.

My personal application use deals with a burst mode batch recording I have to do in a standalone application. It can be deployed without a PLC or talks to a PLC as a process controller. The process needs to be recorded on multiple analog channels as fast as 10ms with minimal capture jitter, and the length is undetermined, so a traditional PLC would struggle at doing this data capture and normal IO access for Ignition may not be regular enough. We have to do some configured post-capture analysis for pass/fail, so the memory space flexibility is important. The data is usually discarded, but can be stored for future review, especially in the case of a fail.

We currently do this with a competitor's Windows SCADA package and a specific purpose USB capture device with onboard buffering and custom drivers. This results in hardware vendor lockin and inability to do this via any form of distributed IO.

I know in my case I could configure a PLC to alleviate these issues (specifically via a ping-pong buffer), but for such data recording applications, being able to run at a lower sampling rate would help reduce traffic and simplify or eliminate PLC based compensation schemes.

Sorry, simply not true. Modern PLC brands have large memory spaces that can be configured (with suitable code) as ring buffers. Ignition can efficiently gulp down huge arrays of structures upon triggers, and, in cases with high repetition rates for the bursts, supports 3rd party modules (like mine) that can do I/O type high-speed I/O.

You may struggle getting a PLC to do this, but it is not true in general.