Event Frame Analysis for String Attribute / Batch Name

Dear Community,

 

I have an Asset which provides an attribute that contains a batch name as a string. Based on my simulated data, a new batch name is recorded around every minute. During the runtime of a batch, the same name can be recorded several times.

 


TimeSeriesData.png
 

Now I would like to create an Event Frame for each batch, e.g. start the event when the batch name occurs for the first time and end the event when a new, different batch name is recorded.

 

I'm struggling with the start and end triggers for the Event Frame Analysis. I had a try with HasValueChanged('Name'), but since it probably triggers with the same batch name, it doesn't really work. The batch runtime / duration of the Event Frame is 0 seconds for all.

 


EventFramePreview.png
 

How do I have to define the start and end triggers correctly for this? Unfortunately i haven't found a comparable case, although this isn't really a exotic scenario, I think...

 

Kind regards,

David

Parents
  • I hope I understand this right! If I don't, it would help to see the actual expressions you're writing, plus the other EF configurables, such as true for, severity, value at last evaluation/trigger, event triggered or periodic, etc.

     

    With HasValueChanged('Name'), do you mean 'Name' is your tag name? Or is it your event frame name? If it's event frame name I think you need to do HasValueChanged('TagNameFromFirstScreenshot') and not HasValueChanged('EventFrameNameFromSecondScreenshot')

     

    Because you want to know if the value of your tag has changed, not if the name of the event frame has changed; that will be implicitly changed once the value of the tag changes to a new unique string.

    Once you see that the value of the tag has changed, a new event frame will get generated and it should have the appropriate name, which was parsed from the value of your tag at the time of event frame creation.

    Not sure how much you need to meddle with EndTrigger as I think the second the value does change a new event frame should open and the first one should simply close.

     

    I think that HasValueChanged should work, even if there are 10 timestamps for Value, reading as Value1, Value hasn't really changed any of those 10 timestamps. It's not until Value gets a reading of Value2 that HasValueChanged will read as True now.

    It shouldn't matter how long a value is at its value.. if that makes sense.. HasValueChanged shouldn't resolve True until there is divergence in the Value.

     

    Here's a bad paint drawing.


    image.png
    Imagine the blue circles as Produktion-Charge4131043 and the red circle as Produktjon-Charge4131044. When the red dot happens, True should result in the creation of a new EF, and the blue EF should close itself

Reply
  • I hope I understand this right! If I don't, it would help to see the actual expressions you're writing, plus the other EF configurables, such as true for, severity, value at last evaluation/trigger, event triggered or periodic, etc.

     

    With HasValueChanged('Name'), do you mean 'Name' is your tag name? Or is it your event frame name? If it's event frame name I think you need to do HasValueChanged('TagNameFromFirstScreenshot') and not HasValueChanged('EventFrameNameFromSecondScreenshot')

     

    Because you want to know if the value of your tag has changed, not if the name of the event frame has changed; that will be implicitly changed once the value of the tag changes to a new unique string.

    Once you see that the value of the tag has changed, a new event frame will get generated and it should have the appropriate name, which was parsed from the value of your tag at the time of event frame creation.

    Not sure how much you need to meddle with EndTrigger as I think the second the value does change a new event frame should open and the first one should simply close.

     

    I think that HasValueChanged should work, even if there are 10 timestamps for Value, reading as Value1, Value hasn't really changed any of those 10 timestamps. It's not until Value gets a reading of Value2 that HasValueChanged will read as True now.

    It shouldn't matter how long a value is at its value.. if that makes sense.. HasValueChanged shouldn't resolve True until there is divergence in the Value.

     

    Here's a bad paint drawing.


    image.png
    Imagine the blue circles as Produktion-Charge4131043 and the red circle as Produktjon-Charge4131044. When the red dot happens, True should result in the creation of a new EF, and the blue EF should close itself

Children
No Data