Before you, you know, were to sit down and
learn how to plant an apple tree, you would probably want to know what
an apple looks like. Right? So, it makes a lot of sense for us
to take a look first at what we mean by Batches.
What is the point of a
Batch, or the concept or using Batches in manufacturing?
So, let me show you a classic example we have show for
years. Imagine that you have got
your production cycle spliced or sliced
into campaigns. Those campaigns were
further divided into individual batches of
end products. So, for example, we have got chicken nuggets
here, and here is a specific
batch of chicken nuggets, #124. Now, within
that PI -- what we are calling a PIBatch,
you will also divide
that further into what we call UnitBatches. The UnitBatches
are the different procedures that you do to
produce this batch of product. So in this case, churning, breading,
etc. And then you can divide that further into SubBatches,
and those thing can overlap. So, let's just
pretend that that's how your manufacturing environment
works. You have these repeated events.
This is Batch 123. We basically repeat that to get
124 and then 125. So they are a series of repeated
events. And then within those events, there are other events
that repeat over and over again. You know, each batch has, has its
Churning UnitBatch, its Breading UnitBatch, etc.
Well, would not it be great if you could
compare one of these repeated events to another?
To be able to compare apples to apples exactly
what's going on among these different batches so
that you can spot the batch that's having problems or,
or maybe the spot -- the, the batch that is the golden
batch, the very best batch you ever made, and you'd like to be able to
document what that was and how to repeat it.
So, in order to do that type
of comparison, we use
a client application called the
BatchView Add-in to Processbook and also
an add-in to Excel to do this inside a spreadsheet.
Now, in ProcessBook, what we are talking about is looking at these
individual batches or, or UnitBatches
and, in this case here, each one of these that you are looking at -- that
would be an individual UnitBatch, and
comparing them one to another. Now, these would all have
occurred at different times. So, if
you were to drill down through this -- if you can just barely see the
dates there -- each of the timestamps for the Start and
End of each of these batches are different, because each one
of these bars in the Gantt Chart represents a different
batch. And, likewise, each one of these
trends here is a ProcessValue during one of
those batches. So, for example, this is the pressure and
this is the temperature during a typical batch.
So we have overlaid them all to make comparisons better.
Now, compare that to what you can do in a spreadsheet.
Or, I think it's even more obvious what we are
going after here What we are going after is having a,
kind of a one-stop shopping for all the
information you might want to find out to help compare one batch
to another. So, in this spreadsheet, I have got a nice little
engine going here where I, I simply type in the
name of a unit, for example. A unit would be,
typically. a place in which you actually do the manufacturing,
a physical unit. So, you type in a unit,
and then you see immediately all the different
UnitBatches that were processed
in that unit. And, in this case, we are using an, a
wildcard character which means we get all the
units that begin with the letters R-4.
Now, each one of these is a Batch
Record, and each one of these has a Start Time,
an End Time, an optional Product
ID, a Batch ID,
and there are some other attributes as well that we will get
into later on. The
question always come up -- okay, now that I have this Batch Record,
and, and, please remember, the Batch Record, that Batch
Record, stops right about
here. So, we are not
seeing it -- everything over on this side of this
spreadsheet are part of the Batch Records. What you are
seeing over here are the mappings that we have made
by matching this
right here, this alias name,
and this right here, the -- whoops, excuse me --
the unit name. By doing a simple
match between that alias and the unit,
we can find the corresponding tag name.
So, for example, when we look at, at this
particular unit and we compare it to this alias here,
Level, we come up with this tag name.
As you can see, it's different than the other tag name. So,
these records right here -- these are records that are --
well, excuse me. Let me point this out. These tag names
right here, they are not part of the Batch Database.
However, making use of the aliases
that are associated with these BatchUnits, we can
associate a specific PI Tag
with a specific unit. That's how we make the connection to the
real-time data.
So, what do you do once you have that Tag Name, once
you have these List of Tags that go with each one of these
units here? Well, you can do
really anything you want. The simple example we have here
is we have taken the start and end of this
particular Batch Record. We have used
that, along with the Tag Name, to produce what the average
of that temperature was between, you know, this Start
Time and this End Time right here. So, each one of these
records is going to show us -- I mean, each one of these Batch Records is going to
give us a different answer, of course. That's a
specific batch, this DFR99. During
that particular batch, this Tag Name had that
average. So, that's
the useful, you know, part of going out and finding
these Batch Records. Once you have found them and once you can
map them to a list of tag names, then you can start
producing some statistics. And,
of course, it's, it -- by producing those statistics
that you can make those apples-to-apples comparisons. You know, looking
for the outliers. So,
if this is the goal, how do we get to that goal?
Well, let's take a look at the exercise. In this
exercise, our Objective is that
we are going to build, or configure, the PI Batch
Generator Interface. We know this is PIBaGen,
or we refer to it as PIBaGen. We are going to configure that interface
so that it automatically tracks events and
sub-events related to some unit in the field.
And, it's going to store that in the
PI Batch Records on the PI
Server, so that later, in a,
in a subsequent exercise, we will be able to use the PI BatchView
add-ins to ProcessBook and Excel to go out and find
those Batches that we just saw.
And, you will notice as we do this exercise,
some of the things we are going to have to track in these Batch Records
are Batch ID. Well, every Batch Records has to have a Batch
ID. But, we are going to be tracking Product Name, the Recipe,
and of course, Start and End Times, and every Batch has those two
as well. We are also going to be linking Process
Data to this through the Alias mechanism, and we will explain
more about that later. We will be looking at Concentration Level and
Temperature. Now, the mechanism
we are going to use to do all this is through some simple
configuration. There is an application,
and we will be looking at this in more detail later, but there's an application
called the PI Batch
Generator. Now, this configuration
screen that you see right here -- this PI Batch Generator
Configuration Screen -- let me bring it over here. Now, this
allows you to specify
certain things that are required in order to generate these
Batch Records. So, configuration
is going to be required, and the configuration
is spelled out in the exercise. The
requirements for this exercise are spelled out.
For example, one of the Configuration Points
is something called the Active Point,
or the Configuration Item is something called the Active Point;
and also, the Active Point Behavior.
Now, both of these are spelled out here. The Active Point
is going to be this Tag here, and the Behavior is going to be Pulse.
So let's take a look at what this, this
particular Configuration Parameter is. The Active Point
is really the linchpin for all of the Batch
Activity. An Active Point is
simply this: it's a tag whose behavior
triggers the start and end of batches
in the, the Batch Record Database that we are creating.
In other words, it's the activity of
this Active Point that determines for us
when a batch starts and when it ends.
Now, here's an illustration that explains what this Active Point
is doing. Imagine that this is a PI Tag
whose value goes up in increments.
This is kind of an ideal situation. It's going
exactly one integer up at the beginning
and end of each batch. If you have a tag
like that, it increments in even
intervals, or it increments at discreet
intervals every time a batch starts,
It, it may be something like a Batch ID Number that you get from the Batch
Execution System. If you have something like that, that
it -- you know, the changing of this value signals
the trigger of a new batch and the end of the previous
batch -- then you can set up what we call a
Step Behavior. Step Behavior means
simply it's kind of like a stair-step. Each time
this changes, that starts one batch
and then, when it changes again, that ends the previous batch
and starts the next batch. So, each one,
each time we go through here, that, that's going to
start one batch and end the previous batch.
Now, compare that to the Pulse Behavior. With
the Pulse Active Point Behavior, when the value
changes from a zero state to a non-zero state, that
triggers the start of the batch. The end of the batch does not occur
until that Active Point goes back to a zero state.
So, we have two different mechanisms for the actual triggering
of the batch. And, maybe it's belaboring
the obvious, but remember, each time you start a batch,
that's going to create a new Batch Record. So this is now going to be the
Start Time of that new Batch Record.
The end is going to be the End Time. Now,
the other attributes we were looking at are
all -- well, they are ver...fairly straightforward. They are, they are
PI Tags that will be used to
determine things like the Batch ID
and the Product and the procedure that's associated with
that Batch Record. And all we do is we simply
interrogate the value. We determine the value of this
Tag at the time that the Active Point triggers
at the Start Time of the Batch. So, whatever this value
is, then that's the value we are going to take
at -- it's going to take in the Batch
Record for this, you know, Unit Name, the Product Name, the
Procedure Name, etc. And, we have some bells and whistles beyond that,
and we will get into all that as we go through and take a look at the
configuration. So, that's our exercise.
And what you just saw was the,
the, simply the approach. And you notice there's a little stop sign to warn
you: please, see if you can do it first just using the
Approach. But, if you cannot do it just by the Approach, there is a step-
by-step Solution you will find in the Lab.