Batch Management User Guide
Batch Management User Guide
Batch Management
User's Guide
July 2019
© 2019 AVEVA Group plc and its subsidiaries. All rights reserved.
No part of this documentation shall be reproduced, stored in a ret rieval system, or transmitted by any
means, electronic, mechanical, photocopying, rec ording, or otherwise, without the prior written
permission of AVEVA. No liability is assumed with respect to the use of the information contained herein.
Although precaution has been taken in the preparation of this documentation, AVE VA assumes no
responsibility for errors or omissions. The information in this documentation is subject to change without
notice and does not represent a commitment on the part of AVEVA. The soft ware described in this
documentation is furnished under a lice nse agreement. This soft ware may be used or copied only in
accordance with the terms of such license agreement.
ArchestrA, Aquis, Avantis, Citect, DYNSIM, eDNA, EYESIM, InBatch, InduSoft, InStep, Int elaTrac,
InTouch, OASyS, PIPEPHASE, PRiSM, PRO/II, PROV ISION, ROMeo, SIM4ME, SimCentral, SimSci,
Skelta, SmartGlance, Spiral Software, Termis, WindowMaker, WindowViewer, and Wonderware are
trademarks of AVEVA and/or its subsidiaries. An extensive listing of AVEVA trademarks can be found at:
https://sw.aveva.com/legal. All other brands may be trademarks of their respective owners.
Publication date: Wednesday, July 17, 2019
Contact Information
AVEVA Group plc
High Cross
Madingley Road
Cambridge
CB3 0HB. UK
https://sw.aveva.com/
For information on how to cont act sales, customer training, and technical support, see
https://sw.aveva.com/contact.
AVEVA Batch Management User's Guide
Contents
Chapter 1 Welcome ............................................................................................................. 23
Documentation Conventions .................................................................................................... 23
July 2019 3
AVEVA Batch Management User's Guide Contents
July 2019 5
AVEVA Batch Management User's Guide Contents
6 July 2019
Contents AVEVA Batch Management User's Guide
July 2019 7
AVEVA Batch Management User's Guide Contents
8 July 2019
Contents AVEVA Batch Management User's Guide
July 2019 9
AVEVA Batch Management User's Guide Contents
10 July 2019
Contents AVEVA Batch Management User's Guide
12 July 2019
Contents AVEVA Batch Management User's Guide
July 2019 13
AVEVA Batch Management User's Guide Contents
14 July 2019
Contents AVEVA Batch Management User's Guide
HistHookBatchQuestion................................................................................................... 410
HistHookPhaseInstructionInit ........................................................................................... 411
HistHookPhaseInstruction ................................................................................................ 411
HistHook TransitionInfo .................................................................................................... 412
HistHookExpressionInit .................................................................................................... 413
HistHookExpression ........................................................................................................ 413
HistHookE vent ................................................................................................................ 414
HistHookSec urity............................................................................................................. 414
HistHookViewDocument .................................................................................................. 415
HistHook Report TriggerE ndOfB atch .................................................................................. 415
HistHook Report TriggerE ndOfP hase ................................................................................. 416
HistHookFoxAnalogAlarm ................................................................................................ 417
HistHookFoxBooleanAlarm .............................................................................................. 417
HistHookFoxSequenceBlock ............................................................................................ 418
HistHookFoxAlarmComment ............................................................................................ 418
HistHookFoxOaj .............................................................................................................. 419
HistHookFoxNonBatchOaj ............................................................................................... 420
HistQReader Function Reference........................................................................................... 420
HistHook ConnectionStringS erverName ............................................................................ 420
HistHook InsertErrorQRecord............................................................................................ 421
HistHook UpdateErrorQRecord ......................................................................................... 421
HistHook DeleteErrorQRecord .......................................................................................... 422
HistHookSelectErrorQRecords ......................................................................................... 422
HistHookGetErrorQFieldName ......................................................................................... 423
July 2019 15
AVEVA Batch Management User's Guide Contents
16 July 2019
Contents AVEVA Batch Management User's Guide
Using the Process Phase Selection or Transfer Phase Selection ........................................ 488
Using the Import Export Utility ................................................................................................ 488
Exporting the Process Model ........................................................................................... 489
Importing the Process Model ............................................................................................ 490
July 2019 17
AVEVA Batch Management User's Guide Contents
18 July 2019
Contents AVEVA Batch Management User's Guide
July 2019 19
AVEVA Batch Management User's Guide Contents
20 July 2019
Contents AVEVA Batch Management User's Guide
July 2019 21
AVEVA Batch Management User's Guide
C HAPTER 1
Welcome
The Batch Management User’s Guide is a general overview and discussion of the capabilities of the
Batch Management software, including process modeling, creating and using tags, recipe management,
materials tracking, batch management, history and reporting. It consists of the description and usage of
HistHook API. It explains the interface bet ween Batch Management software and your cont rol system,
including alarming and utility programs.
In This Chapter
Documentation Conventions .......................................................................................................... 23
Documentation Conventions
This documentation uses the following conventions:
July 2019 23
AVEVA Batch Management User's Guide
C HAPTER 2
Overview of Batch Management
This section provides a general overview and discussion of the capabilities of the Batch Management
software, including proc ess modeling, creating and using tags, recipe management, materials tracking,
batch management, history, and reporting. It describes the interface bet ween Batch Management
software and your control system, including alarm and utility programs.
In This Chapter
Overview...................................................................................................................................... 25
Batch Management Integration ...................................................................................................... 29
Terminal Services Support ............................................................................................................ 30
Extensibility .................................................................................................................................. 30
Managing Batch Management Configurations ................................................................................. 31
Batch Management Programs ....................................................................................................... 31
Tools ........................................................................................................................................... 34
Batch Management Configuration Architecture ............................................................................... 37
Batch Management Run-time Architecture...................................................................................... 37
I/A Series Differences ................................................................................................................... 38
Overview
Batch Management is a flexible batch management system that you can configure quickly and easily
after you understand its fundament al concepts. It is extremely import ant that you understand these
concepts before attempting to use the Batch Management system.
Batch Management is consistent with the ISA-88 standard. You can create recipes quickly and easily
and simulate their processing against a model of the proc ess – all before you write one line of control
code. You can also access complete production history and materials genealogy.
Batch Management provides out-of-the-box batch management functionality that eliminates the need for
unsustainable c ustom code in a programmable logic controller (PLC) or distributed cont rol system (DCS)
and dramatically reduces your life-cycle engineering effort. The sophisticated batch engine is
responsible for unit-to-unit material tracking, short term scheduling, dynamic batch and equipment
management, and batch history and reporting. The batch management system also supports
redundancy for critical applications.
Note: InBatch is now Batch Management. However, in some instances, you may see “InB atch” in
upgrade path, batch reports, and so on.
July 2019 25
AVEVA Batch Management User's Guide Overview of Batch Management
Process Modeling
A batch processing plant is made up of units and connections.
The five main components of the process model are:
Units
Process classes (processes)
Connections
Trans fer classes (transfers)
Processing capabilities.
Units
A unit is any vessel that can hold or process materials. Some units have no processing capabilities, such
as bulk storage vessels, manual add stations, and hold tanks. Other units have significant processing
capabilities, such as reactors, blenders, mixers, dryers, retorts, and washers. Examples of processing
capabilities are agitating, mixing, heating, cooling, blending, and packaging. Other examples of units are
storage tanks, silos, ovens, fillers, washers, retorts, molders, bottlers, wrappers, cartoners , and
palletizers.
Connections
Connections are the equipment that are necessary for transferring a product from one unit to another.
Examples are pumps, valves, separators, condensers, and flow meters. Many plants have units that are
connected to more than one unit and some plants have multiple connections between the same two
units.
Phases
Processing and transferring capabilities are defined by phases. Each phase is an independent action
that can contain a unique set of parameters. Parameters configure the phase based on recipe
requirements. Phases can be automatically processed by the control system or manually run by an
operator.
26 July 2019
Overview of Batch Management AVEVA Batch Management User's Guide
Recipe Management
The batch control system manages and constructs recipes according to the guidelines outlined in the
ISA-88 Flexible Batch Specification.
Master Recipes
You can construct and edit master recipes. Master recipes are not specific to process lines, but are
independent of equipment. You can assign master recipes to any process line (train) that has units
belonging to the classes of process equipment defined in the recipe.
A master recipe is not size specific, but is scalable to the batch size defined by production scheduling.
You can ent er all formula quantities for ingredients, intermediates, by -products, and finished goods as
either actual quantities or as a percent of the total batch size. Quantities expressed in percentages are
scaled by the batch management system when the batch runs.
July 2019 27
AVEVA Batch Management User's Guide Overview of Batch Management
Control Recipes
A master recipe becomes a control recipe as the units defined in the train are dynamically allocated and
used in producing a batch.
Once a batch is initialized, the Batch Manager no longer references the recipe in the recipe database.
The Control Recipe is isolated from any changes that are made in the Recipe Editor. You c an edit, save,
and sync the recipe without any impact to the running batch.
Note: Changes to the material database and to the batch model may impact a running batch. We
recommend you to end all batches prior to updating the model to runtime databases.
Recipe Editor
Use the Recipe Editor to construct and alter recipes. You can save, retrieve, and print recipes. A revision
control system provides you with an accurate time -stamped history of all changes and revisions that
have been made to the recipe.
Batch Management
Batch management consists of scheduling batches, initializing batches, coordinating the processing of
batches with the control system, interfacing with operators, and storing all batch activity. You perform
these tasks using the Batch Manager, Batch Scheduler, and Batch Display programs.
Batch Scheduling
Use Batch Manager to dispatch to plant floor operators the batches that are ready to run. To schedule a
batch, you manually enter the batch identification, master recipe, batch size, and train (process line) into
the Batch Scheduler. After you ent er the batch, you can initialize it.
Batch Initialization
You must initialize each batch before you can run it. The initialization process involves validating the
recipe, checking if the train exists, checking if the bulk materials defined in the recipe are available in the
train, ensuring that the recipe equipment requirements are satisfied by the train, and verifying that the
Process Model database is compatible with the recipe.
28 July 2019
Overview of Batch Management AVEVA Batch Management User's Guide
The Batch Manager coordinat es how process units are used for eac h batch. The B atch Manager c an run
a large number of batches simultaneously. Each batch is a separate entity and contends along with ot her
batches to possess the proc ess units it needs. The Batch Manager allocates ownership of units to
batches as units become available and releases units when the batch no longer requires the unit.
In flexible batch systems that use controllers, the supervisory workstation becomes an active participant
in processing a batch. Unit management is very sophisticated in a flexible batch system. Most controllers
do not have the ability to program a unit manager that is capable of interpreting and processing the
recipe procedures that are constructed in the batch control system.
A master recipe uses classes of process units, not specific units. Thus, phases pertain to a class of units
rather than a specific unit. When the Batch Manager runs a master recipe, each phase encountered is
converted into a unit -specific phase. This process is called master recipe to part ial control recipe
conversion. The train assigned to produce the batch specifies all the units that can be used. The Batch
Manager automatically converts the master recipe to a control recipe based on the units found in the
train.
History
Batch Manager captures and stores all processing and operat or activity when a batch runs.
Batch History
Batch Management uses Microsoft SQL Server for its historical database.
The batch management system logs all information related to the production of a batch to the history
database. This data includes all the events, process data, production information, material usage,
operator comments, operat or actions, equipment used to produce the associated batch, and all
batch-related process alarms.
Batch Reports
Batch Management uses SQL S erver Reporting Services (SS RS) for reporting. SSRS provides a flexible
and open plat form so that you can easily build custom reports. You can use a set of pre -defined report
templates to design reports.
You can ret rieve batch reports using the run-time reporting system. You can automatically trigger reports
while a batch runs or at the end of a batch.
Tag Management
Batch Management interfac es to other components such as InControl™, I/O servers, DAServers, and
InTouch® software through tags. Also, you can integrate Batch Management with the Application Server
and leverage the full capabilities of both components to extend the boundaries of the implementation.
Model Editor
Use the Model Editor to construct the plant model consisting of units , connections, phases, phase
parameters, and segments. Tags are automatically created using these names and are used by Batch
Management to communicate with PLC or DCS systems.
July 2019 29
AVEVA Batch Management User's Guide Overview of Batch Management
TagLinker
Use the Batch Management TagLinker to link the tags you create in the Model Editor to control system
addresses. The TagLink er provides capabilities to link tags automatically using default links, manually
through the graphical user interface, or by external interfaces using a comma separated variable format
import or export file. The TagLinker also validates model tags.
Tag Communications
Batch Management communicates with other applications or components through OP C, Suitelink, or
Message Exchange (MX). Tag communications are used to interfac e to unit control logic, phase logic,
and operator displays. The Phase Logic and TagView tools are available to diagnose, troubleshoot, and
exercise tags communic ations.
TagView Tool
Use the TagView tool to monitor Batch Management tags at run time.
Batch Alarms
Batch Management takes advantage of the powerful alarm system provided with the InTouch HMI and
also by the Application S erver. The Batch Management Reports system provides the alarm information
in the context of the batch in which the alarm or event occurred.
Extensibility
Batch Management includes .NET controls, ActiveX objects, ActiveX Servers, and a library of AP I
functions that allow integration with external applications such as E RP and scheduling systems. You can
develop custom applications that access the batch control system that share and exchange formulas and
recipes, materials, and production results.
Batch Management uses Microsoft SQL Server for its historical database.
These features make it easy for you to integrat e with enterprise resource planning (E RP) and advanced
planning systems (APS), by allowing Batch Management to be a key link in successful supply chain
management initiatives.
30 July 2019
Overview of Batch Management AVEVA Batch Management User's Guide
Configuration Programs
You can use the following configuration programs to develop and manage your batch system.
July 2019 31
AVEVA Batch Management User's Guide Overview of Batch Management
Run-Time Programs
The following run-time programs are used by the Batch Management system during batch processing.
Note: When the User Account Control (UA C) is enabled in the operating system, the component
prompts you to grant administrative privileges when y ou start the Environment Display Module. The UAC
prompt appears whenever administrative privileges are required. For more information, see System
Administration".
Log Viewer
(Optional) The Log Viewer displays messages for all system activity, including the Batch Management
Server, Batch Management Runtime Clients, and Batch Management Development Clients such as
startup, shutdown, warnings and errors, as well as time and date stamps.
Note: If you set the timeout value to less than 15 seconds then it considers the timeout as 15 seconds
which is the default timeout.
32 July 2019
Overview of Batch Management AVEVA Batch Management User's Guide
Note: The latest Windows operating systems do not support the NetDDE protocol.
July 2019 33
AVEVA Batch Management User's Guide Overview of Batch Management
Note: Batch Management SFC ActiveX cont rol allows you to set different colors to different conditions in
the SFC.
For more information, see the Batch Management COM Tec hnical Reference Guide.
Tools
Use the following tools to assist your development and run-time proc esses.
34 July 2019
Overview of Batch Management AVEVA Batch Management User's Guide
July 2019 35
AVEVA Batch Management User's Guide Overview of Batch Management
Tag State:
Icon Color Meaning
36 July 2019
Overview of Batch Management AVEVA Batch Management User's Guide
July 2019 37
AVEVA Batch Management User's Guide Overview of Batch Management
Note: I/A Series is now known as Foxboro E vo Control Core Services. This name change has not yet
been implemented in the Batch Management software or user document ation. All Batch Management
functionality for I/A Series is still available as Foxboro E vo Control Core Servic es.
38 July 2019
Overview of Batch Management AVEVA Batch Management User's Guide
July 2019 39
AVEVA Batch Management User's Guide Overview of Batch Management
40 July 2019
AVEVA Batch Management User's Guide
C HAPTER 3
Environment Management System
Use the Environment Management System to manage the running of applications within the batch
system. The system consists of the following components:
The Environment Editor. Use the Environment Editor to configure the applications that run on the
batch server.
The Environment Manager. Use the Environment Manager to start and stop applications, manage
databases, and cont rol the system.
The Environment Display. Use the Environment Display to interact with the batch system.
The Environment Management System monit ors the interdependencies of system applications to ens ure
correct startup and shut down sequences. The Environment Management System also allows you to
configure the operation of custom applications.
In This Chapter
Overview...................................................................................................................................... 41
Using the Environment Display ...................................................................................................... 42
Starting and Stopping Applications from the Environment Display .................................................... 46
Using the Environment Editor ........................................................................................................ 48
Adding Applications to the Environment ......................................................................................... 52
Assigning Application Parameters .................................................................................................. 53
Adding Custom Applications and System Paramet ers ..................................................................... 60
Using the Environment Manager .................................................................................................... 61
Automatic Startup and Shut down of Run Time ................................................................................ 62
Overview
You can use the Environment Editor to define the applications that run on a batch server. Configure an
environment by selecting from a list of available applications. The editor then sorts and shows the list of
selected applications in the order that they are to be run. This sequential ordering is caused by
interdependencies of batch applications.
The Environment Manager reads the environment database to determine which applications are shown
in the Environment Di splay dialog box. The Environment Manager ens ures that the proper
interdependent applications are running and shows an appropriat e error message ot herwise. For
example, you want to add Batch Display to the Environment Di splay dialog box. The operation of B atch
Display requires the server capability of Batch Manager. Therefore, the editor must ens ure that Batch
Manager is selected or already in the system.
The Environment Di splay dialog box is the user interface to the batch server applications. Operators
typically use the Environment Di splay dialog box to view the status of background applications and to
start foreground applications.
The Environment Management System provides an environment for editing an offline copy of the
Process Model database (Cf gModelDB ). This capability enables you to edit an offline copy of the model
while the batch system continues normal run -time operation. After you complete your changes to the
model, you can shut down the run-time system, update the configuration process model data base with
the run-time process model database, and then restart the system.
July 2019 41
AVEVA Batch Management User's Guide Environment Management System
The following image shows the E nvironment Display dialog box for I/A Series. Also, this dialog box is
shown when I/A component features are installed on non-I/A systems.
42 July 2019
Environment Management System AVEVA Batch Management User's Guide
Note: When the Environment Di splay dialog box opens, the Environment Manager (EnvMngr), Lock
Manager (lm_tcp) History Queue Manager (HistQMngr), and Security Manager (S ecMngr) applications
are started in the background.
When the Environment Di splay dialog box opens, it also starts the Log Viewer. The Log Viewer
shows messages for all system activity for the Batch Management Server, Batch Management
Runtime Client, and Batch Management Development Clients such as startup, shutdown, warnings,
and errors along wit h time and date stamps.
If the Log Viewer is closed, you can restart it by selecting the Windows Start menu, and clicking
Programs > Wonderware > System Management Console. When the dialog box opens, click Log
Viewer.
A typical Log Viewer dialog box is shown here.
To terminate an application
1. From the Applications list, select the applications you want to terminate.
2. Click Terminate.
3. Click Close.
July 2019 43
AVEVA Batch Management User's Guide Environment Management System
Note: By default, the Environment Manager waits 120 seconds before declaring that an application is
available for termination. It may be nec essary to increase this system timeout value. For more
information on changing the default system timeout value, see "Setting the Environment System
Timeout".
Important: An Exit and Shutdown command completely stops the batch system. If you are not logged
on to the operating system with administration privileges, you cannot restart Environment Manager or
Environment Display. To restart the batch system, a user with pro per administrative privileges must log
on. To avoid this situation, you can configure security for the Environment Exit and Shutdown function
using the security system.
Note: You cannot update the environment when any other batch application is running. This includes
applications started on a batch client that access your batch server. All batch applications, including the
run-time system, must be shut down before the updat e can be successfully run.
WARNI NG! The contents of the run-time process model, and link databases are overwritten by the
configuration databases when you perform a run -time update. You should back up your run-time
databases before proceeding.
44 July 2019
Environment Management Sys tem AVEVA Batch Management User's Guide
A confirmation message appears to inform you that the run -time databases in your system are going
to be overwritten by the configuration databases. The date and time are shown in the message so
that you can determine whether or not you want to proceed with the update.
2. Click Yes.
WARNI NG! The contents of the configuration process model and link databases is overwritten by the
run-time dat abas es when you updat e the configuration. You should back up your databases before
proceeding.
The Database Manager entry refers to the database Lock Manager (lm_tcp). The History Queue
entry refers to the History Queue Manager. The Security System entry refers to the Security
Manager. These applications are run as an operating system service and are started by the
Environment Manager.
Note: The System Application Status dialog box shows the status of the Redundancy Manager if
redundancy is being used.
The run-time applications are Windows servic es. You can stop and start the applications using the
Services Control Panel in Windows. However, the Environment Display may not detect these changes,
so it is highly recommended to let the Batch Management Environment Management system control the
services.
2. Click Close.
July 2019 45
AVEVA Batch Management User's Guide Environment Management System
If you have a plant in which you need unattended shutdown or startup your batch run-time system, see
"Automatic Startup and Shutdown of Run Time".
Configuration and run-time applications that a have a GUI and were configured in t he environment editor,
appear as icons in the Environment Dis play. Start any of the applications in the Environment Di splay
dialog box by double-clicking the application icon.
Configuration applications start when you select them. Run-time applications start only if the
corresponding server is running. For example, Batch Scheduler and Batch Display do not start if Batch
Manager is not running. If you attempt to start a run-time application and its server is not started, an error
message appears.
A typical Log Viewer dialog box is shown here.
46 July 2019
Environment Management System AVEVA Batch Management User's Guide
Note: The list of applications appears vary, depending on what you have configured in the Environment
Editor dialog box.
If you are using I/A Series, the default Runtime Application Display dialog box looks slightly
different because it has an entry for SysTagMngr.
Note: The run-time applications are Windows services. You can stop and start the applications using the
Services Control Panel in Windows. However, the Environment Display may not detect these changes,
so it is highly recommended to let the Batch Management Environment Management system control the
services.
July 2019 47
AVEVA Batch Management User's Guide Environment Management System
When an application stops, a message indicating the application status appears in the S tatus
column of the dialog box. As each application stops, its Status changes from Started to Stopping,
and then, finally to Stopped.
An error message appears if you attempt to stop an application that has an interdependent client
application running.
To start a single run-time application
1. In the Application list of the Runtime Application Di splay dialog box, select the application.
2. Click Start App.
When the application starts, a message indicating the status of the application appears in the Status
column of the dialog box. As the application starts, its Status changes from Stopped to Starting, and
then finally, to Running.
The Environment Manager ens ures that the appropriat e server applications are running when you
attempt to start a single application. If the required servers are not running for the selected
application, an error message appears.
To stop a single run-time application
1. Open the Runtime Application Di splay dialog box.
2. From the Applications list, select the application that you want to stop.
3. Click Stop App.
When the application stops, a message indicating the status of the application appears in the Status
column of the dialog box. As the application stops, its Status changes from Started to Stopping, and
then, finally to Stopped. An error message appears if you attempt to stop an application that has an
interdependent client application running.
48 July 2019
Environment Management System AVEVA Batch Management User's Guide
3. In the Parameters list, select the item that you want to edit.
4. In the Value box, type the required value in accordance with the table below.
5. Click Change. If you do not click Change, the values that you entered do not update.
6. Click Close.
Parameter Description
Max locked files The maximum number of database files under lock manager
control. The default is 256.
July 2019 49
AVEVA Batch Management User's Guide Environment Management System
Parameter Description
Max locks in queue The maximum size of the file lock request queue.
The default is 128.
Max users The maximum number of users lock manager may control. The
default is 32.
Redundancy Time-out The number of seconds that the backup computer waits when a
communication failure occurs before it becomes a master
(applicable to redundant systems only).
User ID Time-out The number of seconds that the current User ID is retained before
it must be reentered. The default value of 0 retains the User ID
indefinitely.
Number Recipe Levels Number of levels to the recipe procedure. Valid values are 2 and 3.
The default is 3.
Allow Sync Approvals Allows the Recipe Edit user to optionally retain all recipe approvals
when syncing recipes. Options are 1 or 0.
A value of 0 completely removes this feature from RecipeEdit. The
default is 1.
Default Domain Determines the default domain that appear in most dialog domain
or user boxes. However, all domain or user boxes are editable. For
the default domain name to be enabled, you must exit and shut
down the Environment Display.
Max Shutdown Time Determines the maximum allowed time in sec onds to properly shot
down all services. We suggest setting this value to 120.
Batch Server ID Sets the Batch Server unique identifier. Enables multiple batch
servers to use a single history database. Use any character from
the alphabets A- Z.
Batch Server Name Sets the Batch Server Name. Enables multiple batch servers to
use a single history database. The default value is empty.
Version at Approval Specifies if RecipeEdit should export an XML version of the recipe
each time the recipe is approved for production. Enter 1 to ex port
or 0 to not export.
50 July 2019
Environment Management System AVEVA Batch Management User's Guide
Parameter Description
Version at Save Specifies if RecipeEdit should export an XML version of the recipe
each time the recipe is saved. Enter 1 to export or 0 to not export.
Version File Pat h Specifies the path where RecipeE dit should save its XML version
files. If left blank, it defaults to Config_A\RecipeVersions.
Exact Formula Match Specifies how the validation is performed for formula and recipe
parameters to be exactly matched during batch initialization. If this
parameter is set to 0, the formula inputs/outputs and proc ess
variables in the formula can be a subset of those in the recipe. If
this parameter is set to 1, the formula inputs/outputs and process
variables in the formula must exactly match those in the recipe.
The default value is 1.
Batch Auto Start Specifies whether the Batch Auto Start option should be hidden
or visible in the Batch Scheduler. If this parameter is set to 0, the
Batch Auto Start option is not displayed in the B atch Scheduler. If
this parameter is set to 1, the Batch Auto Start option is displayed
in the Batch Scheduler. The default value is 0.
July 2019 51
AVEVA Batch Management User's Guide Environment Management System
Parameter Description
Batch Auto Start Msg Displays the Batch Auto Start Confirmation messages while
initializing the batch. If this parameter is set to 0, the confirmation
messages are not displayed in the Batch Scheduler. If this
parameter is set to 1, the confirmation messages are displayed in
the Batch Scheduler. The default value is 1.
Note: System parameter changes do not take effect until you shut down and restart your batch system.
Adding Applications
To add an application
1. On the Environment Editor dialog box, click Add. The Add Applications dialog box appears.
Applications in the Environment Editor Application list are shown in the sequence in which the
batch system runs them.
The Applications list contains all the batch system and user defined applications that you can add.
52 July 2019
Environment Management System AVEVA Batch Management User's Guide
July 2019 53
AVEVA Batch Management User's Guide Environment Management System
Parameters Description
Seconds per Phase Length of time for which each new phase runs. The default value is30
seconds.
Write R/O Tags Enables writing to read-only tags in the batch system.
Parameters Description
Configuration Name of the configuration defined in the Process Log Edit or.
54 July 2019
Environment Management System AVEVA Batch Management User's Guide
Parameters Description
Restarting Batches All batches are resumed in their previous state upon system restart.
Phase/Batch Status The Batch Manager cont rols all active phases upon a single batch
phase becoming held or restarted.
Init Status Tags The Batch Manager sets all unit and segment status tags to the default
value defined in the Process Model.
LIFO Materials Material consumption uses LIFO instead of the default FIFO method.
Unit States Enables the use of Unit State system tags by Batch Manager. Refer to
Chapter 10, "Batch Management System.", for details on unit control
using Unit State tags.
COM Interface Enables the use of COM for batch hooks in Batch Manager.
Disable Warm Restart Disables loading and saving of warm restart information.
All batches are lost when the application stops.
Parm Timeout (sec) The time value, in seconds, of all the attempts to read a parameter tag
value at the end of a phase, before the Batch Manager stops trying.
The default value is 30 seconds. A value of zero disables retries. The
Batch Manager retries reading the parameters if the timestamp of the
parameter tags is older than the timestamp of the Done phase status
tag, or if the quality of the parameter tag is not good.
If the tag read operation times out due to the timestamp being old, a
message is logged to the System Management Console (SMC) Logger
and the last read value is used for the batch history. If the timeout
occurs due to bad tag quality, the batch is put on hold and the tag read
error notifications are sent to the batch clients.
Semi-Auto On Abort The batch is placed in Semi-A utomatic mode when a phase is
cancelled.
Batch Stats The time interval at which batch diagnostic data is dumped into the
BatchStats.txt file.
We highly recommend that you use this paramet er only under the
guidance of Technical Support.
July 2019 55
AVEVA Batch Management User's Guide Environment Management System
The following options must be manually entered in the EnvE dit using the New button. Name the
parameter something descriptive. Use the letter below for the Parameters field and select "Parameter
requires a Value" as needed.
Parameters Description
t (No System Tag Write) Batch Manager will not write system tags from
a warm restart at startup.
This option does not require a value.
Parameters Description
Manual Operations Enables the selection of manual operation from Batch Display.
Parameters Description
Access Name Access name for which IBCli obtains values for the assigned tags.
Backup App Secondary application from which IB Cli looks for tag values if there is a
communications failure.
Backup Node Secondary workstation from which IBCli looks for tag values if there is a
communications failure.
Backup Topic Secondary topic from which IB Cli looks for tag values if there is a
communications failure.
Connect Time (sec) Time aft er which an IBCli connect to the I/O server times out.
56 July 2019
Environment Management System AVEVA Batch Management User's Guide
Parameters Description
Disable Timestamp Disables the end-of-phase time stamp for this topic.
Force Us e Tag Name Use tag name instead of the defined item name.
Ping Time (sec) Time after which IBCli pings the I/O server to detect a connection loss.
Recon Time (sec) Time aft er which IB Cli attempts to re-establish communications with
the I/O server.
Response Time (sec) Time aft er which an IBCli request to the I/O Server times out. The
default is 15 seconds.
Verbose Mode Enables extensive messaging for IB Cli information and application
errors.
Parameters Description
Verbose Mode Enables extensive messaging for IBFS erv application errors and
information.
Parameters Description
Verbose Mode Enable extensive messaging for IBServ application errors and
information.
July 2019 57
AVEVA Batch Management User's Guide Environment Management System
Parameters Description
Advise All Performs an Advise All command on initialization. If you set this
parameter, all items referred to by Batch Management are subscribed
to receive dat a during the startup of the IBMX service.
Force Us e Tag Name Forces the use of the tag name instead of the defined name.
The following options must be manually entered in the EnvE dit using the New button. Name the
parameter something descriptive. Use the letter below for the Parameters field and select "Parameter
requires a Value" as needed.
Parameters Description
b (Quality time out) The number of seconds to wait for good quality when
an initial bad quality is received. After a request has received good
quality, any change to bad quality will be reported.
This parameter requires a value. The default is 10 seconds.
58 July 2019
Environment Management System AVEVA Batch Management User's Guide
Parameters Description
n (Readvise on Write Retry) This value specifies that the old (version
9.6) retry logic of readvising still occurs. This paramet er should
typically not be set since it can caus e BatchMngr to infinitely retry some
types of transition write failures.
This parameter defaults to false.
Parameters Description
Read Delta Defines how much a tag value must change before it is read and B atch
Management with I/A components is updat ed. The default is 1.0.
Write Delta Defines how much a tag value must change before it is written to the
I/A Series Control Suite (Control Processor).
The default is 1.0.
Read Scan Rate Defines the Object Manager read scan rate. The default is 1 second.
Write Scan Rate Defines the Object Manager write scan rate. The default is 2 seconds.
Mreaidx Poll Rate Defines the poll rate for Batch Management with I/A components
updates. The actual poll rate is the Mreaidx Poll Rate value times
Read Scan Rate value. The res ult is in milliseconds.
The default is 500 ms.
Unlinked Tag Warning Enables detection and logging to Batch Logger when tags are not
linked. The default is False.
Unlinked Tag Ignore When this option is enabled, tags that are not linked are not created by
IADriver. This allows other tag servers, such as SimMngr, to have the
opportunity to create and servic e those tags. Be careful when using
this option because unlinked phase or batch control tags that are
controlled by a simulator (that is, SimMngr) can cause unexpected
results in a production system. The default is False.
Max Precision Enables the maximum available resolution for tag values.
The default is False.
July 2019 59
AVEVA Batch Management User's Guide Environment Management System
Parameters Description
FMI Logical Name If the value is not defined, the batch system uses the name FBFMI by
default. FBFMI is the default I/A Series alarm destination name for
E vent Manager. You can assign a different alarm destination name, so
that when multiple batch servers are on the same I/A Series net work,
I/A Series detected alarms can be sent to the correct E vent Manager.
2. Type a Name (16 characters maximum), Type, Parameters, (optional), and select Client Of and
Server To designations (optional).
60 July 2019
Environment Management System AVEVA Batch Management User's Guide
Note: The Name must be unique from all other applications in the environment. If the Name is not
unique, the environment database might become corrupted.
Type Description
Single Runtime Designates the application as a run -time application that can only be
added once to the Environment system.
Multiple Runtime Designates the application as a run -time application that can be added
more than once to the Environment system.
The Client Of and Server To selections define the list item location in the Add Applications list. The
selection of this location is important since the custom application also appears in the Runtime
Applications Di splay dialog box. The order that the applications are listed is essential for proper batch
system operation. Editors do not appear in the Runtime Application Display dialog box and are placed
at the end of the Applications list in the Add Applications dialog box.
2. Type a Name (20 characters maximum), optional De scription (120 characters maximum), and
Parameter value. You can assign multiple parameters to your applications.
3. If your application requires paramet ers, select the Parameter Required check box.
July 2019 61
AVEVA Batch Management User's Guide Environment Management System
Note: Changing the Timeout value has a global effect; that is, Environment Display waits the specified
amount of time before it reports any application that is available for termination.
62 July 2019
Environment Management System AVEVA Batch Management User's Guide
Note: You must use one of the following options when you run the application. There is no feedback from
this application. It runs without any confirmation.
The following options are available and for the etcmds.exe application.
Option Description
July 2019 63
AVEVA Batch Management User's Guide Environment Management System
After an Exit and S hutdown occurs (- x), a c onfirmation message appears if the Environment Display
is active. You must manually acknowledge this message to complet ely close the Environment
Display application. However, failure to manually acknowledge this message does not result in any
problems or loss of data. All Batch Management services and databases close before this
confirmation message.
Starting the batch system automatically can be accomplished by creating a batch fi le that starts the
etcmds program. You must place this batch file in the Windows Startup program group.
timeout 150
etcmds -r
The start run-time option does not initiate any client applications such as Batch Scheduler and Batch
Display.
Exercise caution when restarting the batch system. The Batch Management System retains
knowledge of all active batches and phases. If the controller resets with a power outage, the batch
system and the controller logic may lose synchronization. You should implement procedures to
recover from such a situation. Options include manually restarting all previously active phases,
putting a UPS on the controller, or aborting all active phas es prior to shutdown.
64 July 2019
AVEVA Batch Management User's Guide
C HAPTER 4
Process Modeling
Configuring a process model requires a thorough understanding of the process and the cont rol system
that you want to model. Using the Proc ess Model Editor to configure a process model is not an overly
complicated task. You invest most of your development effort in revising the process model based on
information that you gather about the process of your facility and achieving your desired level of
flexibility.
Obtaining accurate process and instrumentation diagrams (P&IDs) of the process before configuring the
process model is very helpful. You can us e the P&IDs to determine the components and capabilities of
the process.
Batch processing facilities are typically comprised of a variety of vessels, and the equipment necessary
to move materials and products between the vessels. Use the Process Model Editor to configure a batch
control system in a manner that facilitates recipe creation and the running of recipes within batches.
In This Chapter
Types of Process Models .............................................................................................................. 65
Process Modeling Steps ................................................................................................................ 68
Process Modeling Components ..................................................................................................... 69
Working with Tags ........................................................................................................................ 81
Process Modeling Summary .......................................................................................................... 85
Example: Process Phases and Tags .............................................................................................. 85
Using the Model Edit or .................................................................................................................. 87
Additional Phase Configuration Information .................................................................................. 141
Validating the Process Model ...................................................................................................... 148
Printing Process Modeling Reports .............................................................................................. 149
Comprehensive Model
A comprehensive model approach uses all of the available configuration tools of the flexible Batch
Management system. It also provides complete material tracking and ease-of-use for the recipe builder
and operators.
July 2019 65
AVEVA Batch Management User's Guide Process Modeling
In a comprehensive model, the physical process is defined with units and connections. This gives the
sophisticated batch engine the information it needs to most efficiently orchestrate your batch process. It
also saves you from writing a lot of custom code in the cont rol system that would otherwise be required to
coordinate material trans fers between units. This is the preferred modeling technique since it leverages
the full power of the batch system.
A unit is defined as any vessel that can hold or process materials. Examples of units are bulk s torage
vessels, reactors, blenders, mixers, hold tanks, etc. Unique statuses can be defined that describe the
possible states that each unit can assume.
In addition to units, the comprehensive model includes information about the material transfer
capabilities between units. A connection is any means of getting materials from one units to another. A
connection might be automatic equipment that transfers product bet ween units such as pumps, values,
and piping. Or it might be a manual trans fer such as an operator carrying a tote. A semi -automatic
transfer is one in which an operator may be required to prepare some equipment such as a flexible pipe
connection or hose, before the automat ed transfers can take place. You can accurat ely model all of
these situations.
Some plants have single units with connections to multiple units while others have multiple connections
between two units. After all, there may be mor e than one way of getting material from unit A to unit B.
Connections can be further divided into segments. Connection availability is determined by the status of
all of the segments that are a part of the connection. Unique statuses can be defined that describe the
possible states that each segment can pot entially assume.
All units that have the same processing capabilities or perform the same function are grouped in the
same process class. All connections between the same two proc ess classes are grouped i n a transfer
class. The processing and transferring capabilities for each of these classes are defined with phases.
Each phase is an independent action that requires a unique set of parameters. Paramet ers configure the
phase based on the requirements of a recipe. A phase can be processed either automatically or
manually. The Batch Management System is responsible for coordinating unit -to-unit management.
Connectionless Model
A connectionless model approac h uses a subset of the available configuration tools of the flexible Batch
Management system. This approach requires a more complete understanding of the process by the
recipe builder and the operators. With some extra work in the control system logic, a connectionless
model approach can also provide complete material tracking.
In a connectionless model, the physical process is defined with units only. Units are the same in any
model, that is, any vessel that can hold or proc ess materials. Unique statuses can be defined that
describe the possible states that each unit can assume.
All units that have the same processing capabilities or perform the same function are grouped in the
same process class. The processing capabilities of each class are defined with phases. Each phase is
an independent action that requires a unique set of parameters that configure the phase based on the
requirements of a recipe. A phase can be processed either automatically or manually.
The connectionless model approach does not use connections and segments. The movemen t of
material between units is accomplished using complementary process phases. For example, to move
material from a reactor to a mix tank, a discharge phase associated with the reactor and a charge phase
associated with the mix tank are required. The recipe builder is responsible for coordinating these two
phases as part of the recipe procedure. Coordination of unit -to-unit management is the responsibility of
the operator or control system.
Proper material tracking within a connectionless trans fer requires the definition of input parameters for
the appropriate source class discharge phase, and the definition of output paramet ers for the appropriate
destination class charge phase.
66 July 2019
Process Modeling AVEVA Batch Management User's Guide
Hybrid Model
The hybrid model approach uses a combination of elements of the comprehensive and connectionless
models. It allows you to configure a process in a way that maximizes the benefits of both approaches by
providing all of the available configuration tools, material tracking and ease -of-use for the recipe builder
and operators.
In the hybrid model, the physical process is defined with units and connections. However, only the static,
non-flexible mat erial paths are defined as connections. Flexible paths or those that involve many
possible destinations are not defined as connections. Like the comprehensive and connectionless
models, all of the units that have the same processing capabilities or perform the same function are
grouped in the same process class, and all connections bet ween the same t wo process class es are
grouped into a transfer class.
Flexible paths that are not defined with connections use the complement ary process phase approach.
For more information on complementary process phases, see "Connectionless Model".
The most beneficial advantage of the hybrid approach is that it can minimize the overall number of
connections and associated tags in the model while preserving all the connections for paths that are
constant.
Model Comparisons
This table summarizes the benefits, liabilities and rec ommended usage for the comprehensive,
connectionless and hybrid model approaches.
July 2019 67
AVEVA Batch Management User's Guide Process Modeling
1. Define units. X X X
68 July 2019
Process Modeling AVEVA Batch Management User's Guide
Units
A unit is a group of processing equipment that performs one of the following functions.
The unit processes materials. Examples are reactors, mixers, blenders, and retorts.
The unit holds materials. Examples are manual add stations, hold tanks, bulk storage vessels, and
filling stations.
Units can have unique attributes, such as capacity or material of construction, which define the
processing capabilities or limitations of the unit.
July 2019 69
AVEVA Batch Management User's Guide Process Modeling
Connections
A connection defines a group of equipment such as valves, pumps, and flow meters that transfer
materials from a source unit to a destination unit. When you configure the process model, you must
define all connections between units. Some processes may have more than one connection bet ween the
same two units. In this case, you define each connection separately.
Phases
A Phase is an independent process action. Phase logic refers to the logical steps and sequences within
the control system that occur during the processing of a phase. You can construct phase logi c to
automatically accommodate formula paramet er values received during run time. Parameter values
originate within a recipe.
Phase Types
There are three types of process phases and four types of trans fer phas es. Process phases are
classified as either automatic, manual, or data. Trans fer phas es are classified as either automatic,
semi-aut omatic, manual, or dat a.
Automatic Phases
Automatic phases are executed by the control system. Therefore, there must be phase logic in th e
control system for the phas e to execute. Examples of automatic phases include bulk add, discharge,
heat, and mix.
Manual Phases
Manual phases are executed by the Batch Management System in conjunction with an operator. The
control system is not involved in the processing of a manual phase. Therefore, no phase logic is required.
Examples of manual phases include manual add and test.
70 July 2019
Process Modeling AVEVA Batch Management User's Guide
Semi-Automatic Phases
Semi-Automatic can be defined only for transfer phases. Successful processing requires the operator
and the control system to work together in order to successfully complete the phase. Semi -A utomatic
phases require cont rol system phase logic. An example of a Semi-A utomatic phase is drum add.
Note: When a batch is running in the Semi-Automatic mode, Batch Manager will stop at each phas e
before executing. The operator can execute the phase by clicking the Ack button, or skip the phase by
clicking the Skip button. The phase Abort button becomes the phase Skip button in Semi -A utomatic
mode if the phase is not yet started.
Note: Data phases are intended to be used to write a target value to a controller. If the process model
has only parameter target tags created, the target value is written to both the Target and Actual in history.
If Actual tags have been created in the process model, the Actual value from the controller is written to
history.
July 2019 71
AVEVA Batch Management User's Guide Process Modeling
Note: Download phases are intended to be used to write a Target value to a controller. If the process
model has only paramet er Target tags created, the Target value is written to both the Target and Actual
in history. If Actual tags have been created in the proc ess model, the Actual value from the controller is
written in history.
Phase Logic
Phase logic refers to the steps and sequences in a control system that are exercised during the
processing of a phas e. Phase logic makes the cont rol system program very structured. Phase logic is
required to s upport every phase defined as automatic or semi-automatic. For example, if a proc ess class
of blenders has three automatic phases, each blender in the proc ess class requires three phase logic
blocks. Similarly, phase logic blocks are required for each automatic or semi -automatic phase defined for
each connection assigned to a transfer class. The logic for each can be identical; however, the physical
I/O and internal address assignments are different for e ach blender in the class. Manual phases are
processed by the Batch Management System through interaction with operators and do not require
phase logic.
72 July 2019
Process Modeling AVEVA Batch Management User's Guide
The following diagram shows the structured int erface between phase logic and the Batch Management
System.
Phase Parameters
Phase parameters are used to configure, control, and monitor a phas e. There are four types of
parameters: formula parameters, phase control and status control bits, interlocks, and control buttons.
Each of thes e types is shown in the table following the definitions.
Formula Parameters
There are three types of formula paramet ers: input, output, and process variable.
A recipe consists of a header, a procedure, equipment requirements, and a formula. The formula
contains the defined input, output, and process variable parameters. Input and output parameters are
used to define and track material trans fer quantities. Process variable parameters define set points.
Parameter elements, such as high and low deviation, are used to quantify, define, and track the formula
when a batch is executed. Units of measure can also be assigned to process variables.
Interlocks
Each phase logic block may require interlocks. Interlocks provide safety and security for personnel and
equipment by preventing the processing of a phas e when other equipment or operators are not ready.
You can assign all tags within the system as an interlock to a phase. There is no limit to the number of
interlocks that you can assign to a phase. The physical interlocking is performed in the control system,
not by the batch control system. In this case, the batch control system serves as a diagnostic tool by
showing the status of int erlocks.
Control Buttons
Operators use control buttons to initiate or alter process act ions during phase processing. Cont rol
buttons are included in user interfaces for batch processing displays. Each phase has two available
control buttons. Cont rol buttons are associated with the values of discrete tags.
A summary of all phase parameters is shown in the following table.
July 2019 73
AVEVA Batch Management User's Guide Process Modeling
Output Target
Actual
Material Id
Segments
A segment is a subsection of a connection. You can define segments in the process model whenever
multiple connections share the same equipment and when it is necessary to prevent the automatic use of
common segments. Examples of segments are sections of common piping, shared valves, and shared
pumps. Defining and using segments is optional. If you do use segments in your model, it is not
necessary to assign segments for all the connections.
74 July 2019
Process Modeling AVEVA Batch Management User's Guide
Equipment Status
An equipment status repres ents the transition states of units or segments and is defined in the process
model. Equipment status is evaluated before the allocation of units or connections. The use of equipment
status is optional.
Units of Measure
A unit of measure is an attribute of a formula paramet er. You define units of measure in the process
model and define them only for process variables. An example of assigning a unit of measure might
involve a process variable formula parameter named Temperature. The unit of measure assigned to this
parameter might be Degrees F. Each proc ess variable in your process model should have a unit of
measure assignment.
Enumerations
An enumeration is a data class that is identified by a set name in which a list of integer values
corresponds to an alpha-numeric string value.
The enumeration dat a class is available for process variable formula parameters. You use the Process
Model Editor to define enumeration data class set names and values. Associate each enumeration set
name with at least one enumeration value and name. An example of an enumeration is the set name
Boolean. In this example, you could associate the values 0 and 1 with the names False and True,
respectively. The use of enumerations is optional.
Tags
A tag is a collection of data or information that is given. Tags are named and defined with the Process
Model Editor. A tag usually corresponds to a control system data point. Tags are also used to configure
batch control system applications such as recipes and reports. All tagnames must be unique.
The batch control system has eight tag types: unit tags, process tags, connection tags, transfer tags,
system class tags, system unit tags, system connection tags, and system segment tags. Each type has a
unique responsibility as described in the following table.
Value from
Control
Tag Type Use System Comments
July 2019 75
AVEVA Batch Management User's Guide Process Modeling
Value from
Control
Tag Type Use System Comments
Trans fer Process Modeling: No Note 1: For each transfer tag, the
Trans fer Phase Cont rol Buttons Model Editor aut omatically
Trans fer Phase Cont rol Bits creates one connection tag for
Trans fer Phase Status Bits each connection in the trans fer.
Trans fer Phase Formula
Parameters
Recipes:
Transition Logic
System Unit All SCADA Applications No Note 1: System Unit tags are
automatically created for each
unit assigned to a process class.
76 July 2019
Process Modeling AVEVA Batch Management User's Guide
Value from
Control
Tag Type Use System Comments
Unit Tags
Unit tags define data points that are uniquely associated with a single processing unit.
Process Tags
Process tags define all the data points that are common to all the units associated with a process class.
Each automatically defined proc ess tag generates a set of unit tags for each member in the process
class. For example, if there are three units in a process class and one process tag is entered, three unit
tags are created: one for each unit in the process class. Each of these unit tags corres pond to a specific
address in a control system. Process tags are indirectly associated to the control system by way of the
unit tags that they create.
Process tags have an abstract nature; that is, they are not directly associated with the control s ystem.
Process tags represent a set of unit tags. Process tags become unit tags when a batch is executed in a
process. Process tags can be used as part of recipe transition logic.
Connection Tags
Connection tags define data points uniquely associated with a connection.
Transfer Tags
A transfer tag defines the data points that are common to all the connections associated with a transfer
class. Each automatically defined transfer tag generat es a set of connection tags for each member in the
transfer class. For example, if there are three connections in a transfer and one transfer tag is entered,
three connection tags are created; one for each connection in the transfer class. Each of t hese
connection tags correspond to a specific address in a control system. Transfer tags are indirectly
associated with the control system by way of the connection tags that they create.
Trans fer tags are abstract in nature; that is, they are not directly associated with the control system. They
represent a set of connection tags. Transfer tags become connection tags when a batch is executed in a
process. Transfer tags may be used as part of recipe transition logic.
System Tags
System tags are automatically created by the Model Editor when a proc ess class, transfer class, or
segment is added to the model. There are four types of system tags:
System class tags
System unit tags
July 2019 77
AVEVA Batch Management User's Guide Process Modeling
78 July 2019
Process Modeling AVEVA Batch Management User's Guide
July 2019 79
AVEVA Batch Management User's Guide Process Modeling
Using Process and Transfer Tags versus Unit and Connection Tags
The following guidelines can help you decide when to define a tag as a process, transfer, unit, or
connection tag.
Any data point that is common to all units in a proc ess class can be entered as a process tag.
Any data point that is common to all connections in a transfer class can be entered as a transfer tag.
Any data point that is not common to all units in a proces s class must be entered as a unit tag.
Any data point that is not common to all connections in a trans fer class must be entered as a
connection tag.
Any data point that is to be used in recipe transition logic must be ent ered as either a process or
transfer tag.
Any critical phase logic data point must be entered as a process or transfer tag. The critical phase
logic data points are required by the Batch Management System to control, monitor, and configure a
phase based on the requirements of a recipe.
The following table lists the critical phase logic dat a points.
80 July 2019
Process Modeling AVEVA Batch Management User's Guide
Tagname Structure
The following table shows the tagname structure.
Number of
Name Characters
Phase Name 16
Parameter Name 16
Element Name 5
July 2019 81
AVEVA Batch Management User's Guide Process Modeling
!,@,?, #, $, %, _, &
Delimiters
The following table shows the delimiters for tagnames.
Delimiters
Automatically
Appended
Tag Classification Parameter Name Element Name Description
82 July 2019
Process Modeling AVEVA Batch Management User's Guide
Automatically
Appended
Tag Classification Parameter Name Element Name Description
July 2019 83
AVEVA Batch Management User's Guide Process Modeling
Automatically
Appended
Tag Classification Parameter Name Element Name Description
Tag Description
Each tag can be given a 120-character description. This allows for complete documentation of every tag
in the system.
Data Class
A tag can be classified as discrete, analog, string, or enumeration. Discrete tags have two logical states;
zero (0) and one (1). Analog tags reflect the process status with a numerical value and can have many
states. String tags are identified by an alphanumeric value and may contain up to 80 characters.
Enumeration tags are identified by an integer value which represents a textual enumeration name.
Access Mode
Access Mode defines whether a tag is Read-only or Read/Write. A check box is used to select the access
mode for a tag.
84 July 2019
Process Modeling AVEVA Batch Management User's Guide
July 2019 85
AVEVA Batch Management User's Guide Process Modeling
86 July 2019
Process Modeling AVEVA Batch Management User's Guide
Example Plant
The following diagram shows an example plant structure.
July 2019 87
AVEVA Batch Management User's Guide Process Modeling
WARNI NG! Use caution when you update your configuration from the Environment Display dialog box.
When you updat e the configuration, the Process Model configuration dat abase is overwritten by the
Process Model run-time dat abase. All configuration changes are lost.
Element
Deleted Related Deletions
88 July 2019
Process Modeling AVEVA Batch Management User's Guide
Element
Deleted Related Deletions
Trans fer Class All transfer tags associated wit h the transfer
All connection tags resulting from the trans fer tags
All transfer phases associated with the class
Note: You cannot delete a unit that is assigned to a train until you remove the unit from each train. When
you delete a unit that is assigned t o a train, the t rain names in which the unit has been assigned are listed
in the Log Viewer.
For more information on creating trains, see Opening the Train Editor.
Note: The Model Editor dialog box does not open if you are runni ng the Train Edit or or the TagLinker.
You cannot start more than one instance of Model Editor.
July 2019 89
AVEVA Batch Management User's Guide Process Modeling
The Uni ts tab becomes active. All the available units in your process model are listed in the Units
list. The selected unit name appears in the Name box. Optional information about the unit appears in
the De scription box.
Deleting Units
Follow these steps to delete a unit from the process model.
To delete a unit
WARNI NG! Deleting a unit affects other elements of the overall process model. Always back up your
work before making changes.
1. From the Units list, select the unit that you want to delete.
2. Click Delete.
90 July 2019
Process Modeling AVEVA Batch Management User's Guide
If y ou attempt to delete a unit that is part of a train, a warning box appears, and the unit is not deleted.
In this case, you must first delete the unit from the train, and then delete the unit from the model.
July 2019 91
AVEVA Batch Management User's Guide Process Modeling
Attributes are not available for tags of String or Enumeration data types.
2. Select the desired attribute Name.
3. Click Apply or OK as appropriate.
92 July 2019
Process Modeling AVEVA Batch Management User's Guide
The Proce sse s tab becomes active. All the available process classes (processes) in your process
model are listed in the Proce ss Cla sse s list. When you select a process class, its name appears in
the Name box. Information regarding the process class appears in the Description if you enter such
information.
WARNI NG! Deleting a process class affects other elements of the ove rall process model. Always back
up your work before making changes.
July 2019 93
AVEVA Batch Management User's Guide Process Modeling
Unit state tags are discrete, and are us ed by the control system to inform Batch Manager that the status
of a unit is alarm, held, run, or ready.
Unit control and state tags are automatically created for eac h unit in a class when you enable the Use
Unit Control/State Tags check box.
To enable unit control and state tags for a process class
1. From the Proce ss Cla sse s list, select the required process.
2. Enable the Unit Control/State Tags check box.
3. Click Change to associate the unit control and unit state tags with the Proc ess Class.
The Uni ts list shows all the units (unassigned and previously assigned units) that you can assign to
the process class. By default, all units that were previously assigned are selected.
4. From the Units list, select the desired units.
94 July 2019
Process Modeling AVEVA Batch Management User's Guide
3. If you are adding a new attribut e, type a name in the Name box (16 characters maximum).
4. Click Add.
The Proce ss Attribute s list shows the attribute name.
Note: The editor verifies all new attribute names to ensure validity and uniqueness. You are prompted to
change the name in the event that you ent er a duplicate.
July 2019 95
AVEVA Batch Management User's Guide Process Modeling
Note: For every process tag that is created, unit tags are automatically generated for each unit
assigned to the class. These unit tags, not the process tags, are associated to data points in the control
system. However, the process class tags are available for assignment to formula parameters and to the
recipe builder through the transition logic expression builder.
96 July 2019
Process Modeling AVEVA Batch Management User's Guide
2. Click Tags.
The Edit Proce ss Tags dialog box appears.
All tags previously assigned to the Process Class are listed.
3. Type or edit the Phase Name, Parameter Name, or Element Name, Description, as described
earlier in this section.
4. Select a Data Class and an Acce ss mode.
5. Click Add if you are creating a new tag or click Change if you are modifying an existing tag.
6. Click Close.
July 2019 97
AVEVA Batch Management User's Guide Process Modeling
98 July 2019
Process Modeling AVEVA Batch Management User's Guide
July 2019 99
AVEVA Batch Management User's Guide Process Modeling
The dialog box shows the configuration for the selected process class and phase.
2. Configure the phase cont rol and phase status bits as required.
Configuring Interlocks
Use the Edit Proce ss Interlocks dialog box to configure interlocks for a proc ess class phase. To assign
interlocks, you must associate unit tags with the process phase and process class.
To configure interlocks
1. On the Edit Pha ses dialog box, click Interlocks.
The Edit Proce ss Interlocks dialog box appears.
The dialog box shows all the available units in the process class and any tags (process
class/transfer) assigned to the selected unit.
Phase
Control/Status
Phase Logic Parameters Formula Interlocks and
Phase Name Required Required Parameters Control Buttons
Process variables have six elements. The parameter name defines a family of information. Elements
define the members of the family. The six elements for process variables are Target, Actual, High
Deviation, Low Deviation, High Limit, and Low Limit.
The configuration of the parameter type, data class, and elements is extremely import ant. The Batch
Management System controls a phase and interacts with both the control system and the operat or based
on the configuration of the parameters.
The following sections contain a detailed explanation of the results that you can achieve for different
parameter configurations.
Target Element
The target element is available for all parameter and data class combinations.
To configure the target element
Select the Enable Display check box if the target value is to be shown during the run-time
processing of the phase. If a tag is assigned to the element, the value assigned in the recipe is
written to the control system by the Batch Management System prior to the start of the phase.
Typically, the phase logic uses the target value to determine when to end the phase.
If the operat or is allowed to modify the target, enable the Edit Allowed check box.
If the operat or must modify the target, enable the Edit Required check box.
You can assign a Default Value to the target element for process variable parameters of any dat a
class.
Configuring the Actual Element
The Actual element is available for all parameter and data class combinations.
To configure the Actual element
Select the Enable Display check box if the actual value is to be shown during the run -time
processing of the phase. If a tag is assigned to the element, the Batch Management System reads
the value of the tag, in real time, from the control system during the processing of the phas e.
If the operat or is allowed to modify the Actual value, enable the Edit Allowed check box.
If the operat or must modify the Actual value, enable the Edit Required check box.
Configuring the High and Low Deviation Elements
High and Low Deviation elements are available for analog process variable parameters and analog input
parameters and are expressed as a percentage of the target value. If tags are assigned, the Batch
Management System calculates and writes the deviation values to the control system prior to the start of
the phase. Deviations are recalculated if changes are made to the target or deviation elements. For
example, if the target value is 100, the high deviation is 3%, and the low deviation is 5%, the
down-loaded high and low deviation values are 3 and 5, respecti vely.
To configure High and Low Deviation elements
1. Select the appropriat e Enable Display check box if either of the element values are to be shown
during the run-time processing of the phase. Typically, the phase logic uses the deviations to
establish alarm limits or an acceptable phase c ompletion range for the actual value of the parameter.
2. If the operat or is allowed to modify either of the deviation values, enable the Edit Allowed check
box.
3. If the operat or must modify either of the deviation values, enable the Edit Required check box.
4. You can assign a Default Value to the high and low deviation elements fo r analog proc ess variable
parameters only.
Configuring the High and Low Limit Elements
The high and low limit elements are available for analog process variable parameters and are used by
the Recipe Editor and the Batch Management System to prevent the entry of out-of-range values. If tags
are assigned, the Batch Management System writes the limit values to the control system before the start
of the phase.
To configure High and Low Limit elements
1. If either of the element values are to be shown during the run-time processing of the phase, select
the appropriate Enable Di splay check box.
2. You can assign a Default Value to the high and low limit elements.
Configuring the Preact Element
The preact element is available for analog input parameters.
To configure the Preact element
1. If the Preact value is to be shown during the run-time processing of the phase, select the Enable
Di splay check box.
2. If a tag is assigned to the element, the Preact value defined in the process model is written to the
control system by the Batch Management System prior to the start of the phase.
Configuring the Lot Code Element
The lot code element is available for analog input parameters.
To configure the Lot Code element
1. If the Lot Code value is to be shown during the run-time processing of the phase, select the Enable
Di splay check box.
2. If the operat or is allowed to modify the Lot Code, enable the Edi t Allowed check box.
3. If the operat or must modify the Lot Code, enable the Edit Required check box.
4. If a tag is assigned to the element, the value assigned by the operator or the cont rol system is to be
written to the Batch Management System during the processing of the phase.
Configuring the Material ID Element
The Material ID element is available for analog input and output paramet ers.
To configure the Material ID element
1. If the Material ID value is to be shown during the run-time processing of the phase, select the
Enable Display check box.
2. If the operat or is allowed to modify the Material ID, enable the Edit Allowed check box.
3. If the operat or must modify the Material ID, enable the Edit Required check box.
Formula parameter configurations for the automatic process phase examples given earlier are shown in
the following table.
Target
Element
Actual
Element
Preact Element
Material Id Element
Manual and data process phases do not have control system phase logic; therefore, they do not have tag
assignments for phase cont rol and status bits or interlocks. Control buttons are optional for manual
phases but are not available for data phases. Formula Parameters are optional for both phase types.
Manual and data phases are run by the Batch Ma nagement System. Manual process phases must be
acknowledged by the operator before they are considered done. Acknowledgment can only be
accomplished once all of the phase edit and comment requirements have been satisfied. Dat a phases do
not require operator acknowledgement.
You can configure the batch control system to handle many different manual and data process phases.
This section describes several examples that can be configured. The phase names are used only for
example purposes.
Phase Name: QASample (Manual)
The instruction is given to the operator to take a sample of product to QA for testing.
Phase Name: OpAction (Manual)
This phas e is a general purpose message phase. This phase can be used anytime the operator must
be instructed to perform a task. The instructions are entered as part of the recipe.
Phase Name: Agitate (Manual)
The operator is instructed to manually start the agitator, a timer, and adjust the agitator speed.
Phase Name: MixSpeed (Data)
In the middle of a mixing phase, the mix speed must be set to a higher speed. The MixSpeed phase
simply downloads the new set point. The existing tag from the mixing phase can even be used.
Phase Name: EqStatus (Data)
This phase uses the Equipment Status (US TA T) tag from the unit in the target of its S tatus string
parameter. You can use this phase in a product recipe to set equipment statuses to values such as
Used or Dirty after a product recipe or Clean after a cleaning recipe.
Phase Name: GetInfo (Data)
This phase reads data from an external instrument to log into the batch history. Perhaps the
temperature of the batch is desired but there really is no automatic phas e for monit oring this value.
You can use the GetInfo phase at critical points in the batch to capture a temperature reading.
Possible phase parameter configurations for the manual and data process phase examples are shown in
the following table.
Phase
Control/Status
Phase Logic Parameters Formula Interlocks and
Phase Name Required Required Parameters Control Buttons
Note: Because of the relationship that connections have with units and their parent trans fer class, you
cannot change the source or destination units. To change the source or destination unit for a connection,
you must delete the existing connection and create a new connection.
All available segments are shown in the Segments list box. Segments that were previously assigned
are selected by default. In the example shown, the selected segments are being assigned to the B ulk
Tank1 to ReactorA connection.
2. In the De scription box, you can optionally type text describing the trans fer (120 characters
maximum).
Assigning Connections
Each transfer class can have one or more connections assigned to it.
To assign connections to a transfer:
1. On the Transfers tab, click Assign Connections.
The Assign Connections to Transfer dialog box appears. All unassigned connections, and any
connections previously assigned to a trans fer that have source and destination units belonging to the
transfer source and destination process class assignments, are shown in the list. All previously
assigned connections are selected.
Note: It is important to remember that for every trans fer tag that you create, connection tags are
automatically generated for eac h connection assigned to the class. Thes e connection t ags, not the
transfer tags, are associated to data points in the control system. However, the transfer class tags are
available to the recipe builder through the transition logic expression builder.
2. Type the appropriate Name and De scription as described earlier in this section.
3. Click the Phase Type arrow, and select Automatic, Semi-Auto, Manual, or Data as desired.
4. Click Add to include the phase in the list or click Change if you have edited an existing phase.
4. Click Assign Tag. If you want to remove a tag that is associated with the cont rol button, click Clear
Tag. Remember that modifying any assignments may affect other parts of your overall process
model. The Tag Selection dialog box appears.
The Edit Phase Control/Status dialog box appears. The dialog box shows the configuration for the
selected trans fer class and phase.
2. Configure the phase cont rol and status control bits as required.
For more information on Phase Control/Status bits, see Additional Phase Configuration Information.
Interlocks
Use the Edit Transfer Interlocks dialog box to configure interlocks for a transfer phase. Interlocks are
not available for data type phases.
To configure interlocks
1. On the Edit Pha ses dialog box, click Interlocks.
The Edit Transfer Interlocks dialog box appears.
The dialog box shows all the available units in the transfer class and any tags (proc ess class or
transfer) assigned to the selected unit.
Formula Parameters
Use the Edit Formula Parameters dialog box to configure formula parameters for a transfer class
phase.
To configure formula parameters
On the Edit Pha ses dialog box, click Formula Parameters.
The Edit Formula Parameters dialog box appears.
The dialog box shows all the Formula Paramet er configuration for the selected Transfer Class and
Phase.
For detailed information on configuring Formula Parameters, see Configuring Formula Parameters.
Automatic and semi -aut omatic transfer phases must have control system phase logic, and therefore,
must have phase control and status bits defined. Interlocks, control buttons, and formula parameters are
optional. You must configure formula parameters for the transfer phases that are used to record inputs or
outputs.
When the Batch Management System encounters an aut omatic trans fer phase with an input type
parameter, a bulk material addition is typically being made to the batch. The Batch Management System
finds the storage unit that holds the material in t he Materials database, and det ermines which connection
(whic h phase) t o process to successfully complete the trans fer. The B atch Management System updates
the material usage record in the Materials database based on the actual amount used.
For more information on material location assignments, see Using the Material Loc ation Assignment
Editor.
When the Batch Management System encounters a Semi-automatic transfer phase with an input type
parameter, typically a non-bulk material addition is being made to the batch. Because the phase is
Semi-automatic, the operat or must acknowledge the start of the phase. Also, the Batch Management
System does not search for the location of the material in the Materials database. However, if the
material has been assigned to a unit, the Batch Management System updates the material usage rec ord
in the Materials database based on the actual amount used.
You can configure the batch control system to handle many different automatic and semi -automatic
transfer phases. The following section describes several examples that you can configure. Most of the
phase names correspond to the trans ferring capabilities associated with the example plant referenced
earlier. The DrumAdd and LoadBulk phases are used only for example purposes.
Phase Name: BulkAdd (A utomatic)
Raw materials stored in bulk units are transferred to other units in the plant. Measurement of the
actual amount trans ferred is made using a flow meter, mass flow meter, or weigh scale. A record of
the quantity added to the batch is required.
Phase Name: Separate (Automatic)
Material is trans ferred through a separator from one unit to anot her unit. There is no actual
measurement of the by-product output of the separator, but a record of this output is required.
Phase Name: Package (Automatic)
The finished product is transferred from a processing unit to a finished goods package of some form.
The operator initiates the start of the fill process for each package. Control of the trans fer and
measurement of the actual amount is performed by the control system. A record of the fini shed
product and the number of packages is required.
Phase Name: Condense (Automatic)
Material is trans ferred from one unit to another through a condenser. There is no record of material
usage or production out put.
Phase Name: Transfer (A utomatic)
Material is trans ferred from one unit to another. There is no record of material usage or production
output.
Phase Name: LoadB ulk (Automatic)
The finished product is transferred from a processing unit to a bulk unit (railroad car, tanker, and
storage tank). The operator is responsible for starting the transfer. Control of the transfer and
measurement of the quantity transferred is performed by the control system. A record of the finished
product output is required.
Phase Name: DrumAdd (Semi -Automatic)
Material is trans ferred from a drum unload station to one unit. The operator must acknowledge that
the drum and pump are in place and properly connected before the phase runs. The drum unload
station is used to add many different materials.
Possible phase parameter configurations for the aut omatic and semi -automatic trans fer phase examples
are shown in the following table.
Phase
Control/Status Interlocks and
Phase Phase Logic Parameters Formula Control
Name Type Required Required Parameters Buttons
Target
Element
Actual
Element
Preact
Element
Lot Code
Element
Material Id
Element
Manual and data phases do not have control system phase logic, and therefore, do not have tag
assignments for phase cont rol or status control bits or interlocks. Using control buttons is optional wit h
manual phases. You can optionally assign formula parameters to either type of phase.
Manual and data phases are run by the Batch Management System. An operator must acknowledge all
manual transfer phases before they are considered done by the batch system. Acknowledgement can be
accomplished only after all the phas e edit and comment requirements have been satisfied. Data trans fer
phases do not require operator acknowledgement.
You can configure the batch control system to handle many different manual and data trans fer phases.
The following examples demonstrate several manual and data phase configurations. The phase names
are only for examples.
Phase Name: ScaleAdd (Manual)
Material is weighed on a scale that is attached to the control system. The operator is required to
enter the lot code for the mat erial. When the weight, which is being updated on the Batch Display, is
within the acceptable range, the ope rator presses the acknowledge button. The operator then
manually transfers the mat erial to the appropriate processing unit.
Phase Name: ManA dd (Manual)
Material is weighed on a scale that is not attached to t he control system. The operator must enter the
actual weight, press the acknowledge button when the weight is acceptable, and then manually
transfer the material to the processing unit.
Phase Name: AckAdd (Manual)
Materials are pre-weighed prior to processing the final production batch. As materials are added, the
operator acknowledges eac h addition. The Batch Manager records the material usage by using the
target value as the actual value.
Phase Name: PartsAdd (Manual)
The material addition may have two parts. For example, 60 pounds of salt must be added, and salt
comes in 50-pound bags. A scale is attached to the control system.
One 50-pound bag is added to the batch. The operator enters 50 as the actual value, enters the
material lot code, and then acknowledges that the phase is complete. The Batch Manager treats this
action as a partial addition.
The remaining material (10 pounds) is weighed on the scale. When the weight is within the
tolerances, the operator ent ers the material lot code and acknowledges that the phase is complete.
Phase Name: Fill (Manual)
Material is transferred from a bulk source to a finished goods container where the operator manually
controls the transfer.
Phase Name: External (Data)
This phase reads and writes information to an external system. Target values are writes; Actuals are
reads.
The following table shows the valid phase parameter configurations for the manual and data transfer
phase ex amples described in this section.
Phase
Control/Status
Phase Logic Parameters Formula Interlocks and
Phase Name Required Required Parameters Control Buttons
Phase
Control/Status
Phase Logic Parameters Formula Interlocks and
Phase Name Required Required Parameters Control Buttons
Target
Element
Actual
Element
Preact
Element
Lot Code
Element
Material Id
Element
3. Click Add to include the equipment status in the process model, or click Change if you are editing an
existing Name or Description.
3. Click Add to include the Set Name in the process model or click Change if you are editing an
existing Set Name.
4. On the Enumerations pane, enter a Name (16 characters maximum) and a Value (Integer,
0-32767). By default, the Value is automatically assigned.
5. Click Add to include the Name and Value in the process model or click Change if you are editing an
existing enumeration.
2. Configure the phase cont rol and phase status bits as required.
Use any of the following methods to automatically create phase control and status tags:
Select the desired control and status tags by enabling the appropriate check box for each option.
Click the Select Required button to enable the check box for the Start, Re set, Ready, and Done
options. They represent the minimum set of tags that must be created.
Press the Select All button to enable the check boxes for all the options.
Using the Interface Buttons
After the check boxes are enabled for the required control and status options, click Create Tags to
create and assign the appropriate tags.
Use Clear All to clear all the check boxes for all of the control and status options.
Use Delete Tags to remove the tags from the options selected. A warning message mus t be
acknowledged before you can delete the tags.
Use Clear Tag to remove the tags from the option selected.
Example – Automatic Tagnames
Process Class: Reactors
Phase Name: Heat
Given the above Process Class and Phase Names, the tagnames shown in the fol lowing table are
created.
Process and transfer phases can have any number of input, output, or process variable formula
parameters.
UOM (optional, process variables only)
Data Class (required: analog, discrete, string, or enumeration)
Each formula parameter must be assigned a data class type. This assigned dat a class determines
what data class of tags are available for assigning to the elements of each parameter type. For
example, only analog tags can be assigned to the elements of an analog parameter. Process
variable parameters can be defined as either analog, discrete, string, or enumeration. Input and
output parameters are defined as analog and cannot be changed.
Note: Us e the Data Class control to change the data class of a process variable. If you change the data
class by accident and answer No to the dialog box prompt, the control may not reset to the true data
class. In this situation, reselect the correct data class.
Input Analog
Output Analog
You can assign each parameter element to a tag. Tags are creat ed and assigned, either
automatically or manually.
Each element can be further configured for operator interaction:
o The Enable Display check box specifies whether or not the element is to be shown to an
operator.
o The Edit Allowed check box specifies whether or not an operat or is allowed to modify the
element at run time.
o The Edit Required check box specifies whether the operator is required to modify the element
at run time. However, the Edit Required option applies only to the end of the phase.
An Acknowledge on Entry setting used in conjunction with an Edit Allowed target element can be
used to effectively represent an edit that is required prior to the start of the phase.
Element Default Values (optional)
You can define default values only for proc ess variable formula paramet er elements. The default
value is set to zero if it is not explicitly defined. These values are used by the Batch Management
System unless they are changed in the recipe.
The High Limit and Low Limit default values are used by the Recipe Editor to prevent the user from
entering an out of range value. When an out of range value is entered into a recipe, an error
message appears and the Recipe E ditor clamps the value to the default limit.
Note: You cannot delete manually created tags. Only automatically created tags can be deleted.
All automatic phases have tag assignments for (minimally) the Start, Reset, Ready, and Done phase
control and status bits.
All semi-automatic phases have tag assignments for (minimally) the Start, Reset, Ready, and Done
phase control and status bits.
All tags assigned to an Edit Allowed or Edit Required actual element of a formula parameter must
have a read/ write access mode.
At least one equipment status has been defined.
One of the defined equipment statuses has been assigned as the default status.
To validate the process model
1. From the File menu on the Proce ss Model Editor dialog box, click Validate.
If the validation is successful, the Validation dialog box indic ates that the process model
configuration is valid. If validation errors exist, the associated phases and tags are shown along with
a validation error message. You can use the information to troubleshoot the process model
configuration.
2. Click Close.
4. If you want to print your reports to a file, enable the Print to File check box. You are prompted lat er
for the name of the file that you want to print to.
5. If you want to print multiple copies of the reports, select the quantity in the Number of Copies box.
6. Click OK to print the reports.
C HAPTER 5
Tag Linker
You use Tag Linker to accomplish the following tasks:
Configure Batch Management tags as internal memory tags.
Link tags to an item of an external I/O Server or DAServer application.
Tag Link er includes powerful filtering and selection tools so that you can make changes to multiple tags
at once. You can select tags and export their configuration to a comma --separated variable (.cs v) file and
then import the information into InTouch using the DBLoad utility.
In This Chapter
Overview.................................................................................................................................... 151
When to Use Tag Linker.............................................................................................................. 152
Starting Tag Linker ..................................................................................................................... 153
Defining Access Names .............................................................................................................. 153
Configuring Tags ........................................................................................................................ 156
Validating Tags ........................................................................................................................... 158
Exporting Tags ........................................................................................................................... 158
Importing Tags ........................................................................................................................... 164
Interacting with the Control System .............................................................................................. 164
Overview
Within the Batch Management environment, tags are used to interconnect with the batch control
program. Each tag has a unique name and is associated with a specific class of data. You create tags
during Batch Management application development.
For Batch Management applications to communicate with oth er applications and control systems, you
must properly configure all the required tags. Communication between B atch Management and other
applications is accomplished using SuiteLink. Batch Management can also integrate to an ArchestrA
environment using the Message Exchange (MX) protocol.
Note: It is required that only SuiteLink I/O Servers be used with Batch Management. SuiteLink provides
the robust and reliable communications protocol that Batch Management demands.
Use Tag Linker to select, edit, and then export Batch Management tags to a comma separated variable
(.csv) file. The .csv file contains InTouch -compliant tagnames, including access names. You can then
import the tags in the .csv file into the InTouch application using the InTouch DBLoad utility.
For more information on browsing and referencing remote Batch Management tags from InTouch, see
InTouch Batch Tag Browsing and Referencing.
Tag Linker is associated with two categories of Batch Management tags; process model tags and Batch
Management function tags.
Process model tags are all the unit, connection, and segment tags that are generated when you develop
the process model. These are the only tags that are shown and can be edited by the Tag Linker. P rocess
model tags are divided into two types: system tags and equipment tags.
System tags are associated with units, connections, and segments and are generated by Batch
Management as the units, connections, and segments are created in the model. System tags are not
associated with phases and are therefore distinguished by a triple-dot in the tagname.
Most of these tags are string tags. Although the Access of these tags can be changed, we strongly
recommend that these tags be left as Batch Management memory tags. Adverse performance can
occur if these tags are written to by anything but B atch Management. The exception to this rule is the
equipment status tag (Unit...US TA T or Segment...USTA T).
Equipment tags are associated with a specific phas e or phas e parameter and are generated when a
phase is created. These tags are generally owned by an I/O Server, InTouc h, or another server
application; however, they can be defined as Batch Management memory tags for simulation
purposes.
Note: Your work is dynamically saved in the configuration link database as you edit and make changes
to the linker configuration.
You can use Tag Linker to import and export information to a file that you can open in a spreadsheet
application, such as Microsoft Excel. This allows you to easily configure the batch system tags.
2. Double-click the TagLinker icon. The Tag Linker dialog box appears.
3. View and configure tags. You can access system functions from the File menu and configuration
functions from the Edit menu.
Before you use a Galaxy, you must enable the InB atch MX Service.
To enable the InBatch MX Service
1. On the Environment Di splay dialog box, click Environment.
The Environment Editor dialog box appears.
2. Click Add.
The Add Applications dialog box appears.
3. From the list of applications, select IBMX and click OK.
4. Click Update Environment.
To add Galaxy as the Access Name
1. From the Access Names list, click Galaxy.
Note: You cannot change or delete the Galaxy default Access Name.
Configuring Tags
This section describes how to configure tags in a batch system.
Selecting Tags
By default, the Tag Linker dialog box is initially empty to indicate that no tags are selected.
To select tags, you can filter information by using the View Filter Selection dialog box.
To filter tags
1. On the View menu, click Filter.
The View Filter Selection dialog box opens.
The View Filter Selection dialog box lists all the Units, Connections and Segments that are
available in the current configuration Process Model database.
2. Select appropriate equipment from each list. Use the Ctrl or Shift key to select multiple items.
3. Select the Analog, Discrete, String, Enumeration, or Attribute s option to refine filtering based on
data class. Data classes are defined when tags are creat ed.
4. Click OK or Apply to update the lists in the Tag Linker.
Note: If you are working on a development client, you must install an instance of the ArchestrA IDE on
that client so that you can browse to Galaxy objects and attributes.
Each area has a check box to the left of the group box. Each check box enables the use of the
particular area. If you select only one tag, all these check boxes are selected.
In Single or Multiple selection mode (accessed through the View menu), clearing a selection check
box results in the associated configuration parameters being ignored when you click the Apply
button. This limitation is useful for changing only certain properties on multiple tags. When you use
Multiple Selection and attempt to change the configuration settings for more than one tag, you must
enable both the check box and the setting within the area.
WARNI NG! When you are in multiple selection mode, ensure that your modifications are appropriate for
all selected tags. Changes cannot be undone.
3. In the Item Definition area, configure parameters that are relat ed to the tagname and properties:
o Click Item to provide a specific location of data, such as a tagname or a PLC register. If your
Access Name is Galaxy, you can browse to select the object attribut e.
Item names cannot exceed 128 characters. This limitation also applies to Application Server
user-defined attribute (UDA ) names.
Note: The Brow se button is enabled only when you click Acce ss and select Galaxy in the Access
Name dialog box.
Optionally, you can type the complete hierarchical name of the attribute.
o Click Use Tag Name if you want the actual name of a tag to be used in the export or when the
tag names follow the ArchestrA naming convention. The tag is linked to an Application Object
attribute of the same name.
o Click Batch Management Memory Tag if there is no external source for the tag. This option also
initializes the value of the Batch Management Memory Tag for analog, discrete, or string tag
types as specified in the Initial Value box. If you do not enter a value, the initial value is set to 0
for analog tags, 0 (Logic al False) for discrete tags, or empty (null) for string tags.
4. To assign one of the Access Names that you created using the Acce ss Editor dialog box, click
Acce ss.
The Acce ss Names dialog box appears, in which you can select the appropriate access.
5. Select the Export Tag check box to export the associated tag. Not all tags from the Batch
Management model are necessarily required for an InTouch application. If a tag is going to be used
within the InTouch application and is contained in the InTouch tagname dictionary, you must select
the option. If a tag is not required, you can clear the check box.
Note: Exporting tags that are not required in the InTouch HMI is acceptable and perhaps convenient.
However, batch utilities constantly monitor and manage Batch Management and InTouch processes. A
high quantity of unnecessary tags can degrade overall system performance.
For more information on alternatives to exporting tags from Batch Management and loading the tags
into InTouch, see "InTouch Batch Tag B rowsing and Referencing".
6. In the Scaling Options area, configure the scaling for analog tags.
o In the Min Raw and Max Raw boxes, type the values associated with the values output from a
source such as a PLC.
o In the Min Scaled and Max Scaled boxes, type the scaling factors associated with Batch
Management.
7. In the Data Type area, set the type of numeric data with whic h an analog tag is associated. The
options are either Float (floating point) or Integer.
8. Click Change.
Validating Tags
Validation consists of verifying all accesses, attributes, and links. Depending on the size of the process,
validation may be time consuming.
To validate tags
On the File menu, click Validate.
o If the validation is successful, a Validate message appears.
o If validation errors occur, the associated tags are shown along with an error or warning message.
You must correct error messages. You do not need to correct warning messages, however,
before system operation.
Exporting Tags
Use Tag Linker to select tags and creat e a comma -separated variable (.cs v) file of the configuration
information. You can then import the contents of the .cs v file into the InTouch HMI using the DBLoad
utility. Batch Management uses a dot (.) whereas InTouch supports only a hyphen as a delimiter in tag
names. Before you load the Batch Management tag names into InTouch, edit the .CSV file and replace
the dot delimiters with hyphens.
In the InTouch HMI, you can define remote tag sources from which tags can be viewed and remotely
referenced in an application. Batch Management can be one of these external sources. If tags are
remot ely referenced, it is not necessary to use the DBLoad utility to import the Batch Management tags
from the exported .csv file.
Note: InTouc h does not support tags that are greater than 32 characters or have names that contain dots
(.). For details about the limitations of InTouch tag names, see the InTouch documentation.
2. In the File box, type the name of a file to whic h all Tag Linker configuration data is to be written. The
name must include the complete patch and the .csv extension.
3. Click OK. If the specified file exists, you are prompted to overwrite it.
2. In the Client Type box, type a client type name (14 characters maximum).
3. In the Export Access a s InTouch Memory and Export Acce ss a s InTouch IO Tags lists, select
the Accesses for which you want to include the tags in the csv file. For more information, see "Using
Client Types".
4. In the Output Path/Filename box, type the path and name of the .csv file for the export. For more
information, see "Export File Name".
5. Click Add.
The new client type appears in the Client Types dialog box.
You perform a simulation ex port of the current process model tag configuration. You can export all
requested tags as Batch Management Memory tags.
You should use this option if the Batch Management Simulation Manager (SimMngr) is running the
phases.
To perform a simulation export
1. On the Edit menu, click Export.
The Export Editor dialog box appears.
2. In the Client Type box, type a client type name.
3. In the Export Access a s InTouch IO Tags list, select ControlSystem.
4. In the Output Path/Filename box, type the path and name of the .csv file for the export.
5. Click Add.
The new client type appears in the Client Types dialog box.
5 Link Type Item, TagName, enum Link type specifier (READ-W RITE )
or Memory
7 Initial Value 131 characters string Tag initial value. Applicable to link
type = "Memory".
NOTE: Can represent a numeric
value conversion bas ed on tag actual
data type. (REA D-WRITE )
8 Access 15 characters string The Access Name that owns this tag.
The Access Name must exist in
TagLinker. Assigned a value for
Link Type = "Memory".
(REA D-WRITE)
9 Export Flag NoExport, enum Tag export flag. (REA D-W RITE )
Export
14 Data Type Float, Integer, enum Tag actual data type. Applicable to
or empty tags with
Data Class ="Analog". Empty if not
relevant. (READ WRITE )
Importing Tags
If you edited the exported .csv file, you need to import it back into Tag Linker for validation. The default
file location is the current configuration (config_A) folder.
The InTouch HMI allows you to define remote tag sources from which tags can be viewed and remotely
referenced in an application. Batch Management can be one of these external sources. If tags are
remot ely referenced, using the DBLoad utility to import the Batch Management tags from the exported
.csv file is unnecessary.
To import tags back into Tag Linker
1. On the File menu, click Import Tags. The Import File Selection dialog box appears.
2. Type the name of the edited .cs v file to import to Tag Linker. The name must include the complet e
path and the .cs v extension.
3. Click OK.
For eac h Access that was defined using the Tag Linker, you must configure and run one instanc e of the
IBCli application. The only exception is if you get a warning message during Tag Linker validation to
indicate that no tags are associated with a particular access. In this case, you do not need an instance of
IBCli. IB Cli is configured using the Editor. For eac h instance of IB Cli, you must configure several
application parameters. For this example, you must configure one instance as follows:
Access Name:TI_Tags
Verbose Mode
The Access Name argument is required and should match one of the Access Names defined using the
Tag Link er Access Editor. The Verbose Mode parameter option is useful for troubleshooting.
C HAPTER 6
I/A Series Tag Management
You can use the following Tag Management editors, tools, and run -time components to automatically
manage tags in Batch Management with I/A components:
Model Editor
I/A Series Linker
Batch Management with I/A Components Tag Driver (IA Driver)
ProcStatus Tool
Batch Management with I/A components interfaces with the I/A Series Cont rol Suite using tags. The
following Batch Management with I/A components creates, edits, links, validates, communicates, and
manages tags in general:
Model Editor
I/A Series Linker
Batch Management with I/A Components Tag Driver (IA Driver)
ProcStatus Tool
I/A components can be installed on non-I/A systems. In this case, any updated models placed in the
Config_A folder can be subsequently moved to systems where I/A Series is installed. Note that run-time
I/A components, such as I/A drivers and so on, will not function on non -I/A systems. Communication
between Batch Management and I/A controllers is supported using the I/A Driver or IA DA Server (not
both simultaneously).
For more information, see the Batch Management Installation Guide.
Note: I/A Series is now known as Foxboro E vo Control Core Services. This name change has not yet
been implemented in the Batch Ma nagement software or user document ation. All Batch Management
functionality for I/A Series is still available as Foxboro E vo Control Core Servic es.
In This Chapter
Overview.................................................................................................................................... 168
Process Model Editor (ModelE dit) ................................................................................................ 168
I/A Series Linker (IALink )............................................................................................................. 168
Managing Tags ........................................................................................................................... 177
Mapping Tags ............................................................................................................................ 180
Viewing Tag Information.............................................................................................................. 180
About Tag Communications ........................................................................................................ 182
Using Process Status Display ...................................................................................................... 183
PHASE_E XE C Sequence Block .................................................................................................. 183
Batch Management with I/A Components Configuration Procedures .............................................. 186
Overview
Use the Model Editor to construct the plant model, which includes units, connections, phas es, phase
parameters, and segments. Tags are automatically created using these names and are used by Batch
Management with I/A components to communicat e with the I/A Series Control Suite.
The tags created by the Model Editor are linked to I/A Series Compound:Block.Parameter and Shared
Variable tags using I/A Series Linker. I/A Series Linker can automatically link tags using the default links
that are defined in the Tag Map file. Additionally, you can manually link Model when the default links are
not applicable. You can also use I/A Series Linker to validate Model to verify that the links are valid
I/A Series Control Suite tags.
Note: Model Editor and I/A Series Linker cannot run concurrently. Only one editor at a time can access
the Model database.
You can use I/A Series Linker to manually link I/A Series Tags. You can automatically link I/A Series
Tags to Model Tags.
Automatic linking of Model Tags is based on the mapping configuration defined in Batch Management
with I/A components Tag Map file (TagMap.txt).
These mapping files are AS CII text files. You can edit them to set up the automation linking. The files
contain default tag mapping configurations. I/A Series Linker stores information in the cfgLink DB
database.
Batch
Management with I/A Series Control
File Name I/A Components Suite Component Function
TagMap.txt Model Editor Tags: I/A Series Control Provides standard mapping of
Processor: Model Editor tags with
Unit control Compound:Block.Parameters in
and status tags Unit blocks
the control processor for phase
Phase control Phase blocks block control and status signals,
and status tags Unit block batch parameters, and
unit batch control signals.
StrMap.txt Model Editor tags: Unit block integer Maps integer values used by
data I/A Series control with strings used
Any string tag
by Batch Management with I/A
components.
TagMap File
The TagMap file (TagMap.txt) defines how Batch Management with I/A components unit and phase tags
are mapped to I/A Series control unit and phas e blocks. Based on the configuration parameters in this
file, I/A Series Linker automatically creates I/A Series tag assignments for all phases and units in the
process model. Automatic generation reduces the need for extensive manual input. The TagMap file
contains a default configuration that you can edit with I/A Series Linker.
Control Signals
Using the default TagMap file, all control signals are sent by Batch Management with I/A components
directly to II0007 of the corresponding phase block. The PHASE_E XEC sequence block (located
immediat ely following the unit block in every compound) then performs the required control operations
on the particular sequence block.
# Tag Map
# Revison History
# csz8/10/95 Initial Release
#csz10/2/95 Changed two stings to integers
#csz10/23/95 Changed data types for BATCH_MODE and
# 240STATUS
#csz2/22/96 Added Unit Status Tag Extensions and STATE
#
# PHASE CONTROL/STATUS PARAMETER EXTENSIONS (Discrete)
# START SENT TO PHASE BOCK CONTROL WORD
STARTI10007 7
# HOLD SENT TO PHASE BLOCK CONTROL WORD
HOLDI10007 1
# RESTART SENT TO PHASE BLOCK CONTROL WORD
RESTARTI10007 2
# ABORT SENT TO PHASE BLOCK CONTROL WORD
ABORTI10007 3
# RESET SENT TO PHASE BLOCK CONTROL WORD
RESETI10007 8
#
READYI10008 1
HELDI10008 2
RUNI10008 3
DONEI10008 4
ABORTEDI10008 5
INTERLOCKEDI10008 6
#
# EQUIPMENT SYSTEM TAG EXTENSIONS (String)
# CAMPAIGN_ID
# LOT_ID
BATCH_IDSN0010
RECIPE_NAMESN0009
# RECIPE_ID
# BATCH_SIZE
BATCH STATUSI1003
BATCH MODESN0007
STATUSI10004
ALLOCATIONSN0008
# LAST_RECIPE_ID
# AVAILABILITY
# UNIT_STATE
#
# UNIT CONTROL TAG EXTENSIONS (Discrete)
UNIT_HOLDI10007 1
UNIT_RESTARTI10007 2
UNIT_ABORTI10007 3
#
# UNIT STATUS TAG EXTENSIONS (Discrete)
Equipment system tag extensions correspond to batch information that is downloaded to unit blocks
when the corresponding unit is allocated to any batch. All items are downloaded from Batch
Management with I/A components to the corresponding unit blocks, ex cept for STA TUS, which is read
(checked) by Batch Management with I/A components for an acceptable status value before Batch
Management with I/A components allocates the corresponding unit.
Note: When Batch Manager is started, Batch Management with I/A components downloads the
STA TUS word with the model default status value (Batch Manager Environment parameter). With this
parameter enabled, sequence logic code should continually update the STA TUS word to ensure the
value does not represent an undesirable status.
The unit control tag extensions correspond to batch HOLD, RES TA RT, and ABORT control signals that
are sent by Batch Management with I/A components to the corresponding unit blocks. As a default
configuration, the P HASE_E XE C block is configured to process these signals.
CAMPAIGN_ID and LOT_ID are not included as defaults to conserve string allocations; however, they
can be reconfigured for inclusion. All unit control tag extensions must be included in the II000n word (the
default is II0007) for compatibility with PHASE_E XE C functionality.
Ready Start
Held Hold
Run Restart
Done Abort
Aborted Reset
Interlocked
The following figure shows a general phas e block diagram. Batch Management with I/A components
reads the phase block phas e status word. E very phase block requires a designated status word.
The phase status word is a dependent or independent block configurable II000n input. The default is
II0008. The status word value is either 1, 2, 4, 8, 16, or 32, corresponding to one of t he mut ually exclusive
phase status values.
The phase control word is a dependent/independent block configurable II000n input. The default is
II0007. Refer to FB_CONS T.inc for assigned values.
A phase block, initially inactive, has a Ready status. When Batch Management with I/A components
issues a Start control signal, the PHASE_E XE C activates the corres ponding sequence block and sets
the Block Status to Run. If this Run status is not received by Batch Management with I/A components
within a short interval of time (about 15 seconds), Batch Management with I/A components re-issues the
Start control signal.
Batch Management with I/A components reads the Run status and indicates this status on the
appropriate display. When the phase block is done, the HLBL or SFC logic sets the status word to Done.
This is done by the TO_INACTIVE SB X function of the corresponding phase. TO_INA CTIVE SB X
processing is initiated by having an HLBL Abort statement as the last statement in the phase.
If HLBL or SFC logic determines that the phas e has not executed successfully, the control word can be
set to Hold. The PHASE _E XE C processes this phase control signal by putting the phase in Man ual,
which activates the TO_MA NUAL SB X function in the phase. This puts the phase in a Manual/Active
condition and allows a phase to maintain a Held status without the necessity of activating a Batch
Management with I/A components Exception Block. The func tionality of a phase block in Held status
depends on whether or not Exception Block processing is enabled, and whether or not the particular
dependent Sequence Block is using TO_MANUAL SB X processing for a phase Hold condition.
On a RES TA RT control signal to the phase, the P HASE_E XE C processes this phase control signal by
initiating an A uto/Active condition. The TO_MANUAL SB X then continues its processing and sets the
phase status to RUN.
On an Abort control signal to the phase, the P HASE_E XE C processes this phase control signal by
initiating an (HLBL) Abort for the phase. This activates the TO_INACTIVE SB X processing of the phase
which sets the status word to Aborted.
After reading a Done or an Aborted status, Batch Management with I/A components issues a Reset
control signal directly to the corresponding phase block control word. PHASE_E XE C then sets the
corresponding block status to Ready.
In the phase block control state diagram, the rectangles show the five control signals that Batch
Management with I/A components sends to phase blocks. The ellipses indicate the six status values that
Batch Management with I/A components expects to see in response to control signals. The lines
between the Run and Held states indicate that I/A Series logic can initiate transfers bet ween these two
states, independently of Batch Management with I/A components control actions. However, if I/A Series
logic initiates these transitions, it must ensure that correct values for the status words are maintained. If
the status word is not maintained correctly, Batch Management with I/A components shows incorrect
phase block states, which could result in batch processing errors.
The PHASE_E XE C acts as an interface between Batch Management with I/A components and
I/A Series equipment logic. The P HASE_E XE C is an independent sequence block positioned after every
unit block in every compound. E very compound must have a PHASE_E XEC block to process all
sequence block control operations.
Before alloc ating a unit, Batch Management with I/A components check the unit block status word. If it is
an acceptable value, Batch Management with I/A components allocates the unit and downloads all
recipe parameters to the unit block.
On Batch Management with I/A components displays, when a batch (not a phase) Hold, Restart, or Abort
action is initiated, Batch Management with I/A components sends the corresponding unit control signal to
all the units allocated for the corresponding batch. Batch Management with I/A components does not
verify that these unit control signals are us ed.
I/A Series logic controls setting the unit block unit status word, which is monitored by Batch Management
with I/A components for a satisfactory status before allocating the particular unit block. During batch
processing, Batch Management with I/A components sends the batch status information (Run, Held, and
Aborting) to all the unit blocks associated with the batch.
StrMap File
The StrMap file defines how I/A Series Control Suite integer values are mapped to Batch Management
with I/A components strings. You can define more than 32,000 integer -string combinations. You must
make sure that the integer-string combination is unique. Use the I/A Series Linker to edit the default
configuration in the StrMap file.
Database Synchronization
Assuming that no errors are detected at startup, the configuration Link database (cfgLink DB) is
synchronized with the Process Model database. The first time IALink starts, synchronization can take
several minutes. For subsequent starts, the time is significantly reduced.
During synchronization, each Model tag is retrieved and verified against the Link database. If a Model tag
does not exist in the Link database, it is added. If a Model tag exists in the Link database, but is deleted
from the Model databas e, the corresponding tag also is delet ed from the Link database.
As each tag is added to the Link dat abase, I/A Series Linker determines what tag mapping category
should be assigned and stored with the tag. When the Link database is synchronized with the Model
database, the I/A Series Linker dialog box appears.
Managing Tags
Use the File menu to access the I/A Series Linker system functions.
Exporting Tags
You can export tags by clicking Export Tags on the File menu. The Export File Selection dialog box
appears.
Enter the name of the file to which the I/A Series Linker configuration dat a is to be written. The filename
must include a complete path name. The default location of this file is the current configuration (config_A)
directory. The file format is comma-separated variable (cs v). If the specified file exists, a message
appears, prompting you to overwrite the file.
The tag list is not filtered. The exported file contains an ex act image of the configuration I/A Series Linker
(CfgIALinkDB) database. You can modify the tag configuration information as a spreadsheet, text file,
and so on.
Note: Do not add tags to, or remove tags from, the exported file. If you delete tags from the file and then
import the file, none of the tags that you deleted from the file are deleted from the configuration link
database. Any changes that you made, however, result in the modification of the link database. If you
add tags to the file and then perform an import, the additional tags are ignored since t hey do not currently
exist in the database.
Importing Tags
You can import tags into the Link database. On the File menu, click Export Tags.
You must specify the name of the file from which the I/A Series Linker imports the tags. The default
location of this file is the configuration (config_A) folder. The file fo rmat is comma-separated variable
(csv).
Range/
Column Identity Length Type Description
Range/
Column Identity Length Type Description
Validating Tags
Note: Only run the validation of the link database while the Batch Manager is not running. The validation
of a large set of tags may impact the operation of Batch Manager and cause unexpected failures.
To initiate a validation of the Link database, click Validate on the File menu.
Note: All shared variable type tags must be created prior to validation.
Discrete OM_BOOL
INTE GER (Bit)
OM_LNG_INT (Bit)
OM_S_PKBOL (Bit)
OM_L_PKBOL (Bit)
String STRING
INTE GER
OM_LNG_INT
Model Tag and I/A Series Tag Data Access configuration are compatible. Data Access refers to
whet her tags are Read/Write or Read Only.
Note: The V alidat e menu command is not available when I/A components are installed on non-I/A Series
systems.
Generating Tags
To open the Generate I/A Series Tags dialog box, click Generate on the File menu. You can then select
from tag types shown in the following table.
Option Description
Link Generation
I/A Series tags are creat ed by using a UNIT or Transfer name to create a COMPOUND name, and a
PHASE name to create a BLOCK name. The I/A Series PARAME TE R is created by an automatic
process that determines if the Model tag is a Phase Control or Status, Phase Parameter, Unit Control, or
an Equipment System tag.
If the tag is a Phase Control/Status, Unit Control, or Equipment System tag, the I/A Series PARAMETER
is retrieved from the Tag Map file. If t he tag is a P hase P arameter tag, the I/A Series Linker aut omatically
increments the I/A Series PARAME TE R value and assigns it to I/A Series Paramet ers based on the
following rules.
The tag used for a parameter must have a phase name for automatic generation to function properly.
When a duplicate I/A Series parameter assignment is identified, I/A Series Linker ignores the parameter
and continues until it finds an unused paramet er.
Batch Suite Model Tag: UNIT.PHASE.PARAMETER.EXTENSION
TagMap
Configuration File
Mapping Tags
Use I/A Series Linker editors to map tags.
Tag Mapping
To edit the Tag Mapping file, click Tag Mapping on the Edit menu. For more information, see Batch
Management with I/A components Configuration Procedures.
String Mapping
To edit the String Mapping file, click String Mapping on the Edit menu. For more information, see Batch
Management with I/A Components Configuration Procedures on page 186.
Option Description
Unit Tags Unit Tags are shown. Select one or more units from the list and then click
OK. Only the tags associated with the selected units are shown.
Connection Tags Connection Tags are shown. Select one or more connections from the list
and then click OK. Only the tags associated with the selected connections
are shown.
Segment Tags Segment Tags are shown. Select one or more segments and then click
OK. Only tags associated with selected segments are shown.
Unlinked Tags All tags in the Link database that do not have an I/A Series Tag
assignment are shown.
PCONTROL is the assignment for eac h phase block control word. E very phase block must have a
control word assignment. II0007 is the default assignment. This must also correspond to the default
assignment for this control word in t he FB_CONS T.inc file (assignment for Hold, Restart, Abort, Start
and Reset).
ABORT_S TEP is the parameter assigned for the termination step of each phase. II0006 is the
default assignment in each phase. Make this assignment in the FB_CONS T.inc file along with all
control and status phase block assignments.
ABORTED PABORTED 16 5
HELD PHELD 2 2
Default configurations for Unit and Phase Block Batch Control values should corres pond in bot h the
TagMap and PHASE_E XE C files as shown in the following table.
Physical
Model PHAS E_EX EC Value Bit Position
HOLD UHOLD/PHOLD 1 1
ABORT UABORT/PABORT 3 4
STA RT PSTART 7 64
INDEPENDENT_SEQUENCE
CONSTANTS
#define NUM_ID 0 /* Adjust for additional equipment compounds */
#define IDNAM1 " /* Enter Names of equipment compounds */
#define BATCHID SN0010 /* Assign Unit Block Batch ID for LOOPID use
*/
TagMap Phase_Exec
Status/Control Value (bit position from right) (decimal)
READY (P READY) 1 1
RUN (P RUN) 3 4
DONE (PDONE ) 4 8
ABORTED (PABORTE D) 5 16
TagMap Phase_Exec
Status/Control Value (bit position from right) (decimal)
UNIT_HOLD (UHOLD) 1 1
ABORT (UABORT) 3 4
o PSTA TUS – Assignment for all phase block status words (default: II0008). This status word
assignment is required for each sequence block being controlled by Batch Management with I/A
components. This status word physically resides in each sequence block that is controlled by
Batch Management with I/A components. This assignment must be the same for every
sequence block. If not, the PHASE_E XEC sequence code requires modifications. This integer
assignment should also correspond to the assignment made in the TagMap file (II0008).
o UNITAVA IL – Unit availability indicator. Default: II0008. In the PHASE_E XE C block this item
should be ICC-connected to: UNIT.II0008.
o UNITCONTROL – Unit control assignment. Default: II0007. In the PHASE_E XEC block, this
item should be ICC-connected to: UNIT.II0007.
9. Using the I/A Series Linker, Link Batch Management with I/A components Tags to I/A Series Control
Tags. To do this, select the Generate function. The Generate function uses the configuration dat a in
the TagMap configuration file to aut omatically generate all the r equired I/A Series Cont rol Suite
Compound:Block.Parameter assignments. You must use the I/A Series Link er to modify any of the
default assignments that require additional definition or modification.
Some recipe parameters may require modification. Recipe parameters are designated in four
categories: String, Discrete, Analog, and Enumeration. As a default, string assignments are
converted to I/A Series SN000n assignments, discrete assignments are converted to I/A Series
BI000n assignments, analog assignments are converted to I/A Series RI000n assignments, and
enumeration assignments are convert ed to I/A Series II000n assignments.
Assignments are made in alphabetical order (as shown on the I/A Series Linker display ) starting with
an assignment of RI0001. Assignments progress increment ally for all unused RI locations. Consider
this rule when you make manual sequence c ode assignments, because using similar sequenc e code
assignments reduces link editing requirements. If sequence block integer assignments are requ ired
for any Batch Management with I/A components analog type tags, then you must manually do these
configuration assignments using I/A Series Linker assignments.
Note: If you have two batch tags, one analog and one string, and both are linked to the sam e
I/A Series integer tag, it is possible for the system to assign improper values to one of the batch tags.
Therefore, when you link multiple batch tags to a single I/A Series tag, ensure that the data class
(Analog, Discrete, String or Enumeration) is the same.
10. Configure sequence blocks according to ICC and follow these guidelines:
o UNIT Block Unit A vailable configuration (default II0008) should be configured to zero as the
default. A non-zero value is used to trigger INTERLOCKED status for all phase blocks in a
READY state.
o UNIT Block Unit Control configuration (default II0007) should be configured to zero as the
default.
o UNIT Block STA TUS (default II0004) should be configured to the default integer value as
specified in the StrMap file and model/ equipment status.
o The P HASE_E XE C block should have II0008 (UNITAVAIL) ICC -connected to: UNIT.II0008. The
PHASE_E XE C block should have II0007 (UNITCONTROL) ICC-connected to :UNIT. II0007.
o All sequence blocks being cont rolled by Batch Management with I/A components should have
their status word assignment (default II0008) set to a READY status (value of 1).
The following steps describe additional configuration required to run Batch Management wit h I/A
components, with models and recipes on your I/A Series control system.
1. Use the FB_HLB L code template (HLB L_PHASE.s) for phase logic implementation with the
standard HLBL language. The template includes all required phase command/state handling and
indicates where you must add application specific logic.
2. Use the SFC_PHASE code templat e for phase logic implementation wit h FoxSFC. This template
(SFC_PHASE) is functionally identical to the HLB L template. Steps are identified where you must
add application specific logic.
3. For each phase logic sequence, identify the ABORT_S TEP by either letting the code run to
completion and then referencing the II0006 parameter value, or by doing the following.
a. From the default CODE display, set the block to Manual and Active.
b. Type a large value (for example, 200) in the entry box.
c. Select E XEC S TEP. The logic immediately jumps to the end and indicates the last step number
in the STP field. The required ABORT_S TEP is one less than the last step indicated in the S TP
field.
d. Write the ABORT_S TEP int o the II0006 paramet er using the Control Configurator.
Note: Whenever a sequence block is compiled or a block is deleted and undeleted, the connections of
that block to the IADriver are lost. Running a phase from Batch Management with I/A components with
connections that have been lost appears to stop the processing of Batch Manager. It is important to do a
CHE CKPOINT to re-establish communication.
INDEPENDENT_SEQUENCE
CONSTANTS
#define NUM_ID 0 /* Adjust for additional equipment compounds */
#define IDNAM1 " /* Enter Names of equipment compounds */
#define BATCHID SN0010 /* Assign Unit Block Batch ID for LOOPID use
*/
#define PHELD 2
#define PRUN 4
#define PDONE 8
#define PABORTED 16
#define PINTERLOCKED 32
#define UNITAVAIL II0008 /* ICC connect to :UNIT.II0008 */
/* Not available <> 0 */
C HAPTER 7
Materials Editor
Use the Materials Editor to define materials, assign material locations, and track how materials are used
and produced in a batch processing facility.
In This Chapter
Overview.................................................................................................................................... 191
Managing Materials..................................................................................................................... 191
Using the Materials Editor ........................................................................................................... 192
Using the Material Location Assignment Editor ............................................................................. 195
Validating the Materials Dat abase Ent ries .................................................................................... 197
Viewing Materials Status ............................................................................................................. 198
Printing Reports for Materials Status ............................................................................................ 199
Overview
Use the Materials Editor to:
Define all of the materials that can be used to create recipes. You can define ingredients (raw
materials ), intermediates (premixes), finished goods, by-products, and other ingredients.
Track the location of materials that are stored in units. This tracking is typically associated with bulk
ingredients and intermediate materials. The Batch Management System uses the unit assignments
to determine where an ingredient is located when a batch is proc essed. Ingredient locations are
independent of recipes and control system logic. You can move ingredients to new locations without
affecting recipe proc essing.
Have updated information about the usage of ingredients, intermediates, and finished goods.
The Materials Editor is not an inventory management system. However, it can be used to complement
existing systems.
The following diagram shows an overview of the Material Editor and its relationship with other system
components.
Managing Materials
You use the following dialog boxes to manage mat erials:
Use the Materials Status dialog box to view the name, unit of meas ure, total quantity, and
characteristics of all materials defined in the database.
Use the Materials Editor dialog box to define or edit materials in the database.
Use the Material Location Assignment Editor dialog box to assign unit storage locations and
production tracking information to mat erials in the database.
WARNI NG! Deleting materials from the Materials database can affect recipe processing. Before you
delete or modify a material, ens ure that you understand how your particular application manages
materials.
You must assign the following characteristics when you define materials.
Required or
Item Optional Description
2. On the Edit menu, click Materials Editor. The Materials Editor dialog box appears.
Defining a Material
To define a material
1. Open the Materials Editor dialog box.
2. In the Materials list, click a material type (Ingredient, Intermediate, Finished Good, By -Product,
or Other).
Use the Find button and View Partial List check box to search all the defined materials in the
database. This technique is useful when you want to enter new materials that are similar to existing
entries.
3. Type entries for Material ID, Name, Description, Unit of Measure, High Dev, and Low Dev
boxes.
4. Click Add.
The Materials Editor uses the contents of t he Process Model run -time database. To show the correct
list, you might need to perform an Update Runtime command from Environment Di splay dialog
box for the Unit Selection dialog box. If the list is empty, it is likely that you need to perform an
Update Runtime command.
5. Select a unit from the list.
The listed units are entered in the process model, but are not currently assigned to a material.
6. Click Add.
The selected unit appears in the Unit Assi gnment list of the Material Location Assi gnment
Editor.
Note: The Materials Editor does not require you to define lot tracking information for all materials used in
production. The Batch Management System records the lot tracking information to the History dat abase
if this information is defined, but if the information is not defined, the Batch Management System still
processes all batches that use the material.
3. Click Close.
3. In the Partial ID box, type the first portion of the Material ID (16 characters maximum) that you want
to use as your filter.
4. Click OK.
The Material ID list shows all of the Material IDs that include the filtering criteria.
3. In the Material ID box, type the Material ID (16 characters maximum) that you want to search for.
4. Click OK.
The Material ID list shows only the material that you specified.
If you enter a non-existent Material ID, an error message appears.
3. In the Select Reports list, select items that you want. To print several rep orts, press and hold the Ctrl
or shift key while selecting from the list.
4. Select other printer options as required.
5. Click OK.
C HAPTER 8
Train Editor
Use the Train Editor to create lines of production, called trains, that are assigned to scheduled batches.
The Batch Management System schedules and runs batches. Batches include a recipe and a train
assignment. A recipe is typically equipment independent. The train provides a list of potential equipment
to the batch engine for dynamic selection during batch processing. If a unit is not in the assigned train,
then it is not available to be used for the scheduled batch.
In This Chapter
Overview.................................................................................................................................... 201
Opening the Train Editor ............................................................................................................. 201
Assigning Units to Trains ............................................................................................................. 202
Assigning Attributes to Trains ...................................................................................................... 203
Overview
A train can contain one or more units, and a unit can be a part of multiple trains. Trains provide a way to
represent various paths through the process.
The train data is maintained in the Proc ess Model dat abase. The Train Editor writes to bot h the
configuration Process Model database and the run -time Process Model database. Trains can be added
at any time during batch system processing.
Only one instance of the Train Editor can be running. You cannot start the Train Editor if the Process
Model Editor or Tag Linker application is running.
4. In the Name list, select or type an attribut e name (16 characters maximum).
5. In the Value box, type a value (16 characters maximum).
6. Select a Value Type.
7. In the Unit of Measure list, optionally click a unit of measure.
Units of measure are assigned using the Process Model Editor.
8. Click Add.
C HAPTER 9
Recipe Editor
The batch control system coordinates the construction and management of recipes in accordance with
the guidelines outlined in the ISA-88 Flexible Batch Specification. Consistent with this standard, the
Recipe Editor supports all three sublevels of the recipe procedure.
The batch control system provides a recipe management system that enables you to construct and edit
master recipes. Master recipes are not specific to a process line. You can assign master recipes to any
process line that has the classes of process equipment defined in the recipe. A master recipe becomes a
control recipe when it is assigned to a train and it is initialized by the Batch Management System. A
control recipe is specific to a process line.
A master recipe may or may not be size specific. All formula quantities for ingredients, intermediat es,
by-products, and finished goods are entered as either actual quantities or as a percent of the batch size.
Quantities expressed as percentages are scaled when the batch is scheduled and initial ized.
You can save, retrieve, and print recipes. You can also import and export recipes. A revision history
capability enables you to enter, save, and review the change history for each recipe.
The Recipe Compare utility allows you to compare two recipes and then view the differences in a
generated report.
In This Chapter
Recipe Components ................................................................................................................... 205
Creating a New Recipe ............................................................................................................... 212
Working with Existing Recipes ..................................................................................................... 237
Building a Recipe Procedure ....................................................................................................... 253
Building Recipes in a Connectionless Process Model .................................................................... 279
Recipe Procedure Summary ........................................................................................................ 280
Comparing Recipes .................................................................................................................... 284
Recipe Components
A recipe consists of four parts. They are the Header, the Equipment Requirements, the Formula, and the
Procedure.
Header Component
A recipe header identifies and documents each recipe. The header consists of the following items:
Recipe ID
Recipe Name
Recipe State
Recipe Type
Product ID
Product Name
Minimum Batch Size
Maximum Batch Size
Default Batch Size
Comment
Formula Component
The formula specifies the inputs (such as raw materials and ingredients), outputs (suc h as intermediates,
finished goods, and by-products), and process variables for a recipe. You can enter input and output
quantities as actual values or as percentage value. Process variable values must be actual quantities.
Default tolerances for ingredients and process variables automatically appear. However, you can
change the default tolerances for the current recipe or disabled them.
Procedure Component
The procedure defines the sequence of process actions needed to process one batch of a recipe. You
construct a procedure by using unit procedures, operatio ns, phases, transition logic, branch objects, and
loop objects.
Unit procedures are associated with a process instance and are defined in the recipe. Operations
provide a convenient way of grouping the phases that are associated with the recipe. You define
operations during recipe construction. You define phases when you create the process model.
You configure phases with paramet ers. A parameter is assigned a value when you enter the recipe
formula. Parameter types are either input, output, or process variables. When the recipe is processed by
the Batch Management System, the values assigned to the parameters are written to the control system.
Transition logic enables you to redirect the processing of a procedure based on the result of a Boolean
expression. You can construct expressions by using process class or instance tags, transfer class or
instance tags, and predefined functions such as questions that prompt an operator. These questions
appear and must be ans wered by an operator when the recipe procedure is processed.
Branch objects enable you to:
Run simultaneous unit procedures, operations, and phases
Run one of many unit procedures, operations, or phases
Run operations simultaneously on two or more units
Loop objects enable you to re-run unit procedures, operations, and phases based on an evaluated
transition logic expression.
Unit Procedures
A unit procedure is a process action consisting of one or more operations. You define unit procedure
names when you build a recipe. You must assign a process instance to each unit procedure that you
create. All process phases associated with the assigned process instance, and all transfer phases
associated wit h a transfer instance that has the assigned process class as either its source or destination
class, can be used to define the unit procedure. Some examples of unit procedures and associated
process class instances are shown in the following table.
Blend Blenders
Process Reactors
Process ReactorA
Sample Reactors
Sample ReactorA
Operations
An operation is an independent process action that identifies one or more phases. You define an
operation by assigning a name to it. Some examples of operations are:
Add and Process
Trans fer-Mix Tank
Fill and Package
Trans fer-Rc vTank
Phases
A phase is an independent processing action. Automatic and Semi -Automatic phases are run by the
control system using phase logic. Phase logic is constructed s o that it is automatically configured through
phase parameters and enabled and monitored by the Batch Management System when recipes are
processed.
Manual and Data phases have no phase logic and are run by the Batch Management System. Typically,
you use a Manual phase to instruct an operator to perform a function such as manually adding an
ingredient, or performing a test sample. You can use a Data phase to read or write values to the control
system or an external device with operator interaction or formal phase logic.
Some recipe procedures require an operator to acknowledge certain c onditions before a phase can be
processed. A recipe procedure can also require an operat or to acknowledge the completion of a phase.
Additionally, a recipe procedure can require the operat or to enter c omments before batch processing can
continue. You can configure all these situations as part of the recipe proc edure.
Several examples of process and transfer phases are shown in the following table.
In addition to the types of phases previously described, you can use two special phases at any time in a
recipe procedure to reserve ownership of specific units or connections to a batch. These phases are
named Allocate and Releas e. When a unit or connection is allocated, it is owned by the batch until it is
released as part of the recipe procedure or the batch finishes, or until an operat or manually releas es it.
All processes and transfer classes and instances defined in the recipe equipment requirements c an be
allocated or released. No parameters are associated with Allocat e and Release phases.
Parameters
You can use formula parameters to further define the processing of a phase. You define formula
parameters in the Process Model editor.
The three types of paramet ers are:
Inputs
Outputs
Process variables
Parameters act as mailboxes for data. Input parameters ingredient quantities based on the formula.
Process variable parameters hold process variable values. Output parameters hold output quantities
based on the formula. As a proc edure is constructed, eac h element of the formula is assigned to a
parameter.
Transition Logic
In addition to defining process actions and the sequence of processing, you can cont rol (enable or
inhibit) the processing of the parts of a recipe procedure based on operat or decisions or process
conditions, unit status, and batch information through the use of transition logic.
With transition logic, you construct a Boolean ex pression to be evaluated. If the expression evaluates to
True, the processing of the recipe moves to the point below the transition logic. If the ex pression
evaluates to False, the recipe processing stops and waits for the transition logic to evaluat e to True.
Construct transition logic with the expression builder using the following items:
Process Class and Instance Tags
Trans fer Class and Instance Tags
Pre-defined Functions (Ask, Not, WaitSec, WaitMin, WaitHour)
Constants
The following table shows all the available transition logic operators.
For detailed information on building expressions, see Chapter 16, "Expression Editor.".
Operator Symbol
Negate -
Multiply *
Divide /
Modulus %
Add +
Subtract -
Equal To =
And &
Or ¾
Assign :=
Not Not
Transition logic is a very powerful aid in developing a complete batching system. It is intended to be a
useful tool in the coordination and proc essing of a recipe. It is not intended to extensively replace the
functionality in the control system such as the PLC. Where you are performing Boolean expressions that
are using tags in the system, there is inherent latency due to communications to the control system.
Additionally, the associated processing overhead or demand placed on Batch Management is nearly t he
same as that of a phase. In general, if you have in excess of 50 Boolean expressions that are using tags
in the system, you should re-evaluate your system design and inc orporate more of this control evaluation
in the control system. The greater the number of transition objects in a system, the greater the demand
that is placed on Batch Management which may result in decreased client updates and system
responsiveness.
Overview
The procedure for creating a new recipe procedure requires the following basic steps:
1. Start the new recipe
2. Enter header information.
3. Define equipment requirements.
4. Define formula inputs.
5. Define formula outputs.
6. Create a procedure.
7. Validate the recipe.
8. Save the recipe.
9. Approve the recipe.
2. In the Recipe Name box, type a name for the recipe (128 characters maximum).
3. You can change the recipe state and type if you don’t want to accept the default.
If you need to add a recipe state, see "Defining a Recipe State".
If you want to assign a different recipe state, see "Assigning a Recipe State".
If you need to add a recipe type, see "Defining a Recipe Type".
If you need to assign a different recipe type, see "Assigning a Recipe Type".
4. In the Product I D box, type a product identifier (16 characters maximum).
5. In the Product Name box, type a name for the product.
6. In the Minimum Batch Size box, type the minimum batch size of the recipe.
7. In the Maximum Batch Size box, type the maximum batch size of the recipe.
8. In the Default Batch Size box, type the default batch size of the recipe.
9. Add any optional comments.
10. Click Change.
2. In the Name box, type a name for the recipe type (16 characters maximum).
3. In the De scription box, optionally type text that describes the recipe type.
4. If you want to set the new Type as the default, select the Default check box.
Assigning a default type to a recipe is optional and does not prevent validation or approval of the
recipe. However, after a type is set as the default, it is automatically assigned to all new recipes.
5. Click Add.
Saving a Recipe
You can save changes to an open recipe. You should save a new recipe after you creat e the recipe
header.
To save a recipe
1. From the File menu, select Save.
The Save Recipe dialog box appears.
2. If this is the first time that you are saving a recipe, type a unique identifier in the Recipe ID box
(16 characters maximum).
If you enter a Recipe ID that is not unique, a warning message prompts you to overwrite the current
version.
3. In the Author box, type the name of the recipe author (30 characters maximum).
All subsequent changes to a recipe require you to ent er an Author.
Note: There are occasions when either the Recipe ID or the Author is automatically supplied. The
Recipe ID is supplied when the current recipe has already been assigned an ID. You can change this
information at any time. The Author is supplied when the batch security system is enabled and the
Recipe Editor author function has been assigned to require security clearance. In this case, a security
clearance is required whenever you click Save.
4. Optionally, type comments that describe any details or changes that you want to document.
5. Click Save.
Tip: You can copy a recipe by saving it with a unique Recipe ID.
Task Overview
Assigning equipment requirements to a recipe consists of the following tasks:
Assign process classes (Required).
Assign process instances (Optional, but at least one process instance is generally required for a
recipe). This task also includes assigning unit selection modes (Required).
Assign transfer instances (Optional).
Assign units (Required for equipment dependent recipes).
Assign available attributes (Optional).
Note: You can delete process class assignments with the Equipment Requirements Editor. Deleting a
process class removes all the process and transfer instances that are associated wit h the deleted class.
You must manually delete from the recipe procedure all phases previously assigned t o instances
associated with the delet ed process class. Until you delete these phases, the recipe is invalid.
The Proce ss Classe s dialog box appears. All the process classes in your process model are listed.
4. Select one or more process classes for your recipe and click OK.
Important: Adding process instances is not necessary if you need only one unit from within the same
process class.
Use the Proce ss Class Instance Edi tor to define the specific process instances necessary for recipe
construction. Instance names must be unique. The editor verifies the name to ensure validity and
uniqueness. You use the instance names when you assign phases to an operation during recipe
procedure development.
Important: Deleting a process instance also removes all transfer instances that were defined using the
deleted process instance. If you delete all of the instances for a process class, no instanc es are available
for assigning operations in the Proc edure Editor. You can define new instances, or you can delete the
process class and reassign it using the Equipment Requirements Editor to return the default instance
name. All of t he phases that were assigned to a deleted process instance must be manually deleted from
the recipe procedure. The recipe becomes invalid until the phases are removed.
If your recipe procedure requires multiple process instance names, you should first change the name of
the default instance, and then add the required instances. Remember that if you delete default process
instances, the default transfer instances are deleted as well. Also, if you retain the default instance and
name, and do not use it in the procedure, the Batch Management System requires an extra unit in the
train to initialize the recipe.
Note: Multiple process instances are not required unless you have a batch proc essing requirement for
the simultaneous allocation of more than one unit from the same process class.
Selection Mode has two settings; Automatic (the default) and Manual. Aut omatic mode requires the
Batch Management System to select the specific unit. Manual mode requires an operat or to
manually select the specific unit from a list of available units.
Note: If a specific unit has been assigned to a process instance, you cannot set the selection mode. In
this case, the Batch Management System allocates the assigned unit when the recipe runs.
4. Optionally select Attribute s for the process instance from the list as appropriat e. For details, see
"Selecting Process Class Instance Attributes".
5. Click Add.
Note: If you remove an assigned unit from a process instance, it is also removed from the selected
instance. If an instance has no unit assignments, all the units in the selected process class that are part
of the train assigned to the batch, are available for allocation when the batch is proc essed.
The Batch Management System uses attributes to allocate units in the train assigned to a batch o nly if
the unit attribute values satisfy the corresponding recipe attribute requirements. You define attributes for
the process class in the Process Model Editor.
For more information on Process Class Attributes, see Chapter 4, "Process Modeling.".
The assigned attributes are valid only for the selected process instance and the recipe that you are
creating. The attribute range consists of a minimum value (Min) and a maximum value (Max). If you do
not define a range, the attribute is ignored by the Batch Management System. If a recipe requires a unit
with an attribute range, you must enter the minimum and maximum attribute values needed for the
recipe. If the attribute must be a specific value, the minimum and maximum values must be the same.
Several examples of attribute range definitions are shown in the following table. Included with each
definition is the action that the Batch Management System takes.
Note: If you have assigned a specific unit to a process instance, you cannot define an attribute range.
The Batch Management System is required to allocate the assigned unit when the recipe is processed as
part of a batch.
The following instance of the Proce ss Class Instance Editor represents one possible configuration for
this example.
In the example, the Batch Management System must allocate a reactor as the destination unit to process
the bulk addition. The unit selection mode and the capacity attribute range defined in the recipe are
evaluated by the Batch Management System and compared with the unit attribute values defined in the
process model editor. The following table shows variety of scenarios and the result of the Batch
Management System for the previous example.
Minimum Maximum
Process Unit Capacity Capacity
Instance s Assigned Selection Attribute Attribute Resultant Unit
Defined Units Mode Value Value Selected
Minimum Maximum
Process Unit Capacity Capacity
Instance s Assigned Selection Attribute Attribute Resultant Unit
Defined Units Mode Value Value Selected
Minimum Maximum
Process Unit Capacity Capacity
Instance s Assigned Selection Attribute Attribute Resultant Unit
Defined Units Mode Value Value Selected
Note: If you are creating multiple transfer instanc es from process classes that contain multiple process
instances, it is possible for a trans fer instance to be defined for which a connection does not exist in the
process model. Therefore, you must be sure that the physical process model cont ains a connection that
is repres ented by the defined transfer instances.
The default trans fer instance name is the same as the name of the transfer class. The source and
destination instances associated with the default trans fer instance cor respond to the first process
instances defined for the source and destination process classes. If you have defined multiple process
instances for a process class, you must define multiple transfer instances so that the recipe builder can
differentiate the transfer phases into and out of eac h proc ess instance.
If your recipe procedure requires multiple trans fer instance names, you should first change the name of
the default instance, and then add the required instances.
If multiple transfer instance names are required, change the name of the default instanc e first, then add
any other required instances.
Note: If you delete a trans fer class instance, you must manually delete the phases that were previously
assigned. The recipe becomes invalid until the phases are removed.
5. Select the source instance from the list and click OK.
6. Click Destination Instance.
The De stination Instance s dialog box appears.
7. Select the required destination instance from the list and click OK.
Example Transfer Instance Selection
The following dialog box shows how you can use t wo transfer instances for the bulk -to-reactor addition
example shown earlier in this section. After definition, the instances are available within the recipe
procedure, which allow the recipe builder to select the appro priat e trans fer phas e depending on the
process instance operation being defined.
Defining Formulas
You can define the inputs, outputs, and process variables that are used in the recipe procedure. You
define these parameters using the Formula Inputs Editor, Formula Outputs Editor, and Proce ss
Variables dialog boxes.
Process Overview
You must define a formula to the Materials database before you develop the recipe. You must select
inputs and outputs for a recipe before they can be used in the procedure. After being defined, the inputs
and outputs are available for assignment in phases that have input or out put parameters defined. You
can make value assignments for each material from the respective dialog box or locally at eac h phase .
The Proce ss Variables dialog box shows all the process variable type parameters that are used in
phases in t he recipe procedure. You must edit phases with process variable parameters in the procedure
editor before the phases can appear in the Proce ss Variables dialog box. You can mak e value
assignments for each process variable while you construct the recipe procedure or from the Proce ss
Variables dialog box after you construct the procedure.
Note: You can assign the single instance of a mat erial to the input parameter of more than one phase,
and you can assign unique quantity values to each parameter. However, one material may not be used
as both a percent value and an actual value within different phases in a recipe. If this is desired, you must
add the material twice to the Formula Inputs Editor Inputs list.
4. Click the Type arrow and select the applicable material type.
5. Select the required materials from the list.
6. Click OK.
2. Click the Type arrow, and select the applic able material type.
3. Select the required material from the list.
4. Click OK.
The new mat erial retains the values and phase assignment that were assigned to previous input.
To add or change input materials – alternate method
If the Materials database grows very large, you might notice an increasing delay when you open the
Materials dialog box. To avoid this delay, you can use an alternat e method to add or change input
materials.
1. On the Formula Inputs Editor dialog box, clear the Add Materials From Li st check box.
2. When you click Add Inputs or Change Input, the Material dialog box appears.
3. In the Material ID box, type the required material ID, and then click OK or Appl y as appropriate.
If the material is located in the Mat erials database, the material is added to the list in the Formula
Inputs Editor dialog box. If the material does not exist in the Materials database, an error message
appears.
To edit input material settings
Perform these steps in the Material Settings area of the Formula Inputs Edi tor dialog box.
For each material assigned as a recipe formula input, you can define a Value that represents the
material quantity. You can designate this value either as a percentage of t he total batch size or as an
actual value.
2. Click the Type arrow and select Percent or Actual as required for the entered value.
3. Select the Total check box if you want the value to be included as part of the inputs total in the
Inputs Summary list.
The sum of all of the values assigned to inputs that have the Total check box selected appears in the
Inputs Summary pane.
This totaling feature functions only for inputs that have values of the same type. If there is a mix of
input materials with actual values and percent values that have the Total check box selected, the
Value appears as N/A.
The Recipe Editor does not require that the total of inputs be equal to exactly 100%. An example of
this is a recipe that varies in batch size from 100 to 5000 pounds. When the batch size is below 500
pounds, a specific group of inputs (ingredients) are assembled in advance as a premix and then
added to the batch as an intermediate.
When the size is equal to or above 500 pounds, all inputs are added individually. If the total
intermediate is 25% of the batch and is included in the total, the total is 125%. If the Total check box
is disabled for the intermediate, the total is 100%. In this example, the procedure includes parallel
operations or phases for adding the inputs in question, wit h only the appropriate operations or
phases being processed. Transition logic that evaluates the batch s ize is used to determine which
operations or phases to run.
4. Click the Tolerance arrow and select General, Recipe, or None as required.
General (default) tolerances are defined for each input as part of their entry into the Materials
database. These tol erances appear in the high and low deviation fields as percentages. The
tolerances can be also be assigned as Recipe specific. If you do not want to assign a tolerance, use
the None option. You can change input material toleranc es using the Formula Inputs Editor dialog
box or by directly editing the phase in the recipe procedure.
5. If you specified Recipe as the Tolerance, enter a High Deviation and Low Deviation.
6. In the Unit of Measure text box, enter an appropriate term such as Kgs, Liters, or Gallons
(16 characters maximum).
7. Click Change.
3. Click the Type arrow, and select the applic able material type from the list.
Materials of the specified type appear in a list.
4. Select the required material from the list.
5. Click OK.
To change output materials
1. On the Formula Editors dialog box, click the Change Output button.
The Materials dialog box appears. All the materials in the Mat erials databas e of the selected Type,
are listed.
2. Click the Type arrow, and select the applic able material type.
Materials of the specified type appear in a list.
3. Select the required material from the list.
4. Click OK.
The new mat erial retains the values and phase assignment that were assigned to previous input.
To add or change output materials – alternate method
If the Materials database grows very large, you might notice an increasing delay when you open the
Materials dialog box. To avoid this problem, you can use an alternate method to add or change input
materials.
1. Clear the Add Materials From List check box in the Formula Inputs Editor dialog box.
2. When you click Add Outputs or Change Output, the Material dialog box appears.
3. In the Material ID box, enter the required Material ID and click OK or Apply.
If the material is located in the Mat erials database, the material is added to the list in the Formula
Inputs Editor dialog box. If the material does not exist in the Materials database, an error message
appears.
To edit output material settings
1. On the Formula Outputs Editor dialog box, in the Material Settings pane, enter a quantity in the
Value box.
For each material assigned as a recipe formula output, you can define a Value that represents the
material quantity. You can designate this value as either a percentage of t he total batch size or as an
actual value.
2. Click the Type arrow and select Percent or Actual as required for the entered value.
3. Enable the Total check box if you want the value to be included as part of the inputs total in the
Inputs Summary list.
The sum of all of the values assigned to outputs that have the Total check box selected appears in
the Outputs Summary pane. The totaling function works only on outputs that have values of the
same type. If there is a mix of output materials with actual values and percent values that have the
Total check box selected, the Value appears as N/A.
The Recipe Editor does not require the outputs to total exactly 100%.
4. In the Unit of Measure box, type an appropriate term, such as Kgs, Liters, or Gallons (16 characters
maximum).
5. Click Change.
Note: Do not change the Tolerances for Discrete, String, and Enumeration type process variable formula
parameters.
Note: The Value must be within the range of the High and Low Limit values defined for the parameter in
the Process Model database.
The Operations Library dialog box appears. All the operations that have been previously saved
appear in the list.
Validating a Recipe
You can validate the current recipe. The validation process verifies the following elements:
The Proc ess Model dat abas e inform ation used in the recipe exists. This information includes
process classes, phases, parameters, and tags.
The Material database information used in the recipe exists.
The minimum, maximum, and default batch sizes defined in the recipe header are appropriat e.
(Minimum <= Default <= Maximum).
All the formula parameters defined in the recipe procedure are linked to the appropriate information.
All transition logic, including loop logic, is valid.
Notes:
The validation process verifies only user-configured information. Because of the flexibility provided in
constructing recipe procedures, it is impossible to verify a recipe design. This verification is your
responsibility.
The validation does not check the document path specified for a document that is to be viewed as
part of the phase processing.
The validation process does not verify the existence of reports on the History Server. This verification
is your responsibility.
To validate a recipe
On the File menu, click Validate.
If t he validation is successful, Recipe is Valid is shown in the Validate dialog box. If validation errors
exist, the associated tags appear along with a validation error message.
Approving a Recipe
You can approve any recipe in the database for production or for testing.
To approve a recipe
1. From the File menu, select Approvals.
The Approval dialog box appears.
2. Select the appropriate level command button on the Approval dialog box and then type information
required. Levels can be approved in any order.
The required levels of approval are configured in the S ecurity Editor. If security is not enabled, you
must manually select the Approved for Production or Approved for Test check box each time that
you save the recipe. Five levels of recipe approval are permitted. The first level corresponds to the
author. You can assign the remaining levels of approval based on your requirements.
Tip: To prevent the same person from approving recipes at different levels, assign each level of approval
to a different security role.
Note: Recipe approvals made on version 8.0 and lat er show the time/date stamp of the electronic
signature. If recipe approvals were made on a prior version of the batch software, the time/date of the
electronic signature is not available.
Note: You can have an existing recipe open automatically when you launch the Recipe Manager if you
have passed the recipe ID on the command line (e.g. RecipeEdit.exe RecipeXXX, where RecipeXXX is
the recipe ID).
All the recipes in the Recipe database are listed. You can sort the list by clicking a list heading.
2. Click Open.
3. Double-click the required list item.
You can open the Recipe Editor from the BatchServer and the Development Client. You can specify the
recipe you want to open, by following the instructions below:
To open the Recipe Editor from the Batch Server:
1. Change the directory to ...\Batch Management\bin folder, where you installed Batch Management.
2. From the command line, execute the command RecipeEdit.exe "Recipe ID", and the Recipe Editor
opens the recipe. For example, RecipeEdi t.exe CB1000.
To open the Recipe Editor from Development Client:
1. Change the directory to the \Cfg\Config_A folder, to which the batch server folder is mapped. For
example, if K is the drive on which the batch server folder is mapped, you must change the directory
to: K:\cfg\ Config_A
2. From the command line, execute the command RecipeEdit.exe –A<Batch Server Name> "Recipe
ID", the Recipe Editor opens the recipe. For example, if you installed Batch Management at
C:\Program Files\Wonderware\Batch Management\, to start the Recipe Editor with recipe
CB1000 loaded at startup, you must execute the following:
RecipeEdit.exe CB1000
2. In the Search For text box, type the text that you want to find.
The space character acts as a wildcard entry. If you type a space character in the Search For text
box, every item in the list is searched.
3. From the In list, select whether you want to search t he Recipe ID, Recipe Name, State or Type, or all
of these fields.
4. Enable the Ca se Sensitive check box as required.
5. Click Find Next.
The first Recipe that matches your criteria is highlighted in the Recipe s – Open list.
6. To continue searching and scrolling through the list, click Find Next.
7. When you identify the recipe that you want, click Open.
Recipe Editor shows the selected recipe.
To filter the recipe list
1. On the Recipe s - Open dialog box, click Filter.
The Recipe Filters dialog box appears.
Deleting a Recipe
You can delete any recipe defined in the database, but you can delete only one recipe at a time. If you
delete the recipe that is currently open, you must use the File > New command to clear the delet ed
recipe from the list.
To delete a recipe
1. On the File menu, click Delete Recipe.
The Recipe s – Delete dialog box appears.
The Hi story dialog box appears. All the history for the open recipe is listed.
Note: Only the latest recipe version is supported at runtime. If you need to support running multiple
versions of the same recipe, you must add a version number to the recipe ID (basically create a new
recipe per version).
Note: The file that is created contains information in a proprietary format. Do not attempt to view or edit
the contents.
To import a recipe
1. In the Import/ Export dialog box, select Recipe in the Type area, and then select RCP in the Format
area.
2. Type the name of a directory or select it from the Directories list.
3. In the Recipe IDs list, select an available recipe from the Files list.
4. Click Import.
This action creates the recipe in the Recipe Database. If the recipe already exists, the Duplicate
Recipe dialog box appears. You need to confirm if you want to overwrite the existing recipe. You can
also specify a different recipe ID in the text box.
Note: Aft er you import a recipe, the system validates automatically and approval is required to use the
recipe.
WARNI NG! If you attempt to import files that were not created by performing a recipe export, an
application error occurs.
To import a recipe
1. In the Import/ Export dialog box, select Recipe in the Type area, and then select XML in the Format
area.
2. Type the name of a directory or select it from the Directories list.
3. In the Recipe IDs list, select an available recipe from the Files list.
4. Click Import.
This action creates the recipe in the Recipe Database. If the recipe already exists, the Duplicate
Recipe dialog box appears. You need to confirm if you want to overwrite the existing file. You can
also specify a different file name in the text box.
Note:
- After you import a recipe, you should validate and approve it using the Recipe Edit or.
- Recipe information such as its approval, version history, type, and state are not imported for security
reasons.
Exporting Formulas
You can export a recipe's default formula to a CSV/ XML file. You can modify the formulas outside of
Batch Management, and then use it during runtime to change the formula values. This allows you to use
the same recipe with different formula values or material during run time. However, be aware that if you
change the procedure (for example, add or delete a phase) using the customized formula, validation will
fail during batch initialization.
By default, when you export a formula from the Recipe Editor, the exported file is saved in the Config_A
folder. You can modify the formulas in the exported file and save the modified formula file under the
RuntimeFormulas\<recipeid>\<recipeid recipeversion> folder. During runtime, only the formulas
under the lat est RuntimeFormulas\<recipeid>\<recipeid recipeversion> folder are accessed when
you select a recipe to be updated. The RuntimeFormulas folder and a <recipe> subfolder are created
when you approve a recipe for Production or Test or when you export formula from an approved recipe.
The recipe subfolder name is the combination of the recipe id and recipe version number.
Note: Under the <recipeid recipeversion> subfolders, if there are duplicate files (e.g. f1.csv and
f1.xml), the cs v file takes precedence over the xml file.
This action creates the formula file (.cs v extension) in the directory that you selected. If the formula
file exists, the Duplicate Recipe dialog box appears. You need to confirm if you want to overwrite
the existing file. You can also specify a different file name in the text box and then click No.
Note: The file that is created contains information related to the Formula only.
Column
Formula Formula Process Phase
Name Input Output Variables Phase Input Output
ID * * * * *
Parameter Type * * * * *
Possible values:
ProcessInput,
ProcessOutput,
ProcessParameter
Value String Y Y Y Y Y
DataInterpretation Y Y * * *
Possible values:
Equation, Constant
DataType * * * * *
Possible values: double,
Boolean, string,
Enumeration
UnitOfMeasure Y Y * * *
EnumerationSetID *
MaterialID * *
OverrideMaterialID Y Y
This field is optional.
Total Y Y
Possible values: True,
False
ToleranceTy pe Y Y
Possible values:
General, Recipe, None
HighDeviation Y Y
Column
Formula Formula Process Phase
Name Input Output Variables Phase Input Output
LowDeviation Y Y
Name * * *
ProcessVariable * * *
Type
ParentInstance * * *
Phase * * *
PhaseParameter *
Label * * *
FormulaParameter * *
ID
RecipeID * * *
RecipeVersion * * *
The cells marked with * are used to identify the elements for information only. These values should
not be modified.
The cells marked with Y are customizable and are applied to the recipe when the batch is initialized.
These customizable fields affect the control recipe only. Most of them are not shown in the user
interface. Only the updated value and material ID are sho wn in the user interface, under the Phase
Parameter Editor of the Batch Display.
If the FormulaP arameterId is not empty, the row is treated as a phase input or output.
If the attribute OverrideMaterialID is defined, it will override the MaterialID when the formula is used
at runtime. If defined, OverrideMaterialID must be set to a material that already exists in the system.
For details about each of the parameters included in the Formula .CSV file, see Defining Formulas on
page 228.
o The inputs, outputs, and process variables in the formula must exist in the recipe.
o The phase inputs and outputs in the formula must exist in the recipe.
o If the phase inputs or outputs are included in the xml/csv file, the referenced formula inputs or
outputs must be included, as well.
If this parameter is set to 1:
o The inputs, outputs, and process variables in the formula and recipe must exactly match.
o The phase inputs and outputs in the formula and recipe must exactly match.
Additionally, the system validates the following for the CSV format formula file:
The header row is validated.
The number of columns is validated where extra columns will be ignored.
The first data row must contain a valid recipe ID.
For values such that comma is allowed, they must be enclosed in double quotes.
Note: During validation, the application does not enforce that the recipe and the formula must have the
same version number. As long as the formula data is valid against the recipe, it can be import ed to that
recipe.
11,ProcessInput,34.000000,,double,,,,,,,,," Weight",
Process,Mixer, ManualAdd,,4,2,,
12,ProcessInput,34.000000,,double,,,,,,,,," Weight",
Process,Mixer, ManualAdd,,8,2,,
13,ProcessOutput,100.000000,,double,,,,,,,,,"Weight",
Transfer,MixHold,Transfer,,13,3,,
Note:
In the second row, the RecipeID is mandatory. However, it is not required in the remaining rows.
In the second row, the RecipeV ersion is specified. However, it is optional.
In the row with ID 2, OverrideMaterialID is defined. During runtime, the ingredient Chocolate will
replace Lemon in the recipe. However, it is optional.
Rows with ID (1,2,3, 4) illustrate some formula inputs and output. There are four of t hem here, but you
could have zero or as many as needed.
Rows with ID (9, 10, 11,12,13) illustrate some phase inputs and outputs, which have the Label and
FormulaParameterID defined. There are five of them here, but you could have zero or as many as
needed.
The phase input/output and its referenc ed formula input/output must be included at the same time.
For example, row with ID 9 references Formul aParameterID 1. Row with ID 1 must be included if row
with ID 9 is included.
A double quote (" ") is required to enclose the value if the comma is a valid character of the value.
Only a comma is accepted as the separator.
Assume that the modified files are still valid for SkinCream version 4, you must copy the files
SkinCream Light.csv and SkinCream Regular.cs v to the directory
RuntimeFormulas\SkinCream\SkinCream v4. If the formulas are not valid anymore, errors will be
displayed when you try to initialize the batch. In this case, you should export formula from SkinCream
again, and customize the newly exported file.
Note: Changing a parameter includes changing the parameter type (i.e. ProcessVar to Input), the dat a
class (i.e. analog to string), the Enum set or value, or the Units of Measure definition. When a parameter
is synchronized due to any of the previous reasons, all the following properties are updated in the recipe
from the model (if appropriate for the paramet er type): data class, tolerance type, high deviation, low
deviation, unit of measure, and t arget/total value. However, if only the Unit of Measure has changed, and
is set to "None" in the recipe or model, then only the Unit of Measure definition is synchronized.
Note: It is recommended that you back up your Recipe databases before you synchronize a recipe.
To synchronize recipes
1. From the File menu, select Sync and Validate Recipes.
Note: If you have a Recipe open, you must close it before you can use the synchronization feature.
2. Select the Recipe ID that you want to validate. You can select more than one recipe.
3. Type the name of the Author (30 characters maximum).
4. Enable the Retain Recipe Approvals check box to retain the Approvals that are currently assigned
to each recipe in the database.
If you disable the Retain Recipe Approval s check box, you must enter new Approvals.
Note: By default, the Retain Recipe Approval s is enabled. If you have disabled the Allow Sync
Approvals parameter in the E nvironment E ditor, you c annot select the Retain Recipe Approval s check
box.
5. To require confirmation of each recipe synchronization before it begins, enable the Acknowledge
Required check box.
If you disable the Acknowledge Required check box, recipes are synchronized and validated
without the need for confirmation.
6. If you want to verify only whether recipes are synchronized, enable the Validate Only check box.
7. After making your selections, click Execute to begin the validation or synchronization process.
When the synchronization proc ess starts, it initiates a synchroniz ation of the phase parameters in
the recipe with those in the process model. When differences are encountered, the recipe phase
parameter information is updated using the process model phase parameter information.
8. Use the Pause button to interrupt the proc ess.
After you pause the proc ess, you can click Skip Recipe to ignore the current recipe and proceed to
the next. After you pause a proc ess, you can completely stop it by clicking Cancel.
When you click Pause, the button label changes to Continue. If after a pause, you want to resume,
click Continue.
9. When the process is complete, click the Validation Results button to view the status of the
synchronization and validation process.
You can double-click each row in t he Recipe Validation Results dialog box to view the details about
invalid data and what has been synchronized.
Printing Recipes
You can select one or more pre-formatted reports, and then print the section(s) to a printer or a file.
To print a recipe
1. On the File menu, click Print. The Print window appears.
NOTE: Settings like Paper size and Orient ation will be determined by the default settings configured for
the print ers.
Sequence of Phases
The Sequence of Phases pane is used to create a sequence of phases that are processed within an
operation. You define the phases in the process modeling editor. You can construct the phase sequence
using any of the procedure objects described later.
The following table describes the functions of the various icons on the Unit Procedure s Toolbar.
Familiarly used icons such as those for Cut, Copy, and Pa ste are not described.
Load Unit Procedure Load a pre-defined unit procedure from the Unit Procedures
Library.
Undo Undo the most recent change. Only one level of undo is
available. Undo is applicable only to the creation and deletion
of objects.
The following table describes the functions of the various icons on the Operations Toolbar. Familiarly
used icons such as those for Cut, Copy, and Pa ste are not described. Descriptions for Delete, Undo,
Zoom In, and Zoom Out are provided in the previous table.
Add Operation Branch Enter a branc h object into the sequence of operations.
Add Operation Loop Enter a loop object into the sequence of operations.
The following table describes the functions of the various icons on the Phase s Toolbar. Familiarly used
icons such as those for Cut, Copy, and Paste are not described. Descriptions for Delete, Undo, Zoom
In, and Zoom Out are provided in the table for unit procedure icons.
Add Phase Add a phase to the procedure. The phases that are available
are read from the process model. The phase name and the
associated process or trans fer instance name are shown on
the object.
Add Phase Transition Enter a transition logic object into the sequence of phases.
Add Phase Branch Enter a branc h object into the sequence of phases.
Add Phase Loop Enter a loop object into the sequence of phases.
Click the Unit Procedure s Library icon on the toolbar to open the Unit Procedure s Library
dialog box. You can then drag the target unit procedure int o the library dialog box.
The unit procedure is added to the library list along with the Proce ss Cla ss, Proce ss Instance, the Date
the unit procedure was added, and all phas es and configuration information.
Note: Unit Procedures in the library can have the same name. However, each operation is individually
maintained. Also, the unit procedure in the library can be sorted according to each field by clicking the
appropriate column header.
1. On the Unit Procedure s toolbar, click the Load Unit Procedure icon.
The Load Unit Procedure dialog box appears.
2. Select the Unit Procedure that you want to load from the list.
3. Click OK.
The unit procedure is added to the procedure beneath the location of the cursor.
To load an operation (method 2)
1. Click the Unit Procedure s Library icon.
2. Drag the target operation onto the recipe procedure.
Note: Remember that adding unit procedures from the library may result in the addition of proc ess and
transfer instances to the recipe equipment requirements. You must ensure that the recipe equipment
requirement has only the required instances defined. When the recipe is scheduled as a batch, the train
must have equipment for each instance, regardless of whether the instanc e is called in the procedure. If
not, you cannot initialize the batch.
Storing Operations
As you create your recipe, you can use either of the following methods to store the operation in the
library.
To store an operation (method 1)
1. Double-click the target operation on the Operations dialog box.
2. Click Save Operation.
1. Click the Operations Library icon on the toolbar to open the Operations Library dialog box.
2. Drag the target operation onto the Operations Library dialog box.
The operation is added to the library list along with the Proce ss Cla ss, Proce ss Instance, the Date the
operation is added, and all phas es and configuration information.
Note: Operations in the library can have the same name. However, each operation is individually
maintained. Also, you can sort the operations in the library by clicking the appropriate column header.
Loading an Operation
As you create your recipe, you can use either of the following methods to load an operation from the
Recipe Editor toolbar.
To load an operation (method 1)
2. Select the Operation that you want to load from the list.
3. Click OK. The operation is added to the procedure beneath the location of the cursor.
To load an operation (method 2)
Operation Validity
When you attempt to load an operation into a recipe procedure, the following checks are performed to
ensure the validity of the operation:
The process class assigned to the operation must exist in the Equipment Requirements Editor. If the
class does not exist, an error message appears and the load fails.
If the process class exists, the process instance is automatically added to the recipe equipment
requirements. You must acknowledge the message for each instanc e.
Materials included in t he operation definition can optionally be added to t he recipe formula. You must
acknowledge the message for each material.
Note: Remember that adding operations from the library can result in the addition of process and
transfer instances to the recipe equipment requirements. You must ensure that the recipe equipment
requirements have only the required instances defined. When the recipe is scheduled as a batch, the
train must have equipment for each instance regardless of whet her the instance is called in the
procedure. If not, you cannot initialize the batch.
1. On the Unit Procedure toolbar, click the Add Unit Procedure icon.
The Add Unit Procedure dialog box appears.
The Proce ss Instance s in the list correspond to the process class selections and instance
definitions that you defined using the Equipment Requirements Editor.
For more information on Equipment Requirements, see Assigning Equipment to a Recipe section.
1. On the Operations toolbar, click the Add Operation icon. The Add Operation dialog box
appears.
2. Type a name for the operation in the Name box (16 characters maximum).
3. Click OK. The operation block is inserted into the sequence of operations.
To insert a phase
2. Click the Type arrow and select a phase type from the list.
The Phas e Type corres ponds to the process class instance selection made for the corresponding
unit proc edure. The six types of available phas es are described in the following table.
Process Lists the process phases defined in the Process Model Editor for the process
instance that was assigned to the operation that is currently being defined.
Trans fer Lists the transfer phases from the Proc ess Model Editor in which the
assigned process instance for this operation is either a sourc e instance or a
destination instance.
Allocate Process Lists all process instances defined in the recipe Equipment Requirements
Editor.
Release Process Lists all process instances defined in the recipe Equipment Requirements
Editor.
Allocate Transfer Lists all transfer instances defined in the recipe Equipment Requirements
Editor.
Release Trans fer Lists all transfer instances defined in the recipe Equipment Requirements
Editor.
Transition objects control the processing of a procedure. Transition logic consists of an expression that is
evaluated by the batch management system when t he object is encountered. The result of an expression
is Boolean. If the result is False, processing stops at the transition. If the result is True, the operations or
phases following the transition are processed. You can use an unlimited number of transition objects in a
procedure.
To insert a transition object (method 1)
1. On the Recipe Editor dialog box, select the Operation or Phase to which you want to add a
transition
2. Click the Add Unit Procedure Transition, Add Operation Transi tion, or Add Pha se Transi tion
icon for the unit procedure, operation, or phase that you selected earlier.
The transition is added to the procedure.
3. Double-click the transition object. The Transi tion Properties dialog box appears.
Expression Result
AskDoneBy(" Continue?") Same as the Ask question except that the question can be
answered only by a user with the proper security clearance.
Expression Result
AskCheckBy("Continue?") Same as the Ask question except that the question can be
answered only by a user with the proper security clearance,
and the question must be verified by another qualified user.
Note s:
Transition Logic is a very powerful aid in developing a complete batch system. It is intended to be a
useful tool in the coordination and processing of a recipe. It is not int ended t o extensively replace the
functionality in the control system such as the PLC.
Where you are performing Boolean expressions that are using tags in the system, there is inherent
latency due to communications to the cont rol system. Additionally, the associated processing
overhead or demand placed on Batch Management is nearly the same as that of a phase.
In general, if you have in excess of 50 Boolean expressions that are using tags in the system,
re-evaluate your system design and inc orporate more control evaluation in the control system. The
greater the number of transition objects in a system, the great er the demand that is placed on Batch
Management, which can result in decreased client updates and system responsiveness.
When you enter questions, you are limited to 40 characters. The Expression Editor allows you to
enter more than 40 characters. However, during processing, the entry is truncated so that only the
first 40 characters appear.
Branch Objects
You can insert a branch object into the respective procedure sequenc e beneath the current location of
the cursor.
Use branch objects to process multiple operations or phases at the same time or to make a choice
between running one of several operation or phases. The number of branch objects that you can use in a
procedure is unlimited.
To insert a branch object
1. In the Recipe Editor dialog box, click the Unit Procedure, Operation, or Phase on which you want
to add a branch.
2. Click the Add Unit Procedure Branch, Add Operation Branch or Add Phase Branch icon
for the item that you selected in step 1.
The branch is added to the procedure.
3. Double-click the branch.
4. In the Branch Size box, type the number of branches you want to add (maximum of 20).
While you are limited to 20 branc hes, you can nest branches for added flexibility. The default Branch
Size is 2.
5. Select All or One from the Execute Type list.
For more information on Branch Types, see "Branch Execute Types".
6. Click Change and Close.
The branch is insert ed into the recipe proc edure.
Note: You cannot add branches around an existing unit procedure, operation, or phase. However, you
can add a branch object and then drag -and-drop objects into a branch object.
Note: The batch manager does not continue past the Branch Return object until all transition logic and
operations or phases in all the legs are processed. Therefore, when you construct procedures, ensure
that all of the legs associated with the Execute All branch can be processed.
Use the Execute One branch object when the processing of a single leg of a branch is required. The
Batch Management System evaluates the branch beginning with the left -most leg. If the transition logic is
True or there is no transition logic, operations or phases in the branch is processed. All other branches
are ignored. If all the legs of a branch have transition logic that is False, the Batch Management System
continues the evaluation of each transition until one of the legs changes t o a state of True.
The Execute One branch object is graphic ally shown as a single horizontal line.
Loop Objects
You can insert a loop object into the respective procedure sequence.
Use loop objects to re-run unit procedures, operations, or phases that are built inside the object. Any
procedure object, including other loops, can be placed inside a loop structure.
Insert objects within the loop by positioning the cursor on the top portion of the object and follow the
normal insertion directions described earlier. The bottom portion of the loop object contains a transition
object that you must define with the Expression Editor. The result of the evaluation of the expression
determines whether the objects contained within the loop are re -run or not. If the expression is True, loop
processing returns to the top of the loop. If the expression is False, processing proceeds below the loop.
To insert a loop object
1. In the Recipe Editor dialog box click the Unit Procedure, Operation, or Phase to which you want to
add a branch.
2. Click the Add Loop icon for the Unit Procedure, Operation, or Phase that you selected in
step 1.
The loop is added to the procedure.
3. Double-click the lower portion (transition) of the loop object.
The Transition Propertie s dialog box appears.
For more information on using the Transition Properties dialog box, see "Inserting Transition
Objects".
4. Define the transition using a unique Label (8 characters maximum), Name (16 characters
maximum), an optional De scription (120 characters maximum), and an Expre ssion.
By default, all new loop objects are assigned an automatically -defined Label (numeric value). Also, a
default name is defined which is the same as the label. You can edit these as required.
For more information on building expressions, see "Expression Editor".
Note: You cannot add a loop around an existing operation or phase. However, you can drag and drop
existing objects into a loop object.
Note: When you cut or copy a branch, ensure that you properly select the appropriate leg. When you
cut or copy a loop, ensure that you properly select the transition object or exit point of the loop. Otherwise
you may not achieve the intended result.
Note: When you paste objects into a branch, ensure that you properly select the appropriate leg. When
you paste objects into a loop, ensure that you select the appropriate ent ry or exit point of the loop before
you paste.
Note: Us e the Undo icon to undo the most rec ent deletion. Only one level of undo is provided.
2. Click the Delete icon. This example shows the deletion of the Heat Phas e.
2. Click the Delete icon. This example shows the deletion of ManAdd Phase.
This example shows the deletion of an entire branch that includes one BulkAdd and two ManAdd
Phases.
To delete a loop
1. Position the cursor on the Loop Ret urn object of the loop that is to be deleted.
2. Click the Delete icon.
This example shows the deletion of loop which includes a Heat phase, an Agitate phase, and two
phase transitions.
3. Type a Unit Procedure Name (16 characters maximum) and optional Comments (unlimited
length).
For more information on the use of the operation library, see "Using the Unit Procedures Library".
Operation Properties
Use the Operation Properties dialog box to edit the properties of any operation object.
2. Type an Operation Name (16 characters maximum) and optional Comments (unlimited length).
For more information on the use of the operation library, see "Editing the Operations Library".
Phase Tab
Use the Pha se Tab to configure how the phas e interacts with the batch system and operat ors.
5. In the On Exit pane, select the Acknowledge, Done By and Check By check boxes as required.
o Acknowledge – Select this check box if you want to require an operator to press the
acknowledge button prior to the end of a phase. The Acknowledge command button is part of
the Batch Display.
o Done By – Select this check box if y ou want to require an operator, or pers on with a comparable
security role, to verify the end of the phase. During recipe processing, the option requires the
operator to press the Acknowledge button on the Batch Display and then enter their security
identification number and password before t he phas e can end. Selecting Done By aut omatically
enables the Acknowledge check box. Configuration of the appropriate Done By security roles
is performed in the Sec urity Editor.
o Check By – Select this check box if you want to require an operator and the supervisor, or
person with a comparable security role, to verify and confirm the end of t he phase. During recipe
processing, the option requires the operat or to press the Acknowledge button on the Batch
Display and then enter their security identification number and password, and the security
identification and password of a supervisor, before the phase ends. Selecting Done By
automatically enables the Acknowledge check box. Configuration of the appropriate Check By
security roles is performed in the Security Editor.
For more information on the configuring security, see "Security System".
6. In the Comment pane, select the Required check box if you want to require the entry of operator
comments during phase processing.
This action causes the Edi t Comment button to appear on the Batch Display and pauses recipe
processing until the ent ry is completed.
7. In the Execution pane, select the Continue Mode check box if you want the Batch Managem ent
System to allow recipe proc essing to continue when a Run status is received from the phase.
If t he Continue Mode check box is disabled, recipe processing does not continue until a Done status
is received from the phase.
8. Click Change and then Close.
Instructions Tab
Use the Instructions tab to enter specific work instructions that appear to an operator as part of phase
processing.
To edit phase instructions
1. On the Pha se Properties dialog box, click the Instructions tab. The Instructions tab becomes
active.
Parameters Tab
Use the Parameters tab to view and define specific formula parameter values. These paramet ers were
initially defined with the Process Model Editor.
There are three types of formula paramet ers: Input, Output, and Process Variable. Process Variable
parameters require the assignment of a value if the default value is not acceptable. In addition, if the
phase is used more than once in the procedure, the parameter name may be changed in order to
associate each parameter with its respective phas e. Input and Output parameters require a material
assignment.
To edit phase parameters
1. On the Pha se Properties dialog box, click the Parameters tab.
2. The Parameters tab becomes active.
The specific Parameter tab appearanc e varies according to the type (Input, Output or Process
Variable) of phase that you are editing. Use the Sort By Name check box to sort the parameter list.
An example of each type is provided in the following sections.
Document Tab
Use the Document tab t o assign the file name of a document or program that you want operators to view
and optionally acknowledge as part of a phase proc essing. Ac knowledgment can be specified t o occur at
the start of the phase (On Entry) or as the last step (On Exit) of the phas e. When the phase processes,
Windows launches a program based on the file extension. For example, if the extension is .html,
Windows could launch a brows er.
For more information on associating file extensions with programs, see your Windows user references.
An example of how you might implement the Document Viewing feature could be based on a
requirement that operators must view mat erial safety data and then acknowledge the action.
Furthermore, you might have the material safety data stored in an HTML document on a network at the
address http://Material_S afety.html.
Actual document viewing and acknowledgment is a function of the View Doc and View Doc Ack buttons
on the Batch Display.
For more information on the Batch Display, see "Batch Management System."
On Entry – E nable this option if y ou want to require an operator, supervisor, or person with a comparable
security role, to verify and confirm viewing of the document as the first step of the phase. During recipe
processing, the option requires the operat or to press the View Doc and View Doc Ack buttns on the
Batch Display. You can configure the buttons to require the entry of security identification numbers and
passwords as the first step of the phase. Configuration of the appropriate Done By and Check By
security roles is performed in the Security Editor.
Prior To Edit – Enable this option if you want to require an operator, supervisor, or person wit h a
comparable security role, to verify and confirm viewing of the document as the last step of the phase.
During recipe processing, the option requires the operator to press the View Doc and View Doc Ack
button on the Batch Display. You can configure the buttons to require the entry of security identification
numbers and passwords as the first step of the phase. Configuration of the appropriate Done By and
Check By security roles is performed in the Security Editor.
For more information on the configuring security, see "Security System".
Viewing Documents on Clients
If you are using batch clients in your system, and intend to run a recipe that uses the Document Viewing
feature, make certain that each client is properly configured to the document. One way to ensure this is to
place all of your document files in a folder that is shared for each of your client systems.
The following example shows a material trans fer operation and phase procedure from a bulk tank to a
reactor. The Discharge BulkTks phase has an input parameter defined for the phase that is not shown in
the diagram. This parameter is used to track the amount of material transferred from the manually
allocated bulk tank to the automatically allocated reactor.
The following image shows the configuration of ope rations and phases.
The following image shows an example for loading an operation from the Operations library.
The following image shows an example of adding branch and transition objects.
Comparing Recipes
Use the Recipe Compare utility to select two recipes to compare (eit her different versions of the same
recipe or two different recipes) and then view and save a generated report showing the differences
between them. The recipes to compare must have been previously exported from RecipeEdit in XML
format.
Note: We recommend you enable the "Version at Approval" or "Version at Save" option in EnvE dit
System Parameters in conjunction with using the Recipe Compare utility. Enabling one of the vers ioning
options will ensure that all recipe version changes will be archived for comparison.
The Recipe Compare report provides details about additions, deletions and modifications to the recipe
configuration (e.g. process variables added to a phase, changes to the equipment requirements, etc.).
The comparison report does not describe changes to the structure of the recipe such as changes to Unit
Procedures, Operations, Branc hes, and Loops.
You can open the Recipe Compare utility from the Environment Display, Recipe Editor or a shortcut on
the Development Client’s menu. It is an independent utility and can be run by itself. For example, if you
open the Environment Display and Recipe Compare, and then shut down Environment Display, Recipe
Compare will continue to run.
Recipe Compare functionality can be accessed through stateless APIs. For details, see the Stateless
API help.
Security
You cannot define security on the Recipe Compare utility using the Security Editor. To restrict ac cess to
the utility or the recipe XML files, you can assign the appropriate Windows access control to the files.
To compare recipes
1. Click the Compare button or press Ctrl + Shift + C on your keyboard. The Select Recipes To
Compare dialog box appears
2. In the Original Recipe box, enter the first recipe or select a recipe using the Brow se (...) button.
Note: When you use the Browse button or ent er an XML file name without a full path, the default path is
used. You can set up the default path in the Environment Display system parameter ("Version File
Path"). Configuring a network path enables you to access recipe versions from the Batch Management
Development Client and als o support redundant configurations.
If t he Version File Path is not configured, then the path is defaulted to .. \Config_A\ Recipe V ersions folder.
3. In the Compare to Recipe box, enter the second recipe or select a recipe using the Browse (...)
button.
4. Click Compare. The HTML report describing the differences between the recipes is generated and
shown.
If all the details for the compared recipes are the same, a status message "Recipes are the same" is
shown in the report.
5. Click Save As or press Ctrl+S on your keyboard to save the report. The Save As dialog box
appears.
Note: If you do not save the report, when you close the Recipe Compare utility, the report will be lost.
For more information about the report, see "Recipe Comparison Report".
To view the Help
To view the online Help, click the Help button, and then select Help Topics. Alternatively, press F1 on
your keyboard.
To view the About information
To view the About dialog, click the Help button, and then select About Batch Management Recipe
Compare.
Note: Refer to the Readme file for the versions of Internet Explo rer supported by the Recipe Compare
utility.
To expand a cert ain section, click the down arrow beside the name of the section.
After you expand the section, an up arrow is shown beside the section name.
The report is divided into three columns: Element (lists the headers, the element names and the keys of
the objects which have been modified), Original Recipe and Compare to Recipe.
Changes for version history are described in this section. This section corresponds to the Save Dialog in
the Recipe Editor. One of the elements is the Date/ Time modified. Its actual value is set in the Batch
Management Server’s time zone. Its formatted value in the HTML report uses the regional settings of the
machine generating the report.
Equipment Requirements
The Equipment Requirements section contains changes to Process Classes, Process Instances,
Trans fer Class, and Transfer Instances. This section corresponds to the Equipment Requirements menu
of the Recipe Editor. Information will be grouped by Addition, Modific ation, and Deletion. For example:
ProcessClasses Added
ProcessClass/ProcessInstance Added
Trans ferClass Added
Trans ferClass/Trans ferInstance Added
where ProcessClasses, ProcessClass/ProcessInstance, TransferClass and
Trans ferClass/Trans ferInstance are the key combinations to identify the Process Class, Process
Instance, Trans fer Class and Transfer Instance objects. For example, under
ProcessClass/ProcessInstance Added, Mixer/Mixer2 indicates that Process Instance Mixer2 of Process
Class Mixer is added.
For every process instance, it could cont ain a list of attributes. The report section for the process instance
includes the changes for the attributes.
Formula
Formula is divided into three sections: Inputs, Outputs, and Process Variables. These sections
correspond to the Formula Inputs, Formula Outputs, and Process Variables menu of the Recipe Editor.
For each section, the changes are grouped by Addition, Modification, and Deletion. For example:
Inputs Added
Inputs Modified
Inputs Delet ed
For Inputs and Outputs, the key is Material ID, while the key combination for Process Variables is
UnitProc edure/Operation/ProcessClass/Phase/Parameter/Label.
Procedures
Procedures is divided into two sections: Phases and Transitions. These sections correspond to the
Phase and Transition objects of the Recipe Editor. For each section, the changes are grouped by
Addition, Modification, and Deletion.
Note: The comparison report does not describe the changes to the structure of the recipe such as
changes to Unit Procedures, Operations, Branches, and Loops.
C HAPTER 10
Batch Management System
The Batch Management System consists of scheduling, initializing, coordinating the processing of
batches with the control system, interfacing with operators, and directing batch activity to the historical
database. The functions that are provided by the Batch Management System are available through the
Batch Scheduler, Batch, and Batch Manager applications. By applying these applications, you can
achieve a flexible, reliable, and intuitive solution to managing all of your batch processes.
In This Chapter
Overview.................................................................................................................................... 291
Using the Batch Scheduler .......................................................................................................... 293
Using the Batch Display .............................................................................................................. 304
Using the Batch Management Web Client .................................................................................... 316
Monitoring and Cont rolling Operations ......................................................................................... 328
Using Batch Manager.................................................................................................................. 339
Working with Errors..................................................................................................................... 353
Performing a Warm Restart ......................................................................................................... 355
Overview
The following section provides an overview of the functions of the Batch Management System.
Scheduling
Batch Scheduler prepares the batches to be processed. You must manually enter the batch
identification, master recipe identification, quantity to be produced, and train identification. Aft er you have
entered this information, you can initialize the batch.
Initialization
You must initialize each batch before it can be processed. The initialization proc ess involves:
Validating the recipe
Verifying that the train exists
Verifying that the bulk materials defined in the recipe are found in the Materials Database
Verifying that the recipe equipment requirements are satisfied by the train
Verifying that the Process Model database is compatible with the recipe.
The Batch Manager also interacts with the batch application. Batch Management provides operat ors with
information about all batches running in the system. Operators can put a batch or phase on Hold, restart
and abort batches or phases, and change the batch processing mode. The Batch Manager also has a
Jump mode that allows you to change the processing point of an active batch that is on hold. Operators
can use this feat ure to either jump ahea d during recipe processing or repeat phases that have already
run. In addition, operators can change phase paramet er values, acknowledge the processing of phases,
review phase interlock status, and enter comments. All of these can be done while a batch is running.
The Batch Manager coordinates the usage of process units for each batch. Each batch is a separate
entity and contends along wit h other batches to own the process units that it needs. The Batch Manager
assigns (allocates) ownership of units to batches as units become available and releas es units when
they are no longer required by the batch.
Note: The unit and equipment will not be considered available for allocation if its unit status has bad
quality.
You must design flexible batch control systems with the supervisory workstation as an active participant
in the processing of a batch. Unit management is very sophisticated in a flexible batch system. Most
control systems do not have the ability to program a unit manager capable of int erpreting and running
complex recipe procedures.
A master recipe uses classes of process units rat her t han specific units. That is, phases pertain to a class
of units, not a specific unit. When the Batch Manager runs a master recipe, each phase encountered is
converted into a unit or connection specific phase. This process is called
master-recipe-to-partial-control-recipe conversion. The train assigned to produce the batch contains all
the units that can be used. The Batch Manager automatically converts the master recipe to a control
recipe based on the units in the train, whether or not they are available.
After a batch is done, the operator has the option of saving the as -built recipe to the recipe dat abase. All
final formula targets, and optionally all the specific equipment used for the recipe, can be saved. These
capabilities allow the recipe, which may have produced a high quality batch, to be re-run at a later date.
History
The Batch Manager captures all batch processing events and operator activity during the proc essing of a
batch and sends this information to the historic al database.
For more information on the data that is stored and the format in which it is stored, see Chapter 11,
"History S ystem".
Only one instance of Batch Manager can be active in your batch management system. There are no
restrictions on the number of Batch Management Runtime Clients that you can have in a system. The
Batch Manager interacts with several databases as well as with the clients. The following information
describes the int eraction of Batch Manager and the databases:
Master recipes are retrieved from the Recipe Database (RecipeDB ) when a batch is initialized.
The Proce ss Model Database is used to transform the master recipe to a control recipe.
The Materials Database is used to retrieve the location and tracking IDs of materials that are stored
in units. The Materials Database is updated by the Batch Manager when materials are used and
produced.
All batch processing events and operator activity are logged to the Hi story Database.
The Batch Scheduler manipulat es the Batch Database through t he Batch Manager. Several B atch
Schedulers can be running on a system, but there is only one schedule databas e.
The Batch Di splay is a run-time client application which provides User Interface for operators to
select, start, hold, restart, and abort a batch. All information needed to monitor and interact with the
process during the processing of a batch is provided.
The Batch Manager interacts with phase logic (phases) locat ed in the control system. As each
phase is to be processed, the Batch Manager checks to see if the phase is ready. If the phas e status
is ready, any configured phase parameter values are written to the phas e, and then the phase is
started. When t he phase c omplet es its task, it informs the Batch Manager by setting the Done status.
The Batch Manager responds by enabling the Reset command and returning the phase to Ready
status.
Parameter Description
-Ahost Defines the name of the Batch Server node. Not required when Batch Schedule
is running on the Batch Server.
Note: You can enter two host names for this parameter. The names will be the
name of your master and the name of the backup batch server in a redundant
configuration. The names must be separated by a semicolon (e.g.
BatchSched.exe -A host1;host2).
At startup, the runtime application determines which host is the master and
connects to it.
Identifying Batches
Each batch is identified by a unique three-part hierarchical name. The highest level is the Campaign ID,
followed by the Lot ID, and finally the Batch ID. An operat or must manually enter the Batch ID. It is not
necessary to use all three of the identification fields. The Campaign ID field is required. The Lot ID and
Batch ID fields are optional.
All historical information about a batch is logged to history using the Batch ID. If the Batch ID is not
unique, duplicates can exist in the historical database. The Batch Scheduler verifies only that the Batch
ID is unique among the batches currently in the Schedule dialog box. The Batch Scheduler does not
verify that the identification for a batch is unique throughout the History database.
Note: The Batch Manager must be running before you start Batch Scheduler.
Defining a Batch
You can define a batch by using the Batch Scheduler dialog box.
To open the Batch Scheduler
On the Environment Di splay dialog box, double click the BatchSched icon.
The Batch Scheduler dialog box appears. Use this dialog box to schedule, initialize, and monitor
batches. Use the menu or the toolbar to access system functions and options for the Batch
Scheduler.
To define a Batch
1. In the Campaign box, type a campaign ID (16 characters maximum). This is a required item.
2. In the Lot box, optionally type a lot ID (16 characters maximum).
3. In the Batch box, optionally type a batch ID (16 characters maximum).
4. Click Recipe to open the Recipe s dialog box.
Note: If you leave the formula to <default>, then the batch will use formula from recipe.
8. Select a specific formula for t he selected recipe from the Formula s dialog box. The Formula s dialog
box displays a list of valid formulas for the selected recipe. If no formula is exported for the selected
recipe, then no formula is displayed in the list.
Note: All the formulas for the selected recipe are accessed from the root
folder\ Config_A\RuntimeFormula\<RecipeId>.
11. In the Mode area, select one of the following modes of batch operation when the batch is start ed.
You can change the mode at any time during batch processing from the Batch application.
o Automatic – The recipe procedure is processed exactly as defined in the recipe.
o Semi-Automatic – Each phase must be acknowledged by the operat or before it is processed.
Prior to acknowledging the phase, phase parameter values can be edited.
o Manual – Any phase in the recipe defined for equipment that is allocated to the batch can be
manually processed.
For more information on dynamically changing the batch mode, see 'Using Batch Processing Modes
' section in Using Batch Manager.
12. Click Add.
An entry appears in the schedule list with the defined batch information.
Note: When you add a batch in which the quantity is greater than the recipe maximum batch size, the
Scheduler opens a dialog box that asks you to confirm the addition of multiple batches each with the
recipe default value as its quantity assignment. If you click Yes, the number of batches needed to
produce the entered quantity is automatically generated and all the batches are added to the list. If you
select No, no batches are added to the list.
Status Description
Open The batch has been added to the schedule list, but has not been initialized.
Locking The batch is in the process of aborting phases and ent ering Jump mode.
Locked The batch has been successfully locked and Jump mode is enabled.
Initializing a Batch
You must initialize a batch before you can run it.
The initialization process performs the following checks to ensure that the batch can be properly
processed:
Recipe Verification
Verifies that the recipe assigned to the batch exists. If the recipe does not exist, an error appears.
The recipe must be created or another recipe must be assigned to the batch.
Recipe Validation
The recipe assigned to the batch is validat ed with the pr ocess model database and the Materials
Database. If the recipe is not valid, an error appears. The recipe must be changed, or the process
model database or the Materials Database must be checked and corrected.
Train Verification
Verifies that the train assigned to the batch exists. If the train does not exist, an error appears. The
train must be added using the Train Editor or another train must be assigned to the batch.
Recipe Equipment Requirements Verification
Verifies that units defined in the recipe equipment requirements are in the assigned train. This
includes having at least one unit in the train for each process instance, as well as having at least one
unit in the train that satisfies the required attribute range. Errors are shown if eit her of t hes e
conditions is not satisfied. The train must be altered using the Train Editor or another train must be
assigned to the batch. If the attribute range is not satisfied, the recipe equipment requirements must
be changed or the value of the unit attribute in the process model must be changed.
Quantity Verification
Verifies that the quantity assigned to the scheduled batch is greater than the recipe minimum batch
size specification, and less than the recipe maximum batch size specification. If the quantit y is less
than the minimum batch size, an error appears. The quantity assigned to the batch or the recipe
minimum batch size must be changed.
When the batch has been successfully initialized, the status changes from Open to Ready. A
selected batch can be "un-initialized" by clicking on the Change button. The batch status changes
from Ready to Open. This can only be done to batches that are Ready.
WARNI NG! Batch Manager verifies that all units required by the recipe are available in the train.
Connections and possible paths through the t rain are not verified. Thus, if a connection is not available in
the train, it is possible to take a path through a train that results in a dead -end situation.
In this example, the recipe requires a trans fer from Process Class A to Process Class C. The recipe
initializes properly on either Train 1 or Train 2, but does not run properly on Train 2. Although Train 2 has
the correct unit, it does not have the connections needed to run the recipe.
Therefore, it is extremely important when multiple paths are possible through a train, to determine if the
recipe can process properly for all possible pat hs. If not, a change in the train must be made.
Note: If you initialize a specific batch when the Batch Auto Start option is enabled, then the specific
batch is initialized and started automatically. We recommend that you initialize the batch only if you want
the batch to start automatically. For more information about the Batch Auto Start option, see Starting
Batches Automatically on page 302.
Note: If you initialize all batches when the Batch Auto Start option is enabled, then all batches are
initialized and started automatically. We recommend that you initialize batches only if you want all the
batches to start automatically. For more information about the Batch Auto Start option, see Starting
Batches Automatically on page 302.
CLB Tab
Use the CLB tab to sort the list of scheduled batches based on any combination of campaign, lot, and
batch.
Recipe Tab
Use the Recipe tab to sort the list of scheduled batches bas ed on any combination of Recipe IDs, Types,
and States.
Train Tab
Use the Train tab to sort the list of scheduled batches based on one or more train assignments.
Mode/Status Tab
Use the Mode/Status tab to sort the list of scheduled batches based on any combination of batch
processing mode and status.
Note: If you sorted the Batch Schedule list using the Filter option, batches are processed in the order
defined by your sort preferences. In this case, the Execute in Order option is not available.
2. On the toolbar, click the Execute in Order icon. This option remains in force until you turn it
off. The icon acts as a toggle.
Or, on the Options menu, click Execute in Order.
Note:
- We recommend that you enable the Batch Auto Start option only if you want all the initialized batches
to start automatically. This affects the existing batches and any new batches added in the future.
- Before enabling the Batch Auto Start option for batches, ensure that there are no initialized batches in
the Batch Scheduler.
The Batch Auto Start option is enabled or disabled in the following scenarios:
The Batch Auto Start option gets disabled automatically if security is enabled for the Start Batch
function of the Batch Client application. For more information on enabling security, see Assigning
Security to Applications or Functions on page 477.
If the Done By and Check By security options are enabled for Batch Auto Start, then the Batch
Auto Start option is enabled or disabled only after providing valid credentials.
The Batch Auto Start button remains in the same state (Enabled or Disabled) in Batch Scheduler
even after the BatchMngr service is restarted or after a redundancy switchover.
When you upgrade from an older version of InB atch to the latest version, the default values for the
Batch Auto Start and Batch Auto Start Msg system paramet ers are 0 and 1 res pectively.
Therefore, the Batch Auto Start option is disabled by default, after upgrade.
After the Batch Auto Start option is enabled, you must initialize the batch that you want to start
automatically. If you want to start all batches automatically, then you must initi alize all the batches. If
multiple batches are initialized, then the batches are started in the order in which they appear in the
schedule. When a batch is successfully initialized and started, the status changes from Ready to Run.
For more information on initializing a batch, see Initializing a Batch on page 297.
To start batches automatically
1. Open the Batch Scheduler dialog box.
Note: If you sorted the Batch Schedule list using the Filter option, batches are processed in the order
defined by your sort preferences. In this case, the Move options are not available.
View errors
Show or hide the toolbar or status bar.
To delete a batch from the schedule
1. Open the Batch Scheduler dialog box.
2. Select a batch.
3. On the toolbar, click the Move Up or Move Down icon until the batch is positioned where
you want it.
To view errors
1. Open the Batch Scheduler dialog box.
2. On the View menu, click Errors.
The Errors dialog box appears. It lists all the batch errors that are associated with the list of
scheduled batches.
Note: Batch Manager must be running before you start the Batch Display. The batch system supports
the operation of multiple instances of Batch Display.
For more information on setting up multiple Batch Scheduler instances, see "Environment Management
System".
Parameter Description
-Iname Defines the configuration instance name when used within the Batch
Management Environment.
Valid characters for instance names are: A-Z, a-z, 0-9 and _
(underscore). Names are case sensitive.
-Ahost Defines the name of the Batch Server node. Not required when Batch
Display is running on the Batch Server.
Note: You can enter two host names for this parameter. The names
will be the name of your master and the name of the backup batch
server in a redundant configuration. The names must be separated by
a semicolon (e.g. BatchDspl.exe -A host1;host2).
At startup, the runtime application determines which host is the master
and connects to it.
-bc/l/b Defines the batch that is automatically selected when Batch Display is
started.
The Batch Di splay dialog box appears. The dialog box is divided into several functional areas as
shown in the following illustration. You use the dialog box to control the processing of a single batch.
Batch Identification
Across the top of the Batch main dialog box is the batch identific ation information. Included here are
Campaign ID, Lot ID, Batch ID, Mode, Status, and Action.
If the Batch Auto Start option is enabled, then the Auto Start label appears, indicating whether the
Batch Auto Start is Enabled or Di sabled. For more information about the Batch Auto Start option, see
Starting Batches Automatically on page 302.
Phase List
The Phase List contains a dynamic list of active phases. The equipment allocated for each phase and the
status of each phase is also included in the list.
Question List
The Question List contains a dynamic list of active questions. Answering a question requires the
selection of the question and the appropriate answer button.
Instruction List
The Instruction List provides a list of instructions associated with the phase selected in the Phase List.
Color Description
Gray Inactive
Green Active
Yellow Completed
Sequence of Phases
The Sequence of Phases dynamically shows the current phases running in the selected batch for the
selected operation. The status of each phase in the SFC is represented with colors.
Color Description
Gray Inactive
Color Description
Green Active
Yellow Completed
Running a Batch
You can run a scheduled batch from the Batch Di splay dialog box. As the batch runs, you can use the
dialog box to interact with the various proc essing phases.
To start a batch
1. Open the Batch Di splay dialog box.
Each unit in the train has a Status corresponding to one of the statuses defined in the Process Model
Editor. Each connection in the train has a Status of A vailable or Unavailable. This status corresponds to
the status of any segments that were assigned to the connection in the process model. If segments were
not assigned to a connection, the status of the connection is always A vailable. The status of a connection
is Unavailable if any one of the segments assigned to the connection has an equipment status that has
not been marked as A vailable in the process model.
The Allocation of a unit or connection relates to the ability of the unit or connection to be allocated by
Batch Manager. The Ready allocation value means that the unit or connection is available to be
allocated. The Allocated value means that the unit or connection is allocated by a batch. A Busy value
indicates that the unit or connection has been allocated by another batch.
3. Click Release.
The list appears in the order that the batch is to run in the unit.
3. Use the arrow buttons to select a batch and move it up or down in the queue. The batch at the top of
the list is the next batch to run.
Note: Hold Propagation Mode 1 is enabled by default. To enable Hold Propagation Mode 2, you must
enable the Phase/Batch Status parameter name using Environment Editor. To use Unit State system
tags, you must enable the Unit States parameter using Environment Editor.
Note: There is an assumption that a Unit in a Held state can be restarted and then immediately change
to a Run or Alarm state. If this mode does not appear to function as described, you should review the
Restart logic that you are using.
Note: There is an assumption that a Unit in a Held state can be restarted and immediately change to a
Run or Alarm state. If this mode does not appear to function as described, you should review the Restart
logic that you are using.
Note: If the Recipe was creat ed as read-only, you cannot save it with the same Recipe ID. However, you
can save it with a different Recipe ID.
7. Click Save.
Icon Function
Operation pane
Phase pane
Icon Function
Operation zoom in
Phase zoom in
2. On the toolbar, click the Alarm Manager icon or on the Windows menu, click Alarm
Manager.
To view the Foxboro SFC/ST Display Manager
1. Open the Batch Di splay dialog box.
2. On the toolbar, click the Di splay Phase Sequence icon or on the Windows menu, click
Phase Sequence.
To show or hide the Fox toolbar
1. Open the Batch Di splay dialog box.
2. On the View menu, click Fox Toolbar.
Note:
- To launch the Batch Management web client, ensure that security is enabled, and the Operating
System security mode is set in the Security Editor.
- To launch the Batch Management web client, a client license is not required.
o From the Start menu, open the Apps list, and then click the Batch Management icon.
The Batch Management page appears.
Note: If the Batch Management machine is added to the local intranet site, ensure that you clear the
Di splay intranet site s in Compatibility View option in Internet Explorer.
To do this, in the Int ernet Explorer, click the Tools icon, click Compatibility View Settings,
and then clear the Di splay intranet site s in Compatibility View check box.
Note: Ensure that the user account used to log on to the web client is a part of the Batch
Management Users group. If the us er account is not a part of the Batch Management Users group,
then a message appears indicating that the user is not authorized to view the web client.
o If the credentials ent ered are right, the Current Batche s summary page appears.
o If security is enabled and the Operating System security mode is set in the Security Editor, then
the Current Batche s summary page appears.
If security is enabled and the security mode is set to "Standard" or "ArchestrA", then the
unauthorized page appears with the following message.
Current Batch Management securit y settings do not permit the user to login.
Enable Operating System Security mode in the Batch Management Securit y Editor and try
again.
If security is not enabled in the Security Editor, then the unauthorized page appears with the
following messages.
Current Batch Management securit y settings do not permit the user to login.
Enable Security and set Operating System Security mode in the Batch Management
Security Editor, and try again.
o If the Batch Manager service is stopped and Environment Display is running, the following
message appears.
Cannot retrieve data from the Batch Management Server.
Ensure that the Batch Management Middleware and Batch Manager services are running.
o If the Batch Manager service is stopped and Environment Display is closed, the following
message appears.
Current Batch Management securit y settings do not permit the user to login.
Enable Security and set Operating System Security mode in the Batch Management
Security Editor, and try again.
The Current Batches summary page is automatically updated in the following scenarios:
A new tile is immediately added to the page when you schedule a new batch and initialize it.
All the batches are displayed in the same order as in the Schedule window of the B atch Display. If
you change the order of the batches (using the Move options) or if you remove the completed or
aborted batches from the schedule (using the Cleanup option) in the Batch Scheduler window,
then these changes are immediately reflected in the summary page.
The status of each batch is represented with various colors. Following are the various batch statuses and
their corresponding color representations.
Run Green
Held Yellow
Locking Lilac
Locked Violet
Aborting Orange
Aborted Red
Done Blue
o Campaign Id
o Lot Id
o Batch Id
o State: The status of each batch is represented by an icon. When you hover over the icon, a
tooltip indicating the status of the batch appears.
o Recipe Name
o Train Name
o Batch Details
Note:
- If the Batch Management Web Server service or the Batch application services are not running, then
the following message appears.
Cannot ret rieve scheduled batches from the Batch Management Server. Ensure that the Batc h
Management Middleware and Batch Manager services are running.
- If there are no initialized batches available, then the following message appears.
There are currently no batches scheduled. Use the Batch Scheduler to add and initialize batches.
Note: If the ID entered for campaign, Lot, or Batch is invalid, then the Current Batche s summary
page appears, instead of the Batch Details page.
3. To view additional details about the batch, click the icon. The following details are displayed:
o Recipe: ID of the recipe used in the batch.
o Train: Name of the train us ed by the batch.
o Quantity: The size of the batch to be produced.
Note: The Batch Details page displays the real-time details of any changes in the selected batch
only. Any changes in the status of other batches are displayed in the Current Batche s summary
page.
o The Uni t Procedure s pane displays the sequence of unit procedures that are to run when the
recipe is scheduled as part of a batch.
o The Operations pane displays the sequence of user-defined operations that are processed
when the recipe is scheduled as part of a batch.
Note: If you want to hide the Operations pane, then ensure that the Number Recipe Levels
system parameter is set to “2”. For more information on System Parameters, see the Viewing
and Modifying System Parameters section in Batch Management User Guide.
o The Pha ses pane displays the sequenc e of phases that are processed within an operation.
Note: In Mozilla Firefox browsers, some of the icons in these panes might appear distorted. To
avoid this, choose Menu > Options, and then clear the Use recommended performance
settings check box under Performance. Close the browser and re-open the Batch
Management web client.
In the Unit Procedure s pane, the recipe name is displayed as the first item and the second unit
procedure is selected by default. The selected unit procedure is displayed as the first item in the
Operations pane and the second operation is selected by default. The s elected operation is displayed
as the first item and is selected by default in the Pha ses pane.
When you select a unit procedure in the SFC, its associated operations and phases are loaded in the
Operations and Pha se s panes, with the second operation and the first phase highlight ed. Similarly,
when you select an operation, its associated phases are loaded in the Phase s pane, with the first phase
highlighted. However, if you select the topmost item in the Unit Procedure s pane, the Operations and
Phase s panes are empty. Similarly, if you select the topmost item in the Operations pane, the Phase s
pane is empty.
The status of each unit procedure, operation, and phase is represent ed with labels and different colored
side bars for the corresponding box. Whenever there is a change in the status of any procedure,
operation, or phase, the res pective label and the side bar color gets automatically updated.
Gray Open
Green Run
Yellow Done
When you select an active phas e in the Phase s pane, the Unit Procedure s and Operations panes are
collapsed and dis played in the side bar. The Parameters flyout pane appears.
When a batch is running, the allocat ed equipment det ails are displayed in the Unit Procedures,
Operations, and Pha se s panes. As the batch progresses, the equipment details are automatically
updated for only the active unit procedures, operations, and phas es.
The Uni t Procedure s, Operations, and Pha se s panes also display nested branches and loops.
Transitions
When a batch is running, you can select and view the details of active transitions, including Loops and
branches. The statuses of transitions in a batch are displayed with a color strip on the left side of the
corresponding box. This color strip gets automatically updated when the status of the transition changes.
When a unit procedure starts with a Loop or a branch, the unit procedure header is selected by default,
and the Operations and Phase s panes are empty. The Operations and Phase s panes are displayed if
you select a unit procedure and an operation respectively.
When you select an active transition, the Transition flyout pane appears with the details of expressions,
questions, description, and transitions. Only the pane from which the transition is selected remai ns open,
whereas the other two panes are collapsed.
When you select an active phase in the Phase s pane, the Unit Procedure s and Operations panes
are collapsed and displayed in the side bar.
A new fly out pane appears with Parameters, De scription, Instructions, Operator Msg, and
Interlocks tabs.
o The Parameters tab displays details such as Parameter, Type, Extension, Value, Unit of
Measure, and Change.
Whenever there is a change in the phase parameter values in the Batch Display, these values
are automatically updated.
In the Value column, the decimal separator for the decimal values are displayed based on the
current culture, for phas e parameters which have A nalog values. The current culture is based on
the language/locale preferences configured in the browser.
o The De scription tab dis plays the description for the active phase.
o The Instructions tab displays any instructions while defining this phase in the Recipe Editor.
o The Operator Msg tab displays any actions to be performed on this phase.
If there are any operator messages, then the icon appears adjacent to the Operator Msg
label. This icon disappears after you act upon t he message or if there are no operator messages.
For more information about batch notifications, see Viewing Batch Notifications on page 326.
o The Interlocks t ab displays the tags and values for the active phase.
4. Click X.
The Phas e Details flyout pane closes, and the SFC view appears.
The panes from which the active transitions are not selected are collapsed and displayed in the side
bar. For example, if you select an active transition in the Pha ses pane, the Unit Procedures and
Operations panes are collapsed.
A new fly out pane appears with Expre ssion, Que stions, De scription, and Transition tabs.
o The Expre ssion tab displays the expression, followed by expression t ag and value for the active
transition.
Whenever there is a change in the transition values in the Batch Display, these values are
automatically updated.
In the Value column, the decimal separator for the decimal values are displayed based on the
current culture, for transitions which have Analog values. The current culture is based on the
language/locale preferences configured in the browser.
o The Que stions tab displays any questions configured for the active transition.
o The De scription tab dis plays the description for the active transition.
o The Transition tab displays details such as Name, Label, and Wait for the active transition.
If you have configured the wait time for transitions, the Wait column displays the wait time as a
countdown timer in the HH: MM:SS format. The format of the time separator is based on the
language/locale preferences configured in the browser.
4. Click X.
The Transition Details flyout pane closes and the SFC view appears.
Note: The Notification icon appears only if there are batch messages or batch errors.
All messages added for the active batches are listed in the Batch Me ssage s section. Similarly, any
errors added for the active batches are listed in the Batch Errors section. The batch messages and
errors are listed based on the order of the scheduled batches.
Note: The Batch Message s or Batch Errors sections appear in the Notifications panel only if there
are batch messages or errors respectively.
3. Under Batch Message s and Batch Errors, click a C/L/B item to navigate to its associated phase or
transition in the Batch Details page.
4. Click X to close the Notifications panel.
Alternatively, when all the notifications get cleared, the Notifications panel closes automatically.
In the Batch Errors section of the flyout Notific ations panel, click the icon adjacent to the batch
error that you want to delete.
The selected batch error message is deleted.
In the Batch Errors section of the flyout Notifications panel, click the icon.
All the batch error messages are cleared.
4. To navigate to the Batch Management web client page, click the Back button on the browser.
Controlling Batches
Batches that are initialized have a status of Ready. If a batch is Ready, you can select it from the
Schedules dialog box and start it with the Batch Start button. Batches that are running have a status of
Run. If a batch has a status of Run, the batch can be put in Held status. If a batch has a status of Held,
the batch can be Restarted or Aborted.
Run The batch is running. The batch can be put in Hold Batch Hold
status.
Held The batch is in Hold status. The batch can be Batch Restart
Re-started or Aborted. Batch Abort
Locking The batch is aborting phases to enter into Jump mode. N/A
Selecting Equipment
You can manually select equipment for a batch. The Equipment Selection dialog box contains a list of
possible units that you can allocate for a particular recipe instance. Whenever Manual Unit Selection is
configured for a process instance in the recipe Equipment Requirements Editor, you must select the
equipment that is to be allocated and used by the current batch.
The Equipment Selection dialog box is dynamic. The current status of units that are available for
selection appears in the dialog box. If the status of any equipment changes while the dialog box is open,
the status list updates accordingly. The status of units shown in the Equipment Selection dialog box
corresponds to those statuses defined in the process model. As long as the new unit status represents
an available status, the unit remains in the list.
To manually select equipment
1. Open the Batch Di splay dialog box.
2. Click Select Equipment.
3. Select an item and click Allocate. In this example dialog box, you must select the unit that is to be
allocated for the first reactor process instance.
Wait The phase is waiting for operator action. Acknowledge or edit the
The message line indicates whether a comment or comment.
an acknowledgement is required.
Wait The phase is currently running. You can run the Acknowledge the
phase after acknowledging the message. Batch Unex pected Status dialog
Manager waits until the phase is Ready. box.
Held The phase is in the Hold status. You can restart or Phase Restart or Phase
abort the phase. Abort
Interlocked Interlocks are preventing the phase from running. Select the Interlocks
button.
Answering Questions
Transition objects that have been configured in the recipe to ask a question to the operator are in the
Questions Li st box. The operator must select the question that is to be ans wered and click Yes.
Depending on the recipe, there may only be one question or there may be several. For an Execute All
branch, all the questions must be ans wered. If the branch is an Execute On e, then only one question
must be answered.
If the question applies to a loop object, then the question is a Ye s or No question. If the ans wer is Yes,
then the loop back is processed.
Acknowledging Phases
Any phase in the recipe that has been configured with an Acknowledge On Entry or Acknowledge On
Exit option, as well as all semi-aut omatic phas es require the operat or to acknowledge the phase when
processed. A message appears in the message box when an acknowledge is required. Click the
Acknowledge button when required.
Note: The amount you enter in the Value field will be used as entered, and not as a percentage.
Note: If a tag read operation fails during the evaluation of a transition expression, the evaluation of the
expression is not retried unless the batch is restarted. To resume batch processing, hold the batch and
restart it, or double-click the appropriate transition expression from the Active Transition dialog box,
and then click Force To True.
Parameter Description
-Iname Defines the configuration instance name. Valid characters for instance
names are: A-Z, a-z, 0-9 and _ (underscore).
Names are case sensitive.
-Ahost Defines the name of the Batch Server node. Not required when Batch
View is running on the Batch Server.
Note: You can enter two host names for this parameter. The names
will be the name of your master and the name of the backup batch
server in a redundant configuration. The names must be separated by
a semicolon (e.g. BatchView.ex e -Ahost1;host2).
At startup, the runtime application determines which host is the master
and connects to it.
Parameter Description
-bc/l/b Defines the batch that is automatically selected when Batch View is
started.
The following example launches Batch View instance BV1 in configuration mode:
BatchView -IBV1 -c
The following example terminates execution of Batch View instance BV1:
BatchView -IBV1 -q
The following example launches Batch View instance BV1 and automatically selects batch identified as
CAMPAIGN: KA Z1 LOT: LOT1 BA TCH: BA TCH3:
BatchView -IBV1 -bKAZ1/LOT1/BATCH3
The following example launc hes Batch View instance BV2 in c onfiguration mode and points Batch View
to NODE 1, that is, the Batch Server:
BatchView -ANODE1 -IBV2 -c
The following example launches Batch View using instance BV1, points Batch View to NODE1, that is,
the Batch Server and defines the unit filter as UNIT1 and UNIT2:
BatchView -ANODE1 -IBV1 -fUNIT1/UNIT2 -c
The following example redefines the unit filter for Batch View instance BV1, which is already running,
points Batch View to NODE 1, the Batch Server:
BatchView -ANODE1 -IBV1 -fUNIT3/UNIT4
The following example launches Batch View using instance BV1, points Batch View to NODE1, the
Batch Server node and sets the unit focus to UNIT1:
BatchView -ANODE1 -IBV1 -uUNIT1
The following example redefines the unit focus for Batch View instance BV1, which is already running, to
UNIT2 and points Batch View to NODE 1, the Batch Server:
BatchView -ANODE1 -IBV1 -uUNIT2
If a Batch View or Batch Scheduler is launched in configuration mode, error messages may appear in the
Environment Display window. You can ignore these messages. For Batch View, the error message is in
the following form:
BatchView_<number> encountered an error.
For Batch Scheduler, the error message is in the following form:
<batch scheduler instance name> encountered an error.
These error messages can occur when you start Batch View or close Batch View and Batch Scheduler
from the command line and define or re-define unit filters. After you see thes e messages, if you attempt
to shut down BatchMngr (from the Runtime Application Display), BatchMngr does not stop; it produces
the following error message:
Halt all Batch Clients...
To stop BatchMngr, perform an Exit and Shutdown from the Environment Di splay dialog box.
Trans fer
Process
Phase Types
The three types of phas es are:
Automatic
Semi-Automatic
Manual
Allocating Equipment
To run any phase as part of a batch, equipment must be allocated t o the batch. If suitable equipment had
been previously allocated to the batch, that equipment is used. If equipment was not previously
allocated, the Batch Management System must allocate suitable equipment to the batch before it can
proceed with phase proc essing. The three approaches to allocating equipment for a batch are described
in the information that follows.
With Recipe allocation, equipment (unit or connection) is reserved for exclusive use by the batch in which
the phase is run. The recipe Allocat e Process Instanc e phase allocates and res erves a unit. The recipe
Allocate Trans fer Instance phase allocates both a destination unit and a connection, but it only reserves
the connection. The destination unit is alloc ated by using the rules of automatic allocation. If it is required
to also reserve the destination unit, then the Allocate Proc ess Instance phase must be used in
conjunction with the Allocate Trans fer Instance phase in the recipe procedure. In addition, source units
are never recipe-allocated when an Allocat e Transfer Instance phase is run.
The same selection criteria defined for automatic allocation is true for recipe allocation with the additional
requirement that recipe allocat ed equipment remains allocat ed to the batch until a corresponding recipe
release phase is encountered in the recipe procedure or until the batch is complete.
Recipe allocation phases are treated the same as other phases in a recipe. Recipe processing is not
proceeded until a unit or connection defined by the Allocate phase is assigned to the batch.
After the correct equipment is allocat ed, the status of the phase to be run is evaluated. If the phase status
is Ready, Batch Manager downloads the values of the formula parameters to the control system and sets
the phase Start tag. If the phase status is Interlocked, Batch Manager monit ors the phase until the status
becomes Ready before proceeding. If the phase status is Held or Run, an Unexpected Status error
message appears. An operator must acknowledge the error message, and Batch Manager waits for the
phase status to become Ready before proc eeding. If the phase status is Done or Aborted, the phas e
Reset tag is set by Batch Manager, and Batch Manager waits for the Ready status before proc eeding.
If t he IBCli or the IBMX service encounters a failure while attempt ing to read or write t o a tag in the control
system, the batch that is associated with the failure is placed on hold by the Batch Manager and an error
message is displayed. Examples of conditions that can cause tag read and write failures include bad I/O
points, unintentional deletion of a block parameter in the control system, or parameters with bad
(non-good) tag quality. When failures occur, an operator must take the necessary action to correct the
problem, and then initiate a batch Restart to resume operation. If the failure cannot be resolved but the
operator wants the batch processing t o continue, the phase associated with the failed tag can be Aborted
by the operator, and then a batch Restart can be initiated to resume batch processing.
Note: The Batch Manager waits for an I/O with non-initializing quality to determine if a tag failure has
occurred. An I/O with initializing quality is not considered for tag failure by the Batch Manager. For status
tags of bad quality, a Bad Quality Received message is sent to the operator displays and the batch is not
put on hold. For parameter tags of bad quality, a message with ??? as value is displayed on the operator
displays. When the Batch Manager reads the parameter tags that have bad quality even at the end of t he
phase, it retries the read operation for a configurable amount of time (See "Parm Timeout (sec)" under
the topic Batch Manager (BatchMngr)). If the paramet er tags do not return to good quality during the retry
period, an error message is sent to the operator displays and the batch is put on hold.
Holding a Batch
When an operator selects the Batch Hold button, Batch Manager puts the batch in Held status. The
actions taken in response to a batch Hold depend on how Batch Manager is configured in the
Environment Editor. If the configuration uses the defaults (that is without any application parameters in
the Environment Editor), when the Hold command is initiated, the batch status changes to Held and the
Unit Hold tag for each unit allocated to the batch is set. It is the responsibility of the control system logic
to alter the status of the phases associated with the units. Typic ally, the phases are put in the Held status.
However, the results of a batch Hold can be unique for each phas e.
Note: When the Batch Hold button is pressed, it is possible that the Batch Abort becomes available
before all the phases are in the Held status. If an operator quickly presses the Batch Abort button before
all the phases are in the Held status, any phase not in the Held state does not respond to the Phase Abort
command issued by the Batch Abort command. In this situation, the phases remain in Held or the last
status. The batch status remains Abortin g until all phases have completed. Phases in Run are completed
normally or can be manually held and abort ed. To resolve this situation, verify that all phases are in Held
status before pressing the Batch Abort button, manually abort all phases in Held status, or assign
security to the Batch Abort button. In most cases this allows enough time for all phases to go to the Held
state.
If Batch Manager is started and the Phase/Batch Status application parameter is defined in the
Environment Editor, Batch Manager manages all phase hold activity. As above, when a Batch Hold
command is triggered the batch status changes to Held and the Unit Hold tag for each allocated unit is
set. In addition, a phase hold signal is sent to any phase in the batch t hat has a status of Run. Also, if any
phase becomes held during the processing of a batch, Batch Manager places the batch in Held status
and sends a phase hold signal to all other phases in the batch that are in the run. This applies whether
the Held condition was the result of an operator initiated hold action or was generated internally by the
phase logic.
The batch Hold concept is further advanced if the Unit State s application paramet er is defined for Batch
Manager in the Environment Editor. If this parameter is defined by itself without also defining the
Phase/Batch Status application parameter, Batch Manager monitors the unit state tags for each
allocated unit. If any unit state tag c hanges to the Held or Alarm state, Batch Manager puts the batch that
has the unit alloc ated in the Held state. No other units or phases are held by Batch Manager, and the
response of the phases to the unit state change is the responsibility of the control system. If both the Unit
States and Pha se/Batch Status application parameters are defined, Batch Manager uses the unit
states to determine when to propagate phase hold commands. In this case, if a unit goes into the Held or
Alarm state, Batch Manager recognizes this and sets the Unit Hold tag and Phase Hold tags for each unit
and phase associated to the batch. Whenever the Unit State s parameter is defined, a batch cannot be
restarted until the unit state returns to Run.
Regardless of the manner in which Batch Manager is configured, transition logic Wait functions are not
put in the Held state. The Wait function continues to run and times out if the Held time exceeds the time
of the function. When a Wait function times out, processing continues to the next phase but the phase is
not started until the batch is restarted.
Restarting a Batch
When an operator selects the Batch Re start button, Batch Manager restarts the batch. The actions
taken in response to a batch Restart depend on the way in which Batch Manager is configured in the
Environment Editor. If the configuration uses the defaults (that is without any application parameters in
the Environment Editor), when the Restart action is initiated, the batch status changes to Run and the
Unit Restart tag for eac h unit allocated to the batch is set. It is the responsibility of the control system
logic to alter the status of the phases associated with the units. Typically, the phases are put in the Run
status. However, the results of a batch restart can be unique for each phase.
If Batch Manager is started with the Pha se/Batch Status application parameter defined in the
Environment Editor, Batch Manager manages all phase restart activity. When a Batch Restart is
triggered, the batch status changes to Run and the Unit Restart tag for each allocat ed unit is set. In
addition, a phase restart signal is sent to any phase in the batch that has a status of Held. However,
unlike with Hold commands, an individual phase restart does not cause the batch and all other phases to
restart.
The batch restart concept is further advanced if the Unit States application parameter is defined for
Batch Manager in the Environment Editor. If this parameter is defined by itself without also defining the
Phase/Batch Status application parameter, Batch Manager monitors the unit state tags for each
allocated unit. Batch Manager does not permit a batch Restart for any batch that has allocated units and
these units are in a state other than Held (t he Alarm state must be cleared). Typically, units are in the
Held state from the Batch Hold command. All allocated units must be changed to Held in order to restart
the batch. Unit state changes are the responsibility of the control system. After the required unit states
are in the Held state, the Unit Restart tag is set for each allocated unit. If both the Unit State s and
Phase/Batch Status application parameters are defined, Batch Manager uses the unit states to
determine when to propagat e phase restart commands. In this case, a batch and all held phases are not
be aut omatically restarted if any unit is in a state other than Held.
Aborting a Batch
When an operator selects the Batch Abort button, Batch Manager cancels the batch. The actions taken
in response to a Batch Abort depend on the way in which Batch Manager is configured in the
Environment Editor. If the configuration uses the defaults (that is without any application parameters in
the Environment Editor), when the Abort is initiated, the batch status changes to Aborting and the Unit
Abort tag for each unit allocated to the batch is set. It is the responsibility of the control system logic to
alter the status of the phases associated with the units. Typically, the phases are put in the Aborted
status. However, the results of a batch abort can be unique for each phase. Aft er all phases have
completed or aborted, the batch status changes to Aborted. The batch status remains Aborting as long
as phases are active.
Note: When the operator selects Batch Abort, a dialog box prompts the operat or to confirm the Abort.
When the operator clicks Yes, Batch Manager cancels the batch.
If Batch Manager is started with the Pha se/Batch Status application parameter defined in the
Environment Editor, Batch Manager manages all phase abort activity. When a batch Abort is triggered,
the batch status changes to Aborting and the Unit Abort tag for each allocat ed unit is set. In addition, a
phase abort signal is sent to any phase in the batch that has a status of Held. However, unlike with Hold
commands, an individual phase abort does not cause the batch and all other phases to abort. Also, after
all phases have complet ed or aborted, the batch status changes to Aborted.
The batch abort concept is not as effected as the Hold and Restart if the Uni t States application
parameter is defined for Batch Manager in the Environment Editor. If this parameter is defined by itself
without also defining the Pha se/Batch Status application parameter, Batch Manager monitors the unit
state tags for each allocated unit. However, Batch Manager does not require a particular unit state in
order to abort a batch. The Unit Abort tag is set for each allocated unit regardless of its state. If both the
Unit State s and Phase/Batch Status application parameters are defined, Batch Man ager propagates
phase abort commands regardless of the state of the allocated units.
Error messages do not appear when unexpected unit states are received when one of the following
conditions apply:
If a unit is not allocated and has an A vailable status, the unit should have a state of Ready. A unit
state of Run, Held, or Alarm is not permitted.
If a unit is allocated and phases for that unit are active, the unit should have a state of Run, Held, or
Alarm. A unit state of Ready is not permitted.
It is the operator’s responsibility to avoid the conditions that are described. If either condition exists, the
operator must manually change the unit state.
Note: When a batch is running in the Semi -Automatic mode, Batch Manager will stop at each phase
before executing. The operator can execute the phase by clicking the Ack button, or skip the phase by
clicking the Skip button.
You can configure Batch Manager to switch from Automatic to Semi-Automatic after a phase is aborted.
The batch then continues to run in Semi-A utomatic mode. To enable this capability, you must use
Environment Editor to assign the Semi-A uto On Abort parameter to Batch Manager. If you enable this
feature, both the phase abort and the mode change from Aut omatic to Semi-Automatic are logged to
history.
For more information on configuring the Environment Editor, see Chapter 3, "Environment Management
System.".
Automatic to Manual
Any active phases continue to run to completion. Batch Manager monitors these phases and resets the
phases when they are done. No new phas es are run. Batch Manager maintains its position in the recipe
procedure, and the operator can manually run any of the phases associated with allocated equipment.
Semi-Automatic to Manual Mode
Any active phases continue to run to completion. Batch Manager monitors these phases and resets the
phases when they are done. No new phas es are run. Batch Manager maintains its position in the recipe
procedure, and an operator can manually run any of the phases associated with allocat ed equipment.
Semi-Automatic to Automatic
Any phases that are running continue to run. Any phase waiting for an operator acknowledgment or any
new phase encountered automatically starts. This automatic startup capability assumes that the phase is
not configured for Acknowl edge on Ent ry in the recipe procedure. If this is the case, the
acknowledgement is still required.
Manual to Automatic
Recipe processing begins from the point where Manual mode was started. Phases start as configured in
the recipe procedure. Any phases started in Manual mode complete and are reset by Batch Manager.
Any equipment that was manually allocated remains allocat ed until a release phase for the equipment is
encountered or the batch completes.
Manual to Semi-Automatic
Recipe processing begins from the point where Manual mode was started. Phases require an
acknowledgement before they can be started. Any phases started in Manual mode complete and are
reset by Batch Manager. Any equipment that was manually allocated remains allocated until a Release
phase for the equipment is encountered or the batch completes.
The only time that Manual Unit Selection is not enforced, is when one of the available units is already
allocated t o the batch or when only one unit that satisfies the recipe equipment requirements is located in
the train. Batch Manager either uses the unit that is allocated or uses the only unit in the train that
satisfies the requirements.
When the addition requires multiple lots of the same material, the operator must enter the lot code for
the first lot and acknowledge the completion of the phase. Batch Manager decrements the actual
quantity from the target, rec alculate the target quantity , and re-run the phase. This occurs until the
original target is achieved.
Manual addition using an unconnected scale
Material is weighed on a scale that is not attached to the control system. The operat or is required to
enter the material lot code if configured in the process model, enter the actual weight, and then
acknowledge the completion of the phase.
When the addition requires multiple lots of same mat erial, the operator must enter the lot code for the
first lot and acknowledge the completion of the phase. Batch Manager decrements the actual
quantity from the target, rec alculates the target quantity, and re-runs the phase. This activity occurs
until the original target is achieved.
Acknowledge addition of material
In this approach, materials are pre-weighed prior to the final production. As materials are added, the
operator acknowledges the addition of the material. Batch Manager records the mat erial us age by
using the target quantity as the actual quantity.
Manual addition with scale and without scale
The addition can have two parts (for example 60 pounds of salt must be added. Salt comes in
50-pound bags). A scale is attached to the control system. A 50-pound bag is added to the batch.
The operator enters 50 as the actual quantity, enters the mat erial lot code, and then acknowledges
the completion of the phase. Batch Manager decrements the actual quantity from the target,
recalculat es the target quantity, and re-runs the phase. The remaining material (10 pounds) is
weighed on the scale. When the weight is within tolerances, the operator must enter the material lot
code and then acknowledge the completion of the phase.
For the manual addition to function properly, control system logic must be designed to disable the
scale input when the operator enters the actual bag weights. You could assign a control button to do
this. The cont rol button would disable the scale from overwriting the entered value.
Note: The FIFO approach can be changed to last-in, first-out (LIFO) by using the LIFO Materials
application parameter for Batch Manager in the Environment Editor.
Note: Use caution when you enable the Continue Mode property for any phase within a loop object.
Because of the risk of re-running an active phase, batch processing does not proceed into the loop in
which a phase with the continue mode property enabled is active. As soon as the phase completes,
batch processing proceeds into the loop.
Because the phase is running normally, it also must finish just like a normal phase. Batch processing
does not end until all phases have complet ed. Therefore, any phase with the Continue Mode property
enabled is required to complete either normally according to the internal phas e logic or based upon some
external signal.
A good example of t he use of the Continue Mode is vessel agitation. It is not unusual for agitation to span
multiple operations. When this is required, the recipe builder is generally forced to use one -shot phases
that start the agitator and then complete or to use complex branching to keep the agitat or running
throughout the course of the multiple operations. Using one-s hot phases is undesirable becaus e even
though the agitator remains running, the phase is no longer active and cannot be controlled. The
branching option is also undesirable if the recipe builder does not have experience with the process. The
Continue Mode option allows the agitation phase to be placed in the recipe as required without complex
branching and remains active until it ends on its own or until another phase or external signal tells the
phase to end. Thus, it is always visible and can be controlled.
You can use several methods for managing the contention of the use of the pump. One of the methods
defines each source unit and destination unit combination as a connection in the process model. With
this method, only one of the trans fers (one connection) can be functioning at any one time because there
is only one Pump. For this method in the previous figure, there is one connection phase for each
connection. Therefore, in our example, there are four phase logic blocks in the control system. Since
there is only one pump to handle all four connections, the four phase logic blocks must be int erlocked
with one another.
Using this method, contention for use of the pump is handled as follows. When the batch in Unit 1 or
Unit 2 is ready to transfer to either Unit 3 or Unit 4 and the destination unit is Ready, Batch Manager
allocates the destination unit. Knowing the source unit and the destination unit, Batch Manager can
determine which phase logic block to enable to run the transfer. If a trans fer phase is running between
Unit 1 and Unit 3, the phase blocks associated with the three other connections are inhibit ed because of
the interlocking done in the control system. If Batch Manager needs to run a transfer between Unit 2 and
Unit 4, it waits until the Unit 1 to Unit 3 transfer is complete. When the transfer is complete, the interlocks
are released on the three other connection phases. The phas e status changes from Interlocked to
Ready, and Batch Manager can then proceed with the transfer.
Another method requires defining segments, as well as connections, in the Process Model Editor. The
segments would assume one of the statuses defined in the model. The availability of each of the
connections would correspond to the status of all of the segments that have been assigned to the
connection. Batch Manager would only be able to use connections that were available.
Using this method, contention for use of the pump is handled as follows. When the batch in Unit 1 or
Unit 2 is ready to transfer to either Unit 3 or Unit 4 and the destination unit is Ready, Batch Manager
evaluates the availability of the connection from the status of each segment assigned to the connection.
If an available connection is found, the destination unit and connection are allocated, and the proper
connection phas e is enabled. This method requires no extra control system interlocking. When the
transfer is complete, the segment statuses change accordingly, and the availability of the connection are
automatically updated.
If connections and segments are not defined in the process model and transfers are performed by
coordinating the simultaneous processing of multiple process phases, the Batch Manager evaluation
process is different. Batch Manager ensures that a suitable sourc e unit and destination unit are
allocated. However, the control system is responsible for interlocking the remaining process phases from
running until the transfer of material has been completed.
Note: A message advis es you that all Held phases are to be abort ed if you continue. Interrupting recipe
processing using this feature should be carefully planned to avoid undesirable results.
Triggering Reports
Reports can be linked to any phase in a recipe procedure. The report is triggered when the phase is
complete. Also, if an End of Batch report was defined, Batch Manager signals Information Server after
the batch is completed. Batch Manager passes the name of the report, the Campaign ID, Lot ID, and
Batch ID.
Reas on #2: Batch Manager was shut down and phase logic has been left in an
improper state.
Correcti ve Action: Manually reset the phase and restart Batch Manager.
Error: Cannot access material "material id" ! - Hold Batch; Correct Problem; Restart.
Reason: Phase is an A utomatic Trans fer. Batch Manager cannot find the material in
the Train assigned to the batch.
Correcti ve Action: Put the batch in Hold, correct the problem, then restart the
batch. The problem may require one or both of the following corrections:
Change the Train to include the appropriate units containing the material in
question.
Make the appropriate material -unit assignment using the Material Editor.
Error: Cannot access transfer "transfer name"! - Hold Batch; Correct Problem; Restart.
Reason #1: A connection associated with the trans fer cannot be found in the train.
Correcti ve Action: Put the batch in Hold. Modify the train to include the appropriate
unit that would support the trans fer. Restart the batch.
Reason #2: The batch is assigned to a train that cannot properly run the recipe.
Correcti ve Action: Make sure the batch is assigned to a train that can properly run
the recipe.
Reason #3: The connection has not been entered in the proc ess model.
Correcti ve Action: Abort the batch. Stop processing of the Batch Management
System. Add and assign the connection to the appropriat e trans fer class using the
Process Model Editor. Restart the Batch Management System.
Error: Cannot access process "process name"! - Hold Batch; Correct Problem; Restart.
Reason: A unit associated with the process cannot be found in the train. The unit
needed for the process was most likely deleted from the train aft er the batch was
started.
Correcti ve Action: Put the batch in Hold. Modify the train to include the appropriate
unit that would support the trans fer. Restart the batch.
Error: Invalid Query Data
Reason: A Batch Management dat abase is incompatible or corrupt. This error is
related to the security system.
Correcti ve Action: Verify and correct the database.
Error: Phase param tag read timeout (Note: Error is reported in the Batch Logger.)
Timeout exceeded allowable value! for param tag read at end of phase - only when
using remote I/O server.
Reason: MemTagMngr is local; therefore, the memory tag parameter uses the local
server’s time. The phase done tag is a remote tag and may have a different time
(perhaps several minutes or more). When BatchMngr compares the time difference
between the two, it writes the MemTag time stamp to match that of the remote tag
time stamp.
Correcti ve Action: Synchronize the system time settings on the server and the
remot e system.
Batch Manager is started in the usual manner to enable the Warm Restart functionality. There are no
special startup commands necessary. The only requirement for a Warm Restart is the presence of a
.BatchWR folder located in the configuration folder (c onfig_A). The .BatchWR folder is automatically
loaded in the configuration directory following system installation (…\Batch\cfg\config_A\.BatchWR).
However, the default batch Held state can be overridden when Batch Manager is restarted. If it is the
intention of the personnel with the proper authority to resume system operation with all batches retaining
the state each was in when the failure occurred, you must configure the Batch Manager application with
the Re starting Batche s application parameter in the Environment Editor.
For more information on configuring the Environment Editor, see Chapter 3, "Environment Management
System.".
When Batch Manager is started with the Restarting Batches option, all batches that were in Run status
resume with the same status. This applies for all possible batch states.
WARNI NG! It is strongly recommended that the Restarting Batches option be used only by personnel
that are very familiar with the operation of the batch system, the operation of the control system, and the
process itself.
For example, suppose the Batch Management System was controlling a phase that was previously in a
status of Run. If the batch control system is shut down and the phase in the cont rol system continues
processing and becomes Done before the batch control sys tem is restarted, the Batch Management
System recogniz es this as a valid status transition, updat es the status of the phase to Done, and initiates
a phase Reset. However, if the control system is also shut down and the status of the phase becomes
Ready, then Batch Manager assumes the control system and possible human intervention caused the
phase to go to Ready. Batch Manager assumes the phase is done and continues on to the next phase.
Note: Manual operation can be made accessible only to personnel with the proper security clearance.
Therefore, it is their responsibility to clean up the manual operat ion phases following a system failure.
Failure to properly clean up the manually operating phases can caus e problems when scheduled
batches require the use of the stray phases. It is also recommended that when manual operation is in use
and a system failure occurs, the Batch Manager must be restarted without the Restarting Batches option.
This ensures that all batches are resumed in Held status and that none of these batches can
automatically allocat e equipment that is needed to clean up any phase that was run using manual
operation.
Tag Attributes:
Field Value
Mode Manual
When you run a phantom batch, all the phases for any allocated units can be processed. For phases to
run, you must manually allocate units from the Equipment Allocation dialog box. A phantom batch has
no associated history of activity. You remove a phantom batch from the schedule by putting the batch on
Hold and then selecting Abort.
To run a phantom batch
1. Open the Batch Di splay dialog box.
2. Select a batch.
C HAPTER 11
History System
The History System databases are located on a Batch Management Server. The History server uses
Microsoft SQL Server to store and archive all information relat ed to the production of a batch, such as:
E vents
Process data
Production information
Material usage
Operator comments
Operator actions
Equipment used
In This Chapter
Overview.................................................................................................................................... 361
Managing Your History Queue Database Size .............................................................................. 362
Support for Multiple Batch Servers ............................................................................................... 362
History Database Tables ............................................................................................................. 363
HistHook API Referenc e ............................................................................................................. 400
HistHook Function Reference ...................................................................................................... 402
HistQReader Function Reference ................................................................................................ 420
Overview
Historical batch information is stored on a Batch Management history server. The History server uses
Microsoft SQL Server and provides all the historical database requirements for the batch system. At the
Batch Management Server, a message queue guarant ees that data is transmitted to the History server.
This guarant eed delivery is accomplished by maintaining the data loc ally in the case of a disconnection
and then ret ransmitting the data when the connection is restored. All data is time stamped by the Batch
Management Server so that if data communications to the History server are interrupted, the time and
date stamps are still valid. Data transmission to the History server is managed by the History Queue
Manager (HistQMngr), which runs on the Batch Management Server.
This document ation does not describe how to use Microsoft SQL Server. However, you may want to use
Microsoft SQL Server tools to maintain and view information about the historical databases. For more
information on using Micros oft SQL Server, see the Microsoft documentation.
For more information on maintaining your History databas es, including history archiving procedures, see
"System Administration".
For more information regarding the History server and how to use the reporting system, see Reporting
System.
WARNI NG! Using this method may result in data being rejected in the Historian. You will have to
resubmit the failed data using the History Error Queue application in the History Admin utility.
Note: If you do not set the Batch Server Name, all historical data will be logged to the <Blank> Batch
Server.
If you do not configure the Batch Server ID, it would be possible for two Batch Servers to generate the
same Batch Log ID, which is invalid.
If you have a single Batch Server, you do not need to configure either of thes e paramet ers.
Note: [For I/A Component systems only] To get your AlarmComment data to log with a specific Batch
Server Name, you must copy the sysparms.txt file from your Batch Server Config_A directory to your
AlarmComment clients Batch Management\HistQ directory.
ArchiveHistory
The ArchiveHistory table provides a history of archive activity.
Archive_ID No int 4
Job_Name No varchar 8
JobStart_DT No datetime 8
AuditEvent
The AuditE vent table contains one rec ord for every security system event that is generated during batch
processing.
App_Name No varchar 16
User_Name No varchar 64
User_ID No varchar 64
Batch_Server_Name No varchar 20
DateTime No datetime 8
Func_Lvl No varchar 8
Func_Name No varchar 16
Op_Station No varchar 16
Reas on No varchar 4
Recipe_ID No varchar 16
PassFail No smallint 2
BatchAdmin
The BatchAdmin table cont ains records for archive tasks defined in the history archive. The history
archive controls the data in this table.
Archive_Desc No varchar 64
Archive_Device No varchar 30
Archive_IND No char 1
BatchAdmin_ID No char 10
Completion_CD No char 1
Create_DT No datetime 8
End_DT No datetime 8
Purge_IND No char 1
Restore_IND No char 1
Schedule_DT No datetime 8
Scheduled_by_User No varchar 64
Start_DT No datetime 8
Status_CD No char 1
Target_DB No varchar 30
BatchDetail
The BatchDetail table contains a record for every event in the processing of a batch. E vents are defined
using an action code. The action codes are defined in the CodeTable table. Batch Manager controls the
data in this table.
Action_CD No smallint 2
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
DoneBy_User_ID No varchar 64
Operation_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID No char 10
PhaseLabel No varchar 8
UnitOrConnection No varchar 16
BatchIdLog
The BatchIdLog table contains a record for each batch produced. Batch Manager cont rols the data in this
table.
Archive_CD No char 1
Batch_ID No varchar 16
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
Batch_Size No int 4
Campaign_ID No varchar 16
Log_Open_DT No datetime 8
Lot_ID No varchar 16
Product_ID No varchar 16
Product_Name No varchar 16
Recipe_Approval_CD No smallint 2
Recipe_ID No varchar 16
Recipe_State No varchar 16
Recipe_Type No varchar 16
Recipe_Version No varchar 8
Train_ID No varchar 16
BatchQuestion
The BatchQuestion table contains a record for every question shown to and ans wered by the operator
during the processing of a batch. Batch Manager controls the data in this table.
Answer No smallint 2
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
DoneBy_User_ID No varchar 64
Question No varchar 40
CodeTable
The CodeTable contains the codes and descriptions that are used as part of other history tables. This
table is a permanent part of the History dat abase and is not modified during batch processing.
Code No smallint 2
Description No varchar 64
Code Description
210 Allocate
211 Release
Code Description
249 Resync
Code Description
300 Yes
301 No
Code Description
414 Skip
415 Done
Action Codes
Any operation performed on a batch, phase, or unit, during batch execution in the Batch Display has a
corresponding E vent Action Code. These codes are stored in the BatchDetail, BatchQue stion, and
BatchIdLog tables in the BatchHi story database.
For example: When a batch is started, the Action Code 201 (Batch set Start) is stored in the BatchDetail
table. After the Status of the batch changes to Run, the Action Code 400 (Batch rec eived Run) is stored
in the BatchDetail table.
The following table lists all the Action Codes generated during the batch execution, depending on the
operations performed by user.
Action
Code Action De scription Event Label Event Details
201 Batch set Start Batch Set is when the Batch Manager sends a
command (e.g. sets Start bit).
Action
Code Action De scription Event Label Event Details
400 Batch received Run Batch Received is when the Batch Manager
gets a status update (e.g. sees Run bit
401 Batch received Held Batch go true).
Action
Code Action De scription Event Label Event Details
405 Batch received Locked Batch The batch has been successfully
locked and the Jump mode is enabled.
406 Batch received Unlock Batch The batch has been successfully
unlocked and the Jump mode is
disabled.
207 Batch Warm Restart Batch The Batch Manager is restarted and the
batches prior to shutdown are restored
to the Batch Scheduler.
208 Batch Redundancy Batch Changeover bet ween primary and
Switchover secondary batch servers.
410 Unit received Ready Unit Received is when the Batch Manager
gets a status update (e.g. sees Run bit
go true).
411 Unit received Run Unit
270 Unit set Hold Unit Set is when the Batch Manager sends a
command (e.g. sets Start bit).
Action
Code Action De scription Event Label Event Details
223 Phase Wait for E ntry Ack Phase Can relat e to the batch in the
Semi-Automatic mode OR if the phase
is set to require an entry
224 Phase Received Entry Ack Phase acknowledgement in the recipe
configuration.
245 Phase Wait for Exit Ack Phase If the phase is set to require an exit
acknowledgement in the recipe
configuration.
246 Phase Received Exit Ack Phase
241 Phase Wait for Req Edits Phase If a phase parameter is marked as “Edit
Required”, the phas e will not start until
the paramet er value has been set by
242 Phase Received Req Edits Phase the operator.
243 Phase Wait for Req Cmmt Phase If a phase parameter is marked as
“Comment Required”, the phase will not
start until a comment has been entered
244 Phase Received Req Phase by the operator.
Cmmt
250 Phase Wait for E ntry Doc Phase Phase is set with the Document
View settings, which require the operator to
view an external document and also
251 Phase Received Entry Doc Phase require acknowledgement on Phase
ViewAck entry.
Action
Code Action De scription Event Label Event Details
254 Phase Wait for Exit Doc Phase Phase is set with the Document
View settings, which require the operator to
view an external document and also
255 Phase Received Exit Doc Phase require acknowledgement on Phase
View exit.
225 Phase Received Interlock Phase Received is when the Batch Manager
gets a status update (e.g. sees Run bit
go true)
226 Phase Received Ready Phase
227 Phase Set Start Phase Set is when the Batch Manager sends a
command (e.g. sets Start bit)
Action
Code Action De scription Event Label Event Details
247 Phase Wait for Start Phase When the Batch Manager sends a Start
command to a phas e, it goes into the
Wait for Start status until the phase
goes to Run.
248 Phase Received Start Phase Received Start will be seen when a
phase is started in the Manual mode.
249 Phase Resync Phase Resync will be seen when the Batch
Manager first starts up and the last
status of the phase stored in the Batch
Manager is different from its current
status in the control system.
265 Phase set Control Button1 Phase Phase control button activated by the
user.
414 Phase Skip Phase Skip is triggered aft er “P hase Skip” for
any phas e that is in “Waiting for Entry
Acknowledge” (For example: in the
Semi-Automatic mode).
415 Phase Done Phase Done is triggered aft er Phas e Abort
when a phase is Waiting for Exit
Acknowledgement or when a manual
phase is complet e.
275 Force Transition True Transition Transition forced to complete by the
user.
Action
Code Action De scription Event Label Event Details
305 Approved for Production Batch Recipe is set to approved for production
in the Recipe Editor. During execution,
these codes are logged into the
Recipe_Approval_CD column of the
BatchIdLog table.
306 Approved for Test Batch Recipe is set to approved for test in the
Recipe Editor. During execution, these
codes are logged int o the
Recipe_Approval_CD column of the
BatchIdLog table.
Config
The Config table is used by the reporting system to hold configuration settings.
DocViewEvent
The DocViewE vent table contains one record for each event that is generated when an operator must
view and acknowledge an external doc ument.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
DoneBy_User_ID No varchar 64
Operation_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID No char 10
Phase_Label No varchar 8
UnitORConnection_ID No varchar 16
EquipStatus
The EquipStatus table cont ains a record for every unit or segment status transition. Batch Manager
controls the data in this table.
Batch_Server_Name No varchar 20
DateTime No datetime 8
DoneBy_User_ID No varchar 64
ESField1 No varchar 16
ESField2 No varchar 16
ESField3 No varchar 16
ESField4 No varchar 16
ESField5 No varchar 16
ESField6 No varchar 16
ESField7 No varchar 16
ESField8 No varchar 16
Last_Recipe_ID No varchar 16
New_Status No varchar 16
Old_Status No varchar 16
Operator_Comment No varchar 40
Recipe_ID No varchar 16
UnitOrSegment No varchar 16
ErrorQ
The ErrorQ table is used by the History Queue.
ErrorID No int 4
LastAttempt No datetime 8
Event
The E vent table stores all InTouch alarms and events that the batch system can associate to specific
batches.
Alarm_State No varchar 10
Alarm_Type No varchar 4
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
Engineering_Units No varchar 16
Group_Name No varchar 32
Operator_ID No varchar 16
Priority No smallint 2
Tag_Name No varchar 84
UnitOrConnection No varchar 16
MaterialChar
The MaterialChar table contains a record for every characteristic defined for a material used in a batch.
Batch Manager controls the data in this table.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
Material_Characteric No varchar 16
Material_ID No varchar 16
Material_Instance_ID No varchar 16
MaterialInput
The MaterialInput table contains a record for every material cons umed in a batch. Batch Manager
controls the data in this table.
Actual_Qty No float 8
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
Material_ID No varchar 16
Material_Instance_ID No varchar 16
Material_Name No varchar 40
Material_Parameter No varchar 16
Mtrl_Batch_ID No varchar 16
Mtrl_Campaign_ID No varchar 16
Operation_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID No char 10
Phase_Label No varchar 8
Target_Qty No float 8
UnitOfMeasure No varchar 12
UnitOrConnection No varchar 16
HighDeviationValue No float 8
LowDeviationValue No float 8
MaterialInputChange
The MaterialInputChange table cont ains a record for every quantity change made by an operator for a
material consumed in a batch. Batch Manager controls the data in this table.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
DoneBy_User_ID No varchar 64
Material_ID No varchar 16
Material_Parameter No varchar 16
New_Target_Qty No float 8
Old_Target_Qty No float 8
Operation_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID varchar 16
Phase_Label No varchar 8
UnitOrConnection No varchar 16
HighDeviationValue No float 8
LowDeviationValue No float 8
MaterialOutput
The MaterialOutput table contains a record for every material produc ed in a batch. Batch Manager
controls the data in this table.
Actual_Qty No float 8
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
Material_ID No varchar 16
Material_Name No varchar 40
Material_Parameter No varchar 16
Operation_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID No char 10
Phase_Label No varchar 8
Target_Qty No float 8
UnitOfMeasure No varchar 12
UnitOrConnection No varchar 16
OperatorComment
The OperatorComment table contains a group of one or more records for every comment entered by an
operator during a batch. Each record cont ains a portion (40 characters) of the comment. The SeqNum
field defines the comment sequenc e. Batch Manager controls the data in this table.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
DoneBy_User_ID No varchar 64
Operation_ID No varchar 16
Operator_Comment No varchar 40
Phase_ID No varchar 16
Phase_Instance_ID No char 10
Phase_Label No varchar 8
SeqNum No int 4
UnitOrConnection No varchar 16
PhaseInstruction
The Phas eInstruction table contains a group of one or more records for every phase instruction
presented to an operator during a batch. Each record contains a portion (40 characters) of the
instruction. The SeqNum field defines the instruction sequence. Batch Manager controls the data in this
table.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
Instruction No varchar 40
Operation_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID No char 10
Phase_Label No varchar 8
SeqNum No int 4
UnitOrConnection No varchar 16
ProcessLog
The Proc essLog table contains a record for every data sample logged. Process Log Manager controls
the data in this table.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
Data_Class No varchar 12
DateTime No datetime 4
Tag_Name N varchar 84
UnitOrConnection No varchar 16
ProcessVar
The Proc essVar table cont ains a record for the value of every phase process variable paramet er
associated with a batch. Batch Manager controls the data in this table.
Actual_Value No varchar 80
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
Operation_ID No varchar 16
Parameter_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID No char 10
Phase_Label No varchar 9
Target_Value No varchar 81
UnitOfMeasure No varchar 16
UnitOrConnection No varchar 16
HighDeviationValue No float 8
LowDeviationValue No float 8
HighLimitValue No float 8
LowLimitValue No float 8
ProcessVarChange
The Proc essVarChange table contains a record for every change made to a phase process variable
parameter by an operator during a batch. Batch Manager controls the data in this table.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
DoneBy_User_ID No varchar 64
New_Target_Value No varchar 80
Old_Target_Value No varchar 80
Operation_ID No varchar 16
Parameter_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID No varchar 10
Phase_Label No char 8
UnitOfMeasure No varchar 16
UnitOrConnection No varchar 16
HighDeviationValue No float 8
LowDeviationValue No float 8
HighLimitValue No float 8
LowLimitValue No float 8
ReportDef
The ReportDef table contains the configuration dat a of the reports.
ID No int 4
AutoBatchEnd No int 4
Name No varchar 32
ReportLog
The ReportLog table contains the logged information of the generated reports.
ID No int 4
TimeStamp No datetime 8
ReportLayoutColorCodes
This table stores information about the Report layout color codes.
ColorId No integer
ColorUse No nvarchar 50
ColorCode No nchar 7
ReportTimeZones
This table stores information about the Reports time zone.
tz_ID No varchar 10
tz_Name No varchar 50
ReportOutputTypes
The ReportOutput Types table contains the available output formats for the reports.
FilenameExtension No varchar 10
Name No varchar 32
Value No int 4
ReportPrinters
The ReportPrint ers table contains information about the printers that are configured for reports.
ReportQueue
The ReportQueue table contains the scheduled reports that are waiting to be processed.
ID No unique 16
identifier
BeingProcessed No bit 1
Name No varchar 32
NumAttempts No int 4
ReportQueueParams
The ReportQueueParams table contains the parameters of the scheduled reports.
ReportQID No uniqueidentifier 16
Name No varchar 32
ReportViewers
The ReportViewers table contains the types of viewers available for viewing reports.
Name No varchar 50
Transition
The Transition table contains a record for every transition event. The events are Start Transition,
Transition False, Transition True, and Transition Forced. Batch Manager controls the data in this table.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
Operation_ID No varchar 16
Transition_ID No varchar 16
Transition_Instance_ID No char 10
Transition_Label No varchar 8
TransitionExpression
The TransitionExpression table contains a record for each Transition Expression that is encountered
during batch processing.
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
Expression_Text No varchar 40
Operation_ID No varchar 16
SeqNum No int 4
Transition_ID No varchar 16
Transition_Instance_ID No char 10
Transition_Label No varchar 8
UserProfile
The UserProfile table contains records that describe a user’s identification.
Batch_Server_Name No varchar 20
Effective_TS No datetime 8
User_ID No varchar 64
User_Name No varchar 64
AlarmComment
The AlarmComment table contains one record for each I/A Series Alarm Comment entered during batch
processing.
Allow
Field Null Type Length
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
DateTime No datetime 8
EnteredBy_User_ID No varchar 16
messageId No unique 16
identifier
SeqNum No int 4
AnalogAlarm
The AnalogAlarm table contains one record for each I/A Series Analog Alarm generated during batch
processing.
ack_state No char 1
alarm_limit No float 8
alarmtype_msg No varchar 8
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
block_desc No varchar 33
block_name No varchar 15
compound_name No varchar 15
date_time No datetime 8
DateTime No datetime 8
in_out_txt No varchar 33
inhprt No char 1
letterbug No varchar 8
loopId No varchar 33
messageId No unique 16
identifier
messg_text No varchar 81
Messg_Type No int 4
monotonictime No int 4
opr_err No int 4
parametername No varchar 8
pnt_no No int 4
point_name No varchar 15
priority No int 4
real_value No float 8
sbxno No char 1
sct_no No int 4
state_text No varchar 33
stepno No int 4
subrno No char 1
symbolicname No varchar 64
tenths No char 1
unit_txt No varchar 33
valid_time No int 4
BooleanAlarm
The BooleanAlarm table contains one record for each I/A Series Boolean Alarm generated during batch
processing.
ack_state No char 1
alarm_limit No float 8
alarmtype_msg No varchar 8
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
block_desc No varchar 33
block_name No varchar 15
compound_name No varchar 15
date_time No datetime 8
DateTime No datetime 8
in_out_txt No varchar 33
inhprt No char 1
letterbug No varchar 8
loopId No varchar 33
messageId No unique 16
identifier
messg_text No varchar 81
Messg_type No int 4
monotonictime No int 4
opr_err No int 4
parametername No varchar 8
pnt_no No int 4
point_name No varchar 15
priority No int 4
real_value No float 8
sbxno No char 1
sct_no No int 4
state_text No varchar 33
stepno No int 4
subrno No char 1
symbolicName No varchar 64
tenths No char 1
unit_txt No varchar 33
valid_time No int 4
CodeTable
The following items apply to I/A Series.
Code Description
NonBatchOperatorActions
The NonBatchOperatorActions table contains a group of one or more records for every operator action
that is not part of a batch. E vent Manager controls the data in this table.
ActionType No tinyint 1
Batch_Server_Name No varchar 20
block_name No varchar 15
compound_name No varchar 15
DateTime No datetime 8
Description No varchar 64
Messg_Type No int 4
[Pad] No tinyint 1
parametername No varchar 8
Station No varchar 8
OperatorActions
The OperatorActions table contains a group of one or more records for every action of an operator during
a batch. Batch Manager controls the data in this table.
ActionType No tinyint 1
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
block_name No varchar 15
compound_name No varchar 15
DateTime No datetime 8
Description No varchar 64
Messg_Type No int 4
[Pad] No tinyint 1
parametername No varchar 8
Station No varchar 8
SequenceBlock
The SequenceBlock table contains a record for each I/A Series Sequence Block associated wit h a batch.
Allow
Field Null Type Length
ack_state No char 1
alarm_limit No float 8
alarmtype_msg No varchar 8
Batch_Log_ID No char 10
Batch_Server_Name No varchar 20
block_desc No varchar 33
block_name No varchar 15
compound_name No varchar 15
date_time No datetime 8
DateTime No datetime 8
in_out_txt No varchar 33
inhprt No char 1
Allow
Field Null Type Length
letterbug No varchar 8
loopId No varchar 33
messg_text No varchar 81
Messg_Type No int 4
monotonictime No int 4
opr_err No int 4
parametername No varchar 8
pnt_no No int 4
point_name No varchar 15
priority No int 4
real_value No float 8
sbxno No char 1
sct_no No int 4
state_text No varchar 33
stepno No int 4
subrno No char 1
symbolicName No varchar 64
tenths No char 1
unit_txt No varchar 33
valid_time No int 4
ApacsAlarm
Allow
Field Null Type Length
Batch_Log_ID No char 10
UnitOrConnection No varchar 16
TagName No varchar 84
DateTime No datetime 8
DoneBy No varchar 64
CheckBy No varchar 64
Priority No int
ApacsOperatorActions
Allow
Field Null Type Length
Batch_Log_ID No char 10
OperatorId No varchar 16
UnitOrConnection No varchar 16
TagName No varchar 84
DateTime No datetime 8
DoneBy No varchar 64
CheckBy No varchar 64
OldValue No varchar 80
NewValue No varchar 80
Allow
Field Null Type Length
Note: This is a complicated task and should be thoroughly considered before attempting.
If you use the hook to return custom SQL, you will most likely NOT be able to use the Batch
Management History Administration int erface or the Batch Management Reporting interface. This
would depend on the type and amount of changes made to the custom SQL.
Capt ure Historical events (such as End of Batch) and use them as triggers for other integration
purposes.
Note: You need to be extremely fast in your operations. The whole Batch Management System can
get delay ed if these hooks take additional time to execute. Also, be aware that the data is not in the
History Database yet, when the hook is called.
You can perform the following administrative tasks for the history server.
Create user accounts for the History Administration pages.
Administer the history error queue.
The following are the two different functional areas of the HistHook API:
The HistHook interface: This is called by Batch applications such as the Batch Manager and few
other Batch applications, before sending the data (through the History Queue, via the HistQMngr) to
the HistQReader on the Batch History Server.
The Hi stQReader interface: This is called by the History Queue Reader on the Batch History Server
when it is trying to process the Error Queue messages. The interface allows you to add your own
custom ErrorQ table that can support the CRUD (Create, Retrieve, Update, or Delete) operations.
The HistQReader int erface also provides the ability to connect to a different database server than the
one on the Batch History Server node.
Implementing a HistHook
HistHook API is available as part of a Stub sample project that is available in the DevHist Hook folder on
the Batch Management CD. It consists of a buildable VS2008 project (C code) that, by default, has no
functionality. It also includes sample code (commented) within many of the functions to provide an
example of how you can use the HistHook.
Note: The sample code should not be relied on to produc e quality history data. You should test and
qualify your hook implement ations.
The sample code for the following HistHook API functions is available on the CD:
HistHookBatchId
HistHookBatchDetail
HistHook InstructionInit
HistHookPhaseInstruction
HistHook Report TriggerE ndOfB atch
Note: If you are using VS 2008 or later, the project solution will be converted accordingly.
3. If you want to build the commented-out sample code, remove the comments for the following
functions in the devhisthook.c file:
o HistHookBatchId
o HistHookBatchDetail
o HistHookPhaseInstructionInit
o HistHookPhaseInstruction
o HistHook Report TriggerE ndOfB atch
Note: Also, uncomment the other supporting definitions and functions in the file.
Note: Select the Release build configuration if you want to copy the DLL to a non-development
system.
5. Save the DLL into the Batch Management Bin directory on the Batch Server, Development Client,
Runtime Client, and History Server.
VS 2008 Solution
DevHi stHook.h
The DevHistHook.h contains prototypes of all the APIs that are public.
Hi storyDB.h
The HistoryDB.h header file defines the structures, which hold the data to be sent to the History
Database.
DevHi stHook.c
The DevHistHook.c contains implementation of the exposed Hist Hook functions.
Note: To us e the 32 bit date-time format, refer to MSDN for det ailed information.
You can remove the above specified macro from project settings if you do not want to use the sample
code.
Note:
- The string length of the SQL query is limited to 997 characters. If the number of characters supplied in
the SQL query exceeds the limit, the HistHook interface does not work.
Also, it is recommended that you add appropriate exception handling in the implementation code. An
exception in the hook can possibly cause the calling application to terminate.
- When you upgrade to Batch Management 2017 Update 1, new process field values
(HighDeviationV alue, LowDeviationValue, HighLimitValue, LowLimitValue) for Process Variable and
(HighDeviationV alue, LowDeviationValue) for Material Input are stored in the database. If you do not
want to use thes e new process field values, then perform the following:
a. Back up the existing HistHook.dll.
b. Upgrade to Batch Management 2017 Update 1.
c. Replace the backed up HistHook.dll in the Bin folder.
- All the below functions ret urn NULL value if alternate SQL statement is not provided. When a function
returns NULL value, the default implementation is invoked.
HistHookBatchId
Description:
The HistHookBatchId function is called during the start of the batch. When the function is called, it
creates an entry in the BatchIdLog table of the BatchHistory database.
Syntax
char * HistHookBatchId(char* szBatchServerName, char* szBatchKey, H_Batch IdLog*
pBatchIdLog)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for a batch
pBatchIdLog
o Type: H_BatchIdLog*
o Description: Points to the structure of H_B atchIdLog that refers to the BatchIdLog table of the
BatchHistory database
Return type: char*
This function returns an ins ert query for BatchIdLog table of the BatchHistory database. The return ed
string must remain allocated (that is, it must return a static buffer).
HistHookBatchDetail
Description:
The HistHookBatchDetail function is called during changes in each unit, phase, and transition. When the
function is called, it creates an entry in the BatchDetail table of the BatchHistory database.
Syntax
char* HistHookBatchDetail(char* szBatchServerName, char* szBatchKey, H_CLB*
pCLB, char* szPhaseKey, H_BatchDetail* pBatchDetail)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for a batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szPhaseKey
o Type: char*
o Description: Contains the unique identification string for a phase
pBatchDetail
o Type: H_BatchDetail*
o Description: Points to the structure of H_BatchDetail that refers to the BatchDet ail table of the
BatchHistory database
HistHookMaterialCharacteristic
Description:
The HistHookMaterialCharacteristic function is called during changes in material characteristic values at
the time of batch execution. When the function is called, it creates an entry into the MaterialChar table of
the BatchHistory dat abase.
Syntax
char* HistHookMaterialCharacteristic(char* szBatchServerName, char*
szBatchKey, H_CLB* pCLB, char* szMtrlKey, H_MaterialChar* pMaterialChar)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for a batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szMtrlKey
o Type: char*
o Description: Contains the unique identification string for the material
pMaterialChar
o Type: H_MaterialChar*
o Description: Points to the structure of H_Mat erialChar that refers to the MaterialChar table of the
BatchHistory database
Return type: char*
This function returns an ins ert query for the MaterialChar table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookMaterialInput
Description:
The HistHookMaterialInput function is called during the material consumption at the time of batch
execution. When the function is called, it creates an entry into the MaterialInput table of the BatchHistory
database.
Syntax
char* HistHookMaterialInput(char* szBatchServerName, char* szBatchKey, H_CLB*
pCLB, char* szPhaseKey, char* szMtrlKey, H_MaterialInput* pMaterialInput)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szPhaseKey
o Type: char*
o Description: Contains the unique identification string for a phase
szMtrlKey
o Type: char*
o Description: Contains the unique identification string for the material
pMaterialInput
o Type: H_MaterialInput*
o Description: Points to the structure of H_MaterialInput that refers to t he M aterialInput table of the
BatchHistory database.
Return type: char*
This function returns an ins ert query for the MaterialInput table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookMaterialInputChange
Description:
The HistHookMaterialInputChange function is called during the changes in formula of input quantities for
batch. When the function is called, it creates an entry into the MaterialInput Change table of the
BatchHistory database.
Syntax
char* HistHookMaterialInputChange(char* szBatchServerName, char* szBatchKey,
H_CLB* pCLB, char* szPhaseKey, H_MaterialInputChange* pMaterialInputChange)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szPhaseKey
o Type: char*
o Description: Contains the unique identification string for a phase
pMaterialInputChange
o Type: H_MaterialInputChange*
o Description: Points to the structure of H_MaterialInputChange that refers to the
MaterialInput Change table of the BatchHistory dat abase
Return Type: char*
This function returns an ins ert query for the MaterialInput Change table of the BatchHistory dat abas e.
The returned string must remain allocated (that is, it must return a static buffer).
HistHookOperatorCommentInit
Description:
The HistHookOperatorCommentInit function is called only once before the HistHookOperatorComment
function is called multiple times.
Syntax
void HistHookOperatorCommentInit(char* szBatchServerName)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
Return Type: None
HistHookOperatorComment
Description:
The HistHookOperatorComment function is called every time the operator writes a comment in the B atch
Display client. When the function is called, it creates an entry in the OperatorComment table of the
BatchHistory database. This can be called multiple times per comment bec ause a comment can have
unlimited length.
Syntax
char* HistHookOperatorComment( char* szBatchServerName, char* szBatchKey,
H_CLB* pCLB, char* szPhaseKey, H_OperatorComment* pOperatorComment)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
HistHookProcessLog
Description:
The HistHookProcessLog function is called when the data is logged into Historian for the configured
groups in the Process Log editor. When the function is called, it creates an entry in the ProcessLog table
of the BatchHistory database.
Syntax
char* HistHookProcessLog(char* szBatchServerName, H_CLB* pCLB, H_ProcessLog*
pProcessLog)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
pProcessLog
o Type: H_ProcessLog*
o Description: Points to the structure of H_Proc essLog that refers to the ProcessLog table of the
BatchHistory database
Return Type: char*
This function returns an ins ert query for the ProcessLog table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookProcessVariable
Description:
The HistHookProcessVariable function is called during the execution of a phase when actual and target
value of the process variable is met. When the function is called, it creates an entry in the ProcessVar
table of the BatchHistory database.
Syntax
char* HistHookProcessVariable(char* szBatchServerName, char* szBatchKey,
H_CLB* pCLB, char* szPhaseKey, H_ProcessVar* pProcessVar)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szPhaseKey
o Type: char*
o Description: Contains the unique identification string for a phase
pProcessVar
o Type: H_ProcessVar*
o Description: Points to the structure of H_ProcessVar that refers to the ProcessVar table of the
BatchHistory database
Return Type: char*
This function returns an insert query for the Proc essVar table of the B atchHistory database. The returned
string must remain allocated (that is, it must return a static buffer).
HistHookProcessVariableChange
Description:
The HistHookProcessVariableChange function is called during the execution of a phase when user
changes the target value of the process variable. When the function is called, it creates an ent ry in the
ProcessVarChange table of the BatchHistory database.
Syntax
char* HistHookProcessVariableChange(char* szBatchServerName, char* szBatchKey,
H_CLB* pCLB, char* szPhaseKey, H_ProcessVarChange* pProcessVarChange)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szPhaseKey
o Type: char*
o Description: Contains the unique identification string for a phase
pProcessVarChange
o Type: H_ProcessVarChange*
o Description: Points to the structure of H_ProcessVarChange that refers to the
ProcessVarChange table of the BatchHistory database
Return Type: char*
This function returns an insert query for the ProcessVarChange table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookMaterialOutput
Description:
The HistHookMaterialOutput function is called during material production at the time of batch execution.
When the function is called, it creates an entry in the Mat erialOuput table of the BatchHistory database.
Syntax
char* HistHookMaterialOutput(char* szBatchServerName, char* szBatchKey, H_CLB*
pCLB, char* szPhaseKey, H_MaterialOutput* pMaterialOutput)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szPhaseKey
o Type: char*
o Description: Contains the unique identification string for a phase
pMaterialOutput
o Type: H_MaterialOutput*
o Description: Points to the structure of H_MaterialOutput that refers to the MaterialOutput table
of the BatchHistory database
Return Type: char*
This function returns an ins ert query for the MaterialOutput table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookEquipStatus
Description:
The HistHookEquipStatus function is called every time a change is made in the equipment status during
batch execution. When the function is called, it creates an entry in the EquipStatus table of the
BatchHistory database.
Syntax
char* HistHookEquipStatus(char* szBatchServerName, H_EquipStatus*
pEquipStatus)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters.
pEquipStatus
o Type: H_EquipStatus*
o Description: Points to the structure of H_EquipStatus that refers to the EquipStatus table of
BatchHistory database.
Return Type: char*
This function returns an ins ert query for EquipStatus table of the BatchHistory database. The returned
string must remain allocated (that is, it must return a static buffer).
HistHookBatchQuestion
Description:
The HistHookBatchQuestion function is called every time a question is answered from Batch Display
client during batch execution. When this function is called, it creates an entry in the BatchQuestion table
of the BatchHistory database.
Syntax
char* HistHookBatchQuestion(char* szBatchServerName, char* szBatchKey, H_CLB*
pCLB, H_BatchQuestion* pBatchQuestion )
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
pBatchQuestion
o Type: H_BatchQuestion*
o Description: Points to the structure of H_BatchQuestion that refers to the BatchQuestion table of
the BatchHistory dat abase
Return Type: char*
This function returns an ins ert query for the BatchQuestion table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookPhaseInstructionInit
Description:
The HistHookPhaseInstructionInit function is called only once before HistHookPhaseInstruction is called
multiple times.
Syntax
void HistHookPhaseInstructionInit(char* szBatchServerName)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
Return Type: None
HistHookPhaseInstruction
Description:
The HistHookPhaseInstruction function is called whenever a set of instructions is to be logged in the
Batch History database. When this function is called, it creates an entry in the PhaseInstruction table of
the BatchHistory dat abase. This can be called multiple times per phase instruction because a phas e
instruction can have unlimited length.
Syntax
char* HistHookPhaseInstruction(char* szBatchServerName, char* szBatchKey,
H_CLB* pCLB, char* szPhaseKey, H_PhaseInstruction* pPhaseInstruction)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in sys tem parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
H_PhaseInstruction
o Type: H_PhaseInstruction*
o Description: Points to the structure of H_P haseInstruction that refers to the PhaseInstruction
table of the BatchHistory database
pPhaseInstruction
o Type: H_PhaseInstruction*
o Description: Points to the structure of H_P haseInstruc tion that refers to the PhaseInstruction
table of the BatchHistory database
Return Type: char*
This function returns an ins ert query for the PhaseInstruction table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookTransitionInfo
Description:
The HistHook TransitionInfo function is called whenever there is a transition during batch execution.
When this function is called, it creates an entry in the Transition Table of the BatchHistory database.
Syntax
char* HistHookTransitionInfo(char* szBatchServerName, char* szBatchKey, H_CLB*
pCLB, char* szTransitionKey, H_Transition* pTransition)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters.
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szTransitionKey
o Type: char*
o Description: Contains the unique identification string for a Transition
pTransition
o Type: H_Transition*
o Description: Points to the structure of H_Transition that refers to Transition table of the
BatchHistory database
Return Type: char*
This function returns an ins ert query for the Transition table of the BatchHistory database. The returned
string must remain allocated (that is, it must return a static buffer).
HistHookExpressionInit
Description:
The HistHookExpressionInit function is called only once before the HistHookExpression function is
called multiple times.
Syntax
void HistHookExpressionInit(char* szBatchServerName)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
Return Type: None
HistHookExpression
Description:
The HistHookExpression function is called whenever the batch evaluates the transition expression
during batch execution. When this function is called, it adds an entry in the TransitionExpression table of
the BatchHistory database. This can be called multiple times per expression because an expression can
have unlimited length.
Syntax
char* HistHookExpression(char* szBatchServerName, char* szBatchKey, H_CLB*
pCLB, char* szTransitionKey, H_Expression* pExpression)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szTransitionKey
o Type: char*
o Description: Contains the unique identification string for a transition
pExpression
o Type: H_Expression*
o Description: Points to the structure of H_Expression that refers to the TransitionE xpression t able
of the BatchHistory database
HistHookEvent
Description:
The HistHookE vent function is called whenever non-alarm events are raised at the time of recipe
execution. When the function is called, it creates an entry in the E vent table of the BatchHistory
database.
Syntax
char* HistHookEvent(char* szBatchServerName, H_CLB* pCLB, H_Event* pEvent)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
pE vent
o Type: H_E vent*
o Description: Points to the structure of H_E vent that refers to the E vents table of the BatchHistory
database
Return Type: char*
This function returns an insert query for the E vent table of t he BatchHistory dat abase. The returned string
must remain allocated (that is, it must return a static buffer).
HistHookSecurity
Description:
The HistHookSecurity function is called during all security events. The security events are the user
actions performed on a user profile, such as adding, editing or logging on attempts to access an
application. When this function is called, it adds an entry in the AuditE vent table of the BatchHistory
database.
Syntax
char* HistHookSecurity(char* szBatchServerName, H_Security* pSecurity)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pSecurity
o Type: H_Sec urity*
o Description: Points to the structure of H_S ecurity that refers to the AuditE vent table of the
BatchHistory database
Return Type: char*
This function ret urns an insert query for the AuditE vent table of the BatchHistory database. The returned
string must remain allocated (that is, it must return a static buffer).
HistHookViewDocument
Description:
The HistHookViewDocument function is called whenever the operat or views a document from Batch
Display. When this function is called, it adds an entry in the DocViewE vent table of the BatchHistory
database.
Syntax
char* HistHookViewDocument(char* szBatchServerName, char* szBatchKey, H_CLB*
pCLB, char* szPhaseKey, H_ViewDocument* pViewDocument)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szPhaseKey
o Type: char*
o Description: Contains the unique identification string for phase
pViewDocument
o Type: H_ViewDocument*
o Description: Points to the structure of H_ViewDocument that refers to the DocViewE vent table of
the BatchHistory dat abase
Return Type: char*
This function returns an ins ert query for the DocViewE vent table of the B atchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookReportTriggerEndOfBatch
Description:
The HistHookReport TriggerEndOfBatch function is called by the Batch Runtime when a batch status
goes to Done or Aborted. It writes to the ReportQueue table to generate any configured End of Batch
reports.
Syntax
char* HistHookReportTriggerEndOfBatch(char* szBatchServerName, char*
szBatchKey, H_CLB* pCLB)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains name of the batch server configured in system parameters
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
Return Type: char*
This function returns an ins ert query for the ReportQ ueue table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookReportTriggerEndOfPhase
Description:
The HistHookReport TriggerEndOfPhase function is called by the Batch Runtime when a phase status
goes to Done or Aborted and when that phase has a report configured. It writes to the ReportQueue table
to generate the specified report.
Syntax
char* HistHookReportTriggerEndOfPhase (char* szBatchServerName, char*
szBatchKey, H_CLB* pCLB, char* szPhaseKey, char* szReportName)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system paramet ers
szBatchKey
o Type: char*
o Description: Contains the unique identification string for the batch
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
szPhaseKey
o Type: char*
o Description: Contains the unique identification string for the phas e
szReportName
o Type: char*
HistHookFoxAnalogAlarm
Description:
The HistHookFoxAnalogAlarm function is called when an analog alarm is produced by a batch. When
this function is called, it creates an entry in the AnalogAlarm table of the BatchHistory databas e.
Syntax
char* HistHookFoxAnalogAlarm(char* szBatchServerName, H_CLB* pCLB,
H_FoxAnalogAlarm* pFoxAnalogAlarm)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
pFoxAnalogAlarm
o Type: H_FoxAnalogAlarm*
o Description: Points to the structure of the H_FoxAnalogAlarm that refers to the AnalogAlarm
table of the BatchHistory database
Return Type: char*
This function returns an ins ert query for the FoxAnalogAlarm table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookFoxBooleanAlarm
Description:
The HistHookFoxBooleanAlarm function is called when a Boolean alarm is produced by a batch. When
this function is called, it creates an entry in the BooleanAlarm table of the BatchHistory database.
Syntax
char* HistHookFoxBooleanAlarm(char* szBatchServerName, H_CLB* pCLB,
H_FoxBooleanAlarm* pFoxBooleanAlarm)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
pFoxBooleanAlarm
o Type: H_FoxBooleanAlarm
o Description: Points to the structure of the H_FoxBooleanAlarm that refers to the BooleanAlarm
table of the BatchHistory database
Return Type: char*
This function returns an ins ert query for the BooleanAlarm table of the BatchHistory dat abase. The
returned string must rem ain allocated (that is, it must return a static buffer).
HistHookFoxSequenceBlock
Description:
The HistHookFoxSequenceBlock function is called when messages for a sequence block is produced for
a batch. When this function is called, it creates an ent ry in the SequenceBlock table of the BatchHistory
database.
Syntax
char* HistHookFoxSequenceBlock(char* szBatchServerName, H_CLB* pCLB,
H_FoxSequenceBlock* pFoxSequenceBlock)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
pFoxSequenceBlock
o Type: H_pFoxSequenceBlock*
o Description: Points to the structure of the H_FoxSequenceBlock that refers to the
SequenceBlock table of the Batch History database
Return Type: char*
This function returns an ins ert query for the SequenceBlock table of the BatchHistory database. The
returned string must remain allocated (that is, itmust return a static buffer).
HistHookFoxAlarmComment
Description:
The HistHookFoxAlarmComment function is called when the operator adds a comment to an alarm.
When this function is called, it creates an entry in the AlarmComment table of the BatchHistory database.
Syntax
char* HistHookFoxAlarmComment(char* szBatchServerName, H_FoxAlarmComment*
pFoxAlarmComment)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
pE vent
o Type: H_E vent*
o Description: Points to the structure of the H_FoxAlarmComment that refers to the
AlarmComment table of the BatchHistory database
Return Type: char*
This function returns an ins ert query for the AlarmComment table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookFoxOaj
Description:
The HistHookFoxOaj function is called when all the batch-related operat or actions are being logged
during batch execution. When the function is called, it creates an entry in the OperatorActions table of the
BatchHistory database.
Syntax
char* HistHookFoxOaj(char* szBatchServerName, H_CLB* pCLB, H_FoxOaj* pFoxOaj)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pCLB
o Type: H_CLB*
o Description: Points to the structure that contains the information of campaign, lot, and batch
pFoxOaj
o Type: H_FoxOaj*
o Description: Points to the structure of the H_FoxOaj that refers to the OperatorActions table of
the BatchHistory dat abase
Return Type: char*
This function returns an ins ert query for the OperatorActions table of the BatchHistory database. The
returned string must remain allocated (that is, it must return a static buffer).
HistHookFoxNonBatchOaj
Description:
The HistHookFox NonBatchOaj function is called during the logging of non -batch-related operat or
actions that occur at the time of batch execution. When the function is called, it creates an entry in the
SequenceBlock table of the BatchHistory database.
Syntax
char* HistHookFoxNonBatchOaj(char* szBatchServerName, H_FoxNonBatchOaj*
pFoxNBOaj)
Parameters:
szBatchServerName
o Type: char*
o Description: Contains the name of the batch server configured in system parameters
pFoxNB Oaj
o Type: H_FoxNonBatchOaj*
o Description: Points to the structure of the H_Fox NonB atchOaj that refers to the
NonB atchOperatorActions table of the BatchHistory databas e.
Return Type: char*
This function returns an ins ert query for the NonBatchOperatorActions table of the BatchHistory
database. The returned string must remain allocated (that is, it must return a static buffer).
HistHookConnectionStringServerName
Description:
The HistHookConnectionStringServerName function is called by the HistQReader during startup. When
the function is called, it either returns an Optional Server name or NULL. If it ret urns an Optional Server
name, the HistQReader bypasses the History Server configured during installation and connects to the
newly -ret urned Optional Server. If NULL is returned, HistQReader connects to the server configured
during installation.
Syntax
char* HistHookConnectionStringServerName (void)
Parameters:
o This function does not include any parameters
Return type: char*
This function returns an optional server name for HistQReader. The returned string must remain
allocated (that is, it must return a static buffer).
Note: When an invalid Optional Server name is passed, the logger message will not be displayed and
the HistQReader will not start.
HistHookInsertErrorQRecord
Description:
The HistHook InsertE rrorQRecord function is called by the HistQReader during insertion of data in the
ErrorQ table. When the function is called, it returns either an ErrorQ SQL Insert query or NULL. If the
insert query is returned, the HistQReader execut es the query and inserts the data in the ErrorQ table. If
NULL is returned, the default implementation of insertion into ErrorQ holds good.
Syntax
char* HistHookInsertErrorQRecord(char* szMsg, char* szErrorMsg)
Parameters:
szMsg
o Type: char*
o Description: Contains the SQL query which failed during its execution in ReportQReader
szErrorMsg
o Type: char*
o Description: Contains information of the error message that occurred during the insertion of the
szMsg query
Return type: char*
This function returns an ins ert SQL query, which inserts the record in the ErrorQ table. The returned
string must remain allocated (that is, it must return a static buffer).
HistHookUpdateErrorQRecord
Description:
The HistHookUpdateErrorQRecord function is called by the HistQReader with appropriate data. When
the function is called, it either returns an Update ErrorQ SQL query or NULL. Based on the return value,
the HistQReader eit her updates a record in the ErrorQ table or executes its default implementation.
Syntax
char* HistHookUpdateErrorQRecord(int nRetryCount,char* szErrorMsg,int
nErrorId)
Parameters:
nRet ryCount
o Type: Integer
o Description: Contains the value that is updated in the RetryCount field of the ErrorQ table
szErrorMsg
o Type: char*
o Description: Contains the unique identification string that is filled in the Error Description field of
the ErrorQ table
nErrorId
o Type: Integer
o Description: Contains the unique identification number (ErrorID) based on which the record is
updated
Return Type: char*
This function returns an update query for the ErrorQ table of the BatchHistory database. The returned
string must remain allocated (that is, it must return a static buffer).
HistHookDeleteErrorQRecord
Description:
The HistHookDeleteE rrorQRec ord function is called by the HistQReader with appropriate data. When
the function is called, it either returns a Delete SQL q uery or NULL. Based on the return value, the
HistQReader either deletes a record from the ErrorQ table or execut es its default implementation.
Syntax
char* HistHookDeleteErrorQRecord(int nErrorId)
Parameters:
nErrorId
o Type: Integer
o Description: Contains the unique identification number of the error record to be delet ed
Return Type: char*
This function returns a delete query for the ErrorQ table of the BatchHistory database. The returned
string must remain allocated (that is, it must return a static buffer).
HistHookSelectErrorQRecords
Description:
The HistHookSelectErrorQRecords function is called by the HistQReader for selecting a set of rec ords
based on the input parameter, bNewRecords. If bNewRecords is true, you can write a custom query to
select the new records. If the value is false, you can write a custom query to select old records of the
ErrorQ table.
New records are considered to be thos e records that have recently failed. The default implementa tion
defines these new records as the records that are less than 10 minutes old and have not already failed 3
times. The HistQReader will retry these rec ords at fairly frequent int ervals, until they fall into the category
of Old Records. The Old records will be ret ried less frequently.
Syntax
char* HistHookSelectErrorQRecords(BOOL bNewRecords)
Parameters:
bNewRecords
o Type: Boolean
o Description: Contains the value of the error records to be selected
Return Type: char*
This function returns a select query for the ErrorQ table of the BatchHistory database. The returned string
must remain allocated (that is, it must return a static buffer).
HistHookGetErrorQFieldName
Description:
The HistHookGetErrorQFieldName function is called by the HistQReader to query the name of the field
in ErrorQ table. When this function is called, based on the value of the fieldNameKey parameter, it either
returns custom column names of the ErrorQ table or NULL. If NULL value is returned, then the default
column field name is used.
Syntax
char* HistHookGetErrorQFieldName(short fieldNameKey)
Parameters:
fieldNameKey
o Type: Short Integer
o Description: Contains the number of the field names of the ErrorQ table. The default values of
fieldNameKey parameter are 1, 2, and 3: whic h represent the Message, Retry Count, and E rrorID
columns of the ErrorQ table.
Return Type: char*
This function returns the field names from the ErrorQ table of the BatchHistory database. The returned
string must remain allocated (that is, it must return a static buffer).
C HAPTER 12
Reporting System
The reporting system enables you to configure, schedule, view, and print reports relating to the batch
history that is stored on the Batch Management History Server. SQL Server Reporting Services (SSRS)
acts as a portal for Batch Management reports.
For details about the software that you need to use the reporting system, see the Batch Management
Installation Guide.
In This Chapter
Reporting System Architecture .................................................................................................... 426
Reporting System Components ................................................................................................... 426
Batch Management Reports Administration Client Application ....................................................... 430
Batch Management Reports Client Application ............................................................................. 447
Custom Reports.......................................................................................................................... 452
History Queue
The History Queue is a first-in-first-out (FIFO) queue which is located on the Batch Management History
Server that is responsible for trans ferring all historical data from the Batch Manager on the Batch
Management Server to the Batch History databas e. The History Queue is also responsible for notifying
the report queue of End-of-Batch and End-of-Phas e events which trigger reports.
History Queue Reader
The History Queue Reader is a background processing task (service) which runs on the Batch
Management History Server and is responsible for reading historical data and report requests from the
history queue, storing the data, and queuing report jobs to the SQL Server database.
Batch Management Reports
When you install the reporting components on an SSRS plat form, they enable you to configure,
schedule, and view reports. You can define schedules for the reports or interactively request a report on
an as-needed basis.
Note: If you upgrade to the latest version of Batch Management from any previous versions, the Reports
folder name is updated from "InBatch Reports" to "Batch Management Reports".
Report Queue
The Report Queue is a First-In-First-Out (FIFO) queue located on the Batch Management History Server
that handles all requests for reporting activity. The queue also contains all parameter data nec essary for
the processing of the report.
Report Queue Reader
The Report Queue Reader is a background processing task (service) that coordinates the generation of
reports as directed from the report queue.
Batch Management Reports Administration Client
The report administration client can be accessed from any support ed web browser. However, a shortcut
menu is also created on the Reporting Content plat form.
Based on your Batch Management Server permissions for "AdminWeb", you can configure and schedule
reports. You can also run reports on demand using the SQL Server Reporting Services.
Batch Management Reports Display Client
The report display client can be accessed from any supported web browser. However, a shortcut menu is
also created on the Reporting Content platform. Additionally, the BatchReport icon in EnvDspl can be
used to bring up this client.
Based on your Batch Management Server permissions for "ReportWeb", you can view executed reports.
You can also run reports on demand using the SQL Server Reporting Services.
Report Templates
The following report templates are provided for you to use as a basis for creating your own customized
reports.
These report templates are int ended only to be used as examples for the development of custom reports.
These templates are stored on the computer where you installed the reporting software in the following
folder:
C:\Program Files\Wonderware\Batch Management\Reporting Services
A summary of each template is provided in the following table.
Document View E vents Provides a listing of the Documentation Review events for a
recipe.
Material Input Changes Provides a summary of the changes made by operat ors to the
original formula inputs quantities for a batch.
Material Output Tot als Totals all materials produced for a batch.
Phase Instructions Provides a summary of all recipe phase instructions for a batch.
Process Log1 Provides a summary of all proc ess log values for a batch.
Process Variables Provides a summary of all proc ess variable target and actual
values for a batch.
Security Listing Provides a summary report of all security related activity for a
batch.
Note: InBatch 8.1 and later does not support expression triggered reports. If you were using expression
triggered reports in a previous version, they are converted when you upgrade the databases and appear
in the list of configured reports on the Configuration web page. The report names exist in the ReportDef
table in batch history. However, these reports are not generated.
Batch Analog Alarms Provides a listing of analog alarms issued for a batch. Alarm
comments that were entered for an analog alarm with the Alarm
Comment application are also included in the report.
Batch Boolean Alarms Provides a listing of Boolean alarms issued for a batch. Alarm
comments that were entered for a Boolean alarm with the Alarm
Comment application are also included in the report.
Operator Action Journal Provides a summary of all operator actions during a batch.
Sequence Block Alarms Provides a listing of sequence block messages issued for a
batch. Comments that were ent ered for each sequence with the
Alarm Comment application are also included in the report.
Configuring Reports
You can add, view, edit, and delete report configurations to the reporting system.
You must have administrative rights to be able to access this capability.
To access the report configuration menu
1. Open the Batch Management Reports Admini stration page using the Batch Management
Reports Administration shortcut.
Note: To us e this option, you must modify the BatchManagement_ReportQueReader service logon to
include the account that was used to log on to the Reporting Content server.
6. If you are outputting the report to a printer, select a printer name from the Printer box. It is important
that you do not select a printer that will require user input. For example, the XPS printer may want to
bring up a file dialog. This will caus e ReportQueueReader to hang.
7. If you want the report to be saved to a file, select the Output to File check box.
8. If you are outputting the report to a file, type the complete path information in the Output Path box.
Important: The folder for the file must already exist and be shared with full permissions. If you do not
share the folder, the reports are not saved to the specified location.
9. If you are outputting the report to a file, select the file type from the Output Type list.
10. Click Add Report.
1. Open the Batch Management Reports Admini stration page, and then click Configuration.
The Configured Report form appears.
2. Click the Delete icon corresponding to the configured report that you want to delete.
The list shows available intervals at which the report is to be produced. The type that you select
determines the rest of the selections that appear on the form.
If you select the "End of Batch" schedule type for a Batch Journal report, you must specify the
"BatchJournalEOB" report template, instead of the normal "BatchJournal" template. The
"BatchJournalEOB" template is optimized for End of Batch reports. For ot her schedule types, use the
BatchJournal template.
The BatchJournal report template is meant to be used for int eractive access. The
"BatchJournalEOB" report template is meant to be used with E nd of Batch report triggers.
6. In the De scription box, optionally enter text that describes the report.
7. Click Save Report Data.
Based on the Schedule Type that you selected, the appropriate report form appears.
If you do not slide the Options setting to Enabled, the report does not run as specified by the
scheduled settings.
3. Select a report type from the Report Selection list.
The list contains the report configurations that you have defined using the Report Configuration
page.
4. Select the One Time Only report from the Schedule Type list.
The list shows available intervals at which the report is to be produced. The type that you select
determines the rest of the selections that appear on the form.
5. In the De scription box, optionally type text that describes the report.
6. The Report Duration area enables you to designate the amount of batch data that you want to
include by specifying a period of elapsed time.
If you select Preset Duration, you can select a period of elapsed time from the list.
If you select Custom Duration, you can type a period of elapsed time in the Minute s box.
7. In the Run Date/Time boxes, type the date and the time that you want the report to run.
8. Click Save Report Data.
The list shows available intervals at which the report is to be produced. The type that you select
determines the rest of the selections that appear on the form.
5. In the De scription box, optionally enter text that describes the report.
6. The Report Duration area enables you to designate the amount of batch data that you want to
include by specifying a period of elapsed time.
o If you select Preset Duration, you can select a period of elapsed time from the list.
o If you select Custom Duration, you can type a period of elapsed time in the Minute s box.
7. In the Occurs box, type the frequency of occurrence, in days.
8. In the Daily Frequency area, you can select options for the report to run once or at intervals during
the day:
o If you select Occurs Once, enter the time in the box.
o If you select Occurs Every, enter an interval number in the box, select an interval type, and
enter start and end times.
9. In the Duration area:
a. Type the Start Date in the box.
b. Select either No End Date if you want the report to run on a recurring basis or End Date. If you
select End Date, type an ending date in the box.
10. Click Save Report Data.
The list contains the report configurations that you have defined using the Report Configuration
page.
4. Select the Weekly report from the Schedule Type list.
The list shows available intervals at which the report is to be produced. The type that you selec t
determines the rest of the selections that appear on the form.
5. In the De scription box, optionally type text that describes the report.
6. The Report Duration area enables you to designate the amount of batch data that you want to
include by specifying a period of elapsed time.
o If you select Preset Duration, you can select a period of elapsed time from the list.
o If you select Custom Duration, you can type a period of elapsed time in the Minute s box.
7. In the Occurs area:
a. Type the frequency of occurrence, in weeks.
b. Select the day on which the report is to be run.
8. In the Daily Frequency area, you can select options for the report to run once or at intervals during
the day:
o If you select Occurs Once, enter the time in the box.
o If you select Occurs Every, enter an interval number in the box, select an interval type, and
enter start and end times.
9. In the Duration area:
a. Type the Start Date in the box.
b. Select either No End Date if you want the report to run on a recurring basis or End Date. If you
select End Date, type an ending date in the box.
10. Click Save Report Data.
Here is an example.
3. Click the Edit icon of the report schedule that you want to edit.
5. Click Save Report Data. The content of the page varies depending on the type of schedule that you
have defined.
To delete a scheduled report
1. Open the Batch Management Reports Admini stration page.
2. Click Schedule.
3. In the Schedule New Report list, locate the Name of the schedule that you want to delete, and then
click the Delete icon.
The report schedule is deleted from the Schedule New Report list.
All the reports that have been previously defined appear in the Reports list.
To view a report
Note: You must have appropriate permissions to be able to view reports.
1. Click the View button associated with the report that you want to view.
The View Report page appears.
All instances for the selected report that have been printed to a disk file are listed.
2. Identify the instance (as det ermined by date and time) and click the corresponding View button.
The report appears.
2. Click Execute Reports. The SSRS Batch Management Reports page opens and displays a list of
available interactive report types.
3. Select an item from the list. The following figure shows the form for the Batches By Material report.
4. Complete the form. For details, see "Completing the Interactive Report Forms".
5. Click View Report.
NOTE: You can add new timezones in the ReportingTimeZones table. You need t o edit the Batch History
database directly. Information to edit the database is covered in a TechNote document (Adding Time
Zone for InBatch 11.5 Reporting).
o Acrobat (P DF)
o Web archive (HTML)
o Excel
Custom Reports
You can add new custom reports in the latest version of B atch Management.
Creating the Custom Report
To create localized custom reports:
1. Create an SSRS report using Visual Studio. You can also start with an existing Batch Management
report template file (RDL).
2. Add your desired report format and localized captions. You have to create y our own language
specific report manually since the application does not translate captions or data internally.
For more information on upgrading pre -11.5 custom reports, refer to the Batch Management Custom
Report Update Guide.
Adding the Custom Report
To add the custom report:
1. Browse to the C:\inetpub\wwwroot\ReportWeb\ReportConfig location, and open the
RptService sConfig.xml file.
2. Add the newly created c ustom report (.rdl) name and description in the RptService sConfig.Xml file.
NOTE: You may get an "Access Denied" error message while changing the file directly. To avoid it, you
can copy the RptServicesConfig.xml file in some other folder and edit the file. Replace updated file to
C:\inetpub\wwwroot\ReportWeb\ReportConfig location.
C HAPTER 13
Process Logging
The Proc ess Logging system captures dat a at periodic time intervals or based on the occurrence of
events, and then logs the data to a printer or to the history dat abase for storage.
In This Chapter
Overview.................................................................................................................................... 453
Process Log Groups ................................................................................................................... 453
Using the Process Log Manager .................................................................................................. 461
Overview
You can create Process Log configurations and store them in the Process Log database. A Process Log
configuration consists of one or more groups of t ags, with each group having its own logging criteria. The
criteria control how the groups of tags and their respective values are sampled and logged at run time by
the Process Log Manager.
The Process Logger is designed t o handle a low volume of variables changing at a relatively low rate. For
data storage capabilities that can handle a large volume of dat a and high-speed acquisition rat es, see
the Historian doc ument ation for an optimal solution.
Log Trigger
The Log Trigger defines the conditions that initiate logging for the group. The Log Trigger options are
Always and On Event.
If you select Always, logging begins as soon as the run-time Process Log Manager starts.
If you select On Event, a True or False Boolean expression is evaluated. If the r esult of the
expression is True, logging occurs.
You define expressions using the Expression Editor. Use the Expression Editor to create a True or False
Boolean expression using any of the tags in the process model. For example, a Boolean expression
could be a discrete tag. When the tag is True (value of 1), logging for the group begins. When the tag is
False (value of 0), logging stops.
For more information on building expressions, see "Expression Editor".
Log Interval
The Log Interval defines the frequency of sampling for each tag in the group. The interval options are On
Event, 2 seconds, 5 seconds, 10 seconds, 30 seconds, 1 minute, 5 minutes, 15 minute s, 30
minutes, 1 hour, 2 hours, 4 hours, and 24 hours. If you select On Event, you must define a True or
False Boolean expression. Use the Expression Editor to create a True or False Boolean expression
using any tag in the process model. Each time the expression is true, the data values for each of the tags
in the group are logged.
For more information on building expressions, see "Expression Editor.".
Configuring a Log Trigger and a Log Interval
You can configure a Log Trigger and a Log Interval for a process group. Logging takes place only when
the trigger and interval settings are satisfied.
To select a log trigger and a log interval
1. Open the Proce ss Logger Group Editor dialog box.
2. In the Log Trigger list, click On Event.
3. Click Expression to open the Expression Edi tor.
4. Enter an expression. In this example, the Boolean expression,
{ReactorA...BATS Z.Value}> 1000, initiates logging when the batch size in ReactorA is greater than
1000.
Selecting Tags
Tags that are logged as part of the group are assigned from the Tag Selection dialog box, which is
accessed from the Proce ss Logger Group Editor. You can select as many tags as you want from all
analog and discrete tags in the process model database.
To select tags
1. Open the Proce ss Logger Group Editor dialog box.
2. Click Select Tags.
The tags that you selected appear in the Tags area of the Proce ss Logger Group Edi tor dialog
box.
5. Click Close.
2. On the File menu, click Print. The Print dialog box appears.
WARNI NG! If you stop the Process Log Manager while it is logging data at a fast interval, or if there is a
batch activity that results in data logging, dat a loss can result. We strongly recommend t hat you only stop
Process Log Manager when logging activity is minimal.
For example, the ReactorA -Heat-Temp-ACT tag is logged only if there is a batch active in the ReactorA
unit.
If a batch is not active within the unit or connection, the value is not logged.
C HAPTER 14
Security System
In This Chapter
About Security System ................................................................................................................ 463
Overview.................................................................................................................................... 463
Security Modes ........................................................................................................................... 464
Using the Security Editor ............................................................................................................. 465
Working with Security Roles ........................................................................................................ 467
Working with Operator Station Security ........................................................................................ 468
Working with User or Group Accounts .......................................................................................... 469
Assigning Security to Applications or Functions ............................................................................ 477
Validating Your Sec urity Configuration ......................................................................................... 481
Using Run-Time Security............................................................................................................. 482
Overview
All applications use the Security API when security clearance is required. The API provides three modes
of operation: Standard, OS, or ArchestrA. When needed, the application prompts the operators for their
ID and password.
In OS mode, a domain or local machine name is also required. The information is compiled into a security
request message and sent to either the Windows Security API or the Security Manager depending on
which mode is active. In OS mode, a temporary logon using the passed User ID results in either pass or
fail access. If access is permitted, a list of all groups that contain the User ID is ret urned. This information
is then sent to the Security Manager along with the application or function name, the operator station
from where the request was made, and if applicable, the recipe identification code. The Sec urity
Manager compares the security request with the information defined in the security databas e and returns
an OK or Not OK result to the application making the request. The application acts on the result
accordingly.
In Standard mode, the Windows security check is not performed. Instead, the information is sent directly
to the Security Manager.
In ArchestrA mode, Batch Management authenticates users against the ArchestrA security system. For
details, see the Working with Security chapter in the Application Server User’s Guide.
Important: On I/A Series systems, if an I/A secured configu ration is supported, then Batch Management
will support both standard and operating system security modes. For an I/A unsecured configuration,
only standard security mode will be supported. However, for I/A Series with InFusion, all Batch
Management security modes are supported. For more information see Securit y Modes.
Security Modes
You can select from the following three modes of security:
Standard: The default user is ‘System’ user. User is presented with an option to set a new password
while launching the Sec urity Editor.
Operating System: The default user accounts are Local machine ‘Administrat or’ and 'S ervice
Admin Access Account'.
Arche strA: The default user accounts are ‘DefaultUser’ and ‘Administrator’. These are ArchestrA
User accounts. For more information on these accounts, see the ArchestrA Documentation.
For Operating System mode, a domain or local computer name is also required. The information is
compiled int o a security request message and sent to either the Windows Security API or the Securit y
Manager depending on which mode is active. In Operating System mode, a temporary logon using the
passed User ID results in either pass or fail access. If access is permitted, a list of all groups that contain
the User ID is returned. This information is then sent to the Security Manager along wit h the application
name (and function name if applicable), the operator station from where the request was made, and if
applicable, the recipe identification code. The Security Manager compares the security request with the
information defined in the security databas e and returns either an OK or not OK result to the application
making the request. The application acts on the result accordingly.
For the Batch Management Security dialog box to allow various users to log in, the user account that is
logged on to the Windows desktop needs to be assigned to the Impersonate a client after
authentication user right in the local security policy.
The following dialog box appears if you are required to set your own password.
a. In the New Password box, type a new password. Passwords must be between 6 and 32
characters in length.
b. In the Verify Pa ssword box, type the same new password again.
c. Click OK.
The Security Editor dialog box appears.
Password Timeout (Days) Specifies the time period, in days, that a password is valid. Any
passwords older than the set period automatically expire. After a
timeout, the user is required to enter their old User ID and
Password before security clearance is granted. The user is then
required to change their password when security clearanc e is
requested.
Password Reuse (Days) Specifies the time period, in days, that must pass before a
password can be re-used. This feature prevents operators from
repeatedly using the same password.
Note: When a security role is deleted, all users that are assigned that level have their security role
assignment deleted. If a user does not have a security role, the user cannot obt ain security clearance.
3. In the Name box, type the name of an operator station (16 characters maximum).
4. In the De scription box, optionally type a description (120 characters maximum).
5. Click Add or Change as appropriate.
To delete an operator station
1. Select the operator station.
2. Click Delete.
Note: Group accounts are available only if you are using Operating System security or if you have
configured ArchestrA security to be OS group based rather than OS user based.
3. In the User ID box, type an appropriate ID for the new user. The maximum number of characters is
241. You can use any combination of keyboard characters.
4. In the User Name box, type the name of the new user. You can use spaces between names. The
maximum number of characters is 241.
5. To assign roles to the user, click Roles.
The Assign Roles dialog box opens.
a. Select one or more roles for the user.
b. Click OK.
6. Click Add.
7. Click Password.
For details about assigning passwords, see Assigning a P assword to a User.
8. To optionally assign recipes to a user, click Recipes.
For details about assigning recipe-level security to a user, see Assigning Recipe Access to a User or
a Group.
9. To optionally assign operator stations to a user, click Op Stations.
For det ails about assigning operator stations, see Assigning Operator Station Access to a User or a
Group.
10. Click Change, and then click Close.
To edit user security information
1. Open the User Accounts Edi tor.
2. Select the user whose information you want to edit.
3. Click Roles, Passwords, Recipe s, or Op Stations to edit information for those security categories.
4. Click Change, then click Close.
To delete a user
1. Open the User Accounts Edi tor.
2. Select a user.
3. Click Delete.
4. When a message appears, click Yes.
5. Click Close.
3. Click Browse to select a user or domain. See Browsing to Locate a User or a Group in Operating
System Mode.
After you have made your choice in the Brow se dialog box, the User/Group ID and User/Group
Name boxes are populat ed by the selection.
The User/Group Name is in the domain\username format. If you are adding local users, the domain
is the local machine name.
4. To optionally assign roles to the user or group, click Roles. See Work ing with Security Roles.
5. Click Add.
Note: Password options are not applicable to Operating System security mode. Therefore, Pa ssword
Last Changed appears as Operating System Controlle d, and the Password button is unavailable.
6. Click Recipes to optionally assign recipes to a user or group. See Browsing to Locate a Us er or a
Group in Operating S ystem Mode.
7. Click Op Stations to optionally assign specific operator stations to users or groups. See Work ing
with Operator Station Security.
8. Click Change.
3. In the Domain/Computer to Search box, type the name of the domain or computer that you want to
search.
4. Select Users, Groups, or both to determine which appears in the query list response.
5. Click Query.
o If you selected Users, all available users appear in the list with a blue icon beside the user name.
o If you selected Groups, all available groups appear in the list with a red icon beside the group
name.
o If you selected both Users and Groups, users are listed first, followed by groups.
Note: To be able to browse the Galaxy name space, the IDE must be installed on the computer you are
browsing from.
Your Batch Management implementation must also meet the following prerequisites:
You must define your Galaxy access name in the Tag Linker. Otherwise, you see a security error
message.
For details, see Defining Access Names.
You must deploy a platform to the Batch Management Server node. Otherwise, the following error
message appears on the ArchestrA System Management Console (SMC):
Note: ArchestrA security mode cannot take effect unless you deploy a plat form. For details about
working with ArchestrA security, see the "Working wit h Security" chapter in the Application Server User’s
Guide.
You must perform an Exit and Shutdown operation on the Environment Di splay dialog box after
you change security modes.
To add or edit a user or group account
1. Open the Security Editor dialog box.
2. On the Edit menu, click User/Group Accounts.
The User/Group Accounts Editor dialog box appears.
3. Click Browse to choose a user or group. See Browsing to Locate a User or a Group in Arc hestrA
Mode.
After you have made your choice in the Brow se dialog box, the names appear in the User/Group ID
and User/Group Name list.
The User/Group Name is in the domain\username format. If you are adding local users, the domain
is the local machine name.
4. To optionally assign roles to the user or group, click Roles. See Work ing with Security Roles.
5. Click Add.
Note: Password options are not applicable to Operating System security mode. Password Last
Changed appears as Operating System Cont rolled, and the Password button is unavailable.
6. Click Recipes to optionally assign recipes to a user or group. See Assigning Recipe Access to a
User or a Group.
7. Click Op Stations to optionally assign specific operator stations to users or groups. See Work ing
with Operator Station Security.
8. Click Change.
Note: Any changes made to user information in ArchestrA Galaxy security are not automatically
propagated to the Batch Management Archestra security model. For changes to take effect, you must
use the Batch Management Security Editor to browse for the user and select the entry again.
You can assign a password to a user if you have selected Standard security mode. Because the
combination of user ID and password is always unique in the system, duplicate passwords are permitted.
Passwords expire when the password timeout period defined fo r the system is reached. User passwords
are independently maintained.
All passwords in the system are stored and transmitted in an encrypt ed format.
2. In the New Password box, enter a new password. A password must contain bet ween 6 and 32
characters.
3. In the Verify Pa ssword box, enter the same new password. If you enter an invalid password or the
new and verified passwords are not the same, an error message appears.
4. Click Change.
Note: To properly enable security, you must enable the check box in the Applications-Functions Editor
and define at least one level of security access.
For more information about enabling AdminWeb and ReportWeb application security, see Chapter 27,
"System Administration.".
WARNI NG! There is one exception to defining application security. You cannot enable security for a
Batch Client application. This application is the basis for all Batch and Batch Scheduler security.
Security may be configured for any or all of the functions defined for a Batch Client, but not for the
application itself. If security is defined for the Batch Client application, none of its functions can pass a
security request.
2. Select an application.
3. Select the Security Enabled check box.
4. Click Acce ss. All security roles that have been defined using the Security Role s Edi tor are shown
in the Assign Security Roles dialog box.
5. Select one or more security roles and click OK.
6. Click Change.
Note: When you design a new application, make sure that you use the same application ID when you
make security clearance requests through the Security API.
Note: Security is not enabled unless you have selected the appropriate check box and have defined one
or more Done By security roles. Also, Checked By security is not enabled unl ess you have als o defined
Done By security. If you remove the Done By security roles and assign Checked By security roles, an
error message notifies you that Done By levels cannot be removed. You can enable security for
functions even if security is not enabled for the parent application.
Note: When you design a new function, make sure to use the same application ID when you make
security clearanc e requests through the Security API.
3. In the Applications area, select the application that you have developed.
4. In the Functions area, do the following:
a. In the ID box, type a unique identific ation number bet ween 1 and 999.
b. In the Name box, type a unique name (64 characters maximum).
c. In the De scription box, optionally type a description (120 characters maximum).
d. To enable the need for security at function startup, select the Security Enabled check box.
e. To assign security roles to the function, click Done By and Checked By. See Enabling Function
Security.
f. Click Add.
Changing Passwords
You can change user passwords if you have appropriate rights.
You can change passwords only in Standard and Operating System security modes.
To install the Change Password utility
1. On the Environment Di splay dialog box, click Environment.
The Environment Editor dialog box appears.
2. Click Add.
The Add Applications dialog box appears.
This example shows a dialog box for accessing the Recipe Editor with Operating System mode security
enabled.
Employees must enter their User ID and Password. If they are permitted to access the application, the
application starts when the user clicks OK.
If s omeone is not permitted to access the application, an error message appears. It notifies the employee
that permission has been denied. The error message also provides some information as to why access
was denied.
If the employee’s password has not yet been defined or the password has expired, the New Password
dialog box appears. The employee must enter the current User ID and Password, and then enter and
verify a new password.
If the Operating System security mode is configured, the Security Clearance Request dialog box
appears as follows.
If the ArchestrA security mode is configured, the Security Clearance Request dialog box appears
as follows.
Note: From the figure shown, you can see that the OK button is available only when the user provides
the required credentials and the Done By or Check By Comments as well if the Done By/Check By
Comments are enabled during the System Parameter configuration. For more information, refer to
Viewing and Modif ying S ystem Parameters.
If an employee is not permitted to access the function, an error message appears. It notifies the
employee that permission has been denied. The error message also provides some information as to
why access was denied.
If an employee’s password has not yet been defined or the password has expired, the employee must
enter a User ID and Password as explained earlier in this section.
Note: When a user-defined application or function is run, the code for the application or function must
transmit the required security request to the Security Manager through the Security API. As with the
default applications and function, employees must enter their ID number and password. If an employee
is permitted to use the application or function, it becomes available. If the employee is not permitted to
access the application or function, an error message notifies the pers on that permission has been
denied.
C HAPTER 15
Import Export Utility
The Import Export Utility supports the import and export of the process model from/to XML. By default,
this utility is not available in the Environment Display dialog box, but you can add it using the
Environment Editor.
In This Chapter
Overview.................................................................................................................................... 487
Types of Export and Import ......................................................................................................... 487
Using the Import Export Utility...................................................................................................... 488
Overview
The Batch Management Import Export Utility can be used to export a portion of a model from one model
database and then import it into a new model database. This utility is useful when you have a corporate
master database and want to use it to create new plant level model dat abas es, which are a subset of the
master.
The Batch Management Import Export Utility can also be used to copy phases from one process/trans fer
class to other process/trans fer classes, either in the same model or a different model.
During import, Enum Set uniqueness is checked on the destination system. If the destination system
requires unique enum values and the source system does not, an error is displayed. Enum Sets or
Values may be skipped with a warning message if any issue is encountered.
The "default" destination Equipment Status is not changed during import, unless it is named "Default". If
it is named "Default", then the source default Equipment Status will become the default Equipment
Status in the destination model.
On the Environment Di splay dialog box, double-click the Import Export Utility icon. The
Batch Management Model Import/Export Utility dialog box appears.
Note: If security is set up for Model E dit, then you must specify the username and password for Export in
the Batch Management Credentials dialog box. If you are using operating system security, the format
of the username is domain\user.
4. In the Export Type list, select any of the following ex port types:
o Unit
o Process Phase
o Trans fer Phase
5. In the Export to section, select any of the following options:
o Memory: Select Memory to export the process model to the system memory.
o File: This is the default option for export. Specify the file det ails to export the process model to a
specified file or click Browse to specify the file location.
6. Click Export. The result box is updated to show the status.
3. In the Import To section, type the batch host in the text box, and then click Connect.
Note: If security is set up for Model Edit, then you must specify the username and password for Im port in
the Batch Management Credentials dialog box. If you are using operating system security, the format
of the username is domain\user.
4. In the Import From section, based on the export type any of the following options is automatically
selected:
o Memory: Select the Memory option if the Export To option is selected as memory during the
export of the process model. By default, the Memory option is not available for selection.
o File: By default, the File option is selected. Click Browse to specify the file for the import if a
previously exported file is available.
The Import Type is displayed depending on the file selection or what is loaded into memory. If the
Import Type is a Process or Trans fer Phase type, then you will need to pick the destination Process
or Transfer to be the parent for the imported phase. Unit Import types do not require any destination
selection.
5. Click Import. The result box is updated to show the status. Optionally, you can select the Preview
Mode option to preview the changes that will happen on import. The preview will not import any data
and there will not be any changes to the dat abase.
Note: The default transaction timeout of the Batch Management Middleware that supports the Model
Import functionality is five minutes. If you import a process model that takes more than five minutes, the
import will fail and roll back the changes. You can increase the timeout by editing the XML file in the
Batch Management\Middleware directory. It is observed that some larger imports do tak e slightly over 10
minutes. Slow networks can also affect the time for the import. The element to set is:
TRANSA CTIONTIMEOUT. You must restart the Production Middleware Host after making this change.
C HAPTER 16
Expression Editor
Use the Expression Editor within the Recipe Editor and Process Log Editor to construct expressions. An
expression consists of predefined functions. For each applic ation, the expression normally ret urns a
logical true or false result.
Enter ex pressions when you define recipes or ot her configurations. Expressions are stored as part of the
configuration. Each application uses the Expression Editor for different reasons :
The Recipe Editor uses the Expression Editor to construct true or false Boolean expressions for
transition logic and loop-back logic.
The Proc ess Log Editor uses the Expression Editor for defining a Log Trigger and a Log Int erval.
In all cases, the Expression Editor functionality is the same.
In This Chapter
Using the Expression Editor ........................................................................................................ 493
Expression Elements .................................................................................................................. 496
Expression Building Guidelines .................................................................................................... 499
Expression Examples.................................................................................................................. 499
Defining an Expression
Define expressions in the edit area of the Expression Editor. The edit area functions much like a word
processor. All entries are aut omatically insert ed to the right of the c ursor. Therefore, each time you select
a numeric key, operand, or delimiter key, the character is inserted. You can also use your computer
keyboard to enter an ex pression.
After you complete the expression, click OK or Apply to save the expression to the target object. If the
expression is not valid, an error message appears to indic ate the nat ure of the error. The cursor is
positioned near or immediately aft er the error.
Entering Functions
You can enter functions by typing them in or you can automatically insert them into the expression using
the selection dialog boxes.
To insert a function
1. Click the edit area at the desired position.
2. Click Functions.
3. Select the desired function to insert it, with the appropriate delimiters, into the edit area.
Expression Elements
The following sections describe the elements available for constructing expressions
Operators
An operator is a symbol used to manipulat e the value of one or more operands. The following table
describes the valid operators from highest precedence to lowest.
Divide / Divides the value of the previous operand by the next operand.
Modulus % Remainder of the division between the previous operand and the
next operand.
Less Than < True if the previous operand is less than next operand; otherwise, it
is False.
Less Than or <= True if the previous operand is less than or equal to next operand;
Equal To otherwise, it is False.
Greater Than > True if the previous operand is greater than the next operand;
otherwise, it is False.
Greater Than or >= True if the previous operand is greater than or equal to the next
Equal To operand; otherwise, it is False.
Not Equal To <> True if the previous operand is not equal to the next operand;
otherwise, it is False.
And & True if the previous operand and the next operand are True;
otherwise, it is False.
Assignment := No usable return value. Writes the next operand to the previous
operand.
Operands
Operands can be of type Boolean (True or False; also referred to as discrete), numeric (any positive or
negative number) and string (alpha-numeric string of any length). The following table describes the valid
operands.
Functions
All of the following functions are available in the Recipe Editor. However, only the Not function is
available in the Proc ess Log Editor applications.
Ask Ask ("Continue?") Used only in the Recipe Editor to ask yes or no
type questions to operators.
AskDoneBy AskDoneBy ("Continue?" ) Used only in the Recipe Editor to ask yes or no
type questions that require confirmation that the
question has been answered.
AskCheckBy AskCheckBy ("Continue?") Used only in the Recipe Editor to ask yes or no
type questions that require confirmation and
verification that the question has been
answered.
SendCustomE SendCustomE vent("E ventName", Used only in Recipe Editor and is only
vent "UserData") meaningful if Batch E vents are enabled. For
more information on Batch E vents, see Batch
Management Events on page 537
Allows a recipe to send a custom event that has
a user-specified name (E ventName argument )
and an additional user-defined value (UserDat a
argument). Both arguments are strings. If other
data types are passed, they are converted to a
string.
Delimiters
The following five delimiters are used to identify operands and to build ex pressions within expressions
(recursive expressions).
WARNI NG! Tag assignment can be constructed in the Expression Editor. However, use caution in
defining these expressions. Only tags with an access of Read/Write can be used in assignment
expressions. If you create assignment expressions using Read Only tags, run -time errors are generated.
Expression Examples
The following tables show expression examples for tags and functions.
Tag Examples
The following tags are used in the examples that follow.
Tag2 Numeric 50
Tag4 Boolean 0
Tag5 Boolean 1
The following examples illustrate the types of expressions that you can creat e, as well as expressions
that are invalid.
{Tag1}+ {Tag2} Invalid Tags cannot be directly modified. The result must
be Boolean.
{Tag1}|{Tag5} Invalid Tag1 has invalid data type. Both tags must be
Boolean.
{Tag6}|{Tag4} Invalid. Tag6 has invalid data type. Both tags must be
Boolean.
Function Examples
The following examples illustrate the types of expressions that you can creat e and expressions that are
invalid.
Ask("Ready?" ) Valid Operator is asked a question. The Ask function does not
evaluate True or False until the question is answered.
WaitSec(10) Valid 10 second delay. The WaitSec function does not evaluate to
True until the 10 seconds has expired. (Note: It has No state
True or False before the 10 seconds are up).
Ask("OK?") | Valid This is a valid expression but it may not yield the expected
WaitSec(10) results. Since both functions must evaluat e for the expression
to evaluate, the expression acts more like an And than an Or.
Ask("OK?") & Valid Though not obvious, this expression has exactly the same
WaitSec(10) result as the one above.
SendCustomE vent("L Valid This example shows how to use the SendCustomE vent
ogMessage", function to send messages to the ArchestrA Logger. For this
"Executing Branch2") to work, an event client must subscribe to these messages
and log them to the ArchestrA Logger.
C HAPTER 17
Phase Logic Development and Testing
The Batch Management System controls and monitors the processing of batches through equipment
phases. A phase is an independent processing action t hat can reside in the server or client plat form, a
PLC, a DCS, or other control system used to evaluate logic and interact with manufacturing equipment.
E ven though phases can reside in many different locations, the interface between the Batch
Management System and the phase is the same and must follow certain guidelines.
Read this section to learn how to design and test phase logic blocks. A phase block testing tool is
provided with Batch Management.
This information is written in a very generic manner to address the overall use of phase logic and is
intended to be used only as a guide. You can apply the concepts described in this section regardless of
the control system in which the phases are being written.
For more information on implementing unit and ph ase logic in various control systems, refer to "Tag
Linker".
In This Chapter
Designing Phase Blocks.............................................................................................................. 503
Using the Phase Logic Testing Tool ............................................................................................. 520
These items are transmitted bet ween the control system and the batch control system through tags. The
phase block acts on this information to control the process equipment.
The diagram shows the components in a distinct order. We recommend this order for sequential
processing control systems. For control systems that are capable of parallel processing, the flow of
information can be different.
Phase Control
This section of the phase block manipulates the phase control bits needed to operate the phase logic.
The Batch Management System enables the appropriate control word within the control system
associated with a particular phase block. The phase logic must be written to interpret this word and
resolve the individual control bits of the word to the start, restart, hold, abort, and reset commands.
We recommend that the phase logic reset the cont rol word so that the next requested function can be
recognized. Thus, the control bits are essentially one time only commands.
You must include this section for every Automatic and Semi -Automatic phase block.
Control Buttons
The section of the phase block that corresponds to the control buttons is constructed similarly to the
phase control section. The B atch Management System enables any defined control buttons in the control
system. The control system interprets the control button request and performs the appropriate function.
You can use this section in Automatic, Semi-Automatic, and Manual phases; however, it is optional and
depends on the function of the phas e.
Interlocks
The int erlock section of t he phase block defines only the specific interlock conditions associated with that
phase block. Each interlock condition is assigned to a discrete memory point and to a tag in the batch
control system.
This section appears only if specific interlocks are associated with the phase block.
Alarms
The alarm section handles all error conditions specifically associated with the phase block. All the alarms
appropriate to the phase are placed in parallel with each other to engage a single discrete point that is
used through the remainder of the phase logic to affect the operation of the block.
This section appears only if alarms are associated with the phas e block.
Phase Status
The phase status section includes the logic necessary to place the phas e block into any one of the
following modes: Ready, Run, Held, Done, Interlocked, and Aborted. Only one of these modes can be
enabled at any time. When all of the status cont rol logic has been evaluated, the results are transferred to
the phase block status word that is monitored by the Batch Management System.
You must include this section for every Automatic and Semi -Automatic phase block.
Functional Logic
The remainder of the phase block writes the logic that performs the required process or transfer action.
This section varies in size and complexity depending on the phas e block operation and contains the
computational, comparison, and timing functions required by the phase block.
This section also includes code that is associated with any formula parameters that may be assigned to
the phase block, as well as logic necessary to energize process outputs.
Complete Program
You can use a provided Batch Management template to structure the complete control system program.
As you can see in the following diagram, the complete program consists of multiple sections, depending
on the complexity of the system. Also, the control system code is structured in a manner similar to the
batch control system process model. The diagram shows the components in a distinct order. This order
is recommended for sequential processing control systems. For control systems that are capable of
parallel processing, the flow of information can be different.
Processe s
Each defined process in the process model has a corresponding process section in the control system
program. The code for this section is located between any trans fer classes defined in the model that use
this process class. Within each process section is the control logic for the units associated wit h the
process in the model.
Units
Within each process section of the c ontrol system program is the logic corresponding t o the units defined
for the process class in the process model. Within each of these units, the control system code exists for
all of the phases defined for the unit.
Transfers
Each defined transfer in the process model has a corresponding transf er section in the control system
program. This section is located just before the transfer’s destination process class section of the control
system program. Within each trans fer section are the connections associated with the transfer in the
model.
Connections
Within each transfer section of the control system program is the logic corresponding to the connections
defined for the transfer class in the process model. Within each of these connections, the control system
code exists for all of the phases defin ed for the connection.
Phase s
The control system code for the phase blocks assigned to each of the defined units and connections
appears after the appropriate unit or connection section of the program. The number of phase blocks
vary with the sophistication of the system.
Unit Control and Status Words
The code for the unit control and status words is typically kept together in one section of the program.
This code receives all of the relevant batch Hold, Restart, and Abort commands from the Batch Control
System and performs the requested action on eac h of the phases associated with this unit.
System Alarms
All the logic that generat es control system alarms appears in one section of the program. You can then
reference the specific alarms to affect the operation of a phase.
System Outputs
All the logic required to exercise the c ontrol system outputs is located in one section of the program. This
logic contains references from the phase logic necessary to manipulate the out puts. Also, any manual
devic e operation logic is present in this section.
Unit Control
The batch control system transmits its batch requests to the control system through a series of tags that
are mapped to the memory of the cont rol system. One group of thes e requests handles t he unit Hold,
Restart, and Abort.
When the batch control system needs to change the status of a recipe, it writes to a tag in the cont rol
system that corresponds to the particular unit control bit. Similar to the phase control bits, these
commands are typically packed into a word to maximize control system memory.
In the control system program, the unit control word can be monitored continuously or upon a change of
status. Each of the commands is read as a one -shot action, and only one request is transmitted at a time.
The particular control bits are used within each phase block associated with the particular unit, and the
phase operation responds accordingly.
Trans fer phases that use a unit placed on Hold act according to customer specifications. Usually , when
the unit is the source of the transfer, the phase is Hold, and when the unit is the destination of the
transfer, the phase continues to completion.
We recommend that the control system also contain unit status bits. These status bits are not monitored
by the Batch Management System, but they are very useful within the operation of the control system
program.
The batch control system provides an enhanc ed Unit Control option which consists of two Hold
propagation modes that you can use to propagate a phase Hold during batch processing.
Hold
The unit Hold command is enabled by the Batch Management System for all units that are alloc ated
when a batch hold command is run. The phase blocks associated with the unit respond according to the
user specification. When the unit Hold bit is enabled, none of the remaining unit control bits are set.
Restart
The unit Restart command is enabled by the Batch Management System for all units that are allocated
when a batch Restart command is run. The phase blocks associated with the unit respond according to
the user specification. When the unit Restart bit is enabled, none of the remaining unit control bits are set.
Abort
The unit Abort command is enabled by the Batch Management System for all units that are allocated
when a batch abort command is run. The phas e blocks associated with the unit respond according to the
user specification. When the unit Abort bit is enabled, none of the remaining unit control bits are set.
Ready
The Ready bit is an optional status value that can be generated and used within the control system to
keep track of the status of a particular unit. Generally, the Ready status bit is set when there is no
processing of any of the phase blocks associated with the unit and all the phases have been reset and
are ready for processing. When the Ready status control relay is enabled, none of the remaining unit
status bits should be set.
This status bit is used only within the control system program and is not monitored by the batch control
system.
Run
The Run bit is an optional status value that can be gene rated and used within the control system to
keep track of the status of a particular unit. Generally, the Run status bit is set when any of the phase
blocks associated with t he unit start and everything in the phase blocks is processing normally. When the
Run status control relay is enabled, none of the remaining unit status bits should be set.
This status bit is used only within the control system program and is not monitored by the batch control
system.
Held
The Held bit is an optional status value that can be generated and used within the control system to
keep track of the status of a particular unit. Generally, the Held status bit is enabled only after the unit
Hold bit has been received from the Batch Management System. When the Held status control relay is
enabled, none of the remaining unit status bits should be set.
This status bit is used only within the control system program and is not monitored by the batch control
system.
Aborted
The Aborted bit is an optional status value that can be generated and used within the control system to
keep track of the status of a particular unit. Generally, the A bort ed status bit is set only after t he unit Abort
bit has been received from Batch Management System. When the Aborted status control relay is
enabled, none of the remaining unit status bits should be set.
This status bit is used only within the control system program and is not monitored by the batch control
system.
Unit Status
The following figure shows the unit block interface between the Batch Management System and the
control system logic. Note that there is no Start control signal as there is for phases in the Phase Block
Cont rol State Diagram.
Before allocating a unit, the Batch Management System checks the unit status. If it is an acceptable
value, it allocates the unit.
On Batch Clients, when a batch (not a phase) Hold, Restart, or Abort action initiates, the Batch Manager
sends the corresponding unit control signal to all the units allocated for the corresponding batch. The
Batch Manager does not verify that these unit control signals are used.
Cont rol system logic sets the unit status, which is monitored by the Batch Manager for a satisfactory
status before allocating the particular unit. During batch processing, the Batch Manager sends batch
status information (Run, Held, and Aborting) to all of the unit block s associated with the batch.
Batch Manager generates unexpected status error messages during phase logic processing if the status
change is against the rules for phase logic. For example, if the phase status goes from Held to Ready.
These messages are not generated for the following scenarios:
A unit is not allocated, has an A vailable status, but has Run, Held, or Alarm state.
A unit state goes to Ready while phases for that unit are still active.
Caution: Use caution when y ou create unit control and state control logic to ensure that these improper
state transitions do not occur.
Hold Propagation
You can use two Hold propagation modes to propagate a phase Hold during batch processing. You can
enhance the Hold mode by using the Unit Control option because the Unit State is included in the unit
control logic. For more information on Hold propagation and the Unit Control option, see "Batch
Management System.".
Mode 1
The Batch Manager sets the unit Hold tags when an operator puts a batch in Hold. Control system logic
puts all its phases in Hold. In this mode, if a unit or phase goes to Held state, no action is taken by the
Batch Manager.
Mode 2
The Batch Manager monitors all phases and if any phase goes to Held state or if the operator puts the
batch in Held state, all other phases associated with the batch are issued a Hold command.
Phase Control
The batch control system transmits its phase requests to the control system through a series of tags that
are mapped to the memory of the cont rol system. One group of thes e requests is used to handle the
phase control commands.
The control bits available for each phas e are: Start, Hold, Restart, Abort, and Reset. Only the Start and
Reset bits are required. When the batch control system needs to change the status of a phase block, it
writes to a tag in the control system that corresponds to the particular phase control bit. These
commands are typically packed into a word to maximize control system memory. In the phase logic, the
phase control word can be monitored continuously or upon a change of status. Each of the commands is
read as a one-shot action, and only one request is transmitted at a time. The particular control bits are
used within the phase block, and the phase operation responds accordingly.
Start
The phase Start command is enabled by the Batch Management System for a phase as it is
encountered in a batch. Generally, the Start command begins the processing of the requested phase
and puts the phase status in the Run state. When the phase Start bit is enabled, none o f the remaining
phase cont rol bits is set. Finally, the Batch Management System cannot send a request to start a phase
block unless the phase block status is in the Ready state.
Hold
The phase Hold command is enabled by the Batch Management System for a phase when you select
the Hold button. Generally, the Hold command suspends the processing of the particular phase. When
the phase Hold bit is enabled, none of the remaining phas e control bits is set. Finally, the Batch
Management System cannot send a request to hold a phase block unless the phase block status is in the
Run state.
Restart
The phas e Re start command is enabled by the Batch Management System for a phase when you select
the Re start button. Generally, the Re start command resumes the processing of the requested phase,
and returns the status of the phase block to the Run state. When the phase Restart bit is enabled, none
of the remaining phase control bits are set. Finally, the Batch Management System cannot send a
request to restart a phase block unless the phase block status is in the Held state.
Abort
The phase Abort command is enabled by the Batch Management System for a phase when you select
the Abort button. Generally, the Abort command ends the processing of the requested phase and puts
the phase status in the Aborted state. When the phase Abort bit is enabled, none of the remaining phase
control bits are set. Finally, the Batch Management System cannot send a request to abort a phase block
unless the phase block status is in the Held state.
Reset
The phase Re set command is enabled by the Batch Management System for a phase when the phase
has completed normally or been aborted. Generally, the Re set command ret urns all the phase logic to its
original state and puts the phase status in the Ready state. When the phas e Reset bit is enabled, none of
the remaining phase control bits are set. Finally, the Batch Management System cannot send a request
to reset a phase block unless the phase block status is in either the Done or Aborted state.
Phase Status
The batch control system recognizes the current status of a phase block through a series of tags that are
mapped to the memory of the control system. One grou p of these requests is for monitoring the status of
each phase. The status bits available for each phase are: Ready, Run, Held, Done, Interlocked, and
Aborted. Only the Ready and Done bits are required.
When the phase block status changes, either through the phase logic or from a request from the Batch
Management System, the phase status word is set accordingly. In the phase block, the phase status
word can be continuously written or written only when the status changes. When a phase status changes
in the control system, the bit associated with that status in the phase status word is altered. All phase
status changes must be transmitted to the Batch Management System through the phase status word.
The phase block can be in only one state at a time.
The following conceptual diagram shows available phase status bits.
Ready
The Ready status bit is enabled by the control system for all phases ready to run. Generally, the Ready
status bit is set when there is no processing of the phase block and everything in the block has been
reset and is ready for processing. W hen the Ready status bit is enabled, none of the remaining phase
status bits can be set. Finally, the Batch Management System cannot send a request to start a phase
block unless the phase block status is in the Ready state.
Run
The Run status bit is enabled by the control system for all running phases. Generally, the Run status bit
is set when the phase block has been start ed or restarted and everything in the block is processing
normally. When the Run status bit is enabled, none of the remaining phas e status bits can be set. Finally,
the Batch Management System cannot send a request to hold a phase block unless the phase block
status is in the Run state.
Held
The Held status bit is enabled by the control system for all phas es that have been put on hold either by
the Batch Management System or if a critical alarm occurs. Generally, the phase logic freezes the
current operation in progress and places the block in the Held state. However, the actual operation of the
phase logic while in the Held state is application specific. When the Held status bit is enabled, none of the
remaining phase status bits can be set. Finally, the Batch Management System cannot send a request to
restart or abort a phase block unless the phase block s tatus is in the Held state.
Done
The Done status bit is enabled by the cont rol system for all phases that have finished their processing.
When the Done status bit is enabled, none of the remaining phase status bits can be set. Finally, the
Batch Management System cannot send a request to reset a phase block unless the phase block status
is in the Done or the Aborted state.
Interlocked
The Interlocked status bit is enabled by the cont rol system for all phases in whic h a condition prevents
their safe processing. Generally, the Int erlocked status bit is set before the start of processing of the
phase block. The Interlocked status repres ents a condition of the process that prevents proper operation
of the phase block. When the Interlocked status bit is enabled, none of the remaining phase status bits
can be set. Finally, the Batch Management System cannot send a request to start a phase block if the
phase block status is in the Interlocked state.
Aborted
The Aborted status bit is enabled by the control system for all phases that have been aborted. The only
way this bit can be turned on is by placing the phase block on hold and then selecting the Abort option.
Therefore, it is impossible to abort a phase wit hout first placing the phas e on hold. When the Abort ed
status bit is enabled, none of the remaining phase status bits can be set. Finally, the Batch Management
System cannot send a request to reset a phase block unless the phase block status is in Aborted, or the
Done state.
Formula Parameters
The phase block parameters correspond to the temperatures, times, speeds, rates, quantities, and alarm
settings configured in a particular formula for a recipe in the batch control system. The formula
parameters are downloaded to the cont rol system just prior to the phase Start command. The control
system receives the desired values and returns any corresponding actual values. Phase blocks can have
no parameters or they can have many parameters.
The Target Value extension is used by the batch control system to transfer a specific numerical value to
the particular phase block that is in operation. This value is one that has been configured within the batch
control system and is specific to the current recipe as well as the phase block. Generally, the Target
Value parameters consist of process temperat ures, timer values, and transfer quantities.
Actual Value
The Actual Value extension consists of a specific numerical value that originates wit hin the phase block
logic and is trans ferred to batch control system. This value corresponds wit h a Target Value that has
been passed to the phase block from the batch control system and is usually monitored and shown in the
batch control system. The values also generally consist of process temperatures, timer values, and
transfer quantities. The comparisons bet ween the Target Values and corresponding Actual Values are
used to determine the completion of the respective phase block. An example of an Actual Value is the
time remaining as the soak phase block is operating.
High Deviation
The High Deviation extension is a batch control system configured value that corres ponds to a high
tolerance limit for the Actual Value. Generally, if the Actual Value becomes greater than the High
Deviation value while the phase block is in the Run state, an alarm is generated.
Low Deviation
The Low Deviation extension is a batch control system configured value that corres ponds to a low
tolerance limit for the Actual Values. Generally, if the Actual Value becomes less than the Low Deviation
value while the phase block is in the run state, an alarm is generated.
High Limit
The High Limit extension is a batch control system configured value that corresponds to the maximum
value that can be entered in the recipe for a parameter target.
Low Limit
The Low Limit extension is a batch control system configured value that corresponds to the minimum
value that can be entered in the recipe for a parameter target.
Preact
The Preact extension value corres ponds to the addition of bulk ingredients. The Preact is the amount of
an ingredient that discharges from a sourc e aft er the command has been given to stop the flow. An
example of a Preact is the extra quantity of an ingredient that is being fed to a scale from a conveyor.
When the desired weight is reached and the conveyor is turned off, there remains some extra quantity of
the ingredient that falls from the conveyor to the scale. The quantity of this extra amount of an ingredient
is called the Preact. Automatic adjustments of the Preact must be done in the cont rol system.
Lot Code
The Lot Code extension is a batch control system configured value that corresponds to the lot code
entered by the operator for an input material.
Material ID
The Material ID extension is a batch control system configured value that corresponds to the
identification code of the input or output material being moved by the operator. The Material ID is
assigned in the recipe, but the operator can change it.
Control Buttons
Each phase block can contain t wo control buttons for the functions the phase block needs. These control
buttons are operated from the batch control system screen and are trans ferred to the control system
through tags that are associated with control system memory locations. Examples of control buttons are
the scale reset and tare buttons used during a weighing operation.
Interlocks
Interlocks are conditional statements that can prevent the start of a particular phase block. Phase blocks
can have any number of Interlocks, as well as share Interlock conditions with multiple phase blocks. The
Interlocks are found in the Interlock section of t he program that corresponds to the unit or connection with
which they are associated. Usually, the Interlocks correspond to an output device. If a particular Interlock
condition exists, the respective Int erlock bit is set, the phase status Interlock bit is set, and the phase
block is unable to be started. Interlock conditions must be changed for the interl ock to clear and the block
to become ready. Also, Interlock conditions are unavailable if the phase block is in operation. Some
examples of phase block interlocks are:
A reactor discharge valve that is open prevents the operation of any phase block that adds bulk
ingredients to the reactor.
The level in a reactor must be a certain height before the agitator phase block can start.
Alarms
Alarms are conditional statements that can be enabled at any time and can alter the status of a particular
phase block. Phase blocks can have any number of alarms. The alarms are found in the alarm section of
the program corresponding to the unit or connection with whic h they are associated. Usually, alarms
correspond to an output device.
Two levels of severity are generally associated with alarms for a given set of conditions:
Advisory alarm
This alarm may require an acknowledgment by the operator. Howe ver, the advisory alarm does not
require an operator reset, and usually the phase block does not require a restart command. The
block operation continues as normal.
Critical alarm
This alarm condition us ually requires the operator to acknowledge the alarm, reset the alarm, and
restart the phase block. If a particular alarm condition exists, the respective discrete memory location
is enabled, the phase block alarm is set, and, if it is a critical alarm, the phase block status may be
altered.
Note: We recommend that, for the safety of process personnel, you configure alarms as critical alarms
whenever possible so that the phas e block must be manually restart ed.
Because a particular output may be referenced in more than one phase block within a unit or connection,
a conflict could arise if the direct output address is used in multiple places of the program. Therefore, we
strongly suggest that you place all outputs, no matter how many times you use them, in the global output
section. Any phase block requiring the output would energize an intermediate discrete memory location
that would t hen be plac ed in the appropriate location of the output section. Thus, an output used by more
than one phase block would contain multiple discrete locations connected in parallel, each of wh ich
would independently turn on the particular output. Also, all manual device operation logic exists in this
section. The reas ons behind placing all out puts in the global output section are consistency and ease of
troubleshooting. Finally, for safety reas ons, alarms that disable one or many out puts should exist in the
global output code and not scattered throughout the phase logic. This ensures that the outputs are
disengaged.
You can select and run phases for any unit or connection using the Start, Hold, Restart, Abort, and
Reset buttons. You can also test control buttons and review interlock operations.
WARNI NG! You must end and reset all phases before exiting th e Phas e Logic testing tool. If y ou do not
properly reset a phase, the Batch Management System is unable to successfully use that phase in a
batch.
Testing Phases
You can easily run a phase from the Phase Logic testing tool. You can generate, export, refresh, and
print a report.
To test a phase
1. Start the Phase Logic testing tool.
2. In the Units/ Connections list, click the unit or connection that contains the phase that to run.
The Pha ses list shows the process or transfer phases available for the selected unit or connection.
3. In the Pha se s list, click the phase to run.
The Parameter list shows any formula parameters defined for the selected phase.
Note: It is very important to Re set each phase when the state of the phase is either Done or Aborted.
C HAPTER 18
Batch Management with I/A Components
Alarms
The Batch Management with I/A Components Alarm subsystem:
Capt ures all equipment and process alarm events associated wit h a batch and stores them in the
Batch Historian.
Consists of the E vent Manager, Alarm Comment Applic ation, Sequence Unsuspend A pplication, and
a set of Batch Alarm report queries.
Interfaces with the Batch Historian through ODB C to store and retrieve batch-related alarms.
In This Chapter
Overview.................................................................................................................................... 523
BATCH_ID System Tag .............................................................................................................. 524
E vent Manager ........................................................................................................................... 525
I/A Series Control Strategy – Alarm Considerations....................................................................... 525
Viewing Batch Alarms with FoxAlert ............................................................................................. 526
Entering Alarm Comments with FoxAlert ...................................................................................... 526
Unsuspending Equipment Phases with FoxAlert ........................................................................... 527
Overview
I/A Series FoxAlert provides a means to view batch-relat ed alarms, enter comments, and unsuspend
equipment phases. Through the int eraction of equipment system tags, Batch Manager and I/A Series
Cont rol Proc essor, E vent Manager is able to capture batch -related alarms.
Batch alarms, in the Batch Management with I/A Components Suite, are captured, associated with a
batch and stored in the Batch Historian. The user can view alarms for a specific batch using the FoxAlert
alarm and can attach a comment to any batch specific alarm event in FoxAlert. A set of three alarm report
queries is provided to retrieve batch analog alarms and comments, Boolean alarms and comments, and
sequence blocks and comments from batch history and include them in batch reports.
The following diagram shows the major elements of the Batch Alarm subsystem.
Units must have a corresponding compound in the I/A Series control system of the same name.
Connections and segments should have a corresponding compound of the same name; however,
sometimes this is not practical and a data block can be used. In this situation, the connection or segment
BATCH_ID system tag must be linked to the LOOPID parameter of the data block. When an alarm
occurs in the dat a block, the alarm contains the LOOP ID parameter value of the Data Block. The alarm is
sent to alarm destinations configured in the compound of the data block.
Event Manager
E vent Manager is a Windows service that communicates with the I/A Series subsystems. The E vent
Manager receives all I/A Series alarms and stores them in the Batch Historian.
E vent Manager uses either the LOOPID value or equipment alloc ation to det ermine the batch
identification for alarms. During batch processing, E vent Manager compares the LOOPID field of the
alarm message with the current list of batches in the schedule.
If there is a match, the alarm is considered a batch alarm. An Alarm ID is then assigned to t he alarm, and
it is logged to the Batch Historian along with its Batch Identification (Campaign, Lot and Batch ID). If the
LOOP ID value does not match a Batch ID in the schedule, E vent Manager searches the Link database
for the Compound:Block name.
If there is a match, the alarm is considered a batch alarm. E vent Manager determines the equipment
name (Unit, Connection or Segment) from the Link database and then, using Equipment Allocation
information, determines the Batch ID. An Alarm ID is assigned to the alarm and it is logged to the Batch
Historian along with its Batch Identification (Campaign, Lot and Batch ID). If the Compound:Block name
is not found in the Link database, the alarm is not considered to be a batch alarm and is discarded.
In this case, there is more than one compound us ed to control the equipment entity. There is
typically a lead compound with the same name as the equipment entity and other compounds
whos e logic is used by the lead compound as required. In this situation, the shared compound
can be used by more than one lead compound simultaneously. Alarms generated in any of the
blocks within this shared compound should be associated to both batches if bot h lead
compounds are using the shared compound.
Example: An example of this is a heat exchanger that can be used by more than one reactor
simultaneously. When the heat exchanger is being used by Reactor_A and Reactor_B, heat
exchanger alarms should be logged to the batch that allocated Reactor_A and to the batch that
allocated Reactor_B.
Solution: Batch Management wit h I/A components does not support this situation. Batch alarms
can only be associated to one equipment entity; but, not to multiple equipment entities.
o One to One Usage
In this case, there is more than one compound us ed to control an equipment entity. There is
typically a lead compound with the same name as the equipment entity and other dedicated
compounds whose logic is used by the lead compound as required. In this situation, the
dedicated compounds are always used by the same lead compound and are never shared.
Alarms generated in any of the dedicated compounds should be associated to the batch that has
allocated the lead compound.
Example: A Filter is used by only by Reactor_A. When the filter is being used with Reactor_A,
filter alarms should be logged to the batch that has allocat ed Reactor_A.
Solution: Either the LOOPID or the equipment allocation approach can be used. If the equipment
allocation approach is used, then at least one equipment entity tag (Reactor_A) must be linked to
an I/A Series filter tag (Compound:Block.Parameter).
Multiple equipment entities represented by one compound
This approac h is desirable if there are many connections or segments in a system and Compound
are limited. In this situation, one Compound has many Blocks each representing a Connection or a
Segment. Alarms generated in any of the Blocks should be associat ed with the Batch that has
allocated the Connection or the Segment.
Example: A manifold has many connections and many segments. A compound is dedicated to the
manifold and each connection and segment has an associated block. Any block alarms should be
associated with the batch that has alloc ated its associated connection or segment.
Solution: Either the LOOPID or the equipment allocation approach can be used.
C HAPTER 19
Using Batch Management Software with
ArchestrA
The Batch Management software includes ApplicationObject packages (.aaPKG files) that you can
import into an ArchestrA Galaxy and use to represent a Batch Management Process Model within the
Galaxy.
The Batch Management ApplicationObject templates do not have much functionality or content of their
own, but instead rely on being created and instrumented by the Batch Management Import Model utility,
which is available from within the ArchestrA IDE.
For general information on objects and how to use the ArchestrA IDE, see the IDE help.
In This Chapter
About the Batch Management ApplicationObjects ......................................................................... 529
About the Import Batch Management Model Utility ........................................................................ 530
About Importing Models .............................................................................................................. 530
Importing a Process Model .......................................................................................................... 531
Batch Management Objects at Run Time ..................................................................................... 533
IBMX Recommendations ............................................................................................................. 534
Important: If you change the Batch Server Name for a particular Batch Server (in E nvEdit system
parameters), you will need to delete all objects and re-import the model. Or, alternatively, a utility
(BatchObjectUtility.exe) is available on the Developer Network to help change the BatchServer attribute
value in the existing Batch Management objects. See the Tec h Note named "Tech Not e 932 - Using the
Batch Object Utility".
Important: If you are importing from multiple Batch Servers, each with its own Process Model, the
servers cannot contain the same Process, Transfer, Unit, Connection, or Segment names. In other
words, equipment cannot be shared between the P rocess Models. If this is the case, you can use the
prefix/suffix option within the import utility to help solve the conflicts.
The following are points regarding communication with the Batch Management Server:
The base Batch Management Server services must be running to do the im port (SecMngr,
Middleware, and so on).
You cannot do an import while ModelE dit, TagLinker, or TrainE dit is running. You cannot run any of
these editors while an import is in progress.
If Batch Management application security is enabled on ModelEdit or TagLinker, you must enter
security credentials at the time of the import that satisfy both security requirements.
The import can be time consuming. For a very large Process Model with thousands of objects, it can
take well over an hour. Subsequent imports, eve n with minor changes, can take about 25% of the
original import time, just to check for differences (res ults may vary).
Important: Tag Links are automatically updat ed in the Tag Linker database to map the Batch
Management tags to the ApplicationObject attributes. The Galaxy Access is set to point to the current
Galaxy. All tags in the Batch Management Process Model are linked, including System Tags. Links
should not be modified in TagLinker. They could be overwritten during the next import.
Important: The settings are only saved for the current IDE node. If you run the import on a different
IDE, make sure the settings are identically config ured.
After you perform the import, check the ArchestrA Logger for warnings. If name conflicts occur, you will
need to manually correct them and retry the import.
2. In the Batch Server area, type the node name for the Batch Management Server you want to
connect to and then click Connect.
After the utility connects to the server, the remainder of the dialog box becomes available.
If you can't connect to the Batch Management Server, check the ArchestrA Logger for more details.
3. In the Ba se Templates area, type the four base template names for the Batch Management
ApplicationObjects. These default to the imported template names, but should be changed to a new
derived templat e name.
4. In the Options area, configure the optional import options.
o Select the Preview only mode check box for the utility to perform the import actions without
actually making any changes to the Galaxy or TagLinker database. This allows you to see (and
possibly verify) what changes will be made by a normal import.
o (rarely used) Select the Do not update Batch Management Tag Linker Database check box
for the utility to perform the import normally, but not make any changes to the TagLinker
database (CfgLinkDB). This option is only used if you want to create the Batch Management
Process Model in the Galaxy, but not have any run-time communications through the objects
(that is, no IBMX).
Important: If you use this feature once, you should always use this feature. Otherwise, your TagLink er
database will most likely end up in an inconsistent state.
o Click Prefix or Suffix for the utility to perform the import normally, but add a prefix or suffix to
every Process, Trans fer, Unit, Connection, and Segment object. This allows you to avoid
possible naming conflicts with existing objects in a Galaxy.
Important: Becaus e Unit and Connection names are concatenated with Phase names in the Galaxy to
create a unique "tagname" for each phase, you must be sure that the length of this "tagname" with the
prefix/suffix added does not exceed 32 characters.
5. In the Batch Management Security Credentials area, configure the user name and password for a
user who has application access to both ModelEdit and TagLinker.
If a domain is required, you can specify it in front of the us er name (for example, domain\userid).
6. Click Import.
Phase Simulation
The Batch Management Phase Application Objects can have phase execution simulation enabled. You
can set this on the top-level base template or on specific derived templat es and instanc es. Simulation
can be configured and enabled in the Batch ManagementPhas e object editor or through scripting at run
time. Phases with simulation enabled ca n interact with the Batch Management run time (B atchMngr).
For more information on working with phas e simulation, see the InB atchPhase object help. To access
the help, right-click the object and then click Object Help.
IBMX Recommendations
IBMX is the Batch Management application that provides I/O to Batch Management from System
Platform (SP). Batch Management tags are linked to WAS using the Batch Management TagLinker
application. Tags can be linked to I/O through Device Integration (DI) objects or through Appli cation
Object attributes (which are then linked to I/O through DI objects).
This section discusses recommendations that need to be followed to get reliable I/O when using IBMX. If
these recommendations are not followed, Batch Management could get stale data causing batch
execution problems and/or writing of old values to batch history.
If you are using WSP 2012 or greater, the "LMX Initializing Quality on Suspend Registry setting" is the
recommended approac h. It can influence other aspects of the system (i.e. Graphic updates may initially
not show good quality), so that needs to be considered as well. For more information, refer to "Lmx
Initializing Quality On Suspend Registry Setting".
Advise All
This applies to all versions of Batch Management running wit h all versions of System Platform (SP). The
"Advise All" option of IBMX caus es all tags linked to System Platform (SP ) to be "advised" at start up.
Since all tags remain advised, the tag value updates to Batch Management depend on the various scan
groups where those tags originate. It is important to make sure your Phase Parameter scan groups will
provide any final value changes before the Phase Status scan group sends the "Phase Done" status.
Prior to InBatch 9.5, IBMX operated in a "progressive advise all" manner, meaning as each phase is run,
its tags remained on "advise". So, it was basically always running as if "Advise All" was set. In InBatch
9.5 (and later), tags are "Unadvised" when not in use, so "Advise All" needs to be specifically set.
NOTE: "Advise All" is only appropriate for smaller sets of tags. The appropriate number of tags depends
on the design and capabilities of the overall system platform (I/O throughput capabilities).
C HAPTER 20
Batch Management Events
The Batch Management Server is an E vent Provider to the ArchestrA E vent Services platform, which in
turn uses the ArchestrA Servic e Bus (ASB) for sending and receiving data. The events are primarily
related to state changes during the execution of batches. Each event contains an "Event Type" and also
relevant context data properties associated with the event type. Events are fired to a local Event Service
where they are queued and made available to interested clients. Event clients can connect to the E vent
Service and poll for new events. The event client can then use the event and its context data properties to
perform external/custom actions.
Note: Batch E vents are only supported on Batch Management Servers where a System Platform 2014
R2 (or later) Plat form is deployed. It also requires that the Batch Management Components for
Arche strA I DE feature is installed on the Galaxy Repository or Service Repository node. After these
prerequisites are met, you must run the Batch Management Configurator for the Batch Management
Server feature and select and configure the Batch Event option.
If the Batch Management Server is not configured for the Batch Events option, Batch E vents are not
available. A warning message is shown from the " InBatchE ventServer" component in the ArchestrA
Logger. This is normal on systems that do not expect Batch Events to be enabled.
Important: Batch E vents do not support guarant eed delivery if exceptional conditions occur. For
example, if a Batch Server is powered down, any events that have occurred that have not been fetched
by the client will be lost. Also, if a client is not actively polling around the time when an event occurs, i t will
likely not see the event.
In This Chapter
E vent Clients .............................................................................................................................. 537
E vent, E vent Ty pe, and Context Properties .................................................................................. 538
Example: Subscribe to "Batch Done" and "Custom RecipeMessage" E vents .................................. 546
Event Clients
If Batch E vents are enabled on a Batch Management Server, those events can be retrieved and used by
any ArchestrA E vent Services compatible client. ArchestrA scripting using the E vent Scripting script
library (aaS LIB ) is considered a client. This script library is installed wit h the Batch Management
Components for Arche strA I DE feature, which needs to be installed on an A rchestrA IDE node. The file
ArchestrA.E vents.Scripting.aaS LIB is located in the ...\Batch Management\AppObjects directory and
can be import ed into the Galaxy. To import a library from within the ArchestrA IDE, on the Galaxy menu,
point to Import, and then click Script Function Library.
Note: Other ArchestrA E vent Service compatible clients may also be available. These are installed
separately from Batch Management.
The typical workflow for a client using the E vent Scripting script library is described below.
1. [MonitorE vents.Connect ToE ventServic e method] Connect to Batch Management Server E vent
Service t o establish a new event subscription. Receive a ConnectionId, which can be used to interact
with subscription. This is often done in an OnScan script.
2. Specify the filters for the subscription. Without any filter, the client would receive all the events fired
from the Batch Management Server, which would have performance implications and be
unnecessary. Filters should be added right after Connecting (that is, in t he same script).
o [MonitorE vents.AddE ventFilter met hod] Multiple filters can be added to a subscription. These
are OR'ed together. For example, a client can request to receive all events where the E vent Type
equals "Batch" OR E vent Type equals "Phase".
o [MonitorE vents.NarrowE ventFilter method] Each filter can have multiple conditions. These
conditions are AND'ed together with the original filter to narrow its scope. For example, a client
can request to receive all events where the E vent Type equals "Batch" AND the
E vent CodeName equals "Initialize".
3. [MonitorE vents.StartRequestingE vents method] Activates the subscription. This method must return
True before you can get events.
4. [MonitorE vents.GetNextE vent method] Periodically get the events for the subscription. This should
be done fairly frequently (for example, at least every few seconds). It is a very fast check if no events
are available. This is typically done in a "periodic" Execute script. The script may also need to be
configured to execut e asynchronously if processing the events could be time consuming.
o Multiple events may be waiting to be processed. Therefore, this script will process them one at a
time (in a loop). Each event has some system properties, which all events share (ex.
E vent Type). E vents also have their own context properties, which vary depending on the value
of the E vent Type system property.
o The script performs external/custom actions during the processing of each event.
5. [MonitorE vents.DisconnectFromE ventService method] Terminate and cleanup an existing event
subscription. This is often done in an OffScan script.
If many different events need to be monit ored by client script, this workflow can be repeat ed many times
across many ApplicationObjects. Subscriptions are optimized wit hin eac h Appl ication E ngine
(aaE ngine.exe), performing only one poll (periodic ally in the background) for all outstanding
subscriptions to a particular Batch Management Server. However, performance could still be impacted
by increasing the number of subscriptions or ha ving a large number of events being processed.
The connection lifetime of a subscription does not need to be maintained by the client script. If a
connection to the Batch Management Server E vent Service is lost (for example, the server becomes
unavailable), it will be reestablished when the Batch Management Server becomes available again.
Note: If the Batch Management Server is set up for redundancy, two separate subscriptions will need to
be set up, with one pointing to each server in the redundant pair. The subscriptions should be configured
with the same filters. They will also need separate Get NextE vent loops. While running, the backup server
will not send any events until a switchover occurs. After a switchover, the failed master should stop
sending events.
For more information on using the event scripting API, see the ArchestrA Events Script Function Library
documentation that is installed with the aaSLIB file. For a Batch Management example of scripting, see
"Example: Subscribe to "Batch Done" and "Custom RecipeMessage" Events" .
When setting up subscription filters in script, system properties and cont ext properties are passed as
names into the AddE ventFilter() and NarrowE ventFilter() methods. For example, the following shows a
system property and a context property being added to a filter.
System String Type of system sending the event. Possible values for
Batch Events: [BatchServer]
Source String E vent provider sending the event. Possible values for Batch
E vents: [BatchMngr]
E vent Type String Type of event. This is what defines the properties the event
will have. Possible values for Batch E vents: [Batch,
Equipment, UnitProcedure, Operation, Phase,
MaterialInput, MaterialOutput, Custom, BatchError]
E vent Time DateTime DateTime generated by the event provider when sending
the event.
Display Text String Text to describe the event. Value will be "InB atch." +
E vent Type
E vent Code Integer Specifies the state change that triggered the
event. Possible values include:
[1] Initialize
[2] Start
[3] Hold
[4] Restart
[5] Abort
[6] Done
E vent Code Integer Specifies the state change that triggered the event.
Possible values include:
[1] Allocate
[2] Release
BatchServer String Name of the source Batch Server as defined in the EnvE dit
system parameters.
E vent Code Integer Specifies the state change that triggered the event. Possible
values include:
[1] Run
[2] Done
E vent Code Integer Specifies the state change that triggered the
event. Possible values include:
[1] Run
[2] Done
BatchServer String Name of the source Batch Server as defined in the EnvE dit
system parameters.
E vent Code Integer Specifies the state change that triggered the event. Possible
values include:
[1] WaitForAllocate
[2] Run
[3] Done
BatchServer String Name of the source Batch Server as defined in the EnvE dit
system parameters.
BatchServer String Name of the source Batch Server as defined in the EnvE dit
system parameters.
BatchServer String Name of the source Batch Server as defined in the EnvE dit
system parameters.
E vent Name String First argument passed to the SendCustomE vent() function.
BatchServer String Name of the source Batch Server as defined in the EnvE dit
system parameters.
The subscription watches for "Batch Done" events and schedules/initializes/starts a new batch using
most of the Context Properties from the finished batch.
It also watches for Custom RecipeMessage events. These events are fired if a recipe has a
SendCustomE vent() expression function with an E ventName of "RecipeMessage." If this message is
received, it can be displayed for an operat or. The purpose for this example is to tell the operator that the
batch is ending.
ME.EventsStarted = false;
ME.ConnId = 0;
ME.ConnId = ArchestrA.Events.Scripting.MonitorEvents.ConnectToEventService(
id = ArchestrA.Events.Scripting.MonitorEvents.AddEventFilter(
ArchestrA.Events.Scripting.MonitorEvents.NarrowEventFilter(
id = ArchestrA.Events.Scripting.MonitorEvents.AddEventFilter(
ArchestrA.Events.Scripting.MonitorEvents.NarrowEventFilter(
ME.EventsStarted =
ArchestrA.Events.Scripting.MonitorEvents.StartRequestingEvents( ME.ConnId);
GetEvents Script
dim e as ArchestrA.Events.Scripting.Event;
if ( ME.EventsStarted == 0 ) then
ME.EventsStarted =
ArchestrA.Events.Scripting.MonitorEvents.StartRequestingEvents(
ME.ConnId);
endif;
e = ArchestrA.Events.Scripting.MonitorEvents.GetNextEvent( ME.ConnId );
batchIdStr = e.GetProperty("BatchId");
batchId = batchId + 1;
InBatch.API.Schedule.AddScheduleEntry( me.BatchHost,
e.GetProperty("CampaignId"), e.GetProperty("LotId"),
e.GetProperty("BatchId"),
e.GetProperty("RecipeId"), e.GetProperty("Train"),
e.GetProperty("BatchSize"),
InBatchCommon.BatchModeType.Automatic,
InBatch.API.Schedule.InitializeScheduleEntry( me.BatchHost,
InBatch.API.Batch.StartBatch( me.BatchHost,
InBatch.API.Schedule.DeleteScheduleEntry( me.BatchHost,
e.GetProperty("CampaignId"), e.GetProperty("LotId"),
"/" + batchId);
endif;
e.GetProperty("CampaignId") + "/" +
e.GetProperty("LotId") + "/" +
e.GetProperty("UserData");
endif;
e = ArchestrA.Events.Scripting.MonitorEvents.GetNextEvent( ME.ConnId );
endwhile;
OffScan Script
'Terminate our subscription
ArchestrA.Events.Scripting.MonitorEvents.DisconnectFromEventService(
ME.ConnId );
ME.ConnId = 0;
C HAPTER 21
ActiveX GUI Controls
You can use B atch Management ActiveX GUI Cont rols in any compliant ActiveX container to quickly and
easily create custom Batch Management Runtime Client interfaces. Suitable ActiveX containers include
InTouch WindowMaker, Visual Basic, C++, and C#. The GUI controls were introduced in InB atch 8.0 and
take the place of the old InTouc h wizards.
For more information on using WindowMaker, see the InTouch documentation.
You must have the appropriate client licensing in order to successfully use the Batch Manageme nt
ActiveX GUI Controls.
In This Chapter
Overview.................................................................................................................................... 551
Configuring InTouch WindowMaker to use Batch Management ActiveX GUI controls ...................... 551
Using Batch Management GUI Controls ....................................................................................... 552
Batch Management GUI Control Descriptions ............................................................................... 553
Building a Simple Batch Scheduler .............................................................................................. 562
Using the BatchSec urity Control .................................................................................................. 568
Overview
ActiveX cont rols are graphic al components with built-in processing logic that you can embed in any
ActiveX cont ainer application. InTouch Window Maker, Visual Basic, C++, and C# are examples of
ActiveX cont ainers.
Using the GUI controls can greatly reduc e application development time. This chapter describes how to
use the ActiveX GUI controls in the InTouch WindowMak er environment, but many of the concepts
discussed here apply to Visual Basic, C++, or C# usage.
3. Click Install.
Note: The four classes are provided in a single ocx library. In Visual Basic, the single component name
to add is Batch Management GUI Cont rols.
BatchGuiConfig
The BatchGuiConfig control provides central administration of all Batch GUI controls for an application.
The BatchGuiConfig control is invisible at run time. It has no graphical component. This control is where
the connection to the Batch Management Server is configured.
Note: The BatchGuiConfig control sets up the connection information that is used by all Batch GUI
controls for an entire application. Once this is done, the B atchGuiConfig control is no longer required and
can actually be removed from memory without affecting the other controls.
Properties
The following properties apply to the BatchGuiConfig control.
Host1
This selection sets this property to the host name of the Batch Management Server. In a redundant
server architecture, this is the host name of the Primary Batch Server.
Host2
This property is only used with redundant server architectures. It sets this property to the host name of
the Redundant Batch Server.
AutoInit
When set to 1 (or checked on the property page) this property initializes the connection to the Batch
Server automatically when the control is loaded in a running application, or the application is switched
from design mode to run mode (such as WindowMak er to WindowViewer).
Unit
This is a string set to the unit to focus on when running in Unit -Centric mode. If this property is left blank,
the Batch GUI controls run in Batch -Centric mode.
MessageBoxes
This property is a true or fals e Boolean type. True specifies that error message boxes should be shown.
False turns off the error message boxes. The default value of MessageB oxes pro perty is true.
ServerConnected
This property is available only at run time (not available at design time). It is set to True (or a non -zero
value) when there is an active connection to the Batch Server.
The following properties define the tcp/ip port definitions for the connection to the Batch Server. The port
definitions are pre-defined with the default numbers used on the Batch Server. These must match the
port definitions used on the Batch Server for communications to be successful. Only change these
properties if you have changed the port definitions on the Batch Server because of a system conflict.
PortBatchMngr
PortEnvMngr
PortInfoMngr
PortRedMngr
PortSecMngr
PortUnilinkMngr
Methods
You can use the following methods with BatchGuiCon fig.
AltSetCancelMsgBox()
The AltSetCancelMsgBox method is an alternative way to cancel a message box raised by the
ActionError event. (see ActionE rror event below). This method has no arguments.
GetOcxBatchObject()
The GecOCXB atchObject method ret urns a reference to the underlying OcxBatch cont rol. This allows for
more custom control of the interface in programming environments. Since this method returns an object
reference, it cannot be used by InTouch. This method has no arguments.
Init()
The Init method initializes the connection t o the Batch Server. This is needed only when the connection is
lost if the AutoInit property is set. This method has no arguments.
Term()
The Term method terminates the connection to the Batch Server. This method has no arguments.
Events
You can use the following events with BatchGuiConfig.
ActionError
The ActionError event is called when a non -server generated error occurs during a batch action.
Arguments: ErrorCode: an integer error code, and CancelMsgBox: an integer reference. It returns 1 to
the CancelMsgBox argument to prevent the error message box from appearing.
LostServerConnection
The LostServerConnection event is called when the connection to Batch Server is lost. It has no
arguments.
SystemShuttingDown
The SystemShuttingDown event is called when the Batch Server is shutting down. It has no arguments.
BatchList
The BatchList control provides live list dat a. You can configure the BatchList control to be a schedule list,
active batch list, active phas e list, or parameter list. You can configure any list found on Batch or B atch
Scheduler with the BatchList control.
Parameter List
Interlock List
ScheduleEdit
ScheduleEdit has the following components:
Schedule List
Train List
Recipe List
Formula List
Error List
Properties
The following properties apply to the BatchList control.
ColumnHeaders
The ColumnHeaders property is a comma-separated string to define the column heading names shown
on the list control.
Columns
The Columns property is available at run time only. It returns the number of columns in the list. The
property is Read Only.
ColumnWidths
The ColumnWidths property defines the widths (in characters ) of each column in the list.
Grid
The Grid property sets or returns a value indicating if grid lines are shown on the control.
Row s
The Rows property is available only at run time. It returns the number of rows in the list. The property is
Read only.
SelectedRow
The SelectedRow property is available only at run time. It sets or returns the currently selected row
number. Row numbers start at 0. A value of –1 indicat es no selection.
BackColor
The BackColor property sets or returns the background color of the list.
ForeColor
The ForeColor property sets or returns the foreground (text) color of the list.
Font
The Font property sets or returns the character font used for the list. The property affects the size of the
control.
Methods
You can use the following methods with the BatchList control.
AltSetBusyMe ssage()
AltSetBusyMessage is an alternate method for setting the list busy message from within the
BeforeListBusy event (see BeforeListBusy event below).
GetItemColumnValue()
The Get ItemColumnValue method returns the string contained in any cell of the list. Argum ents are Row
and Column numbers.
Events
You can use the following events with the BatchList control.
Afterdeck
The Afterdeck event is called when the control is clicked and aft er any batch-specific processing is
performed. The event passes the arguments Row number and Result. The Res ult value indicat es if it
was a double or single click.
AllItemsDeleted
The AllItems Deleted event is called after the list has been cleared.
BeforeLi stBusy
The BeforeListIsBusy event is called before the list is about to indicate that it is busy.
Click
The Click event is called when a list item is clicked but before any batch-s pecific processing is performed.
The row number clicked is passed as an argument.
DblClick
The DblClick event is called when a list item is double clicked but before any batch-specific processing is
performed. The row number double clicked is passed as an argument.
ItemAdded
The It emAdded event is called after a list item (row) has been added to the list. The row number of the
added row is passed as an argument.
ItemChanged
The It emChanged event is called after a list item (row) has been changed. The row number of the
changed row is passed as an argument.
ItemDeleted
The ItemDeleted event is called after a list item (row) has been deleted from the list. The old row number
of the deleted line is passed as an argument.
ItemSelected
The It emSelected event is called after a list item (row) has been selected. The row number selected is
passed as an argument.
BatchField
The BatchField control is a dat a field that is linked to a BatchList control. You can configure the
BatchField control very similarly to the BatchList control. The same hierarc hical list of ty pes is available
as in the BatchList control, but with an extra level of detail. Choose the list in the Property page and then
the data field of the list desired. Different BatchField controls have different visual appearances. While
most types look like a simple text box control, some appear as lists, combo boxes, multi-line text boxes,
or even check boxes.
In each case, the node directly above the selected Field type in the property page indicates the type of
BatchList that the BatchField control is associated with. The linking of the BatchField to the parent
BatchList control is automatic. The BatchField control has been designed to work with the BatchList
controls so that no programming or scripting is required for basic batch functionality. You can add
functionality to the control by using scripting or programming.
Properties
The following properties apply to the BatchField control.
AutoEnabled
The AutoEnabled property returns the current enabled state of the control. This state is read only at run
time. The internal logic of the cont rol enables and disables the BatchField control automatically.
Editable
The Editable property sets or returns a value indicating if the user may write to the control.
Label
The Label property specifies the text label for check box BatchField controls.
Static
When the Static property is set to true, the BatchField appears as a label (no surrounding box).
ForceDi sable
When the ForceDisable property is set to True, the field is disabled. The real field state is preserved so
that when the Force Disable is set to False the real condit ion is restored. The default is False.
ValueText
The ValueText property sets or returns the current text value of the control.
BackColor
The BackColor property sets or returns the background color of the cont rol.
ForeColor
The ForeColor property sets or returns the foreground (text) color of the control.
Font
The Font property sets or returns the font used by the control. It is Read -Only at run time. The property
influences the size of the control.
Methods
You can use the following method with the BatchField control.
AltSetCancel()
The AltSetCancel method provides an alternate way to cancel a field value change action from within the
BeforeExecute event.
Events
You can use the following events with the BatchField control.
AfterExecute
The AfterExecute method is called after any action occurs from a field value change.
BeforeExecute
The BeforeExecute met hod is called before any action occurs from a field value change.
StateChanged
The StateChanged method is called after the control’s value or enabled state is updated. The Change
Type is passed as an argument.
BatchButton
The BatchButton is a configurable batch action button. Like the BatchField control, the BatchButton
control is tied to a BatchList control or in some cases it is linked to a BatchField control.
The behavior of the BatchB utton cont rol is determined by its type configuration which is done through the
property page. The BatchButton types are grouped functionally by the BatchList or BatchField controls
they are associated with. Drop the control onto t he screen and configure the type of B atchButton desired.
The functionality of the button is built in to the internal logic of the control. No scripting or programming is
necessary for the designed batch function. Other functionality can opt ionally be added with scripting or
programming.
Properties
The following properties apply to the BatchButton control.
Appearance
The Appearance property specifies whether the button should be shown flat or 3 -D.
AutoEnabled
The AutoEnabled property returns the current enabled state of the button. This property is Read -Only.
The internal logic of the control automatically enables and dis ables the cont rol.
Caption
The Caption property specifies an alternate caption text for the button. A default caption based on the
selected button type is used if this property is left blank. The default caption is in English.
ForceDi sable
When set to True, the ForceDisable property forc es the field to be disabled. The real field state is
preserved so that when the ForceIfDisable is set to False, the real condition is restored. The default is
False.
AltVi sible
The AltVisible property controls the button visibility. True makes the but ton visible, False makes it
invisible. The default is True. This property should only be used by InTouch. Us e the Visible property
when using other containers.
BackColor
The BackColor property specifies the background color for the button.
ForeColor
The ForeColor property specifies the foreground (text) color for the button.
Font
The Font property specifies the font for the button caption.
Methods
You can use the following methods with the BatchButton control.
AltSetCancel()
The AltSetCancel method provides an alternate way to cancel a button action from within the
BeforeExecut e event.
Execute()
The Execute method forces the buttons action to execute without having the user click it.
Events
You can use the following events with the BatchButton control.
AfterExecute
The AfterExecute event is called after any action occurs from a button click.
BeforeExecute
The BeforeExecute event is called before any action occurs from a button click.
StateChanged
The StateChanged event is called after the caption or enabled state of a button is updat ed. The Change
Type is passed as an argument.
Tip: BatchGuiConfig buttons may appear very large on the screen. After you determine a usable size by
resizing the cont rol, you can use the InTouch Duplicate feature to create additional instances of the
button and then configure each as the button type you require.
If y ou are running InTouch on the B atch Management Server, you do not need to configure the control for
the host name. If the Batch Management Server is running on another mac hine, you must configure the
Host1 property of the BatchGuiConfig control to the node name of the B atch Server. If the Host1 property
is left blank, then the loc al node is assumed to be the Batch Server.
The BatchList control configures itself as a Schedule list, complete with column headings.
Notice that the schedule list is now a folder that contains all the BatchField types associated with the
schedule list.
4. Select the Campaign entry.
5. Click Apply.
6. Copy this control and configure the copies to be the Lot, Batch, Recipe, Size, Train, Mode, Status,
and ExecuteInOrder fields.
Notice that the Mode field appears as a list, the Status is not Editable (this is a Read Only field), and
the Execute In Order BatchField becomes a check box.
7. Copy this control seven (7) more times and configure the copies as the Delete, Change, CleanUp,
Initialize Batch, Initialize All, Move Up, and Move Down buttons as shown.
Note: By default, the IBServ application is also in the run-time list and while not required, it does not hurt
anything by being there. IBServ is responsible for serving up Batch Management tag information to
SuiteLink clients. The BatchGUI controls do not use tag communications, so IBServ is not required. You
may wish to use some of the Batch Management system tags elsewhere in your InTouch client
application however, so then IBS erv would be required.
Note: You can populate the Recipe and Train fields from t he Recipe List and Train List BatchList controls
respectively. You can add them on this window or as a separate pop -up window.
You must first add the ActiveX controls to the WindowMaker environment by selecting Wizard/ActiveX
Configuration from the Configure tree node or from the menu system under Special\Configure. This
action opens the Wizard/ActiveX Installation dialog box. Select the Wonderware BatchSecurity
Class and click Install.
Clicking the Wizards icon from the InTouc h toolbar accesses the installed ActiveX cont rols.
Note: It is very important that the BatchSecurity control be available to the application at all times.
Therefore, it is best to locate it on a window that never gets closed, such as a header window.
Properties
The following properties apply to the BatchSecurity control.
AutoInit
When the AutoInit property is set to 1 (or checked on the Property page), the property initializes the
connection to the Batch Server automatically when:
The control is loaded in a running application.
The application is switched from design mode to run mode (WindowMaker to WindowViewer).
The Security Manager service on the Batch Server must be running for the control to connect.
CheckByPa ssword
Set the CheckByPassword string property to the password fo r the Check-By user. This property is used
for the windowless function clearance checks. Its use is described later in this chapter.
CheckByUserID
Set the CheckByUserID string property to the User ID for the Check -By user. This property is used for the
windowless function clearance checks. Its use is described later in this chapter.
CheckByComment
Set the CheckByComment string property to the comment for the Check By user. This property is used
for the windowless function clearance checks. Its use is described later in this chapter.
DoneByPa ssword
Set the DoneByPassword string property to the password for the Done -By user. This property is used for
the windowless function clearance checks. Its use is described later in this chapter.
DoneByUserID
Set this string property to the User ID for the Done-By user. This property is used for the windowless
function clearance checks. Its use is described later in this chapter.
DoneByComment
Set the DoneByComment string property to the comment for the Done-By user. This property is used for
the windowless function clearance checks. Its use is described later in this chapter.
Host1
Set the Host1 property to the host name of the Batch Management Server. In a redundant server
architecture, this is the host name of the Primary Batch Server.
Host2
The Host2 property is only used with redundant server architectures. Set this property to the host name
of the Redundant Batch Server.
LastErrorCode
The LastErrorCode property returns the error code (integer) of the most recent security request. A zero
(0) indicates no error.
LastErrorMe ssage
The LastErrorMessage property returns the error message (string) of the most recent security request.
LastErrorRetriesExceeded
The LastErrorRetriesExceeded property returns the retries exceeded status (integer) of the most recent
security request. The value is 1 if the retry limit has been exceeded. Otherwise, it is 0. Retries exceeded
status can be cleared with the Reset Retries() met hod.
SecurityPending
The SecurityPending property returns a value (integer) indicating if a security request is pending. A
non-zero value indicates a pending request. A zero (0) indicates no requests are pending. Any pending
requests can be cancelled with the AbortPendingS ecurity() method.
PortRedMngr
The Port RedMngr property is the user setting for the tcp application port definition used by the
Redundancy Manager (RedMngr) on the batch server. It defaults to 9006 and should be the same as the
tcp port definition for RedMngr on the batch server. This definition is found in the
WINNT\system32\drivers\etc\services file on the batch server.
PortSecMngr
The PortSecMngr property is the user setting for the tcp application port defini tion used by the Security
Manager (SecMngr) on the batch server. It defaults to 9004 and should be the same as the tcp port
definition for SecMngr on the batch server. This definition is found in the
WINNT\system32\drivers\etc\services file on the batch server.
Methods
You can use the following methods with the BatchSecurity control.
AbortPendingSecurity()
The AbortPendingSecurity method aborts any pending security requests. If a security dialog is open, it
closes it. There is no return code.
ApplicationClearance(ApplicationID, WinType, UserData)
The ApplicationClearance method checks for user application clearance. The ApplicationID (string)
identifies the application to check for security configuration. The WinType (secWindowType) argument
determines the dialog behavior for the security check. UserData (long) is a place to store a user -defined
number that is to be passed through to any events raised by the clearance check. See explanation of
Window Types later in this chapter. The function returns an integer Result code (sec Result Type).
ChangeUserPassword(UserID, OrigPa ssword, NewPassword)
The ChangeUserPassword met hod allows a user, identified by UserID (string), to change their
password. They must supply their valid, current password in t he OrigP assword (string) argument in order
for the change to take effect. The password is set to NewPassword (string). The function returns an
integer Result code (secResult Type).
FunctionClearance(ApplicationID, FunctionI D, RecipeID, WinType, UserData)
The FunctionClearance method aut henticates a user for functional security. The function attempted is
identified by the ApplicationID (long) and the FunctionID (long). The RecipeID (string) identifies the
recipe affected as users may be configured to only inte ract with certain recipes. The WinType
(secWindowType) determines the behavior of the security dialogs (see Window Types later in this
section.) and the UserData (long) argument contains user-defined data that is to be passed to events
raised in connection with the security check. The function returns an integer Result code
(secResult Type).
GetApplicationName(ApplicationID)
The GetA pplicationName method returns the name (string) of the security application identified by the
ApplicationID (long) argument.
GetFunctionName(ApplicationID, FunctionID)
The GetFunctionName method returns the name (string) of the security function identified by the
ApplicationID (long) and FunctionID (long) arguments.
GetUserName(UserID)
The Get UserName method returns the name (string) of the user identified by the UserID (string)
argument.
Init()
The Init method initializes a connection to the Security Manager service running on the Batch Server
identified by the Host1 or Host2 property. The Init method first attempts to connect to the batch server on
Host1, and then attempts Host2. (See Host1 and Host2 properties above). The security manager service
must be running in order to be successful.
QueryApplicationSecurity(ApplicationID)
The QueryApplicationS ecurity method returns an integer (secRequest Type) indicating if security is
required for the application identified by ApplicationID (long). The return value is 0 if no security is
required to access the application, and 3 if security is required.
QueryFunctionSecurity(ApplicationID, FunctionID)
The QueryFunctionSec urity method returns an int eger (secRequest Type) indicating what security is
required for the function identified by ApplicationID (long) and FunctionID (long). The return value is 0 if
no security is required to access the function, 1 if DoneBy security is required.
ResetRetrie s()
The ResetRetries method resets the retry count for authentication attempts. The limit for retries is
configured in the Batch Management security system. When the limit is reached, an error results.
Term()
The Term method terminates the connection to the Batch Management Security Manager.
Events
You can use the following events with the BatchSecurity control.
ApplicationClearanceComplete(Result, ApplicationID, UserData)
Enumerations
The following enumeration sets are used by the BatchSec urity control.
secWindowType
This value is used as an argument to the ApplicationClearance and FunctionClearance methods. The
value of the WinType argument determines the behavior of the security dialogs and how the us er must
interact with the security system.
secWindowModal (0)
This type prompts the user for information as required using a Modal security dialog. Therefore, the
clearance call does not return until a result has been determined.
secWindowModeless (1)
This type prompts the user for information as required using a Modeless security dialog. Therefore, the
clearance call returns immediately with a result of secResultPending, and the actual result is returned
through a *ClearanceComplete event.
secWindowlessEvent (2)
This type requests information as required by firing RequestUserInfo or RequestNewPassword events.
The program can then provide the required information by setting various properties on the control from
within the event. It is a modal interfac e, which means that the clearance call does not return until a result
has been det ermined. However, there is no built-in security dialog presented to the user. This window
type is designed to allow the designer to create their own security dialog boxes, which would be invoked
when the RequestUserInfo and RequestNewPassword events are raised.
secWindowlessCheck (3)
This type performs a simple one-shot access check, using information provided before the clearance
method is called. It can be used when you already know the level of security required and the clearance
information. The result of the clearance request is known upon return. When using this type of clearance
check, you must set the DoneByUserID, DoneByPassword, CheckBy UserID, and CheckByPassword
properties (as needed) before you call the clearance method. You can determine which ones are
required by calling the QueryApplicationSecurity or QueryFunctionSecurity methods.
secResultType
Many of the functions return one of the following result types. The LastErrorMessage and LastErrorCode
properties can be used to dig deeper int o what a specific problem was.
secRe sultOk (0)
This type indicates that clearance was granted or the met hod succeeded.
secRe sultFail (1)
This type indicates that clearance was not granted or the method had some other failure.
secRe sultPending (2)
This type indicates that clearance was not yet granted and the result is to be returned later or another
security request is pending, so you cannot perform this action at this time.
secRequestType
This type is mainly used when the control is requesting information through one of the Request* events.
It specifies what information the security clearance is currently requesting.
secRequestNone (0)
This type is never passed into the Request events, but can be returned by the Query* methods to specify
that no security is required for the queried application/function.
secRequestDoneBy (1)
This type is passed int o the Request* events wh en DoneBy information is required to complete a function
security clearance request. It can also be ret urned by the QueryFunctionS ecurity method to specify that
DoneBy security is required for the queried function.
secRequestCheckBy (2)
This type is passed into the Request* events when CheckBy information is required to complete a
function security clearance request. It can also be ret urned by the QueryFunctionSecurity method to
specify that DoneBy and CheckBy security is required for the queried function.
secRequestApplication (3)
This type is passed into the Request* events when DoneBy information is required to complete an
application security clearance request. It can also be returned by the QueryApplicationSecurity method
to specify that DoneBy security is required for the queried application.
The following code sample is of a Visual Basic application, which uses Batch Management security. The
command button, Command1 has some secured functionality.
Private Sub Command1_Click()
BatchSec1.FunctionClearance MyApp, MyFunc, "", _
secWindowlessEvent, MyUserData
End Sub
Private Sub BatchSec1_FunctionClearanceComplete(ByVal Result As
BATCHSECCTRLLibCtl.secResultType, ByVal ApplicationID As Long, ByVal FunctionID
As Long, ByVal UserData As Long)
If Result = secResultOk Then
' Security is OK.
' Do originally requested action encoded in UserData...
Select Case UserData
Case 1
' Do Case 1
Case 2
' Do Case 2
'...
End Select
Else
MsgBox BatchSec1.LastErrorMessage, , _
"Security Error Code " & Str(BatchSec1.LastErrorCode)
End If
End Sub
Private Sub BatchSec1_RequestNewPassword( _
ByVal RequestType As BATCHSECCTRLLibCtl.secRequestType, _
ByVal UserID As String, ByVal UserData As Long)
frmNewPasswordDlg.UserID.Text = UserID
frmNewPasswordDlg.Show vbModal
End Sub
Private Sub BatchSec1_RequestUserInfo( _
ByVal RequestType As BATCHSECCTRLLibCtl.secRequestType, _
ByVal ApplicationID As Long, _
ByVal ApplicationName As String, _
ByVal FunctionID As Long, ByVal FunctionName As String, _
ByVal UserData As Long)
frmSecDialog.lblApplication.Caption = ApplicationName
frmSecDislog.lblFunction.Caption = FunctionName
Select Case RequestType
Case secRequestType.secRequestApplication
frmSecDialog.lblLevel.Caption = "Application"
frmSecDialog.Show vbModal
BatchSec1.DoneByUserID = frmSecDialog.UserID.Text
BatchSec1.DoneByPassword = _
frmSecDialog.Password.Text
Case secRequestType.secRequestDoneBy
frmSecDialog.lblLevel.Caption = "Done By"
frmSecDialog.Show vbModal
BatchSec1.DoneByUserID = frmSecDialog.UserID.Text
BatchSec1.DoneByPassword = _
frmSecDialog.Password.Text
Case secRequestType.secRequestCheckBy
frmSecDialog.lblLevel.Caption = "Check By"
frmSecDialog.Show vbModal
BatchSec1.CheckByUserID = frmSecDialog.UserID.Text
BatchSec1.CheckByPassword = _
frmSecDialog.Password.Text
End Select
End Sub
Example 4: WinType = secWindowlessCheck
This type of window assumes that some scripting or code provides the UserI D and password information
directly into the security object properties before the FunctionClearance or ApplicationClearance met hod
is called. This window type can be used in conjunction with the QueryApplicationSecurity or
QueryFunctionS ecurity methods in order to determine which if any dialogs would need to be shown.
Because the call to the FunctionClearance or Application Clearance method occurs after the information
is supplied, this window type can be used by InTouch, because the security dialogs to ex ecute in this
mode can be modeless.
{InTouch script to open XV101 in manual mode}
{On XV101 icon click}
SEC_APPLICATION = 99;
SEC_FUNCTION = 1;
SEC_USERDATA = 101;
SEC_LEVEL = BatchSec3.QueryFunctionSecurity(SEC_APPLICATION, SEC_FUNCTION);
IF SEC_LEVEL == 0 THEN
{No security required. Grant permission.}
SEC_GRANTED = SEC_USERDATA;
ELSE
SEC_REQUEST = "Done By"; {Ask for Done By Check}
Show "Security Check"
ENDIF;
{Data Change Script on SEC_GRANTED}
IF SEC_GRANTED == 100 THEN
XV100_MAN = 1;
ENDIF;
IF SEC_GRANTED = 101 THEN
XV101_MAN = 1;
ENDIF;
IF SEC_GRANTED = 102 THEN
XV102_MAN = 1;
ENDIF;
{Reset}
SEC_GRANTED = 0;
{OK Button Click Script on "Security Check" Window}
IF SEC_REQUEST == "Done By" THEN
BatchSec3.DoneByUserID = SEC_USERID;
BatchSec3.DoneByPassword = SEC_PASSWORD;
IF SEC_LEVEL = 1 THEN
BatchSec3.FunctionClearance( SEC_APPLICATION,
SEC_FUNCTION, "", 3, SEC_USERDATA );
HideSelf;
ELSE
{Reset Window to accept entries for Check By}
SEC_REQUEST = "Check By";
ENDIF;
ELSE
{SEC_REQUEST = "Check By"}
BatchSec3.CheckByUserID = SEC_USERID;
BatchSec3.CheckByPassword = SEC_PASSWORD;
BatchSec3.FunctionClearance( SEC_APPLICATION,
SEC_FUNCTION, "", 3, SEC_USERDATA );
HideSelf;
ENDIF;
{Reset Security Check Window fields}
SEC_USERID = "";
SEC_PASSWORD = "";
{{ActiveX Script: FunctionClearanceComplete}
IF #ThisEvent.FunctionClearanceCompleteResult == 0 THEN
{ Security Test Passed. User data tells me what was requested. }
SEC_GRANTED = #ThisEvent.FunctionClearanceCompleteUserData;
ELSE
{ Security failed. error message }
OPR_MESSAGE = #ThisControl.LastErrorMessage;
ENDIF;
C HAPTER 22
.NET GUI Control
You can use Batch Management .NE T GUI Controls in ArchestrA IDE to quickly and easily create
custom ArchestrA Graphics.
You can configure/design ArchestrA Graphics using the .NE T controls similar to using the ActiveX GUI
controls in the InTouch HMI. Most of the control implementation concepts and functionality still applies.
For more information on ActiveX GUI controls, see "ActiveX GUI Controls."
You must have the appropriate client licensing in order to successfully use the Batch Management .NET
GUI Controls.
You can change the Font property using the Graphics Editors Property pane.
In This Chapter
Installing the .NE T Controls in Batch Management ........................................................................ 581
Importing .NE T Controls in ArchestrA IDE .................................................................................... 581
Using Batch Management .NE T Controls ..................................................................................... 582
Limitations .................................................................................................................................. 583
The following .NE T controls are imported and are available under the Graphic Toolbox tab as
shown in the screenshot:
o BatchButton: The BatchB utton control is a configurable batch action button. It is tied to a
BatchList control or in some cases it is linked to a BatchField control.
o BatchField: The BatchField control is a data field that is linked to a BatchList control.
o BatchGuiConfig: The BatchGuiConfig control provides central administration of all Batch GUI
controls for an applic ation.
o BatchLi st: The BatchList control provides live list data.
o BatchSecCtrl: The BatchSec Ctrl control allows the user application access to the Batch
Management security system so that applications and functions can be secured.
o InBatchSFC: The InB atchSFC control allows you to set different colors to different conditions in
the SFC.
o OcxBatch: The OcxBatch control provides an interface that you can use to schedule, monitor,
and cont rol batches.
For more information related to the Properties description of eac h control, refer to "ActiveX GUI
Cont rols".
5. Click the Embed Graphic icon. The Galaxy Browser dialog box appears.
6. Select/find the .NE T control and then click OK. The .NE T control is now ready for insertion to the
Demo object symbol.
7. Click the insertion point in the graphic editor. The selected .NE T control appears.
To edit control properties
1. Select the appropriat e control. The Properties pane appears in the right side of the window.
2. To update the Batch Management specific properties, select and update the Properties available
under the Mi sc category.
Note: To configure BatchButton, BatchField, and BatchList, you can use the ControlType property.
Click the ellipsis (…) button to access the Properties page.
The font must be set in the IDE properties list for the control and not in the dialog box that is shown when
you change the ControlType property.
Limitations
The .NE T controls have the following exceptions/issues:
InBatchSFC example does not get displayed at design time.
The visible property for BatchGuiConfig must be manually set to false.
Changing the Font using the ControlType dialog box (property page) does not update the font
properly. The Font property can be changed using the Graphics Editor’s Property pane.
C HAPTER 23
InTouch Batch Tag Browsing and
Referencing
InTouch client applications frequently use Batch Management information. The Batch Management data
is accessed through tags. These tags typically exist in the InTouch Tagname Dictionary and are used in
the appropriate scripts and animation links. As a result, the InTouch application can have a large number
of batch tags.
As an alternative to maintaining the batch tags in the InTouch Tagname Dictionary, you can remotely
reference them within the InTouch application. You can browse all Batch Management tags from
InTouch and do not need define them in the local Tagname Dictionary. The result is smaller and more
easily managed Batch Management client applications.
In This Chapter
Overview.................................................................................................................................... 585
Define Batch Tag Sources ........................................................................................................... 586
Remote Referencing Batch Tags ................................................................................................. 588
Overview
Equipment tags and batch function tags are the two general categories of Batch Management tags. The
equipment tags refer to the phase control and status tags and to the phase formula parameter tags. The
batch function tags provide access to the Batch Management System hooks. To use any of these tags in
an InTouch client application, the tag must be accessible to the application.
The following three methods are available for making these tags available in the InTouch application:
Manually define the tags in InTouch.
Use the Tag Linker to export a .csv file that is imported into InTouch using the DBLOAD utility. For
more information on exporting tags using Tag Linker, see " Tag Linker."
Use the InTouch browsing capability to reference the batch tags without having to creat e the tags in
the InTouch Tagname Dictionary.
This section describes the steps that are required to enable you to browse Batch Management tags from
InTouch and to remotely reference the tags in InTouch wit hout having to maintain the tags in the
tagname dictionary.
There are only two required steps:
1. Define the batch tag sources in InTouch.
2. Use the batch tags in the InTouch application.
Note: Batch function tags are not accessible through the InTouc h tag brows er.
2. Click the Define Tag Sources button. The Define Tag Sources dialog box appears.
5. Use the tags from each source in the InTouch application as required. Change the Tag Source to
view the different batch tags available.
2. Use the Batch Management tags as per their data type (analog/string).
3. Assign tags using the syntax for referencing the I/ O status tags.
4. View the tags in InTouch during run time.
C HAPTER 24
Alarm and Event Interface
You can easily associate alarm and event conditions to the processing of specific batches. Alarms and
operator events from InTouch and Application Server are stored in the InTouch Alarms database.
In This Chapter
Overview.................................................................................................................................... 591
Required Configuration ............................................................................................................... 592
Overview
Batch Management takes advantage of the powerful alarm and event system provided by InTouch and
also by Application Server. The Batch Management Reports system provides the alarm information in
the context of the batch in which the alarm or event occurred. The Batch Management Alarm and E vent
reports can be configured to work with the InTouc h Alarm database (WWALMDB) or the Historian
Traditional SQL Alarm Database (A2A LMDB).
For detailed information about configuring the Alarm system, refer to the InTouch and Application Server
documentation.
Required Configuration
Configure the alarms and events within InTouch or Application Server. All tags must adhere to the Batch
Management tag structure for mapping units and connections to a batch. Only tags that start with a unit
or connection name can be mapped to a batch. Tags that cannot be mapped to a batch are not
associated to the alarms report. In order to determine the part of the "tagname" that is a unit or
connection name, the "tagname" must have one of the following three delimiters after the unit or
connection name (.-#) when written to the alarm dat abas e. For example, "Reactor1. Temp. Target" would
map to unit "Reactor1".
The # delimiter was added to support the Batch Management Phase Application Objects which are
created when a process model is imported into Application Server. These Phase object "tagnames" do
not typically have a delimiter between the unit and phase n ame. The Batch Management IDE Import
utility has an option to add the # delimiter to the "tagname" (between the unit and phase name) so the
object alarms are eligible to be reported upon.
Note: Because the # character is legal to be used in the Batch Management Process Model
unit/connection name, there is a very rare chance of a false-positive alarm association. To avoid this,
make sure your units/connections that use the # character do not match any of your other
units/connection when you truncate it before the #. As an example, don't name your units Unit1 and
Unit1# in the Process Model.
For more information on the Batch Management tag structure, see Chapter 4, "Process Modeling."
C HAPTER 25
Redundancy
You can configure redundancy for the batch management system. A redundant system ensures smooth
and continuous Batch Management system processing on a backup computer if hardware fails on the
master server. Redundancy is particularly useful in critical manufacturing facilities operating 24 hours a
day, seven days a week, where the loss of the batch system or associated batch data is intolerable.
You initially configure redundancy as part of the Batch Management Server installation process. You can
configure Batch Management Runtime Clients to operate with redundant servers.
Important: Configuring a redundant batch control system requires comput er network experience. We
strongly recommend that only qualified personnel configure the redundant system.
If you are installing a redundant system, you must configure your system as described in this section
before you install the batch management system software.
In This Chapter
Overview.................................................................................................................................... 593
Failover Conditions ..................................................................................................................... 594
Configuring a Redundant Network ............................................................................................... 596
Installing and Configuring a Redundant Batch Management System .............................................. 600
Overview
Redundancy is the capability of the batch management system to automatically switch batch control to a
backup server if a primary server shuts down bec ause of a hardware failure or power loss. A secondary
network should be exclusively dedicat ed to batch sy stem redundancy. This secondary network supports
the heartbeat bet ween the primary and backup batch servers.
Reliable network communic ations bet ween the servers is absolutely critical to the proper functioning of
Batch Management Server redundancy.
The order in which you deploy the components of the redundant system is important. You must deploy
the redundant system in the following order.
1. Establish a valid network configuration.
2. Install the redundant batch servers.
3. Install and configure batch clients.
Redundancy Operation
Batch Management Development Clients and Batch Management Runtime Clients are normally clients
of a single Batch Management Server. A redundant system has two servers, either of which can operate
as the primary Batch Management Server. Each client must therefore be connected to the primary LAN
and must also be properly configured to gain network access to both servers.
The Batch Management control system can operate concurrent configuration and run -time servers. The
presence of two identical servers ensures that the backup server can continue run -time operation if the
master server fails.
All database modifications are written to databases located on bot h the master and backup servers. If the
master server fails, the backup server can continue all batch operations after the failover event.
When a failover occurs, the backup server becomes the master. When the failed Master is restored, it
assumes the role of the backup server.
In a redundant configuration, the Batch Management application files on eac h server are shared. When
you configure redundancy for a server, all you need to provide is the net work name (host name) of the
other redundant server.
Failover Conditions
The following conditions trigger failovers in a redundant server configuration:
Critical Services shutdown – If any of the following Batch Management servic es fail (crash or do not
run):
Batch Management
o BatchManagement_IBMX (InB atch MX Interface)
o BatchManagement_B atchMngr (Batch Manager)
o BatchManagement_IB Cli (InBatch Client Manager)
o BatchManagement_LogMgr (Batch Management Log Manager)
o BatchManagement_RedMngr (B atch Management Redundancy Manager)
o BatchManagement_HistQMngr (B atch Management History Manager); in turn shuts down
BatchManagement_B atchMngr
Note: If you have an active Batch which is running and the History Manager is down, then the Batch
Manager shuts down and triggers a failover.
Note: For the Critical Services shutdown and the Exit and Shutdown of the Master server, you must
configure the InTouch BatchGuiControl ActiveX control of the client to fail over.
Complete Communication Failure (Network Failure) – The Batch Management Servers fail over but
the InTouch client cannot fail over. Operator intervention is necessary on both the server side and
client side. The operator must restart the InTouch View client.
Power Failure (Master) – The Batch Management Servers fail over. In this scenario, the InTouch
client (using the BatchGuiCont rol) does not fail over. An operator must restart the InTouch View
client. The BatchGuiControl does not detect the change in servers and still thinks that it has a
connection to the master server.
Failover Scenarios
The following section describes basic Batch Management Server failover scenarios. Scenarios include
failover using two servers and a recommended failover implementation in the context of Application
Server.
Note: Do not start the failed master as the backup until the problem that caused the failure is repaired.
If the server does not have a redundancy state of Ma ster with Valid Backup, or if you are not using
redundancy and IBCli loses communications with the control system, IBCli continues trying to read valid
tag values.
The read error is not reported more than one time pe r tag. Read errors on tags that have never had a
successful read only report the error one time and redundancy is not initiated.
This design ensures that improperly-linked tags do not initiate a redundancy switch-over.
If communication bet ween the cont rol system and IB Cli fails (that is, IBCli is still running but cannot
communicate), an automatic switch-over to the backup server does not occur. IBCli issues Read Failed
errors for the linked tags that are attempting to be read. If this action occurs, an operator must determine
the cause of the failure and then determine if a manual switch-over to the backup server can resolve the
communication fault.
Important: Qualified personnel must perform the redundant net work configuration.
The names that you use to identify your redundant networks must be different from the computer names.
In previous versions of Batch Management, the primary network was identified by the network name of
the computer. The only place that the network names should be used is in the host file.
The file content is the same for the master and backup computers. Note that the entries corres pond to
the entries in the RedCfg file. The #PRE entries cause the entries to be preloaded at system startup.
Using #P RE entries is recommended for improved performance.
IP addresses and computer names shown here are examples.
The following figure shows an example configuration for redundancy for I/A Series systems.
AW7004SN
AW7003PN
AW7003SN
<blank line>
In this example, the names AW7003P N, AW7003S N, AW7004PN, and AW7004SN are defined in the
lmhosts file on each computer.
RedCfg File Structure
For details, see Chapter 5, Configuring Batch Management, in the Batch Management Installation
Guide.
Lmhosts File
The lmhosts file contains the structure described below. The lmhosts file is located in the following folder
on your computer:
C:\winnt\ system32\drivers\etc
The file is the same for all stations. Note that the names entered correspond to the entries in the RedCfg
file. The #PRE entries cause the entries to be preloaded when your system is started. Using PRE entries
is recommended for improved performance.
10.40. 20.181 AW7003 #PRE
10.40. 20.181 AW7003P N #PRE
151.128.8.65 AW7003S N #PRE
10.40. 20.182 AW7004 #PRE
10.40. 20.182 AW7004P N #PRE
151.128.8.66 AW7004S N #PRE
10.40. 20.183 AW7005 #PRE
10.40. 20.184 AW7006 #PRE
10.40. 20.185 HistoryServer #PRE
Hosts File
The Hosts file contains I/A Series network information and is located in the following file on your
computer:
C:\winnt\ system32\drivers\etc
You do not need to change the Hosts file because Batch Management with I/A components software
does not use this fil e.
You can edit batch control system databases only on the active master server.
If the backup server or network loses communication (its synchronization with the master server), an
error message is generated to the Log Viewer. In this case, you should review the hardware or
system configuration requirements.
If a hardware failure occurs during the transition of the status of one or more phases, the batch
management system assumes that the control system phase logic is correc t. Thus, when the backup
server starts, the status for all phases that were running before the failure is read from the control
system.
When you start a backup server, we recommend that the batch control system activity be at the
minimal level. This practice ensures the highest degree of accuracy for database synchronization.
Note: All configuration changes other than recipes and materials should be made before starting the
run-time system.
After the Environment Manager on the master starts, the BatchManagement_RedMngr service starts.
This service creates a RedState file indicating that the server is the master. The RedState file also logs
the time at which the server became the master.
If RedMngr fails to start, Environment Manager continues normal operation. RedMngr sends a message
to the Batch Logger indicating an error. If this occurs, shut down the Environment Display and restart it.
2. If the RedState file indicates that its server is the master, the master attempts to read the RedState
file on the backup server. If a backup RedState file is not found, the RedMngr does not start and a
message is generated to indicate the condition.
3. If the RedState file on the backup server is found, that file is read and its last state is determined. If
the RedState of the other server is backup, the server starts as the master.
4. If the RedState file on the remote server indicates that its last state was m aster, the time logged to
both of the RedStat e files is evaluated. If the RedState file on the local (interrogating) server is more
recent, it starts as the master.
5. If t he time in RedState file on t he ot her server is more recent, the local (interrogating) server changes
its state to backup and starts.
The Environment Di splay enables forcing either server to operate as the master, regardless of the
RedStat e files on each server. In a redundant system, the Force System to Ma ster command is
enabled on the File menu of the Environment Display application.
Note: Be extremely careful when you use the Force System to Master command. When the server
starts as a backup, it synchronizes all the configuration databases with those loc ated on the master
server. Therefore, if the server was previously operating as the master, the data generated during the
previous processing is overwritten by the synchronization process.
IBSERV_RE D_S TA TE Integer Cont ains the RedState value for the Batch
Management Server.
-1: Error
0: Master with invalid backup.
1: Master with valid backup.
2: Invalid backup.
3: Valid backup.
5: Failed master.
6: Not a redundant system.
C HAPTER 26
System Administration
This section describes the utilities and procedures that you can use to administer your Batch
Management System components.
In This Chapter
Administering Batch Components on Operating Systems .............................................................. 605
Administering the History Server .................................................................................................. 606
Backing Up Batch Management Databases .................................................................................. 613
Managing Batch Configurations ................................................................................................... 613
Configuring I/A Series Subsystems .............................................................................................. 631
Configuring I/A Series Operator Action Journal ............................................................................. 636
Administering Terminal Server Licenses ....................................................................................... 637
Enter administrator user credentials in the following dialog box for proper functioning of Batch
Management modules.
Note: If you have enabled Batch Management security for the AdminWeb application, you are prompted
to enter a valid User and Password to access the administration web pages. By default, security is not
enabled. If Batch Management is configured for OS Security, you may not be prom pted for credentials if
the browser is configured to trust the Batch History intranet site. In this case, the Windows desktop user
will be the authenticated user.
Note: This example shows an error. If no errors exist, the table is blank.
Note: If you decide not to fix the error, you can clear the Di sable retry attempts for thi s statement
setting.
Note: The archiving operation may fail when the location of the dump file is set to the system root (that is,
C:\), depending on the credentials assigned to the Microsoft SQL servic es in the History node.
2. In the Job Name box, type a name for the archive job.
3. In the Job De scription box, optionally type some text that describes the archive job.
4. In the Scheduled Date box, type the date that the History Server is to perform the archive job
(mm/dd/yyyy).
5. In the Scheduled Time box, type the time when the History server is to perform the archive job
(hh:mm am/ pm).
6. In the Dump Device Name box, type any device name that you want to use for the archive job. The
History Archive application creates a backup device in Microsoft SQL Ser ver with the same name.
7. In the Dump File Name box, type the complete path and name to be used when t he archive job runs.
8. Select a name from the Archive Database Name list.
9. In the Hi story Data Start Date box, type the starting point for archiving history dat a (mm/dd/yyyy).
This date is inclusive. All batches complet ed on or after this date are archived.
10. In the Hi story Data End Date box, type the ending point for archiving history data (mm/dd/yyyy).
This date is inclusive. All batches complet ed on or before t his date are archived.
11. Slide the Options setting to enable the Purge Data After Archive if you want the archive job to
delete the data (defined by the start and end dates ) from the History database when it runs the
archive job.
12. Click Add.
Important: Use extreme caution when you purge historical information. Always make sure the data t o be
purged has been successfully archived. It is recommended that you archive and verify your data first,
and then, if required, purge it.
2. In the Job Name box, type a name for the archive job.
3. In the Job De scription box, optionally type some text that describes the archive job.
4. In the Scheduled Date box, type the date that the History Server is to perform the archive job
(mm/dd/yyyy).
5. In the Scheduled Time box, type the time when the History server is to perform the archive job
(hh:mm am/ pm).
6. In the Hi story Data Start Date box, type the starting point for archiving history dat a (mm/dd/yyyy).
This date is inclusive. All batches complet ed on or after this date are archived.
7. In the Hi story Data End Date box, type the ending point for archiving history data (mm/dd/yyyy).
This date is inclusi ve. All batches complet ed on or before this date are archived.
8. Click Add.
2. In the Job Name box, type a name for the archive job.
3. In the Job De scription box, optionally type some text that describes the archive job.
4. In the Scheduled Date box, type the date that the History Server is to perform the archive job
(mm/dd/yyyy).
5. In the Scheduled Time box, type the time when the History server is to perform the archive job
(hh:mm am/ pm).
6. In the Dump Device Name box, type any device name that you want to use for the archive job. The
History Archive application creates a backup device in Microsoft SQL Se rver with the same name.
7. Select a name from the Archive Database Name list.
8. Click Add.
2. Click Delete.
To restore an archive job
1. Select the archive from the Completed Archi ves list.
2. Click Restore.
If you want to view the Completed Archive before you restore it, click the archive Name. The
Completed Archive Details page appears.
3. After viewing the information, click Restore Archive.
The Hi story Archive - Add Re store page appears.
4. Review and edit the Add Re store job, and then click Add.
The selected archive is restored.
Note: The DB COPY utility is designed for use on an active Batch Management Server that contains the
databases that you want to back up. If you want to back up databases that are not active, you can use a
standard Windows file copy.
WARNI NG! Do not use DB COPY to back up configuration databases while Update Runtime or Update
Configuration is in progress. Your data can become corrupt.
When you copy files into the config_A folder, all previous databases are overwritten. If you are making
this change in a production system, it is highly recommended that you perform a thorough control system
validation after you have copied the dat abases into the config_A folder.
Note: If you are making this change on a production system, ensure that all batches are complete and
removed from the Batch Schedule list.
We recommend that you us e the following guidelines whenever you need to overwrite the config_A
folder.
1. On the Environment Di splay dialog box, perform an Exit and Shutdown operation.
2. Copy the current config_A files to anot her folder as a backup precaution.
3. Copy all of the files in the dflt_cfg folder to the config_A folder.
4. If the system is set up for redundancy, ensure that the original RedCfg file i s in the config_A folder.
5. Use the editors to create a new system configuration or copy a previously saved configuration into
the config_A folder.
.batchwr Location:
...\Batch Management\cfg\config_A
Description:
Directory that contains all batch Warm Restart data
files.
Usage:
Created by install and no modifications are made to
directory.
.batchwr\system.wr Location:
...\Batch Management\cfg\config_A
Description:
Current value of system tags across all equipment.
Usage:
Changes made by the Batch Manager during batch
processing.
.batchwr\[clb].wr Location:
...\Batch Management\\cfg\config_A
Description:
File for each batch in the schedule database.
Structure of file name is
CampaignID.LotID.BatchID.wr.
Usage:
Files added and removed by Batch Manager during
batch processing.
.F2.lock Location:
...\Batch Management\\cfg\config_A
Description:
Batch warm restart lock file created on master server
by backup server during redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup Batch Management Server is started.
.F2.sync Location:
...\Batch Management\cfg\config_A
Description:
Batch warm restart synchronization file created on
master server by backup server during redundancy
startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
.RedState Location:
...\Batch Management\cfg\config_A
Description:
Cont ains the current state of the server in a
redundant configuration.
Usage:
Redundancy only. Created and modified by RedMngr
during redundancy operation.
BatchDB.dat Location:
...\Batch Management\cfg\config_A
Description:
Batch schedule database data file.
Usage:
Changes as batches are added and removed from
the Batch Scheduler.
BatchDB.dbd Location:
...\Batch Management\cfg\config_A
Description:
Batch schedule database schema file.
Usage:
Does not change.
BatchDB.key Location:
...\Batch Management\cfg\config_A
Description:
Batch schedule database index file.
Usage:
Changes as batches are added and removed from
the Batch Scheduler.
BatchDB.lock Location:
...\Batch Management\cfg\config_A
Description:
Batch schedule database lock file created on master
server by backup server during redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
BatchDB.sync Location:
...\Batch Management\cfg\config_A
Description:
Batch schedule dat abas e synchronization file c reated
on master server by backup server during
redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
[hostname][pid].log Location:
...\Batch Management\cfg\config_A
Description:
Raima Data Manager trans action log files.
Usage:
Each application creates one Trans action Log File
(LOG) file where hostname is the name of the
machine and pid is the proc ess id. This file is used
within a transaction to store the pending database
changes. An application creates its own LOG file at
the beginning of processing and deletes it at the end
of processing.
CfgLinkDB.dat Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Configuration TagLinker database data file.
Usage:
Changes as modifications are made to the
configuration Process Model database and also
through changes made with TagLinker or by selecting
the Update Configuration menu option within the
Environment Display.
CfgLinkDB.dbd Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Configuration TagLinker database schema file.
Usage:
Does not change.
CfgLinkDB.key Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Configuration TagLinker database index file.
Usage:
Changes as modifications are made to the
configuration Process Model database and also
through changes made with TagLinker or by selecting
the Update Configuration menu option within the
Environment Display.
CfgLinkDB.lock Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Configuration TagLinker database lock file creat ed on
master server by backup server during redundancy
startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
CfgLinkDB.sync Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Configuration TagLinker database synchronization
file created on master server by backup server during
redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
CfgModelDB.dat Location:
...\Batch Management\cfg\config_A
Description:
Configuration Process Model database dat a file.
Usage:
Changes as modifications are made with the Proc ess
Model Editor or by selecting the Update
Configuration menu option within the Environment
Display.
CfgModelDB.dbd Location:
...\Batch Management\cfg\config_A
Description:
Configuration Process Model database schema file.
Usage:
Does not change.
CfgModelDB.key Location:
...\Batch Management\cfg\config_A
Description:
Configuration Process Model database index file.
Usage:
Changes as modifications are made with the Proc ess
Model Editor or by selecting the Update
Configuration menu option within the Environment
Display.
CfgModelDB.lock Location:
...\Batch Management\cfg\config_A
Description:
Configuration Process Model database lock file
created on master server by backup server during
redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
CfgModelDB.sync Location:
...\Batch Management\cfg\config_A
Description:
Configuration Process Model database
synchronization file created on master server by
backup server during redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
EnvDB.dat Location:
...\Batch Management\cfg\config_A
Description:
Environment Editor database data file.
Usage:
Changes as modifications are made with the
Environment Editor.
EnvDB.dbd Location:
...\Batch Management\cfg\config_A
Description:
Environment Editor database schema file.
Usage:
Does not change.
EnvDB.key Location:
...\Batch Management\cfg\config_A
Description:
Environment Editor database index file.
Usage:
Changes as modifications are made with the
Environment Editor.
EnvDB.lock Location:
...\Batch Management\cfg\config_A
Description:
Environment Editor database lock file created on
master server by backup server during redundancy
startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
EnvDB.sync Location:
...\Batch Management\cfg\config_A
Description:
Environment Editor database synchronization file
created on master server by backup server during
redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
hinfo.dat Location:
...\Batch Management\cfg\config_A
Description:
Storage location for History Admin details.
Usage:
Modify with the History Admin tool.
host.dat Location:
...\Batch Management\cfg\config_A
Description:
Permits tag browsing from client applications.
Usage:
Modified by Environment Manager when started.
LinkDB.dat Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Run-time TagLinker database data file.
Usage:
Changed only by selecting the Update Runtime
menu option within the E nvironment Display.
LinkDB.dbd Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Run-time TagLinker database schema file.
Usage:
Does not change.
LinkDB.key Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Run-time TagLinker database index file.
Usage:
Changed only by selecting the Update Runtime
menu option within the E nvironment Display.
LinkDB.lock Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Run-time TagLinker database lock file created on
master server by backup server during redundancy
startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
LinkDB.sync Location:
...\Batch Management\cfg\config_A
(Batch Management only)
Description:
Run-time TagLinker database synchronization file
created on master server by backup server during
redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
LoggerDB.dat Location:
...\Batch Management\cfg\config_A
Description:
Process Logger Edit or databas e data file.
Usage:
Changes as modifications are made with the Proc ess
Logger Editor.
LoggerDB.dbd Location:
...\Batch Management\cfg\config_A
Description:
Process Logger Edit or databas e schema file.
Usage:
Does not change.
LoggerDB.key Location:
...\Batch Management\cfg\config_A
Description:
Process Logger Edit or databas e index file.
Usage:
Changes as modifications are made with the Proc ess
Logger Editor.
LoggerDB.lock Location:
...\Batch Management\cfg\config_A
Description:
Process Logger Edit or databas e lock file creat ed on
master server by backup server during redundancy
startup.
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
LoggerDB.sync Location:
...\Batch Management\cfg\config_A
Description:
Process Logger Edit or databas e synchronization file
created on master server by backup server during
redundancy startup.
Usage:
Redundancy only. created by RedMngr when the
backup batch server is started.
MaterialDB.dat Location:
...\Batch Management\cfg\config_A
Description:
Materials Editor database data file.
Usage:
Changes as modifications are made with the
Materials Editor.
MaterialDB.dbd Location:
...\Batch Management\cfg\config_A
Description:
Materials Editor database schema file.
Usage:
Does not change.
MaterialDB.key Location:
...\Batch Management\cfg\config_A
Description:
Materials Editor database index file.
Usage:
Changes as modifications are made with the
Materials Editor.
MaterialDB.lock Location:
...\Batch Management\cfg\config_A
Description:
Materials Editor database lock file created on master
server by backup server during redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
MaterialDB.sync Location:
...\Batch Management\cfg\config_A
Description:
Materials Editor database synchronization file
created on master server by backup server during
redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
ModelDB.dat Location:
...\Batch Management\cfg\config_A
Description:
Process Model database data file.
Usage:
Changed only by selecting the Update Runtime
menu option within the E nvironment Display.
ModelDB.dbd Location:
...\Batch Management\cfg\config_A
Description:
Process Model database schema file.
Usage:
Does not change.
ModelDB.key Location:
...\Batch Management\cfg\config_A
Description:
Process Model database index file.
Usage:
Changed only by selecting the Update Runtime
menu option within the E nvironment Display.
ModelDB.lock Location:
...\Batch Management\cfg\config_A
Description:
Process Model database lock file created on master
server by backup server during redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
ModelDB.sync Location:
...\Batch Management\cfg\config_A
Description:
Process Model database synchroniz ation file created
on master server by backup server during
redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
RecipeDB.dat Location:
...\Batch Management\cfg\config_A
Description:
Recipe Editor database data file.
Usage:
Changes as modifications are made with the Recipe
Editor or changed by Batch Manager during batch
processing.
RecipeDB.dbd Location:
...\Batch Management\cfg\config_A
Description:
Recipe Editor database schema file.
Usage:
Does not change.
RecipeDB.key Location:
...\Batch Management\cfg\config_A
Description:
Recipe Editor database index file.
Usage:
Changes as modifications are made with the Recipe
Editor or changed by Batch Manager during batch
processing.
RecipeDB.lock Location:
...\Batch Management\cfg\config_A
Description:
Recipe Editor database lock file created on master
server by backup server during redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
RecipeDB.sync Location:
...\Batch Management\cfg\config_A
Description:
Recipe Editor database synchronization file creat ed
on master server by backup server during
redundancy startup.
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
RedCfg Location:
...\Batch Management\cfg\config_A
Description:
Redundancy configuration file.
Usage:
Redundancy only. Creat ed by install. May be
changed manually. Configuration changes not
required during normal operation.
SecurityDB.dat Location:
...\Batch Management\cfg\config_A
Description:
Security Editor database data file.
Usage:
Changes as modifications are made with the Security
Editor.
SecurityDB.dbd Location:
...\Batch Management\cfg\config_A
Description:
Security Editor database schema file.
Usage:
Does not change.
SecurityDB.key Location:
...\Batch Management\cfg\config_A
Description:
Security Editor database index file.
Usage:
Changes as modifications are made with the Security
Editor.
SecurityDB.lock Location:
...\Batch Management\cfg\config_A
Description:
Security Editor database lock file created on master
server by backup server during redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
SecurityDB.sync Location:
...\Batch Management\cfg\config_A
Description:
Security Editor database synchronization file created
on master server by backup server during
redundancy startup.
Usage:
Redundancy only. Creat ed by RedMngr when the
backup batch server is started.
vista.taf Location:
...\Batch Management\cfg\config_A
Description:
Raima Data Manager Transaction Activity File.
Usage:
If it does not exist, Raima Data Manager
automatically creates it. The name of a process LOG
file is written to the Transaction Activity File (TA F) just
before a commit and removed following the commit in
order to provide for external recovery in the event that
the lock manager fails.
HistQDB.dat Location:
...\Batch Management\HistQ
Description:
History queue database dat a file.
Usage:
Changed by the History Queue Manager.
HistQDB.dbd Location:
...\Batch Management\HistQ
Description:
History queue database schema file.
Usage:
Does not change.
histq.taf Location:
...\Batch Management\HistQ
Description:
History Queue transaction activity file.
Usage:
If it does not exist, Raima Data Manager
automatically creates it.
dflt_HistQ Location:
...\Batch Management\HistQ
Description:
Folder containing Default HistQDB dat abase.
Usage:
Does not change.
CFGOP T 0 = No configuration
1 = Auto checkpoint
2 = RTN to normal
To Configure the CP
1. From the FoxView process_eng or soft ware_eng environment display, select the top menu item,
Config, then select CIO_Config to invoke ICC.
2. From the Compound Selection dialog box, select the CP station compound (for example,
CP4001_S TA) and click OK.
The ICC main dialog box appears.
3. From the Compounds list, select the CP station compound.
4. From the Compound functions list, select View Blocks/ECBs in this compound.
A new dialog box shows the block name list for the selected compound.
5. Select the block name S TA TION.
6. From Block/ ECB Functions, select Edit all Block/ECB Parameters.
7. Scroll through the paramet er list and find CFGOP T. Select the parameter and type 2 for the value.
8. Click Enter.
9. Click Done.
10. To close ICC, click Exit.
Result
Configuration
6. From the top menu, select Show > Available WPs. This allows you to select the workstation to be
configured.
7. Select the next required Group Device parameter and double -click a workstation name from the
Available WP list.
8. Click Enter.
9. Repeat steps 1 through 8 for each additional workstation that you want to configure for the
compound.
This configuration process is required for each compound that sends messages to the BMI.
10. Click Done.
11. To close ICC, click Exit.
FoxAlert provides a display feat ure to display proc ess alarms using configurable filters. FoxAlert can
display process alarms associated wit h a batch by matching Batch ID data in the LOOP ID parameter of
the alarm. For FoxAlert (in an I/A Series operator wo rkstation) to rec eive batch alarms, you must
configure the station name in the GRx DVn parameter of the compound.
To Configure in FoxAlert
1. A configuration file <install dir>\IA_Config\
BatchAlarmCfg.txt is provided for you to copy and paste from when you configure the FoxAlert
command button. You must first open this file with a text editor such as WordPad and edit the
<install dir> to point to the correct product installation path.
2. From FoxView display, select the menu item Config > Di spalarmCfg.
The FoxAlert main dialog box appears. You can use it to configure a command button for CAD
display.
3. From the File menu, click Open.
4. Select the alm database named fox boro and click Open.
5. Click Save As and type the required database file name. (for example: BatchXP). This procedure
retains the original databases included with the product.
6. On the right side of the main dialog box of the configuration, select the Alarm Managers option, and
then click New.
The Alarm Manager dialog box appears.
7. Type the following paramet er values:
o Alarm manager name: AM0000
o Station letterbug: XXXXXX
o Screen: Undedicated
o Alarm Manager Property Scheme: fox Default
8. Click OK.
9. On the Di splay and Alarm Managers dialog box, under the Select group, select the option User
Interfaces.
10. From the list of Scheme Names, under the User Interface group, select foxCA D, and under the
Command group, select Edit.
The User Interface Scheme dialog box appears for foxCA D, along with the Edi t dialog box.
11. In the Edit dialog box, select the unused button that you want to configure.
The Pushbutton/Multi-State Button Editor dialog box appears.
12. Click Edit.
Note: If there are no unused buttons on the alarm manager window, first inc rease the number of rows
and then select the button labeled Preview.
13. In the Label field, enter Alm Comment of the PushButton S tate Editor dialog box.
14. In the Button Actions box, copy and paste the button command line found in the BatchAlarmCfg.txt
file, which you modified in the first step:
run <install dir>\bin\CommentApp.exe
&<AlarmType>&<Block>&<BlockDesc>&<Compound>&
<LoopId>&<Date[%Y-%m-%d]>&<Time[%H:%M:%S]>&
<Tenths>&<OptionText>
Example: <install dir> = D:\IASeriesBatch
You can leave the Mnemonic box empty.
15. Click Add and then OK to close the Button S tate Editor dialog box.
16. On the Multi-S tate Button Edi tor dialog box, leave the Acce ss Code at zero.
17. Click OK on the User Interface Scheme dialog box. This action closes the Pushbutton/Multi-State
Button Editor dialog box.
To Configure the Seq Unsusp Button
You can configure a second command button on the FoxAlert CAD user interface display to
acknowledge a SENDCONF type sequence block message. A SENDCONF type message can be
selected and acknowledged by clicking this command button. The button action uns uspends the
sequence block and the CP generates a return-to-normal message. After receiving the return-to-normal
message, FoxAlert removes the SENDCONF message from its user interface dialog box.
To Configure the Seq Unsup Button
Use same configuration procedure described earlier for the Alm Comment button. A separat e line is
provided for copy and paste in the BatchAlarmCfg.txt file for this function.
1. From the User Interface Scheme dialog box, click Preview.
The Edit dialog box appears.
2. Click the unused button that you want to configure.
The Pushbutton/Multi-State Button Editor dialog box appears.
3. Click Edit.
4. In the Label box, type Seq Unsusp.
5. In the Button Actions box, copy and paste the button command line from the BatchAlarmCfg.txt file
that you modified in the first step:
run <install dir>\bin\seq_unsuspend.bat <Compound> <Block>
Example: <install dir> = D:\IASeriesBatch
You can leave the Acce ss Code and Mnemonic box es empty.
6. Click Add and OK to close the Button State Editor dialog box.
7. Click OK on the User Interface Scheme dialog box. This action closes the Pushbutton/Multi-State
Button Editor dialog box.
To Save and Validate the Button Configuration
1. Save the new button configuration into a file.
2. On the Di spalarmCfg dialog box, from the Di splay and Alarm managers file menu, click Save.
3. Click Validate Record. Validation ensures that all the schemes are linked properly. A message
confirms a successful validation.
4. Click Create Install File to create a configuration file for Alarm Manager.
5. Click Done.
6. Click Exit to exit the FoxAlert Configurator Di spalarmCfg.
To Install a Configuration File into Run-Time Directory
1. The configuration file AM0000.cfg that you just created resides in the following configuration
directory:
D:\usr\fox\customer\config\BatchXP.dir\XXXXXX\.
2. From the run-time directory D:\usr\ fox\customer\alarms\cfg\, back up the original configuration file
am_def.c fg by renaming it am_def.cfg.bak.
3. Copy the new config file from configuration directory to the run-time directory as follows:
a. Copy from the following location:
D:\usr\fox\customer\config\BatchXP.dir\XXXXXX\AM0000.cfg"
C HAPTER 27
Viewing License Information
In This Chapter
Viewing License Information for Run -Time Programs .................................................................... 639
Viewing License Information for Configuration Programs ............................................................... 641
1. On the Environment Di splay dialog box, double click the BatchSched icon.
The Batch Scheduler dialog box appears.
2. From the Help menu, click About Batch Scheduler.
Note: The Model Editor dialog box does not open if you are running the Train Edit or or the
TagLinker. You cannot start more than one instance of Model Editor.
C HAPTER 28
Localization and Regional Settings
Batch Management is designed to facilitate localization. The default language of Batch Management is
US-English.
There are three different repositories for localization in Batch Management:
BatchServer: The Batch Server localization resource files are ins talled as part of the Batch
Management Server component.
Admin Web: The Admin Web or History Server localization files are installed as part of the Batch
Management History Server component.
Report Web: The Report Web localization files are installed as part of the Batch Management
Reporting Content component.
After B atch Management installation or upgrade, all the localization resource files (.csv) are copied to the
following folder by default:
<installed folder>\Wonderware\Batch Management\messages
A backup of the .CSV files is copied to this folder:
<installed folder>\Wonderware\Batch Management\messages\engli sh
E ven though CSV files are saved as UTF -8, localization support is only provid ed for single-byte
languages. In some cases, you may have to change your system’s code page to support a specific
single-byte language (for example, Cyrillic).
In This Chapter
Scope of Localization .................................................................................................................. 645
Steps to Localize ........................................................................................................................ 646
Working with the CSV Files ......................................................................................................... 646
Updating the Application-Function names for Localization ............................................................. 647
Localizing the Batch History Reporting Code Values ..................................................................... 648
Localizing Batch Management Web Client .................................................................................... 649
Regional Settings ....................................................................................................................... 649
Scope of Localization
You can localize the user interface, messages, and all features of Batch Management except for the
following:
Help or end-user documentation files
SMC Logger messages
Batch Management Objects (in the ArchestrA IDE)
Any license related error messages
Configuration messages
GUI control headers and labels (you must localize when using these controls in an application)
Reports. You can localize by creating custom reports.
Some user error messages at run time if a connection cannot be made to the Batch Management
Server
The special tools such as TagView, PhaseLogic, ProcStatus, and CvtMaster are not localized and
are available in the default language only.
Steps to Localize
You can localize Batch Management applic ation by editing the.CSV files available in the<installed
folder>\Wonderware\Batch Management\message s folder.
To localize the Batch Management application:
1. Install and configure the Batch Management application. For more information, refer to the Batch
Management Installation Guide.
2. After you install Batch Management, navigate to the path: C: \Program Files
(x86)\Wonderware\Batch Management\messages.
3. Open the different .CSV files that contain all User Int erface messages currently available to the
system.
4. Provide the appropriate translation for the language you want to create in the Value column as
mentioned in the .CSV file section and save the .cs v file.
5. Make sure that the file is UTF -8 encoded. Otherwise, you will see issues specifically with extended
characters that many foreign languages have. (in German, ü, ä, or ö are good examples).
Note: If you modify the CSV files when the Batch Management application is already started, then you
must restart the application for viewing the updated localized content. For Runtime clients, you must
restart the Info Manager. For Batch Management web client, you must exit and shut down the
Environment Display, and then restart the Batch Management Middleware and Batch Management Web
Server services.
If you have created a .CSV file in Microsoft Excel, you must perform the following to ensure that the
UTF-8 encoding is preserved.
1. Open the saved .cs v file in notepad.
2. Click File > Save As. The Save As dialog box appears.
3. Specify the File name.
4. Select UTF-8 from the Encoding list and then click Save.
Note: Make sure that all the required headers exist in the .CSV file. Otherwise, it will not be loaded and
the application will not open. A warning message will be logged in the logger if the rows are not formatted
properly.
Note: Function names may have to be updated again after a product upgrade if the Security Database
is upgraded.
2. In the Applications area, select the application that contains the functions you want to update. The
list of functions is shown in the Functions area.
3. Select the Application Function name from the Functions list and type the updated function name in
the Name box under t he Functions section, and then click Change. The updated Function name will
be saved wit hout error.
The updated name is shown on the Security Clearance dialog boxes when display ed for the Function if
security is enabled for an updated function.
2. Go to Information Server and generate the BatchDetail and SecurityLi sting reports. The
localized string is displayed.
Regional Settings
The following are key points related to regional (cultural) settings:
CSV files and XML are neutral
TagLinker Runtime/Sim Export uses the current culture. The InTouch DB Load utility also uses the
current culture.
The Expression Editor uses neutral culture for literals.
Batch Manager uses the default regional settings for the operating system. You can change the
regional settings by performing the following:
To change the region and language settings
1. In the Control Panel, open the Region and Language utility.
2. On the Formats tab, set the desired region.
3. Click the Administrative tab.
4. Click Copy Settings. The Welcome screen and new user accounts se ttings dialog box appears.
5. Select the Welcome screen and system accounts and New user accounts check boxes.
6. Click OK.