Dynamically Filtering Alarm Status

I noticed that when we use “Alarm Status” Component, by default, it will display all the alarms occurred.

While this default behavior ease the initial design a lot, I would also like to have “Alarm Status” Component which are capable of filtering which alarm to be shown based on certain conditions.

I notice that the Ignition Developer Team has sensibly created “Alarm Status” Component with property called “Display Path Filter” which I suppose will help in creating the behaviors I want.

But sadly (shame on me), I do not know how to use it. :frowning: Thus, I would like to seek advise from you

Here is my case:

  1. I have an Alarm Status Component in an Alarm Status Main Window where the Root Container of the Main Window contains a Custom Property called index, which is of Integer type.

  2. Among my tags, I have numerically indexed name tags whose paths are as shown in the following pattern:

A/B{1}

where:

A is my tag folder B is the name of my tag {1} is the index of the tag

Thus, if I have a Component which I want it to refer to certain value in that tag path, I could make the Component value bound as Indirect Tag to A/B{1}/SomeOtherPath as Indirect Tag Path where {1} is simply referred to the Root Container.index, and things will go well.

But as I did the same to my Alarm Status, I failed miserably. :/ Now my question is: How can I use Display Path Filter (or any other filter/binding/whatever else you deem appropriate) to accomplish my goal? I want to show limited alarm based on the index in my Alarm Status Window

Thanks!

The Display Filter supports wild cards (’*’). Oddly, you also need a wildcard on the front of the filter.

So, you can set up your filter as an expression somewhat like this:

A/B’+toStr(Root Container.index)+’

If you need more that one item in the filter, then you need to separate each one with a comma.

Thanks, @JordanCClark! It works! :smiley:

Except that I need to change the expression a little:

'*A/B'+toStr({Root Container.index})+'*'

(Curly bracket is added) :thumb_left:

2 Likes

@JordanCClark,

The implemented Display Path filter works perfectly for the Alarm Status Component

When I try to implement the same Display Path Filter with Expression Binding on the Alarm Journal Component, things do not run smoothly - No data is shown at all.

[quote]The Expression Binding looks like:
A/B’+toStr({Root Container.index})+’
[/quote]

But when I implement that Expression Binding to the Search String of the Alarm Journal Component, it works exactly as it is expected to be(!)

Note: The Alarm Journal Component also located in a Window which has a {Root Container.index} Custom property.

Not that I am not happy enough because there isn’t work around (such as from Display Path Filter to Search String) to get the expected result, but I wonder why is this so? :neutral_face: This will help me to avoid same mistakes in the future. (Less debugging is better)

2 Likes

Hey @ian is there any update for your question?