One of the features of ProcessBook is
to either accept data from an alternate
data source, or to take the raw data from the PI
Server and somehow transform it through some
calculation or expression. And, we refer to these
as Datasets. And generally, in
ProcessBook, Datasets are broken up into
two different categories. We have the
PI Calculation Dataset which can be
either in the form of one of our
canned Standard
Calculations or Free-form Expression,
and we also have something called the ODBC Datasource and --
or Dataset. And the ODBC Dataset
is -- gives ProcessBook
the ability to query
an ODBC Datasource that
would be any other Relational Database
for which you have information.
One of those for that might be that you have your raw
ProcessValues being collected and stored in PI,
but you have your Production Specifications
stored in a Relational Database somewhere,
and you'd like to bring both of those onto a ProcessBook
Trend or Display at the same time.
And, ProcessBook has the ability to do that. S,o
in this section, we are going to talk about both PI
Calculation Datasets as well as ODBC
Datasets.
Before we begin to discuss Calculation Datasets,
we need to discuss Performance Equations.
Performance Equations are Calculations
that are driven on the PI Server
and are usually -- usually manifest themselves
in the form of Performance Equation
Tags. These are tags who take
raw values from the PI Server, perform
some sort of calculations, and write the results of the
calculations to themselves. So people can
query those tags instead of the Raw Value Tags and have to worry about
doing the calculations for themselves. In
ProcessBook, we can use the same Performance Equation Engine
to generate Calculation Results based
on Raw Values on the PI Server. Now, the only thing you'd
have to really remember in the Performance Equation
Syntax is that Tagnames
and Timestamps are both in single quotes
and Strings are in double quotes. So,
if you had an Expression where you were comparing
a Tag Value to a certain Set Point,
you would put that tag's name in
single quotes. If you have a Performance
Equation that requires a Timestamp,
you would put that Timestamp in single quotes. And, if
you were comparing, say, a digital
tag's value to a specific resultant value,
a certain discreet value, you would put that value
in double quotes because it is treated as a String.
All of the standard performance --
all the standard mathematical operators are valid in Performance
Equations. Things like addition, subtraction, multiply,
divide, into the power of -- all of the standard
mathematical functions are
understood by the Performance Equation
Syntax. For example, sine, tangent
square -- things of that nature.
And the Performance Equation Syn...
Performance Equation manifests itself
in the Calculation Dataset by automatically
creating the calculation for a certain
set of commonly-used, standard,
built-in functions. Things like Average, Mean, Max
and Min are all calculated using the Performance Equation's
Syntax and the Performance Equation
Engine. If you need more
details on specific Syntaxes, the Help
File can be found in many locations. It is
installed -- when you,
when you install a PI Server,
the File, PE Help, is there.
And you can download this file from
the Training Website, on the Home Page.
It's available for downloading from there. One small
note, one last note about Expressions in Performance
Equations -- we do support
the IF-THEN-ELSE, and
Logical Structure on the, on the
PI Server. So, for example, IF one
expression THEN set the
tag's Value to the result of another Expression ELSE
a third Expression. For
example, IF tag one is greater than or equals 50,
and Tag Two is less than 125,
THEN set the Value to Under Limit, ELSE, set it to Good.
The only thing you have to remember with
IF-THEN-ELSE statements in Performance Equations
is that we do require all three Operators. We do
require the IF, THEN, and the ELSE Statements.
Some Calculation Engines only require the IF
[inaudible]. However, we require all of them. If
there is no ELSE Function, then use the
NoOutput Function with those word
NoOutput(), one word, with the left and right
parentheses, will tell the system
to do nothing if, or
whatever expression is true.