This Step Attribute determines
whether we display the Trends
as a Stair-step Function --as you can see right here,
this would be a Stair-step Function -- or if we
simply connect the dots which is what you are seeing right here. We connect the
dots from here to here, from here to here. So, let me illustrate,
let me go ahead and show you a
Tag Definition. This is the Tag CDT158.
And, if we look at
the actual display of that, here's where it looks -- what it
looks like with Step turned off. What we are doing is, we are
connecting the dots between the actual Archive Values.
Now, if I go in here, into the Archive Section,
Set Step Equal to On, we are going to
save this. Within a few seconds, ProcessBook
picks up that change and it's going to start displaying
this as a Stair-step Function. As you can see, now it's
showing up with a Stair-step Function instead
of the traditional Connecting-the-dots Function.
Now this does have implications
when it comes to how data compression is
done. And we have not discussed data compression yet,
but as we,
as we go through the class, you will notice that we do not store every single Value.
We are storing Values only when they reach peaks
and valleys of ...
Now, not only does this
affect how it's displayed, but there are some subtle changes
to the Data Compression Algorithm.
When a tag has Step turned on,
then the Compression Test is done
more like a straight Boxcar Test where we are
not checking for Slope anymore, we are just checking for
going beyond the Deadband. Now, we have not discussed
Data Compression and Compression Specs yet. We will discuss that later on.
And, at that point, we will mention this again.
There're some other things that are going to happen when you
set Step Equal to On, some other implications. You can
see all these listed in the
Notes Section of your Class Lecture Notes. Now, for example, when
you are doing things like Averages,
we do different types of calculations: Simple Averages vs
Interpolated Av... Averages. When we
set Step Equal to On vs Step Equal to Off,
there's, of course, the Stair-step Line, the Plot
that you can see. So, in general, what we suggest
is any type of laboratory data, manual
entered data of any type, and then the averages,
in addition to Set Points, should be set
with Step Equal to On. And just about every other type of
data should not have Step turned On.
We looked at Point Types a little
bit earlier. Let's concentrate now on some unusual
Point Types. Let's look at Float16 first of all. Float16
is a type of Point that is designed
really to save on disc space and to maintain compatibility
with earlier version of PI.
And it has a couple of advantages. It's smaller, as you would
imply, the name would imply -- a 16 vs a Float32.
But it is not as accurate. It does have some built-in
features. You might be
interested in, kind of,
in clamping on the Zero and Span
of a tag so that the Values -- it's not
possible to go below the Zero or above the Zero plus the Span.
And, a Float16 will do that automatically.
That's, in fact, a restriction. So, you would not have
to build a separate PI Tag in order to make that clamping.
The other this is, it reduces disc space required
because it's, it's just not as big
on disc. Now, some of the reasons you might not want to
do it -- well, the same, same thing you might call a
feature is also a liability. It cannot
archive anything beyond the Span. So,
you know, if you have a Level that goes from zero to 100
percent -- sometimes it may actually, because of calibration
problems, go up to 101 percent or something. Well, this is going to
stay clamped at a hundred percent. And it also does bring
a rounding error. So, unless you have
a specific need, we suggest you really kind of
avoid the Float16s.
Here's an illustration you will find in your book
in the Notes Section. It describes exactly what's going on
with a Float16. With a Float16, you know,
what basically you are going to do is, is when you get a
Value that's a real number -- for example, this 250.9
that you see right here...
250.9 is not how we are going to be storing it in
the System. In fact, what we will do is, we will look at
where that falls on the scale of the
instrument itself -- zero to 500. We will figure out what that is.
That's 50.18 percent of the Range. And we just
map that to the same Range of Zero to 32767.
That's actually two to the 16th,
and then the -- or, excuse me,
two to the 15th -- and we map
that. So, 50.18 percent ends up being
16442. But, in fact, we are storing this as an integer,
so, you have to basically take that off, and that's, that's what
leads to this Rounding Error. So, you do have a Rounding
Error. The Rounding Error is equivalent
to the Span times one over 32767
or, in other words, the Span times --
ends up being .00003.
So, in conclusion, well, we would suggest that,
again, unless you have got some real specific reason,
you do not, do not typically want to go with a Float16.
Put it in perspective, though. Up until,
oh, about, I guess the first, after the first
15 years of the history of OSI, every single PI Point
that had ever been created was a Float16. So, it's not a bad
format, it's just something we do not
strongly recommend anymore. Now, we also
have the choice of between Float32 and
Float64. It really has to do with how much precision you need.
So, for example, Float32
is going to be a Single-Precision Real up to
seven significant digits. So, a number like this,
we are going to end up having
fewer significant digits to display than if you were doing
that same thing as a Float64.
String Tags and
Blob Tags are used for storing, well, out-of-the-ordinary data.
For example, with a String Tag, you can store
Operator Comments. For example,
any kind of manual entries or messages.
That's all something we can put in String Tags
You know, it's not supported by, or
commonly by, all of our interfaces. So, it is something
we have to, we'd have to demonstrate making use of this
using some of our other tools. So, for example, I have got a tag
here called myString. I just created a tag. It's
Point Type is String.
And, here is a, an example
we have available on our
Training Website. This is called Putval
Example1. You will actually find the same type of example
in your own PI, PIPC Directory, under
Excel. There's some examples. This one's just a very simplistic
one. So, what' I would like to do is write the Value
of -- let's write the Value of Test4 of String.
I have already tested this three times. Okay, I would write that
Value to PI. Let me
refresh the screen here. It's at 9:20 a.m.
And we send that to PI. And,
it now has been retrieved -- or been written.
So let's see if I cannot retrieve it. Let me just get the last
one hour of data. I will choose PI,
Compressed Data Start and End Time. So my
Tag Name's going to be there, my Start Time's going to be there.
My End Time is right here. I will show the Timestamps.
And, here it is. As you can see,
that Value of the String has been written. Here are the other Tests that I
did. So, it is supported among our Clients.
And it is a nice mechanism for doing
a type of an on-line log report if you are interested
in that. Now, the second thing
misted here -- listed here, are these Blob Tags, and Blob
Tags, again, that stands for Binary Large Object.
Eventually we'd like to be able to store things like JPEG Files
or WAVE Files. So this is what we envision for the Blog --
Blob Tags.
The DisplayDigits Attribute controls
how we display this, by default, in ProcessBook. Let me show you what
I am talking about. You have a field that takes either
a positive or a negative integer. Positive indicates
number of decimal places. Negative indicates
significant digits. So, for example,
a positive five
would indicate five decimal places for display in ProcessBook.
Now let me show you a new example. If I look at
ProcessBook right now, this is my PI Tag,
and I am
looking here at a display that is probably --
this is showing us five significant digits,
so this is probably set up with a
DisplayDigits negative five. Let's take a look at the definition
of the Tag. Now, I am going to switch over to our PI System
Management Tools, and we will take a look at this tag called
PI SM... -- or, excuse me, CDT158.
This is the PointBuilder, just another
way of editing PI Tags. Now, if we look at
this, you can see -- ... there it
is -- DisplayDigits is set as Negative Five,
Negative Five indicating five significant digits. Let me
change that to a Positive Five. I will go ahead and save the changes.
And look what happens when we change back to ProcessBook.
All of a sudden we are seeing five decimal places
instead of five significant digits. So, this is
going to control that. I will set this back to Negative Five.
Save the changes. And now,
within a few seconds -- there we go. We see this is coming
back using five significant digits at this
point. So, that's how we con... -- or that's what
DisplayDigits is controlling.
Now there are a number of Attributes
that are simply assigned by the system. So, for example,
things like PointID, RecNo, Creator,
CreationDate, Change, or ChangeDate. These are all things that you really do not have
any control over, and you will find those --
every PI Tag has these. It's simply kind of documenting
the, the Creation and
ChangeDate, and also this Internal ID that we use
in some of our applications and our Record Number
for storing in the Archive. So, we do not have to spend a lot of
time working on that.
Lastly, we do have some Attributes
that can control some fundamentals, and they are pretty self-explanatory.
For example, with Scan Equal to
On, it simply means that we are going to be
actively scanning this tag by
whatever interface or application is writing to
that tag. So, Scan Off would effectively
turn -- shut down the interface without deleting it.
Archiving turns On and Off whether we
archive the data or not. And Shutdown --
well, Shutdown works this way. Whenever
the PI Server is shut down, a shutdown event,
which is a Digital State -- simply the word shutdown
is going to be written into the archive at the point at which
the PI Server is shut down for all of the tags
that have that Shutdown Flag Equal to One.
Now there are other mechanisms for
indicating that. For example, we can do
very much the same thing on the Interface Level.
And so, later on, we are going to be discussing, in general,
how to set up these kind of Shutdown Notifications.