Proficy Interface?

Hello All,

I have a customer who wants to use Proficy as their historian. They are currently using it to grab & store data from the PLCs in parallel with the existing SCADA package which we are planning to upgrade to Ignition. (They lost confidence in the existing SCADA system a couple years ago as their primary historian)

During a scope review when I said we'd be storing history to SQL, they said well Proficy is their historian of record now and want to know if we can us it instead.

I'm still planning on using SQL for recipe management, and run report header information which they are ok with, they just want to integrate Proficy as the historian.

I'm out of my depth with this question having only a vague idea of Proficy, so I thought I'd ask here and see what all your collective experience can tell me.

I know there's a way to add other databases by creating a JDBC driver and importing a JAR file but a quick google search revealed no useful links to anything.

We are needing 3 basic elements - long term history storage, ability to view the history on trend screens, pull history into a run report as-needed.

I suppose I could leave the Proficy-PLC connection as-is and not set up Ignition Historian, but then I think I'd have a heck of a time trying to wrangle data into power chart, and reports no?

Appreciate anything anyone can share. Thanks!

The only thing I found when searching is you would need an ADO-JDBC Bridge (middleware).

If you want "managable" for your 3 requirements it'd be best to do it in Ignition (with your SQL DB) if that is the SCADA you choose.

Proficy Historian is old tech and is doesn't handle some things with the best stability (though it handles some other things very well). For example, if you open too many instances of their config application, the whole historian crashes... It is also much more expensive than a SQL solution.

But if you can't talk them out of it:

Newer versions of the historian provide a web server that comes with a web interface but also a REST API. That API is probably your best bet for getting data out of it for use in Ignition. Be careful though, as spinning up too many simultaneous connections to that API can also crash the entire historian... (don't ask me how I know).

5 Likes

Update from the field….

I was able to successfully do what the customer requested. I used the Ignition manual to start with https://www.docs.inductiveautomation.com/docs/8.1/ignition-modules/opc-ua/third-party-opc-servers/opc-com then expanded as necessary. Key things I needed to do just to make the connection were:

  1. Download and install the OPC Core Components Redistributable package on the Ignition Gateway machine. You can get these from the OPC website here: Classic - OPC Foundation. You will need to setup a free account in order to download. Once I did this I verified these were also installed on the Proficy machine and they were (assumedly by Proficy maybe during installation? They were a minor version behind what I downloaded but it didn’t seem to cause any problems)

  2. Verify OPC HDA Interface Support was enabled on the Proficy machine (It was not in my case and had to be enabled)

  3. Had customer IT set up a service account that had rights/was trusted by both Proficy machine and Ignition machine.

  4. Configured Ignition service to log on using those credentials (as opposed to log on locally).

Once I completed those steps I could move to the next step, adding a history tag provider in the Ignition Gateway. (Config > Tags > History > Configure new Historical Tag Provider > OPC HDA Provider > Remote). You will need the IP address or hostname of the Proficy box and the ProgID from the historian for this step. Once completed I could see the status go to “Running”

Initial efforts would not yield the “Running” status. Without the service account trusted by both machines I would only get “Access Denied” errors, and without the OPC HDA Interface support enabled I would get “Running” but I couldn’t actually browse tags.

For my Vision Easy Chart, You configure as you would normally and when you go to add your tags, you simply choose from your historical tag providers

I got varied results messing with the aggregate modes, I settled on “Closest Value” for the pen aggregate mode, and then set the Tag History Resolution Mode on the chart component to RAW, and Tag History Resolution to -1. This produced the best results on the trend. I know Proficy has its own list of supported aggregates and they don’t line up with Ignition’s so you may need to try a few things. (Note you can query Proficy to see it’s supported aggregates using the scripting console and the command system.opchda.getAggregates)

For my report however I needed a different approach since I needed “closest value” snapshots and the history tag query did not give me good results. I ended up having to use a scripting data source and using system.opchda.readRaw and building it manually and this yielded the best results.

So that’s it in a nutshell. I’m not an expert by any means, but I did get it working and I hope this helps someone else especially considering all the times I’ve come to the forum and got the answers I needed. Good Luck!

1 Like

Great solution and writeup!