Access Historian Data From 3rd Party Software

Hello,

Is there any way to access the data stored in the historian in a reasonably user friendly way from 3rd party software such as MATLAB? The only way I can see this happening is querying the database with a somewhat complex procedure that will take into account all the different tables the data may reside depending on the time range. Then it gets extra complicated if you try to get multiple tags, each having separate logging times

For example, when I was testing out Canary Labs historian they had a simple tool that from within MATLAB I could run a SQL query like 'SELECT TagA, TagB FROM CanaryHistorian WHERE date < ‘2019-02-02’ and date < ‘2019-02-25’. And on Canarys end they would grab the data, do any interpolation needed to the number of rows match up for each tag and pop the data right into MATLAB.

I know there is the system.tag.queryTagHistory function in Igniton that basically does exactly what I’d like, but it is only accessible from within the Ignition environment.

The only way I can think of at this point is to write a RESTful API in Ignition and query the database via a URL. Still seems strange to me there isn’t something out of the box that would satisfy this.

1 Like

This was my first thought as well.

There simply hasn't been any demand for this. Make sure there's a feature request logged and maybe it will get some votes.

2 Likes

Utilizing the web module makes this extremely easy.
We have functions built that will return the tags in a JSON with the names and paths.
Then our external system displays them for the user, the user chooses the tags, sets a date range and that is then passed back to another function on the gateway web interface.
The function executes system.tag.queryHistory and returns the resulting recordset as a JSON package or CSV if the end user prefers.

1 Like

Thanks for the suggestions. I’m looking into implementing a RESTful web dev module right now. Looks promising.

I know it is bad form to reply on an ancient thread like this but this is exactly my issue.

Has anything changed in the last few years? I also have 3rd party software I’d like to use to do analysis with the Ignition historical data. Querying direct into the SQL tables looks difficult and perhaps at risk of IA making changes that will break things. Any tools to facilitate access? To be honest, making a RESTful web app is beyond my known capability.
My 3rd party software today is Python3 (cpython) with the very useful data analysis libraries, if that matters.

Hey Stan. Not much has changed from what I can tell. There are a few analysis tools out there now that are capable of reading from the Ignition database, but they are quite the exception.

Depending on how often you need to extract data, I think there are a few Ignition scripts that can be run to create CSV/Excel files. But you basically need to type in all the tag names and start/end dates individually. There isnt a nice GUI built in or anything like that.

Hello, is there any update on this?

I know that you can get the data via the REST API via Web Dev module.
Are there any other SDK's available to connect via the Ignition Historian?

You can write a true 3rd-party module using Ignition's SDK. But the whole point of Ignition's historian tools is that they are accessed within Ignition. Exposing to the world necessarily includes an API layer on the Ignition side.

Beyond that, the historian table structures are documented in the user manual for all to see, and use with external SQL as they please.

1 Like

Thanks for the clarification.