CompactLogix, Ignition, and DINTS help needed please

Good morning everyone,

I’m new to Ignition, and having some trouble figuring out something that should be fairly easy. At least I think so anyway. Here’s my problem:

I’m using Ignition 8.1, talking to a CompactLogix PLC. This PLC has a bunch of tags in it for faults, all in DINT format. So I have something along the lines of
Cell.Fault
Cell.Fault[0] through Cell.Fault[9]
Cell.Fault[0].0 through Cell.Fault[0].31
So the fault description is at the bit level, in the above example Cell.Fault[0].0 is ‘Low Air Pressure’

My goal was to create an overview for each piece of equipment. On that overview there is a label that looks at the overall fault bit in the PLC, which is off whenever anything is faulted. Easy peasy. So I want the user to be able to click on that label and have a new screen load that will give a fault history, showing a table with all the faults over a period of time with their description and start, end(if applicable) and duration.


Hopefully that upload inserted the picture of what I’m trying to create. above this line. Anyway, the first problem I’m running into is that short of making Ignition tags for each bit in the PLC DINT, I don’t see a way to get those alarm descriptions into the history on the Ignition side. I can create a bool array, but I can’t change the name of the bit. In another post I was given a UDT to use that does a little function on the DINT to parse out the bits. I could change the names of the bits here, but I’m going to have to create a UDT for each PLC DINT anyway, which kinda defeats the purpose of using a UDT in the first place. I thought maybe I could import all those descriptions into the SQL database and look them up somehow, using fixed data sets or something but I don’t see a straight forward way to do that either.

This is so easy to do in the PanelView software it can’t be that hard in Ignition, can it?

Any help would be appreciated.

Create boolean tags for every bit. Make an Ignition alarm definition for each tag. Ignition’s driver will optimize the booleans to efficiently read the DINTs.

Ideally, there’s some pattern to your alarms such that you can use Ignition’s UDTs to create all the tags with minimal repetition.

Create an Ignition alarm journal if you haven’t already. That will give you alarm history.

Thank you for the response. Thats pretty much what I thought I was going to have to do, though I don’t know about the alarm journal. I’ll have to look that one up.

There are creative ways to bust out tag creation. Excel is one method, although not very friendly on complex tags. Your situation sounds simple enough that you could use Excel. I created some alarm tags that way in a matter of seconds. You mentioned PanelView, if this alarm data is in a PV+/FTViewME you could copy straight from there as a start.

I exported the ViewME alarms to an excel spreadsheet, I’m guessing I’ll have to look at how to import from csv. Or just copy paste for a few hours. I really hate doing the same work twice, which was why I was hoping there was an easier way! :laughing:

Just out of curiosity, @pturmel , I see your name pop up all over the search results for similar questions elsewhere. One thing you recommended is to use a module you developed to import the tags from the logix file. This seems similar. And what is the difference between the history enable and the alarm journal route? I’m guessing you took one look at the picture I uploaded and knew exactly what I was going for… :grin:

It sounds similar, but is not. The module in question can mimic an AB Logix processor’s tag and type structure inside of its OPC device structure. Though not originally intended for this, it is a handy, item-path-compatible stand-in when the real processor isn’t present. The import doesn’t yield Ignition tags, it yields virtual AB Logix tags in the emulation.

Tag history on a boolean is simply going to record when the bit changes.

Alarms have much more functionality, particularly acknowledgements and notifications. An alarm journal captures more events.

If all you want are alarm tags I could help you. I have a tool, which I can’t share, that can build them quickly. If you send the Excel file I should be able to spit something out for you.

Thanks for the offer. I’ve already started but I’m curious about your tool as I’ll have other machines to add.

If you can put into the format I sent, it will take a few seconds to generate and then you simply import into Ignition.