Jump to content

Filter out chattering alarms


Kathryn

Recommended Posts

Is there a way to use Seeq to filter chattering alarms out of data? For example, I have data in CSV format that I have extracted from an alarms and events journal. I now wish to filter this data to remove any chattering which can be defined as having the same alarm activate more than twice in one minute. The data in this file has numerous types of alarms (+- 1000 unique alarm entries). Would I need to filter the data for each unique alarm first before further analysis with Seeq? What formula could I use to then filter out any chattering data? I have used binary data to indicate the alarm on/off state. Then I tried to create a minute time period using period(1min) and then using a condition to look for all the "on" alarms which are shown as 1. However from here I am unsure how to use a filter to set it to remove any "on" data that occurs more than twice in a 1 min period. Also, it would be useful to have a moving time-period interval if possible.

Link to comment
Share on other sites

Hi Kathryn,

Once you've got your alarm data into Seeq (using either the Import from CSV tool, Directory Watch, or connecting directly to the database), I would test the following approach on a single alarm type:

1. Keep your periods(1min) condition - this will be useful for alarm filtering.

image.png

2. Create a value search on the alarm signal for when it is equal to 1. 

image.png

3. Use the composite condition tool "touches" logic to identify which of your 1 min periodic capsules have an active alarm during that time frame. 

  • Note in the composite condition tool interface, the selection of condition "A" and "B" will affect the result. Make sure that the 1 min interval is selected as condition A and alarm active is condition B. 

image.png

4. Once you've got the final condition for 1 min intervals that contain an active alarm, you can either create a new 1-0 status signal that has value 1 for the minutes when there was and 0 the rest of the time, or you can aggregate the new condition directly using Seeq's signal from condition of scorecard metric tools.

  • To use formula to create a new 1-0 signal for visualization: 
$zero = 0.tosignal()
$one = 1.tosignal()
$zero.splice($one,$condition)

image.png

  • To aggregate count of 1 min periods per day that had an active alarm:
    • Create a daily periodic condition
    • image.png
    • Create a scorecard metric of the count of 1 min containing active alarm capsules per day
    • image.png

In order to do this on a moving time period, like say a 1 minute window, every 30 sec, you would use the following formula when creating our periodic condition:

periods(1min,30sec)

 

If the above solution does not work specifically for this use case, let me know and we will try another approach!

 

For scaling this calculation method up to a large number of alarms, there are a couple of different approaches that involve using some of Seeq's scripted tools, or the newly announced Seeq Data Lab. I would reach out to your company's Seeq Analytics Engineer on the account to discuss these different options as they will require a little bit of set up time. 

 

Thanks,

Allison

 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...