Tag Historian Help Please


I am trying to use tag historian for the first time ever. I am looking for some guidance. Here is an example of a UDT I am trying to track the history of. There are hundreds of these UDTs in this project.

I have enabled history but I don’t know what to do next to view this data properly? These tags are for tracking parts on a conveyor. The data shifts as the parts move down the line, I need to track all of that history.

Would I have to do a new transaction group for each PartData position?? i.e. - PartData1, PartData2, etc

The customer I have who wanted Tag Historian used has a screen that has Easy Chart on it and the Tag Browse Tree. He can browse for what tag he wants to see the historical data for and drag the tag from the tree over to the Easy Chart. On the bottom of the chart he can change the time period he is viewing the data for.

Does that help answer your question at all?

Kind of, that is where my head was at for this. BUT some of the data is just boolean tags and others display descriptions. I may be wrong, but doesn’t the easy chart only display a graph type chart?

It will graph the boolean tags as changes between 1 (true) and 0 (false.)
So yes, its a graph type chart.
For the description tags, do the descriptions change? If so, do they just go between a couple of different descriptions or are there lots of descriptions possible to show for a tag?

There is an endless amount of descriptions honestly, this is because serial numbers of products are one of the tags I have to track history of. The customer basically wants timestamps to track a part through the whole system at any given time.

I can’t help you on that, I’m sorry.
Maybe @nminchin or @PGriffith know the answer.

If you’ll only access this data inside ignition, stick with historian, it’ll do a great job storing your data, be it bools, ints, floats, strings, etc…

This seems like a good case to bring all this data into a comprehensive report where you can search the serial number or something, you could also just show this data using the power table and the easy chart with maybe a separate subplot for the digital tags.
This kind of thing is kinda hard to say what to do without knowing very well how things work in the plant, but if you’re looking for inspiration definetly take a look here, especially the more recent projects from 2018 onwards:

You don’t need to do the same complex things people have done but this and the section on the documentation about High performance HMI and books helped me a lot in having a better idea on how to show data in a way that makes sense

Thanks for the info! I just got my database set up, and if you couldn’t tell, I have not worked with databases very much so I appreciate everyone’s patience. When it comes to ignition and databases, is it possible to just select the tags I want to share history of and just send all that raw data to the database? Or am I way off base in thinking this is a possibility? Is it possible for someone to view and understand that raw data if this is possible?

Here’s an overview of the steps i take when working with historian but note that i’m not an ignition expert or anything so there may be a few things that i get wrong, but theses steps work for me:

  1. I set up my database connection within Ignition gateway(This step may vary depending on the database, but ignition’s documentation is enough to get you there).

  2. Go to my project and change it’s default database to my new database.

  3. Look for all my tags that i want to have an history of and enable the history property.

    • Don’t forget that Ignition won’t save any data until you choose a storage provider on the tag property;

    • You don’t need to configure one by one, you can choose a bunch of tags and then enable history for all of them while they’re selected;

    • Take a good look at the deadband settings on the tag history settings, it’ll make sure you’re only saving what you actually need and not clog up your database with useless data;(check documentation and/or Inductive university)

From this point onwards, your data will start to be logged in the database BUT your data will be saved in a manner that is not human readable, if i understand it correctly, it’s saved that way because of efficiency but you won’t be able to understand raw data looking directly at the database table.

Fortunately, inside Ignition this data is very easy to access and understand, ignition takes care of the processs of making it readable. So, whenever possible, work with your data inside ignition, use the efficient way it saves and queries data to your advantage and if you need to view this data outside ignition, there are simple ways of doing it, like using a report or a script like system.tag.queryTagHistory() that will retrieve the data for you and it’s quite easy to export data.

To be clear you can query this data directly and make it readable outside ignition, but you’re just making things harder for yourself this way.

Sometimes you still have to make this data easily available and readable outside ignition, like when you have to use a reporting software that is not ignition’s own reporting module, then, i would recomend you save the data you need to show using transaction groups.

Now, how do you show the tag history data you’ve saved? That depends on the kind of data that you want to display but you’ll mostly work with Tag History bindings and, as always, the documentation is pretty good on explaining this part, and i find the setup screen very intuitive anyway:

About the datatypes, you should just keep in mind that you can’t plot strings on graphs, otherwise just show data in a way that makes sense for the user and remember that data is not information.

On the first project i worked on 99% of my tags that had history could be renamed and could have different units, so every table and every graph had to be dynamic, dynamic pen name, dynamic unit, dynamic table column name etc… And Ignition is very capable and it gives you all the tools you need, but if you want to do anything more complex, get very familiar with datasets, scripts, indirect bindings, python for loops, SQL queries, custom properties on objects, templates and udts and how to work with them.

I hope my english is clear enough, and Boa Sorte!

1 Like

Maybe i overdid a little on the “overview” ::

1 Like

No no, that is amazing and extremely helpful! Thank you thank you!!!

1 Like