I would like to share some thoughts about PI calculation datasets in ProcessBook and what would help us to keep – I’d rather say bring - them under control.
Undoubtedly, datasets come in very handy for users to do some simple calculations on the fly. But they are also a challenge for PI administrators when they start to get out of control - I'd almost say they become a mess then.
How did that come about?
In a perfect "PI world" data is accessible by what- and whomever and tag names never change. Users start building displays with calculations and - as they are very handy - they tend to spread more and more all over the company.
In reality we have PI security and systems that change over time. Display builder and user not always share the same access rights. That's the point where it gets weird. Not primarily for the user but definitely for the administrators. Thousands of error messages start to flood the server logs and make them almost unreadable:
User query failed: Connection ID: 6092, User: xxx, User ID: yyy, Point ID: 0, Type: expcalc, …
Users often are not even aware of using datasets. They picked them up with a copied display. Missing data access or renamed points are the most common source of trouble.
Besides a small green spot becoming red (status report) there is nothing that could draw users notice. That's nothing unusual in an extensive display, since this could be also be triggered by a temporary system digital state.
Individual datasets, spread all over the company are not manageable - and that's by far not the only handicap.
How to relieve the symptoms?
First of all, error messages should appear at the place where the error occurs.
It depends on the point of view, what would be the right place in case of calculation datasests.
Technically, the PI server might be the right place, practically and for logical reasons it'd be the client. That's the only place it can be fixed.
Here are my proposals:
Provide options to
- prompt users for calculation dataset problems in ProcessBook
- automatically disable datasets that can't be executed (security, tag not found) in ProcessBook
- suppress those error messages (Point ID: 0) on the server
- disable datasets in ProcessBook (stepwise, e.g. creation, execution, disable)
How to cure?
What I definitely see, is an urgent need (at least in our case) to replace the unmanageable decentralized approach with a centralized one.
This is where AF On Demand Calculations come in.
Anyway, replacing datasets with On Demand Calculations will be a big challenge and there are several topics that need to be discussed, e.g.:
- support for migration from datasets to AF On demand calculations (export)
- how to provide the individual flexibility of personal datasets (may be an organizational matter)
From an administrators point of view the most annoying issue is the log entries for failing calculations in the server log.
500 messages per hour on a 50k server with 100 connected ProcessBooks are more the rule but the exception. An option to suppress those calculation errors with "Point ID: 0" would be a blessing.
A good starting point on the client could be to more obviously make users aware of the problem of failing calculation datasets.
This can (and may be should be) be annoying and therefore an option to disable specific datasets is needed. Together with an option to disable permanently failing calculations automatically this would be perfect.
Finally, a centralized and manageable approach with e.g. On Demand Calculations should be the goal - with benefits for all the new and future clients. Let’s do it step by step.
May be someone wants to picks this up and makes an enhancement request out of it