How can we improve the PI Server?

Extensible analytics

As a process engineer I would like to be able to integrate complex specific calculations, such as from a 3rd party analytics engine, so that I can use the Asset Analytics and its context with all the available data and scheduling to run those without needing to do custom heavy development.

80 votes
Sign in Sign in with OSIsoft
Signed in as (Sign out)

We’ll send you updates on this idea

AdminTodd Brown (Product Manager, OSIsoft) shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

13 comments

Sign in Sign in with OSIsoft
Signed in as (Sign out)
Submitting...
  • mclark commented  ·   ·  Flag as inappropriate

    Without going into to great detail, I agree with Samuel Clark's comments around the ease of integration. We deployed the Matlab production server and were getting significant value out of the ability to write custom functions to complete the transfer of excel based monitoring to AF- everything from simple solutions like excel's SumProduct, iterative solvers or ML algorithms. These can all be done individually by sending data out with the Pi integrator but they cannot be deployed efficiently or easily by average users

  • Steven Paine commented  ·   ·  Flag as inappropriate

    My organization also uses ACE calculations to perform complex calculations (Utilization, Furnace Efficiency) and would welcome the introduction of a third party analytics engine as an add-on and means to expand the functionality and robustness of AF Analytics. Initial thought was AF Analytics was set to be the heir-apparent to ACE; unfortunately  without the infusion of third party analytics into AF I don't see that happening.

  • Steve Edwards commented  ·   ·  Flag as inappropriate

    Customers doing pattern recognition and prognostics often need multivariable, nonlinear functions to model the physical behavior they see. Extensible analytics keep projects rooted in PI AF and provide feedback to us as to what functions need to be included in our product.

  • Sasha Krivonosova commented  ·   ·  Flag as inappropriate

    In many cases customers need to run complex calculations using python scripts, for example:

    K-means clustering is used for tank leak detection to eliminate false positives;
    Drilling engineers run models against (near)real time data using python code.

    It would be beneficial to have a capability to trigger these calculations (external library) from Asset Analytics and write results to pi tags natively within the same tool, rather then use two different data egress and ingress technologies (ex. combination of Integrator and an Interface).

  • Samuel Clark commented  ·   ·  Flag as inappropriate

    IMO the biggest advantages with the way Matlab Production Server (MPS) integration was implemented were the self-serve user experience of working in PI System Explorer and being able to leverage the existing PI Analysis Service scheduler. Further the use of function calls greatly simplifies the calculation logic as contextual info /metadata doesn't need to be handled in the calculation. For example the context of the calculation is the element whose analysis called the function. The output of the calculation is the output attribute. There is no need to recursively discover or hard code the paths of the inputs and outputs. There is no shortage of ways to extract PI data, run calculations, and write the results back to PI but most of them do not address the above considerations.
    It looked like we had plans to support other generic extensibility points in a similar fashion to the MPS integration and I think it was a very elegant approach that would have provided a true successor to PI ACE.

  • Samuel Clark commented  ·   ·  Flag as inappropriate

    IMO the biggest advantages with the way Matlab Production Server (MPS) integration was implemented were the self-serve user experience of working in PI System Explorer and being able to leverage the existing PI Analysis Service scheduler. Further the use of function calls greatly simplifies the calculation logic as contextual info /metadata doesn't need to be handled in the calculation. For example the context of the calculation is the element whose analysis called the function. The output of the calculation is the output attribute. There is no need to recursively discover or hard code the paths of the inputs and outputs. There are no shortage of ways to extract PI data, run calculations, and write the results back to PI but most of them do not address the above considerations.

    It looked like we had plans to support other generic extensibility points in a similar fashion to the MPS integration and I think it was a very elegant approach that would have provided a true successor to PI ACE.

  • TimCarmichael commented  ·   ·  Flag as inappropriate

    In response to Rick Davin, "Hi Tim Carmichael   Data References alwa..."
    Thank you! Well explained and I agree with your reasoning.

  • TimCarmichael commented  ·   ·  Flag as inappropriate

    In response to John Messinger, "We would like to be able to add custom a..."
    Since I haven't had an opportunity to use MATLAB functions, how does the requested implementation differ from custom data references? And, please excuse my ignorance of the process... I am truly asking to understand.

  • Rick Davin commented  ·   ·  Flag as inappropriate

    In response to Tim Carmichael, "Since I haven't had an opportunity to us..."
    Hi Tim Carmichael
     
    Data References always work on-demand, but an Analysis has the benefit of persisting the output to PI point for history and faster retrieval.  The issue is there are some things that can't be done in Asset Analytics since it lacks a true looping mechanism or conditional branching.  A data reference may access a 3rd party library but configured analytics cannot.
     
    The reason for the proposed idea is to have a standard hooks from Analytics to a calculation service of the customer's choosing (not just MATLAB).  In this use case, Analytics is regulated to be the scheduling service but it shells the actual calculation to an external service.

  • tomasstark commented  ·   ·  Flag as inappropriate

    Hi,
     
    since the integration solution is still up and explained on the MATLAB web site (!), it would be interesting to learn more about why the integration was withdrawn from PI AF 2018 SP2.
     
    We were only a couple of weeks away from buying the MATLAB Production Server...
     
    Regards,
    Tomas

  • messingerj commented  ·   ·  Flag as inappropriate

    We would like to be able to add custom analytics that can be exposed in the same way the Matlab functions were, effectively passing input data to an external calculation engine and then return results to AF Analytics. This would allow us to migrate many legacy ACE calculations to AF Analytics for a number of clients, where we are currently performing complex calculations that are effectively contextual to a specific AF Element. In quite a few of these cases, we have used ACE as a scheduling container, but the code is typically AF SDK in order to interact with the asset hierarchy.

  • Ole_Kristian commented  ·   ·  Flag as inappropriate

    Can this suggestion be re-opened? Now that the MATLAB Production Server is being pulled back.

  • rpalmen commented  ·   ·  Flag as inappropriate

    I'm a bug fan of AF, yet every decent project i needed to create my own external calculation engines for more complex business logic. I've used SQLserver, OLEBDEnt and linked AF tables, or custom C# engines.
    In all cases i would at least get rid of all the technical plumbing of management, scheduling, security, etc., just like the ACE scheduler was.

    So mechanisms to trigger custom logic, supply the data and provide access, and send back the data to AF.

    If needed, i can supply specific examples i've built for customers.

Feedback and Knowledge Base

Posted ideas will have one of the following statuses.
Full definition of these statuses can be found on the Home Page.
No status
NEEDS MORE DISCUSSION
RESEARCHING/EVALUATING
DECLINED
PLANNED
STARTED/IN DEVELOPMENT
IN BETA
COMPLETED