Creating alarm using Apama Analytics

Hi All,

I’m newbie to Apama analytics builder, where I have a complex requirement to create an alarm which is:

  1. We are receiving Realtime data in c8y device (series name “50 HZ - 25500 HZ”) where I have to raise an alarm if the series fragment is below 0.5 range not more than 10 min called it Blade change.
  2. If the series fragment value is below 0.5 range for more than 10 min then raise an alarm and call it Machine Anomaly.
  3. If the series fragment value is below 0.5 range for more than an hour then raise an alarm and call it Machine vibration.

I couldn’t find the perfect block to this requirement, I have tried using crossing counter but it is not giving the correct answer. I’m not using EPL apps. Please suggest.

Thanks,
Saif

Hi,

You can use Duration Block which was added in 10.9 to create timers. So you can have a Threshold Block which starts Duration Blocks (with parameters 600s and 3600s) when the fragment value is below 0.5 and resets them when the value is more than 0.5. This should take care of Machine Anomaly and Machine Vibration.

To generate Blade Change alarm, create a new Duration Block with parameter 600s, and connect it to Threshold Block in a similar way as other Duration Blocks. Add connection between its “Reset” input and output of Duration Block for “Machine Anomaly”. This will make sure that only Machine Anomaly alarm is raised when the fragment value is less than 0.5 for more than 10min. Also add a connection between its “Measure” input and Threshold Block’s “Breached” output. This will make sure that anytime the fragment value is becomes more than 0.5 before 10min, Blade Change alarm is raised.

Thanks

@Saikat_Dey , Thanks for your kind reply. Sure it helps. Can you provide me a screenshot of the model?

Yah sure.


Here Threshold block has direction “Above or Equal”

@Saikat_Dey Thanks a lot!!

Hi @Saikat_Dey , I have tried using this model but I’m facing some issue when the input value has not reached or breached the threshold It is still triggering alarm.
I observe that the duration block is only delaying the threshold value by 10 min and 1 hour, not actually calculating the time elapsed of the value level. That mean if the value is below the threshold for like 2 min it will create an blade change alarm (at top in screenshot) after the 10 min and then it will create the machine vibration alarm after 1 hour.

What I need is, if the value is below the threshold for less than 10 min called it only Blade change if the threshold value is below than 0.5 for like an hour or the value is 0.1 for an hour then called it as Machine vibration. (The value is coming every minute)

Thanks,
Saif

Duration Block has input port reset which deactivates and resets the block. Please make sure that you connected them correctly. Please attach an image of your model if the error still persists.

@Saikat_Dey ,This is the model I’m using by taking reference from your screenshot.


This is number of all the alarm generating from this model

image

where value is constant is around 2.5

Sorry I have no idea what the highlighted value on the graph means. Check Threshold Block’s documentation. Setting direction to “Below” will cause threshold to breach when the value is below the threshold, which means, you create an alarm whenever fragment value goes above 0.5. I mentioned in my screenshot that I am using “Above or Equal” direction You can also swap the wires from “Breached Threshold” and “Within Threshold” to achieve the same effect.