is it possible to override start time and end time of eventframes with PI Asset Framework in the analysis template?
Yes, it is possible. But it's not a common request and you should check the EF Trigger procedure instead of keeping modifying them.
thank you for your reply!
But I want not to change time of one eventframe but of all eventframes generated from a eventframe analysis.
Is there a way to do this?
The background is that the start time that is to be written is the result of another analysis and is saved on the elements as an attribute. The start trigger event always occurs a little later.
I think the easiest way to do this is to configure an expression analysis with a timestamp override outputting to an attribute with a PI Point data reference.
I'd recommend creating a user voice request with this and detail your use case there!
User Feedback for OSIsoft Products and Services
an analysis that overwrites attributes already exists. Works well. One of these attributes, a timestamp, should be the start time of the event frames of the event frame analysis. How can I overwrite starttime with this attribute?
Unfortunately, the reason for that is difficult to explain.
It's possible to develop a custom application using AF SDK to apply the changes you need.But, according to the information you shared the best solution is to change the trigger procedure.
As you said the trigger timestamp is written on an attribute, then why you can't set this attribute to trigger the EF?
Maybe if you share the analyses/EF requirements we may offer better ideas.
I'm also not sure why a timestamp override expression analysis isn't working for this. Can you share the EF configuration and the expression analysis configuration (especially the scheduling and advanced option showing the output timestamp override)? Please make sure to remove any sensitive information!
Okay, I try to explain it.
I have a production line that cuts steel into sticks. The stick number is only known at the time of cutting, but is required in the individual stations (elements) in the production line at the time of pouring, the time in which the still liquid steel flows through the element before it is cutted. The time of pouring and stick number are calculated from an expression analysis and saved as an attribute (reference pi point) on the elements.
Now i need event frames for the stick numbers with the beginning and ending at the time of pouring, not at the time of cutting.
That's why I want to override the cutting time with pouring time in the eventframes.
The start trigger of the event frame analysis is the change in the stick number that occurs at the cutting time.
I hope this can be understood despite my bad english.
Provided that you can determine when the pouring time is, you can add it to an analysis and use it as the timestamp of the output value. You can then trigger the Event Frame analysis from this output which will cause an EF to be created with the output timestamp override value which is the pouring time. This is the option in the UI:
thanks for your quick reply!
I already have that. See here:
But how to set this timestamp as the starttime and endtime of the event frames of another eventframe analysis?
If the event frame is triggered by this analysis it should use that timestamp for the start time. Do you want the end time to be the same timestamp?
Can trigger a event frame by the output of a expression analysis? And if so, how?
You can use your attribute GiessZeitpunkt.GZ as part of the EF trigger. Or you can create an appropriate numeric output that uses GiessZeitpunkt as it's output timestamp and trigger off of this numeric attribute.
Are you saying that your event frames will be continuous (i.e., back-to-back with no time gaps in between)? If so, you should look at the Step trigger modes of the Event Frame Generation Analysis:
thanks for your help.
That means, I can use the generation mode "pulse" to catch the change of an attribute (PI Point) and generate event frames? Do I understand this the right way?
If so I try this :-)
With pulse triggering, the change from zeroth state to something else will start the EF and the change back to zeroth state will end it. So in a simple case where we see square waves with minimum value of zero and maximum value of one, let's say the data looks like this:
Then you would have an EF that starts at 1:00 and ends at 2:00. Is this what you are after?
It seems clear that you want the EF to start at the pouring time, but when should they end? At the cutting time? Can you provide some clarification on this and your earlier statement:
"i need event frames for the stick numbers with the beginning and ending at the time of pouring"
Are you saying you want zero duration event frames, where the start and end times are both equal to the pouring time?
starttime and endtime should be the pouring time not the cutting time. But not the same timestamp but the next.
So the Data looks like this:
starttime (pouring time) endtime (pouring time) stick (Cutting Time)
00:00 05:00 1 06:00
05:00 11:00 2 11:50
11:00 15:00 3 16:00
The stick number and pouring time are calculated from the expression analysis at the cutting time. The time range of the event frames should be from the pouring time of stick to the pouring time of the next stick. .
Ah, thanks. Sometimes all we need is a little example data to help clear things up. I'm assuming that the stick number values are timestamped at the pour time if I understood your expression analysis correctly. With this setup, the implicit trigger mode of Step Continuous should work if you trigger it on the Stick Number attribute. With this configuration, every time the stick number changes, the current EF is closed and a new one is opened.
What are the start and end triggering conditions of the Event Frame? I can show you an example, I just need a little bit more information!
here the eventframe analysis for sticks (knüppel):
the event frame analyzes for charge and sequence are analogous to this.
The expression analysis for write charge, sequence, stick (Knüppel) and pouring time (Gießzeitpunkt) is "Stahlwerk Knüppeldaten Gieszeitpunkt": that:
The output-variable for all generated PI Points is pouring time (Gießzeitpunkt):
Do you have to have the Event Frames generated in real time? A possible solution is to generate the event frames by executing a recalculation.
Retrieving data ...