End Trigger for Event Frame Generation Analysis not being triggered

I have an event frame generation analysis as shown below:


image.png
It has been capturing event frames as required and worked properly for at least one week. However, recently, some issues have arisen: Event frames are not being captured. In the event frame search, we are able to see that the end trigger of one of the event frames is not being triggered, despite the fact that the "end trigger condition" has been met. This is because we can see that the event frame is still ongoing and has no "end time" indicated.

"Preview results" show that the system is able to correctly capture all the event frames based on the start and end trigger conditions. Backfilling of the analysis also does not solve the problem.

  • I think this might be due to the scheduling. The End Trigger is time-based, while the scheduling is event-based. The End Trigger is when the "Valve Status" state is >= the "close" state for more than 15mins.

    The analysis might not be evaluated frequently enough as it will only do so when the "Valve Status" updates.

    You might have better results running this on a 5 minute frequency, and also changing the End Trigger to >= 900 instead of > 900.

    Be aware, there are two risks with changing to clock scheduled:

    1. It is possible to miss the "open" state if it doesn't hold for at least 5 mins.
    2. The start of the event frame will not be when the "valve status" changed to "open", but when the analysis evaluates this. This could be up to five minutes off.

    You can get the best of both clock and event scheduled by creating an independent analysis to writes a value to a PI point every 5 minutes and including this as an input to the event frame analysis and continuing to use event based. The analysis will evaluate every five minutes based on that value, and additionally whenever the "valve status" updates. You won't miss the valve opening, and it'll check every five minutes to see if it has been closed for at least 15mins.

  • Hi

    Quick tip for you: The 'Preview Results' function runs in your PI System Explorer, while backfilling/recalculating runs in the PI Analysis Service on the server. If the two have different outcomes, I would recommend restarting the one deviating from your expected result. In this case, it would mean the PI Analysis Service. (But since it's easier to restart your client and try the 'Preview Results' again, please start with that)

  • Ok I have another configured another similar analysis for several other elements, but with a different end trigger and they seem to run with no issues:


    image.png
    However, due to the nature of plant operations, I cannot simply configure the end trigger for the reactor to be "valve status" = "close", as doing so would not capture the whole event that I want. (Because the valve does close intermittently during the event, but for short periods each time, but I don't want the event to end during those brief closing periods)

  • Thank you! But what would you attribute this deviation to? Is it a system issue within PI? The interesting thing is that it managed to work properly for more than a week, before the issue started to occur.

  • Thank you for this suggestion. I will give it a try next week

  • Good catch!

    (But why would the 'Preview Results' show EF's captured correctly?)

  • I am having a similar issue.

    I have the same event running in both the test environment and the production environment.

    In the production environment, the event did not complete, while in the test environment, the event completed correctly.

    When I look at the event parameters and look at the "preview results" in the production environment, it says that the event completed correctly.

     

    Event not ended


    image.png
    Preview Results


    image_1.png
     

    Could there be a delay problem on the server and the analysis was skipped?

  • What is your end trigger? When the trigger condition is simple, it seems to have no problem. When the trigger condition involves some more complicated functions, like TimeGE(), then the problem arises. At least that's what I observed...

  • I wasn't using an End Trigger condition, only the Start Trigger condition.

    Now I added an End Trigger to observe.


    image.png
     

    But what intrigued me the most was that on one server the event worked correctly and on another it didn't.

    That's why I thought it could be a case of Skip.