In response to Stephen Kwan, "Is your PI Point configured with "Step" ..."
Yes it is.juergen.b.schmidt shared this idea ·
In response to Stephen Kwan, "Is this a digital tag? If it is not a d..."
In our case right now, it is about the setpoint of a controller. So no digital tag but a tag with Step=1.
However we are also thinking about creating an analysis how often the direction of the controler output changed - here it is not about the number of changes but about how often did the output of a controler change from closing a valve to opening a valve and vice versa.
A foreach loop to access the data would be nice: ForEach(val[i], Array,Function)
In response to Stephen Kwan, "Ok, so you really need to count only if ..."
Our Controller Monitoring by now is based on a daily report (created once a day at midnight) in a third party application. We are thinking about changing this to a reporting of the last 24h either when a user requests data or calculated every hour (if possible) but would be happy already, if we could manage to implement the one time per day report in AF.
So we need to create a retrospective counting either for timerange begin of day(yesterday) to begin of day(today) or now to now-1d.
In response to Stephen Kwan, "I think there are simpler way to accompl..."
That is what I tried but array.length is only correct if there are only distinct values in the array. But if I got the recorded values of a day, chances are high to have the same value with different timestamps. For example due to compmax of 8 hours. If I only want to know how many changes in value have been that day, array.length will result in 3 (12 am, 8am, 4pm) although there have been 0.
I would need a possibility to count distinct values. My Usecase: I tried to implement some sort of Controller Performance Monitoring in AF.
Part of this monitoring is the calculation of Output and Setpoint Changes as well as a service factor of the controller.
For us it is relevant if plant operators use controllers in manual mode or if it is operating in automatic as it should be. Therefore we want to monitor how often the output was changed when operated in manual and how often the setpoint changed when in automatic mode.
As a first shot I created some event-triggered calculation counting the output and setpoint changes dependent on the controller mode. But as we had some performance issues with analysis service running on event-triggered calculations, this is not what I want to rollout for 20.000 controllers.
So I tried to do the same, using Arrays of the recorded values of one day and managed to filter the interesting values (FilterData(Setpointvalues,TagVal('Mode',TimeStamp($val))="AUTO").
But now I can't proceed any further as I will receive a dynamic length array with an unknown amount of same or different values ([T1:V1,T2:V1,T3:V1,T4:V2] - Timestamp and Value). There is no way for me to find out how many different (distinct) values there are.
We are currently researching this item and evaluating it for a future release.
I agree, that this feature is really needed by a lot of users. But it is not only about recreating datasets in Vision but improving the usability of datasets in a trend. I heard a lot of complaints from PI users about how long it takes to build some standard calculations with datasets in comparisson to other trending tools. For some advanced calculations this is all fine, but a lot of users just want to quicktrend the hourly average or interpolated values in a specific interval. There are a lot of trending tools of other applications which allow a bunch of standard calculations with one or two mouse clicks.
Hello Hans-Otto, thank you for this post. This is indeed a good idea we could benefit from.
For a classical PIMS usage we could also think about an AF data reference so that there is no need of copying data again and again.
This feature is heavily needed.
When building up central servers like AF you are facing questions about how you can guarantee that some random changes from one user does not affect the work of another user. For AF itself this can be done by the usage of different AF Databases. But for Analysis we don't have this possibility right now.
A single user could kill the analysis service by the rollout of thousand calculations done eventtriggered (default) instead of periodically. This is quite some risk, different user are not willing to take. Therefore we need to maintain a seperate AF and SQL Server for these users increasing our cost and maintenance efforts unnecessarily.
I completely agree with Wilson. Bringing a first of our 40 plants on our AF Server we already fought a lot of performance issues with PI Analysis. I have no good feeling about setting 39 more customers up on the same AF Server. Also for such a Setup - with just one analytics Service, performance issues of one customer will have Impact on calculations of other plants and managebility gets worse with every new plant. How are you supposed to know which calculations may cause errors when 80 different people create calculations in different AF databases.
We have the same request from one of our customers. They are monitoring their filling line and want to Dashboard which line is currently busy with which order and how much already has been filled.
With additional attributes in the Event Table, they could easily show that with just one query.
that is a good Idea and just what I am looking for at the moment. Currently we create some batch reports in event frames, stating the runtime, the product quantity and the educt quantity. Now I would like to sum up the educts and product amount over every batch finished on a day for reporting those values back to SAP. Unfortunately I need to create some new analysis doing those calculations for me at the moment
At this time, this item is not currently scheduled for a release of PI Vision. If this changes, this item will be updated to reflect the current status.
87 votesRESEARCHING / EVALUATING · 14 comments · PI Server » Analytics & Calculations · Flag idea as inappropriate… · Admin →
I agree. As an Administrator who needs to deal with PI and IP.21 Systems I got that feedback quite often from different users. It is only a small feature but it is often used and does make a difference in the user feeling if you can trend an hourly average within 2 clicks or if you first need to create a calculation.
I would be interested in the current Status of this request. We are also facing a Project where we would like to define child Event Frames in AF Analysis as this is much more userfriendly for plant Operators than PIEfGen.
Also we would need an option to define a stepped start signal for Analysis.