Batch_Execution_Application_Guide
Batch_Execution_Application_Guide
6
Application Guide
No part of this publication may be reproduced in any form, or stored in a database or retrieval system, or transmitted or distributed in any
form by any means, electronic, mechanical photocopying, recording or otherwise, without the prior written permission of General Electric
Company. Information contained herein is subject to change without notice.
Trademark Notices
GE, the GE Monogram, and Predix are either registered trademarks or trademarks of General Electric Company.
Microsoft® is a registered trademark of Microsoft Corporation, in the United States and/or other countries.
We want to hear from you. If you have any comments, questions, or suggestions about our documentation, send them to the following email
address:
doc@ge.com
Table of Contents
About This Guide .............................................................................................................................. 1
VBIS .............................................................................................................................................. 7
OPC Specification......................................................................................................................... 9
Unit.......................................................................................................................................... 13
Recipe Management............................................................................................................... 17
iii
Application Guide
Unit Supervision...................................................................................................................... 22
iv
Table Of Contents
v
Application Guide
Audit Reporter......................................................................................................................... 62
Assistance .................................................................................................................................. 67
Index ............................................................................................................................................... 77
vi
About This Guide
This guide provides an overview of GE's Batch Execution software by introducing the major concepts
and functionality in Batch Execution. It is intended for users who are interested in understanding the
application of Batch Execution, engineers who are responsible for designing and configuring a Batch
Execution system, and users who need a general overview of the ISA S88.01 standard.
Reference Documents
Refer to the following Batch Execution manuals for detailed information on configuring and using
Batch Execution. These manuals are available in electronic form. You can access these books by
selecting Electronic Books from the Batch Execution program group or from any Help menu.
Also, refer to the standard, ISA-S88.01 Batch Control Part 1: Models and Terminology, for further
information on this standard as defined by the SP88 committee.
What's Inside
1
Application Guide
Icon Index
The icons for the following applications can be found in the Proficy Batch Execution Program group,
accessed from the Desktop or the Start menu. The table that follows describes where to find more
information for each application.
Equipment Editor
Equipment Configuration
Manual
Recipe Editor
Recipe Development Manual
WorkInstruction Editor
WorkInstruction Manual
2
Application Guide
Audit Reporter
Electronic Signatures and
Auditing
• Develop your equipment configuration and recipes from a single intuitive location, the
Proficy Batch Execution WorkSpace.
• Use Active Binding™ to maximize equipment productivity.
• Integrate with HMI and SCADA packages, including GE's offerings.
• Use VBIS to integrate batch data and recipes into your Enterprise Resource Planning (ERP)
system.
• Use the ActiveX controls supplied with Batch Execution to create a customized Client
application.
• Use Active Journaling™ to capture data in real-time and store electronic batch records in your
relational database. Comply with regulatory agencies by generating customized batch reports
from this data.
• Advance your batch automation system with the latest manufacturing technology based on the
OPC (OLE for Process Control) specification.
The following sections introduce some of the key Batch Execution features.
3
Application Guide
Scalability – additional clients and servers can be added to your process, if necessary.
Flexibility – open and vendor-neutral data lets you integrate Batch Execution into your
manufacturing enterprise systems.
In addition, if you incorporate an HMI or SCADA system, such as the Proficy family of software, your
batch solution can include:
The Batch Execution Server is the batch engine that coordinates the function of your recipes, area
model, and each Batch Execution Client during production. The Batch Execution Server also generates
batch event data and communicates with iFIX SCADA Servers, the relational database, and OPC-
aware process hardware.
In general, Batch Execution supports one or more Batch Execution Clients. An operator manages and
controls batches using the Batch Execution ActiveX controls or the Batch Execution Client
application. When a Batch Execution Client is implemented within iFIX using the Batch Execution
ActiveX controls, operators can monitor process values residing in the iFIX process database directly
on the same screen. Operators using the Batch Execution Client application can also run iFIX
separately.
The Batch Execution Development node is used to develop recipes and the area model. During the
development phase of your implementation, you can model and test your process using the Soft Phase
Server.
4
Application Guide
iFIX SCADA is the application component that provides monitoring, supervisory control, alarming,
and control functions. It guarantees the absolute integrity of data and provides complete distributed
networking capabilities.
iFIX HMI is the "window into your process." It provides all the tools you need to develop pictures that
operators can use to monitor your process.
• Use the Windows 2003 or Windows Server 2008 (Standard or Enterprise Edition) operating
system on the iFIX Terminal Server computer, as outlined in the iFIX electronic book.
5
Application Guide
• Install the Batch Execution Server on a computer that is separate from the iFIX Terminal
Server computer and Terminal Server Client computers.
• Install the Batch Execution Client Components on the iFIX Terminal Server computer. Do not
install or use the Batch Execution Server or EIB Server on the iFIX Terminal Server
computer.
• Use only the Batch ActiveX Controls from the iFIX WorkSpace on the iFIX Terminal Server.
Be aware that the following applications are NOT supported on the iFIX Terminal Server computer:
For information on the supported terminal server configuration, refer to the Using an iFIX Terminal
Server section of the System Configuration manual. For information on how to configure the iFIX
Terminal Server and the Terminal Server Clients, refer to the iFIX Using Terminal Server electronic
book.
6
Application Guide
In the figure illustrated above, you can see that Batch Execution integrates all the necessary
components for batch solutions within its environment. A detailed discussion of the Proficy Batch
Execution WorkSpace and its components is presented in the Developing a Batch Execution Project
section.
VBIS
As illustrated in the following figure, VBIS is a collection of automation interfaces that allows external
programs to monitor and control Batch Execution. Within VBIS, services are provided in a number of
functional areas including recipes, the area model, scheduling, and batch execution.
VBIS Architecture
ActiveX Controls
Batch Execution supplies a set of ActiveX controls that you can use to extend the power of Batch
Execution. You can use these controls as an alternative to the Batch Execution Client application. You
can "drop" these controls into any ActiveX control container, such as:
7
Application Guide
You can also integrate these controls into custom applications. Each control provides programmability
through OLE automation. This allows you to take advantage of the ActiveX control's features through
the Microsoft Visual Basic or Microsoft ® Visual C++ ™ programming languages.
The Batch Execution ActiveX controls run as clients of VBIS. There are two modes of use for the
ActiveX controls: Run and Design. Run mode is when the control is being used at run time, such as
when the control is run from a web page. During Run mode, there must be a connection to VBIS,
either locally or remotely, over a network. Design mode is when a user has inserted the control into
Visual Basic or Visual C++ to design the control, or into the Proficy iFIX WorkSpace in configuration
mode. A connection to VBIS is not necessary during Design mode.
Refer to the Custom Applications e-book for more information on VBIS and the ActiveX controls.
• The models and terminology outlined in the ISA S88.01 Batch Control Part 1: Models and
Terminology standard.
• Sequential Function Chart (SFC) symbols as defined in the International Electrotechnical
Commission (IEC) 1131-3 standard.
The ISA S88.01 standard defines a consistent set of terminology and models used to define the control
requirements for batch manufacturing plants. Batch Execution is designed using these models and
incorporates the terminology defined in this widely-accepted standard. For more information, refer to
the Batch Execution and the ISA S88.01 Models section.
The IEC 1131-3 international standard defines the syntax, semantics, and display for a suite of PLC
programming languages, including Sequential Function Charts (SFCs).
In Batch Execution, recipes are developed and built using SFCs. SFC programming offers a graphical
method for defining the logic of a recipe. The three main components of an SFC are steps, actions, and
transitions. Steps are sections of logic, such as an operation in a recipe, that accomplishes a particular
task. Actions are the individual aspects of that task. Transitions are the mechanisms used to move from
one step to another.
8
Application Guide
Batch Execution provides enabling technology to assist you with 21 CFR Part 11. This assumes that
the end user's Best Practices, Corporate Policies, or Standard Operating Procedures (SOPs) are in place
to enforce security measures and ensure the safeguard of electronic records and signature information.
You can also use WorkInstruction for capturing electronic records in lieu of paper records during the
execution of a batch.
OPC Specification
Based on Microsoft's OLE (Object Linking and Embedding) technology, OPC (OLE for Process
Control) provides greater interoperability between control applications, field systems and devices, and
front office/backoffice applications. OPC servers, such as DCSs, PLCs, smart field devices, and
analyzers provide real-time information and can communicate directly with Batch Execution.
The Proficy Batch Execution Server is an OPC 2.0 DA enabled client, which lets Batch Execution
retrieve data from any OPC 1.0 or 2.0 compliant data server, such as the iFIX OPC servers or the
CIMPLICITY® HMI OPC server.
Be aware that Proficy iFIX currently includes an OPC 1.0 and OPC 2.0 server:
You can find more information about OPC on GE's web site at:
www.ge-ip.com/support
For more information on the application of the demo project, refer to the Exploring the Sample
Application section.
9
Application Guide
NOTE: The information in this Application Guide is not intended to replace the ISA S88.01 standard
and does not represent a complete discussion of the information provided in the standard.
For information on obtaining a copy of the standard, access ISA's web site at:
http://www.isa.org
S88.01 Objectives
The S88.01 standards committee worked to develop a standard that provides manufacturers with the
tools they need to analyze their existing process and to quickly add new products. The objectives of the
S88.01 standard are to:
• Provide a common, consistent model for the design and operation of batch manufacturing
plants and batch control systems.
• Improve control and efficiency in batch manufacturing processes.
Models
In order to understand this model, the following significant models are discussed in the sections that
follow:
Physical Model – defines the hierarchy of the equipment used in the batch process.
Control Activity Model – defines the relationships between the various control activities required
to perform batch processing.
Procedural Control Model – defines the control that enables equipment to perform a process
task.
Process Model – defines the results of performing procedural control on the equipment in the
process.
These models are designed to help you define the available equipment, recipes, and the steps involved
in manufacturing a product.
Performing this task requires you to have a clear understanding of the purpose of each piece of
equipment in your plant.
10
Application Guide
The S88.01 Batch Control Standard presents the following guidelines to define equipment:
• Define each piece of equipment to perform a distinct and consistent task, regardless of the
product being manufactured.
• Define each piece of equipment to work independently.
• Establish a consistent set of rules to prevent confusion.
Each level in the Physical Model and its application to Batch Execution is described in the following
sections.
11
Application Guide
Process Cell
A process cell consists of all the production and supporting equipment necessary to make a batch. In
Batch Execution, you define a process cell class to set properties that are inherited by all process cell
instances. Process cell instances contain the equipment-specific settings for the process cell.
The ISA S88.01 Batch Control Standard defines three types of process cell structures:
Single path – A single path structure is a group of units through which a batch passes
sequentially.
Multiple path – A multiple path structure consists of several single path structures in parallel,
with no product transfer between them.
Network path – In a network structure, the paths may be either fixed or variable. If the path is
variable, the sequence is determined at the beginning of the batch or during batch
production. If the paths are fixed, the same units are used in the same sequence.
As described above, a network path structure allows a batch to follow multiple execution paths through
a process cell. To ensure that batches execute on a valid path, Batch Execution lets you configure the
equipment paths that a batch can follow. When equipment is allocated to a batch, Batch Execution
checks that the selected equipment is part of a valid execution path.
The example, shown in the following figure, illustrates the units contained in the process cell for the
demo application. This process cell is a multi-product, network path structure. Making a batch of
toothpaste, regardless of the flavor, can have multiple paths. Raw material ingredients are first
transferred into two mixers, where they are agitated. Next, the ingredients from the mixers are
transferred into the Reactor unit, where they are combined to produce the final product.
The following figure highlights one of several paths the batch can take. In this example, ingredients are
transferred into MIX2 and MIX3, where they are agitated. After agitation, the mixtures are transferred
into REACTFLAVOR.
12
Application Guide
Unit
A unit is a major piece of equipment in a process cell that performs a specific task. It consists of all the
equipment and control modules that are needed to perform this task. In Batch Execution, you define a
unit class to define properties that are inherited by all unit instances. Unit instances contain the
equipment-specific settings for the unit.
When defining the units in your facility, use the following guidelines:
The following figure illustrates the unit for mixer, MIX1, of the demo application. MIX1 is one of
three units in the MIXER unit class in the demo application. Note that the unit consists of several
smaller pieces of equipment that are controlled as a single piece of equipment. The valve (XV101) in
this example is included in the mixer unit definition. If its function was more dependent on the storage
tank, it would be included in the RAW unit definition.
13
Application Guide
Equipment Module – consists of equipment and control modules that together perform a minor
processing task. In Batch Execution, you define an equipment phase class (standard or
Batch Direct) for each phase required in your process. Each instance of the equipment
phase class represents an equipment module.
Control Module – consists of sensors and other control modules that together perform a specific
task. Control modules perform regulatory or state control over their constituent parts. In
Batch Execution, you can define control modules as a common resource. You can assign
the common resource as needed equipment to a unit or an equipment phase.
The following figure shows the equipment phase classes that are defined to execute the equipment
modules on the MIXER unit class. These definitions apply to all instances of the MIXER unit class, as
the figure illustrates.
14
Application Guide
The following figure illustrates the equipment phases for the MIX1 unit instance of the demo sample
project.
Batch Execution lets you create a standard set of reusable logic that you can incorporate into the
recipes of multiple products. Batch Execution lets you develop and manage phases, operations, unit
procedures, and procedures. The following figure illustrates the Procedural model hierarchy.
15
Application Guide
The following figure illustrates the procedure, unit procedure, operation, and phase hierarchy of the
sample toothpaste procedure, Make_Toothpaste.
16
Application Guide
Batch Execution provides you with the tools that allow you to control your batch process, including
tools to create recipes, schedule batches, store batch data, and manage the process. The figure in the
Recipe Management section illustrates the areas of this model that are provided by Batch Execution.
The following sections describe the functionality defined by the Control Activity model, and the
methods that Batch Execution incorporates to provide this functionality.
Recipe Management
Recipe Management is the practice of creating, storing, and maintaining general, site, and master
recipes.
Recipes, consisting of a procedure, header data, equipment requirements, and a set of parameters, are
defined in Batch Execution using the Recipe Editor. Only recipes that are specified as "released" are
made available to operators for production.
Batch Execution lets you manage recipes as either file-based or SQL-based formats. Batch Execution
stores file-based recipes on the local hard disk or on a network drive. SQL-based recipes are stored in
your relational database, where they can be integrated into your Enterprise Resource Planning (ERP)
system. When setting up a Proficy Batch Execution WorkSpace project, you select the storage type
(file or SQL) for the project's recipes.
17
Application Guide
The S88.01 standard defines four types of recipes that a batch process can use. The Batch Execution
and Recipe Types figure illustrates these recipe types.
General Recipe – defines the recipe as site and equipment independent. The general recipe
provides a very high-level view of requirements for producing a product that can be used at
many different sites. It includes general information on required equipment, raw materials,
and the procedure without regard to production specifics. This version of a recipe is usually
created by a corporate chemist.
Site Recipe – derived from the general recipe by a process engineer, it includes information that is
site specific. The site recipe translates the general recipe into a more specific version that
allows for the types of equipment and raw materials that are available at the site. This
version of the recipe is designed to be used in many different process cells.
Master Recipe – derived from the site recipe, it includes process cell-specific information and
accounts for actual equipment capabilities. Created by the control engineer, it is designed to
be used on many different lines within the process cell.
The Batch Execution Recipe Editor provides you with the tools to create master recipes for
your products. A master recipe typically includes a procedure, a header, a set of parameters,
and equipment requirements.
18
Application Guide
Control Recipe – created from the master recipe when a batch is scheduled for production, it
defines the manufacture of a single batch of a specific product.
This control recipe is the most specific version of the recipe. It is created when a batch is
scheduled and includes information that is specific to the equipment on which the batch is
produced and the raw material that is used.
When batches are scheduled for production, Batch Execution automatically creates a control version of
the master recipe. The control recipe contains specific information for the batch. This includes the
recipe parameter values and the equipment on which the batch executes.
Recipe Contents
Each recipe, regardless of its type, consists of four parts that, when combined together, provide all the
information needed to produce product. The following figure illustrates the recipe contents.
19
Application Guide
The Batch Execution Recipe Editor builds master recipes that are used in batch production. Master
recipes that are configured as released to production can be scheduled for production by operators.
In Batch Execution, each recipe level (procedures, unit procedures, and operations) is considered an
individual recipe. As such, the components that make up a recipe are defined for each level. This lets
you:
Header – contains all administrative information for a recipe including the name, version number,
author, and the issue date. Batch Execution maintains administrative information, including
the recipe and product names, the author's ID, area model name, origin and verification
dates, and the default batch size.
Parameters – contains a list of process parameters such as mixing time or temperature. In Batch
Execution, each parameter is defined with the Equipment Editor and is associated with a
specific phase. Refer to the Equipment Configuration Manual for information on defining
process (phase) parameters, and refer to the Recipe Development Manual for more
information on working with parameters.
Equipment Requirements – defines a list of the equipment that is required to produce a product.
In the site and general recipes, this list is a general guideline. In Batch Execution, the
master recipe contains a set of constraints to determine which equipment may produce the
product. The control recipe, created at run time, defines the specific equipment that will be
used to produce the batch.
Procedure – defines the process strategy. General and site recipes include procedures based on
the Process model. Master and control recipe procedures are defined using the structure
defined in the Procedural model.
In Batch Execution, a procedure defines the unit procedures, operations, and phases that are
executed on the equipment specified in the recipe's equipment requirements. In Batch
Execution, each level of the procedure is considered a recipe. This lets you reuse unit
procedures and operations in multiple procedures. Batch Execution also lets you create class-
based recipes that you can execute on any unit of the class defined in the equipment
requirements.
20
Application Guide
Production Schedule
Batch Execution provides production planning at the recipe level, which allows you to schedule batches
for production. You have two options for scheduling batches for production:
• Operators or plant supervisors can add batches to the Batch Execution Client's Batch List
using the Add Batch command. Additionally, Batch Execution supplies a BatchAdd ActiveX
control from which operators can add batches, as well as a BatchList control that provides
similar functionality to the Batch Execution Client's Batch List.
• Integrators can create a campaign manager using VBIS. VBIS lets you create a custom
application that interfaces with the Batch Execution Server application. Refer to the Mastering
Batch Execution section for more information on developing custom applications using VBIS.
Equipment Availability
When using a class-based recipe in automatic mode, Batch Execution automatically allocates resources
to batches based on (1) the equipment requirements defined for the recipe, (2) the equipment properties
in the area model, and (3) the real-time conditions on the plant-floor.
During batch execution, Batch Execution ensures that the equipment is available and, if it is currently
in use, does not allocate the unit to the batch until it is released by the previous batch. To determine the
availability of units, you can configure UNIT_READY and UNIT_PRIORITY tags for units in the
area model. Prior to allocating a unit to a batch, Batch Execution checks the values of these tags to
determine which units are available. For more information on defining these tags, refer to the
Equipment Configuration Manual.
There are several approaches that you can take to ensure that the necessary raw materials are available
to execute a batch. You can:
Process Management
Process management controls batches and resources within a process cell. Process management
consists of the following control functions:
• Manage batches by creating a control recipe from the master recipe based on scheduling and
equipment information.
• Manage process cell resources by allocating, reserving, and arbitrating conflicts for the
equipment required for batches.
• Provide batch and process cell information to Production Information Management.
21
Application Guide
Batch Execution manages the manufacturing process by creating control recipes from the master
recipes that are scheduled for production. All the necessary equipment entities are allocated, arbitrated,
and controlled using the control recipes and the arbitration information defined for the equipment.
Unit Supervision
Unit supervision ties the recipe to equipment control. The main control functions performed as part of
unit supervision include the following:
In Batch Execution, the equipment requirements defined in the recipe procedure determine which units
a batch can use. For class-based recipes, the equipment requirements also define how to select which
unit instance to bind to a unit procedure. During batch execution, Batch Execution allocates the
selected units to the batch. The operations, defined in the recipe procedure, are run on the allocated
units.
Process Control
Process control provides regulatory and discrete control at the unit, equipment module, and control
module levels. Process control provides the following control functions:
The Batch Execution Server performs supervisory control on the equipment modules. Each equipment
phase defined in the area model is tied to the equipment module on which the phase executes. Requests
and commands defined in the phase control logic cause changes in equipment and process states.
Batch Execution uses Active Journaling™ to write batch event data, in real-time, to a relational
database. You can then access this data using your company's analysis tools. Refer to the Reporting
and Analyzing Production Data section for more information on Active Journaling.
22
Application Guide
Process Model
The Process model is a result of performing procedural control on the equipment in the process. The
Procedural Control model, when mapped to the equipment, provides the processing functions
described in the Process model. The relationships between the Procedural Control model and the four
lower levels of the Physical model that produce the Process model are shown in the following figure.
The process model consists of the following levels:
Process – is the production of a batch using the available equipment. A process consists of a
procedure run on a process cell.
Process Stage – is a set of process operations. A process stage results from performing a unit
procedure on an equipment unit. A specific set of operation instructions is included in the
unit procedure. When a unit is allocated for a particular batch, it executes the instructions
using any additional parameters passed to it at execution time.
Process Operation – consists of a set of process actions. A process operation typically transforms
material from one state to another. It can be achieved by running an operation on a unit.
Process Action – is a minor processing task. A process action can be achieved by running a phase
on either a unit or an equipment module.
23
Application Guide
The Batch Execution documentation uses this application to explain Batch Execution concepts and to
provide detailed examples. You can use the demo as a reference when developing your own Batch
Execution application. Use the demo project to explore Batch Execution from the development to the
production stages of a batch manufacturing environment, including:
You can open the sample project from the Proficy Batch Execution WorkSpace. The project files, by
default, are installed into C:\Program Files\Proficy\Proficy Batch Execution\PROJECTS.
24
Application Guide
The following subsections describe these tasks for the sample toothpaste application. When you have
completed the design strategy for implementing Batch Execution, you can begin equipment and recipe
development. These tasks are described in the Developing a Batch Execution Project section.
1. Add raw material ingredients that comprise the base of the toothpaste into a mixer. The raw
material ingredients are baking soda, fluoride, gum, alkaline, and water.
2. Add raw material ingredients that comprise the flavor of the toothpaste into a mixer. The
possible flavors are wintergreen, spearmint, peppermint, and bubble gum. All flavors also
require a whitening agent.
3. Agitate the base ingredients at a specified speed and duration. While agitating, cool the
mixture to a specified temperature.
4. Agitate the flavor ingredients at a certain speed for a specified duration.
5. Test the pH value for the base mixture. If the test results are not within tolerance, add
corrective ingredients.
6. When both the base and flavor mixtures are complete, transfer the mixtures into the reactor.
7. Agitate the mixture in the reactor at a specified speed and duration. While agitating, aerate the
mixture.
25
Application Guide
Equipment Requirements
The production facility contains one process cell consisting of several production lines. Based on the
production requirements of the flavored toothpaste process, a line must include:
Based on the P&ID in the Sample Toothpaste Application P&ID section, you can divide the process
cell into several production lines. Depending on how the recipe is configured, either the operator or
Batch Execution can choose the production line based on what mixers are currently available.
26
Application Guide
Other Samples
In addition to the Sample Application, Proficy Batch Execution provides other samples for:
• ActiveX Controls – HTML, Visual Basic, and Visual MFC sample projects that you can use
to build and test the Proficy Batch Execution ActiveX controls.
• VBIS – Sample applications that demonstrates the VBIS API, a sample campaign manager
that uses VBIS, and an EWI Test.
• PLIs – Sample PLI ladder logic for the following programmable controllers:
• The Allen-Bradley ™ PLC5 Series (PLI_REV2_06.RSP). This PLI was written in
RSLogix ™ 5.
• The Allen-Bradley ™ SLC/500 (PLI_REV2_06.RSS). This PLI was written in
RSLogix 500.
• The Allen-Bradley ™ ControlLogix Processor (PLI_REV4_00.ACD). This PLI was
written in RSLogix 5000. This sample uses Data Structures or Direct Addressing. It
does not use PLC-5 addressing (recommended), and instead uses RSLinx as an OPC
Server providing information directly to Batch Execution.
• The Allen-Bradley ™ ControlLogix ™ Processor (PLI_REV2_06.ACD). This PLI
was written in RSLogix 5000. The sample provides a more robust communications
method using Allen-Bradley driver and RSLinx ™ through Proficy iFIX as opposed
to OPC directly to RSLinx.
• The Siemens S7-300 and S7-400 PLCs (S7_pli_6.zip). This PLI was written with
Siemens Step 7 Series software.
• WorkInstruction – Demo project (EWIDemo.wkb) that demonstrates how to use the
WorkInstruction feature. It inlcudes two sample EIBs and a Microsoft SourceSafe database
that is installed along with the product. Refer to the section WorkInstruction Demo Project
section for more details.
You can find the samples of the ActiveX controls, VBIS, and the in the c:\Program
Files\Proficy\Proficy Batch Execution\samples folder, if you installed Proficy Batch Execution to the
default location. The WorkInstruction demo project, EWIDemo.wkb, is located in the Program
Files\Proficy\Proficy Batch Execution\projects folder. The SourceSafe database is located in the
Program Files\Proficy\Proficy Batch Execution\projects\EWIDemo\EWISS folder.
• Development Overview
• Developing a Batch Execution Project
• Programming the Process Controller
• Configuring the Area Model
• Developing Recipes
27
Application Guide
Development Overview
As the picture illustrates in the Developing a Batch Execution WorkSpace Project section, developing
a Batch Execution application consists of several tasks. Before you can begin any development, you
must first have a solid control strategy in place. Refer to the Exploring the Sample Application section
for information on designing a control strategy. Once this strategy is in place, you can begin
implementing Batch Execution for your application.
You can integrate Batch Execution data with other areas of the manufacturing enterprise. Because the
data is stored in a relational database, you can update your enterprise data with Batch Execution data
so you always have the latest plant production information available.
The sections that follow discuss the reporting options provided in Batch Execution including:
• Active Journaling
• Archiving process values
• Proficy Plant Applications Batch Analysis Reports
Active Journaling
To satisfy all your reporting requirements, Batch Execution provides Active Journaling. Active
Journaling is the process of recording event data in a relational database. The following figure
illustrates the Active Journaling architecture.
28
Application Guide
Batch Execution lets you configure the types of batch data to archive by providing filtering
capabilities. Typically, you will want to configure Batch Execution to archive actual process values.
Typical process values include:
Batch Execution does not limit the information you can archive. You can configure your system to
report on any value that is important to your process.
For more information on configuring the Batch Archiver, refer to the System Configuration Manual.
For example, when a batch of toothpaste completes, you may want to report the actual amount
produced.
29
Application Guide
1. Configure a phase report to report the value of the Reactor's tank level indicator, LI501.
2. Construct the recipe so that the phase report is included in the final step of the recipe
procedure. In the sample toothpaste application, the final phases to execute are the AGITATE
and AIR phases, in parallel. In this case, you can configure either phase to include the report
parameter.
3. Configure the Archiver to archive reports to the relational database.
To support the Proficy Plant Applications Batch Analysis Reports, Batch Execution includes the
BATCHANALYSIS table. This table collects batch event data for use in the reports.
NOTE: The Proficy Plant Applications product (which includes the Batch Analysis Reports module)
supports SQL Server databases. Importing Batch Execution data from an Oracle database into a Batch
Analysis Report is not supported.
For more information on configuring Batch Execution to support Proficy Plant Applications Batch
30
Application Guide
Analysis, refer to the System Configuration manual. For information on configuring Proficy Plant
Applications Batch Analysis, refer to the Plant Applications Batch Analysis documentation.
The sample toothpaste application contains the following GE Batch Execution project items:
• Configuration files
• Area model
• Recipes
• Embedded OLE-compliant documents
Similar to the Microsoft Explorer, the Proficy Batch Execution WorkSpace organizes a project into
folders. Each folder stores the common types of items in a project, such as pictures, configuration files,
and recipes. Each item is associated with a folder. This makes locating an item as simple as opening
the associated folder.
The following figure illustrates each Batch Execution development task. Notice that you can perform
most development tasks in parallel. However, it is important that all members of your development
team have a clear understanding of the design specifications for your system.
31
Application Guide
Like Batch Execution project items, the documents from OLE-compliant programs appear in the work area
that the Proficy Batch Execution WorkSpace supplies when you create or edit them.
32
Application Guide
The figure in the Understanding the PLI section illustrates the relationship between these two areas.
Note that the sample application is not tied to real I/O. Instead, it uses the Soft Phase Server OPC
Simulator.
For more information on programming the PLI, refer to the PLI Development Manual.
33
Application Guide
For more information on programming and designing phase logic, refer to the Phase Programming
Manual.
Programming Requests
Batch Execution provides a series of request functions that enable the phase logic to request the Batch
Execution Server to perform specific actions, such as downloading phase parameters and uploading
phase report values.
For example, you may have an Agitate phase that requires a value to set the mixer speed. In this case,
you can program a Download Parameter Request in the Agitate phase logic to download the mixer
speed parameter value.
For more information on programming requests into your phase logic, refer to the Phase Programming
Manual.
34
Application Guide
batches. Once the area model is configured, it is unlikely that it will require major changes. It may
require some maintenance from time-to-time, if you modify the process equipment on the plant floor.
Based on the equipment requirements outlined in the Exploring the Sample Application section, the
following equipment is defined for the sample application. The figure that follows illustrates a sample
equipment configuration.
Area
The sample application's equipment is contained in an area called Area1. This is the default area name
provided by Batch Execution.
Process Cell
Within Area1 is one process cell called Toothpaste. This process cell contains all the equipment
required to produce a batch of toothpaste.
35
Application Guide
Unit Classes
The toothpaste process cell in the sample application contains three unit classes:
Unit Instances
Instances of each unit class are created to represent each physical unit in the process cell. Each unit
instance inherits its unit class properties, including any unit tag classes defined for the unit class. At the
instance level, properties such as the equipment ID and unit tags are defined based on the unit's
physical properties. The previous figure with the sample equipment configuration illustrates each unit
instance defined for the sample application and their associated unit classes.
Standard equipment phases configured in the Equipment Editor are equipment-centric, meaning that
you are not defining the control logic for the phase, you are configuring the equipment module on
which the phase executes. The actual control logic for the phase resides in the process controller, not in
the Equipment Editor. This type of phase is called a standard equipment phase.
Your task in the Equipment Editor is to create a representation of each equipment phase in the process
controller and tie it to the equipment on which the equipment phase executes. In order to do this, you
must have a complete understanding of how the equipment phases are programmed in the process
controller. The previous figure with the sample equipment configuration illustrates each unit instance
defined for the sample application and their associated unit classes and equipment phases. There are
no Batch Direct phases in the sample application.
With Batch Direct phases, the PLI logic is built directly into the phase. This PLI logic provides a
standard interface between the Batch Execution Server and the equipment phase. What that means, is
that you can use batch direct phases to directly communicate with existing PLC programs located on
your process controllers, without having to rewrite any additional PLI logic. With Batch Direct phases,
you have a simpler interface to the process controller.
Your task in the Equipment Editor is to create a representation of all equipment phases (standard and
Batch Direct) and tie it each phase to the equipment on which it executes. In order to do this for Batch
Direct phases, you must have a complete understanding of how the phase logic is used on the process
controller.
Developing Recipes
The general procedure (outlined in the Exploring the Sample Application section) is translated into a
master recipe procedure called Make_Toothpaste. This procedure is illustrated in the Using Class-
Based Recipes section.
Recipe development is generally an ongoing process. As you enhance your products, you need to
modify recipes to incorporate new production requirements. The sample toothpaste recipes are
36
Application Guide
designed with this requirement in mind. It does this by incorporating the following Batch Execution
features:
• Active Binding™
• Recipe parameters
• Class-based recipes
• Parallel Processing
The following sections describe each feature and how it is used to meet the requirements of the sample
toothpaste application. For additional information on any of these features, refer to the Recipe
Development Manual.
Requirement:
Solution:
Batch Execution provides Active Binding. Active Binding allows you to bind and re-bind unit procedures
to units at multiple stages in a batch's life cycle, including when a batch is created or in production. Recipe
authors can configure recipes to automatically allocate equipment to batches based on (1) the properties of
the equipment model, and (2) the real-time conditions on the plant floor. Refer to the Mastering Batch
Execution section for more information.
Requirement:
The general procedure requirement for the toothpaste application is to manufacture several flavors of
toothpaste.
Solution:
Batch Execution lets you create recipe parameters to define the amount of each ingredient required for
the types of toothpaste in production. By varying the amount of each ingredient, different types of
toothpaste are made with the same master recipe. For example, to make mint-flavored toothpaste, the
parameter MINT is set to 60. To make regular-flavored toothpaste, MINT is set to 0.
Requirement:
The toothpaste application must be able to select the equipment on which the recipe executes based on
which units are available when the batch is scheduled for production.
37
Application Guide
Solution:
Batch Execution lets you build class-based recipes that allow the BASE and ADDITIVE unit
procedures to use any mixer defined in the process cell. This feature lets you create recipes that are not
tied to a specific piece of equipment. You can alo configure the equipment requirements for the BASE
and ADDITIVE unit procedures to automatically bind units to these procedures during batch
execution.
Make_Toothpaste Procedure
Parallel Processing
Requirement:
The requirements of the general procedure state that the base mixture must be agitated and cooled
simultaneously.
38
Application Guide
Solution:
Batch Execution lets you perform parallel processing simply by constructing the recipe's sequential
function chart to do so. In the MAKE_BASE operation, the AGITATE and COOL phases run in
parallel. When both phases are complete, control moves to the QA_TEST phase for testing.
Batch Execution stores and retrieves recipe data based on the Batch Execution Logical Data model.
The Logical Data model is the table structures and rules that represent the storage of Batch Execution
recipes in a relational database.
If you plan to store recipes in the relational database, developers need to consider the following:
• Recipe storage types are set at the project level, meaning that all recipes within a single
project must be either SQL-based or file-based.
• Configure the recipe tables in your relational database. Batch Execution provides scripts that
build these tables for you.
• Configure a data source so that Batch Execution knows where to store and retrieve the recipe
data.
For more information on storing recipes in a relational database, refer to the Recipe Development
Manual. For more information on configuring the Logical Data model in your relational database, refer
to the System Configuration Manual.
Soft phases use the phase logic as described in the Phase Programming Manual. Implementation of the
PLI, that is normally part of the hardware controller, is part of the Soft Phase Server. Refer to the PLI
Development Manual for detailed information on PLI.
During the development stage, you can model and test your equipment configuration and recipes using
the Soft Phase Server in Simulation Mode. With the Batch Execution Soft Phase Server, you can build
an area model and tie the equipment entities to the Batch Execution Soft Phase Server simulated
points, rather than actual I/O points. After you build the recipes and area model, you can then simulate
production by executing batches. Only 50 parameters, 50 reports, and 50 request qualifiers per phase
are supported.
39
Application Guide
NOTE: You must configure each phase in the Soft Phase Server to run in Simulation Mode if you want
to use the Soft Phase Server as a simulator.
The Batch Execution Soft Phase Server uses your equipment phases and related parameters to simulate
your batch operation. Specifically, you can use the Batch Execution Soft Phase Server to:
For more information on using the Batch Execution Soft Phase Server refer to the Batch Execution
Soft Phase Server online help or Configuring the Soft Phase Server in the System Configuration
Manual.
For example, in the sample toothpaste application, you might want to use iFIX pictures for the
following:
Refer to the Creating Pictures manual for more information on iFIX pictures.
Operations Overview
Batch Execution provides operators with the following environments for controlling batches:
40
Application Guide
The following figure illustrates the operations tasks and the order in which they are performed.
41
Application Guide
The PLI is the standard interface to the project-specific phase logic. The PLI receives commands from
the Batch Execution Server or the operator and then initiates the different components of the phase-
specific control logic. This communication flow, shown in the following figure, ultimately controls the
execution of a batch.
Understanding States
Batch execution follows a series of state transitions. These transitions are based on the procedural
states defined in the ISA S88.01 Batch Control Standard.
The batch state and the states of phases running within a batch are updated as a batch progresses.
These states are displayed in several locations in the Client; every screen has either a field or a column
where the state information is visible.
An operator can only issue commands that are valid for the current state. For example, if a batch is in
the Running state, the operator can issue several commands including Stop, Abort, and Hold.
42
Application Guide
43
Application Guide
• BatchList
• BatchAdd
• BatchRecipeList
• BatchOperatorPromptsList
• BatchBindingPromptsList
• BatchAlarmList
• BatchManualPhase
• BatchSFC
• BatchActivePhaseList
• BatchCampaignManager
Additionally, you can incorporate the ActiveX controls into an iFIX picture using the Runtask
command. To do this, first place the control into a container application, such as a Visual Basic form,
and save it as an executable (EXE). Then, use the Runtask command in iFIX to run the executable.
The controls contain most of the same functionality provided in the corresponding view in the Batch
Execution Client. The following figure shows an example of the BatchList Control supplied with
Batch Execution.
44
Application Guide
• Create a campaign manager. VBIS provides a scheduling function that lets you automate the
process of adding batches to the Batch List in the Batch Execution Client. In this way, you
can integrate your corporate scheduling system into Batch Execution so that your production
schedules are always up-to-date.
• Automate the process of starting batches. VBIS provides a function containing all the
necessary parameters for binding equipment and specifying parameter values. This is the
mechanism that external programs can use to control batch execution.
• Develop a custom VBIS application that monitors the state of batches. By polling the Batch
Execution Server for the current batch state, your custom application can determine when a
batch completes. This technique is useful in many types of applications, such as a campaign
manager.
These are just a few examples of VBIS applications. You can develop numerous VBIS applications to
suit your particular needs.
The Campaign Manager offers electronic signature capability, allowing you to provide user
authentication prior to execution of a command. It also allows you to restrict access to features by user,
such as the ability to create or remove campaigns.
The Campaign Manager has three components – the Campaign Client, the Campaign Server, and the
Campaign Database. The Campaign Client is an ActiveX control that, when hosted in an ActiveX
container, provides you with an interface to create and manage campaigns. The Campaign Server is a
service that runs in parallel with the Batch Server and controls the triggering and execution of
campaigns. The Campaign Database provides storage for the campaign data.
For more information on Campaign Manager, refer to the Campaign Manager guide and the Custom
Applications manual.
Using the Batch service provider with Proficy Workflow allows you to avoid the errors that are inherent in
45
Application Guide
any manual process. Because Batch is integrated with the other systems that are part of your manufacturing
process, the manual steps and calculations are eliminated; the different components communicate directly
with each other via Workflow. Monitoring your process in real time allows you to change equipment or
adjust your schedule dynamically to meet the demands of the work order.
The following diagram illustrates how Batch Campaign Management for Proficy Workflow fits into a
typical manufacturing process. The dotted lines indicate an optional part of the process.
For more information on implementing Batch Campaign Management and the Batch Service Provider
with Proficy Workflow, refer to the Batch Service Provider section in the Proficy Workflow ebook.
46
Application Guide
• Active Binding
• Param Download Verify
• Prompt
• Recipe Header
• Recipe Value
• Recipe Value Change
• Report
• State Change
• State Command
• Step Activity
These events are listed in the Batch Execution Configuration dialog box, in the Archiver tab, under
Event Filters. You can access the Batch Execution Configuration dialog box from the Batch Execution
Workspace by double-clicking the Batch Execution Configuration in the WorkSpace tree. You can also
double-click the Batch Execution Configuration in the Proficy iFIX WorkSpace tree to view this dialog
box.
For information on how to configure Batch Execution to use Proficy Plant Applications Batch Analysis
Reports, refer to the Plant Applications Batch Analysis Reports Configuration section in the System
Configuration manual.
For steps on how to configure the Proficy Plant Applications Batch Analysis product, refer to the Plant
Applications Batch Analysis documentation.
47
Application Guide
Equipment pathing – Within a process cell, you can specify the physical connections between
units. These connections are graphically represented with connection lines. When the batch
procedure executes, each selected unit must be within a valid equipment path.
Equipment capacity – For each unit, you can specify the unit's maximum capacity. When the
recipe executes, the selected unit must meet the capacity requirement defined for the unit
procedure.
Equipment status tags – For each unit, you can specify a Unit Ready status and a Unit Priority
status, to indicate the unit's current availability and priority rating. When the recipe
executes, the unit selected by the Batch Execution Server must be available, as defined by
its Unit Ready tag. If more than one unit is ready and available, the Batch Execution Server
selects the unit with the highest priority, as defined be the unit's Unit Priority tag.
These dependencies are optional, meaning that Batch Execution can automatically allocate units if
none of these dependencies are configured. However, to take full advantage of Active Binding, you
most likely will want to provide Batch Execution with as much information as possible to make the
most intelligent selection when the recipe executes. For example, if unit capacity is important to your
process, you should configure equipment capacity to ensure that appropriate units are allocated to
batches.
You can allocate the units based on availability, the default setting for Active Binding. Or, you can
allocate the units based on the unit priority tags (in the PLC, Soft Phase Server, PDB, and so on). You
configure this information from the WorkSpace in the Batch Execution Configuration dialog box,
under the Server tab.
Automatic binding – this method allows the Batch Execution Server to select the unit to bind to
the unit procedure at run time based on criteria defined in both the unit procedure and in the
area model.
Operator prompt – this method prompts the operator to select a unit or to specify an automatic
selection just before the unit procedure runs.
Specify at Batch Creation – this method requires the operator to select a unit to bind to the unit
procedure when the batch is added to the batch list.
Additionally, you can assign operators rights to modify the binding at batch creation, during batch
execution, or both.
48
Application Guide
You can incorporate the following features into your recipes to provide the Batch Execution Server
with additional information to select units:
Jacobson Links – indicate whether the units used for two unit procedures must be physically
connected. Jacobson Links are connections that are drawn within a recipe's sequential
function chart (SFC) that represent a necessary physical connection between unit
procedures.
Forced Binding – indicates whether two unit procedures must run on the same unit or must run on
different units.
Unit Procedure Capacity – indicates the amount of material the selected unit must be able to
transfer, process, or contain to run the unit procedure. This value can be scaled with the
batch scale.
Equipment Pathing
Configuring equipment paths ensures that the units selected for a batch are within a valid execution
path. The equipment pathing is based on the physical connections that exist between units on the plant
floor. In the sample application, the following physical connections are configured:
1. The base ingredients (water, baking soda, gum, fluoride, and Ph_additive) are on one header
feeding MIX1, MIX2 and MIX3.
2. The additive ingredients (flavoring and whitener) are on a second header that feeds into MIX2
and MIX3.
3. All three mixers feed into the REACTFLAVOR unit, while the REACTPLAIN unit is fed
only by MIX1.
49
Application Guide
The following figure illustrates the equipment pathing configured for the sample toothpaste
application.
The following table lists the equipment capacity settings and the current equipment status for each unit
instance in the MIXER class.
50
Application Guide
Jacobson Links
The Jacobson Links, illustrated in the above figure, require that the units used by the ADDITIVE and
BASE unit procedures are physically connected to the unit that is bound to the FINAL unit procedure.
51
Application Guide
Forced Bindings
The following table shows the unit procedure bindings that are configured for the Make_Toothpaste
procedure. In this case, the BASE and ADDITIVE units are forced to run on different units.
Equipment Requirements
Assume that the equipment requirements listed in the following table exist for the BASE and
ADDITIVE unit procedures in the sample application.
BASE MIXER 1000 Liters Specify at Batch Operator can modify binding
Creation during batch execution.
ADDITIVE MIXER 200 Liters Specify at Batch Operator can modify binding
Creation during batch execution.
FINAL REACTOR 1000 Liters Specify at Batch Operator can modify binding
Creation during batch execution.
1. Batch Execution selects the default unit for the FINAL unit procedure. For this example, let's
assume Batch Execution binds the REACTFLAVOR unit to the FINAL unit procedure.
NOTE: You can modify the default unit at batch creation.
2. The operator starts the batch.
3. When both the BASE and ADDITIVE unit procedures are complete, the FINAL unit
procedure begins executing on the REACTFLAVOR unit.
52
Application Guide
A class-based design lets you to develop recipes that can run on a class of units, rather than a specific
unit. Furthermore, you can configure these recipes for Active Binding to maximize the use of your
plant's equipment. Class-based recipes let you develop flexible operations that you can reuse and
recombine in different ways. Implementing a class-based design requires that you configure the
following:
• In the area model, configure unit classes, and then define each unit instance with the class.
• When defining the equipment requirements for a recipe, specify that the recipe is class-based.
This indicates that the recipe can execute on any one of the units within the specified unit
class. You need to specify the default unit as well.
• Use recipe parameters as placeholders for specific process values. A recipe parameter is a
variable that represents a process value. By including a recipe parameter in an operation, you
make it generic and reusable because the recipe parameter acts as a placeholder for specific
values. Recipe parameters also override the hard-coded value in a phase and let you specify
any value you need depending on the batch in production. Once a value is specified, the value
is passed to a phase in the area model.
Refer to the Recipe Development Manual for more information on creating class-based recipes and
using recipe parameters.
• The BASE and ADDITIVE unit procedures can run on any unit in the MIXER class. The
MIXER class contains the MIX1, MIX2, and MIX3 unit instances. The default unit for BASE
is MIX1. The default unit for ADDITIVE is MIX2.
• The FINAL unit procedure can run any unit in the REACTOR class. The REACTOR class
contains the REACTPLAIN and REACTFLAVOR units. The default unit for FINAL is
REACTFLAVOR.
During Active Binding, the Batch Execution Server selects the default unit or the operator selects the
unit based on the equipment requirements defined in the recipe coupled with the equipment
configuration defined in the area model. Refer to the Understanding Active Binding section for more
information on configuring recipes and the area model for Active Binding.
53
Application Guide
In order for synchronized phases to run, all phases must be active simultaneously. The first phase in
the group sends a request to the Batch Execution Server. The Batch Execution Server does not clear
this request until the other phases in the phase link group send requests to the Batch Execution Server,
too. The Batch Execution Server then clears all requests simultaneously.
Typically, you synchronize phases when transferring materials from one unit to another. Configuring
phase synchronization spans several areas of Batch Execution development. Each task is described
below:
• In the phase logic, program each phase in the synchronization group to:
• Send a message to each phase in the synchronization group.
• Wait for messages from each phase in the synchronization group.
When all phases have sent and received messages from all other phases in the
synchronization group, the phases are synchronized.
• During recipe development, create phase link groups to synchronize a group of phases. A
phase link group is a list of phases that communicate with each other. Each phase can belong
to different operations but they must reside in the same procedure. Each phase in the link
group must have the same number of message partners.
Refer to the Recipe Development Manual for more information on phase link groups.
The unit procedures XFR_BASE and XFR_ADD each have phases called XFR_OUT_LINK. These
phases transfer material to the unit procedure XFR_FINAL, which has a phase called XFR_IN_LINK.
In order for the transfer to be successful, these three phases must be synchronized with each other. The
valves in the two XFR_OUT_LINK phases must be opened to transfer the material, and the valve in
the XFR_IN_LINK must be opened to accept the material.
54
Application Guide
For information on programming phases to perform phases for synchronization, refer to the Phase
Programming Manual.
In the area model for the example, each phase in the synchronization group is configured as follows:
XFER_OUT_LINK 2 1
XFER_IN_LINK 2 1
The number of message partners is set to two because each phase must communicate with two other
phase instances. The number of request tags is set to one to account for the Send Message request that
needs to be programmed into the phase logic.
55
Application Guide
Recipe Configuration
• Create the SFC for the Make_Toothpaste procedure that uses AND structures for the
XFER_BASE, XFER_FINAL, and XFER_ADD unit procedures, which configures them to
run in parallel.
• Configure forced bindings as follows:
• The BASE and XFER_BASE unit procedures must run on the same unit.
• The ADDITIVE and XFER_ADD unit procedures must run on the same unit.
• The FINAL and XFER_FINAL unit procedures must run on the same unit.
• Create Jacobson Links to specify that the units allocated to the XFER_ADD and
XFER_BASE unit procedures must be physically connected to the unit allocated to the
XFER_FINAL unit procedure.
• Create a phase link group that contains:
• The XFER_OUT_LNK phases for both the XFER_BASE and XFER_ADD unit
procedures.
• The XFER_IN_LNK phase for the XFER_FINAL unit procedure.
To ensure that the XFER_OUT_LNK and the XFER_IN_LNK phases are in exactly the proper state
before they proceed, program the phases in your example to use the Send Message and Wait request
and the Receive Message request to synchronize the three phases. This is illustrated in the following
figure. The Send Message request functions as the Master and the Receive Message request functions
as the Slave during phase synchronization.
56
Application Guide
As illustrated in previous figure, the XFER_IN_LNK phases and the XFER_OUT_LNK phase
synchronize the transfer of materials from one unit to another in the example. Before the material is
transferred:
1. When the XFER_BASE unit procedure starts executing, the logic in the XFER_OUT_LINK
phase issues a Receive Message request to the Batch Execution Server. The Batch Execution
Server stores this in its message queue.
2. When the XFER_ADD unit procedure starts executing, the logic in the XFER_OUT_LINK
phase issues a Receive Message request to the Batch Execution Server. The Batch Execution
Server stores this in its message queue.
3. When the XFER_FINAL unit procedure starts executing, the logic in the XFER_IN_LNK
phase issues a Send Message and Wait request to the Batch Execution Server.
4. The Batch Execution Server looks for the matching message ID in the message queue.
5. The Batch Execution Server transfers the message values (if any).
6. The XFER_IN_LNK and both the XFER_OUT_LNK phases continue executing and the
material is transferred.
The following table lists the requests that are used to accomplish this synchronization. Upon receiving
the Receive Message request from the XFER_OUT_LNK phase, the Batch Execution Server stores
message ID 80 in the message queue. Upon receiving the Send Message and Wait request from the
XFER_IN_LNK phase, the Batch Execution Server searches within the phase link group for a match to
message ID 80 in the message queue. When the message ID is located, the Request register is cleared,
and the phases are allowed to continue executing.
57
Application Guide
For instance, using VBIS you can develop custom applications that can:
Example
You might create a campaign manager by making VBIS interface calls that do the following:
1. Schedule a batch.
2. Bind the units required by the batch.
3. Run a batch.
4. Enter a loop to request the current batch state.
5. When the state becomes complete, exit the loop and remove the batch from the batch list.
Integrating Batch Execution data with manufacturing systems can be accomplished in several ways.
Because the data is stored openly, in a relational database, you have several options available to
integrate the data.
The typical ERP integration path figure in the Using VBIS as an Integration Tool section illustrates the
ideal integration path. In this scenario, ERP and Batch Execution data are stored in the same relational
database. ERP data, including inventory, general recipes, and schedules are stored in the ERP tables.
Batch Execution uses the relational database to store:
• Recipes in the tables comprising the VBIS Logical Data Model (LDM), which is part of
VBIS. The LDM is the table structures and rules that represent the storage of Batch Execution
recipes in a relational database.
• Batch event data and transaction logs, by archiving the data to the database.
58
Application Guide
Storing the ERP and Batch Execution data in the same relational database allows dynamic and
immediate data reconciliation. For example, assume Batch Execution produces a 2000 LB batch of
toothpaste at Plant A. When the batch completes, Batch Execution archives this amount to the
relational database. The ERP system needs to track production amounts for all plants. To update the
ERP system, you can create a table view to extract the batch amount from the Batch Execution data
and join it to a common location that the ERP system uses to send and retrieve current data. The
following figure illustrates this scenario.
When the data is stored in separate relational databases, you can integrate the data by writing a SQL
program to query the Batch Execution and ERP data and then reconcile the data.
59
Application Guide
With electronic signatures enabled, you can provide user authentication prior to the execution of a
Batch Execution command. The types of commands you can authenticate against in the Batch
Execution Editors include actions such as Startup, Open, Save, Save As, Print, Export, Verify, and so
on.
All signatures are authenticated using Windows security. What that means, is that an operator must
enter a valid user name and password from a Windows security group to complete the command. You
must create these groups and users with your Windows software. Once created, you assign the
commands and groups that you want to authenticate against in your Batch Execution software.
You can configure commands to require none, one, or two signatures. If you configure one signature,
Batch Execution requires a Performed By signature from the operator performing the command. If you
configure two signatures, Batch Execution requires a Performed By signature from the operator and a
Verified By signature from a supervisor to perform the command. If you enable electronic signatures
but do not configure either a Performed By and Performed By/Verified By signature, Batch Execution
captures the computer name and login name.
The following figure shows an example of an electronic signature displayed for the Equipment Editor
through the Batch Execution WorkSpace.
60
Application Guide
To configure any electronic signatures, you must select the Enable Batch Execution Auditing check
box in the Electronic Signature tab in the Batch Execution Configuration dialog box.
For each command, select the Use Default Signature Requirements, or assign specific signature
requirements. After selecting the signature requirement for each command, you specify the Windows
security groups that you want to authenticate against. You can select a security group by right-clicking
the security group field and selecting the Browse option. The following figure shows an example of
signature configuration for the Batch Execution Configuration, Recipe Editor, and Equipment Editor.
Electronic Signature tab in the Batch Execution Configuration Dialog Box in the WorkSpace
61
Application Guide
When the Batch Execution captures an electronic signature, it records the signature in the
AUDITTABLE in the database. The AUDITTABLE table captures all design-time electronic
signatures, including those in the Audit Reporter and the WorkInstruction Editor. You can view the
signatures in the AUDITTABLE using the Batch Execution Audit Reporter application, or directly
from your SQL or Oracle database.
ActiveX Controls
In the Batch Execution ActiveX controls, you configure signature requirements from the Electronic
Signature property page. This property page is available at design-time only. As shown in the
following figure, this dialog box is similar to the Batch Execution Configuration dialog box in the
WorkSpace.
Sample of the Electronic Signature Property Page in the Batch Execution ActiveX Controls
You can access the Electronic Signatures Property Page from the following ActiveX controls:
• BatchList
• BatchAdd
• BatchOperatorPromptsList
• BatchBindingPromptsList
• BatchManualPhase
• BatchSFC
• BatchActivePhaseList
• BatchCampaignClient
When the ActiveX control captures an electronic signature, the signature is recorded in the
BATCH_CMD_SIGNATURE_SUCCESS table, along with the computer name and time stamp of the
signature, as well as other data.
Audit Reporter
To configure electronic signatures in the Audit Reporter, from the Tools menu choose Options, and
then Electronic Signature. Select the Enable Authority Check check box, as shown in the following
62
Application Guide
figure.
When you enable authority checks in the Audit Reporter, Batch Execution requires a user name and
password from the iESigAdministrators Windows security group. After you enable this option, you
must enter a user name and password from the AuditReporterUsers Windows security group whenever
you start the Audit Report, or extract document data from a saved recipe or area model.
When the Audit Reporter captures an electronic signature, the signature is recorded in the
AUDITTABLE in the database. You can view the captured signatures in the AUDITTABLE using the
Batch Execution Audit Reporter application, or directly from your SQL or Oracle database.
When Batch Execution first assigns the GUID, it assigns an audit version number of 1. Each time you
save the file with changes, the audit version automatically increments by one. However, for recipe files
which include sub-recipes, the audit version number of the sub-recipe file does not increment unless
there is a change in the sub-recipe itself or in the area model.
When you save a file, Batch Execution streams the contents of the file out as an XML document to the
audit trail in the database. Batch Execution generates XML schemas for both the Recipe and
Equipment Editor files.
An example of the audit versioning information captured with a recipe is shown in the following
figure. Notice that the Recipe Editor captures the audit version number of the area model against which
the recipe was constructed.
63
Application Guide
Through the Audit Reporter, you can quickly generate a report to examine the change history of the
versioned XML files (also called documents) saved from these applications. After generating the
report, plant personnel can generate, print, or export reports to XML, HTML, or Microsoft® Excel®
formats.
64
Application Guide
The following figure displays an example of a report run through the Audit Reporter.
To run a report, first select the data source from which you want to retrieve data. Open the Report
Template dialog box to review and select the displayed columns and search criteria. Select Run from
the Report menu, or click the Run button. Wait a few seconds for data to populate in the Audit
Reporter spreadsheet. The amount of time that you wait, depends upon the size of the results returned
by the query.
Technical Support
If you have technical problems that cannot be resolved with the information in this guide, please
contact us by telephone or email, or on the web at www.ge-ip.com/support.
65
Application Guide
Americas
Asia Pacific
• Have your contract number ready. Your contract number is an eight-digit number that is a
combination of your company's six-digit identification number and a two-digit extension that
identifies the product you are using. It can be found on your invoice and in the body of your
original packing list from GE Intelligent Platforms. If you are a member of our Extended
Support Services program, your contract number is also on your customer support PhoneCard.
• Be next to your computer so that the engineer can step you through the proper procedure.
• Be familiar with your product's documentation so that the engineer can direct you to
66
Application Guide
Assistance
When you call for assistance with software that does not perform as you expect, the answer usually has
to do with your computer's setup. You should be able to answer the following questions when you call:
67
Application Guide
Active Journaling – The process of recording Batch event data in a relational database.
And Structure – The logic for parallel processing. Use this sequence selection when you need
two or more steps to run in parallel.
Arbitration – The negotiation of equipment allocation when the equipment is requested by more
than one batch or operator.
Archiver – The component of Active Journaling that writes event data to the relational database.
Area Model – A database that contains the definitions of the process cells, units, and equipment
phases that represent a physical, geographical, or logical grouping of equipment used to
build and execute recipes. Typically, an area model contains all the equipment at a plant.
Array – A list of variables. You define parameter arrays for phases in the process controller.
Phase parameter arrays store phase parameter values. A phase parameter array contains a
number of elements, which are referenced using an array index. Each element in a phase
parameter array can store one phase parameter value.
Batch – The material that is being produced or that has been produced by a single execution of a
batch process.
Batch ID – A name given by the operator to each batch, which is typically unique. You cannot
use the following characters in the batch ID: left bracket { [ }, right bracket { ] }, left
parenthesis { ( }, right parenthesis { ( }, comma { , }, double quotes { " }, single quotes { `
}, new line { \n }, carriage return { \r }, tab character { \t }, or NULL.
Batch Journal – An ASCII text file produced by the Batch Execution Server for each batch added
to the batch list and accessed by the Batch Execution Client. These reports detail
information such as status information about the batch; recipe header information; changes
in the state of recipe steps, values, ownership, and mode; requests for changes of state,
68
Application Guide
operator information, and changes in mode; informational messages about phase logic
requests and responses; arbitration of resources; changes in batch ownership and mode; and
the production of a batch.
Batch Process – A sequence of one or more phases that must be performed in a defined order and
results in finite quantities of material.
Batch Report – A report generated at the conclusion of a batch that details events that happened
while the batch was running.
Batch Serial Number – The unique identification number assigned to each batch by Batch
Execution.
Batch Server Manager – The Batch Execution application that is used to manage and monitor the
Batch Execution Server, including starting and stopping the Batch Execution Server.
Class-Based Recipe – A recipe that defines equipment in terms of a unit class and not specific
unit instances. This feature allows the recipe to run on any unit in the class.
COM (Component Object Model) – The Component Object Model (COM) is the underlying
architecture that forms the foundation for higher-level software services, like those
provided by OLE.
Common Resource – A resource that provides services to more than one requester. In Batch
Execution, they are control modules such as pumps, motors, or valves, that are shared
between phases or units.
Control Module – Consists of sensors and other control modules that together perform a specific
task. Control modules perform regulatory or state control over their constituent parts.
Control Recipe – Defines the manufacturing environment for a single batch and includes the
specific equipment and raw materials to be used. Control recipes are devised from master
recipes.
DCOM (Distributed Component Object Model) – A protocol that enables software components
to communicate directly over a network in a reliable, secure, and efficient manner.
DDE Server – Server that retrieves data from any NetDDE-aware process hardware. DDE
(Dynamic Data Exchange) is a form of communication that uses shared memory to
exchange data between applications.
Deferred Parameter – Defines a value that is passed to another recipe. By deferring a parameter,
you instruct a recipe to retrieve the phase parameter's value from a recipe parameter and not
from the area model.
Destination Unit – The unit where the equipment pathing connection ends. For example, if a
reactor feeds into a fermentor, the reactor is the origin unit and the fermentor is the
destination unit.
Device – A single, physical piece of plant equipment that has an active function in the process.
Examples: valves, pumps.
69
Application Guide
Dwell Time – The length of time a phase maintains a specific state. The dwell time is used by the
Soft Phase Server.
Enumeration – A list of strings that can be referenced by their ordinal offset in a list. For
example, Sunday=0, Monday=1, Tuesday=2.
Equipment Editor – The Batch Execution application used to configure an area model.
Equipment Module – Consists of equipment and control modules that together perform a minor
processing task (a phase). In Batch Execution, phases are directly tied to the equipment
modules on which they execute.
Equipment Capacity – The amount a unit can contain, transfer, or process. During Active
Binding, Batch Execution ensures that the units allocated to unit procedures during batch
production meet the minimum capacity requirement defined for the unit procedure.
Equipment Pathing – Connections drawn in the area model that determine the valid execution
paths for a batch.
Equipment Phase – A phase that is part of the equipment control. The logic for an equipment
phase resides in the process controller.
Equipment Phase Tags – The tags used to tie equipment phases to the equipment. In Batch
Execution, you tie equipment phases to the equipment by specifying the equipment-specific
addresses for ten standard tags plus any parameter, report, and request tags required by the
phase. By specifying these tags, you are configuring a unit's equipment phase. These tags
are required by the Phase Logic Interface (PLI). The PLI is programmed in the process
controller and provides a standard interface between the Batch Execution Server and the
equipment phase.
Event/log File – During operation, each Batch Execution Server maintains a historical record of
the commands it received and the operations performed. Batch Execution stores this record
as an event. Each event is identified by the batch serial number and the .EVT extension.
These file resides in the Batch Execution Journals directory.
Failure ID – The ordinal associated with a string in the PHASE_FAILURES enumeration set.
Formula Parameter – See Recipe Parameters. The term Formal Parameter was replaced with
Recipe Parameter in version 4.5 of the product.
Hold Propagation – The hold propagation controls how the Batch Execution Server responds
when a phase fails. In general, when a phase fails, the phase's hold logic executes and the
PLC sends a hold command to the Batch Execution Server. The Batch Execution Server
70
Application Guide
can ignore the hold command (no hold propagation) or can respond by holding: a phase, an
operation, a unit procedure, or the entire batch procedure.
Jacobson Links – Connections that are drawn within a recipe's sequential function chart (SFC) to
graphically represent a necessary physical connection between unit procedures.
Logical Data Model (LDM) – The table structures and rules that represent the storage of Batch
Execution recipes, events, and electronic signatures in a relational database.
Manifold Object – A control module that is used to connect multiple units as part of the area
model's equipment pathing.
Manual Mode – A state associated with a step in a batch. When a step is in Manual mode, its
transition does not execute until an operator sends a message instructing it to do so.
Master Recipe – A recipe that defines the equipment requirements to manufacture a product. This
equipment is grouped into process cells. Control engineers design master recipes to run on
many different lines within a process cell.
Maximum Owners – Identifies the maximum number of owners that can simultaneously own an
equipment resource. It is used to arbitrate resources and typically is set to one to allow only
one owner at a time.
O-Auto Mode – A state associated with a step in a batch. When a step is in O-Auto mode, its
transition executes and an operator can send commands to its procedure.
OLE Object – A document, graphic, or other component from an application that supports Object
Linking and Embedding (OLE). For example, an OLE object can be a Word document or
Excel Spreadsheet. These OLE objects are created in one application and can be embedded
into another application. In Batch Execution, OLE objects can be embedded into a project
where they can be opened and edited from the Proficy iFIX WorkSpace.
OPC (OLE for Process Control) – Defines standard objects, methods, and properties for meeting
interoperability requirements of real-time process automation applications.
OPC Item – A named data structure accessed through OPC using a request or advise.
OPC Server – An application that makes its data available to other applications using OPC. Batch
Execution includes an OPC server for the iFIX process database.
Operation – An independent production activity within a unit procedure, consisting of phases and
the algorithm necessary for the initiation, organization and control of those phases. There
may be one or more phases within an operation that may execute sequentially or
concurrently.
Operator Message – Identifies a string that is sent to the operator when the phase executes. The
message ID must correspond with the ID used by the phase logic.
Operator Prompt – A phase parameter that prompts the operator for a value.
71
Application Guide
Or Structure – The logic for a decision you want a recipe to make. The result of the decision
determines the path that the recipe executes.
Origin Unit – The unit where the equipment pathing connection originated. For example, if a
reactor feeds into a fermentor, the reactor is the origin unit and the fermentor is the
destination unit.
P-Auto Mode – A state associated with a step in a batch. When a step is in P-Auto mode, its
transition executes but an operator cannot send commands to its procedure.
Parallel Production – When two or more steps must be complete before the next step can
execute.
Phase Link Group – A list of phases that communicate with each other.
Phase Logic – Automates the equipment in a plant. Contains the instructions to sequence the
individual equipment connected to the physical devices. It is the code that contains the
control steps such as opening a valve, starting a pump, or stopping a totalizer.
Phase Memory Variable – A named storage space that exists in the process controller's memory
to store the values for 15 unique data items that the Batch Execution Server and the phase
use to communicate.
Phase Message – Identifies a string that is sent to the operator when the phase executes. The
message ID must correspond with the ID used by the phase logic.
Phase Parameter – Phase parameter are specified during the development of the area model.
Phase Parameter Array – Resides in the process controller and contains a number of elements
that are referenced using an array index. Each element of a phase parameter array can
contain one phase parameter value.
Phase Partners – The phases required for the selected phase to operate. Typically used to
synchronize phases.
Phase Report – Reports that detail actual process values or batch values used by the equipment
phase. This information is uploaded from the phase logic in the process controller to the
Batch Execution Server after the phase completes.
PLI (Phase Logic Interface) – The interface between the Batch Execution Server and the phase
logic. The PLI is the Batch Execution-specific portion of the phase and contains the state
transition logic. It resides in the controller.
Primary Journal – The primary journal is located in the path where the Batch Execution Server
first tries to write the event file. If the primary path is unavailable, the Batch Execution
Server writes the event file to the secondary path.
Procedure – Defines a process strategy for making a batch. Procedures consist of unit procedures
defined for a recipe.
72
Application Guide
Process – A sequence of chemical, physical, or biological activities for the conversion, transport,
or storage of material or energy.
Process Cell – Consists of all the production and supporting equipment necessary to make a
batch. It may include one or more production lines.
Process Cell with Fixed Path – A process cell in a network environment for which the path
cannot be altered by an operator.
Process Cell with Variable Path – A process cell in a network environment for which the path is
chosen by an operator when the batch is scheduled for production.
Process Stage – A part of a process that usually operates independently from other process stages
and that usually results in a planned sequence of chemical or physical changes in the
material being processed.
Production Report – A report generated at the conclusion of a batch that details events that
happened while the batch was running.
Project – The entire set of elements needed to deliver a batch solution. These elements include the
recipes, pictures, configuration files, and area model.
Proficy Batch Execution Archiver Manager – The Batch Execution application that is used to
start and stop the Batch Execution Archiver.
Proficy Batch Execution Client – The graphical Batch Execution application used by the
operator to monitor and control batches.
Proficy Batch Execution Server – The Batch Execution application that coordinates the function
of your recipes, the area model, and each Batch Execution Client during production.
Proficy Batch Execution Service Configuration Utility – The Batch Execution utility that is
used to configure the Batch Execution Server, Archiver, and EIB Server to run as Windows
services.
Proficy Batch Execution WorkSpace – The application used to create and modify objects within
a project.
Recipe Directory – The directory in which all recipe files are stored.
Recipe Parameters – Variables used to control process values such as time, temperature, and
quantities. Recipe parameters let you create flexible and reusable recipes.
Recipe Header – Administrative information about the recipe. This information includes the
procedure identifier, version number, version date, and author.
73
Application Guide
Recipe Hierarchy – The S88.01 procedural model. This model defines procedures, unit
procedures, and operations in a hierarchy of recipes. The Recipe Editor conforms to this
model.
Recipe Management – The process of creating, maintaining and, if necessary, deleting recipes.
Report Parameter – Variables, defined in the area model, that represent process values from the
PLC.
Request Tags – Functions that enable the phase logic to request the Batch Execution Server to
perform specific actions, such as acquiring and releasing equipment and sending phase
messages.
Resource – A single entity within the area model that is used in the production of a batch.
Restart Control – Controls how the Batch Execution Server, EIB, or Soft Phase Server starts.
The restart mode can be:
Cold restart – Select Cold to always restart the server in cold restart mode. In cold restart mode,
the Batch Execution Server provides an empty batch list.
Warm restart – Select Warm to always restart the server in warm restart mode. In warm
restart mode, the Batch Execution Server restores the batch list and the state of the
server to their last known state.
Prompt – Select Prompt (the default setting) to prompt users to select the restart mode: Warm
or Cold.
SCADA Server – An iFIX server that communicates with process hardware and stores process
values in a process database.
SCU (System Configuration Utility) – The SCU lets you configure the alarm routing, the
network connections, the tasks that startup automatically, the SQL connections, and the
SCADA and I/O driver settings.
Single Step Mode – When a phase is set to single step mode, the phase transitions to the next
programmed pause location and waits for the operator to issue a Resume command. The
pause locations are preprogrammed into the phase logic. Typically, the phase logic is in
single step mode when testing a phase.
Soft Phase Server – The Batch Execution application that handles the execution of soft phases.
Soft Phase – A PC-based phase that executes its phase logic via an executable program running
74
Application Guide
State – The condition of a piece of equipment or a procedural element at any given time. Possible
states are Aborted, Aborting, Complete, Held, Holding, Idle, Ready, Restarting, Running,
Stopping, and Stopped.
State Transition Logic – The logic within the PLI that provides a standard interface to the
project-specific phase logic. The state transition logic receives commands from the Batch
Execution Server or the operator and then initiates the different components of the project-
specific phase logic. It resides in the controller.
Step Buffer – Used to store the previous value of the step index within the PLC.
Step Index – The current step of the active phase in the PLC.
Tag Class – Defines common properties for a class of tags. Used to create class-based recipes.
Topic – The subdivision identifier within the DDE Application from which to retrieve
information.
Transition – Defines when a recipe moves from one step to another in the sequential function
chart.
UNC Paths – Microsoft's Universal Naming Convention (UNC) to access project files that are
stored on other machines within your network. The syntax for UNC paths is as follows:
\\machinename\sharename\path\filename
Unit – A major piece of equipment in a process cell that performs a specific task. It consists of all
the equipment and control modules that are needed to perform a task.
Unit Class – Defines common properties for a class of units. Used to create class-based recipes.
Unit Instance – A specific unit in a unit class, defined by the information that ties the equipment
to the physical equipment.
Unit Priority – Indicates the priority of the unit, as compared to other units in the same unit class.
If multiple units are available for a batch, Batch Execution selects the unit with the highest
priority value. You can configure a UNIT_PRIORITY tag to determine the priority value
for a unit or you can assign a static priority value to the unit in the area model
configuration.
Unit Procedure – One or more operations that control the function of a single piece of equipment.
Unit Ready – Indicates whether the unit is ready for use. If the unit is not ready, Batch Execution
cannot allocate the unit to a batch. You can configure a UNIT_READY tag to determine if
the unit is ready, or you can configure the unit as "always ready" or "always not ready" in
75
Application Guide
Unit Tags – Tags that are associated with a unit, such as temperature and level tags. Unit tags are
accessible to all phases that execute on that unit.
Unit Tag Class – A variable name assigned to a class of unit tags. Used in recipe transitions to
implement class-based recipes.
VBEXEC.LOG – A list of errors that occurred during the production of a batch. In addition to
being written to the log file, severe errors and warnings are sent to the SCADA node as
alarms.
VBIS – A set of OLE Automation interfaces that allow 3rd party applications (Visual Basic, C++)
to manipulate information from the Batch Execution Server, area model, and recipe
database.
Watchdog – The name of an item in the DDE or OPC Server used by the Batch Execution Server
and the respective data server to ensure a live communication connection between the two.
The Batch Execution Server periodically writes a 1 to the watchdog and checks that the
data server then writes a 0.
76
Index
A in sample application ....................................34
ActiveX controls............................................... 44 B
77
Application Guide
C equipment requirements................................26
78
Index
recipes........................................................... 36 understanding................................................34
linking to the control recipe .......................... 24 sending and receiving phase messages .........54
partitioning ................................................... 25 F
79
Application Guide
H creating .........................................................17
SCADA Servers..............................................4 P
J recipe ............................................................17
80
Index
81
Application Guide
developing .................................................... 36 S
82
Index
standards .............................................................8 V
83