In the Tags we have created so far
we have kind of ignored the whole topic of what goes in
here, in these Classic Settings, these Location
Codes and these, these InstrumentTags. We have kind of
ignored that. And, the reason we did that is because
we, we actually do not know the answer to that
if you were to ask us, what do we put in there, you know, what do I put in there?
The answer to that really depends on what interface you have.
For example, if you are using the OPC Interface,
what you put for those Location Codes and myInstrumentTag,
that's really going to depend on, on what's
documented here in, in the online documentation. Let me just go
here to the Table of Contents. You
can find, within just about each one of these
interface documents, you will find a section on Point
Configuration. So, if I go down here to Point Configuration
you can see that the answer you get is going to
depend on what interface you are looking at. Now, PointSource is
something that you get to choose. Yeah, if you recall, when
we used Interface Configuration Utility we could choose the PointSource.
But, other things like Location1, Location2,
Location3, etc., well, it's,
it's in general. We have some very specific rules
for, for some of them like Location1 and Location4.
It's very well defined. But, for other things like
Location2, well, that's
just kind of all over the map, and it really depends on the
interface. I know this for a fact because when we
ever -- you know somebody in tech support or field services
going out on a service call to do an installation,
the first thing people say is, what interface are you installing?
Because, depending on what interface it is, that's going to be the
difference between whether, you know, you get finished every
day at 5 o'clock or at midnight, because some
of these interfaces can be painfully difficult
to configure. Now, I will give you an example. We just looked at
the OPC Interface. That's a pretty straightforward interface,
not a lot of tricks to it. But, something like
this, the Bailey Infi90 Interface --
let me go to the Table of Contents here. And, I think
that's also on Page 4. Let's look at
the Location Codes for the Infi90.
Yeah, let me go down here. Location Codes for the Infi90 --
I will tell ya, you really have to know a lot
about the Bailey hardware -- you know, things like the CIU
number, the Bailey PCU
portion of the Bailey address for inputs.
You know, that kind of stuff really requires that if, if you
are not the person at your site who's really familiar
with your control system configuration, you really
gotta get them involved at this point. Now, chances are
they are going to just give you a printout and say, ah,
... see this number right here? This goes in Location1, this goes in
Location2, etc. It's one of those things where, you know, you configure
the first one, and it's pretty difficult. And you configure
the second through the ten millionth one, it's, you know, you can train
a monkey to do it. So, it's not that difficult once you have
got a few under your belt. And, thankfully,
if you have got the field service folks from OSI who
do the install for you, you know, generally, they are not going to create your
whole database but they will create a few examples and then you just extrapolate
from there. So, you know, it's kind of good news and bad
news when it comes to how to configure these interfaces.
In general, we have some very specific
things that, you know, we typically find, but
it's going to differ from interface to
interface. And, the best way to determine, you know,
what you are going to put there is going to be
to look at the interface documentation. Now,
here's an example. This is the OPC Interface. Location3,
in the case of the OPC Interface, is where we
indicate whether this is a Polled or Advise
Tag, and, and also, you can specify Output.
Now, let's just jump over to the Bailey Interface
and let's see if we are using Location3
for that same information.
It is actually it is being used for Inputs
vs Outputs, but, as you can see, we do not have
that option of, you know, Polled vs Advise. So, it's something
that's so specific to the Interface that you'd
better get out the Interface Documentation and read it.
Now, I have jumped back to the OPC Interface
because what I would like to do is go one-by-one through several
of the noteworthy parameters
here, the noteworthy Tag Attributes, and just explain
what they are for each of these Tags, just to use as an example.
Let's start with this attribute
called the InstrumentTag. The InstrumentTag is, is exactly
what it sounds like. It's the name of the piece of instrumentation that
you are getting data from on the DataSource. So, if this were
a traditional distributor control system, this might be
the, the loop name or the tag name or whatever you call
it in your system -- the parameter name, the
cross-directional scanner position -- you know, the, the,
they have different industries. If you are using a Windows Interface
to get data performance counters, this would be the performance counter name.
It's going to be something that says go out and get
this value. It's, it's an identifier that's
local to that, you know, that data source that you are
retrieving data from. And it's going to be essentially the same thing
on just about every interface. So, the InstrumentTag's pretty straightforward.
Now, I do want to mention right at this point, those of you who are,
you know, dyed-in-the-wool instrument technicians or,
or control system engineers, you may
recall that there are many different pieces of equipment
that will have one, say, loop name,
but that loop name has five or six different parameters
or arguments or whatever you might call 'em. It might have
a Process Value but also a Set Point,
a status, a valve output. Those
actually would have to be four or five
separate PI Tags, so if you have many different
things that are brought in by the control system as
a sing..., under a single name, typically you will find
that you would make the Instrument Name the same on all those, and then
some of the other things like Location Codes, for example,
might specify what you are trying to read. Is it the
set point, is it the state, is it the
process value, etc.? Now, the
Extended Descriptor, this ExDesc field, it's a field
that you will find in the Point Builder. If we go
into this General Section, you will find --
here's the Extended Descriptor -- so, each PI Tag has
one. We use it for a couple of different
things in the case of this OPC Interface. And, and there're many
Interfaces that are do, will do things very similar to
this. Now, it's in the Extended Descriptor that we would
specify if this is a Tag that's
being triggered by the activity of
another Tag. Let me try to explain. See this
syntax right here "event equals tagname?" Let me go ahead and
paste that into our Point Definition
under Extended Descriptor. If I were to say
my event equals, you know, Tag
TT115a.pv.
If I were to say that, then
in the case of the OPC Interface, what it's going to do is it's going
to look at the activity of this Tag, and whenever this Tag
gets a new snap -- what we call a snapshot value, a new
incoming real-time value, then that will trigger this
Tag to scan and, and go out
and find whatever the value of its source is. So, now that's
an example of the Extended Descriptor,
just one of the purposes of the Extended Descriptor. Now, you will
find the Extended Descriptor has multi-
functions in many interfaces, and, and, generally those are
delimited by a semi-colon. So, if you wanted to add
that functionality plus other things -- well, let's take a look
at what we can do in the OPC Interface. This is
where you would also put, if you needed to,
a, an Instrument ID that is longer
than the 32-character limit. Now,
now, that's a real obscurity that you will probably never see,
because it just goes back to older versions of the system. But, it's
an example of the type of, you know,
double-duty, triple-duty, quadruple-duty, that's you find
this field being put to at different times.
Here's another example -- this specifying a DZero
for scaled tags. If, if you read the details on this,
you know, when you are bring in some type of scaled tags, you can basically
set -- or you use this as a
configuration field for configuring how we
scale the values coming in from the control system. So,
these are just three -- and I think there are more --
let's see if we find any more. I believe
this is also where we specify the format.
Yeah, this is, this is where we specify
how we read the timestamp under certain circumstances.
Here's a bunch of if's. If you are doing an output tag,
and if you want part of the output going
back to the control system to be a timestamp, than that's
when you get this particular use of the Extended Descriptor.
I think somewhere in here we charitably
describe this as --
I think we say it, it's, it's for advanced configuration.
Well, I would think of it as a dumping ground
for everything that does not fit anywhere else. That
really does describe its use that we have put over the years.
There are, there are just times when there are new
functionalities that we need to introduce, that we use
the Extended Descriptor to implement them. Now, hey,
compare that to this. Here's the Extended Descriptor in the Bailey
Infiniti. Bailey Infiniti just
does not even use the field. Now, since we are talking
really about the guts of, of the configuration
of, you know, data sources right now, this would be
a good time to bring up the
Exception Deviation and the Compression Deviation.
Although I will just mention it in passing really, because we are going to talk a
lot more about that later, you know, in the class.
We talk all about data compression later. But, since we are
talking now about getting data from some data source,
give it some thought that at some point you are going
to want to set some deadbands. For example,
I will say .2 Engineering Units and .4.
So, four tenths of an Engineering Unit for this particular
Tag. These are the two things that we are going to use to help
determine how, how big of a change from one
value to the next we need in order to, to
first of all, bring that into the PI System and, secondly,
in order to store it on the Archive. Anyway, we will talk a lot more about
that later on. But, just keep that in mind. That's very important when you are
configuring these types of tags. Now, of course, you need to
configure a PointSource, and that PointSource needs to
correspond to what you configured when you configured
the Interface. So, going back to my Interface Node
now, here's my Interface Node. As you can see, this
OPC Interface is, has a PointSource of OPC,
so this is where the two of these map up together. And, there's
other things that map that well -- that way as well.
I think I mentioned earlier when we were talking about the OPC Interface,
if I have got multiple copies of the Interface running,
the one way I can distinguish in the,
in the Log which Tags are
configured for one Interface and which for the other
copy, I would do that by this Interface ID.
And that Interface ID maps over here
under the Classic Section to LocationCode1.
That's the most completely universal. You will see that
documented in almost every single one of our interfaces
the same way. Let's see if we can verify
that here. So, if I go into --
... as you can see. Location1 indicates to which copy
of the interface the point belongs. Again, that's,
that's going along with this switch that you are setting
in the interface when you first configure that interface.
Now, and then lastly, we have this thing called the
LocationCode. LocationCode indicates which
ScanClass this particular tag is associated with.
And again, back here on the Interface Node, ScanClasses
are things that you define here. So, I have defined a ScanClass2
that has one-second scanning
and so that means that tag you just saw is going to be scanned
once every second. Now, if I switch that to a ScanClass4,
in LocationCode4, that's going to scan every
two seconds. See, that's, I would put a four in here,
save that, and this is going to scan every
two seconds instead of every one second.
And, finally, there's a field called Scan. It's
kind of pertinent when we are talking about interfaces 'cause this simply
turns the scanning off. If I were to turn that off,
then the tag continues to exist. We can continue to
look at the history of that but it simply will not be scanned
by the interface. Now, just a heads up. If you did not
understand everything that we just went through, please
stay tuned for the next two exercises. We are going to configure a Ping Tag
and then an OPC Tag.