You are on page 1of 522

Wonderware® FactorySuite™

InBatch FlexFormula User’s Guide

For Version 8.0


Last Revision: October 17, 2001 10:56 pm

Wonderware Corporation
All rights reserved. No part of this documentation shall be reproduced, stored in a
retrieval system, or transmitted by any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written permission of the Wonderware
Corporation. No copyright or patent liability is assumed with respect to the use of the
information contained herein. Although every precaution has been taken in the
preparation of this documentation, the publisher and the author assume no
responsibility for errors or omissions. Neither is any liability assumed for damages
resulting from the use of the information contained herein.
The information in this documentation is subject to change without notice and does
not represent a commitment on the part of Wonderware Corporation. The software
described in this documentation is furnished under a license or nondisclosure
agreement. This software may be used or copied only in accordance with the terms of
these agreements.

© 2001 Wonderware Corporation. All Rights Reserved.

100 Technology Drive


Irvine, CA 92618
U.S.A.
(949) 727-3200
http://www.wonderware.com

Trademarks
All terms mentioned in this book that are known to be trademarks or service marks
have been appropriately capitalized. Wonderware Corporation cannot attest to the
accuracy of this information. Use of a term in this book should not be regarded as
affecting the validity of any trademark or service mark.
Wonderware, InTouch and FactorySuite Web Server are registered trademarks of
Wonderware Corporation.
FactorySuite, Wonderware FactorySuite, WindowMaker, WindowViewer, SQL
Access Manager, Recipe Manager, SPCPro, DBDump, DBLoad, HDMerge,
HistData, Wonderware Logger, Alarm Logger, InControl, InTrack, InBatch,
IndustrialSQL, FactoryOffice, FactoryFocus, License Viewer, Scout, SuiteLink and
NetDDE are trademarks of Wonderware Corporation.
Contents 3

Contents
CHAPTER 1: Welcome to InBatch FlexFormula
Edition ...................................................................... 3
Overview........................................................................................................ 4
Flexible Formulas and Process Lines......................................................... 4
Process Modeling ....................................................................................... 5
Creating and Linking Tags ......................................................................... 5
Materials Tracking Management................................................................ 6
Recipe Management................................................................................... 6
Batch Management..................................................................................... 6
Batch History.............................................................................................. 7
Batch Reports ............................................................................................. 8
FactorySuite Integration ................................................................................ 8
Tag Management ........................................................................................ 8
Tag Communications.................................................................................. 8
Batch Alarms.............................................................................................. 9
Windows 2000 Terminal Services Support.................................................... 9
Extensibility ................................................................................................... 9
Managing InBatch Configurations............................................................... 10
InBatch Program Menus .............................................................................. 10
Batch Server ............................................................................................. 10
Batch Development Client ....................................................................... 10
Batch Runtime Client ............................................................................... 11
Information Server ................................................................................... 11
InBatch Programs ........................................................................................ 11
Configuration Programs ........................................................................... 11
Run-time Programs .................................................................................. 13
Utility Programs ....................................................................................... 15
InBatch Configuration Architecture ............................................................ 16
InBatch Runtime Architecture ..................................................................... 17

CHAPTER 2: System Installation ........................ 19


Overview...................................................................................................... 19
Setting up an InBatch 8.0 System ................................................................ 21
Recommended Installation Sequence....................................................... 22
Installing InBatch Information Server Components .................................... 22
Installing an InBatch Server ........................................................................ 24
Installing an InBatch Runtime Client .......................................................... 25
Installing an InBatch Development Client................................................... 26
Installing Seagate Crystal Reports Professional 8.0 .................................... 28
Installing Internet Information Server (IIS)................................................. 28
Uninstalling InBatch Software..................................................................... 29
InBatch Runtime Client Uninstall ............................................................ 29
4 Contents

InBatch Development Client Uninstall .................................................... 30


InBatch Server Uninstall .......................................................................... 30
InBatch Information Server Uninstall and Cleanup................................. 31
Upgrading from InBatch 7.x to InBatch 8.0 ................................................ 33
Upgrade Preparation ................................................................................ 34
Upgrading SQL Server Machine To InBatch Information Server ........... 34
Upgrade InBatch 7.0 History Database to InBatch 8.0............................ 35
Upgrade InBatch 7.1 History Database to InBatch 8.0............................ 40
Upgrade Configuration from InBatch 7.x to InBatch 8.0 ........................ 43

CHAPTER 3: Environment Management System ..


45
Overview ..................................................................................................... 46
Environment Management System Architecture ..................................... 46
Using Environment Display ........................................................................ 47
File Menu ................................................................................................. 48
Update Menu............................................................................................ 49
View Menu ............................................................................................... 51
Help Menu................................................................................................ 51
Starting and Stopping Applications from Environment Display ................. 52
Application Icons ..................................................................................... 53
Runtime Applications .............................................................................. 53
Using Environment Editor........................................................................... 55
File Menu ................................................................................................ 55
Edit Menu................................................................................................. 55
Help Menu................................................................................................ 56
Adding Applications to the Environment .................................................... 57
Adding Applications ................................................................................ 57
Assigning Application Parameters .............................................................. 60
Assign Application Parameters ................................................................ 60
Assign Application Parameter Values...................................................... 61
Application Parameter Descriptions ........................................................ 61
Deleting Application Parameters ............................................................. 64
User Defined (Other) Applications.............................................................. 64
User Defined Application Parameters...................................................... 65
Using Environment Manager....................................................................... 66
Environment System Timeout.................................................................. 66
Automatic Start-up and Shutdown of Runtime ........................................... 67
Considerations.......................................................................................... 68

CHAPTER 4: Process Modeling .......................... 69


Overview ..................................................................................................... 70
The FlexFormula Physical Model............................................................ 70
Process Modeling Steps ........................................................................... 71
Units............................................................................................................. 71
Contents 5

Process Classes (Processes) ........................................................................ 71


Define Process Capabilities ......................................................................... 72
Unit Procedure Logic ............................................................................... 72
Unit Procedure Interfaces......................................................................... 73
Equipment Status ......................................................................................... 74
Units of Measure.......................................................................................... 74
Enumeration................................................................................................. 75
Tags .............................................................................................................. 76
Tag Types and Usage................................................................................ 76
Unit Tags .................................................................................................. 77
Process Tags ............................................................................................. 77
System Tags.............................................................................................. 78
Using Process Tags versus Unit Tags....................................................... 78
Tag Definition .............................................................................................. 80
Tagname ................................................................................................... 80
Tag Description ........................................................................................ 81
Data Class................................................................................................. 81
Access Mode ............................................................................................ 82
Process Modeling Summary ........................................................................ 82
Example: Process Parameters and Tags ................................................... 82
Unit Procedure Logic ............................................................................... 82
Process Tags and Unit Tags...................................................................... 83
Process Classes and Parameters in Recipe Editor .................................... 83
Batch Manager Resolves Process Tags into Unit Tags ............................ 83
Model Editor ................................................................................................ 85
Deleting Model Components ................................................................... 86
Using Model Editor .................................................................................. 86
File Menu ................................................................................................. 87
Edit Menu ................................................................................................. 89
Help Menu................................................................................................ 90
Units Tab ...................................................................................................... 90
Adding Units ............................................................................................ 92
Changing Unit Names .............................................................................. 92
Deleting Units .......................................................................................... 92
Edit Unit Tags........................................................................................... 93
Processes Tab............................................................................................... 95
Adding Process Classes............................................................................ 96
Changing Process Class Names ............................................................... 97
Deleting Process Classes.......................................................................... 97
Assign Units ............................................................................................. 97
Process Class Attributes ........................................................................... 99
Assigning Unit Attribute Values ............................................................ 100
Edit Process Class Tags.......................................................................... 101
Process Class Unit Procedures ............................................................... 103
Equipment Status Tab ................................................................................ 113
Units of Measure Tab................................................................................. 114
Import and Export Units of Measure...................................................... 115
6 Contents

Enumeration Tab........................................................................................ 116


Additional Configuration........................................................................... 118
Edit Control Buttons .............................................................................. 118
Unit Procedure Control/Status Bits........................................................ 118
Edit Interlocks ........................................................................................ 121
Edit Formula Parameters........................................................................ 122

CHAPTER 5: Tag Linker ..................................... 129


Overview ................................................................................................... 130
When to Use Tag Linker............................................................................ 131
Using Tag Linker ....................................................................................... 131
File Menu ............................................................................................... 132
Edit Menu............................................................................................... 136
View Menu ............................................................................................. 137
Help Menu.............................................................................................. 138
Access Editor ............................................................................................. 138
Tag Configuration ...................................................................................... 139
Tag Selection.......................................................................................... 139
Assign Tag Links ................................................................................... 140
Export Editor ............................................................................................ 143
Simulation Export Procedure ................................................................. 144
Runtime Export Procedure..................................................................... 145
Control System Interfacing Example ........................................................ 145
Guidelines for Control System Interfacing ............................................ 145
Setting Up the Control System............................................................... 146

CHAPTER 6: Materials Editor ............................ 149


Overview ................................................................................................... 149
Using the Materials Status Window .......................................................... 151
Starting the Materials Status Window.................................................... 151
File Menu ............................................................................................... 152
Edit Menu............................................................................................... 154
View Menu ............................................................................................. 154
Help Menu.............................................................................................. 155
Using the Materials Editor......................................................................... 156
Defining Materials ................................................................................. 156

CHAPTER 7: Recipe Editor................................ 159


Overview ................................................................................................... 159
Header .................................................................................................... 160
Equipment Requirements....................................................................... 160
Formula .................................................................................................. 161
Procedure ............................................................................................... 161
Using Recipe Editor................................................................................... 163
Contents 7

File Menu ............................................................................................... 164


Edit Menu ............................................................................................... 177
Equipment Requirements........................................................................... 180
Edit/Equipment Requirements ............................................................... 180
Assign Process Classes........................................................................... 181
Edit Process Instances ............................................................................ 182
Example Equipment Requirements........................................................ 186
Formula ...................................................................................................... 188
Edit/Formula Inputs................................................................................ 188
Edit/Formula Outputs............................................................................. 192
Process Variables ....................................................................................... 196
Editing Process Variables ....................................................................... 196
View Menu ............................................................................................. 199
Help Menu.............................................................................................. 200
Building a Recipe Procedure ..................................................................... 201
Procedure Layout ................................................................................... 201
Recipe Procedure Mechanics ................................................................. 204
Cutting and Copying Procedure Objects................................................ 212
Pasting Procedure Objects...................................................................... 213
Deleting Procedure Objects.................................................................... 214
Moving and Nesting Procedure Objects................................................. 215
Unit Procedure Properties ...................................................................... 215

CHAPTER 8: Train Editor ................................... 221


Overview.................................................................................................... 221
Using Train Editor ..................................................................................... 222
File Menu ............................................................................................... 224
Help Menu.............................................................................................. 225
Assigning Units to Trains .......................................................................... 225
Assigning Attributes to Trains ................................................................... 226

CHAPTER 9: Batch Management System ........ 229


Overview.................................................................................................... 230
Batch Management Diagram.................................................................. 232
Using Batch Scheduler............................................................................... 232
Starting Batch Scheduler ........................................................................ 232
File Menu ............................................................................................... 233
Edit Menu ............................................................................................... 234
View Menu ............................................................................................. 235
Initialize Menu ....................................................................................... 239
Options Menu ......................................................................................... 241
Help Menu.............................................................................................. 241
Defining a Batch..................................................................................... 241
Changing the Batch Schedule List ......................................................... 244
Using Batch Display .................................................................................. 245
8 Contents

File Menu ............................................................................................... 245


Actions Menu ......................................................................................... 245
Windows Menu ...................................................................................... 248
View Menu ............................................................................................. 253
Help Menu.............................................................................................. 254
Batch Display Layout............................................................................. 255
Batch Display Functionality................................................................... 258
Batch Manager........................................................................................... 265
Starting Batch Manager.......................................................................... 265
Batch Execution......................................................................................... 265
Equipment Allocation ............................................................................ 266
Batch Execution Modes ......................................................................... 266
Unit Selection Modes............................................................................. 270
Unit Procedures...................................................................................... 271
Continue Mode Execution ..................................................................... 271
Contention for Shared Equipment.......................................................... 271
Runtime Recipe Procedure Jumps - Jump Mode ................................... 272
Report Triggering................................................................................... 273
End Of Batch Operation......................................................................... 273
Batch Runtime Errors............................................................................. 273
Batch Schedule Errors............................................................................ 274
Warm Restart ............................................................................................. 275
Starting Batch Manager with Warm Restart Function ........................... 275
Batch Execution ..................................................................................... 276
Batch Restart Mode................................................................................ 276
Control System Synchronization ........................................................... 277

CHAPTER 10: History System........................... 279


Overview ................................................................................................... 279
History Database Tables ............................................................................ 280

CHAPTER 11: Reporting System ...................... 295


Reporting System Components ................................................................. 295
Reporting System Architecture ................................................................. 297
Reporting System Security ........................................................................ 298
Using The Batch Reporting System .......................................................... 298
Batch Reporting ..................................................................................... 298
Report Configuration ............................................................................. 300
Report Scheduling.................................................................................. 304
Report Viewing ...................................................................................... 312
Creating Reports ........................................................................................ 315
Unsupported Report Templates.............................................................. 315
Contents 9

CHAPTER 12: Process Logging........................ 317


Overview.................................................................................................... 317
Process Log Criteria................................................................................... 318
General Logging Criteria ....................................................................... 318
Tags ........................................................................................................ 319
Using Process Log Editor .......................................................................... 320
File Menu .............................................................................................. 320
Edit Menu ............................................................................................... 324
Creating a Process Log Group ................................................................... 325
Using Process Log Manager ...................................................................... 331
Starting Process Log Manager ............................................................... 331
Runtime Logging Criteria ...................................................................... 331

CHAPTER 13: Security System ......................... 333


Overview.................................................................................................... 333
Using Security Editor................................................................................. 334
Using Security Editor for the First Time................................................ 335
File Menu ............................................................................................... 336
Edit Menu ............................................................................................... 337
Help Menu.............................................................................................. 338
Security System Configuration .................................................................. 338
Security Enabled .................................................................................... 338
Retries..................................................................................................... 338
Password Timeout .................................................................................. 338
Password Reuse...................................................................................... 338
Comment ................................................................................................ 339
Security Levels .......................................................................................... 339
Operator Stations ....................................................................................... 340
User Accounts............................................................................................ 341
Security Level ........................................................................................ 342
Password................................................................................................. 342
Recipes ................................................................................................... 343
Operator Stations.................................................................................... 344
Applications-Functions .............................................................................. 345
Adding a New Application..................................................................... 346
Enabling Application Security ............................................................... 346
Adding a New Function ......................................................................... 347
Enabling Function Security .................................................................... 347
Application - Function Descriptions ...................................................... 348
Runtime Security.................................................................................... 349
Starting the Security Manager................................................................ 349
Changing Passwords .............................................................................. 350
Application Security Requests ............................................................... 350
Function Security Requests.................................................................... 351
10 Contents

CHAPTER 14: Expression Editor ...................... 353


Using Expression Editor ............................................................................ 353
Starting the Expression Editor ............................................................... 353
Editing an Expression ............................................................................ 354
Expression Elements.................................................................................. 355
Operators ................................................................................................ 355
Operands ................................................................................................ 356
Functions ................................................................................................ 356
Delimiters............................................................................................... 357
Expression Building Rules ........................................................................ 357
Expression Examples................................................................................. 358

CHAPTER 15: Unit Procedure Logic Development


and Testing........................................................... 359
Unit Procedure Block Design Guideline ................................................... 359
Definition of a Unit Procedure Block .................................................... 360
Unit Procedure Block Rules of Operation ............................................. 361
Function Block Diagram ........................................................................ 361
Operational Flow Chart.......................................................................... 362
Control System Memory Configuration ................................................ 364
Control System Code Structure.............................................................. 364
Unit Procedure Control .......................................................................... 369
Unit Procedure Status............................................................................. 370
Formula Parameters ............................................................................... 372
Alarms.................................................................................................... 375
Input and Output Control ....................................................................... 376
Using the Phase Logic Testing Tool .......................................................... 377
Starting the Phase Logic Testing Tool.................................................... 377
File Menu ............................................................................................... 378
Help Menu.............................................................................................. 379
Exercising Unit Procedure Logic .............................................................. 379

CHAPTER 16: InTouch Script Add-On Functions..


381
Overview .................................................................................................. 382
Script Add-On Function Descriptions ....................................................... 382
ibAlarmEventHost ................................................................................. 382
ibAlarmEventInit ................................................................................... 382
ibAlarmNode.......................................................................................... 383

CHAPTER 17: Active-X GUI Controls .............. 385


Overview ................................................................................................... 385
Contents 11

Configuring InTouch WindowMaker to use InBatch Active-X GUI controls.


385
Using InBatch GUI Controls ..................................................................... 386
InBatch GUI Control Descriptions ............................................................ 387
BatchGuiConfig .................................................................................... 387
BatchList ................................................................................................ 390
BatchField .............................................................................................. 393
BatchButton............................................................................................ 395
Building a Simple Batch Scheduler ........................................................... 396
Create the InTouch Window................................................................... 397
Running the Scheduler ........................................................................... 400
Using the BatchSecurity Control ............................................................... 402
Configuring the BatchSecurity Control.................................................. 404
Enumerations.......................................................................................... 408
Security Control Examples..................................................................... 410

CHAPTER 18: InTouch Batch Tag Browsing and


Referencing.......................................................... 417
Overview.................................................................................................... 418
Define Batch Tag Sources.......................................................................... 419
Remote Referencing Batch Tags................................................................ 422

CHAPTER 19: InTouch Client Security ............. 423


Overview.................................................................................................... 423
Configuring InBatch Client Security ......................................................... 424
Batch Server Security Configuration ..................................................... 424
Batch Client Security Configuration ...................................................... 425
InBatch Client Security Operation............................................................. 426
DoneBy Security .................................................................................... 426
DoneBy and CheckBy Security.............................................................. 427
Verify DoneBy Password ...................................................................... 427
Verify CheckBy Password...................................................................... 428

CHAPTER 20: Client Alarm/Event Interface ..... 429


Overview.................................................................................................... 429
Required Configuration ............................................................................ 430

CHAPTER 21: Redundancy ............................... 433


Overview.................................................................................................... 434
Setting Up a Redundant Batch Server ....................................................... 434
Network Configuration .......................................................................... 434
Installing a Redundant Batch System ........................................................ 435
12 Contents

Batch Client - Redundancy Configuration............................................. 436


Redundancy Configuration ........................................................................ 437
RedCfg File Structure ............................................................................ 437
Example of a Redundant Server Configuration......................................... 438
RedCfg and Lmhosts File Examples...................................................... 439
Redundancy Switch-Over Configuration .................................................. 440
Redundancy Operation .............................................................................. 441
Directory Configuration ......................................................................... 441
Initial System Start-up............................................................................ 442
RedMngr Startup Procedure................................................................... 442
Typical Redundant Sequence of Operation ............................................... 443
Initial Start-up ........................................................................................ 443
Normal Runtime Operation.................................................................... 443
Backup System Failure .......................................................................... 443
Master System Failure ........................................................................... 443
Master System Failure while Backup’s Operating System is Failed ..... 444
Failed System Recovery......................................................................... 444
Manual Switch-Over to Backup System ................................................ 444
Shutting Down a Redundant System ..................................................... 445
Batch Clients.............................................................................................. 445
Monitoring Redundancy Status.............................................................. 445
Batch Client (InTouch) Switchover ....................................................... 446
Batch Development and Batch Runtime Clients.................................... 447
Configuring InTouch Client Alarms for Redundancy............................ 447
Redundant System Points of Interest......................................................... 448

CHAPTER 22: System Administration.............. 449


Information Server Administration ........................................................... 449
History Administration .......................................................................... 450
Error Queue Administration................................................................... 452
Information Server Configuration.......................................................... 453
History Archiving .................................................................................. 454
Completed Archives............................................................................... 461
Report Log Administration .................................................................... 464
Changing an Information Server Assignment on a Batch Server .......... 465
Changing a Batch Server Assignment on an Information Server .......... 466
Backing Up Batch Databases .................................................................... 467
Using the DBCOPY Utility.................................................................... 467
Managing Batch Configurations................................................................ 467
Batch System Configuration Files ......................................................... 468
Terminal Server License Administration................................................... 477
Annunciating Batch System Illegal Access Attempts ............................... 478
Implementing FDA 21 CFR Part 11 Compliance .................................. 478
SQL Script.............................................................................................. 481
Contents 13

Index .................................................................... 487


14 Contents
Welcome to InBatch FlexFormula Edition 3

C H A P T E R 1

Welcome to InBatch
FlexFormula Edition

This chapter provides a general overview and discussion of the capabilities of the
InBatch FlexFormula Edition software, including process modeling, creating and
using tags, recipe management, materials tracking, batch management, history and
reporting. It explains the interface between InBatch software and your control
system, including alarming and utility programs.

Contents
• Overview
• FactorySuite Integration
• Extensibility
• Managing InBatch Configurations
• InBatch Program Menus
• InBatch Programs
• InBatch Configuration Architecture
• InBatch Runtime Architecture
4 Chapter 1

Overview
InBatch FlexFormula Edition is a flexible batch management system that is
designed to be configured quickly and easily once fundamental concepts are
understood. It is extremely important to read this section of the manual before
attempting to use the batch system.
InBatch FlexFormula Edition supports three levels of licensing. Each level
corresponds to the number of Units that the batch system will allow to be
simultaneously allocated. The license sizes are as follows:

Type Units Allowed


Small 1 or 2
Medium 3 to 10
Large 11 or greater

Once basic batch system concepts are understood, you should be able to build and
edit configurations quickly without using this manual. As with most menu driven
systems, you will become more proficient by using the manual as a reference to
improve your understanding of the batch system and how to apply features that may
not be obvious.
Consistent with the Instrument Society of America (ISA) S88.01 standard, InBatch
allows you to create recipes quickly and easily and simulate their execution against
a model of the process – all before writing one line of control code. InBatch also
provides complete production history and materials genealogy.
InBatch’s powerful batch engine, combined with its integration to InTouch™ and
other Wonderware FactorySuite™ components, means that you can reduce the cost
and time to implement your batch-related processes by up to 60% over competitive
solutions.
InBatch provides out-of-the-box batch management functionality that eliminates
the need for unsustainable custom code in a programmable logic controller (PLC)
or distributed control system (DCS) and dramatically reduces the 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.

Flexible Formulas and Process Lines


Within the batch control system, recipe formulas can be changed and new formula
and process lines can be easily re-configured, not re-engineered, for new product
introductions. The batch system is flexible because it lets you model your plant,
create new process lines, manage formulas, schedule and execute batches, and keep
a history of all batch processing activity.
Welcome to InBatch FlexFormula Edition 5

Process Modeling
A batch processing plant consists of units. A unit is a vessel that can hold and/or
process materials. Some vessels have no processing capabilities, as is the case with
bulk storage vessels, manual add stations, and hold tanks. Other units have
significant processing capabilities, as is the case with most 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.

Note While InBatch Premier Edition models all batch vessels and the material
flow connections between them, it is only necessary to model the vessels with
processing capabilities using InBatch FlexFormula Edition.

All units that have the same processing capabilities or perform the same function
are grouped into a process class. Process Classes define a family of units. The
ability to group units into classes is the essence of a true flexible batch system.
Processing capabilities are defined by creating a set of Parameters for the Process
class. This parameter set is common to all of the unit members of the class. In this
manner, recipes can be developed which can be executed on any unit within the
class without the need to write a new recipe for each unit. Such recipes are called
equipment independent recipes
Process Modeling is the process of identifying the processing capabilities of a plant.
There are three basic elements involved in any process modeling: defining the
Units, Process Classes (Processes), and Processing Capabilities. The following
guidelines describe the basic steps that you use to develop a process model:
1. Identify each unit and its attributes.
2. Group units into process classes.
3. Define the processing capabilities of each process class (parameters).
4. Define equipment statuses.
5. Define trains.
6. Develop unit procedure logic in the control system.
An integral part of Process Modeling involves defining specific data points called
Tags. Tags are associated with all Units and Processes and allow data to move
between the batch system and the control system. Tags must be defined prior to
configuring any of the batch system programs. There is no limit to the number of
tags that you can have in your batch system.

Creating and Linking Tags


When the process model is created, tags are created for units and parameters.
These tags must be linked to control system addresses using the InBatch TagLinker.
The TagLinker provides automatic and manual linking of tags to external systems.
6 Chapter 1

Materials Tracking Management


Materials Tracking Management includes the ability to define materials as
ingredients, intermediates, finished goods, by-products, and others. The ability to
define characteristics is provided for each material entered in the system.
The materials database is used by the Recipe Editor in the construction of recipes.
Only materials that are defined in the materials database can be used in recipes.

Recipe Management
InBatch Recipe Management provides the capability to create recipes according to
the guidelines outlined in the ISA S88.01 Flexible Batch Standard. InBatch
FlexFormula Edition links S88 Unit Procedures to blocks of logic in the control
system
The batch management system provides recipe management that enables master
recipes to be constructed and edited. Master recipes are not process line specific;
rather, they are equipment independent. They can be assigned to any process line
(train) that has units belonging to the classes of process equipment defined in the
recipe. A master recipe becomes a control recipe when units, defined in the train,
are dynamically allocated and used to produce a batch.
A master recipe is not necessarily size specific, but can be scaled to the batch size
defined by production scheduling. All formula quantities for ingredients,
intermediates, by-products, and finished goods are entered as either actual
quantities or can be expressed as a percent of the total batch size. Quantities
expressed in percentages are scaled by the batch management system when the
batch is executed.
The Recipe Editor provides several text and graphical editors to develop and
maintain recipes. Recipes can be saved, retrieved, and printed. A version history
capability provides an accurate time stamped history of all changes that have been
made to the recipe.

Batch Management
Batch Management consists of batch scheduling, batch initialization, co-ordination
of batch execution with the control system, interfacing with operators, and batch
history activity. These concepts are further described in the following section.

Scheduling
Batch Scheduler is responsible for dispatching the batches that are ready to run to
the plant operators. Scheduling involves the manual entry of the batch
identification, master recipe, batch size, and Train into the Batch Scheduler. Each
batch that is added to the scheduler, must be initialized before it can be executed.

Batch Initialization
Each batch must be initialized before it is executed. The initialization process
involves validation of the recipe, checking if the Train exists, ensuring that the
recipe’s equipment requirements are satisfied by the Train, and verifying that the
Process Model database is compatible with the recipe.
Welcome to InBatch FlexFormula Edition 7

Batch Management
Batch Manager directs and supervises the execution of each batch. Batch Manager
interprets recipes and enables the control system. Based on the recipe’s procedure,
blocks of control software for each unit are signaled for execution by Batch
Manager. Unit block control logic, located in the control system, is responsible for
controlling the process. Prior to starting each unit block, Batch Manager verifies
that the unit block is ready for execution. If it is ready, the parameter values are
downloaded to the block, and then the block is started.
Batch Manager also interfaces with Batch Display which provides a user interface
for operators. Batch Display provides information about all batches that are
initialized and/or executing in the system. Operators can put a batch or unit in hold.
They can also use the interface to restart and abort batches or units. The interface
also allows operators to change parameter values and enter comments during batch
execution.
Batch Manager co-ordinates the usage of process units for each batch and is capable
of managing the simultaneous execution of a large number of batches. Each batch is
a unique entity within the batch system. In batch systems that contain simultaneous
batch executions, contention for the allocation of the same process units may occur.
Batch Manager allocates units to batches as they become available and releases the
units when they are no longer required by the batch.
Flexible batch systems using controllers must take the approach in which a
supervisory computer becomes an active participant in batch execution. The reason
for this is attributed to the very sophisticated unit management in a flexible batch
system. Most controllers do not have the ability to program a unit manager that is
capable of interpreting and executing recipe procedures that can be constructed in
the batch control system.
A master recipe uses classes of process units, not specific units. This means that
equipment requirements pertain to a class of units, not to a specific unit. When
Batch Manager executes a master recipe, each unit procedure encountered is
converted to be unit-specific. This process is called master recipe to Partial control
recipe conversion. The Train assigned to produce the batch specifies all of the units
that can be used. The Batch Manager automatically converts the master recipe into
a control recipe based on the units found in the Train.

History
Batch Manager captures and stores all processing and operator activity during the
execution of a batch.

Batch History
InBatch uses Microsoft SQL Server for its historical database. This approach is
very open and allows easy access to all batch history.
The batch management system is responsible for logging all information related to
the production of a batch into the history database. This data includes all of the
events, process data, production information, material usage, operator comments,
operator actions, equipment used to produce the associated batch, and all batch-
related process alarms.
8 Chapter 1

Batch Reports
InBatch uses a web-based interface for report configuration, scheduling and
viewing. The reporting system utilizes Seagate Crystal Reports Professional™ for
report development. This approach is very flexible and allows the creation of
custom reports. InBatch includes a set of predefined report templates. Utilizing
these templates, you can create customized reports to suit your specific
requirements. The batch system also allows you to configure and execute historical
reports during runtime. Report execution can also be configured to automatically
trigger during batch execution or at the end of a batch.

FactorySuite Integration
The following Utility Programs are provided with the batch system to help assist
your development and runtime processes.

Tag Management
InBatch interfaces to other FactorySuite components like InControl™, IOServers,
and InTouch™ software through tags. There are several InBatch components that
create, edit, link, validate, communicate and, in general, manage tags. These
components are discussed below.

Model Editor
The Model Editor is used to construct the plant model consisting of units, process
classes, and parameters. Tags are automatically created using these names and are
used by the InBatch to communicate with PLC or DCS systems.

Tag Linker
The tags created by the Model Editor can be linked to control system addresses
using the InBatch Tag Linker. The Tag Linker 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/export file.
The TagLinker also validates tags.

Tag Communications
All tag communications between InBatch and FactorySuite™ is through DDE,
OPC, or the SuiteLink™ protocol. Tag communications between InBatch and
FactorySuite™ are used to interface to unit control logic and operator displays.
There are two utilities or tools available to diagnose, troubleshoot and exercise tags
communications between InBatch and FactorySuite™.
Welcome to InBatch FlexFormula Edition 9

Phase Logic Testing Tool (PhaseLogic)


The Phase Logic testing tool is used to test and exercise the handshake interface
between the Batch Manager and the control system phase logic. Phase Logic is used
with InBatch Premier Edition for controlling phases (small, specific control
activities), but the Phase Logic testing tool can be used to test the unit block
interface in FlexFormula Edition. PhaseLogic is a testing tool and should not be
used during normal operation.

TagView Tool
The TagView tool is used to monitor and interact with InBatch tags at run time.

Batch Alarms
Batch alarms, in InBatch, are captured, associated with a batch and stored in the
history database. The Unit Name parameter of the tag is the key in accomplishing
this objective. All alarms from a designated InTouch™ application, are monitored
by the batch control system. If the first piece of the tag name corresponds to a unit
name in the InBatch model, the alarm is automatically logged to the InBatch
History and associated to the batch that was active in the named equipment at the
time of the alarm.

Windows 2000 Terminal Services Support


InBatch supports the use of Windows 2000 Terminal Services. Terminal Services
allow Batch Development Clients and Batch Runtime Client applications to be run
on a terminal server in such a way that the client computers themselves function as
terminals rather than independent systems. The server provides a multisession
environment that runs the InBatch applications and other Windows-based programs
on the clients. Since all of the batch software is resident on the terminal server, the
need to install batch client software on remote systems is eliminated. For any
application that requires upgrade or modification, Terminal Services is an efficient,
highly manageable way to provide user workstations with the most current version
of the application.

Extensibility
InBatch includes ActiveX™ objects, ActiveX Servers and a library of API
functions that allow integration with external applications such as ERP and
scheduling systems. These features allow you to develop custom applications that
access the batch control system that share and exchange formulas/recipes, materials
and production results.
InBatch uses Microsoft SQL Server for its historical database. This approach is
very open and allows easy access to all batch history.
These features make it easy for you to integrate with enterprise resource planning
(ERP) and advanced planning systems (APS), allowing InBatch to be a key link in
successful supply chain management initiatives.
10 Chapter 1

Managing InBatch Configurations


When the InBatch Batch Server is installed, a default folder structure is created.
Wonderware recommends that you do not modify this structure except for one
notable exception: the configuration folder.
The InBatch configuration that you create is located in the InBatch\cfg\config_A
folder. When InBatch is running, it must find your configuration in config_A. If
you intend to develop other configurations, you should create a different folder and
move the contents of the configuration into it. For example, create a folder named
AnotherConfig, and then move the configuration files from config_A into it. You
can then copy an empty set of default database files from the dflt_cfg folder into the
config_A folder.

InBatch Program Menus


InBatch software is comprised of batch server, batch information server, and batch
client options that are accessed from program menus on your desktop. This section
provides a summary of the various program menu items associated with the server
and client installations. For more information on installing InBatch servers and
clients, see Chapter 2, "System Installation."

Batch Server
When you install a Batch Server, the following menu items appear in the InBatch
Server menu. Each menu item is described below.
Environment Display starts the Environment Display and initializes the
background processes necessary to access InBatch configuration and runtime
applications.
Release Notes displays a summary of user documentation issues, and known
issues and solutions for the batch system.
Uninstall Server allows you to remove the InBatch Batch server from your
computer.

Batch Development Client


When you install a Batch Development Client, a set of menus are created which
contain the InBatch Development Client submenu which contains the items
described below.
Model Edit starts Model Edit on the client.
Tag Linker starts Tag Linker on the client.
Train Edit starts Train Edit on the client.
Material Editor starts Material Editor on the client.
Recipe Editor starts Recipe Editor on the client.
ReportWeb starts Report Web on the client.
Security Editor starts Security Editor on the client.
Welcome to InBatch FlexFormula Edition 11

Log Edit starts Log Edit on the client.


Release Notes displays a summary of user documentation issues, and known
issues and solutions for the batch system.
UnInstall Development Client allows you to remove the Batch Development
Client from your computer.

Batch Runtime Client


When you install a Batch Runtime Client, a menu is created which contains the
Batch Runtime Client submenu. The following summary describes these menu
items and other installed components.
Batch Display starts Batch Display on the client.
Batch Scheduler starts Batch Schedule on the client
ReportWeb opens the Batch Report web page on the client.
Release Notes displays a summary of user documentation issues, and known
issues and solutions for the batch system.
UnInstall Development Client allows you to remove the Batch Runtime
Client from your computer.

Information Server
When you install an Information Server, a menu is created which contains the
BatchInfoServer submenu. The following summary describes these menu items and
other installed components.
BatchAdmin starts the Batch Admin web page which allows you to configure
certain system and web reporting settings on the batch system.
uninstall Information Server allows you to remove the Information Server
software from your computer.
WWLogger starts the WWLogger application which displays all system
activity, such as starting and stopping of applications, warning messages and
error messages.

InBatch Programs
The following section summarizes the programs that are available from the
Environment Editor. Program summaries are divided into three categories:
configuration programs, runtime programs and utility programs.

Configuration Programs
The following configuration programs are used to develop and manage your batch
system.
12 Chapter 1

Environment Editor (EnvEdit)


(Required) The Environment Editor is used to define the batch configuration and
runtime applications that are to be executed.

Process Modeling Editor (ModelEdit)


(Required) The Process Modeling Editor provides the capability for a user to create
a process model database. Only one Process Modeling Editor can run in a system at
a time.

Tag Linker Editor (TagLinker)


(Required) The Tag Linker Editor associates InBatch tags with a control system. It
is also capable of associating InBatch tags with InTouch tags. Tag Linker also
exports InBatch tags to a comma separated variable file that will ultimately
populate the InTouch tag dictionary with memory and IO tags.

Train Editor (TrainEdit)


(Required) The Train Editor is used to create production lines on which batches are
scheduled.

Materials Editor (MaterialEdit)


(Required) The Materials Editor provides the capability for a user to create and edit
a materials database both on and off-line. Multiple Materials Editors can run in a
system enabling multiple users to edit the same database simultaneously.

Recipe Editor (RecipeEdit)


(Required) The Recipe Editor provides the capability for a user to create and edit
recipes both on and off-line. Multiple Recipe Editors can run in a system enabling
multiple users to edit the same database simultaneously.

Process Log Editor (LogEdit)


(Optional) The Process Log Editor is used to create, edit, and print batch-related
data logging configurations.

Batch Reporting (BatchReport)


The BatchReport icon launches a web browser which provides access to the batch
system’s web-based reporting system.

Security Editor (SecEdit)


(Optional) Security Editor allows you to define batch system users, user security
levels, user access, recipe access for each user, and the capability to enable/disable
applications and functions that require security.
Welcome to InBatch FlexFormula Edition 13

Run-time Programs
The following run-time programs are used by the batch system during batch
execution.

Environment Manager (EnvMngr)


(Required) The Environment Manager manages the execution of the batch run-time
applications defined with the Environment Editor.

Environment Display (EnvDspl)


(Required) The Environment Display is a client of the Environment Manager and
provides a single interface for starting and stopping all batch system GUI
applications.

Wonderware Logger (WWLogger)


(Optional) The Wonderware Logger displays messages for all system activity for all
FactorySuite components including the Batch Server, Runtime Clients and
Development Clients such as startup, shutdown, warnings and errors as well as
time and date stamps.

Unilink Manager (UnilinkMngr)


(Required) The Unlink Manager manages inter-process communications among all
the batch system applications.

InBatch Client (IBCli)


The InBatch Client (IBCli) is the link to Wonderware’s family of I/O Servers for
communicating with plant-floor systems including Programmable Logic
Controllers (PLC) and Distributed Control Systems (DCS). IBCli communicates
with Wonderware or 3rd party tag server components using DDE, OPC, or
SuiteLink protocols.

Memory Tag Manager (MemTagMngr)


(Required) The Memory Tag Manager is responsible for generating all InBatch
Memory Tags, including the system tags, for all the equipment in the process
model.

Simulation Manager (SimMngr)


(Required for Simulation) The Simulation Manager replaces the communication
drivers for a batch system and allows the system to be executed without control
system hardware present.

Information Manager (InfoMngr)


(Required) Information Manager provides general batch server information to
client applications.
14 Chapter 1

InBatch Server (IBServ)


(Required) Runtime server application, which allows SuiteLink and DDE client
applications (e.g. InTouch), to access InBatch tags.

Batch Manager (BatchMngr)


(Required) Batch Manager interfaces with the process model, recipe, and materials
databases. The Batch Manager works in conjunction with the Batch Scheduler and
Batch Display programs. The Batch Manager executes all recipes, manages unit
allocation, moves batch information to the history database queue, and triggers
reports.

Batch Scheduler (BatchSched)


(Optional) Batch Scheduler interfaces with the Batch Manager and is used to
construct a schedule of batches to be executed. Multiple Batch Schedulers can run
in a system.

Batch Display (BatchDspl)


(Optional) The Batch Display is a client of the Batch Manager, and provides all the
run-time information concerning the execution of a single batch. Multiple Batch
Displays can run in a system.

Process Logger Manager (LogMngr)


(Optional) The Process Logger Manager controls the data logging of any tag in the
system according to the logging configuration.

Security Manager (SecMngr)


(Optional) Security Manager is used in batch and external applications to evaluate
and respond to requests for security clearance.

Recipe Automation Server (RecipeEdit)


The Recipe Automation Server is an integral part of Recipe Editor and is installed
on the Batch Server and the Batch Development Client. (Refer to COM Technical
Reference Guide for more information.)

Batch Talk ActiveX Control (OCXBATCH.OCX)


The OCXBATCH.OCX is a background server supporting ActiveX technology that
provides all functionality provided by the Batch Talk API. This server is installed in
the Batch Server, Runtime and Development Clients. (Refer to COM Technical
Reference Guide for more information.)
Welcome to InBatch FlexFormula Edition 15

Recipe Procedure SFC Active X Control


(INBATCHSFC.OCX)
The SFC ActiveX Control is a GUI-based control for the recipe procedure. This
control is installed in the Batch Server, Runtime and Development Clients. (Refer
to COM Technical Reference Guide for more information.)

Material Automation Server (MATERIALSVR.EXE)


The Material Automation Server provides access to the Material database using
ActiveX technology. This server is installed in the Batch Server, Runtime and
Development Clients. (Refer to COM Technical Reference Guide for more
information.)

Batch Function Interface Type Libraries


(BATCHOBJSRV.DLL & BATCHVBSERVER.DLL)
The Batch Function Interface Type libraries are used to construct a Batch Manager
in-process server. The libraries provide access to the key events during batch
execution. (Refer to COM Technical Reference Guide for more information.)

Utility Programs

Phase Logic Testing Tool (PhaseLogic)


(Optional) For FlexFormula Edition, the Phase Logic module permits individual
unit procedure execution independent of any batch operation.

Change Password (ChgPwd)


(Optional) The Change Password application permits you to interact with the
security system from the command line in order to change a user’s password. The
Change Password utility is part of the security system.

TagView Utility (TagView)


(Optional) The TagView application permits monitoring and changing any of the
InBatch equipment or system tags.
16 Chapter 1

InBatch Configuration Architecture

ModelEdit TrainEdit MaterialEdit RecipeEdit ReportEdit

CfgModelDB MaterialDB RecipeDB ReportDB

TagLinker EnvEdit SecEdit LogEdit

LinkDB Imp/Exp

CfgLinkDB CfgTIMDB DBLoad Files EnvDB SecurityDB LogDB


Welcome to InBatch FlexFormula Edition 17

InBatch Runtime Architecture

RecipeEdit MaterialEdit EnvMngr

EnvDB

Lock Manager
(lm_tcp)

RecipeDB MaterialDB BatchDB .BatchWR

BatchSched
(OCXBatch) InSQL

InfoMngr BatchMngr

BatchDspl
(OCXBatch, LogMngr
SFCOCX)
SQLServer
TIMBatch
TIMSec
TIMFunc

TrainEdit UnilinkMngr

ModelDB SysTagMngr
LogDB
IBHist

SimMngr

IBCli IBServ

LinkDB TIMDB

WindowMaker/Viewer

IO Server InControl
SFC Batch InBatch Wizards InBatch Tag
Alarm/Event
ActiveX ActiveX and Script Browser
Interface (.dlls)
Object Object Functions Server
18 Chapter 1
System Installation 19

C H A P T E R 2

System Installation

This section describes the installation options for your InBatch system components.

Contents
• Overview
• Setting up an InBatch 8.0 System
• Installing InBatch Information Server Components
• Installing an InBatch Server
• Installing an InBatch Runtime Client
• Installing an InBatch Development Client
• Installing Seagate Crystal Reports Professional 8.0
• Installing Internet Information Server (IIS)
• Uninstalling InBatch Software
• Upgrading from InBatch 7.x to InBatch 8.0

Overview
An InBatch system consists of several different station types. These include a Batch
Server, Information Server, and Batch Clients (Runtime and Development). Each
station will include both InBatch Software and other additional required software.
A typical batch system would consist of a Batch Server, an Information Server, and
Batch Clients that are connected over a network.
InBatch 8.0 features integration of Windows 2000 Terminal Services. Batch Clients
(Runtime and Development) can be installed on the Terminal Server. You cannot
install a Batch Server on a Terminal Server.

Note When installing InBatch applications on the Terminal Server, you must use
the Windows Control Panel - Add Programs option rather than the standalone Setup
program that is associated with an InBatch installation. By using the Control Panel /
Add Programs option, the Windows Terminal Server is able to properly manage the
multisession environment. If you do not install your applications using this method,
you will not be able to access the client applications from operator stations.
20 Chapter 2

The InBatch software is dependent on the presence of additional required software


for proper installation and operation. If the additional required software is not
present then you will be unable to install the InBatch software.
The table below summarizes the Station Type, the InBatch software requirements
and the additional required software for each Station Type.

Additional Included
Required with
InBatch Station Type Operating System Software package

Batch Server Windows NT 4.0 Server Windows NT 4.0 Yes


Service Pack 6a

Windows 2000 Server Windows 2000 No


Service Pack 2

Batch Runtime Client Windows NT 4.0 Workstation Windows NT 4.0 Yes


Service Pack 6a

InTouch 7.1 or No
InTouch 7.1.1

Windows 2000 Professional Windows 2000 No


Service Pack 2

InTouch 7.1 or No
InTouch 7.1.1

Batch Development Client Windows NT 4.0 Workstation Windows NT 4.0 Yes


Service Pack 6a

Windows 2000 Professional Windows 2000 No


Service Pack 2
System Installation 21

Additional Included
Required with
InBatch Station Type Operating System Software package

Information Server Windows NT 4.0 Server Windows NT 4.0 Yes


Service Pack 6a

Wonderware No
Industrial SQL
Server 7.1 OR
Microsoft SQL
Server 7.0 Service
Pack 3 OR Microsoft
SQL Server 2000
SP1

Seagate Crystal Yes


Reports Professional
8.0

IIS (NT Option Pack No


4)

MDAC 2.5 Service Yes


Pack 2

Windows 2000 Server Wonderware No


Industrial SQL
Server 7.1 OR
Microsoft SQL
Server 7.0 Service
Pack 3 OR Microsoft
SQL Server 2000
SP1

Seagate Crystal Yes


Reports Professional
8.0

Windows 2000 No
Service Pack 2

Note When installing additional InBatch or other FactorySuite software on the


Information Server, it is necessary to shutdown the InBatch_HistQReader and
InBatch_ReportQReader services.

Setting up an InBatch 8.0 System


The setup of an InBatch 8.0 system is a two-step process. You are required to
install prerequisite software (third-party and Wonderware FactorySuite) and
InBatch software. If the prerequisite software is not installed then you will be
unable to install the InBatch software.
22 Chapter 2

In order to install the InBatch software you must be logged on as an administrator


or as a user with administrative privileges.

Recommended Installation Sequence


1. Setup an InBatch Information Server
2. Setup the InBatch Server
3. Setup InBatch Clients (Runtime or Development)
If using the Windows 2000 Server operating system for the InBatch Information
Server then the prerequisite software should be installed in the following sequence:
1. Install Wonderware Industrial SQL Server 7.1 or Microsoft SQL Server 7.0
SP3, or Microsoft SQL Server 2000 SP1.
2. Install Seagate Crystal Reports Professional 8.0.
If using the Windows NT 4.0 Server operating system for the InBatch Information
Server then the prerequisite software should be installed in the following sequence:
1. Install Windows NT 4.0 Service Pack 6a.
2. Install Wonderware Industrial SQL Server 7.1 or Microsoft SQL Server 7.0
SP3 or Microsoft SQL Server 2000 SP1.
3. Install Seagate Crystal Reports Professional 8.0.
4. Install Internet Information Server (IIS) via NT Option Pack 4.
5. Reapply Windows NT 4.0 Service Pack 6a.
6. Install MDAC 2.5 SP2.

Note It is recommended that you upgrade older versions of Crystal Reports to


Crystal Reports Professional 8.0.

Note It is recommended that you do not install Crystal Reports (any version) on an
InBatch Server Station.

Installing InBatch Information Server


Components
These instructions assume the following:
1. The FactorySuite common components have been installed.
2. The FactorySuite Release Notes have been reviewed.
3. A network strategy has been implemented that will provide communication
between the Information Server, InBatch Server, and InBatch clients.
4. The prerequisite software has been installed.
System Installation 23

If you have not installed the prerequisite software, then a System Information
window will be displayed which will inform you of the prerequisite software
that is needed for the computer. You will not be able to install the InBatch
software until the required prerequisite software is installed.
1. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the Start
menu and enter E:\setup.exe.
2. On the Welcome to FactorySuite 2000 window, click Next.
3. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
4. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
5. On the FS2000 Products window, choose to install InBatch.
6. On the Installation Options window, choose to install the InBatch software.
7. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.

To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
8. On the Select Components window, enable the Information Server checkbox.
Disable all other checkboxes.
9. On the SQL Server Login window, enter or select a Server.
10. On the SQL Server Login window, enable the Use SQL Server authentication
radio button.
11. On the SQL Server Login window, for the Login Name enter sa. Leave the
Password field blank.
12. On the SQL Server Login window, click OK to continue the installation.
13. On the History Database Creation window, enter the name and location of the
history database that you will use with your InBatch 8.0 system.

Note It is recommended that you create the log files on a different physical
drive than where the database files are located.

14. On the History Database Creation window, if necessary, change the Initial DB
Size.
15. On the History Database Creation window, if necessary, change the Initial Log
Size.
16. On the History Database Creation window, click Create Databases.
17. On the Archive Database Creation window, enter the name and location of the
archive database that you will use with your InBatch 8.0 system.

Note It is recommended that you create the log files on a different physical drive
than where the database files are located.
24 Chapter 2

18. On the Archive Database Creation window, if necessary, change the Initial DB
Size.
19. On the Archive Database Creation window, if necessary, change the Initial Log
Size.
20. On the Archive Database Creation window, click Create Databases.
21. On the Information Components window, accept the default Destination Folder
or browse to select a different location. Click Next to continue the installation.
22. On the InBatch Server Information window, enter the host name of your
InBatch Server in the Host1 field.

Note The host name entered in the Host1 field must match the case of the
InBatch Server’s TCP/IP host name. For the Windows 2000 operating system,
the host name is all capitalized.

Click Next to continue the installation.


23. On the Alarm System Server window, if using InTouch 7.11, enter the
computer name of the SQL Server machine where the InTouch alarm database
(WWALMDB) resides. If using an earlier version of InTouch, click Next to
continue the installation.
24. On the Setup Complete window, click OK to reboot the computer.

Note When the Information Server is installed, the Report Path is


C:\BatchInfoServer\Crystal by default. The default Report Path is always
associated with the C: drive even if the Information Server is installed on a
different drive. If the Information Server is installed on a different drive, then
the Report Path must be edited using the Config button on the Information
Server’s AdminWeb page. If you change the Report Path, the
InBatch_ReportQReader service must be restarted. Users should consider this
when creating and editing recipes that include reports. For more information on
using the AdminWeb page, see Chapter 22, "System Administration."

Note The MS SQL SQLServerAgent service should be configured to


autostart when the operating system starts. You can do this by enabling the
'Auto-start service when the OS starts' checkbox on the SQL Server Service
Manager dialog.

Installing an InBatch Server


Note If you are installing a Batch Server on Windows 2000, you must install a
Loopback adapter. Consult Windows online help for this procedure.

These instructions assume the following:


1. The FactorySuite common components have been installed.
2. The FactorySuite Release Notes have been reviewed.
3. A network strategy has been implemented that will provide communication
between the Information Server, InBatch Server, and InBatch clients.
System Installation 25

4. The prerequisite software has been installed.


If you have not installed the prerequisite software, then a System Information
window will be displayed which will inform you of the prerequisite software
that is needed for the computer. You will not be able to install the InBatch
software until the required prerequisite software is installed.
1. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the Start
menu and enter E:\setup.exe (where E: is your CD-ROM drive).
2. On the Welcome to FactorySuite 2000 window, click Next.
3. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
4. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
5. On the FS2000 Products window, choose to install InBatch.
6. On the Installation Options window, choose to install the InBatch Software.
7. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.

To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.

8. On the Select Components window, enable the Batch Server checkbox. The
Batch Clients checkbox will also be enabled since the Batch Client
applications are part of the Batch Server installation. Click Next to continue
the installation.
9. On the Information Server Hostname window, enter the host name of your
Information Server. Click Next to continue the installation.
10. On the InBatch Installation Location window, accept the default Destination
Folder or browse to select a different location. Click Next to continue the
installation.
11. On the Setup Complete window, click OK to reboot the computer.

Installing an InBatch Runtime Client


These instructions assume the following:
1. The FactorySuite common components have been installed.
2. The FactorySuite Release Notes have been reviewed.
3. A network strategy has been implemented that will provide communication
between the Information Server, InBatch Server, and InBatch clients.
4. The prerequisite software has been installed.
26 Chapter 2

If you have not installed the prerequisite software, then a System Information
window will be displayed which will inform you of the prerequisite software that is
needed for the computer. You will not be able to install the InBatch software until
the required prerequisite software is installed.
1. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the Start
menu and enter E:\setup.exe (where E: is your CD-ROM drive).
2. On the Welcome to FactorySuite 2000 window, click Next.
3. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
4. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
5. On the FS2000 Products window, choose to install InBatch.
6. On the Installation Options window, choose to install the InBatch Software.
7. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.

To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
8. On the Select Components window, enable the Batch Clients checkbox.
Disable all other checkboxes.
9. Click on the Change button.
10. On the Select Sub-components window, enable the Batch Runtime Client
checkbox. Disable the Batch Development Client checkbox. Click Continue.
11. On the Select Components window, click Next to continue the installation.
12. On the Information Server Hostname window, enter the host name of your
Information Server. Click Next to continue the installation.
13. On the InBatch Runtime Client Configuration Data window, enter the host
name of your InBatch Server in the Host Name field.

Note The host name entered in the Host Name field must match the case of the
InBatch Server’s TCP/IP host name. For the Windows 2000 operating system, all
characters in the host name are capitalized.

Click Next to continue the installation.


14. On the InBatch Installation Location window, accept the default Destination
Folder or browse to select a different location. Click Next to continue the
installation.
15. On the Setup Complete window, click OK to reboot the computer.

Installing an InBatch Development Client


These instructions assume the following:
System Installation 27

1. The FactorySuite common components have been installed.


2. The FactorySuite Release Notes have been reviewed.
3. A network strategy has been implemented that will provide communication
between the Information Server, InBatch Server, and InBatch clients.
4. The prerequisite software has been installed.
If you have not installed the prerequisite software, then a System Information
window will be displayed which will inform you of the prerequisite software
that is needed for the computer. You will not be able to install the InBatch
software until the required prerequisite software is installed.
1. On the InBatch Server, create a share for C:\Program
Files\FactorySuite\InBatch directory. It is recommended that you name the
share “InBatch”.
2. On the computer where you intend to install the InBatch Development Client,
map a drive to the InBatch Server’s share for the C:\Program
Files\FactorySuite\InBatch directory.
3. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the Start
menu and enter E:\setup.exe (where E: is your CD-ROM drive).
4. On the Welcome to FactorySuite 2000 window, click Next.
5. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
6. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
7. On the FS2000 Products window, choose to install InBatch.
8. On the Installation Options window, choose to install the InBatch Software.
9. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.

To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
10. On the Select Components window, enable the Batch Clients checkbox.
Disable all other checkboxes.
11. Click on the Change button.
12. On the Select Sub-components window, enable the Batch Development Client
checkbox. Disable the Batch Runtime Client checkbox. Click Continue.
13. On the Select Components window, click Next to continue the installation.
14. On the Information Server Hostname window, enter the host name of your
Information Server. Click Next to continue the installation.
15. On the InBatch Development Client Data window, enter the Host Name for the
InBatch Server, the letter of the local drive that was mapped to C:\Program
Files\FactorySuite\InBatch directory on the InBatch Server, and the directory
in which the InBatch Development Client files will be installed.
28 Chapter 2

Note The host name entered in the Host Name field must match the case of
the InBatch Server’s TCP/IP host name. For the Windows 2000 operating
system, the host name is all capitalized.

Click Next to continue the installation.


16. On the Setup Complete window, click OK to reboot the computer.

Installing Seagate Crystal Reports Professional


8.0
1. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the Start
menu and enter E:\setup.exe (where E: is your CD-ROM drive).
2. On the Welcome to FactorySuite 2000 window, click Next.
3. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
4. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
5. On the FS2000 Products window, choose to install InBatch.
6. On the Installation Options window, choose to install the prerequisite software.
7. On the System Installation Options window, enable the Install Crystal Reports
Professional 8.0 radio button. Click Next.
8. On the Seagate Crystal Reports Professional Edition Setup window, click Next.
9. On the Seagate Crystal Reports Professional Setup window, enable the ‘I
accept the License Agreement’ radio button. Click Next.
10. On the Seagate Crystal Reports Professional Edition Setup window, enable the
Typical radio button. Click Next to begin the installation.

Note When asked to register the software, choose to register the software later.

Installing Internet Information Server (IIS)


Note This procedure is only required if you are using the Windows NT 4.0 Server
operating system for your Information Server platform. The Windows 2000 Server
operating system includes IIS.

1. If you have not done so already, install Windows NT 4.0 Service Pack 6a.
2. Install Windows NT 4.0 Option Pack:
A. If a dialog pops up that states ‘Setup detected the Windows NT 4.0 SP4 or
greater is installed on your machine. We haven’t tested this product on
SP4’. Choose Yes to continue with the installation.
System Installation 29

B. Read the end user license agreement. Click Accept to continue the
installation.
C. Choose the Typical installation.
D. Accept the default settings for Microsoft Internet Information Server.
E. Accept the default settings for SMTP Service.
3. Reapply Windows NT 4.0 Service Pack 6a.
4. Install MDAC 2.5 Service Pack 2.
A. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the
Start menu and enter E:\setup.exe (where E: is your CD-ROM drive).
B. On the Welcome to FactorySuite 2000 window, click Next.
C. On the FactorySuite 2000 License Agreement window, click Yes to accept
the license agreement.
D. When prompted to review the FactorySuite Release Notes, say No to
continue the installation.
E. On the FS2000 Products window, choose to install InBatch.
F. On the Installation Options window, choose to install the prerequisite
software.
G. On the System Installation Options window, enable the MDAC 2.5 SP2
radio button. Click Next.
H. On the Microsoft Data Access Components 2.5 Setup window, enable the
‘Yes, I accept all of the terms of the preceding license agreement.’
checkbox. Click Next.
I. On the Microsoft Data Access Components 2.5 Setup window, click Next
to begin the installation.
J. On the Microsoft Data Access Components 2.5 Setup window, enable the
‘Let me restart the system later’ radio button. Click Finish.
K. On the FS2000 Products window, click Exit.
L. Restart the machine.

Uninstalling InBatch Software


The following section describes how to remove components from your batch
system.

InBatch Runtime Client Uninstall


1. Close any InBatch applications that may be running on the machine.
2. Select uninstall Runtime Client from the Start > Programs > Wonderware
FactorySuite > InBatch Runtime Client menu.
3. On the Confirm File Deletion window, click Yes to continue the uninstall.
30 Chapter 2

4. The Remove Programs From Your Computer dialog appears. This dialog will
provide the status of the uninstall.

Note During the uninstall the ’Removed Shared File?’ window may pop up.
Click the Yes To All button to remove all shared files.

5. At the completion of the uninstall, if it was unable to remove all items then
click on the Details button to view items that were not removed. Make note of
the items that were not removed and click OK to close the Remove Programs
From Your Computer window.
6. Remove all items that may have been left behind, including the \InBatch folder.
7. Restart the machine.

InBatch Development Client Uninstall


1. Close any InBatch applications that may be running on the machine.
2. Unmap the drive to the InBatch Server machine.
3. Select uninstall Development Client from the Start > Programs > Wonderware
FactorySuite > InBatch Development Client menu.
4. On the Confirm File Deletion window, click Yes to continue the uninstall.
5. The Remove Programs From Your Computer dialog appears. This dialog will
provide the status of the uninstall.

Note During the uninstall the Removed Shared File? Window may pop up.
Click the Yes To All button to remove all shared files.

6. At the completion of the uninstall, if it was unable to remove all items then
click on the Details button to view items that were not removed. Make note of
the items that were not removed and click OK to close the Remove Programs
From Your Computer window.
7. Remove all items that may have been left behind, including the \InBatch folder.
8. Restart the machine.

InBatch Server Uninstall


1. Perform an Exit and Shutdown from Environment Display. Close the
WWLogger.
2. Select uninstall Server from the Start > Programs > Wonderware FactorySuite
> InBatch Server menu.
3. On the Confirm File Deletion window, click Yes to continue the uninstall.
4. The Remove Programs From Your Computer dialog appears. This dialog will
provide the status of the uninstall.

Note During the uninstall the Removed Shared File? Window may pop up.
Click the Yes To All button to remove all shared files.
System Installation 31

5. At the completion of the uninstall, if it was unable to remove all items then
click on the Details button to view items that were not removed. Make note of
the items that were not removed and click OK to close the Remove Programs
From Your Computer window.
6. Remove all items that may have been left behind, including the \InBatch folder.
7. Restart the machine.

InBatch Information Server Uninstall and Cleanup


The uninstall and cleanup of the InBatch Information Server is a multi step process:
1. Uninstall the InBatch Information Server.
2. Cleanup Microsoft SQL Server.
3. Remove report folders (optional).

Uninstall the InBatch Information Server


1. Select uninstall Information Server from the Start > Programs > Wonderware
FactorySuite > InBatch > BatchInfoServer menu.
2. On the Confirm File Deletion window, click Yes to continue the uninstall.
3. The Remove Programs From Your Computer dialog appears. This dialog will
provide the status of the uninstall.

Note During the uninstall the Removed Shared File? Window may pop up.
Click the Yes To All button to remove all shared files.

4. At the completion of the uninstall, if it was unable to remove all items then
click on the Details button to view items that were not removed. Make note of
the items that were not removed and click OK to close the Remove Programs
From Your Computer window.
5. Restart the machine.
6. The Information Server uninstall does not remove the AdminWeb, ReportWeb,
and BatchWeb default websites from Microsoft Internet Information Server.
To remove the websites, use the following procedure:
A. If using the Windows NT 4.0 Server operating system: On the Start menu,
select Programs > Windows NT 4.0 Option Pack > Microsoft Internet
Information Server > Internet Service Manager. This will start the
Microsoft Management Console. Expand the Internet Information Server
icon.

If using the Windows 2000 Server operating system: On the Start menu,
select Programs > Administrative Tools > Internet Services Manager. This
will start the Internet Services Manager.
B. Expand the icon for the hostname of your Information Server.
C. Expand the icon for the Default Website.
D. Right-click AdminWeb and select the Delete option.
E. Right-click ReportWeb and select the Delete option.
32 Chapter 2

F. Right-click BatchWeb and select the Delete option.


7. Restart the machine.
8. Remove all items that may have been left behind, including the
\BatchInfoServer folder.

Microsoft SQL Server Cleanup


To remove items added to Microsoft SQL Server by the InBatch software, the
following steps should be performed:
1. Start Enterprise Manager.
2. Expand the SQL Server tree (in the left window pane).
3. Remove the batch history databases:
A. Expand the Databases tree (in the left window pane).
B. Place the mouse cursor over BatchArchive.
C. Right-click then select Delete.
D. Place the mouse cursor over BatchHistory.
E. Right-click then select Delete.
4. Remove Extended Stored Procedures:
A. Expand the Master database tree (in the left window pane).
B. Double-click Extended Stored Procedures.
C. Select xp_ListReports (in the right pane of the window).
D. Right-click then select Delete.
E. Select xp_SyncReportLog.
F. Right-click then select Delete.
5. Remove Report Categories and Jobs:
A. Expand the Management tree (in the left window pane).
B. Expand the SQL Server Agent tree.
C. Select Jobs.
D. Right-click then select All Tasks > Manage Job Categories.
E. A Job Categories window will be displayed.
F. Select BatchArchives(0).
G. Click Delete.
H. Select BatchHistory(1).
I. Click Delete.
J. Click Close.
K. Select a job with Category BatchReports (in the right window pane).
L. Right-click then select Delete.
6. Remove Batch Logins:
System Installation 33

A. Expand the Security tree (in the left window pane).


B. Select Logins.
C. Select BatchAdminUser (in the right window pane).
D. Right-click then select Delete.
E. Select BatchUser (in the right window pane).
F. Right-click then select Delete.
7. Remove the following log and data files:
A. BatchHistory_Data.mdf
B. BatchArchive_Data.mdf
C. BatchHistory_Log.ldf
D. BatchArchive_Log.ldf.

Note The cleanup instructions assume that during the SQL Database creation
portion of the Information Server install, the default names for the history and
archive databases were not changed from BatchHistory and BatchArchive
respectively.

Remove report folders (optional)


Report output files are not uninstalled nor are they archived. Report folders contain
any report file output as configured using the ReportWeb. Report folder names are
created by the user.

Upgrading from InBatch 7.x to InBatch 8.0


Please read through all instructions before performing the upgrade.

Note If you are installing InBatch Premier edition and are upgrading from 7.1 to
8.0, but you did not purchase a security license, you must copy a default security
database (from the default configuration database folder) into the config_a folder to
ensure that security will be not be enabled.

The procedure for upgrading an InBatch 7.x system to an InBatch 8.0 system is as
follows:
1. Perform the Upgrade Preparation steps detailed in the 'Upgrade Preparation'
section.
2. If you are using your existing SQL Server machine then follow the procedure
detailed in the 'Upgrading SQL Server Machine To InBatch Information
Server'.
If you are using a new SQL Server machine then setup an InBatch Information
Server per the procedure detailed in the 'Installing InBatch Information Server
Components' section.
3. Install a Batch Server per the procedure detailed in the 'Installing an InBatch
Server' section.
34 Chapter 2

4. Install Batch Clients per the procedures detailed in the 'Installing a Batch
Runtime Client' and 'Installing a Batch Development Client' sections.
5. Upgrade the configuration databases per the procedure detailed in the 'Upgrade
Configuration from InBatch 7.x to InBatch 8.0' section.

Upgrade Preparation
1. All open batches should be closed prior to running the upgrade. The batch
schedule is not preserved by the upgrade.
2. Open Environment Editor and make note of your configuration settings. If you
have customized the environment you will need to re-customize it after the
upgrade.
3. Make a backup copy of your configurations.
4. Install the InBatch 7.x software
5. If on Windows NT 4.0 SP5 or lower then you must upgrade to Windows NT
4.0 SP6a.
Use the following procedure to uninstall the InBatch 7.x software.
1. On the Batch Development Client, un-map the drives to the Batch Server.
2. Uninstall the Batch Development Client and reboot the machine.
3. Uninstall the Batch Runtime Client and reboot the machine.
4. On the Batch Server, remove the batch history DSNs
5. Uninstall the Batch Server and reboot the machine.
6. Remove any \InBatch folders that remain after the un-installs.

Upgrading SQL Server Machine To InBatch


Information Server
1. On your existing SQL Server machine, install Wonderware Industrial SQL
Server 7.1, or Microsoft SQL Server 7.0 SP3, or Microsoft SQL 2000 SP1.
2. On your existing SQL Server machine, install Seagate Crystal Reports
Professional 8.0.
3. On your existing SQL Server machine, install Internet Information Server (IIS)
via NT Option Pack 4.
4. On your existing SQL Server machine, reapply Windows NT 4.0 Service Pack
6a.
5. On your existing SQL Server machine, install MDAC 2.5 Service Pack 2.
6. If you plan to convert your InBatch 7.0 history databases then follow the
procedure detailed in the 'Upgrade InBatch 7.0 History Database to InBatch
8.0' section.

If you do not plan to convert your InBatch 7.0 history databases then follow
the procedure detailed in the 'Installing InBatch Information Server
Components" section.
System Installation 35

7. If you plan to convert your InBatch 7.1 history databases then follow the
procedure detailed in the 'Upgrade InBatch 7.1 History Database to InBatch
8.0' section.

If you do not plan to convert your InBatch 7.1 history databases then follow the
procedure detailed in the "Installing InBatch Information Server Components"
section.

Upgrade InBatch 7.0 History Database to InBatch


8.0
1. If your Batch archive database is marked read-only you will need to remove
this restriction.
2. On the machine to be used as the InBatch 8.0 Information Server, create the
C:\Temp directory, if it does not already exist.
3. On the machine to be used as the InBatch 8.0 Information Server, copy the
\convert folder from the InBatch CD to the local drive.
4. On the machine to be used as the InBatch 8.0 Information Server, copy the
\InBatch\SQL71_Install folder from the InBatch CD to the local drive.
5. On the machine to be used as the InBatch 8.0 Information Server, run the
IB71_SQL_Install.exe that is located in the \InBatch\SQL71_Install folder.
6. On the SQL Server Login window, enter or select the Server.
7. On the SQL Server Login window, enable the Use SQL Server authentication
radio button.
8. On the SQL Server Login window, for the Login Name, enter sa. Leave the
Password field blank.
9. On the SQL Server Login window, click OK to continue the installation.
10. On the History Database Creation window, enter the name and location of the
History database that you will use with your InBatch 8.0 system.

Note It is recommended that you create the log files on a different physical
drive than where the database files are located.

11. On the History Database Creation window, if necessary, change the initial DB
size.
12. On the History Database Creation window, if necessary, change the initial log
size.
13. On the History Database Creation window, click Create Databases.
14. On the Archive Database Creation window, enter the name and location of the
Archive database that you will use with your InBatch 8.0 system.

Note It is recommended that you create the log files on a different physical
drive than where the database files are located.

15. On the Archive Database Creation window, if necessary, change the initial DB
size.
36 Chapter 2

16. On the Archive Database Creation window, if necessary, change the initial log
size.
17. On the Archive Database Creation window, click Create Databases.
18. On the machine to be used as the InBatch 8.0 Information Server, start
Microsoft SQL Server Enterprise Manager.
19. On the Tools menu, select Data Transformation Services and then point to
Import Data.
20. On the DTS Import Wizard, click Next.
21. On the next DTS Import Wizard dialog, select the Source drop-down arrow
and select 'Microsoft ODBC for SQL Server'.
22. Select the Server that contains the InBatch 7.0 History database that you want
to convert.
23. Click the Database drop-down arrow, and select the database that you want to
convert.
24. Enable the 'Use SQL Server authentication' radio button, and enter the
Username and Password as required. Click Next.
25. Click the Destination drop-down arrow and select 'Microsoft OLE DB
Provider for SQL Server'.
26. Select the Server that you will be using as the InBatch 8.0 Information Server.
27. Click the Database drop-down arrow, and select the history database that was
created by running IB71_SQL_Install.exe. Click Next.
28. Choose to copy tables.
29. Enable all of the Source table checkboxes except for the CodeTable and
UserProfile.
30. In the Source Table column, select InBatchAdmin, click the Destination Table
drop-down arrow, and then select BatchAdmin.
31. In the Source Table column, select the BatchLogID table.
32. In the Transform column, click the ellipses button for BatchLogID.
33. On the Column Mappings tab, for Recipe_Type and Recipe_State Destination,
set the Source to <ignore>.
34. Ensure that all Source and Destination Names (except for Recipe_Type and
Recipe_State) are the same. To change the mapping, click the entry in the
Source column and then select the field, from the drop down list, that matches
the entry in the Destination column.
35. Click OK.
36. Click Next.
37. Enable the 'Run Immediately' and 'Save DTS' checkboxes.
38. Click Next.
39. A default Name and Description are provided. You can modify these entries.
40. Enable the 'Use SQL Server authentication' radio button.
41. For the Username enter sa. Leave the password blank.
System Installation 37

42. Disable the 'Use SQL2000 encryption' checkbox.


43. Click Next.
44. Click Finish.
45. The Executing DTS Package window will indicate the progress of your
database conversions. If you have carefully selected all of the SQL Server
configuration parameters and table mappings, a message will be displayed
indicating that the conversion was successful. If there are errors, a descriptive
error message will be displayed. If errors occur, carefully examine the results,
and then attempt the conversion again.
46. Copy \convert\xp_ListReports.dll to \MSSQL7\binn.
47. Copy \convert\xp_SyncReportLog.dll to \MSSQL7\binn.
48. Run the convert711.bat file that is located in the \convert folder. The syntax for
running the file is as follows:

Convert711 <ServNM> <HistDB> <ArchDB>

where

<ServNM> is the name of the station where SQL Server resides.


This is required. Use the name of the machine being used for the
InBatch Information Server.

<HistDB> is the name of the history database. By default, the name is


BatchHistory, and the command will use the default name if it is not
provided. Use the name of the history database created by running
IB71_SQL_Install.exe.

<ArchDB> is the name of the archive database. By default, the name is


BatchArchive, and the command will use the default name if it is not
provided. Use the name of the archive database created by running
IB_SQL_Install.exe.

Example:

"Convert711 InBatch_SQL BatchHistory BatchArchive"


49. Run the convert80.bat file that is located in the \convert folder. The syntax for
running the file is as follows:
38 Chapter 2

Convert80 <ServNM> <HistDB> <ArchDB>

where

<ServNM> is the name of the station where SQL Server resides.


This is required. Use the name of the machine being used for the
InBatch Information Server.

<HistDB> is the name of the history database. By default, the name is


BatchHistory, and the command will use the default name if it is not
provided. Use the name of the history database created by running
IB71_SQL_Install.exe.

<ArchDB> is the name of the archive database. By default, the name is


BatchArchive, and the command will use the default name if it is not
provided. Use the name of the archive database created by running
IB71_SQL_Install.exe.

Example:

"Convert80 InBatch_SQL BatchHistory BatchArchive"


50. On the machine to be used as the InBatch 8.0 Information Server, bring up the
Control Panel. (In the steps that follow you will be configuring the
BatchHistory DSN. )
51. In the Control Panel window, double-click the ODBC Data Sources icon.
52. In the ODBC Data Source Administrator window, select the System DSN tab.
Click Add.
53. In the Create New Data Source window, select SQL Server for the driver.
Click Finish.
54. In the Create a New Data Source to SQL Server window, enter BatchHistory
for the Name of the data source.
55. Select the SQL Server. Click Next.
56. Enable the 'With SQL Server authentication using a login ID and password
entered by the user' radio button.
57. Click Client Configuration.
58. In the Edit Network Library Configuration window, enable the 'TCP/IP' radio
button. Click OK to close the window.
System Installation 39

59. Enable the 'Connect to SQL Server to obtain default settings for the additional
configuration options' checkbox.
60. Enter a Login ID and Password for an account with administrative privileges.
Default Login ID is 'sa' and Password is blank. Click Next.
61. Enable the 'Change the default database to:' checkbox and then select your
batch history database. Click Next.
62. When finished, click OK on the ODBC Data Source Administrator window.
63. On the machine to be used as the InBatch 8.0 Information Server, insert the
InBatch CD into the CD-ROM drive. The auto-run capability of Windows will
start the setup program. If it does not, select Run from the Start menu and enter
E:\setup.exe (where E: is your CD-ROM drive).
64. On the Welcome to FactorySuite 2000 window, click Next.
65. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
66. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
67. On the FS2000 Products window, choose to install InBatch.
68. On the Installation Options window, choose to install the InBatch software.
69. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.

To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
70. On the Select Components window, enable the Information Server checkbox.
Disable all other checkboxes.
71. Click the Change button.
72. On the Select Sub-components window, enable the Information Server
Components checkbox. Disable all other checkboxes. Click Continue.
73. On the Select Components window, click Next.
74. On the Information Components window, accept the default Destination Folder
or browse to select a different location. Click Next to continue the installation.
75. On the InBatch Server Information window, enter the host name of your
InBatch Server in the Host1 field.

Note The host name entered in the Host1 field must match the case of the
InBatch Server's TCP/IP host name. For the Windows 2000 operating system,
the host name is all capitalized

Click Next to continue the installation.


76. On the Alarm System Server window, if using InTouch 7.11, enter the
computer name of the SQL Server machine where the InTouch alarm database
(WWALMDB) resides. If using an earlier version of InTouch, click Next to
continue the installation.
77. On the Setup Complete window, click OK to reboot the computer.
40 Chapter 2

Note When the Information Server is installed, the Report Path is


C:\BatchInfoServer\Crystal by default. The default Report Path is always
associated with the C: drive even if the Information Server is installed on a
different drive. If the Information Server is installed on a different drive, then
the Report Path must be edited using the Config button on the Information
Server's AdminWeb page. If you change the Report Path, the
InBatch_ReportQReader service must be restarted. Users should consider this
when creating and editing recipes that include reports. For more information
on using the AdminWeb page, see Chapter 22, "System Administration."

Upgrade InBatch 7.1 History Database to InBatch


8.0
1. If your Batch archive database is marked read-only you will need to remove
this restriction.
2. On your existing SQL Server machine, copy the \convert folder from the
InBatch CD to the local drive.
3. Copy \convert\xp_ListReports.dll to \MSSQL7\binn.
4. Copy \convert\xp_SyncReportLog.dll to \MSSQL7\binn.
5. Run the convert711.bat file that is located in the \convert folder. The syntax for
running the file is as follows:

Convert711 <ServNM> <HistDB> <ArchDB>

where

<ServNM> is the name of the station where SQL Server resides.


This is required.

<HistDB> is the name of the history database. By default, the name is


BatchHistory, and the command will use the default name if it is not
provided.

<ArchDB> is the name of the archive database. By default, the name is


BatchArchive, and the command will use the default name if it is not
provided.

Example:

"Convert711 InBatch_SQL BatchHistory BatchArchive"


System Installation 41

6. Run the convert80.bat file that is located in the \convert folder. The syntax for
running the file is as follows:

Convert80 <ServNM> <HistDB> <ArchDB>

where

<ServNM> is the name of the station where SQL Server resides.


This is required.

<HistDB> is the name of the history database. By default, the name is


BatchHistory, and the command will use the default name if it is not
provided.

<ArchDB> is the name of the archive database. By default, the name is


BatchArchive, and the command will use the default name if it is not
provided.

Example:

"Convert80 InBatch_SQL BatchHistory BatchArchive"

7. On your existing SQL Server machine, bring up the Control Panel. (In the steps
that follow you will be configuring the BatchHistory DSN.)
8. In the Control Panel window, double-click the ODBC Data Sources icon.
9. In the ODBC Data Source Administrator window, select the System DSN tab.
Click Add.
10. In the Create New Data Source window, select SQL Server for the driver.
Click Finish.
11. In the Create a New Data Source to SQL Server window, enter BatchHistory
for the Name of the data source.
12. Select the SQL Server. Click Next.
13. Enable the 'With SQL Server authentication using a login ID and password
entered by the user' radio button.
14. Click Client Configuration.
15. In the Edit Network Library Configuration window, enable the 'TCP/IP' radio
button. Click OK to close the window.
42 Chapter 2

16. Enable the 'Connect to SQL Server to obtain default settings for the additional
configuration options' checkbox.
17. Enter a Login ID and Password for an account with administrative privileges.
Default Login ID is 'sa' and Password is blank. Click Next.
18. Enable the 'Change the default database to:' checkbox and then select your
batch history database. Click Next.
19. When finished, click OK on the ODBC Data Source Administrator window.
20. On your existing SQL Server machine, insert the InBatch CD into the CD-
ROM drive. The auto-run capability of Windows will start the setup program.
If it does not, select Run from the Start menu and enter E:\setup.exe (where E:
is your CD-ROM drive).
21. On the Welcome to FactorySuite 2000 window, click Next.
22. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
23. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
24. On the FS2000 Products window, choose to install InBatch.
25. On the Installation Options window, choose to install the InBatch software.
26. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.

To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure
27. On the Select Components window, enable the Information Server checkbox.
Disable all other checkboxes.
28. Click the Change button.
29. On the Select Sub-components window, enable the Information Server
Components checkbox. Disable all other checkboxes. Click Continue.
30. On the Select Components window, click Next.
31. On the Information Components window, accept the default Destination Folder
or browse to select a different location. Click Next to continue the installation.
32. On the InBatch Server Information window, enter the host name of your
InBatch Server in the Host1 field.

Note The host name entered in the Host1 field must match the case of the InBatch
Server's TCP/IP host name. For the Windows 2000 operating system, each
character of the host name is capitalized.

Click Next to continue the installation.


33. On the Alarm System Server window, if using InTouch 7.11, enter the
computer name of the SQL Server machine where the InTouch alarm database
(WWALMDB) resides. If using an earlier version of InTouch, click Next to
continue the installation.
34. On the Setup Complete window, click OK to reboot the computer.
System Installation 43

Note When the Information Server is installed, the Report Path is


C:\BatchInfoServer\Crystal by default. The default Report Path is always
associated with the C: drive even if the Information Server is installed on a different
drive. If the Information Server is installed on a different drive, then the Report
Path must be edited using the Config button on the Information Server's AdminWeb
page. If you change the Report Path, the InBatch_ReportQReader service must be
restarted. Users should consider this when creating and editing recipes that include
reports. For more information on using the AdminWeb page, see Chapter 22,
"System Administration."

Upgrade Configuration from InBatch 7.x to InBatch


8.0
In order to use configurations created with InBatch 7.x in InBatch 8.0, the
configuration must be converted. Failure to convert the configuration may render
the InBatch 8.0 system unusable.

Database Conversion Requirement

Batch No conversion required

Environment Required
Note You must manually reconfigure the Environment
database after the conversion.

History Required

Link No conversion required

Materials Required
Note Material characteristic values are converted to real
data types.

Process Logger Required

Process Model Required

Recipe Required

Report Required
Note You will need to copy any customized Crystal Report
files to the Information Server. Do not overwrite any of the
Crystal Report files that were installed as part of the
Information Server software.

Security Required

Tag Interface No conversion required


Management
(TIM)

Note The upgrade of the configuration is performed on the Batch Server.


44 Chapter 2

1. Start the Environment Display and then perform an Exit and Shutdown.
2. Close the WWLogger.
3. Select Run from the Start menu and enter C:\Program
Files\FactorySuite\InBatch\bin\CvtMaster.exe.
4. Acknowledge the message that informs you to backup your configuration and
ensure that the Information Server is operating properly.
5. Click the Configuration button to browse and select the location of your
configuration.

Note If you are converting a configuration that contains a Report database, the
conversion utility will require that you enter a path name for the location on the
Information Server where report output files will be stored. It is recommended that
you create a folder on the Information Server for this purpose.

6. If applicable, enter a path name for the location on the Information Server
where report output files will be stored.
7. Click Convert.

When the conversion has finished, a window will display the databases that
were converted, those that failed to be converted or were skipped, and those
that were up to date. A detailed log of the conversion operations is contained
in the DbCvt.txt file. This file is located in the configuration folder specified
earlier.
8. Copy CfgModelDB.dat, CfgModelDB.dbd, and CfgModelDB.key from the
converted configuration to C:\Program
Files\FactorySuite\InBatch\cfg\config_A.
9. Copy ModelDB.dat, ModelDB.dbd, and ModelDB.key from the converted
configuration to C:\Program Files\FactorySuite\InBatch\cfg\config_A.
10. Copy MaterialDB.dat, MaterialDB.dbd, and MaterialDB.key from the
converted configuration to C:\Program
Files\FactorySuite\InBatch\cfg\config_A.
11. Copy RecipeDB.dat, RecipeDB.dbd, and RecipeDB.key from the converted
configuration to C:\Program Files\FactorySuite\InBatch\cfg\config_A.
12. Copy SecurityDB.dat, SecurityDB.dbd, and SecurityDB.key from the
converted configuration to C:\Program
Files\FactorySuite\InBatch\cfg\config_A.

Note It is assumed that C:\Program Files\FactorySuite\InBatch\cfg\config_A


contains empty databases. If it does not, it is recommended that the contents of
\config_A be deleted and the contents of \dflt_cfg be copied to \config_A.

Note If you had Link and Process Logger databases configured in InBatch 7.x
then CfgLinkDB.dat, CfgLinkDB.dbd, CfgLinkDB.key, LinkDB.dat, LinkDB.dbd,
LinkDB.key, LoggerDB.dat, LoggerDB.dbd, and LoggerDB.key may also be
copied to the \config_A directory.
Environment Management System 45

C H A P T E R 3

Environment Management
System

The Environment Management System manages the execution of applications


within the batch system. The system consists of the Environment Editor,
Environment Manager, and Environment Display. Use Environment Editor to
configure the applications that will run on the batch server. Environment Manager
starts and stops applications, manages databases and provides system control.
Environment Display is a graphical user interface (GUI) for visualizing and
interacting with the batch system.
The Environment Management System monitors the interdependencies of system
applications to ensure correct start-up and shutdown sequences. The Environment
Management System also allows you to configure the operation of custom
applications.

Contents
• Overview
• Using Environment Display
• Starting and Stopping Applications from Environment Display
• Using Environment Editor
• Adding Applications to the Environment
• Assigning Application Parameters
• User Defined (Other) Applications
• Using Environment Manager
• Automatic Start-up and Shutdown of Runtime
46 Chapter 3

Overview
You can use Environment Editor to define the applications that run on a Batch
Server. An Environment is configured by selecting applications from a list of
available applications. The editor then sorts and displays the list of selected
applications in the order that they will be executed. This sequential ordering is
necessary due to interdependencies of batch applications.
Environment Manager determines which applications will be displayed in the
Environment Display by reading the environment database. Environment Manager
ensures that the proper interdependent applications are running and displays an
appropriate error message otherwise. For example, you want to add Batch Display
to the Environment Display. The operation of Batch Display requires the server
capability of Batch Manager. Therefore, the editor must ensure that Batch Manager
is selected or already in the system.
Environment Display is the user interface to the batch server applications.
Operators typically use Environment Display to view the status of background
applications and start foreground applications.
The Environment Management System provides an environment for editing an off-
line copy of the Process Model database (CfgModelDB). This capability allows you
to edit an off-line copy of the model while the batch system continues normal
runtime operation. After you complete your changes to the model, you can
shutdown the runtime system, update the configuration process model database
with the runtime process model database, and then restart the system.

Environment Management System Architecture


Environment Management System 47

Using Environment Display


Environment Display is the graphical user interface between operators and the
applications running in the batch management system. Use Environment Display
for starting batch system applications, configuring the environment system and
viewing the status of background applications.

To start Environment Display:


1. On the Windows Start menu, click Programs, point to Wonderware
FactorySuite, InBatch Server, and then point to Environment Display.

2. The Environment Display window will appear.

Note When Environment Display is started, the Environment Manager


(EnvMngr), Lock Manager (lm_tcp) History Queue Manager (HistQMngr), and
Security Manager (SecMngr) applications are started in the background.

3. When the Environment Display starts it also starts the Wonderware Logger.
The Wonderware Logger displays messages for all system activity for the
Batch Server, Runtime Clients and Development Clients such as startup,
shutdown, warnings and errors along with time and date stamps. If the
Wonderware Logger is closed, it can be restarted by selecting the Windows
Start menu, click Programs, point to Wonderware FactoySuite, Common
and then point to WWLogger.
48 Chapter 3

A typical Wonderware Logger window is shown here.

File Menu
The Environment Display File menu provides system functions for the
Environment Display application.

File/Exit
Use the File/Exit menu to stop the Environment Display application. Selecting
File/Exit does not stop background runtime applications or services.

To stop the Environment Display:


Click File and then select Exit.

File/Terminate App
Use the File/Terminate menu to terminate applications that failed to start or stop in
the batch system (default timeout is two minutes). The File/Terminate App option
can only be selected when applications are available for termination.
Environment Management System 49

To terminate an application:
1. From the Applications list, select the application(s) you want to terminate.
2. Click Terminate.
3. Click Close.

Note By default, Environment Manager waits 120 seconds before declaring that
an application is available for termination. It may be necessary to increase this
system timeout value. For more information on changing the default system
timeout value, see ‘Environment System Timeout’ later in this section.

File/Exit and Shutdown


Use the File/Exit and Shutdown menu to stop the Environment Display,
Environment Manager, Security Manager, History Queue Manager, database Lock
Manager (lm_tcp), all active batch system applications (e.g. Model Editor, Recipe
Editor) and all active runtime applications.

To Exit and Shutdown the Batch System:


1. Click File and then Exit and Shutdown.
2. The batch system will begin the process of stopping the runtime system. If
configuration applications such as Model Editor or Recipe Editor are running,
you will be prompted as to whether or not you want to stop them.

Note An Exit and Shutdown completely stops the batch system. If you are not
logged on to the operating system with administration privileges, you will not be
able to restart Environment Manager or Environment Display. To restart the batch
system, a user with proper administrative privileges must log on. To avoid this
situation you can configure security for the Environment Display Exit & Shutdown
function using the security system.

For more information on configuring security, see Chapter 13, "Security System."

Update Menu
The Environment Display Update menu allows you to modify the environment
(runtime and configurations) based on changes that you have made to the batch
system.

Update/Environment
Use the Update/Environment command to re-initialize the Environment Manager
and Display based on the environment database configuration. Changes that you
make to the environment database with the Environment Editor are not active until
you update the environment.

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 runtime system, must be shutdown
before the update can be successfully executed.
50 Chapter 3

To Update the Environment:


1. From the Environment Display file menu, select Update and then click
Environment.
2. The Environment Display message box will appear, prompting you to
proceed with the update.
3. Click Yes on the message box.

Update/Runtime
The environment system provides you with the ability to make off-line changes to
process models and tag linker databases. Use Update/Runtime to copy the
contents of the process model, link, and TIM configuration databases into the
corresponding runtime databases. Changes that you make to a process model are
not active until you update the runtime databases. You cannot perform an
Update/Runtime on a running system.

To Update the Runtime:


1. From the Environment Display file menu, select Update and then click
Runtime.
2. A confirmation message will appear advising that the runtime databases in
your system are going to be overwritten by the configuration databases. The
date and time are displayed in the message so that you can determine whether
or not you want to proceed with the update.

WARNING! The contents of the runtime process model, link, and TIM databases
will be overwritten by the configuration databases when you perform a runtime
update. You should backup your runtime databases before proceeding.

3. Click Yes to update the runtime databases.

Update/Configuration
The environment system provides you with the ability to discard any off-line
changes to the process model and tag linker databases. Use Update/Configuration
to copy the contents of the process model, link, and TIM runtime databases into the
corresponding configuration databases. You cannot perform an
Update/Configuration on a running system.

To Update the Configuration:


1. From the Environment Display file menu, select Update and then click
Configuration.
2. A confirmation message will appear advising that the configuration databases
in your system are going to be overwritten by the runtime databases. The date
and time are displayed in the message so that you can determine whether or not
you want to proceed with the update.

WARNING! The contents of the configuration process model, link, and TIM
databases will be overwritten by the runtime databases when you update the
configuration. You should backup your databases before proceeding.
Environment Management System 51

3. Click Yes to update the configuration databases.

View Menu
The Environment Display View menu allows you to monitor the operation of
background applications that were started by the batch system.

View/Status
Use the View/Status menu to display the System Application Status window. This
window displays the current status of the background applications that were
automatically started with the Environment Display. Each application listed in the
window must be “Running” in order to initiate any of the associated configuration
and runtime applications.

To View the Status of System Applications:


1. From the Environment Display file menu, select View and then click Status.
2. The System Application Status window appears.

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 executed
as an operating system service and are started by the Environment Manager.

Note The System Application status window will show the status of the
Redundancy Manager if redundancy is being used.

3. Click Close.

Help Menu
The Environment Display Help menu contains commands that provide you with
access to the online help system and information regarding product version.

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Environment
Display.
52 Chapter 3

To View the Help Topics for Environment Display:


1. From the Environment Display file menu, select Help and then click
Help Topics.
2. The Help Topics window will appear.

Help/About Environment Display


Use the Help/About command to view information regarding program version.

To View Help About Topics for Environment Display:


1. From the Environment Display file menu, select Help and then click Help
About Environment Display.
2. The About Batch Environment Display window will appear.
3. Click OK to close the window.

To View FactorySuite Licensing Information:


1. From the Environment Display file menu, select Help and then click Help
About Environment Display.
2. The About InBatch Environment Display window will appear.
3. Click View License.
4. The License Utility window will appear.

Note Using the License utility is beyond the scope of this User's Guide.

For more information on FactorySuite Licensing, see your FactorySuite


Administrator’s Guide

Starting and Stopping Applications from


Environment Display
Batch System Runtime applications can be started and shutdown using the
Environment Display or they can be configured to automatically start or shutdown.
Use Environment Display to configure the start-up of GUI-based and runtime
applications. If you have a plant in which you need unattended shutdown or startup
your batch runtime system, see “Automatic Start-up and Shutdown of Runtime”
later in this section.
Configuration and runtime applications that a have a GUI, and were configured in
the environment editor, appear as icons in the environment display. All of the
applications in the Environment Display are started by double-clicking the
application’s icon.
Configuration applications start when you select them. Runtime applications start
only if the corresponding server is running. For example, Batch Scheduler and
Batch Display will not start if Batch Manager is not running. If you attempt to start
a runtime application and it’s server is not started, an error message will be
displayed.
Environment Management System 53

Application Icons
Configuration and runtime applications that have a user interface and were
configured in the environment editor will appear as icons in the environment
display. All of the applications in the Environment Display are started by double-
clicking the application's icon.

Runtime Applications
Runtime applications can be started and stopped from the Environment Display.
Runtime applications run as Windows NT services. You can start and stop
individual or multiple applications.

To Start All Runtime Applications:


1. On the Environment Display, click the Runtime button.
2. The Runtime Application Display appears.

3. Click Start All.


4. All the runtime applications are started in the same order in which they are
listed.
When an application is started, a message indicating the application’s status is
displayed in the Status column of the Runtime Application Display. As each
application starts, its Status will change from Stopped to Starting, and then
finally, to Running.

To Stop All Runtime Applications:


1. On the Runtime Application Display, click Stop All.
54 Chapter 3

2. All the runtime applications are stopped in the same order in which they were
started.
When an application is stopped, a message indicating the application’s status is
displayed in the Status column of the Runtime Application Display. As each
application stops, its Status will change from Started to Stopping, and then,
finally to Stopped.
An error message will be displayed if you attempt to stop an application that
has a interdependent client application running.

To Start a Single Runtime Application:


1. In the Runtime Application Display, Application list, select the application
that you want to start.
2. Click Start App.
When the application is started, a message indicating the application’s status is
displayed in the Status column of the Runtime Application Display. As the
application starts, its Status will change from Stopped to Starting, and then
finally, to Running.
Environment Manager will ensure that the appropriate 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 is displayed.

To Stop a Single Runtime Application:


1. In the Runtime Application Display, Applications list, select the application
that you want to stop.
2. Click Stop App.
When the application is stopped, a message indicating the application’s status
is displayed in the Status column of the Runtime Application Display. As the
application stops, its Status will change from Started to Stopping, and then,
finally to Stopped. An error message will be displayed if you attempt to stop an
application that has an interdependent client application running.
Environment Management System 55

Using Environment Editor


Use Environment Editor to configure individual applications within the batch
system. You can use Environment Editor to add or remove applications from the
environment management system and configure application parameters. You can
also configure the applications within Environment Display that are controlled by
Environment Manager.

To start Environment Editor:


1. On the Environment Display window, click the Environment button.
2. The Environment Editor window will appear.

File Menu
The Environment Editor File menu provides system functions for the Environment
Editor application.

File/Exit
Use the File/Exit menu to close Environment Editor.

To Close Environment Editor:


On the Environment Editor menu bar, click File and then select Exit.

Edit Menu
The Environment Editor Edit menu allows you to view and modify environment
system parameters.

Edit/System Parms
Use the Edit/System Parms menu to modify the parameter values assigned to
background service applications (e.g. Lock Manager and Redundancy Manager)
that are started prior to all applications.

To Edit System Parameters:


1. On the Environment Editor menu bar, click Edit and then select System
Parms.
2. The Edit System Parameters window will appear.

3. From the Parameters list, select the item that you want to edit.
56 Chapter 3

4. In the Value field, enter the required value in accordance with the table below.

Parameter Description
Max locked files The maximum number of database files under lock
manager control. Default is 256.
Max locks in queue The maximum size of the file lock request queue. Default
is 128.
Max users The maximum number of users lock manager may control.
Default is 32.
Redundancy Time-out The number of seconds that the backup computer will wait
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 will be
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 for InBatch
Premier Edition Only. Valid values are 2 and 3. Default is
3. This parameter is ignored by InBatch FlexFormula
Edition.
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 will completely remove this feature from
RecipeEdit. Default is 1.

Note The table lists all of the available parameters.

5. Click Change.
If you do not click Change, the values that you entered will not be updated.
6. Click Close to close the Edit System Parameters window.

Note You must shutdown and restart your batch system in order for system
parameter changes to take effect.

Help Menu
The Environment Editor Help menu contains commands that provide you with
access to the online help system and information regarding product version.

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Environment
Editor.

To View Help Topics for Environment Editor:


1. From the Environment Editor file menu, select Help and then click Help
Topics.
2. The Help Topics window will appear.
Environment Management System 57

Help/About Environment Editor


Use the Help/About command to view Version information.

To View About Help Topics for Environment Editor:


1. From the Environment Editor file menu, select Help and then click Help
About Environment Editor.
2. The About Environment Editor window will appear.
3. Click OK to close the window.

To View FactorySuite Licensing Information:


1. From the Environment Editor file menu, select Help and then click Help
About Environment Editor.
2. The About InBatch Environment Editor window will appear.
3. Click View License.
4. The License Utility window will appear.

Note Using the License utility is beyond the scope of this User's Guide.

For more information on FactorySuite Licensing, see your FactorySuite


Administrator’s Guide

Adding Applications to the Environment


Use the Environment Editor Add Applications window to add batch system
applications and user-defined applications to the environment.
You can also add multiple instances of some configuration and batch client
applications running on a batch server. Some runtime manager applications cannot
have multiple instances. If you attempt to add an instance of a runtime server that is
present in the environment, an error message will be displayed.
When you have multiple instances of configuration and batch client applications
running on a batch server, you must specify a unique name for each. Instance names
(12-char max) should describe the purpose of the application.
Application names, including instances, appear as icon labels in the Environment
Display. They are also listed in the Runtime Application Display.

Note When you add an instance, a unique name is automatically assigned. You
can use Environment Editor to change the name. Instance names within the batch
system must be unique. If they are not, an error message will appear.

Adding Applications
To Add an Application:
1. On the Environment Editor window, click the Add button.
2. The Add Application window will appear.
58 Chapter 3

The Applications list contains all of the batch system and user defined
applications that can be added.
3. In the Applications list, select the item that you want to add.
4. Click Apply to add your selection to Environment Editor’s Application list.
Clicking OK also adds an application; however, the Add Applications
window will close.
5. Click Close to close the Add Applications window.

Note Applications in the Environment Editor Application list are shown in the
sequence in which the batch system will execute them.

To Add an Instance of an Application:


1. On the Environment Editor window, click the Add button.
2. The Add Application window will appear.
Environment Management System 59

The Applications list contains all of the batch system and user defined
applications that can be added.
3. In the Applications list, select the item that you want to add as an instance.
4. Click Apply to add the instance to Environment Editor’s Application list.
Clicking OK also adds an application; however, the Add Applications
window will close.
5. Click Close to close the Add Applications window.
6. The default instance name will appear in the Environment Editor
Application list and in the Instance name field.
60 Chapter 3

7. In the Instance field, enter an appropriate name for the application.


8. Click Change.
9. The new Instance name will appear in the Instance list of the
Environment Editor.

Assigning Application Parameters


Some applications require the assignment of parameters in order to run properly.

Assign Application Parameters


To Assign Application Parameters:
1. From Environment Editor, select an application from the Application list.
Environment Management System 61

2. If you want create a new parameter, click the New button and then enter an
appropriate parameter Name and Value.

The new parameter will be available for assignment.


3. Click the Assign Parm button.
If you select an application whose parameters cannot be configured, the Assign
Parm button will be unavailable.

The Assign Application Parameters window will appear.

4. From the Parameters list, select the appropriate parameter(s).


5. Click Apply to add the parameter(s) to the application.
Clicking OK adds an application and then closes the Assign Application
Parameters window.
6. Click Close to close the Assign Application Parameters window.

Assign Application Parameter Values


To Assign Application Parameter Values:
1. From the Environment Editor Application list, select an application.
2. The parameter will appear in the Parameter list. The current value will appear
in the Value list and in the Value field.
If you select an application whose parameters cannot be configured, the list
will be empty.
3. In the Value field, enter the required value.
For more information on Application Parameters, see “Application Parameter
Descriptions” below.
4. Click Change to update the value.

Application Parameter Descriptions


All of the available parameters for each application are described below.
62 Chapter 3

Simulation Manager (SimMngr)

Parameters Description
Seconds per Phase Length of time for which each new phase is executed. Default value of 30
seconds.
Write R/O Tags Enables writing to read-only tags in the batch system.

Process Log Manager (LogMngr)

Parameters Description
Configuration Enter the name of the configuration defined in the Process Log Editor.

Batch Manager (BatchMngr)

Parameters Description
Restarting Batches All batches are resumed in their previous state upon system restart.
Phase/Batch Status Batch Manager controls 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 9,
"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.
Server Node ID Sets Batch Server Unique Indentifier. Allows multiple batch servers to use a
single history database. (Use only the characters A thru Z to define the ID)
Disable Warm Restart Disables loading and saving of warm restart information. Batches will be lost
when application stops.
Parm Time (msecs) Time, in milliseconds, between each attempt to read a parameter tag value with a
valid timestamp. The default value is 50 msecs. This parameter determines how
often Batch Manager tries to read the parameter values at the end of a phase.
Parm Timeout (sec) Time, in seconds, of all attempts to read a parameter tag value before a timeout
failure. The default value is 30 seconds. A value of zero disables retries. This
parameter determines how long Batch Manager will continue to retry reading
parameters before generating an error.
Semi-Auto On Abort Batch is placed in semi-automatic mode when a phase is aborted.

Batch Display (BatchDspl)

Parameters Description
Manual Operations Enable the selection of Manual Operation from Batch Display.
Environment Management System 63

InBatch I/O Client (IBCli)

Parameters Description
Access Name Access name for which IBCli will obtain values for the assigned tags
Advise All Performs an Advise All on initialization.
Backup App Secondary application from which IBCli will look for tag values if there is a
communications failure.
Backup Node Secondary workstation from which IBCli will look for tag values if there is a
communications failure.
Backup Topic Secondary topic from which IBCli will look for tag values if there is a
communications failure.
Connect Time (sec) Time after which an IBCli connect to the I/O server will time-out.
Disable Timestamp Disable end-of-phase timestamp feature for this topic.
Force Use Tag Name Use tag name instead of the defined item name.
Ping Time (sec) Time after which IBCli will ping the I/O server to detect a connection loss.
Recon Time (sec) Time after which IBCli will attempt to re-establish communications with the I/O
server.
Response Time (sec) Time after which an IBCli request to the I/O server will time-out. Default is 15
seconds.
Verbose Mode Enables extensive messaging for IBCli information and application errors.
64 Chapter 3

InBatch Function Server (IBFServ)


Parameters Description
ProtTimer (msecs) I/O Server toolkit setting.
Verbose Mode Enable extensive messaging for IBFServ application errors and information.

InBatch Server (IBServ)


Parameters Description
ProtTimer (msecs) I/O Server toolkit setting.
Verbose Mode Enable extensive messaging for IBServ application errors and information

TIMBatch (TIMBatch)
Parameters Description
Use 3 Levels When set, uses all 3 levels of the recipe procedure in InTouch wizard Phase and
Phase Edit lists. InBatch Premier Edition Only. This parameter is ignored in
FlexFormula Edition
Wizard Compatibility Allows InTouch Batch Wizards to continue functioning by removing new
columns of information.

Deleting Application Parameters


To Delete Application Parameters:
1. From Environment Editor, select an application from the Application list.
1. Click the Delete button.
1. The Application Parameter is no longer assigned to the application.

User Defined (Other) Applications


User-defined applications and parameters can be added to the environment
management system. Only batch system compatible applications will work
properly within the environment system. This features does not support the entry
and execution of standard operating system applications. This section is limited to
the description of how to add previously created applications to the environment
system. Creating compatible applications is beyond the scope of this manual.

To Add a User Defined Application:


1. On the Add Applications window, click Other.
2. The User Defined Applications window will appear.
Environment Management System 65

3. Enter a Name (16-char max), Type, Parameters, (optional), and select Client
Of/Server To designations (optional).
The Type drop-down menu lists three application types.

Type Description
Editor Designates the application as a configuration application within the Environment
system.
Single Runtime Designates the application as a runtime application that can only be added once
to the Environment system.
Multiple Runtime Designates the application as a runtime 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 will also appear in the Runtime Applications Display. The order that
the applications are listed is essential for proper batch system operation. Editors do
not appear in the Runtime Application Display and are placed at the end of the
Applications list in the Add Applications window.

User Defined Application Parameters


Use the User Defined Application Parameters window to define parameters for
your application. User defined application parameters will be available for selection
in the Assign Applications Parameters window after the user defined application
is added to the environment system

To Add Parameters to a User Defined Application:


1. On the User Defined Applications window, click Edit Parameters.
2. The User Defined Application Parameters window will appear.
66 Chapter 3

3. Enter a Name (20-char max), optional Description (120-char max) and


Parameter value.
You can assign multiple parameters to your applications.
4. Enable the Parameter Required check box if your application requires
parameters.

Using Environment Manager


Environment Manager is an operating system service that manages batch system
application execution.
The Environment Manager is responsible for the following functions:
• Start-up and Shutdown of the database Lock Manager (lm_tcp).
• Start-up and Shutdown of the Security Manager.
• Start-up and Shutdown of the Redundancy Manager (if enabled).
• Start-up and Shutdown of any batch system runtime application.
If you perform a successful installation of the batch system, Environment Manager
starts automatically when your computer is started. If you perform an Exit and
Shutdown of the batch system, Environment Manager will be restart when
Environment Display is initiated.

Environment System Timeout


By default, Environment Manager assumes that an application is available for
termination if it has not started after 120 seconds. For most applications associated
with the Batch System, the timeout value of 120 seconds is sufficient. However,
runtime applications such as IBCli sometimes require a longer period of time on
larger systems in order to properly start. The length of time required varies
depending on your particular application and the number of tags associated with
IBCli. Unless you are experiencing a conflict as a result of an insufficient timeout,
it is recommended that you do not change the default value. The following
procedure should only be implemented when the default value of 120 seconds
needs to be changed.
Environment Management System 67

To Change the Environment System Timeout:


1. From the Start menu, select Settings, and point to Control Panel.
2. From the Control Panel, select the System icon.
3. On the System Properties window, click the Environment tab.
4. In the System Variables list, add a Variable named TIMEOUT, and enter the
required Value (integer value in seconds).
5. Click the Set button and then click OK to close the System Properties
window.
6. To enable the change of Timeout value, you must shutdown and restart
Windows.

Note Remember that changing the Timeout value has a global effect; that is,
Environment Display will wait the specified amount of time before it reports any
application that is available for termination.

Automatic Start-up and Shutdown of Runtime


This section describes how you can automatically start-up or shutdown your batch
system without the intervention of a user. Normally, you would use Environment
Editor’s Runtime Application Display to do this. In some instances however, you
might need to start-up or shutdown your batch system when no users are present in
your facility.
The example in this section describes a facility in which the batch runtime system is
configured to shutdown (or start-up) as a result of a power outage. When
momentary or prolonged power outages occur, users and the system software must
be able to react accordingly.
The main requirements for automatic shutdown in a batch process are highlighted
here.
1. The Batch Server computer must be connected to an uninterruptable power
supply (UPS) which will maintain power to the server computer for a
minimum of five minutes.
2. The server software must recognize external commands initiated from the UPS
that will allow it to shutdown gracefully with no manual intervention.
3. Upon computer restart, either via power restoration or manually, the batch
system must completely restart runtime operation with no manual intervention.
To satisfy these requirements, the batch system includes an executable (etcmds.exe)
that controls the start-up and shutdown of the runtime system. This executable
provides options for starting the runtime system, shutting down the runtime system,
or exiting and shutting down the entire batch system.
The etcmd.exe program, located in the InBatch\bin folder of your batch system can
be executed from a command prompt or it can be started from another application.
The following options are available and required for the etcmds.exe application.
-r – This option starts the runtime applications. These applications pertain to
those found in the Runtime window opened from the Environment Display.
68 Chapter 3

-s – This option stops only the runtime applications. These applications pertain
to those found in the Runtime window opened from the Environment Display.
This option will also automatically halt all batch client applications such as
Batch Scheduler, Batch Display, etc.
-x – This option performs stops all applications. This is identical to performing
an Exit and Shutdown command from the Environment Display. This option
will also automatically halt all batch client applications such as Batch
Scheduler, Batch Display, etc.

Note One of the above options is required when executing the application. There
is no feedback from this application. It executes without any confirmation.

Considerations
• Stopping the batch system automatically can be accomplished by using the
functionality provided by most intelligent UPS systems. Typically, a UPS has
an option that will allow the user to configure a command file, such as a batch
file, that will be executed upon loss of power. Parameters, such as time delay,
etc., associated with this execution can usually be configured. This provides a
very easy method for stopping the batch runtime system.
• Depending on the number of runtime and client applications that are started,
the batch system may take several minutes to completely shutdown. The UPS
must provide ample time for a complete, undisturbed shutdown.
• After an Exit and Shutdown occurs (- x), a confirmation dialog appears on the
screen if the Environment Display is active. This must be acknowledged
manually to completely close the Environment Display application. However,
failure to manually acknowledge this dialog does not result in any problems or
loss of data. All InBatch services and databases close prior to this confirmation
dialog.
• Starting the batch system automatically can be accomplished by creating a
batch file that starts the etcmds program. This batch file must be placed in the
Windows Start-up program group.
sleep 150
etcmds -r
• The start runtime option will not initiate any client applications such as Batch
Scheduler, Batch Display, etc.
• Exercise caution when restarting the batch system. The batch management
system will retain 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. Procedures should be implemented to recover from such a
situation. Options include manually restarting all previously active phases,
putting a UPS on the controller, or aborting all active phases prior to shutdown.
Process Modeling 69

C H A P T E R 4

Process Modeling

Configuration of a process model requires a thorough understanding of the process


and the control system that you want to model. Using the Process Modeling Editor
to configure a process model is not an overly complicated task. You will invest
most of your development effort in revising the process model based on
information that you gather about a facility’s process, and achieving the 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 use the P&IDs to
determine the components and capabilities of the process.

Contents
• Overview
• Units
• Process Classes (Processes)
• Define Process Capabilities
• Equipment Status
• Tags
• Tag Definition
• Process Modeling Summary
• Model Editor
• Units Tab
• Processes Tab
• Equipment Status Tab
• Units of Measure Tab
• Enumeration Tab
• Additional Configuration
70 Chapter 4

Overview
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 Modeling Editor to configure a batch control system in a manner that
facilitates recipe creation and the execution of recipes within batches.
InBatch FlexFormula Edition allows the user to model the processing vessels or
Units of the system. InBatch Premier Edition allows for a Comprehensive Model
which includes Connections between units as well as the units themselves. For this
reason, FlexFormula Edition is said to use a "Connectionless" Model.

Note For more information on InBatch Premier Edition and the Comprehensive
Model it provides, please refer to the InBatch Premier Edition User’s Guide.

To ultimately decide which Edition of InBatch is optimal for your specific


application, you should analyze the theoretical batch philosophy of the company,
the process that is being modeled, the flexibility requirements, the user interface
requirements of the recipe builder and process operators, and the historical batch
recording requirements.

The FlexFormula Physical Model


While obviously not as comprehensive as the InBatch Premier model, the
FlexFormula physical model is consistent with ISA S88 and other international
standards for batch control. A connectionless model requires a more complete
understanding of the process by the recipe builder and the operators. With some
extra work in the control system logic, this model can also provide complete
material tracking.
The physical process is defined with units only. A unit is any vessel that can hold
and/or process 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 in terms of the unit procedures and parameters that are defined by the user
on the class. You may define up to three (3) unit procedures on each process class.
However, you may use only one (1) of the defined unit procedures for a process
class in each recipe. It is therefore important to design your unit procedures so that
no recipe should require two or more from the same class. Typically one unit
procedure is defined for production usage and another is created for performing a
cleaning procedure under recipe control (different recipes would be used for
production and cleaning). Some users require a separate sanitizing or sterilizing
procedure and this is the typical use for the 3rd unit procedure.
Each unit procedure may have several parameters. These parameters will be used to
construct formulas for the units using the Recipe Editor. There are 3 types of
parameters: Process Inputs, Process Outputs, and Process Variables.
The movement of material between units is accomplished by the control system
logic. Coordination of unit-to-unit management is the responsibility of the operator
or control system. The unit procedure logic should know when it is time to transfer
material to the next unit (if multiple units are used to process the batch) and just
which unit that is.
Process Modeling 71

Proper material tracking requires the definition of input parameters for the
appropriate source class and the definition of output parameters for the appropriate
destination class.

Process Modeling Steps


These are the general steps necessary to create a process model with InBatch
FlexFormula Edition. The steps are shown in sequential order.
1. Define units
2. Define units of measure (Optional)
3. Define enumeration (Optional)
4. Group units into process classes and define attributes
5. Define up to three (3) Unit Procedures on each process class
6. Define the parameters of each unit procedure
7. Define the possible equipment statuses that units can assume
8. Define Tags for transferring the specific parameter data points between the
batch system and control systems
9. Develop unit procedure logic

Units
A unit is a group of processing equipment that performs one of the following
functions.
1. The unit processes materials; examples are reactors, mixers, blenders, and
retorts.
2. The unit holds materials; examples are manual add stations, hold tanks, and
filling stations. Generally speaking, it is not usually necessary to model source
tanks (such as bulk ingredient silos) with InBatch FlexFormula Edition. It is
assumed in this case, that the control system provides the logic necessary to
coordinate the transferring of materials to the appropriate processing units as
directed by the unit procedure formula.
Units can have unique attributes, such as capacity or material of construction,
which further define the processing capabilities or limitations of the unit.

Process Classes (Processes)


A process class is a group of units. Each unit in the class has the same processing
capabilities and/or performs the same functions. For example, a plant may have five
blenders, each of which has the same processing capabilities. The only difference
between the blenders might be capacity and blending efficiency. All five blenders
would therefore be identified by one process class.
Some units have no processing capabilities but perform the same function.
Examples of these units are hold tanks, filling stations, and manual add stations.
72 Chapter 4

Each process can have a common set of attributes, which further define the
capabilities of each unit in the class. Unit attributes are used by the batch
management system to verify that the units in the train match the equipment
requirements defined by the recipe.

Define Process Capabilities


Process classes have processing capabilities. These capabilities are defined by one
or more unit procedures and their parameters: Process Inputs, Process Outputs, and
Process Variables.

Unit Procedure Logic


Unit Procedure Logic refers to the steps and sequences in a control system that are
exercised during the execution of a unit procedure. Unit procedure logic will make
the control system program very structured, and is required to support every unit
procedure defined in the process model. For example, if a process class of blenders
has one unit procedure defined and three member units, each blender in the process
class will require a unit procedure logic block. The logic for each may be identical;
however, the physical I/O and internal address assignments are different for each
blender in the class. Additional control logic might be provided for cleaning the
blenders. In this case, a separate unit procedure can be defined on the class, then
each blender will have two (2) Unit Procedure logic blocks. Since only one unit
procedure can run on a single unit at any given time, the unit procedure logic has
control of the entire unit.

This diagram shows the structured interface between unit logic and the batch
management system.
Process Modeling 73

Unit Procedure Interfaces


Unit procedure interfaces are used by the batch control system to configure, control,
and monitor a unit. There are four unit interfaces; Formula Parameters, Unit
Procedure Control and Status Bits, Interlocks, and Control Buttons. Each of these
interfaces is shown in the table following the definitions.

Formula Parameters
There are three types of formula parameters: 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 transfer
quantities. Process variable parameters define non-material related setpoints.
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.

Unit Procedure Control and Status Bits


Unit Procedure Control and Status Bits are used by the batch management system
during run-time to control and monitor the execution of each unit procedure.
For more information on using unit procedure control and status bits, see Chapter
15, "Unit Procedure Logic Development and Testing.".

Interlocks
Each unit procedure logic block may require interlocks. Interlocks provide safety
and security for personnel and equipment by preventing the execution of unit
procedure logic when other equipment or operators are not ready. Any discrete tags
within the system can be assigned as an interlock to a unit procedure. There is no
limit to the number of interlocks that can be assigned to a unit procedure. 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
displaying the status of interlocks.

Control Buttons
Operators use control buttons to initiate or alter process actions during unit
procedure execution. Control buttons are included in user interfaces for batch
execution displays. There are two control buttons available for each unit procedure.
Control buttons are associated with the values of discrete tags.
A summary of all unit procedure interfaces is displayed in the following table.
74 Chapter 4

Interface Type Elements


Formula Input Target
Parameter Actual
High Deviation (%)
Low Deviation (%)
Lot Code
Preact
Material Id
Process Variable Target
Actual
High Deviation (%)
Low Deviation (%)
High Limit
Low Limit
Output Target
Actual
Material Id
Unit Procedure Control Start
Hold
Restart
Abort
Reset
Unit Procedure Status Ready
Run
Held
Done
Aborted
Interlocked
Interlocks Application Specific
Control Buttons Button #1
Button #2

Equipment Status
An equipment status represents the transition states of units and is defined in the
process model. The Equipment Status is evaluated by the batch control system
before the allocation of units. The use of equipment status is optional, but at least
one Equipment status must be defined in the process model.

Units of Measure
A unit of measure is an attribute of a formula parameter and can optionally be
defined for process variables only. They are defined in the process model. 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.
Process Modeling 75

Enumeration
An enumeration is a data class in which a list of alpha-numeric string names
correspond to integer values .
The enumeration data class is available for process variable formula parameters.
Enumeration data class Set Names and Values are defined using the Process Model
Editor. Each Enumeration Set Name is a associated 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.
76 Chapter 4

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.
There are four tag types in the batch control system: Unit Tags, Process Tags,
System Class Tags, and System Unit Tags. Each type has a unique responsibility as
described below.

Tag Types and Usage

Value
from
Control
Tag Type Use System Comments
Unit Process Modeling: Yes
Unit Procedure Interface
Interlocks
Control Buttons
All SCADA Applications
Process Process Modeling: No Note 1: For each process tag, the
Process Class Control Buttons Model Editor automatically creates
Process Class Control Bits one unit tag for each unit in the
Process Class Status Bits process class.
Process Class Formula Parameters Note 2: For each process class, the
Modeling Editor automatically
creates a set of System Class Tags.
Note 3: For each unit in the process
class, the Model Editor
automatically creates a set of
System Unit Tags.
System Process Modeling: No Note 1: System tags are internal
Class Process Class Formula Parameters batch control system tags and are
updated by the batch management
system.
Note 2: System Class tags are
automatically generated for each
process class defined in the process
model.
System Unit All SCADA Applications No Note 1: System Unit tags are
automatically created for each unit
that is assigned to a process class.
The batch control system maintains
these tags
Process Modeling 77

Unit Tags
Unit tags define data points that are uniquely associated with a single processing
unit.

Process Tags
Process tags define all of the data points that are common to all of the units
associated with a process class. Each automatically defined process 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 may correspond 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 system. They represent a set of unit tags. Process tags become unit tags
when a batch is executed in a process.
78 Chapter 4

System Tags
System tags are automatically created by the Model Editor when a process class is
added to the model. There are two types of system tags in InBatch FlexFormula
Edition: System Class tags and System Unit tags. System class tags are identical to
process tags and system unit tags are identical to unit tags. System class tags do not
correspond to a specific address in the control system. They are internal batch
control system tags. However, they may be assigned to formula parameter elements
and used in recipe transition logic. System unit tags may be assigned to the control
system and can be used in SCADA applications.

System Class
Description Tagname Data/Information
Unit Information Allocation Possible Values:
Ready
Allocated
Batch_ID Batch ID of batch unit is allocated to.
Batch_Mode Possible Values:
Automatic
Semi-Auto
Manual
Batch_Size Assigned batch size of batch within unit.
Batch_Status Possible Values:
Open
Ready
Run
Held
Aborting
Aborted
Done
Campaign_ID Campaign ID of batch unit is allocated to.
Last_Recipe_ID ID of last recipe produced within unit.
Lot_ID Lot ID of batch unit is allocated to.
Recipe_ID ID of recipe assigned to batch within unit.
Recipe_Name Name of recipe assigned to batch within unit.
Status Current status of unit. Possible values are
defined by user in the Equipment Status tab
within the process model editor.

Using Process Tags versus Unit Tags


The following guideline will help you decide when to define a tag as a process or
unit tag.
1. Any data point that is common to all units in a process class can be entered as a
process tag.
2. Any data point that is not common to all units in a process class must be
entered as a unit tag.
Process Modeling 79

3. Any critical unit procedure logic data point must be entered as a process tag.
The critical unit procedure logic data points are required by the batch
management system to control, monitor, and configure a unit procedure based
on a recipe’s requirements. The following table lists the critical unit procedure
logic data points.

Item Data Point


Unit Procedure Control Bits Start
Hold
Restart
Abort
Reset
Unit Procedure Status Bits Ready
Run
Held
Done
Interlocked
Aborted
Control Buttons Control Button #1
Control Button #2
Formula Parameter Elements Target
- Process Variable Actual
High Deviation (%)
Low Deviation (%)
High Limit
Low Limit
Formula Parameter Elements Target
- Input Actual
High Deviation (%)
Low Deviation (%)
Preact
Lot Code
Material ID
Formula Parameter Elements Target
- Output Actual
Material ID
80 Chapter 4

Tag Definition
A tag consists of a structured name. Each tagname must be unique within the batch
control system. The terms tagname and tag will be used throughout the
documentation to refer to tags in the process model.

Tagname
A tagname is a unique, structured name that defines one data point. Tagnames have
a hierarchical structure. The highest level of the structure depends on the tag type.
The Unit name is the highest level for unit tags, the Process class name for process
tags. Each is followed by the Unit Procedure, Parameter and Element names.

Tagname Structure

Name Number of Characters

Unit or Process Class 8

Unit Procedure Name 8

Parameter Name 8

Element Name 5

Attribute Name (InTouch dot field) 16

Valid Characters for Tagnames


You can use the following characters in a tagname.

A through Z, a through z, 0 through 9, !,@,?, #, $, % , _, &

Delimiters

Item Delimiter
Between Names - (dash)
Before Attribute . (period)
Process Modeling 81

Automatically Generated Tagnames

Automatically
Tag Appended
Classification Parameter Name Element Name Description
Unit System not used CAMPN Campaign ID
Tags LOTID Lot ID
BATCH Batch ID
RECID Recipe ID
RECNM Recipe Name
BATSZ Batch Size
BATST Batch Status
BATMD Batch Mode
USTAT Unit Status
ALLOC Unit Allocation
LASTR Last Recipe ID
Unit Procedure CS START Start
Control Tags HOLD Hold
RSTRT Restart
ABORT Abort
RESET Reset
Unit Procedure CS READY Ready
Status Tags HELD Held
RUN Run
DONE Done
ABRTD Aborted
INTLK Interlocked
Parameter Tags Parameter Name ACT Actual
TAR Target
HIDEV High Deviation
LODEV Low Deviation
HILMT High Limit
LOLMT Low Limit
PRACT Preact
LOTCD Lot Code
MATID Material ID

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. String tags are identified by an alphanumeric value and may
contain up to 80-characters. Enumeration tags are a list of alpha-numeric string
names that corespond to integer values.
82 Chapter 4

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.

Process Modeling Summary

Example: Process Parameters and Tags


The example shown on the following pages illustrates how a unit procedure block
would be developed and interfaced to the batch control system for two reactors. The
two reactors found in our example plant are in the same Process Class called
Reactors. The names of the reactors are Reactor A and Reactor B.

Unit Procedure Logic


A unit procedure block must be developed, in the control system, for each reactor
unit procedure to perform it’s procedural control. When instructed to run, the unit
procedure block will execute the following procedure in the control system logic.
This logic may need to be developed, or it may already exist in the control system
for an existing facility. Note that the procedure is fixed in the control system logic.
1. Charge a specified amount of water into the reactor
2. Heat the water to a specified temperature.
3. Turn on the mixing agitator.
4. Add a specified amount of sugar to the reactor.
5. Charge the reactor with a specified amount of flour at a specified rate.
6. Instruct the operator to add a specified amount of flavoring. (The operator
must input the actual amount added and a lot code for the flavoring)
7. Keep mixing for a specified amount of time.
8. Discharge the reactor to a mix tank. Record the amount of product produced.
This is a very simple procedure but has a good representative sampling of activities
that occur in a real batch process. First, we need to model a parameter for the
amount of water to add in step 1. This will be an Input parameter, since the value is
indicating an amount of material that will be input into the batch. The target
temperature in step 2 is a Process Variable parameter since it is not a material
amount. Step 3 requires no parameters at all. Step 4 requires another Input
parameter for the amount of sugar to add. Step 5 requires two parameters; one Input
parameter for the amount of flour, and one Process Variable for the rate setpoint.
Step 6 sounds complicated, but it actually only requires one Input parameter in
InBatch FlexFormula Edition. The special configuration for this parameter is
shown later in this section. Step 7 requires a Process Variable for the mixing time
and Step 8 needs an Output parameter since that is recording an amount of material
that is an output of the batch. These parameters are assigned a value in the recipe.
The value becomes part of the recipe formula. Different recipes can assign different
values to the parameters to make different variations in the product produced.
Process Modeling 83

The unit procedure blocks must be designed to be completely independent of each


other.
Reactor A and Reactor B are identical to each other in every way, except that
Reactor B utilizes a special pressure probe, which Reactor A does not have.
For more information on Unit Procedure Logic, see Chapter 15, "Unit Procedure
Logic Development and Testing."

Process Tags and Unit Tags


Reactor A and Reactor B are in the same Process Class. Therefore, process tags that
define the interface between the batch control system and the unit procedure logic
must be defined. The interface requires that process tags be defined for unit
procedure control, unit procedure status, formula parameters, control buttons, and
interlocks. If inputs, outputs, and internal data points are common to each unit,
which is the case in this example, they would also be entered as process tags. Any
tags that are not common to both of the unit blocks would be entered as unit tags.
The only unit tag in this example is the Reactor B Pressure Probe.
Each process class tag is a global tag that represents a set of unit tags; one unit tag
for each reactor in the class. For example, Reactors-UNITPROC-CS-START is a
global tag that represents the ReactorA-UNITPROC-CS-START and ReactorB-
UNITPROC-CS-START unit tags.

Process Classes and Parameters in Recipe Editor


Process tags are used to define the interface points between the batch control
system and unit procedure logic defined for a process class. In this example,
Reactors is the process class. Recipe Editor creates Master Recipes which are
equipment independent. The Recipe Editor references process classes (Reactors)
and generic parameters (MixTime) instead of specific units (Reactor A) and
parameters (Reactor A.UNITPROC.MixTime).
For more information on Master Recipes and Recipe Editor, see Chapter 7, "Recipe
Editor.".

Batch Manager Resolves Process Tags into Unit


Tags
Process tags and process classes are of an abstract nature. This means that they are
not associated with a specific piece of process equipment. Rather, their association
with actual equipment occurs when a batch is defined, scheduled and then executed.
Batches are defined by specifying a Campaign ID, Lot ID, Batch ID, Recipe ID,
and Train. Recipes are equipment independent. Trains specify the process
equipment (units) that will be used. The batch management system uses the Recipe
and Train information to resolve which unit and ultimately, the set of unit tags that
will be used.
84 Chapter 4

Example Plant
Process Modeling 85

Model Editor
Use Model Editor (ModelEdit) to create and edit the process model. While you are
using the Model Editor, all additions and changes that you make to the model are
dynamically updated in the process model configuration database (CfgModelDB).
Model Editor will guide and verify, where possible, that entries and assignments are
made correctly. It is ultimately the user’s responsibility to accurately define the
process model.
Once all of the configuration changes have been made, the Environment Display
Update Runtime menu option must be used to copy the process model
configuration database (CfgModelDB) to the process model runtime database
(ModelDB). This will allow the runtime system to access the configuration changes.
The Environment Display Update Configuration menu option should be used to
copy the process model runtime database (ModelDB) to the process model
configuration database (cfgModelDB).

WARNING! Use caution when updating your configuration from Environment


Display. When you update the configuration, the process model configuration
database is overwritten by the process model runtime database. All configuration
changes are lost.

As you read this section, please note that all of editors and windows utilize the
following conventions:
Editors: Whenever you enter new elements you must click the Add button. If you
make changes to an element, you must click the Change button. To remove
elements, click Delete.
Assigning and Selecting: After selecting the item(s), you must click the Apply
button. Clicking OK applies your selections and closes the associated dialog.
Clicking the Close button closes a window. List box items are selected and
deselected by single-clicking the list item. When applicable, multiple entries can be
selected by holding down the control (or shift) key while simultaneously left-
clicking the desired items.
86 Chapter 4

Deleting Model Components


WARNING! It is important to understand that when you delete a unit or process
class, other elements of the overall process model are also deleted. Always back-up
your work before making changes. The following table describes the effect of
deleting model components.

Element
Deleted Related Deletions
Unit All unit tags associated with the unit
All unit tags associated with the Process Class to which the unit is assigned
Process Class All process tags associated with the class
All unit tags resulting from the process tags

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 to a train(s), the train names
in which the unit has been assigned will be displayed in the WW Logger.

For more information on creating trains, see Chapter 8, "Train Editor.".

Using Model Editor


Use Process Modeling Editor to define and edit your process model.

To start Model Editor:


1. On Environment Display, double-click the ModelEdit icon.

Note Model Editor will not start if you are running Train Editor or TagLinker. You
cannot start more than one instance of Model Editor.

The Process Modeling Editor window will appear.


Process Modeling 87

File Menu
The Process Model Editor File menu provides system functions for the Process
Modeling Editor.
88 Chapter 4

File/Validate
Use the File/Validate menu to initiate a validation of the process model database.
Validation consists of a verification of the following elements.
• All Process Classes have tag assignments for (minimally) the Start, Reset,
Ready, and Done unit procedure 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. Click File on the Process Modeling Editor and then select Validate.
If the validation is successful, the Validation window indicates that the process
model configuration is valid. If validation errors exist, the associated processes
and/or tags will be displayed along with a validation error message. You can
use the information to troubleshoot the process model configuration.
2. Click Close to close the Validate window.

File/Print
Use the File/Print menu to print one or more formatted reports. The reports allow
you to select the elements of your process model.

To Print reports from the Model Editor:


1. Click File on the Process Modeling Editor and then select Print.
The Print window allows you to select one or more of the following reports
from the Select Report list box.
• Units
• Unit Tags
• Enumerations
• Equipment Status
• Process Classes
• Process Tags
• Unit Procedures
2. If you want to select a different printer than the one listed, click the Printer
Name drop down box and specify a printer.
3. If you want to change any printer settings, click the Properties button and
enter your changes.
4. If you want to print your report(s) to a file, enable the Print to File check box.
You will be prompted later for the name of the file that you want to print to.
5. If you want to print multiple copies of the report(s), enter the quantity in the
Number of Copies combo-box.
Process Modeling 89

6. Click OK to print the report(s).

File/Print Preview
Use the File/Print Preview menu to view one or more formatted reports on the
screen. The reports allow you to select the elements of your process model.

To Preview reports from the Model Editor:


1. Click File on the Process Modeling Editor and then select Print Preview.
2. Select one or more reports from the list box described earlier and click OK.
3. A preview of your report will be displayed on the screen.

File/Print Setup
Use the File/Print Setup menu to setup your printer using the standard windows
printer dialog. Refer to your Operating System documentation for more
information.

File/Exit
Use File/Exit to close the Process Modeling Editor window.

Note All of your work is automatically saved in the configuration process model
database as you edit the process model. You do not have to be concerned about
saving your changes.

Edit Menu
The Process Modeling Editor Edit menu contains a list of items that correspond to
the Process Modeling Editor tabs. Each of the associated Process Modeling Editor
tabs are discussed later in this section.

Edit/Units
Use the Edit/Units menu to display the Process Modeling Editor Units tab.

Edit/Processes
Use the Edit/Processes menu to display the Process Modeling Editor Processes
tab.

Edit/Equipment Status
Use the Edit/Equipment Status menu to display the Equipment Status tab.

Edit/Units of Measure
Use the Edit/Units of Measure menu to display the Units of Measure tab.
90 Chapter 4

Edit/Enumeration
Use the Edit/Enumeration menu to display the Enumeration tab.

Help Menu
The Process Modeling Help menu contains commands that provide you with access
to the online help system and information regarding product version and licensing.

Help/Help Topics
Use the Help/Help Topics menu to display the online help for the Process
Modeling Editor.

Help/About Process Modeling


Use the Help/About Process Modeling menu to view product version information.

Units Tab
Use the Units tab to define and edit process model units for the processing vessels
in the plant.

To display the Units Tab:


1. On the Process Modeling Editor window, click the Units tab.
The Units tab will appear.
Process Modeling 91

All of the available units in your process model are listed in the Units list box.
The selected unit name appears in the Name box. Information regarding the
Unit appears in the Description box.
92 Chapter 4

Adding Units
To Add a Unit:
1. In the Name box, enter a name for the unit (8-char max).
2. In the Description box, you can optionally enter text describing the unit (120-
char max).
3. Click Add to include the new unit in the Units list.
The editor will verify all unit names to ensure validity and uniqueness. You
will be prompted to change the unit name in the event you enter a duplicate.

Changing Unit Names


To Change a Unit Name:
1. From the Units list, select the Unit that you want to change.
2. In the Name box, enter a name for the unit (8-char max).
3. In the Description box, you can optionally enter text describing the unit (120-
char max).
4. Click Change to update the unit in the Units list.
The editor will verify all unit names to ensure validity and uniqueness. You
will be prompted to change the unit name in the event you enter a duplicate.

Deleting Units
To Delete a Unit:

WARNING! It is important to understand that 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.
If you attempt to delete a unit that is part of a train, the following Process
Modeling Editor warning will appear, and the unit will not be deleted. In this
case, you must first delete the unit(s) from the train, and then delete the unit
from the model.
Process Modeling 93

Edit Unit Tags


Each unit in a process model may have tags associated with it. Use Edit Unit Tags
window to associate tags with a unit. Tags that are associated with process
parameters and unit procedure logic must be entered as Process Tags.
A Unit tag consists of the following elements. Some elements are required, while
others are optional.
• Unit Procedure Name (Optional, 8-char max)
• Parameter Name (Optional, 8-char max)
• Element Name (Required, 5-char max)
• Description (Optional, 120-char max)
• Data Class (Required, Analog, Discrete, String, or Enumeration)
• Access Mode (Required, Either Read Only or Read/Write)
• Attributes (Optional, Select from available InTouch dot fields)

To Edit Unit Tags:


1. On the Units tab, click the Tags button.
The Edit Unit Tags window will appear.
94 Chapter 4

Assigning Attributes to Unit Tags


Use the Assign Attribute Tags window to assign Attributes to Unit Tags. The
Assign Attribute Tags window contains a list of the available InTouch dot fields
that can be selected. These fields correspond to the data class of the selected unit
tag. The editor creates internal tags corresponding to the selected fields. The tags
are not displayed in the unit tags list, but are available in tag selection dialogs.

To Assign Attributes to Unit Tags:


1. On the Edit Unit Tags window, click the Attributes button.
The Assign Attribute Tags window will appear:
Process Modeling 95

Attributes are not available for tags of String or Enumeration data type.
2. In the applicable Assign Attribute Tags window, select the desired attribute.
3. Click Apply to associate the selected attribute with the Unit Tag.
4. Click Close to close the Assign Attribute Tags window.

Processes Tab
Use the Processes tab to define and edit process classes for the processing vessels
in the plant.

To display the Processes Tab:


1. On the Process Modeling Editor window, click the Processes tab.
The Processes tab will appear.
96 Chapter 4

All of the available Process Classes (processes) in your process model are
listed in the Process Classes list box. When a process class is selected, its
name appears in the Name box. Information regarding the Process Class
appears in the Description box.

Adding Process Classes


To Add a Process Class:
1. In the Name box, enter a name for the process (8-char max).
2. In the Description box, you can optionally enter text describing the process
(120-char max).
3. Click Add to include the new process in the Process Classes list.
The editor will verify all process names to ensure validity and uniqueness. You
will be prompted to change the process name in the event you enter a duplicate.
Process Modeling 97

Changing Process Class Names


To Change a Process Class Name:
1. From the Process Classes list, select the Process that you want to change.
2. In the Description box, you can optionally enter text describing the process
(120-char max).
3. Click Change to update the Process in the Process Classes list.
The editor will verify all Process Class names to ensure validity and
uniqueness. You will be prompted to change the name in the event you enter a
duplicate.

Deleting Process Classes


To Delete a Process Class:

WARNING! It is important to understand that deleting a process class affects other


elements of the overall process model. Always back-up your work before making
changes.

1. From the Process Classes list, select the Process that you want to delete.
2. Click Delete.
3. When you delete a Process Class, the editor will display a warning message
indicating the relationship of the tags in process class to other batch system
elements. Read any such warning messages very carefully.

Assign Units
A process class can have one or more units assigned to it. Use the Assign Units
button on the Processes tab to associate units to a process class.

To Assign Units to a Process Class:


1. On the Processes tab, select the required process from the Process Class list.
98 Chapter 4

2. All of the units that are currently assigned to the selected Process Class will be
displayed in the Units list.
3. You can select and deselect units appearing in the Units list.
4. If you want to add additional units to the Units list, and ultimately, the process
class, click the Assign Units button.
The Assign Units to Process window will appear.
Process Modeling 99

The Units list will display all of the units (unassigned and previously assigned
units) that can be assigned to the process class. Units that were previously
assigned are, by default, selected.
5. In the Units list, select the desired units.
6. Click Apply.
The selected units will appear in the Units list on the Processes tab.

Process Class Attributes


Attributes are process class characteristics that you define during recipe creation.
Attributes allow you to categorize, or narrow, the available units that can be
selected from the process class. There is no limit to the number of attributes that
you can define for a class.
Use the Edit Attributes window to Add, Change and Delete Process Class
Attributes.

To Assign Attributes to a Process Class:


1. On the Processes tab, click the Attributes button.
The Edit Attributes window will appear.
100 Chapter 4

2. If Attributes have already been created for the process class, they will be
appear in the Process Attributes list.
3. If you are adding a new Attribute, enter a name in the Name box (16-char
max).
4. Click Add.
5. The Process Attributes list will display the attribute.

Note The editor will verify all new attribute names to ensure validity and
uniqueness. You will be prompted to change the name in the event you enter a
duplicate.

Assigning Unit Attribute Values


After an attribute(s) has been created, specific values for each attribute must be
defined for each unit that belongs to the process class. Only numeric values can be
assigned. This may require defining an external translation table so that value
assignments can easily be related for the appropriate attribute. In the example plant
referenced earlier, stainless steel reactors have been assigned a value of 1 and glass
lined reactors have been assigned a value of 2. Also, a separation type of 1
represents the presence of a liquid/oil separator, while a value of 2 represents the
presence of a liquid/solid separator.

To Assign a Unit Attribute Value:


1. On the Processes tab, from the Units list, select the required unit.
Process Modeling 101

2. Select an Attribute from the Attribute list.


3. In the Value field, enter the value of the attribute for the selected unit.
4. Click the Change button.
The value will appear in the unit’s Attribute/Value list.

Edit Process Class Tags


Each process class may have tags associated with it. All of the tags that are
associated with a process class, or that are common to all of the units within the
process class, must be entered using the Edit Process Tags window.
Defining a process class tag requires the entry of the following information.
• Unit Procedure Name (Optional, 8-char max)
• Parameter Name (Optional, 8-char max)
• Element Name (Required, 8-char max)
• Description (Optional, 120-char max)
• Data Class (Required, Analog, Discrete, String or Enumeration)
• Access Mode (Required, Either Read Only or Read/Write)
• Attribute (Optional, Select from available InTouch dot fields)
102 Chapter 4

Note It is important to remember that 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.

Use the Edit Process Tags window to Add, Change or Delete Process Class Tag
properties.

To Edit a Process Class Tag:


1. On the Processes tab, click the Tags button.
The Edit Process Tags window will appear.
All tags previously assigned to the Process Class will be listed.

2. Enter/Edit the Parameter Name, Element Name, Description, Data Class


and Access mode as described earlier in this section.
3. Click Add if you are creating a new tag or click Change if you are modifying
an existing tag.
4. Click Close to close the Edit Process Tags window.
Process Modeling 103

Assigning Attributes to Process Tags


Use the Attributes button on the Edit Process Tags window to access a list of the
available InTouch .fields that can be selected. These fields correspond to the data
class of the selected process tag. The editor creates internal tags that correspond to
the selected fields. The tags do not appear in the unit tags list; however, they are
listed in the windows from which tags are selected.

To Assign Process Tag Attributes


1. On The Edit Process Tags window, click the Attributes button.
The Assign Process Tags window will appear

Attribute tags are not available for tags of String or Enumeration data type
2. Select the desired attribute from the Assign Attibute Tags window.
3. Click Apply to associate the selected attribute with the process class tag.
4. Click Close to close the Assign Attribute Tags window.

Process Class Unit Procedures


Use the Edit Unit Procedures window to assign unit procedures to a process class.
Each process class can have up to three (3) unit procedures. Each unit procedure
requires unit procedure logic in the control system.
Defining a process class phase requires the entry of the following information.
• Unit Procedure Name (Required, 8-char max)
• Description (Optional, 120-char max)
• Control Buttons (Optional, 2 available buttons)
• Control/Status (Required, Assign tags for unit procedure control/status
interface)
• Interlocks (Optional, Available for all discrete tags)
• Formula Parameters (Optional, Assign as required for the unit procedure)
104 Chapter 4

To Edit a Process Class Unit Procedure:


1. On the Processes tab, click the Unit Procedures button.
The Edit Unit Procedures window will appear.
All Unit Procedures previously assigned to the Process Class will be
listed.

2. Enter/Edit the appropriate Name and Description as described earlier in this


section.
3. Click Add to include the unit procedure in the list or click Change if you have
edited an existing unit procedure.
4. Configure additional unit procedure options as described in the following text.

Control Buttons
You can include Control Buttons as part of the user interface. The buttons are a
part of the selected process class interface. To use a control button, you must
associate a tagname with the desired button.
For more information on Control Buttons, see “Additional Configuration” later in
this section.

To Configure Control Buttons:


1. Click Control Buttons.
The Edit Control Buttons window will appear.
Process Modeling 105

2. Enable Button 1 and/or Button 2 as required.


3. In the Label box, enter the text (8-char max) that you want to appear on the
button.
4. Click Assign Tag.
If you want to remove a tag that is associated with the control button, click
Clear Tag. Remember that modifying any assignments may affect other parts
of your overall process model.
The Tag Selection window will appear.

5. Select a tag from the list.


You can sort list items by clicking a column heading.
6. Click OK to assign the tag to the control button, and close the Tag Selection
window.

Control/Status Bits
Use the Edit Control/Status window to configure Unit Procedure Control and Unit
Procedure Status bits for the selected Unit Procedure. To configure control and
status bits, you must associate tags from the process class.
For more information on Unit Procedure Control/Status bits, see “Additional
Configuration” later in this section.
106 Chapter 4

To Configure Control/Status Bits:


1. Click Control/Status.
The Edit Control/Status window will appear.
The window shows the configuration for the selected Process Class.

2. Configure the Control and Status bits as required.


For more information on Control/Status bits, see “Additional Configuration” later
in this section.

Interlocks
Use the Edit Process Interlocks window to configure interlocks for a unit
procedure. To assign interlocks, you must associate unit tags with the unit
procedure.
For more information on configuring Interlocks, see “Additional Configuration”
later in this section.
Process Modeling 107

To Configure Interlocks:
1. On the Edit Unit Procedures window, click the Interlocks button.
The Edit Process Interlocks window will appear.
The window shows all of the available units in the process class and any tags
assigned to the selected unit.

2. Click the Assign Tags button.


The Tag Selection window will appear.
108 Chapter 4

3. Select the required tag(s) from the list.


4. Click OK to assign the selected tag(s) to the Tags list on the Edit Process
Interlocks window.

Formula Parameters
Use the Edit Formula Parameters window to configure formula parameters for a
unit procedure.
For detailed information on configuring Formula Parameters, see “Additional
Configuration” later in this section.

To Configure Formula Parameters:


1. Click the Formula Parameters... button.
The Edit Formula Parameters window will appear.

The window shows the Formula Parameter configuration of the selected Unit
Procedure.
For detailed information on configuring Formula Parameters, see “Additional
Configuration” later in this section.
Process Modeling 109

Formula Parameter Configuration


There are three types of Formula Parameters; Input, Output, and Process
Variable. Process variable parameters are used to represent setpoints, rates, etc.
Input and output parameters are used when material tracking is required. Also, a
specific data class type must be assigned to each formula parameter. The available
data class options are Analog, Discrete, String, and Enumeration. Discrete, String,
and Enumeration are only available for Process Variable type parameters. Tag
assignments to the elements associated with each parameter correspond to the
assigned data class of the parameter. For example, only analog tags can be assigned
to the elements of an analog process variable parameter.
Input parameters have seven elements. The parameter name defines a family of
information while Elements define the members of the family. The seven elements
for input parameters are Target, Actual, High Deviation, Low Deviation, Preact, Lot
Code, and Material ID.
Output parameters have three elements. The parameter name defines a family of
information while Elements define the members of the family. The three elements
for output parameters are Target, Actual, and Material Id.
Analog Process variables have up to six elements. The parameter name defines a
family of information. Elements define the members of the family. The six elements
for analog process variables are Target, Actual, High Deviation, Low Deviation,
High Limit, and Low Limit. Discrete, string, and enumeration process variables use
the Target and Actual elements only.
The configuration of the parameter type, data class, and elements is extremely
important. The batch management system will control a unit and interact with both
the control system and the operator based on the configuration of the parameters.
The following sections contain a detailed explanation of the results that can you can
achieve for different parameter configurations.

Target Element
The target element is available for all parameter and data class combinations and is
configured as follows:
1. Select the Enable Display check box if the target value is to be displayed
during the runtime execution of the unit procedure. If a tag is assigned to the
element, the value assigned in the recipe will be written to the control system
by the batch management system prior to the start of the unit procedure.
Typically, the unit procedure logic will use the target value to determine when
to stop a certain function or activity.
2. If the operator is allowed to modify the target, enable the Edit Allowed check
box.
3. If the operator must modify the target, enable the Edit Required check box.
4. A Default Value can be assigned to the target element for process variable
parameters of any data class.

Actual Element
The actual element is available for all parameter and data class combinations and is
configured as follows:
110 Chapter 4

1. Select the Enable Display check box if the actual value is to be displayed
during the runtime execution of the unit procedure. If a tag is assigned to the
element, the batch management system will read the value of the tag, in real-
time, from the control system during the execution of the unit procedure.
2. If the operator is allowed to modify the actual value, enable the Edit Allowed
check box.
3. If the operator must modify the actual, enable the Edit Required check box.

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 unit
procedure. 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 will be
3 and 5 respectively.
High and low deviation elements are configured as follows:
1. Select the appropriate Enable Display check box if either of the element
values are to be displayed during the runtime execution of the unit procedure.
Typically, the unit procedure logic uses the deviations to establish alarm limits
or an acceptable completion range for the actual value of the parameter.
2. If the operator is allowed to modify either of the deviation values, then enable
the Edit Allowed check box.
3. If the operator must modify either of the deviation values, then enable the Edit
Required check box.
4. A Default Value can be assigned to the high and low deviation elements for
analog process variable parameters only.

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 prior to the start of the unit
procedure.
The high and low limit elements are configured as follows:
1. Select the appropriate Enable Display if either of the element values are to be
displayed during the runtime execution of the unit procedure.
2. A Default Value can be assigned to the high and low limit elements.

Preact Element
The preact element is available for analog input parameters and is configured as
follows:
1. Select the Enable Display if the preact value is to be displayed during the
runtime execution of the unit procedure.
Process Modeling 111

2. If a tag is assigned to the element, the preact value defined in the process
model will be written to the control system by the batch management system
prior to the start of the unit procedure.

Lot Code Element


The lot code element is available for analog input parameters and is configured as
follows:
1. Select the Enable Display if the lot code value is to be displayed during the
runtime execution of the unit procedure.
2. If the operator is allowed to modify the lot code, enable the Edit Allowed
check box.
3. If the operator 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
control system will be written to the batch management system during the
execution of the unit procedure.

Material ID Element
The material id element is available for analog input and output parameters and is
configured as follows:
1. Select the Enable Display if the material id value is to be displayed during the
runtime execution of the unit procedure.
2. If the operator is allowed to modify the material id, enable the Edit Allowed
check box.
3. If the operator must modify the material id, enable the Edit Required check
box.
112 Chapter 4

Formula parameter configurations for the unit procedure example given earlier are
shown below.

Parameter Data Assign Enable/ Edit Edit


Extension Type Tag Display Allowed Required

Parameter Name: Water (Type:Input)


Target Analog Yes Yes Yes No
Actual Analog Yes Yes No No

Parameter Name: Heat (Type: Process Variable) (UOM: °F)


Target Analog Yes Yes Yes No
Actual Analog Yes Yes No No
High Analog Yes No No No
Deviation
Low Deviation Analog Yes No No No

Parameter Name: Sugar (Type: Input)


Target Analog Yes Yes Yes No
Actual Analog Yes Yes No No
Lot Code String Yes Yes No No

Parameter Name: Flour (Type: Input)


Target Analog Yes Yes Yes No
Actual Analog Yes Yes No No
Lot Code String Yes Yes No No

Parameter Name: FeedRate (Type: Process Variable) (UOM: lbs/min)


Target Analog Yes Yes No No
Actual Analog Yes Yes No No
High Limit Analog Yes Yes No No

Parameter Name: Flavor (Type: Input)


Target Analog No Yes No No
Actual Analog No Yes Yes Yes
Lot Code String No Yes Yes Yes
Material ID String No Yes No No

Parameter Name: MixTime (Type: Process Variable) (UOM: min.)


Target Analog Yes Yes Yes No
Actual Analog Yes Yes No No

Parameter Name: Product (Type: Output)


Target Analog Yes Yes No No
Actual Analog Yes Yes No No
Material ID String No Yes No No
Process Modeling 113

Equipment Status Tab


Use the Equipment Status tab to define, edit and delete unit statuses. Equipment
Status names must be unique. If you attempt to enter a duplicate name, a message
box will be displayed, indicating that the equipment status already exists. Deleting
an Equipment Status can affect other portions of your process model
Equipment statuses represent the various states that a unit may possess at any point
during the process. You must define one default status. The default status defines
the initial state that the batch management system assumes for all of the units. All
status changes are automatically recorded in the historical database.
There is a system tag that is automatically generated for each unit defined in the
process model. The equipment statuses define the possible values of this system
tag. The statuses are used by the batch management system when evaluating the
availability of a unit.
The availability of a unit is determined by the current status. If the status is set to
“available,” the batch management system can allocate the unit. If the status is not
available, the unit cannot be allocated.

To Display the Equipment Status Tab:


1. On the Process Modeling Editor window, click the Equipment Status tab.
The Equipment Status tab will appear.
114 Chapter 4

All of the statuses that have been defined for the process model will appear in
the Status list.

To Edit an Equipment Status:


1. On the Equipment Status tab, enter or edit a Name (16-char max) and optional
Description (120-char max).
2. Enable or disable the Available and/or Default check box(es) as required.

Note You must define one default status.

3. Click Add to include the equipment status in the process model or click
Change if you are editing an existing Name or Description.

Units of Measure Tab


Use the Units of Measure tab to define, change, delete, and import or export the
units of measure that you want to define for your process model. Units of Measure
are ultimately assigned to process variable formula parameters that you defined
using the Edit Formula Parameters window. If you are going to assign Units of
Measure to process variable formula parameters, you should define them first. You
can add, change or delete a Unit of Measure at any time during the development of
your process model. However, in the planning of your process model, you should
consider defining them before you create process classes. You can import and
export a list of Units of Measure to and from an ascii text file.

To Add or Change a Unit of Measure:


1. On the Process Modeling Editor window, click the Units of Measure tab.
The Units of Measure tab will appear.
Process Modeling 115

All of the units of measure that have been defined for the process model will
appear in the Units of Measure list.
2. Enter/Edit a Name (16-char max).
3. Click Add to include the unit of measure in the process model or click Change
if you are editing an existing Name or Description.

Import and Export Units of Measure


If you want to import a list of Units of Measure from an ascii text file, ensure
that the file is named UOM_IN.txt, and is located in the config_A folder of the
batch system, and then click Import. If the import is successful, Units of
Measure will be added to the list.
If you want to export Units of Measure from your process model, click the
Export button. The exported file is named UOM_OUT.txt and is created in the
config_A folder of the batch system.
The format for the UOM_OUT.txt and UOM_IN.txt files is shown below. Note
that the line references enclosed in brackets (e.g. <Line 1>) are not actually a
part of the file’s content. Each line in the text file represents one Unit of
Measure consisting of up to 16 alphanumeric characters. These files can be
viewed and edited with any ASCII text editor.
116 Chapter 4

File Structure
<Line 1> ImportUOM1
<Line 2> ImportUOM2
<Line 3> ImportUOM3
|
|
|
<Line n> ImportUOMn

Enumeration Tab
Use the Enumeration tab to add, change, delete, import and export process model
enumeration set names and values. Enumeration Set Names must be unique
within your process model. Enumeration Values must be unique for a given Set
Name. You can use the same Enumeration Value in another Set Name, or you can
enable a check-box to ensure that the Enumeration Values are unique across all Set
Names within your process model. It is important to remember that deleting or
changing Enumeration Set Names and Values affects the Enumerations list in the
Formula Parameter editor.
Enumerations are used only with process variables and are available for selection
using the Formula Editor.
Each Enumeration Set is defined by one or more enumeration integer values. And
each enumeration value is associated with an alpha-numeric string. The
enumeration value is used by the batch system whenever the associated process
variable is encountered as part of unit procedure execution. The alphanumeric
string that is associated with the value is used for display purposes only. You can
modify the string without affecting the way that a process variable is used.
However, before you modify Set Names or assigned values, you should carefully
consider how the process variable is used and what the effect of changing the name
will cause.

To Add or Change Enumerations:


1. On the Process Modeling Editor window, click the Enumeration tab.
The Enumeration tab will appear.
Process Modeling 117

All of the enumeration sets that have been defined for the process model will
appear in the Sets list.
2. Enter/Edit a Set Name (16-char max).
3. Click Add to include the Set Name in the process model or click Change if
you are editing an existing Set Name.
4. In the Enumerations pane, enter a Name (16-char max) and a Value (Integer,
0-32767).
5. Click Add to include the Name and Value in the process model or click
Change if you are editing an existing Enumeration.
118 Chapter 4

Additional Configuration

Edit Control Buttons


Control buttons can be used to execute any special function required during a unit
procedure. The Control buttons become available to the operator on the Batch
Display. Control buttons act to set a bit in the control system, therefore the unit
procedure logic must be written accordingly to reset the bit once detected.
Use of Control Buttons is optional. Only the label for the button or buttons that
have tag assignments will be displayed on the Batch Display. Only one label can be
assigned to a control button, and the label is displayed when the unit procedure is
executed.

Assign Tags to Buttons


Tag assignments are made by first selecting a control button (radio button) on the
Edit Control Buttons window, and then clicking the Assign Tag button. This will
cause the Tag Selection window to appear. A list of available discrete process tags,
which have been configured with an access of read/write, will be displayed in the
list. Only one tag can be selected. Each control button can be given a Label (8-
characters maximum). The label appears on the Batch Display control button when
the unit procedure is executed. The Clear Tag button will clear the assigned tag
from the selected control button.

Unit Procedure Control/Status Bits


There are eleven possible unit procedure control and status bits. These tags are
created and assigned only when defining process classes. These tags define the
structured interface that will exist between the batch management system and the
control system for each unit in the process class. The batch management system is
responsible for manipulating the control tags. The control system is responsible for
manipulating the status tags. The batch management system and the control system
must work together to successfully execute the unit procedure. There are two
approaches to creating and assigning tags for the unit procedure control and status
tags: Automatic and Manual.

Automatic Tag Creation and Assignment


There are several ways to automatically create unit procedure control and status
tags. The options are described in this section.
Process Modeling 119

• Select the desired control and status tags manually by enabling the appropriate
check box for each option.
• Click the Select Required button to enable the check box for the Start, Reset,
Ready, and Done options. This represents the minimum set of tags that must be
created.
• Press the Select All button to enable the check box for all of the options.
After the check boxes are enabled for the required control and status options, click
the Create Tags button to create and assign the appropriate tags.
Use the Clear All button to de-select the all check boxes for all of the control and
status options.
Use the Delete Tags button to remove the tags from the options selected. A warning
message must be acknowledged before you can delete the tags.
Use the Clear Tag button to remove the tags from the option selected.
120 Chapter 4

Example – Automatic Tagnames


Process Class: Mixers
Unit Procedure: Process
Given the above Process Class and Unit Procedure, the tagnames shown in the
following table will be created.

Tagname
Mixers-Process-CS-START
Mixers-Process-CS-HOLD
Mixers-Process-CS-RSTRT
Mixers-Process-CS-ABORT
Mixers-Process-CS-RESET
Mixers-Process-CS-READY
Mixers-Process-CS-RUN
Mixers-Process-CS-HELD
Mixers-Process-CS-DONE
Mixers-Process-CS-ABRTD
Mixers-Process-CS-INTLK

Manual Tag Creation and Assignment


Manually creating and assigning unit procedure control and status tags involves two
steps.
• Manually create the tag using the appropriate tag editor.
• Manually assign the tag.
For more information on creating tags, see “Edit Process Class Tags” earlier in this
section.
Manually assign the tag by enabling the check box corresponding to the control or
status parameter that you want to configure. Click the Assign Tag button to display
the Tag Selection window. A list of all available read/write discrete process tags
will be displayed in the list. Only one tag can be selected. Click OK or Apply to
assign the appropriate control or status bit.
Process Modeling 121

Edit Interlocks
An interlock is a condition that prevents the execution of a unit procedure. This
could be a process alarm condition or, for example, an open valve. A unit procedure
may have one or more interlocks. However, the batch system does not perform the
interlocking logic. The physical interlocking for safety and equipment damage
prevention is the responsibility of the control system. The batch control system
does provide the ability to display the interlocks for each unit on the Batch Display.
This allows operators to quickly and easily identify and fix the interlocks that are
preventing a unit procedure from executing.

Assign Tags
Interlock assignments are made to each unit using Unit tags.

An assignment is made by selecting the required unit and then clicking the Assign
Tags or Assign Tags button.
122 Chapter 4

In the Tag Selection window, select unit interlock tags. The Tags list in the Edit
Processes window will display the assigned tag(s).

Edit Formula Parameters


Formula parameters represent all of the configurable information that unit
procedure logic needs to execute properly. Formula parameters are placeholders for
values. Values are assigned in the recipe editor when the unit procedures are used in
a recipe procedure. Values are used by the batch management system in specific
ways when recipes are executed. Unit information that does not change for different
recipes, does not need to be defined as a formula parameter.
Formula parameter configurations consist of the following information:
1. Name (Required, 8-char max)
2. Description (Optional, 120-char max).
3. Type (Required - Input, Output, or Process Variable)
Process classes can have any number of input, output, or process variable
formula parameters.
4. UOM (Optional - Process Variables Only)
5. Data Class (Required - Analog, Discrete, String, or Enumeration)
Process Modeling 123

Each formula parameter must be assigned a data class type. This assigned data
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.

Parameter Type Assignable Data Classes


Process Variable Analog, Discrete, String, Enumeration
Input Analog
Output Analog

6. Parameter Elements (Optional)


Each type of formula parameter has associated elements as shown in this table.

Elements Elements Elements Elements


Parameter (Analog Data (Discrete Data (String Data (Enumeration
Type Class) Class) Class) Data Class)
Process Target Target Target Target
Variable Actual Actual Actual Actual
High Deviation%1
Low Deviation%1
High Limit1
Low Limit1
Input Target
Actual
High Deviation%
Low Deviation%
Preact
Lot Code2
Material Id2
Output Target
Actual
Material Id2
1.High Deviation, Low Deviation, High Limit, and Low Limit extensions are only available for
Analog Process Variables (Target and Actual are both analog)
2.Although input and output parameters are defined as analog types (Target and Actual must be
analog), the Lot Code and Material ID elements of these parameters are string fields.

Each parameter element can be assigned to a tag. Tags are either automatically
created and assigned, or they are manually created and assigned.
124 Chapter 4

Each element can be further configured for operator interaction. The Enable
Display check box specifies whether or not the element will be displayed to an
operator. The Edit Allowed check box specifies whether or not an operator is
allowed to modify the element at runtime. The Edit Required check box
specifies whether the operator is required to modify the element at runtime.
However, the Edit Required option applies only to the end of the unit
procedure. 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 unit procedure.
7. Element Default Values (Optional)
Default values can only be defined for process variable formula parameter
elements. The default value is set to zero if it is not explicitly defined. These
values will be used by the batch management system unless 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 is displayed and the Recipe
Editor will clamp the value to the default limit.

Enter and Configure Formula Parameters


A formula parameter is defined by first entering a name, optional description and
selecting the data type. After the name, description and type are defined, parameter
elements must be configured. This includes creating and assigning tags to elements,
defining the operator display and edit capabilities for each element, and if the
parameter is a process variable, defining the default values.

Automatic Tag Creation and Assignment


Tags are created and assigned to the elements by selecting all appropriate check
boxes for each element and then clicking the Create Tags button. The created
tagnames will be displayed in the tag assignment field.
When you attempt to delete tags, you must acknowledge a warning message.

Manual Tag Creation and Assignment


Tags can be manually created and assigned to the elements by selecting an element
name check boxes and then clicking the Assign Tags button. You can then select
tags from the Tag Selection window. The selected tagname will be displayed in the
tag assignment field. The tags available for selection from the Tag Selection
window will consist of process tags. The tags that are available for selection will
have the same data class as those assigned to the parameter. For example, the
system tags, as well as all defined string tags, are available when assigning tags to a
parameter with a string data class assignment.

Operator Display and Edit Configuration


Each element must be configured for operator display and editing. This is done by
selecting the appropriated check box and clicking the Apply button.
Process Modeling 125

Default Values for Process Parameters


Process parameters can be assigned default values by editing the appropriate fields
and clicking the Apply button. The defaults are displayed as default values when
the unit procedure is used in a recipe.

Formula Parameter Examples


This section provides several examples of formula parameter configurations.
The following example is an Analog Process Variable parameter.
126 Chapter 4

The following example is a Discrete Process Variable parameter.

The following example is a String Process Variable parameter.


Process Modeling 127

The following example is an Enumeration Process Variable parameter.

The following example is an Input parameter.


128 Chapter 4

The following example is an Output parameter.


Tag Linker 129

C H A P T E R 5

Tag Linker

Tag Linker is an editing utility which provides a means of configuring InBatch tags
as internal memory tags or linking them to an item of an external IO server
application much in the same way as the Tagname Dictionary functions within
InTouch. Tag Linker also provides powerful filtering and selection tools for making
changes to multiple tags at once. Finally, Tag Linker contains a flexible export
utility that creates a comma separated variable (.csv) file of user-selected tags for
direct import into InTouch using the DBLoad utility.
Tag Linker performs the following functions.
• Link InBatch tags with an I/O Server
• Link InBatch tags with InTouch tags
• Export tags for use by InTouch DBLoad utility

Contents
• Overview
• When to Use Tag Linker
• Using Tag Linker
• Access Editor
• Tag Configuration
• Export Editor
• Control System Interfacing Example
130 Chapter 5

Overview
Within the InBatch environment, tags control batch processes and the provide
control system interface. InTouch uses tags for features such as graphical object
animation and control system interface. Each tag has a unique name and is
associated with a specific class of data. Tags are created during InBatch and
InTouch application development. InBatch Wizards automatically generate tags
when the wizard is created.
In order for InTouch and InBatch applications to communicate with each other
and/or control systems, all of the required tags must be properly configured. All
communications between InBatch and other applications is accomplished using
SuiteLink.
For environments in which there are interactive InBatch and InTouch applications,
Tag Linker is used to select, edit and then export InBatch tags to a comma separated
variable (.csv) file. The .csv file contains InTouch compliant tag names, including
access names. The tags in the .csv file can be imported into the InTouch application
using the InTouch DBLOAD utility

Note InTouch permits defining remote tag sources from which tags can be viewed
and remotely referenced in an application. InBatch can be one of these external
sources. If tags are remotely referenced, using the DBLOAD utility to import the
InBatch tags from the exported .csv file is unnecessary.

Model Configuration
Model
Editor Database

Configuration
Link
Database
InTouch

Tag Export DBLOAD InTouch


XXX.csv Tagname
Linker File
(Optional)
Dictionary

InBatch
InTouch

For more information on browsing and referencing remote InBatch tags from
InTouch, see Chapter 18, "InTouch Batch Tag Browsing and Referencing."
Tag Linker is associated with three categories of InBatch tags; Process Model Tags,
TIM (Tag Interface Management) Tags, and Batch Function Tags. The three types
are defined below:
Process Model Tags are all of the unit tags that are generated when the process
model is developed. These are the only tags that are displayed and can be edited by
the Tag Linker. Process Model Tags are further categorized as one of two types;
System Tags and Equipment Tags.
Tag Linker 131

System Tags are associated with units, connections and segments and are
generated by InBatch as the units, segments, and connections are created in the
model. System Tags are not associated with phases and are therefore
distinguished by a triple-hyphen in the tag name. Most of these tags are string
tags. Although the Access of these tags can be changed, it is strongly
recommended that these tags be left as InBatch Memory tags! Adverse
performance can occur if these tags are written to by anything but InBatch. The
exception to this rule is the equipment status tag (Unit---USTAT).
Equipment Tags are associated with a specific phase or phase parameter and
are generated by the user when a phase is created. These tags are generally
"owned" by an IO server, InTouch, or another server application, however, they
can be defined as InBatch memory tags for simulation purposes.

When to Use Tag Linker


Wonderware recommends that you perform your application development in the
following order:
1. Develop your InBatch process model.
2. Use Tag Linker to assign required tags to appropriate control systems and/or
InTouch node(s).
3. Develop your InTouch application scripts and animation links.

Note The Tag Linker supports an import/export feature that will allow an external
spreadsheet application such as Microsoft Excel to configure the batch system tags.

Using Tag Linker


Tag Linker is used to define the data sources and assign the appropriate sources to
the InBatch tags. The application also supports an export operation that configures
the Tag Interface Management (TIM) system and creates a .csv file for loading into
an InTouch client application

Note Only one instance of the Tag Linker can be active. Also, Tag Linker will not
start if the Process Modeling Editor or Train Editor is running.
132 Chapter 5

To Start Tag Linker:

Double-click the TagLinker icon in the Environment Display.


The Tag Linker window will appear.

4. Use the window to view and configure tags. System functions are accessed
from the File menu and configuration dialogs are available from the Edit menu.

File Menu
The Tag Linker File menu provides system functions for the Tag Linker. The File
menu items are described below.

File/Runtime Export
Use this command to perform a Runtime Export of the current tag configuration.
The Export Results dialog is displayed and provides messages on the progress on
the export. This option is used to export all requested tags using the configuration
information defined in the Tag Linker. This option should be used if the control
hardware (InControl, PLC, etc.) will be executing the phases.

File/Simulation Export
Use this command to perform a Simulation Export of the current tag configuration.
The Export Results dialog is displayed and provides messages on the progress on
the export. This option is used to export all requested tags as InBatch Memory tags.
This option should be used if the InBatch Simulation Manager (SimMngr) will be
executing the phases.
Tag Linker 133

File/Export Tags
Use this option to display the Export File Selection window. A File name can be
specified to which all Tag Linker configuration data will be written. The default file
location is the current configuration (config_A) directory. The file format is
comma-separated variable (csv). If the specified file exists, a message is displayed
prompting whether or not it is acceptable to overwrite the file.

Note The name must include the complete patch and the .csv extension.

This option does not provide filtering of the tag list. The exported file contains an
exact image of the configuration Tag Linker database (CfgLinkDB). Once
exported, tag configuration information can be modified. Modifications to the file
only affect the configuration of the tags in the CfgLinkDB based on the changes
you made to the exported file.

Note You should not add or remove tags to/ from the exported file. If you delete
tags from the file and then select the File/Import Tags menu option, the
configuration of those tags within the configuration link database is not modified. If
you add tags to the file and then perform an Import, the additional tags are ignored
since they do not already exist in the database.

CSV File Format


The following table describes the format of each line in the csv file except for line
one. The first line of the csv file contains a text header which describes each
column in the file.

Column Identity Range/Length Type Description

1 Tag ID long_min, long InBatch internal tag id (READ-ONLY)


long_max

2 Tag Name 85 characters string InBatch tag name (READ-ONLY)

3 Data Class Analog, enum Tag data class (READ-ONLY)


Discrete String

4 DataAccess ReadOnly, enum Tag read/write characteristics


ReadWrite (READ-ONLY)

5 Link Type Item,TagName, enum Link type specifier (READ-WRITE)


or Memory

6 Item 128 characters string Tag corresponding Item. Applicable to Link


Type of "Link" (READ-WRITE)
134 Chapter 5

Column Identity Range/Length Type Description

7 Initial Value 131 characters string Tag initial value. Applicable to link type =
"Memory".NOTE: Can represent a numeric
value conversion based on tag actual data
type(READ-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". (READ-WRITE)

9 Export Flag NoExport, enum Tag export flag. (READ-WRITE)


Export

10 Min Raw long_min, double Tag minimum raw value. Applicable to tags
long_max with Data Class Analog. Value = 0 if not
relevant. (READ-WRITE)

11 Max Raw long_min, double Tag maximum raw value. Applicable to tags
long_max with Data Class Analog. Value = 0 if not
relevant. (READ-WRITE)

12 Min Scaled long_min, double Tag minimum scaled raw value. Applicable
long_max to tags with Data Class = "Analog". Value =
0 if not relevant.
(READ-WRITE)

13 Max scaled long_min, double Tag maximum scaled raw value. Applicable
long_max to tags with Data Class = "Analog". Value =
0 if not relevant.
(READ-WRITE)

14 Data Type Float, Integer, enum Tag actual data type. Applicable to tags with
or empty Data Class ="Analog". Empty if not
relevant.(READ WRITE)

File/Import Tags
This option displays the Import File Selection dialog. A File name can be
specified from which all Tag Linker configuration data will be read. The default file
location is the current configuration (config_A) directory. The file format is
comma-separated variable (csv). If the specified file exists, a message is displayed.

Note The name must include the complete patch and the .csv extension.
Tag Linker 135

File/Validate
This command initiates a validation of the Tag Linker configuration. Validation
consists of verifying all Accesses, Attributes, and links. Depending on the size of
the process, the Validation option may be time consuming.
If the validation is successful, a Validate message dialog will be displayed. If
validation errors exist, the associated tags will be displayed along with a validation
error or warning message.

Note Error messages must be corrected. However, warning messages need not be
corrected prior to system operation.

File/Print
Use this command to select reports and configure printer options.

File/Print Preview
Use this command to select reports and then preview them on the screen.
136 Chapter 5

File/Print Setup
Use this command to configure your Windows. Refer to your Windows
documentation for more information.

File/Exit
Use this command to close the Tag Linker.

Note Your work is dynamically saved in the configuration link database as you
edit and make changes to the linker configuration. Therefore, you do not have to be
concerned with saving your work.

Edit Menu
The Tag Linker Edit menu contains the commands that are used to access the Tag
Linker's configuration windows.

Edit/Access
Use this command to display the Access Editor.

Edit/Export
Use this command to display the Export Editor.
Tag Linker 137

View Menu
The Tag Linker View menu contains the commands that are used to modify the tags
that are displayed in the main window and the selection mode for modifying the
tags.

View/Filter
Use this command to display the View Filter Selection window.

View/Single Selection
Use this command to select single tags from the main window.

View/Multiple Selection
Use this command to allow the selection of multiple tags from the main window.
138 Chapter 5

Help Menu
The Tag Linker Help menu contains the commands that are used to access the main
help screen, and information about the version and licensing of the application.

Help/Help Topics
Use this command to display online help for Tag Linker.

Help/About Tag Linker


Use this command to display version and licensing information for InBatch.

Access Editor
Use the Access Editor to define Access Names.

An Access Name represents a data source for InBatch tags. An Access consists of
an Access Name (16-characters maximum), an Application, a Topic, and an
InTouch Node designation if applicable. The editor will verify all new access
names to ensure uniqueness.
Two Access Names are provided by default: ControlSystem and InTouch. The
default access names can be changed; however, they cannot be deleted. It is
recommended that these default names be changed to relate to your application.
When the process model is created, all of the tags associated with it are stored in a
configuration link database. The default Access Names allow the process model to
operate and simulate batch operation.
The InTouch access name is initially assigned to the Application: VIEW (InTouch
WindowViewer) and converses by way of the Topic: TAGNAME. Application
identifies the node and name of an InTouch application (e.g. \\BEN\VIEW). The
node name, BEN, identifies a specific network path where the InTouch application
is located, while VIEW is the name required for InTouch server conversations. The
Topic identifies the group of elements within the application through which
conversations will be established. The InTouch Node check box is enabled for the
InTouch access name, indicating that this access is connecting to an InTouch node.
All Access Names associated with InTouch require the Application name, VIEW,
and Topic, TAGNAME.
Tag Linker 139

You can create Access Names by following these guidelines and referring to the
appropriate control system documentation.

Note It is required that only SuiteLink IO servers be used with InBatch. SuiteLink
provides the robust and reliable communications protocol that InBatch demands.

Tag Configuration
The following section describes how to configure tags in a batch system.

Tag Selection
The Tag Linker window list is, by default, initially empty. This indicates that no
tags have been selected.

The View Filter Selection window lists all of the Units that are available in the
current configuration process model database. Select the appropriate equipment
using the Control (or Shift) key and then the OK or Apply command button to
update the display. Equipment is de-selected by holding the Control key and
selecting with the mouse.
The Analog, Discrete, String, Enumeration, and Attributes radio buttons allow
additional filtering based on data class. Data classes are defined when tags are
created.
140 Chapter 5

Assign Tag Links


Select the required Tag Name(s) in the Tag Linker main window and then define
the configuration options. The window contains five configuration sections. Tags
created during process modeling have a predefined configuration. Prior to
exporting these tags to InTouch or communicating with external control system
hardware, it will, in some cases, be necessary to modify the configuration.
Each of the areas has a selection check box to the left of the group box. Each check
box is used to enable the use of the particular area. If only one tag is selected, all of
these check boxes will be set. In Single or Multiple selection mode, clearing a
selection check box results in the associated configuration parameters being
ignored when the Apply button is clicked. This is useful for changing only certain
properties on multiple tags. When using Multiple Selection and trying to change the
configuration settings for more than one tag, both the check box and the setting
within the area must be enabled.

WARNING! When in multiple selection mode, ensure that your modifications are
appropriate for all selected tags. Changes cannot be undone.

Item Definition

The Item Definition area identifies three parameters (each associated with a radio
button) that are related to the tag name and properties. Only one of the three
parameters can be selected. The Item is associated with a specific location of data;
such as a tag name or a PLC register. The Use Tag Name option is selected when
you want the actual name of a tag to be used in the export. Select InBatch Memory
Tag when there is no external source for the tag. This option also initializes the
value of the InBatch Memory Tag for analog, discrete or string tag types as
specified in the Initial Value field. If no value is entered, the initial value is set to 0
for analog tags, 0 (Logical False) for discrete tags, or empty (null) for string tags.
Tag Linker 141

Access Assignment

The Access Assignment area allows you to assign one of the Access Names that
were created using the Access Editor. The Access button displays the Access
Names dialog. Select the appropriate access and assign to the tag.

Export Tag

The Export Tag check box allows you to enable or disable the export of the
associated tag. Not all tags from the InBatch model are necessarily required for an
InTouch application. If a tag is going to be used within the InTouch application and
contained in the InTouch tagname dictionary, you must select the option. If a tag is
not required, it can be de-selected.

Note Exporting tags that are not required in InTouch is acceptable and perhaps
convenient. However, batch utilities constantly monitor and manage InBatch and
InTouch processes. A high quantity of unnecessary tags can degrade overall system
performance.

For more information on alternatives to exporting tags from InBatch and loading
the tags into InTouch, see Chapter 18, "InTouch Batch Tag Browsing and
Referencing."
142 Chapter 5

Scaling Options

The Scaling Options area applies to analog tags only. Min Raw and Max Raw are
associated with the values output from a source such as a PLC. Min Scaled and
Max Scaled are scaling factors associated with InBatch

Data Type Selection

The Data Type area applies to analog tags only and allows the user to set the type
of numeric data with which a tag is associated. The options are either Float
(floating point) or Integer.
Tag Linker 143

Export Editor
The Export Editor groups tags by their Access Names. You can select which access
names (tag groups) are exported to the .csv file. Multiple csv files can be created
for different InTouch applications such as an operator workstation, a supervisory
node, or a batch scheduling node. Each different type of InTouch application is
called a Client Type. A Client Type consists of a Client Type name (14-characters
maximum), Accesses for which to include the tags in the csv file, and an Output
Path/Filename.

Client Types are user defined and are typically represent your batch control system
architecture. Before you can export tags, you must determine for each Client Type:
• Does the associated InTouch node provide tag data?
• Does the InTouch node require access to data from an external control system
or InBatch?
• Does the InTouch application use InBatch Wizards?
• Does the InTouch application use Batch Function Tags?
• What is the name of the .csv file that you want to export to?
If the InTouch application provides tag data to InBatch, select the appropriate
access name from the Export Access as InTouch Memory tags list box.
144 Chapter 5

If the InTouch application requires access to tag data that is associated with external
control systems or InBatch, select the appropriate access name(s) from the Export
Access as InTouch IO Tags list box.

Note An access name; for example, InTouch, can be associated with either the
Export Access as InTouch Memory tags or the Export Access as InTouch IO
Tags classification, not both.

You will need to specify a .csv file name for the export in the Output
Path/Filename field. Ensure that you include the full path and file name, including
the .csv extension. If you do not specify a path, the file will be located in the current
InBatch configuration (config_A) folder.
This following table further illustrates how Access Names are created in an
InTouch application for tags which are exported from Tag Linker and then imported
using the DBLOAD utility. The Node Name for each would correspond to the host
name of the appropriate computer (Batch Server, IO Server, etc.) and has been
omitted from the table. The TI Direct IO Server (TIDIR) has been used as an
example for the control system interface.

AccessName Application Topic Description


ControlSystem TIDIR TI_TOPIC Access(es) for Control System tags
directly to the IO Server(s). Control
system tags are set to this access name(s)
after a Runtime Export.
IB_CTRLSYS_TAGS IBSERV IB_TAGS Accesses for Control System tags using
InBatch as the server. Control system
tags are set to this access name after a
Simulation Export.

Simulation Export Procedure


A Simulation Export will export all Process Model Tags as InBatch memory tags no
matter how they are defined in Tag Linker. The following steps describe how to
perform an export for simulation purposes only.
1. Select the Edit/Export menu option.
This displays the Export Editor window.
2. Define a Client Type name.
3. Select the ControlSystem access in the Export Access as InTouch IO Tags
list.
4. Define an Output Path/Filename.
5. Add the Client Type.
6. Select the File/Validate menu option.
This validates the list of tags to be exported.
7. Select the File/Simulation Export menu option.
The Export Results dialog will be displayed showing the progression and
status of the export.
8. Load the .csv file into InTouch using the DBLOAD utility.
Tag Linker 145

Runtime Export Procedure


A Runtime Export will export all Process Model Tags using the tag configuration
information defined in the Tag Linker main window for each tag. The following
steps describe how to perform an export for runtime purposes only.
1. Select the Edit/Access menu option.
This displays the Access Editor dialog.
2. Define the appropriate accesses for the tags in the process model.
3. From the Tag Linker main window, select the View/Filter menu option.
This displays the View Filter Selection dialog.
4. Select the appropriate tags and define using the tag configuration options
available in the Tag Linker main window.
5. Select the Edit/Export menu option.
This displays the Export Editor dialog.
6. Define a Client Type name.
7. Select the ControlSystem access in the Export Access as InTouch IO Tags
list.
8. Define an Output Path/Filename.
9. Add the Client Type.
10. Select the File/Validate menu option.
11. This validates the list of tags to be exported.
12. Select the File/Runtime Export menu option.
The Export Results dialog will be displayed showing the progression and
status of the export.
13. Load the .csv file into InTouch using the DBLOAD utility.

Control System Interfacing Example


This section provides guidelines for interfacing with a PLC. The guidelines assume
that you have a functional simulation system.

Guidelines for Control System Interfacing


1. Select PLC and develop the required phase logic.
2. Select a Wonderware IO Server for your PLC (Available from your
Distributor).
3. Use the Tag Linker Access Editor to define an Access Name for the IO Server.
4. Use the Tag Linker View Filter Selection dialog to select tags.
5. Assign the appropriate Item Names to the tags.
6. Configure parameters if necessary (i.e. scaling, etc.).
7. Perform Tag Linker Validation.
8. Perform Tag Linker Runtime Export.
146 Chapter 5

9. If tags are required in InTouch, use the InTouch DBLOAD utility to import the
.csv file.
10. Configure one instance of IBCli for each Access Name.
11. Perform an Update/Runtime operation from Environment Display.

Setting Up the Control System


Once you have chosen an appropriate PLC, you will need to develop PLC phase
logic and obtain a Wonderware IO Server. Contact your distributor to obtain the
required IO Server.
For the purpose of this section we will assume that the IO Server is named "TIDIR"
and is located on a client computer which has a (network) name of "plcnode". We
will also assume that it has a configured Topic named "TI_TOPIC." Thus, the IO
server is accessed as: \\plcnode\TIDIR|TI_TOPIC!<item_name>. The
<item_name> is defined in Tag Linker.
Use the Tag Linker Access Editor to define an access name for the TIDIR IO
Server. Tag Linker provides a default Access named "ControlSystem" which is
associated with all of the InBatch control system tags (i.e., phase control, status,
parameter tags, etc.). Modify this Access Name to identify your IO Server. For this
example we will make the following modifications using the Access Editor:
Access Name:TI_Tags
Application:\\plcnode\TIDIR
Topic:TI_TOPIC
Protocol:SuiteLink
All of the tags assigned to this Access Name are now associated with the "TIDIR"
IO Server located on "plcnode". If you have multiple topics for the "TIDIR" I/O
Server, or if you are using multiple IO servers, you will need to add a new Access
Name for each.
Many of the tags that were created when the Process Model was constructed need
to be assigned the appropriate Access Name and associated with the proper Item.
Using Tag Linker's View Filter Selection dialog, select the required tags or groups
of tags and then assign the appropriate Item Name. In our example, we would
assign values such as "V100" and "C15000" to the Item Name field. You can
change the Access for each tag if required. Since we are only using one Access
Name in our example we do not have to do this. Other parameters such as scaling,
can be entered.
Some tags (by default) are not associated with an Access Name. Instead, they have
the "InBatch Memory Tag" parameter enabled. These tags are typically the system
tags (string tags) which are used by InBatch to store system information during
runtime. If you need to use the information in these tags at the PLC level, you must
enter and Apply the appropriate Item Name.
Once you have made the necessary modifications, select the File/Validation menu
option for Tag Linker. You may see a warning during the validation indicating that
the InTouch Access does not have tags associated with it. This is not unusual. The
InTouch Access is used only when InTouch is used as an IO server.
Tag Linker 147

When you perform a "simulation export" and then a subsequent DBLOAD,


InTouch is configured to obtain all of its control system tag data directly from the
InBatch Server. Now that an actual control system has been implemented, we want
InTouch nodes to communicate with it to obtain tag data. To accomplish this, first
select the File/Runtime Export, and then use the DBLOAD utility to load the .csv
file.
For each Access that was defined using the Tag Linker you will need to configure
and run one instance of the IBCli application. The only exception to this is if you
get a warning message during Tag Linker validation indicating that no tags are
associated with a particular access. In this case you do not need an instance of
IBCli. IBCli is configured using the Environment Editor. For each instance of IBCli
you need to configure several application parameters. For the purpose of our
example, we need to 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 Linker Access Editor. The Verbose Mode parameter option
is useful for troubleshooting.
148 Chapter 5
Materials Editor 149

C H A P T E R 6

Materials Editor

Use the Materials Editor to define materials, assign material locations, and track the
usage and production of materials in a batch processing facility.

Contents
• Overview
• Using the Materials Status Window
• Using the Materials Editor

Overview
The Materials Editor provides a graphical user interface to the Materials Database.
All of the materials that will be used during recipe creation must be defined within
this database. Use the Materials Editor to define Ingredients (Raw Materials),
Intermediates (Premixes), Finished Goods, By-Products, and Other ingredients.
In addition to the defining materials to be stored in the Materials Database, you can
use the Materials Editor to configure tracking the location of materials that are
stored in units. This 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 executed. This capability allows
ingredient locations to be independent of recipes and control system logic, and
permits ingredients to change locations without affecting recipe execution.
systems with ingredient usage information and intermediate and finished goods
production.

Note The Materials Editor is not, within itself, an inventory management system.
However, it can be used to complement existing systems.

The following diagram provides an overview of the Material Editor and its
relationship with other system components.
150 Chapter 6
Materials Editor 151

Using the Materials Status Window


Managing materials requires three components; the Materials Status window, the
Materials Editor, and the Material Location Assignment Editor. The Materials
Status window is used for viewing the name, unit of measure, total quantity, and
characteristics of all materials defined in the database. The Materials Editor
window is used to define and/or edit materials in the database.

Starting the Materials Status Window


To Start the Materials Status Window:
1. Double-click the MtlEdit icon in Environment Display.
2. The Materials Status window will appear.

The status of all of the materials in the Materials Database will be displayed. If
there are no materials defined in the database, the list will be empty.

To View Material Status:


1. Click the Materials drop-down arrow and select the material type that you
want to view.
The five material types will be listed. These are Ingredients, Intermediates,
Finished Goods, By Products, and Other. The default material type is
Ingredients.
2. From the Materials list, select a Material ID.
152 Chapter 6

The Material ID, Material Name, Unit of Measure and Total Quantity will be
displayed. The material characteristic and default value are also displayed.

File Menu
The Materials Status File menu provides access to the system functions for
materials management.

File/Validate
Use the File/Validate menu to validate materials database entries.

File/Print
Use the File/Print command to select from one or more pre-formatted reports, and
then print the materials status. The print window also provides standard Windows
printer options.

To Print a Configuration:
1. On the menu bar, click File and select Print.
2. The Print window will appear.

3. In the Select Reports list, select item(s) that you want.


4. Select other printer options as required.
5. Click OK to print the report and close the window.

Note If you want to print several reports, press and hold the control or shift key,
while selecting from the list with the left mouse button.
Materials Editor 153

File/Print Preview
Use the File/Print Preview command to select one or more formatted reports, and
then view the report(s) on the screen.

To Preview a Materials Status Report:


1. On the menu bar, click File and select Print Preview.
2. The Select Reports window will appear.

3. Select the report(s) from the list


4. Click OK.

Note If you want to preview several reports, press and hold the control or shift
key, while selecting from the list with the left mouse button.

File/Print Setup
Use the File/Print Setup command to select and configure a printer. Refer to your
printer manufacturer’s documentation for more information.

To Setup your Printer:


1. On the menu bar, click File and select Print Setup.
2. The Print Setup window will appear.

File/Exit
Use the File/Exit command to close the Materials Editor.

To Close the Materials Editor:


On the menu bar, click File and select Exit.

Note All of your work is dynamically saved in the materials database as you edit
and make changes. Therefore, you do not have to be concerned with saving your
work.
154 Chapter 6

Edit Menu
Use the Edit menu to access the Materials Editor and the Materials Location
Assignment Editor.

Edit/Materials Editor
Use the Edit/Materials Editor command to display the Materials Editor window.
For more information on the Materials Editor, see “Using the Materials Editor” on
page 156 later in this section.

View Menu
Use the Materials Status View menus to filter the materials ID list by specifying a
portion of a material ID. A find option is also provided for a direct search of a
Material ID.

View/Partial List
Use the View/Partial List menu to filter the list of available Unit Assignments.
This option is especially useful in helping you narrow your focus when there is a
large number of Material IDs for a given ingredient type.

To Filter the Unit Assignments List:


1. On the menu bar, click View and select Partial List.
2. The View Partial Filter window will appear.

3. In the Partial ID text box, enter the first portion of the Material ID (16-char
max) that you want to use as your filter.
4. Click OK.
5. The Material ID list will now show all of the Material IDs that include the
filter.

View/Full List
Use the View/Full List command to display a list of all of the materials in the
Materials Database.

To View All Materials:


1. On the menu bar, click View and select Full List.
Materials Editor 155

2. The Material ID list will now show all of the Materials in the Materials
Database.

View/Find
Use the View/Find command to search for a specific Material ID.

To Filter the Unit Assignments List:


1. On the menu bar, click View and select Find.
2. The Find Material window will appear.

3. In the Material ID text box, enter the Material ID (16-char max) that you
want to search for.
4. Click OK.
5. The Material ID list will now show only the Material that you entered.
If you enter a non-existent Material ID, an error message will be displayed.

Help Menu
Use the Materials Status Help menu to access the online help system and
information regarding product version and licensing.

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Material
Editor.

To View the Help Topics for Material Editor:


1. From the Materials Status Display file menu, select Help and then click Help
Topics.
2. The Help Topics window will appear.

Help/About Material Editor


Use the Help/About command to view Version information.

To View Help About for Material Editor:


1. On the Materials Status menu bar, select Help and then click Help About
Material Editor.
2. The About Material Editor window will appear.
156 Chapter 6

Using the Materials Editor


Use the Materials Editor to define, edit and delete the processing materials used in
your plant. As you enter materials, the editor will verify that each Material ID is
unique. You can enter as many materials as your process requires.

WARNING! Deleting materials from the materials database can affect recipe
execution. Before you delete or modify a material, ensure that you understand how
your particular application manages materials.

Defining Materials
Material Definition requires the assignment of the following characteristics. Some
elements are required while others are not.
• Type (Required)
Each material must be defined as an Ingredient, Intermediate, Finished
Good, By-Product, or Other.
• Material ID (Required, 16-char max)
• Name (Optional, 40-char max)
This name can be used to represent the actual name of the material.
• Description (Optional, 120-char max)
• Unit of Measure (Optional, 12-char max)
• High Deviation (Optional, value between 0.00 and 100.00 inclusive)
This value represents the General or default, high deviation when the material
is used in a recipe.
• Low Deviation (Optional, value between 0.00 and 100.00 inclusively)
This value represents the General, or default, low deviation when the material
is used in a recipe.
• Characteristics (Optional)
Each material can have an unlimited set of characteristics. Characteristics help
distinguish materials from one another. They also allow you to separate lots of
the same material. A characteristic consists of a Name (16-char max), Data
Type (Real, Integer or String) and a Default Value. Examples of
characteristics include potency, density, color, and brix.

Note Additions, deletions, and changes must first be made to the material before
the characteristics can be updated.

To Start the Materials Editor:


1. On the Materials Status menu bar, click Edit, and then select Materials
Editor.
2. The Materials Editor window will appear.
Materials Editor 157

To Define a Material:
1. In the Materials Editor, click the Materials drop-down arrow and select a
material type (Ingredient, Intermediate, Finished Good, By-Product, or
Other.)
You can use the Find button and View Partial List check box to search all of
the defined materials in the database. This is useful when you want to enter
new materials that are similar to existing entries.
2. Enter a Material ID, Name, Description, Unit of Measure, and High and
Low Deviations as described earlier in this section.
3. Click Add to include the entry in the materials database.

To Define Characteristics for a Material:


1. In the Materials Editor, select a Material Type and Material ID.
158 Chapter 6

2. In the Characteristics pane, enter a Name, Default Value, and select an


appropriate Data Type as described earlier in this section.
3. Click Add to associate the characteristic with the material.

Note When you change the default characteristic Data Type, the corresponding
Actual Value is reset with the Default characteristic value. Therefore, before you
change a Material Characteristic Data Type, you should consider how this will
affect your material definitions.
Recipe Editor 159

C H A P T E R 7

Recipe Editor

The batch control system coordinates the construction and management of recipes
in accordance with the guidelines outlined in the Instrument Society of America
(ISA) S88.01 Flexible Batch Specification. Consistent with this standard, the
InBatch FlexFormula Edition Recipe Editor allows the creation of recipes at the
Unit Procedure level.
The batch control system provides a recipe management system that enables Master
Recipes to be constructed and edited. Master recipes are not process line specific.
They can be assigned 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
process line specific.
A master recipe may or may not be size specific. All formula quantities for
ingredients, intermediates, 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 by the batch management system when the batch is
scheduled and initialized.

Contents
• Overview
• Using Recipe Editor
• Equipment Requirements
• Formula
• Process Variables
• Building a Recipe Procedure

Overview
A recipe consists of four parts. They are the Header, the Equipment Requirements,
the Formula, and the Procedure.
160 Chapter 7

Header
A recipe Header identifies and documents each recipe. The header consists of a
Recipe ID, Recipe Name, Recipe State, Recipe Type, Product ID, Product Name,
Minimum Batch Size, Maximum Batch Size, Default Batch Size, and Comment.

Equipment Requirements
Equipment Requirements specify the process classes and attributes required by a
recipe. When defining attributes, you must specify the minimum and maximum
values for each attribute. For example, if a recipe requires a 500 or 1000 pound
reactor, the minimum and maximum values for the attribute “Capacity” would be
500 and 1000, respectively. When a very specific characteristic is required, the
minimum and the maximum should be assigned the same number.
When trains are defined, it is possible to have multiple units available for a given
batch. There may be times when you want to give an operator the flexibility to
select a unit and other times when this selection is automatic. You can enable this
feature when you define equipment requirements for a recipe.
The Recipe Editor automatically inherits all process parameters associated with the
process classes defined in the equipment requirements. These are the only
parameters that you can use to build a recipe procedure.

Process Instances
When you specify equipment requirements for a recipe, an entity is created for each
selected process class called a process instance. The process instance is like a
generic place-holder for a member of the process class. Each process instance
corresponds to an actual unit when the recipe is executed. You may assign a specific
unit to a process instance, or you can allow the unit to be selected when the recipe
executes using automatic or manual selection. When one or more process instances
have specific units assigned to them, the recipe is called an “equipment dependent”
recipe. This means that the recipe, by design, always uses specific equipment for its
execution. When process instances are not assigned to specific units, the recipe is
called an “equipment independent” recipe.
Recipe Editor 161

Formula
The Formula specifies the inputs (raw materials, ingredients), outputs
(intermediates, finished goods, and by-products), and process variables for a recipe.
Input and output quantities can be entered as actual values or as percentage value.
Process variable values are entered as actual quantities. Default tolerances for
ingredients and process variables will be automatically displayed. However, the
default tolerances can be changed for the current recipe or can be disabled
altogether.

Procedure
The procedure defines the sequence of process actions needed to execute one batch
of a recipe. A FlexFormula procedure is constructed using unit procedures,
transition logic, branch objects, and loop objects. Unit Procedures are associated
with a process instance and are defined in the recipe. Unit Procedures are
configured with parameters. A parameter is assigned a value when the recipe
formula is entered. Parameter types are either input, output, or process variable.
When the recipe is executed by the batch management system, the values assigned
to the parameters are written to the control system.
Transition Logic provides the ability to redirect the execution of a procedure based
on the result of a Boolean expression. Expressions can be constructed using
predefined functions such as questions that prompt an operator. These questions are
displayed and then answered by an operator when the recipe procedure is executed.
Branch Objects allow the recipe builder to execute simultaneous unit procedures or
execute one of many unit procedures simultaneously on two or more units.
Loop Objects allow the recipe builder to re-execute unit procedures based on an
evaluated transition logic expression.
162 Chapter 7

Unit Procedures
A Unit Procedure contains all the processing operations and activities of a single
unit under batch control. The Unit Procedure names have been defined by the
process model. A process instance must be specified for each Unit Procedure
created. The Unit Procedure is the set of all parameter values (the formula) which
will be used by the process instance (unit) at runtime. Each process instance can
only use one (1) unit procedure in the recipe. Unit control logic in the control
system is responsible for executing the unit procedure when the recipe executes.
With InBatch FlexFormula Edition, the sequence of operations that occur within the
unit procedure are programmed into the control system
Unit control logic is constructed in a manner where it is automatically configured
through the parameters and enabled and monitored by the batch management
system when recipes are executed.
Some recipe procedures require the acknowledgment of certain conditions by an
operator before a unit procedure can be executed. A recipe procedure may also
require an operator to acknowledge the completion of a unit procedure.
Additionally, a recipe procedure may require the entry of operator comments before
batch execution can continue. All of these situations can be configured as part of
the recipe procedure.

Parameters
You can use Formula Parameters to further define the execution of a unit procedure.
Formula parameters are defined in the process model editor. There are three types
of parameters:Inputs, Outputs, and Process Variables.
Parameters act as mailboxes for data. Input parameters will hold ingredient
quantities based on the formula. Process variable parameters will hold process
variable values. Output parameters will hold output quantities based on the formula.
As a procedure is constructed, each element of the formula is assigned to a
parameter.

Transition Logic
In addition to defining process actions and the sequence of execution, there are
ways to control (enable/inhibit) the execution of the parts of a recipe procedure
based on operator decisions and to delay execution of parts of the procedure using
time delays. This is achieved through the use of Transition logic.
With transition logic, a Boolean expression is constructed and evaluated. If the
expression evaluates to TRUE, the execution of the recipe moves to the point below
the transition logic. If the expression evaluates to FALSE, the recipe execution will
stop and wait for the transition logic to evaluate to TRUE.
Transition Logic is constructed with the expression builder using pre-defined
functions (Ask, Not, WaitSec, WaitMin, WaitHour)
For more information on building expressions, see Chapter 14, "Expression Editor."
of this User’s Guide.
Recipe Editor 163

Using Recipe Editor


Use Recipe Editor to create all of the recipes that will be executed in the batch
control system. Recipe Editor uses the information in the process model and
materials databases as part of recipe procedure development. Therefore, recipes
should be created only after your process model and materials databases have been
defined.
The procedure for creating a new recipe procedure requires the following basic
steps:
1. Enter Header Information.
2. Define Equipment Requirements.
3. Define Formula Inputs.
4. Define Formula Outputs.
5. Create a Procedure.
6. Validate the Recipe.
7. Save the Recipe.
8. Approve the Recipe.

To Start the Recipe Editor:


1. Double-click the RecipeEdit icon in the Environment Display.

2. The Recipe Editor window will appear.


164 Chapter 7

File Menu
The Recipe Editor File menu provides system functions for the Recipe Editor. The
File menu items are described in the following sections.

File/New
Use the File/New command to create a new recipe and clear an open recipe from
memory. If prior editing had been done and not saved, a message box will be
displayed providing the option to discard the changes before clearing the recipe.

To Create a New Recipe:


Click File, and then select New.
You can also click the New icon on the main toolbar.

File/Open
Use the File/Open command to open an existing recipe and clear an open recipe
from memory. If prior editing had been done and not saved, a message box will be
displayed providing the option to discard the changes before opening the recipe.

To Open a Recipe:
1. Click File, and then select Open.
You can also click the Open icon on the main toolbar.
Recipe Editor 165

2. The Recipes – Open window will appear.

All of the recipes in the recipe database will be listed. You can sort the list by
clicking a list heading.
3. Click Open.
4. Double-click the required list item.
You can also open a recipe by double-clicking an item.
5. The recipe that you selected will appear in he Recipe Editor window.

Using Recipe Find and Filter


If your facility uses many recipes that makes finding the recipe difficult, you can
use the Find and Filter buttons to help you search for a specific recipe in the recipe
database.

To Find a Recipe:
1. Click the Find button.
2. The Recipe Find window will appear.
166 Chapter 7

3. In the Search For text box, enter the text that you want to search for.
The space character acts as a wildcard entry. Entering a space character in the
Search For text box will cause every item in the list to be searched.
4. From the In drop-down list, select whether you want to search the Recipe ID,
Recipe Name, State or Type, or all of these fields.
5. Enable the Case Sensitive check box as required.
6. Click Find Next.
The first Recipe that matches your criteria will be highlighted in the Recipes –
Open list box. You can click Find Next to continue searching and scrolling
through the list.
7. When you identify the recipe that you want, click Open on the Recipes –
Open window.
8. Recipe Editor will display the selected recipe

To Filter the Recipe List:


1. Click the Filter button.
2. The Recipe Filters window will appear.

3. Select as many States and/or Types as required.


4. Click OK.
5. The Recipes – Open list will now display only those recipes that match the
States and/or Types that you specified.
6. When you identify the recipe that you want, click Open on the Recipes –
Open window.
7. Recipe Editor will display the selected recipe
Recipe Editor 167

File/Save
Use the File/Save command to save changes to an open recipe. The File/Save can
also be used as a Save As function by specifying a different Recipe ID when you
are prompted to save the recipe. The first time that you save a recipe, you will be
required to enter a Recipe ID (16-char max) and an Author (30-char max). You can
also enter optional Comments that describe any changes or details that you want to
document. All subsequent changes to a recipe will require the entry of an Author.
You can effectively copy a recipe simply by saving it with a unique Recipe ID.
If you attempt to enter a Recipe ID that is not unique, a warning message will be
displayed that prompts you to overwrite the current version.
There will be occasions when either the Recipe ID and/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 as
explained earlier. The Author field 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, security clearance will be required whenever the save menu
option is selected. The corresponding Done By user entered in the security
clearance request will be automatically assigned to the Author field. This field may
not be changed.

To Save a Recipe
1. Click File, and then select Save.
You can also click the Save icon on the main toolbar.

2. The Save Recipe window will appear.


168 Chapter 7

3. Enter a Recipe ID, Author and Comments as described earlier in this section.
4. Click Save.

File/Delete Recipes
Use the File/Delete Recipes command to remove a recipe from the recipe database.
Any recipe defined in the database can be deleted; however, you can only delete
one recipe at a time. If you delete the recipe that is currently open, you will have to
use the File/New command to clear the deleted recipe from the display.

To Delete a Recipe
1. Click File, and then select Delete Recipe.
2. The Recipes – Delete window will appear.

3. Select a recipe from the list.


4. Click Delete.
The Recipes – Delete window provides Find and Filter capabilities similar to the
Recipes – Open window to aid in searching through long lists of recipes.

File/Validate
Use the File/Validate command to initiate a validation of the current recipe. The
validation process consists of the following elements.
• Verify that the process model database information used in the recipe exists.
This includes process classes, unit procedures, parameters, and tags.
• Verify that the material database information used in the recipe exists.
• Verify that the minimum, maximum, and default batch sizes defined in the
recipe header are appropriate. (Minimum <= Default <= Maximum)
• Verify that all of the formula parameters defined in the recipe procedure are
linked to the appropriate information.
• Verify that all transition logic, including loop logic, is valid.
Recipe Editor 169

Note The validation process only verifies user configured information. Because of
the flexibility provided in constructing recipe procedures, it is impossible to verify
a recipe design. This verification is the responsibility of the user.

The validation process does not verify the existence of reports on the Information
Server. This verification is the responsibility of the user.

To Validate a Recipe
1. Click File, and then select Validate.
You can also click the Validate icon on the main toolbar.

2. If the validation is successful, Recipe is Valid will be displayed in the Validate


window. If validation errors exist, the associated tags will be displayed along
with a validation error message.

File/Approvals
Use the File/Approvals command to approve any recipe in the database for
production or for testing. Approvals are required before the Approved for
Production check box can be set. A recipe cannot be scheduled as part of a batch
unless the Approved for Production or Approved for Test check box has been
enabled. The levels of approval required are configured in the Security Editor. If
security is not enabled, the Approved for Production or Approved for Test check
box must be manually enabled each time the recipe is saved. There are five levels of
recipe approval permitted. The first level corresponds to the author. The remaining
levels of approval are numbered two through five and can be assigned based on
your requirements.

Note In order to prevent the same person from approving recipes at different
levels, each level of approval should be assigned a different security level.

You approve the recipe by selecting the appropriate level command button on the
Approvals and entering information required by the security request windows.
Levels may be approved in any order, but the Approved for Production or
Approved for Test check box cannot be enabled until all of the required levels have
been satisfied. The Approved for Production or Approved for Test check box can be
enabled or disabled at any time for recipes in which all levels of approval have been
satisfied.
For more information on configuring security, See Chapter 13, "Security System."
of this User’s Guide.

To Approve a Recipe
1. Click File, and then select Approvals.
You can also click the Approvals icon on the main toolbar.
170 Chapter 7

2. The Approvals window will appear.

3. Select the required options as described earlier.


For more information on configuring security, See Chapter 13, "Security
System." of this User’s Guide.
4. Click Close.

Note Recipe approvals made on version 8.0 and later 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.

File/History
Use the File/History command to view the construction history for any recipe in
the database. You can view the Version, Date of creation, and recipe Author for
each entry.

To View Recipe History:


1. Click File, and then select History.
You can also click the History icon on the main toolbar.
Recipe Editor 171

2. The History window will appear.

All of the history for the open recipe will be listed.

Note Old versions of recipes cannot be executed. If multiple recipe versions are
required, It is recommended that you enter the version identification in the Recipe
ID.

3. Click Close when you are finished viewing.


172 Chapter 7

File/Import/Export
Use the File/Import/Export command to export recipes to files and import recipes
from a file. You can copy and/or move recipes between local recipe databases
(those on your server) and across a network.

To Open the Import/Export window:


1. Click File, and then select Import/Export.
2. The Import/Export window will appear.

The Import/Export window is described above.

To Export a Recipe:
1. In the Import/Export window, enter a directory or select it from the
Directories list.
2. From the Recipe IDs list, select the required recipe(s).
3. Click Export.
This will create the recipe file(s) (.rcp extension) in the directory that you
selected. If the recipe file exists, the Duplicate Recipe window will appear
prompting you overwrite the existing file. Acknowledge the prompt as
required. You can also specify a different file name in the text box.
Recipe Editor 173

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 window, enter a directory or select it from the
Directories list.
2. From the Recipe IDs list, select the required recipe(s).
3. Click Import.
This will create the recipe file(s) (.rcp extension) in the directory that you
selected. If the recipe file exists, the Duplicate Recipe window will appear
prompting you to overwrite the existing file. Acknowledge the prompt as
required. 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 Editor.

WARNING! Do not attempt to import files that were not created by performing a
recipe export. An application error will occur.

File/Save View Settings


Use the File/Save View Settings command to store the current layout of the Recipe
Editor window. Because the Recipe Editor is very flexible, you may, for a given
recipe, scale the editor windows or have need for different zoom levels for specific
windows. By default, when you close Recipe Editor and then restart it, the layout is
set to its default settings. By saving the view settings before you exit, you are able
to restart the editor with the custom settings.

File/Sync and Validate Recipes


Use the File/Sync and Validate Recipes command to automatically synchronize
the parameters in one or more recipes with the parameters in the process model.
When parameters are added, deleted or changed in a process model, all recipes that
are associated with the parameters are affected.
174 Chapter 7

When the synchronization process starts, it first initiates a synchronization of the


parameters in the recipe with those in the process model. When differences are
encountered, the Recipe parameter information is updated using the process model
parameter information. After the synchronization stage is completed, the recipe is
validated.
You can choose to retain the approvals that are already assigned to a recipe, or you
may require the entry of approvals as part of the synchronization process by
configuring the Allow Sync Approvals parameter in Environment Editor. The
synchronization process can be interrupted if necessary.
For more information on configuring security, see Chapter 3, "Environment
Management System." of this User’s Guide.
The following procedure assumes that you have already made changes to process
model parameters and that your process model is valid.

Note It is recommended that you back up your recipe databases prior to using the
Synchronize Recipe feature.

To Synchronize Recipes:
1. On the menu bar, click File and select Sync and Validate Recipes.
The Sync & Validate Recipe window will appear.

Note If you have a Recipe open, you must close it before you can use the
synchronization feature.

2. Enter an Author (30 char max).


Recipe Editor 175

3. 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 Approvals check box, you will be required to
enter new Approvals.

Note By default, the Retain Recipe Approvals is enabled. If you have disabled
the Allow Sync Approvals parameter in Environment Editor, the Retain Recipe
Approvals check box cannot be selected.

4. Enable the Acknowledge Required check box to require confirmation of each


recipe synchronization before it begins.
If you disable the Acknowledge Required check box, recipes are
synchronized and/or validated without the need of confirmation.
5. Enable the Validate Only check box if you only want to verify whether or not
recipes are synchronized.
6. After making your selections, click the Execute button to begin the validation
and/or synchronization process.
7. Use the Pause button to interrupt the process.
After you pause the process, you can use the Skip Recipe button to ignore the
current recipe and proceed to the next. Once paused, you can completely stop
the process by clicking Cancel.
When you click Pause, the button label changes to Continue. If after a pause,
you want to resume, click Continue.
8. When the process is complete, you can click the Validation Results button to
view the status of the synchronization and validation process.

File/Print
Use the File/Print command to select one or more pre-formatted reports, and then
print the section(s) to a printer or a file. Printed output supports the use of
PostScript formatting for graphical representation as well as a Standard format that
is text-only. You can optionally print your reports on a grey background. The Print
window also allows you to select and configure the Properties of the printer

To Print a Recipe:
1. On the menu bar, click File and select Print.
You can also click the Print icon on the main toolbar.

2. The Print window will appear.


176 Chapter 7

3. In the Select Reports list, select item(s) that you want.


4. In the Report Format frame, select the output format and optional grey
background setting as desired.

File/Print Preview
Use the File/Print Preview command to select one or more pre-formatted reports,
and then preview them on the screen.

To Preview a Recipe:
1. On the menu bar, click File and select Print Preview.
You can also click the Print Preview icon on the main toolbar.

2. Select one or more reports and then click OK to preview your selections.

File/Print Setup
Use the File/Print Setup command to select and configure a printer. Refer to your
printer manufacturer’s documentation for more information.

To Setup your Printer:


1. On the menu bar, click File and select Print Setup.
Recipe Editor 177

The Print Setup window will appear.


2. Configure your printer as required.

File/Exit
Use the File/Exit command to close the Recipe Editor.

To Close the Recipe Editor:


On the menu bar, click File and select Exit.

Note If you have edited a recipe and did not save it, you will be prompted to save
or discard the changes prior to closing the Recipe Editor.

Edit Menu
The Recipe Editor Edit menu provides system functions for the Recipe Editor.

Edit/Recipe Header
Use the Edit /Recipe Header command to define the name and other identification
information for a recipe. A Recipe Header contains the elements show in the
following list. Not all of the elements are required.
• Recipe ID (Required; Display only; Defined when recipe is saved)
• Recipe Name (Optional, 16-char max)
• Recipe State (Required, Defaults to the default State defined in the Recipe
State Editor)
• Recipe Type (Optional, Defaults to the default Type defined in the Recipe
Type Editor)
• Product ID (Optional, 16-char max)
• Product Name (Optional, 16-char max)
• Minimize Batch Size (Required, Defaults to zero if left blank)
• Maximize Batch Size (Required, Defaults to zero if left blank)
• Default Batch Size (Required, Defaults to zero if left blank)
• Comments (Optional, No size restrictions)
The Recipe ID is the only field that cannot be edited from the Header. The Recipe
ID is the unique identifier for the recipe and defined when the recipe is saved.

To Edit a Recipe Header


1. Click Edit, and then select Recipe Header.
You can also click the Header icon on the main toolbar.

2. The Recipe Header window will appear.


178 Chapter 7

3. Enter information for the header as described earlier in this section.

To Assign a Recipe State:


1. Click the States button.
2. The Assign Recipe States window will appear.
Recipe Editor 179

3. Select a State from the list.

Note Assignment of a State is optional.

For more information on defining Recipe States, see “Edit/Recipe States” later
in this section.
4. Click OK.
5. The State will appear in the Recipe Editor window.

To Assign a Recipe Type:


1. Click the Types button.
2. The Assign Recipe Types window will appear.
180 Chapter 7

3. Select a Type from the list.

Note Assignment of a Type is required.

For more information on defining Recipe Types, see “Edit/Recipe Types” later
in this section.
4. Click OK.
5. The State will appear in the Recipe Editor window.

Equipment Requirements
Use the Edit/Equipment Requirements menu to define the equipment requirements
for your recipe.

Edit/Equipment Requirements
Use the Edit/Equipment Requirements command to access the Equipment
Requirements Editor which you will use to edit recipe equipment requirements.
Equipment requirements identify the process classes instances which can be used
while building the procedure. The equipment requirements are also used by the
batch management system to verify train selection during batch scheduling, and
also which units will be selected from the train when the batch is executed. You
must define recipe equipment requirements before you can construct a recipe
procedure.
The equipment requirements for a recipe consist of the following items.
• Process Classes (Required, One or more selected from the process model)
• Process Instances (Required, One Process Instance is created for each selected
Process Class)
• Unit Selection Mode (Required, Defined for each process instance. Default is
Automatic selection)
Recipe Editor 181

• Attributes (Optional, Available for each process instance for which process
class attributes were defined in the process model)
• Unit Assignments (Optional, Required for equipment dependent recipes only)
• Comments (Optional, No size restrictions)
Recipe Editor gives you the ability to define equipment independent or equipment
dependent recipes. An equipment independent recipe does not have units assigned
to its process instances. An equipment dependent recipe is associated with specific
units assigned to one or more process instances.

To Open the Equipment Requirements Editor


1. On the Recipe Editor menu, click Edit, and then select Equipment
Requirements.
2. The Equipment Requirements Editor window will appear.

All previously assigned Process Classes will be listed.

Assign Process Classes


You must select at least one process class from the process model and assign it to
the recipe procedure. The unit procedures that are available in the recipe procedure
correspond to the selected process classes.
182 Chapter 7

Note You can delete Process class assignments with the Equipment Requirements
Editor. Deleting a process class will remove the process instance that is associated
with the deleted class. The Unit Procedure previously assigned to the instance
associated with the deleted process class must be manually deleted from the recipe
procedure. Until you delete the unit procedure, the recipe will be invalid. Should
this condition arise, a message box will be displayed.

To Assign Process Classes:


1. On the Equipment Requirements Editor, click Add Processes.
2. The Process Classes window will appear.

All of the Process Classes in your process model will be listed.


3. Select the required Process Class(es) and then click OK.

Edit Process Instances


The following section describes how to configure a process instance.

Process Instances
Use the Process Class Instance Editor to edit the specific process instances
necessary for recipe construction.

• Selection Mode – (Automatic or Manual) the manner in which runtime unit


selection is made for the instance. The default is Automatic. If you assign Units
to the Process Instance, the Selection Mode is unavailable, and is, by default,
Automatic.
• Attributes – All attributes defined for the selected process class are available.
• Unit Assignment – Required for equipment dependant recipes.
You will use the instance names when you assign unit procedures during recipe
procedure development.
Recipe Editor 183

To Assign Process Instances:


1. On the Equipment Requirements Editor, click Process Instances.
2. The Process Class Instance Editor will appear.

Assign Units to Process Class Instances


You must assign units to a process class if you are developing an equipment
dependent recipe. A specific unit can be assigned to each process instance.

Note If you remove an Assigned Unit assignment from a process instance, it is


also removed from the selected instance. If an instance has no unit assignments,
then all of 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 executed.

To Assign Process Instances:


1. On the Process Class Instance Editor, click Assign Unit.
2. The Units window will appear.
184 Chapter 7

All of the units assigned to the selected process class in the process model will
be displayed.
3. Select a Unit from the list and click OK.
The unit that you select is assigned to the instance. The unit name is displayed
in the Process Class Instance Editor window along with the appropriate
process instance name

Unit Selection Mode


Use the Selection Mode drop-down list to define how a single unit will be selected
during batch execution when multiple units within the process class are available in
the associated train. The Selection Mode has two settings; Automatic and Manual.
The Automatic mode requires the batch management system to select the specific
unit. The Manual mode requires the operator to manually select the specific unit
from a list of available units. The actual unit selection is made during the runtime
execution of the recipe.

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 executes.

Attributes
Use the Attributes list and, Min and Max text boxes, to provide additional
equipment requirements for a recipe.

Note Use of Attributes is optional.

The batch management system uses attributes to allocate units in the train assigned
to a batch only if the unit attribute values satisfy the corresponding recipe attribute
requirements. Attributes are defined for the process class in the Process Modeling
Editor
For more information on Process Class Attributes, see Chapter 4, "Process
Modeling." of this User’s Guide.
Recipe Editor 185

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).
186 Chapter 7

Maximum
Minimum Value Value Batch Management Action
0 0 Attribute ignored by the batch management system.
10 100 Only units in the process class that have an attribute value
greater than or equal to 10 and less than or equal to 100 can
be used by the batch management system.
50 50 Only units in the process class that have an attribute value of
50 can be used by the batch management system.

Note If a specific unit has been assigned to a process instance, an attribute range
cannot be defined. The batch management system is required to allocate the
assigned unit when the recipe is executed as part of a batch.

Example Equipment Requirements


The following example demonstrates how the equipment requirements can be
configured for a recipe and how the requirements are used by the batch
management system during the execution of a batch.
For this example, suppose that a material transfer is to be conducted from a bulk
tank to a mixer, as shown in the following diagram. Also, assume that the train
assigned to the batch includes the three units displayed, and the bulk can be
transferred to either mixer.

The Process Class Instance Editor window shown below represents a possible
configuration for this example.
Recipe Editor 187

In the example, the batch management system must allocate a reactor as the
destination unit in order to execute 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
Unit Capacity Capacity
Process Assigned Selection Attribute Attribute Resultant Unit
Instance Units Mode Value Value Selected
Mixer None Automatic 0 0 Mixer1 or Mixer2
Mixer None Automatic 0 2000 Mixer1 or Mixer2
Mixer None Automatic 0 1000 Mixer1
Mixer None Automatic 2001 3000 Batch cannot be
initialized because train
does not contain an
acceptable unit.
Mixer None Manual 0 0 User selects Mixer1 or
Mixer2
Mixer None Manual 0 2000 User selects Mixer1 or
Mixer2
188 Chapter 7

Minimum Maximum
Unit Capacity Capacity
Process Assigned Selection Attribute Attribute Resultant Unit
Instance Units Mode Value Value Selected
Mixer None Manual 0 1000 Mixer1 is automatically
selected because it is
the only mixer that
satisfies the attribute
range.
Mixer Mixer1 N/A N/A N/A Mixer1
Mixer Mixer2 N/A N/A N/A Mixer2

Formula
A recipe formula consists of the inputs, outputs, and process variables that are used
in the recipe procedure. You define these parameters using the Formula Inputs
Editor, the Formula Outputs Editor, and the Process Variables editors described
in the following section.
defined in the materials database prior to development of the recipe. Inputs and
outputs must be selected for a recipe before they can be used in the procedure. Once
defined, the inputs and outputs are available for assignment in unit procedures that
have input or output parameters defined. Value assignments for each material can
be made from the respective editor or locally at each unit procedure. The process
variable editor displays all of the process variable type parameters that are used in
unit procedures in the recipe procedure. Unit procedures with process variable
parameters must be edited in the procedure editor before they can be displayed in
the process variable editor. Value assignments for each process variable can be
made while constructing the recipe procedure or from the process variable editor
after the procedure is constructed.

Edit/Formula Inputs
Use the Edit/Formula Inputs command to access the Formula Inputs Editor
window which you use to define the input materials that will be used in the recipe.
Formula inputs are the materials that will be used as raw materials in the recipe
procedure. All unit procedures that have an input parameter defined must have an
input material assigned.
The same material can be added to the Recipe with as many configurations as you
require. Inputs that you define and add do not necessarily need to be used in the
recipe procedure.

Note The single instance of a material may be assigned to the input parameter of
more than one unit procedure, and unique quantity values may be assigned to each
parameter. However, one material may not be used as both a percent value and an
actual value within different unit procedures in a recipe. If this is desired, the
material must be added twice to the Formula Inputs Editor Inputs list.
Recipe Editor 189

To Edit Formula Inputs:


1. Click Edit, and then select Formula Inputs.
You can also click the Formula Inputs icon on the main toolbar.

2. The Formula Inputs Editor window will appear.

To Add Input Materials:


1. On the Formula Editors window, click the Add Inputs button.
2. The Materials window will appear.
190 Chapter 7

All of the materials in the materials database of the selected Type, will be
listed. The material types include Ingredients, Intermediates, Finished Goods,
By-Products, and Other.
3. Click the Type drop-down arrow, and select the applicable material type.
4. Select the required Material(s) from the list.
5. Click OK.

To Change Input Materials:


1. On the Formula Editors window, click the Change Inputs button.
2. The Materials window will appear.

All of the materials in the materials database of the selected Type, will be
listed. The material types include Ingredients, Intermediates, Finished Goods,
By-Products, and Other.
Recipe Editor 191

3. Click the Type drop-down arrow, and select the applicable material type.
4. Select the required Material from the list.
5. Click OK.
The new material will retain the values and unit procedure assignment that
were assigned to previous input.

To Add or Change Input Materials- Alternate Method:


In the event that the materials database grows very large, you may notice an
increasing delay when opening the Materials window. To avoid the this, you can
use an alternate method to add or change input materials.
1. Disable the Add Materials From List check box in the Formula Inputs
Editor window. When enabled, materials are entered as described earlier in
this section.
2. When you click the Add Inputs or Change Input button the Material
window will appear.

3. In the Material ID text box, enter the required Material ID and then click OK
or Apply.
If the material is located in the materials database, then the material is added to
the list in the Formula Inputs Editor window. If the material does not exist in
the materials database, an error message is displayed.

To Edit Input Material Settings:


1. On the Formula Inputs Editor window, in the Material Settings pane, enter a
quantity in the Value text box.
For each material assigned as a recipe formula input, you can define a Value
which represents the material quantity. This value is entered as either a
percentage of the total batch size or as an actual value.
2. Click the Type drop-down 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 inputs that have the total check box
selected is displayed Inputs Summary pane. This totalizing feature will only
function for inputs that have values of the same type. If there is a mix of input
materials with actual values that have the total check box selected and input
materials with Percent values that have the total check box selected, the Value
will display N/A.
192 Chapter 7

The totalizing function is provided merely as a convenience for totaling


selected inputs when a recipe can be constructed, and therefore produced, in
more than one way. The Recipe Editor does not require that the total of inputs
is 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 would be 125%. If the Total check
box is disabled for the intermediate, the total would be 100%.
4. Click the Tolerance drop-down 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 tolerances are displayed 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 tolerances using the Formula Inputs Editor
window or by directly editing the unit procedure parameter grid 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 (16-char max).
(e.g. Kgs, Liters, Gallons, etc.)
7. Click Change.

Edit/Formula Outputs
Use the Edit/Formula Outputs command to access the Formula Outputs Editor
window which you use to define the materials that will be produced by the recipe.
All unit procedures that have output parameter definitions must have an output
material assigned. A single instance of a material may be assigned to the output
parameter of more than one unit procedure, and unique quantity values may be
assigned to each parameter. However, the same material cannot be used as both a
percent value and an actual value within different unit procedures of a recipe. If this
is required, you must add the material twice.

To Edit Formula Outputs:


1. Click Edit, and then select Formula Inputs.
You can also click the Formula Inputs icon on the main toolbar.

2. The Formula Outputs Editor window will appear.


Recipe Editor 193
194 Chapter 7

To Add Output Materials:


1. On the Formula Editors window, click the Add Outputs button.
2. The Materials window will appear.

All of the materials in the materials database of the selected Type, will be
listed. The material types include Ingredients, Intermediates, Finished Goods,
By-Products, and Other.
3. Click the Type drop-down arrow, and select the applicable material type.
4. Select the required Material(s) from the list.
5. Click OK.

To Change Output Materials:


1. On the Formula Editors window, click the Change Output button.
2. The Materials window will appear.
Recipe Editor 195

All of the materials in the materials database of the selected Type, will be
listed. The material types include Ingredients, Intermediates, Finished Goods,
By-Products, and Other.
3. Click the Type drop-down arrow, and select the applicable material type.
4. Select the required Material from the list.
5. Click OK.
The new material will retain the values and unit procedure assignment that were
assigned to previous output.

To Add or Change Output Materials - Alternate Method:


In the event that the materials database grows very large, you may notice an
increasing delay when opening the Materials window. To avoid the this, you can
use an alternate method to add or change output materials.
1. Disable the Add Materials From List check box in the Formula Outputs
Editor window. When enabled, materials are entered as described earlier in
this section.
2. When you click the Add Outputs or Change Output button the Material
window will appear.

3. In the Material ID text box, enter the required Material ID and then click OK
or Apply.
196 Chapter 7

If the material is located in the materials database, then the material is added to
the list in the Formula Inputs Editor window. If the material does not exist in
the materials database, an error message is displayed.

To Edit Output Material Settings:


1. On the Formula Outputs Editor window, in the Material Settings pane,
enter a quantity in the Value text box.
For each material assigned as a recipe formula output, you can define a Value
which represents the material quantity. This value is entered as either a
percentage of the total batch size or as an actual value.
2. Click the Type drop-down 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 is displayed in the Outputs Summary pane. The totalizing function
will only work on outputs that have values of the same type. If there is a mix of
output materials with Actual values that have the total check box selected and
output materials with Percent values that have the total check box selected, the
Value will display N/A.
The totalizing function is provided as a convenience for totaling selected
outputs when a recipe can be constructed, and therefore produced, in more than
one way. The Recipe Editor does not require the outputs to total exactly 100%.
4. In the Unit of Measure text box, enter an appropriate term (16-char max). (e.g.
Kgs, Liters, Gallons, etc.)
5. Click Change.

Process Variables
Formula Process Variables correspond to all of the process variable formula
parameters defined for the unit procedures used in the construction of the recipe.
Process variable formula parameters are defined in the Process Modeling Editor.
Use the formula grid to redefine the names or values assigned to process variable
parameters.

Editing Process Variables


Use the Recipe Editor Formula grid to edit all formula process variables. Input and
Output parameters may be edited from the formula grid as well.

To Edit Process Variables:


1. On the Recipe Editor window, select the desired process variable parameter in
the Formula Grid.
Recipe Editor 197

The Formula Grid shows all of the parameters used in the unit procedure of the
recipe procedure. The list will be empty until you use unit procedures in the
recipe procedure. Following recipe procedure creation, you can change input,
output, and process variable parameters in the Formula Grid.
For each parameter displayed in the list, the Parameter (name), Parameter
Type, Value, Name, Material ID (if applicable), UOM, Tolerance (type),
High Deviation, Low Deviation, Quantity Type, and Total are displayed.
Not all columns apply to all types of parameters.
The cells which are editable will appear with a grey background.
2. Click on an editable cell (such as the Value field) to edit it.
The cell will be outlined and the data selected in edit mode.
3. Type in the desired new value for the field.

Note The Value must be within the range of the High and Low Limit values
defined for the parameter in the process model database.

Note If you press the Enter key after typing the new value, the Recipe Editor will
move down the column until the next editable cell is found. This cell will
automatically go into edit mode. This facilitates quick entry of formula parameters

Edit/Recipe States
Use the Edit/Recipe States menu to access the Edit Recipe States window.
198 Chapter 7

Recipe states are defined on a global basis throughout the entire recipe management
system and are available for every recipe created. Examples of Recipe States might
include Test, Production and Archive.
Recipe States consists of Name (16-char max) and an optional description. All
recipes must contain a State assignment in order for the recipe to be valid.

To Edit a Recipe State:


1. On the Recipe Editor menu, click Edit and then select Recipe States.
2. The Edit Recipe States window will be displayed.

3. Select the required State from the list.


4. In the Name text box, enter a name for the State.
5. In the Description box, enter text describing the state (optional).
6. Enable the Default, Schedule and Read Only check boxes as required.
Any of the available states can be selected as the default. The assignment of a
default state to a recipe is optional and will not prevent validation or approval
of a recipe. However, once it is set as the default, it is automatically assigned to
all new recipes. Enabling the Schedule check box will allow the recipe to be
scheduled for execution by the batch system. Enabling the Read Only check
box will prevent saving of the recipe during editing.
7. Click Add if you creating a new State or click Change if you are editing an
existing State.

Edit/Recipe Types
Use the Edit/Recipe Types menu to access the Edit Recipe Types window.
Recipe Types are defined on a global basis throughout the entire recipe
management system and are available for every recipe created.
Recipe Editor 199

To Edit a Recipe Type:


1. On the Recipe Editor menu, click Edit and then select Recipe Types.
2. The Edit Recipe Types window will be displayed.

3. Select the required Type from the list.


4. In the Name text box, enter a name for the type (16-char max).
5. In the Description box, enter text describing the type (optional).
6. Enable the Default check box if you want to set the current Type as the default.
The assignment of a default Type to a recipe is optional and will not prevent
validation or approval of a recipe. However, once it is set as the default, it is
automatically assigned to all new recipes.
7. Click Add if you creating a new Type or click Change if you are editing an
existing Type.

View Menu
Use the Recipe Editor View menu to show or hide toolbars, change the
magnification (zoom-in or zoom-out) of the unit procedure display and show or
hide the unit procedures window, status bar, and main toolbar.

View/Main Toolbar
To view the Main Toolbar:
Click View and then enable the Main Toolbar menu item.
200 Chapter 7

View/Unit Procedure Toolbar


To view the Unit Procedure Toolbar:
Click View and then enable the Unit Procedure Toolbar menu item.
You can also use the Show/Hide Unit Procedures View icon on the main
toolbar.

View/Status Bar
To view the Status Bar:
• Click View and then enable the Status Bar menu item.

View/Unit Procedure View


Use the View/Unit Procedure View menu item to show or hide the Unit
Procedures pane and toolbar.

View/Unit Procedure Zoom In


To Zoom In on Unit Procedures:
Click View and then select Unit Procedure Zoom In to increase the displayed
size of objects in the recipe unit procedure pane.
You can also use the Unit Procedure Zoom In icon in the Unit Procedures
Toolbar.

View/Unit Procedure Zoom Out


To Zoom Out on Unit Procedures:
Click View and then select Unit Procedure Zoom Out to increase the
displayed size of objects in the recipe unit procedure pane.
You can also use the Unit Procedure Zoom Out icon in the Unit Procedures
Toolbar.

Help Menu
The Recipe Editor Help menu contains commands that provide you with access to
the online help system and information regarding product version.
Recipe Editor 201

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Recipe Editor.

Help/About Recipe Editor


Use the Help/About command to view product version information.

Building a Recipe Procedure


A Recipe Procedure defines the sequence in which unit procedures will be executed
when the recipe is scheduled and executed by the batch management system. Use
the Recipe Editor window to create the recipe’s sequence of events. An overview
of the Recipe Editor window and all of the major components is shown below.
Each of these items is described in more detail in this section.

Procedure Layout
The Recipe Editor Procedure area consists of the Unit Procedures pane and the
Unit Procedures Toolbar.

Unit Procedures Pane


The Unit Procedures pane is used to layout the sequence of user-defined unit
procedures that are executed when the recipe is scheduled as part of a batch. Each
unit procedure contains all the formula parameters defined for it in the process
model.
202 Chapter 7

The data shown in the Unit Procedure parameter grid can be arranged by a user
according to preference. These features are described as follows.
• The columns of the grid can be sorted ascending or descending by clicking
the column header. An arrow next to the name of the column will indicate
the sort order.
• An option of the context menu (right click) exists to unsort the parameters,
this will put the parameters in the original order.
• If the user is editing a cell and presses enter to save the changes, the same
cell in the next row will be automatically set to edit mode (if it can be
edited).
• A right click menu exists for the grid which provides options to hide and
show individual columns.
• Columns can be arranged to the user’s preference by clicking the column
header and dragging the column to the desired location.
• Columns can be resized to the user’s preference. Note, a minimum width
of the columns is enforced.
• To hide a column completely, the user must right click and hide that
column.
• Column widths, column ordering and sort settings can be saved so that the
next time Recipe edit is started, these settings and automatically applied.
This is done by selecting the Save View Settings from the File menu.
Recipe Editor 203

Unit Procedures Toolbar

Add Unit Procedures


The Add Unit Procedures icon is used to enter a user-defined unit procedure.
The unit procedure name and the associated process instance name are
displayed on the object. Only one Unit Procedure can be added per process
class.

Add Unit Procedure Transition


The Add Unit Procedures Transition icon is used to enter a transition logic
object.

Add Unit Procedure Branch


The Add Unit Procedures Branch icon is used to enter a branch object.

Add Unit Procedure Loop


The Add Unit Procedures Loop icon is used to enter a loop object.

Cut Unit Procedure


The Cut Unit Procedure Object icon is used to remove an object from the
Unit Procedure pane and store it in the Windows clip board.

Copy Unit Procedure


The Copy Unit Procedure Object icon is used to copy an object.
204 Chapter 7

Paste Unit Procedure


The Copy Unit Procedure Object icon is used to paste an object.

Delete Unit Procedure Object


The Delete Operation Object icon is used to delete an object.

Undo
The Undo icon is used to undo the most recent change.

Note There is only one level of undo available. Undo is only applicable to the
creation and deletion of objects.

Zoom In
The Zoom In icon is used to enlarge the Unit Procedure pane. There are 10
levels of magnification available.

Zoom Out
The Zoom Out icon is used to reduce the sequence of operations display.
There are 10 levels of reduction available.

Recipe Procedure Mechanics


The following section describes the general steps for creating a recipe procedure.

Inserting Procedure Objects


The Unit Procedures pane of the Recipe Editor window utilizes a cursor which is
displayed as a grey rectangle. Whenever you add an object, it is always inserted
below the cursor. When you insert an object always position the cursor immediately
above the location of where the object is to be inserted. The only exception to this
guideline occurs when a Branch is expanded beyond the default size. In this case,
the insertion of the additional branches is made to the right of the last leg of the
branch.
Recipe Editor 205

To Insert a Unit Procedure:


1. On the Unit Procedure toolbar, click the Add Unit Procedure icon.

2. The Add Unit Procedure window will appear.

The Process Instances 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 “Equipment
Requirements” in this section.
3. Select a Process Instance from the list.
4. Click OK. The Select Unit Procedure window will appear.

5. Select a Unit Procedure from the list.


6. Click OK to insert the selected unit procedure into the recipe procedure.
206 Chapter 7

Transition Objects
Use the Add Unit Procedure Transition icon to insert a transition object into the
procedure sequence beneath the current location of the cursor.

Transition objects control the execution of a procedure. Transition Logic consists of


an expression that is evaluated by the batch management system when the object is
encountered. The result of an expression is Boolean. If the result is FALSE, then
execution stops at the transition. If the result is TRUE, then the procedural elements
following the transition are executed. There is no limit on the number or transition
objects in a procedure.

To Insert a Transition Object:


1. In the Recipe Editor window click the Unit Procedure below which you want
to add a transition.
2. Click the Add Unit Procedure Transition icon for the Unit Procedure that
you selected.

The Transition will be added to the procedure.


3. Double-click the Transition object.
The Transition Properties window will appear.
You can also insert an operation by double-clicking the unit procedure object,
and then clicking the Add Unit Procedure Transition icon. This will insert
the transition object and then immediately open the Transition Properties
window.
Recipe Editor 207

4. On the Transition tab, enter a Label (8 char max), Name (16 char max) and
optional Description (120 char max).
When a transition is added, it is automatically assigned a unique Label
(numeric value). The Name is initially the same as the Label. You can edit
these as required. The Label however, must be unique. If it is not, a warning
message will be displayed.
5. On the Expression tab, click the Expression button.
6. The Expression Editor window will appear.
208 Chapter 7

Use the Expression Editor to construct transition expressions. You can build
expressions using pre-defined functions. Several examples of valid expressions
are shown in the following tables.
For more information on building expressions, see Chapter 14, "Expression
Editor." of this User’s Guide.
7. After you have entered the required expression, close the Expression Editor
window.
8. On the Transition Properties window, click Close.

Transition Expression Examples

Expression Result
Ask(“Continue?”) A question will be displayed to the operator. The result is TRUE if the
Operator answers Yes. The result is FALSE if Operator answers No.
AskDoneBy(“Continue?”) Same as the Ask question except that the question can only be
answered by a user with the proper security clearance.
AskCheckBy(“Continue?”) Same as the Ask question except that the question can only be
answered by a user with the proper security clearance, and the question
must be verified by another qualified user.
WaitSec(s) Batch execution will be delayed the specified amount of seconds.
WaitMin(m) Batch execution will be delayed the specified amount of minutes.
WaitHour(h) Batch execution will be delayed the specified amount of hours.
Recipe Editor 209

Note When entering questions, you are limited to 40 characters. The Expression
Editor will allow you to enter more than 40 characters. However, during execution,
the entry will be truncated and only the first 40 characters will be displayed.

Branch Objects
The Add Unit Procedure Branch icon inserts a branch object into the procedure
sequence beneath the current location of the cursor.

Branch objects are used to execute multiple unit procedures at the same time, or to
make a choice between running one of several unit procedures. There is no limit to
the number of branch objects that you can use in a procedure.
: All and One.

To Insert a Branch Object:


1. In the Recipe Editor window click the Unit Procedure to which you want to
add a branch.
2. Click the Add Unit Procedure Branch icon.

The branch will be added to the procedure.


3. Double-click the Branch.
The Branch Properties window will appear.
You can also insert a branch by double-clicking a unit procedure object, and
then clicking the Add Unit Procedure Branch icon . This will insert the
branch object and then immediately open the Branch Properties window.
210 Chapter 7

4. In the Branch Size text box, enter the number of branches you want to add
(max of 20).
While you are limited to 20 branches, you can nest branches for added
flexibility. By default, the Branch Size is 2.
5. Click the Execute Type drop-down arrow and select All or One.
For more information on Branch Types, see Branch Execute Types in this
section.
6. Click Change and then Close.
7. The branch will be inserted into the recipe procedure.

Note Branches cannot be added around an existing unit procedure. However, you
can add a branch object and then drag-and-drop objects into a branch object.

Branch Execute Types

Use the Execute Type: All branch object when simultaneous execution of unit
procedures is required. The batch management system evaluates the branch
beginning with the left-most leg. If the transition logic is TRUE or if there is no
transition logic, then that leg will be executed. Any transitions that are not on the
first iteration, are continuously evaluated until their state becomes TRUE and all
legs are executed. The batch management system will not continue beyond the
Branch Return object until all of the legs have been executed.
The Execute All Branch object is graphically displayed as two parallel horizontal
lines.
Recipe Editor 211

Note Batch Manager will not continue past the Branch Return object until all
transition logic and unit procedures in all of the legs are executed. Therefore, when
constructing procedures you must ensure that all of the legs associated with the
Execute Type: All branch can be executed.

Execute Type - One


Use the Execute Type: One branch object when the execution 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,
unit procedures in the branch will be executed. All other branches will be ignored.
If all of the legs of a branch have transition logic that is FALSE, the batch
management system will continue the evaluation of each transition until one of the
legs changes to a state of TRUE.
The Execute One Branch Object is graphically displayed as a single horizontal line.

Loop Objects
The Add Unit Procedure Branch icon inserts a loop object into the procedure
sequence beneath the current location of the cursor.
212 Chapter 7

Loop objects are used to re-execute unit procedures that are built inside of the
object. Any procedure object, including other loops, can be placed inside a loop
structure
Objects are inserted within the loop by positioning the cursor on the top portion of
the object and following the normal insertion directions described earlier. The
bottom portion of the loop object contains a transition object that must be defined
with the Expression Editor. The result of the evaluation of the expression
determines whether the objects contained within the loop are re-executed or not. If
the expression is TRUE, loop execution returns to the top of the loop. If the
expression is FALSE, then execution proceeds below the loop.

To Insert a Loop Object:


1. In the Recipe Editor window click the Unit Procedure to which you want to
add a branch.
2. Click the Add Unit Procedure Loop icon.

The loop will be added to the procedure.


3. Double-click the lower portion (transition) of the loop object.
4. The Transition Properties window will appear.
For more information on using the Transition Properties window, see
Transition Objects earlier in this section.
5. Define the transition using a unique Label (8-char max), Name (16-char max),
an optional description (120-char max), and an Expression.
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 Chapter 14, "Expression
Editor.".

Note You cannot add a loop around an existing unit procedure. However, you can
drag-and-drop existing objects into a loop object.

Cutting and Copying Procedure Objects


Use the Cut Unit Procedure Object icon to cut objects from the procedure.
Cutting a unit procedure is done by simply selecting the object and then clicking the
cut icon. 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.
Recipe Editor 213

To Cut or Copy a Procedure Object:


1. Single-click the procedure object that you want to cut or copy.
2. Click the Cut or Copy icon.

To Cut or Copy a Loop including its Procedure Object:


1. Single-click the transition object (lower portion) of the loop that you want to
cut or copy.
2. Click the Cut or Copy icon.
The loop itself, including all transition logic, and any other objects within the
loop are included.

To Cut or Copy a Loop without its Procedure Object:


1. Single-click the entry point of the loop (denoted by arrowhead) that you want
to cut or copy.
2. Click the Cut or Copy icon.
Only the loop (including the transition object and any associated transition
logic) is copied. If you performed a Cut, the object that was previously
associated with the loop remains in the procedure, but no longer has transition
logic associated with it.

To Cut or Copy a Branch:


1. Single-click the top of the leg of the branch that you want to cut or copy.
2. Click the Cut or Copy icon.
All of the procedure objects, loops, transition logic and other branches that are
in the selected leg are included.

Pasting Procedure Objects


Use the Paste Unit Procedure Object icon to paste objects into the procedure
sequence. Pasting a unit procedure is done by simply selecting the insertion point
within the procedure and then clicking the paste icon. 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 entry or exit point of the loop
before you paste. Otherwise you may not achieve the result that you expected.

To Paste a Procedure Object:


1. Single-click the point in the procedure where you want to insert the object.
2. Click the Paste icon.

To Paste Objects into a Loop:


1. Single-click the entry point (top) of the loop you want to paste into.
2. Click the Paste icon.

To Paste Objects after a Loop:


1. Single-click the transition object (bottom) of the loop you want to paste into.
214 Chapter 7

2. Click the Paste icon.

To Paste Objects into a Branch:


1. Single-click the leg of the branch or existing object within the branch in which
you want to paste.
2. Click the Paste icon.

To Paste Objects after a Branch:


1. Single-click the exit point of the branch.
2. Click the Paste icon.

Deleting Procedure Objects


Use the Delete Unit Procedure Object icon to remove objects from the procedure
sequence. Deleting a unit procedure, branch, loop, or transition object is done by
selecting the object and then clicking the delete icon. The Undo icon can be used to
undo the most recent deletion.

Use the examples provided to understand the effects of deleting objects.

Note Use the Undo icon to undo the most recent deletion. Only one level of undo
is provided.

To Delete a Unit Procedure or Transition Object:


1. Single-click the object that you want to delete.
2. Click the Delete icon.

To Delete a Branch Leg:


1. Single-click the top of the branch object that you want to delete.
2. Click the Delete icon.

To Delete the Entire Branch


1. Single-click the bottom of the branch object that you want to delete.
2. Click the Delete icon.
Recipe Editor 215

To Delete a Loop
1. Position the cursor on the Loop Return object of the loop that is to be deleted.
2. Click the Delete icon.

Moving and Nesting Procedure Objects


Unit Procedure and Transition objects can be dragged-and-dropped into the
procedure. This enables recipe procedure changes to be made quickly and easily.
For example, if you forget to add a branch, simply add a new branch and then drag
any existing unit procedures into the appropriate legs. The Recipe Editor also
allows you to nest Branch and Loop objects to create more complex procedures.

Unit Procedure Properties


Use the Unit Procedure Properties window to edit the properties of any unit
procedure object.

To Edit Unit Procedure Properties:


1. Double-click an the unit procedure object.
2. The Unit Procedure Properties window will appear.
216 Chapter 7

The Unit Procedure Properties Window originally displays the Execution


tab.

Execution Tab
Use the Execution Tab to configure how the unit procedure will interact with the
batch system and operators.
1. In the Label field, enter a unique name.
By default, the Label is automatically assigned (as a unique numeric value)
when the unit procedure is created in the procedure.
2. If you want to generate an end of unit procedure report, click the Report
button, and select a report from the list.

Note You can select one report.

Reports that appear in the list are located on the Information Server. You can
manually enter the name of a report in the Report text box; however, you must
ensure that the report exists on the Information Server. Report names are not
validated as a part of the recipe validation.

For more information on reports, see Chapter 11, "Reporting System." in this user’s
guide.

When an Information Server is installed, all reports are (by default) are located in
C:\Program Files\FactorySuite\InBatch\BatchInfoServer\Crystal folder. If the
Information Server is installed on a different drive, then the report path must be
edited using the Administration Web page. Users must take this into consideration
as recipes which include reports are created and edited. Otherwise, report execution
may fail at run time.

For more information on changing the report path, see Chapter 22, "System
Administration." in this user’s guide.

3. The Desc field, (Read-Only) displays the Unit Procedure description.


4. In the On Entry pane, enable the Acknowledge, Done By and Check By
check boxes as required.
Acknowledge – Enable this check box if you want to require an operator to
press the acknowledge button.
For more information on the Batch Display, see Chapter 9, "Batch
Management System.".
Done By - Enable this check box if you want to require an operator, or person
with a comparable security level, to verify the start of the unit procedure.
During recipe execution, the option requires the operator to press the
acknowledge button on the Batch Display and then enter their security
identification number and password before the unit procedure is started.
Enabling Done By automatically enables the Acknowledge check box.
Configuration of the appropriate Done By security levels is performed in the
Security Editor.
Recipe Editor 217

Check By - Enable this check box if you want to require an operator and the
supervisor, or person with a comparable security level, to verify and confirm
the start of the unit procedure. During recipe execution, the option requires the
operator 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 unit procedure is
started. Enabling Done By automatically enables the Acknowledge check box.
Configuration of the appropriate Check By security levels is performed in the
Security Editor.
For more information on the configuring security, see Chapter 13, "Security
System.".
5. In the On Exit pane, enable the Acknowledge, Done By and Check By check
boxes is required.
Acknowledge - Enable this check box if you want to require an operator to
press the acknowledge button prior to the end of the unit procedure. The
Acknowledge command button is part of the Batch Display.
For more information on the Batch Display, see Chapter 9, "Batch
Management System.".
Done By - Enable this check box if you want to require an operator, or person
with a comparable security level, to verify the end of the unit procedure.
During recipe execution, the option requires the operator to press the
acknowledge button on the Batch Display and then enter their security
identification number and password before the unit procedure can end.
Enabling Done By automatically enables the Acknowledge check box.
Configuration of the appropriate Done By security levels is performed in the
Security Editor.
Check By - Enable this check box if you want to require an operator and the
supervisor, or person with a comparable security level, to verify and confirm
the end of the unit procedure. During recipe execution, the option requires the
operator 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 unit procedure ends.
Enabling Done By automatically enables the Acknowledge check box.
Configuration of the appropriate Check By security levels is performed in the
Security Editor.
For more information on the configuring security, see Chapter 13, "Security
System." of this User’s Guide.
6. In the Comment pane, enable the Required check box if you want to require
the entry of operator comments during unit procedure execution.
This will cause the Edit Comment button to be displayed on the Batch Display
and will pause recipe execution until the entry is completed.
For more information on the Batch Display, see Chapter 9, "Batch
Management System." of this User’s Guide.
7. In the Execution pane, enable the Continue Mode check box if you want the
batch management system to allow recipe execution to continue when a Run
status is received from the unit procedure.
If Continue Mode is disabled, recipe execution will not continue until a Done
status is received from the unit procedure.
218 Chapter 7

For more information on the batch management, see Chapter 9, "Batch


Management System." of this User’s Guide.
8. Click Change and then Close.

Document Tab
Use the Document tab to assign the file name of a document or program that you
want operators to view and optionally acknowledge as part of a unit procedure’s
execution. Acknowledgment can be specified to occur at the start of the unit
procedure (On Entry) or as the last step (On Exit) of the unit procedure. When the
unit procedure executes, Windows will launch a program based on the file
extension. For example, if the extension is “.html,” Windows could launch a
browser.

Note The program that is launched is based on Windows settings.

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 material 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_Safety.html.”

Note If you are using batch clients in your system, and intend to execute a recipe
that uses the Document Viewing feature, make certain that each client is properly
configured to access the document. One way to ensure this is to place all of your
document files in a folder that is shared for your client systems.

Actual document viewing and acknowledgment is a function of the View Doc and
View Doc Ack buttons on Batch Display.
For more information on the Batch Display, see Chapter 9, "Batch Management
System." of this User’s Guide.
On Entry - Enable this radio button if you want to require an operator and/or
supervisor, or person with a comparable security level, to verify and confirm
viewing of the document as the first step of the unit procedure. During recipe
execution, the option requires the operator to press the View Doc and View Doc
Ack buttons 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 unit
procedure. Configuration of the appropriate Done By and Check By security levels
is performed in the Security Editor.
Prior To Edit - Enable this radio button if you want to require an operator and/or
supervisor, or person with a comparable security level, to verify and confirm
viewing of the document as the last step of the unit procedure. During recipe
execution, 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 unit
procedure. Configuration of the appropriate Done By and Check By security levels
is performed in the Security Editor.
Recipe Editor 219

For more information on the configuring security, see Chapter 13, "Security
System." of this User’s Guide.

Viewing Documents on Clients


If you are using batch clients in your system, and intend to execute 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.
220 Chapter 7
Train Editor 221

C H A P T E R 8

Train Editor

Use Train Editor to create and edit lines of production that will be used when you
schedule batches.

Contents
• Overview
• Using Train Editor
• Assigning Units to Trains
• Assigning Attributes to Trains

Overview
Use the Train Editor to create lines of production that are assigned to scheduled
batches. The batch management system is responsible for scheduling and executing
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 execution. If a unit is not in the assigned
train, then it is not available to be used for the scheduled batch.
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 process model database. The Train Editor writes
to both the configuration process model database and the runtime process model
database. Trains can be added at any time during batch system execution.
222 Chapter 8

Using Train Editor


Use Train Editor to create the trains that are available to the batch scheduling
system. A train consists of one or more units. The batch system does not impose a
limit on the number of trains that you can create, or the number of units that you can
assign to a train. Also, a unit can belong to more than one train. A train consists of a
Name (16-char max) and an optional Description (120-char max). The editor
verifies all new train names to ensure uniqueness. You can also assign Attributes to
further define a Train. Attributes consist of a Name (16-char max), a Value (16-
char max) and a predefined Unit of Measure. Attributes can be used by Advanced
Planning and Scheduling (APS) interfaces for train scheduling.

To Start Train Editor


1. In the Environment Display, double-click the TrainEdit icon.

The Train Editor window will appear.


Train Editor 223

Note Only one instance of the Train Editor can be running. You cannot start Train
Editor if the Process Modeling Editor or Tag Linker application is running.
224 Chapter 8

File Menu
Use the File menu to access system functions for Train Editor.

File/Print
Use this command to display the Print window. The Print window contains a
Select Reports list box with several pre-formatted reports. It also allows you to
output to a printer or a file, as well as select the number of copies that you want to
print.

File/Print Preview
Use this command to display the Select Reports window.
Train Editor 225

Select the report(s) that you want in the list. If you want to preview several reports,
press and hold the Control (or shift) key while selecting.

File/Print Setup
Use this command to display the Print Setup window. Refer to your Windows
documentation for more information.

File/Exit
This command is used to close the Train Editor.

Note All of your work is saved in the configuration process model database and
the runtime process model database as you edit and make changes to the trains.
Therefore, you do not have to be concerned with saving your work.

Help Menu
The Train Editor Help menu contains the commands that are used to access the
main help screen, and information about the version and licensing of the
application.

Help/Help Topics
Use this command to display online help for Train Editor.

Help/About Train Editor


Use this command to view version and license information.

Assigning Units to Trains


A train can be created at any time during the execution of the batch system. The
following steps are necessary to create trains.

To create a Train or Add Units to a Train:


1. In the Train Editor window, define a train Name (16-char max) and an
optional Description (120-char max).
2. Click Add.
The train will be added to the Trains list.
3. Click Assign Units.
The Assign Units to Train window will appear.
226 Chapter 8

4. Select the appropriate units from the list and then click OK or Apply to add the
units to the train.

To Delete Units from a Train:


Click Assign Units and then de-select the unit(s) that you want to remove.

Assigning Attributes to Trains


You can assign attributes to a train to facilitate the scheduling of trains using an
external Advanced Planning and Scheduling (APS) system.

To add Train Attributes:


1. In the Train Editor window, select the Train that you want to assign
Attributes to.
2. In the Attributes pane, click Add.
The Add Attribute window will appear.

3. Select or enter an attribute Name (16-char max).


4. Enter a Value (16-char max)
5. Select a Value Type.
Train Editor 227

6. Select a Unit of Measure (optional) from the drop down list.


Each Unit of Measure in the list is assigned using the Process Modeling
Editor.
7. Click Add.
The train attribute will be added to the Trains list.
228 Chapter 8
Batch Management System 229

C H A P T E R 9

Batch Management System

The Batch Management System consists of scheduling, initializing, coordinating


the execution 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
Display and Batch Manager applications. By applying these applications, you will
achieve a flexible, reliable, and intuitive solution to managing all of your batch
processes.

Contents
• Overview
• Using Batch Scheduler
• Configuring Batch Scheduler
• Using Batch Schedule with Optimization Software
• Using Batch Display
• Starting Batch Manager
• Batch Execution
• Warm Restart
230 Chapter 9

Overview
Scheduling: Batch Scheduler prepares the batches to be executed. Scheduling
involves the manual entry of the batch identification, master recipe identification,
quantity to be produced, and Train identification into the schedule window. Once
entered, the batch can be initialized.
Initialization: Each batch must be initialized before it can be executed. The
initialization process involves validation of the recipe, verifying that the Train
exists, the bulk materials defined in the recipe are found in the Materials database,
the recipe equipment requirements are satisfied by the Train, and the Process Model
database is compatible with the recipe. Initialization is performed using Batch
Scheduler.
Batch and Unit Management: Batch Manager directs and supervises the
execution of each batch. Batch Manager is a recipe interpreter and control system
enabler. Based on the recipe procedure, a block of control software, referred to as
unit control logic, is signaled to execute by Batch Manager. Unit control logic is a
programmed logic block existing in the control system. It is responsible for
controlling all functions associated with a unit. Prior to enabling each unit
procedure, Batch Manager verifies that the unit control logic is ready to be
executed. If so, parameter values are downloaded to the unit control logic and the
unit procedure is started.
Batch Manager also interfaces with the Batch Display application. Batch Display
provides operators with information on all batches running in the system. Using this
display, operators can put a batch or unit procedure in hold, restart and abort
batches or unit procedures, and change the batch execution mode. Batch Manager
also has a Jump Mode that allows the execution point of an active batch that is in
hold to be changed. Operators can use this feature to either jump ahead during
recipe execution or repeat unit procedures that have already executed. In addition,
operators can change parameter values, acknowledge the execution of unit
procedures, review interlock status, and enter comments. All of these can be done
while a batch is executing.
Batch Manager coordinates the usage of process units for each batch. Each batch is
a separate entity and contends along with other batches to own the process unit(s) it
needs. Batch Manager assigns (Allocates) ownership of units to batches as units
become available and releases (Releases) units when no longer required by the
batch.
Flexible batch control systems must be designed with the supervisory workstation
being an active participant in the execution of a batch. The reason for this is that
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 interpreting
and executing complex recipe procedures.
A Master Recipe uses classes of process units, not specific units. This means a unit
procedure pertains to a class of units, not a specific unit. When Batch Manager
executes a Master Recipe, each unit procedure encountered is mapped to a specific
unit. 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. Batch
Manager automatically converts the Master Recipe to a Control Recipe based on
the units in the Train and whether or not they are available.
Batch Management System 231

Once a batch is done, the operator has the option of saving the As-Built recipe to
the recipe database. 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-executed at a later date.
History: Batch Manager captures all batch execution events and operator activity
during the execution of a batch and sends this information to the historical database.
For more information on the data that is stored and the format in which it is stored,
see Chapter 10, "History System.".
Only one instance of Batch Manager can be active in your batch management
system. There are no restrictions on the number of Batch Runtime Clients that you
can have in a system. Batch Manager interfaces with several databases as well as
with the clients. The interaction is described below.
• Master Recipes are retrieved from the Recipe Database (RecipeDB) when a
batch is initialized.
• The Process 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 Batch
Manager when materials are used and when materials are produced.
• All batch execution events and operator activity are logged to the Historical
Database.
• Batch Scheduler manipulates the Batch Database through Batch Manager.
Several Batch Schedulers can be running in a system, but there is only one
schedule database.
• Batch Runtime Clients and Batch Display provide a window into Batch
Manager. From these, operators can select a batch, start a batch, put a batch in
hold, restart a batch, and abort a batch. All information needed to monitor and
interact with the process during the execution of a batch is provided.
• Batch Manager interacts with Unit Control Logic (Unit Procedures) located
in the control system. As each unit procedure is to be executed, Batch Manager
checks if the unit control logic is ready. If the unit status is ready, all configured
parameter values are written to the unit control logic, then the unit is started.
When the unit completes its task, it informs Batch Manager by setting the
Done status. Batch Manager responds by enabling the Reset command and
returning the unit status to Ready.
232 Chapter 9

Batch Management Diagram

Using Batch Scheduler


Use Batch Scheduler to manually schedule and dispatch batches that will be
executed by Batch Manager. Batch Scheduler is not designed to optimize a
schedule. The batch database can be accessed by external scheduling applications
such as those that utilize the Batch ActiveX controls.

Note Batch Manager must be running prior to the start of Batch Scheduler.

Starting Batch Scheduler


Batch Scheduler is started from the Batch Server Environment Display or from a
runtime client. The runtime operation is the same regardless from where Batch
Scheduler is started.
1. From the Environment Display, double click the BatchSched icon

The Batch Scheduler window will appear.


Batch Management System 233

Use this window to schedule, initialize and monitor batches. Use the menu or the
toolbar to access system functions and options for Batch Scheduler.

File Menu
Use this menu to access system functions for Batch Scheduler.

File/Print
Use this command to display the Print window which allows you to setup your
print device, assign one or more reports, and then print to the selected device.
234 Chapter 9

File/Print Preview
Use this command to select one or more reports and then preview the report(s) on
the screen will cause the Select Reports window box to appear.

File/Print Setup
Use this command to setup your print. Refer to your Windows documentation for
more information.

File/Exit
Use this command to close Batch Scheduler.

Edit Menu
Use this menu to access commands that you can use to modify the schedule list in
Batch Scheduler. Complementary toolbar buttons also provide the same capability
as the menu item. The toolbar button icons are shown below.

Edit/Delete
Use this command to removes the selected batch from the schedule. Only batches
with a status of Open, Ready, Done, or Aborted can be deleted. A message box will
be displayed requiring confirmation of the deletion.
This option is also available from the Delete button in the toolbar

.
Batch Management System 235

Edit/Cleanup
Use this command to remove all of the batches from the schedule list that have a
status of Done or Aborted. It is recommended that you use this command on a
regular basis, to minimize the size of the Batch Scheduler list.
This option is also available from the Cleanup button in the toolbar.

Edit/Move Up
Use the Move Up command to move the selected batch one row toward the top of
the schedule list. This option is typically used in conjunction with the Execute in
Order option to sequence the scheduled batches for production.
This option is also available from the Move Up button in the toolbar.

Note If you sorted the Batch Schedule list using the Filter option, batches will be
executed in the order defined by your sort preferences. In this case, Move Up
option is not available.

Edit/Move Down
The Move Down command will move the selected batch one row toward the
bottom of the schedule list. This option is typically used in conjunction with the
Execute in Order option to sequence the scheduled batches for production.
This option is also available from the Move Down button in the toolbar.

Note If you sorted the Batch Schedule list using the Filter option, batches will be
executed in the order defined by your sort preferences. In this case, the Move
Down option is not available.

View Menu
Use this menu to access the commands that allow you to sort the batch schedule list,
display error messages, and enable or disable Batch Scheduler's status bar.

View/Batch Editor
Use this command to edit existing batches or to add new batches to the schedule
list.
236 Chapter 9

View/Undo Sorting
Use this command to undo any sorting that you applied to the Batch Schedule list.
By default, batches are listed in the order that they were initially scheduled.

View/Filters
Use this command to display the Schedule Filters window.

The Schedule Filters window will appear.

CLB
Use the CLB tab to sort the list of scheduled batches based on any combination of
campaign, lot and batch.

Recipe
Use the Recipe tab to sort the list of scheduled batches based on any combination
of Recipe IDs, Types and States.
Batch Management System 237

Train
Use the Train tab to sort the list of scheduled batches based on one or more train
assignments.

Mode/Status
Use the Mode/Status tab to sort the list of scheduled batches based on any
combination of batch execution mode and status.
238 Chapter 9

View/Errors
Use this command to view the Errors window. The Errors lists all of the batch
errors that are associated with the list of scheduled batches.

View/Toolbar
Use this command to enable or disable Batch Scheduler’s toolbar.

View/Status Bar
Use this command to enable or disable Batch Scheduler’s status bar.
Batch Management System 239

Initialize Menu
The Batch Scheduler Initialize menu contains the commands that you will use to
prepare the scheduled batches for execution.

Initialize/Batch
Use this command to initialize the selected batch. The command is not available
unless the selected batch has an Open status.

Initialize/All
Use this command to initialize all of the batches in the schedule that have an Open
status.
The initialization process performs the following checks to ensure that the batch
can be properly executed.

Recipe Verification
Verifies that the recipe assigned to the batch exists. If the recipe does not exist, an
error is displayed. The recipe must be created or another recipe must be assigned to
the batch.

Recipe Validation
The recipe assigned to the batch is validated with the process model database and
the materials database. If the recipe is not valid, an error is displayed. The recipe
must be changed, or the process model database and/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
is displayed. 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 displayed if either of these 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.
240 Chapter 9

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 quantity is less than the minimum batch size, an error is
displayed. The quantity assigned to the batch or the recipe minimum batch size
must be changed.
When the batch has been successfully initialized, the status will change from Open
to Ready. A selected batch can be “un-initialized” by clicking on the Change
button. The batch status will change from Ready to Open. This can only be done to
batches that are Ready.
In this example, the recipe requires a transfer from Process Class A to Process Class
C. The recipe will initialize properly on either Train 1 or Train 2, but will not
execute properly on Train 2. The reason for this is that although Train 2 has the
correct units, these units are not connected together in the same way.

Process Class A
Unit 1 Unit 4

Process Class B
Unit 2 Unit 5

Process Class C
Unit 3 Unit 6

Train 1 Train 2

Therefore, it is extremely important, when multiple paths are possible through a


train, to determine if the recipe will execute properly for all possible paths. If not, a
change in the train must be made.
Batch Management System 241

Options Menu
Use the Batch Scheduler Options menu to access commands that you can use to
modify the execution of batches in the schedule list.

Options/Execute in Order
Use this command to enable or disable the Execute in Order mode. When
disabled, batches can be randomly selected and started. When enabled, batches can
only be started for each train in the order in which they are displayed in the
schedule.

Note If you sorted the Batch Schedule list using the Filter option, batches will be
executed in the order defined by your sort preferences. In this case, the Execute in
Order option is not available.

Help Menu
The Batch Scheduler Help menu contains the commands that are used to access the
main help screen, and information about the version and licensing of the
application.

Help/Help Topics
Use this command to access Batch Scheduler’s online help system.

Help/About Batch Scheduler


This command is used to view version information.

Defining a Batch
A batch is defined by a Campaign ID (16-chars max), Lot ID (16-char max),
Batch ID (16-char max), Recipe, Quantity (8-char max), Train, and Mode of
operation. The scheduler will verify all new batch names to ensure validity and
uniqueness.

Batch Identification
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. The Batch ID
must be entered manually by an operator. It is not necessary to use all three of the
identification fields. The Campaign field is required. The Lot and Batch fields are
optional.
242 Chapter 9

All historical information about a batch is logged to history using the batch
identification. If the batch identification is not unique, duplicates can exist in the
historical database. Batch Scheduler will only verify that the batch identification is
unique among the batches currently in the schedule window. Batch Scheduler does
not verify that the identification for a batch is unique throughout the history
database.

Recipe Assignment
The Recipe button displays the Recipes window.

A recipe can be selected by double-clicking a list item. The list contains the recipes
in the recipe database that have been Approved For Production or Approved For
Test. You can use the Find button to search for a specific recipe in the database.
The find options allow you to search All of the recipes, or select a recipe based on
Recipe ID, Name, State or Type. Use the Filter button to filter recipes based on
their ID, Name, State or Type. After you select a recipe, it appears in the Recipe
field of the Batch Scheduler window.
Recipe filtering is only applied when the Recipes window is open, and you have
defined specific filtering criteria. When you close the Recipes window, any
previous filtering criteria is no longer applicable.

Quantity Assignment
The Quantity field defines the size of the batch to be produced. The Quantity must
be manually entered by the user. Input and Output quantities that have been
specified as percentages in the selected recipe are automatically scaled to the
appropriate actual quantities based on the batch size entered.

Train Assignment
The Train button displays the Trains window. A train can be selected by double-
clicking on the desired entry in the list. The selected train name will be displayed in
the train field of the Batch Scheduler window.
Batch Management System 243

Batch Execution Mode


Use the Mode combo-box to define the mode of batch operation when the batch is
started. There are three modes of execution available for starting batches:
Automatic, Semi-Automatic, and Manual. The mode can be changed at any time
during batch execution from the Batch Display application. More information
concerning changing batch modes is presented in a later section.

Mode Description
Automatic The recipe procedure is executed exactly as defined in the recipe.
Semi-Automatic Each unit procedure must be acknowledged by the operator before it is
executed. Prior to acknowledging the unit procedure, parameter values can
be edited.
Manual Any unit that is allocated to the batch can have it’s control logic manually
executed.

For more information on dynamically changing the batch mode, see Batch
Execution Modes in this section.
244 Chapter 9

Status
Each batch in the schedule list has a Status. The status shows the current state of
the batch. There are nine possible statuses as shown here.

Status Description
Open Batch has been added to the schedule list, but has not been initialized.
Ready Batch has been successfully initialized.
Run Batch has been started and is running.
Held Batch has been held.
Done Batch has completed normally.
Aborting Batch is in the process of being aborted.
Aborted Batch has been aborted.
Locking Batch is in the process of aborting unit procedures and entering Jump Mode.
Locked Batch has been successfully locked and Jump Mode is enabled.

Changing the Batch Schedule List


Use the buttons on the bottom of the Batch Scheduler editor window to alter the
list of scheduled batches.

Add
The Add button places an entry in the schedule list with the defined batch
information. The batch will be displayed in the list of scheduled batches with a
status of Open. When a batch is added in which the quantity is greater than the
recipe maximum batch size, the Scheduler will display a window asking the
operator to confirm the addition of multiple batches each with the recipe default
value as its quantity assignment. If Yes is selected, the number of batches needed to
produce the entered quantity is automatically generated, and all of the batches will
be added to the list. If No is selected, no batches will be added to the list. If no
quantity is specified, the default batch size is used.

Change
The Change button is used to record modifications that are made to any of the
fields for the selected batch. Only batches with a status of Open or Ready can have
their schedule information changed. Batches that are Ready and are changed will
return to an Open status and will require re-initialization.
Batch Management System 245

Clear All
The Clear All button is used to clear all of the schedule edit fields.

Using Batch Display


Batch Display is a batch server and runtime client application that provides an
operator interface to Batch Manager. Batch Manager is responsible for managing
the execution of recipes and also provides information, instructions, and the
statuses of all batch activity in the system. It also allows users to monitor the
execution of the procedure, enter comments and parameter values, acknowledge the
start or completion of unit procedures, review interlocks, display and execute
instructions, and answer questions pertaining to the batch. Batch Display also
provides the necessary interface for external document viewing and
acknowledgement.
Batch execution data is accessible to external applications by way of ActiveX
controls and the Toolkit.

Note Batch Manager must be running prior to the start of Batch Display.

To Start Batch Display:


1. On Environment Display, double-click the BatchDspl icon.

The Batch Display window will appear.


2. Use the Batch Display window to monitor and modify batch execution. Batch
Display displays the execution of a single batch.
3. Use the menu bar to access system functions for Batch Display.

File Menu
The File menu provides system functions for Batch Display.

File/Exit
Use this command to close Batch Display.

Actions Menu
The Batch Display Actions menu contains the commands that are used to access
Batch Display options.

Actions/Save Control Recipe


Use this command to display the Save Control Recipe window.
246 Chapter 9

This window allows you to save the recipe associated with a completed batch to the
recipe database. All final target values for formula parameters will be saved. The
user also has the option to save the recipe as an equipment dependent recipe by
enabling the Save Runtime Equipment check box. Additionally, recipe approvals
can be retained by enabling the Retain Recipe Approvals check box. This allows
the recipe to be immediately scheduled. The operator also has the option of
overwriting the existing recipe or changing the Recipe ID and saving it as a new
recipe. If the existing recipe is overwritten the version number is incremented.
Regardless of the options selected, the operator must enter their name in the
Author field and optionally enter a comment. The comment is saved as part of the
version history.

Note If the Recipe was created as read-only, you will not be able to save it with the
same Recipe ID. You can however, save it using a different Recipe ID.

Actions/Activate Jump Mode


Use this command to activate the Jump Mode for an active batch. The Jump Mode
allows an operator to move the procedure execution pointer for a batch and then
restart the batch at the selected execution point. Security can also be configured for
the Jump Mode to limit access to specific operators.
For more information on Jump Mode, see Runtime Recipe Procedure Jumps - Jump
Mode later in this section.

To use Jump Mode:


1. On the Batch Display window, click Batch Hold.
This places an active batch into Held.
2. Activate Jump Mode from the Action menu, or by clicking the Jump Mode

icon in the Batch Display Toolbar.


Batch Management System 247

Note A message will be displayed advising you that all Held unit procedures will
be aborted if you continue. Interrupting recipe execution using this feature should
be carefully planned to avoid undesirable results.

3. Click Yes to enter Jump Mode.


The mouse pointer is replaced with a Jump Mode cursor.
4. Click the cursor on the unit procedure, operation, and/or phase where you want
recipe execution to restart.
5. Click the Jump Mode button to complete the repositioning.
The Jump Mode cursor is replaced with the normal mouse pointer.
6. Click the Restart Batch button.
When the batch restarts, recipe execution will begin at the point you selected.
248 Chapter 9

Windows Menu
Use the Batch Display Windows menu to access the batch configuration windows.

Windows/Schedule
Use this command to display the Schedule window. The Schedule window
provides a list of all batches that are scheduled and active in the system. Any batch
with a status of Ready, Run, Held, Done, Aborting or Aborted is considered active.
The list also indicates which batch requires action by displaying double-asterisks
(**) in the Action column of the list. Selecting a batch in the Schedule list changes
the Batch Display to show information for the newly selected batch.

This option is also available from the Schedule icon in the Batch Display
Toolbar.

Windows/Batch Messages
Use this command to display the Batch Messages window.

The Batch Messages window contains all messages associated with the batch that
you are currently viewing. It also displays messages to alert operators of other
batches that require operator action. The messages are summarized in the following
section.
• Waiting for the operator to answer a transition logic question.
• Waiting for a transition logic expression or wait function to conclude.
• Waiting for the operator to manually select a unit to allocate to an instance. The
instance name is provided in the message.
Batch Management System 249

• Waiting for equipment to become available for allocation to the current batch.
The instance name is provided in the message.
• Waiting for the operator to acknowledge the beginning of a unit procedure. The
equipment and unit procedure requiring the acknowledge is provided in the
message.
• Waiting for the operator to acknowledge the end of a unit procedure. The
equipment and unit procedure requiring the acknowledge is provided in the
message.
• Waiting for the operator to edit one or more parameters. The equipment and
unit procedure requiring the parameter editing is provided in the message.
• Waiting for the operator to enter a comment for a unit procedure. The
equipment and unit procedure requiring the comment is provided in the
message.
• Waiting for an operator action on another batch. The campaign, lot, and batch
identification information is provided for the batch requiring the action.

This option is also available from the Batch Messages icon in the Batch
Display Toolbar.
250 Chapter 9

Windows/Equipment Allocation
Use this command to display the Equipment Allocation window. This option is
also available from the Equipment Allocation icon in the Batch Display
Toolbar.

Use this window to view the status and availability of the units in the train assigned
to the selected batch. The Equipment Allocation window is only available for
batches that have status of Run, Held, or Aborting.
Each unit in the train will have a Status corresponding to one of the statuses
defined in the Process Modeling Editor.
The Allocation of a unit relates to the ability of the unit to be allocated by Batch
Manager. The Ready allocation value means that the unit is available to be
allocated. The Allocated value means that the unit is allocated by a batch. A Busy
value indicates that the unit has been allocated by another batch.
Any unit in the Train, if Ready, can be manually allocated by selecting the unit,
selecting the proper instance, and then clicking on the Allocate button. The instance
names correspond to those defined in the recipe assigned to the selected batch. This
will allocate the chosen instance to the selected unit. Any unit in the Train, if
Allocated, can be manually released by selecting the unit and clicking on the
Release button. Manual allocation and release overrides automatic and recipe
allocation.
Batch Management System 251

The Allocation Queue button allows you to display a list of the batches that are
waiting for the selected equipment. The list is displayed in the order that the batch
will execute in the unit. Using the arrow buttons provided in the Equipment
Allocation Queue window, a user can, after selecting a batch from the list, move it
up or down in the queue. The batch at the top of the list is the next batch to execute.

Windows/Unit Procedure Editor


Use this command to display the Unit Procedure Parameter Editor window.

This option is also available from the Inactive Unit Procedure Editor icon
in the Batch Display Toolbar.

This window allows you to change the Acknowledgement Requirements, Comment


Requirement, Continue Mode setting, and Instructions for any inactive unit
procedure.

Note Parameter edits must be entered through the Formula Grid. For more
information on dynamically changing parameter information, see Formula Grid in
this section.

Windows/Transition Logic
Use this command to display the Active Transitions window.
252 Chapter 9

For more information on viewing active transitions, see Active Transition Objects
in this section.

This option is also available from the Active Transitions icon in the Batch
Display Toolbar.
Batch Management System 253

View Menu
The Batch Display View menu contains the commands that are used to toggle the
display of the application toolbars and status bar, as well as to change the properties
of the unit procedure display. The menu options are described below.

View/Errors
Use this command to display the Errors window. All batch errors will be contained
in this list.

This option is also available from the Errors icon in the Batch Display
Toolbar.

View/Main Toolbar
To view the Main Toolbar:
Click View and then enable the Main Toolbar menu item.

View/SFC Toolbar
To view the SFC Toolbar:
Click View and then enable the SFC Toolbar menu item.

View/Status Bar
To view the Status Bar:
Click View and then enable the Status Bar menu item.

View/Unit Procedure View


Use the View/Unit Procedure View menu item to show or hide the Unit
Procedures pane.

View/Unit Procedure Zoom In


To Zoom In on Unit Procedures:
Click View and then select Unit Procedure Zoom In to increase the displayed
size of objects in the unit procedure pane.
You can also use the Unit Procedure Zoom In icon in the Unit Procedures
Toolbar.
254 Chapter 9

View/Unit Procedure Zoom Out


To Zoom Out on Unit Procedures:
Click View and then select Unit Procedure Zoom Out to increase the
displayed size of objects in the unit procedure pane.
You can also use the Unit Procedure Zoom Out icon in the Unit Procedures
Toolbar.

View/Large Icons
To Toggle between Large and Small Icons:
Click View and then check (or uncheck) the Large Icons menu item to
increase (or decrease) the size of the icons on the toolbars.

Help Menu
The Batch Display Help menu contains the commands that are used to access the
main help screen, and information about the version and licensing of the
application.

Help/Help Topics
Use this command to display the online help for Batch Display.

Help/About Batch Display


Use this command to view Version information.
Batch Management System 255

Batch Display Layout


The Batch Display window is divided into several functional areas as shown.

Unit
Procedure Batch
Unit
List Batch Control
Control Batch Question
Display Buttons
Buttons Identification List
Toolbar SFC Toolbar

Formula
Unit Procedures Pane Description Area Instruction List
Grid

Batch Display Toolbar

Save Recipe
The Save Recipe icon is used to display the Save Control Recipe window.
256 Chapter 9

Schedule
The Schedule icon is used to display the Schedule window.

Batch Messages
The Batch Messages icon is used to display the Batch Messages window.

Equipment Allocation
The Equipment Allocation icon is used to display the Equipment Allocation
window.

Active Transitions
The Active Transitions icon is used to display the Active Transitions
window.

Errors
The Errors icon is used to display the Errors window.

Jump Mode
The Jump Mode icon is used to activate the Jump Mode.

SFC Toolbar

Unit Procedure View


The Unit Procedure View icon is used to show or hide the unit procedures
pane

Unit Procedure Zoom In


The Unit Procedure Zoom In icon is used to enlarge the sequence of unit
procedures display. There are 10 levels of magnification available.

Unit Procedure Zoom Out


The Unit Procedure Zoom Out icon is used to reduce the sequence of unit
procedures display. There are 10 levels of reduction available.

Batch Identification
Across the top of the Batch Display main window is the batch identification
information. Included here are the Campaign ID, Lot ID, Batch ID, Mode, Status
and Action.
Batch Management System 257

Unit Procedure List


The Unit Procedure List contains a dynamic list of active unit procedures. The
equipment allocated for each unit procedure and the status of each unit procedure 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.

Batch Control Buttons


The Batch Control Buttons give the user the ability to start the batch, hold the
batch, restart the batch, abort the batch, and change the batch mode.

Formula Grid
The Formula Grid provides a dynamic list of all parameters for active unit
procedures, as well as the ability to view and change parameter values on active and
inactive unit procedures.
For more information on dynamically changing parameter information, see
Formula Grid in this section.

Instruction List
The Instruction List provides a list of instructions associated with the unit
procedure selected in the Unit Procedure List.

Description Area
Description area provides a description of the selected Unit Procedure or Parameter.

Unit Control Buttons


The Unit Control Buttons give the user the ability to start a unit procedure, hold a
unit procedure, restart a unit procedure, abort a unit procedure, acknowledge a unit
procedure, satisfy control buttons, enter a comment, view interlocks,
view/acknowledge documents, and manually select equipment for unit procedure
execution.

Unit Procedures Pane


The Unit Procedures Pane dynamically shows the current sequence of unit
procedures that are executing in the selected batch in a Sequential Function Chart
(SFC) format. The status of each unit procedure in the SFC is represented with
colors.

Color Description
Gray Inactive
258 Chapter 9

Color Description
Green Active
Red Interlocked, Held, or Waiting for Operator Action
Yellow Completed
Cyan Active in Continue Mode

Batch Display Functionality


Batch Display is used by operators to monitor and control the execution of batches.
Batch Display's main window provides the functionality described in the following
text. More detailed information on many of these features is described later in this
section.
• A list of all active batches in the schedule can be viewed at any time. An active
batch is any batch that has a status of Ready, Run, Held, Done or Aborted.
• A list of all unit procedures for the selected batch can be viewed.
• The recipe procedure can be viewed for each batch, showing the status of each
unit procedure.
• Batch control buttons including Start, Hold, Restart, and Abort.
• Unit control buttons including Start, Hold, Restart, and Abort.
• View and control of current Unit Procedure Status, Parameters, and
Instructions.
• Ability to enter Comments associated with a unit procedure or with the batch.
• Ability to View and Acknowledge external documents.
• Ability to view Interlocks for each unit.
• A list of Transition Logic Questions and the ability to answer the questions.
• A Message Line displays Operator commands.
• View Transition Logic Status
• Force Transition Logic
• Edit unit parameter values when a batch is active.
• Edit parameter values when a batch is not active (Formula Grid).

Batch Control
Batches that are initialized have a status of Ready. If a batch is Ready, it can be
selected from the Schedules window and started using 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. If a batch has a status of Held, the batch can be Restarted
or Aborted.

Batch Status Description Active Button(s)


Ready Batch is ready to be Started. Batch Start
Run Batch is executing; Batch can be put in Hold. Batch Hold
Batch Management System 259

Batch Status Description Active Button(s)


Held Batch is in Hold; Batch can be Re-started or Batch Restart
Aborted. Batch Abort
Aborting Batch is being aborted. N/A
Aborted Batch was aborted. N/A
Done Batch is finished. N/A
Locking Batch is aborting unit procedures to enter into N/A
Jump Mode.
Locked Batch is locked and in Jump Mode. N/A

Batch Execution Mode


The Edit Mode button displays the Batch Mode window. Selecting the desired
mode with the combo box changes the Batch Execution Mode.

For more information on dynamically changing the batch mode, see Batch
Execution Modes in this section.
260 Chapter 9

Unit Procedure Comments


The Edit Comment button displays the Comment window.

The Comment window can be used at any time. While a unit procedure is
executing, a comment associated with the selected unit procedure can be entered.
The comment is stored in the historical database. If unit procedures are not
executing and a comment is entered, it is stored as a general comment associated
with the batch. If a unit procedure is active, the operator can change the comment
type to Batch if the comment is not related to the unit procedure.

Note A batch must be initialized in order for comments to be written to history.

Interlocks
The Interlocks button displays the Interlocks window. This is used to view the
status of the interlock tags for any active unit procedure in the procedure.
Batch Management System 261

Equipment Selection
The Select Equipment button displays the Equipment Selection window.

This window contains a list of possible units that can be allocated for a particular
recipe instance. Whenever Manual Unit Selection is configured for a process
instance in the recipe Equipment Requirements Editor, the operator must select the
equipment that will be allocated and used by the current batch. In the Equipment
Selection window shown, the operator must choose from two units which one is to
be allocated for the first reactor process instance.
The Equipment Selection window is dynamic. The current status of units that are
available for selection is displayed in the window. If the status of any equipment
changes while the window is displayed, the status displayed will update
accordingly. The status of units displayed in the Equipment Selection window
corresponds to those statuses defined in the process model. As long as the new unit
status represents an available status, the unit will remain displayed in the list.

Unit Procedure Control and Status


All active unit procedures and their current statuses will be displayed in the Unit
Procedure List. Any unit procedure that requires operator action will be displayed
with ** in the Action column. Any active unit procedure can be selected in order to
display its parameters, instructions, and interlocks. In addition, the unit procedure
can be Held, Restarted, and Aborted with the Unit Control Buttons if the unit
procedure has been properly configured in the process model. Shown below are the
various unit procedure statuses and an explanation of operation.
262 Chapter 9

Unit
Procedure
Status Description Action
Wait Unit Procedure is waiting for operator action. Acknowledge or Edit
Message line will indicate whether a comment Comment.
or an acknowledge is required.
Wait Unit Procedure is currently running. Unit Acknowledge “Unexpected
Procedure can be run after acknowledging the Status Window.”
message. Batch Manager will wait until the unit
procedure is Ready.
Run Unit Procedure is executing. Unit Procedure Hold
Held Unit Procedure is in Hold; Unit Procedure can Unit Procedure Restart or Unit
be Re-started or Aborted. Procedure Abort
Done Unit Procedure execution is complete. N/A
Interlocked Interlocks are preventing the unit procedure Select Interlocks button.
from executing.
Aborted Unit Procedure has been Aborted. N/A

Edit Formula Parameters


Any unit procedure that has parameters configured in the Process Model with Edit
Allowed or Edit Required may be altered during the execution of the unit
procedure. The operator must first select the desired unit procedure in the Unit
Procedure List, select the parameter in the Formula Grid, click within the desired
field and enter an appropriate value. A gray background in the cell indicates that the
field can be edited. A red background indicates the cell must be edited.

Answering Questions
Transition objects that have been configured in the recipe to ask a question of the
operator are in the Questions List box. The operator must select the question that is
to be answered and click the Yes button.
Depending on the recipe, there may only be one question or there may be several.
For an Execute All branch, all of the questions must be answered. If the branch is
an Execute One, then only one question must be answered.
If the question applies to a loop object, then the question is a Yes or No question. If
the answer is Yes, then the loop back will be executed.

Unit Procedure Acknowledgment


Any unit procedure in the recipe that has been configured with an Acknowledge On
Entry or Acknowledge On Exit option, will require the operator to acknowledge the
unit procedure when executed. A message will be displayed in the Message box
when an acknowledge is required. The Acknowledge button must be selected when
required.
Batch Management System 263

Formula Grid
The Formula Grid is used to edit or modify parameters anytime a batch has a
status of Ready, Done or Aborted. The Formula Grid is used to edit parameters for
both active and inactive unit procedures The cells for the selected parameter are
formatted with colored backgrounds to indicate the fields which may or must be
edited.

Background Color Editing


Windows Selected Text color No edits allowed
Grey Edit Allowed
Red Edit Required

Formula Grid for Active Unit Procedures


If the Unit Procedure is Waiting, Running, or Held, it is active and it will appear
listed in the Unit Procedure List. The Formula Grid displays all parameter fields
for active unit procedures.

Formula Grid for Inactive Unit Procedures


If the unit procedure does not appear listed in the Unit Procedure List, it is
inactive. It may still be selected for display, however, by using the Unit Procedures
Sequential Function Chart (SFC) to the left of the Formula Grid. The Formula
Grid shows only the Parameter, Parameter Type, Name, Material ID, Material
Name, and UOM fields for inactive unit procedures.

Note Parameter changes are dynamic and will be used during the execution of the
batch if made for a unit procedure that has not yet executed

To adjust column widths in the Formula Grid


1. Position the cursor between fields in the header row of the grid
2. Click and drag the cell boundary line left or right.
264 Chapter 9

To disable the display of some fields


1. Right Click anywhere on the Formula Grid to display the configuration menu.

2. Select Columns and then uncheck the column names you wish to hide.

Note The columns can all be restored to visible by right clicking and selecting
Show All Columns from the menu.

To sort Parameters in the Formula Grid


1. Click on any of the column headings in the Formula Grid to sort the listed
parameters by the data in that column.
2. Clicking the column header once sorts the list in ascending order.
3. Clicking the column header once again sorts it in descending order.

Note The original order of parameters can be restored by right clicking anywhere
on the Formula Grid and selecting Unsort Parameters from the menu. This
unsorted order is the order that the parameters were originally modeled in the
Process Model Editor

To rearrange Parameter columns in the Formula Grid


1. Click any of the column headings in the Formula Grid and then drag the
column to the preferred location.

Active Transition Objects


Use the Active Transitions window to view the expressions associated with all
active transition objects. The display lists each Active Transition and includes the
label and Wait (time remaining) for the transition.
Batch Management System 265

When a transition is selected, its expression is displayed.


Any active transition object must have a result of False. The Transition can be
forced to True by selecting the active transition and selecting the Force to True
button.

Batch Manager
Batch Manager is the most fundamental and integral part of the batch management
system. The execution of every batch is controlled and monitored by Batch
Manager. Another of its responsibilities is the management of multiple batch
execution and the dissemination of all of the batch information to Batch Scheduler
and Batch Display. Each batch server supports a single instance of Batch Manager.

Starting Batch Manager


Batch Manager is started by the Environment Manager when the runtime
applications are initiated. There is no icon displayed for Batch Manager. Batch
Manager executes as an operating system service.

Batch Execution
Batch Manager is responsible for the execution of all of the batches running in the
system at any point in time. There are many different areas of functionality that
Batch Manager must coordinate while executing batches. These include allocation
of equipment, batch execution modes and mode changes, unit selection, and unit
procedure execution.
There are three types of equipment allocation that are available: Automatic, Recipe,
and Manual. There are three modes of batch execution: Automatic, Semi-
Automatic, and Manual. There are two methods for selecting units for a batch:
Automatic and Manual. Each of the areas is described below.
266 Chapter 9

Equipment Allocation
In order to execute any unit procedure as part of a batch, equipment must be
allocated to the batch. If suitable equipment had been previously allocated to the
batch, then that equipment is used. If equipment has not been previously allocated,
then the batch management system must allocate suitable equipment to the batch
before proceeding with unit procedure execution. With InBatch FlexFormula
Edition, there are two approaches to allocating equipment for a batch. They are
Automatic Allocation and Manual Allocation. Each allocation approach is
described below.

Automatic Allocation and Release


Automatic Allocation is performed by default by Batch Manager. Automatic
Allocation occurs whenever a unit procedure needs to be executed and appropriate
equipment is not currently allocated to the batch. Batch Manager allocates the
equipment required and releases the equipment automatically when the unit
procedure completes.
As part of the evaluation criteria for unit allocation, Batch Manager uses the
equipment status (i.e. Clean, Dirty, etc.), equipment availability (i.e. in use by
another batch, etc.), train definition (i.e. is the unit in the train assigned to the
batch), and any defined equipment attribute requirements (i.e. capacity, material of
construction, etc.). When there are multiple units from which to select, Batch
Manager will make the selection based on the manner in which unit selection has
been defined in the recipe. If no units are available, Batch Manager will
continuously evaluate the possible units and wait until one becomes available.

Manual Allocation and Release


Manual Allocation takes precedence over Automatic Allocation. Manual
Allocation refers to the allocation of the unit by a user by way of the Equipment
Allocation window within Batch Display. Any unit defined in the train assigned to
the batch can be allocated using this window. However only equipment that has an
available equipment status (i.e. Clean, Dirty, etc.) and is not allocated to another
batch can be manually allocated.
Manually allocating a unit allocates and reserves only the selected unit. Units that
are manually allocated are released when the operator manually releases the unit
from the Equipment Allocation window or when the batch is complete.
Manual Allocation is especially important when executing batches in Manual
Mode. Only the unit procedures associated with manually allocated units can be
executed. Furthermore, if a batch is started in Manual Mode, there are no units
allocated since the Batch Manager will not automatically allocate equipment in
manual mode. Units must be allocated manually before any unit procedures are
available for execution.

Batch Execution Modes


There are three different modes of batch execution: Automatic, Semi-Automatic,
and Manual. Batch Manager responds to batch control commands differently
depending on the mode. Each option is presented below.
Batch Management System 267

Automatic Batch Mode


Start a Batch
When the Batch Start button is selected, recipe procedure execution begins.
Equipment must be allocated in order to execute unit procedures. The allocation
takes place according to the rules defined in the allocation section. If the required
equipment cannot be allocated, the unit procedure(s) will go to the Wait status.
While in Wait, the availability of the equipment is continually monitored. As soon
as equipment is available, it is allocated to the batch and the unit procedure(s) are
started. Only the equipment in the assigned train is available to Batch Manager for
allocation.
Once the correct equipment is allocated, the status of the unit procedure to be
executed is evaluated. If the unit procedure status is Ready, Batch Manager
downloads the values of the formula parameters to the control system and sets the
unit procedure Start tag. If the unit procedure status is Interlocked, Batch Manager
monitors the unit procedure until the status becomes Ready before proceeding. If
the unit procedure status is Held or Run, an “Unexpected Status” Error window is
displayed. The operator must acknowledge the error, and Batch Manager will wait
for the unit procedure status to become Ready before proceeding. If the unit
procedure status is Done or Aborted, the unit procedure Reset tag is set by Batch
Manager, and Batch Manager waits for the Ready status before proceeding.
If the IBCli service encounters a failure while attempting to read or write to a tag in
the control system, the batch that is associated with the failure will be placed on
hold by the Batch Manager and an error message will be displayed. When failures
occur, the operator will need to 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 to batch execution to continue, the unit procedure associated
with the failed tag can be Aborted by the operator, and then a Batch Restart can be
initiated to resume batch execution.

Hold a Batch
When the Batch Hold button is selected, Batch Manager will put the batch in Held.
The actions taken in response to a Batch Hold depend on the way in which Batch
Manager is configured in the Environment Editor. If configured by default (that is
without any application parameters in the Environment Editor), when the Hold is
initiated, the batch status will change to Held but the unit procedures on the units
allocated by the batch will continue to run to completion. However, no new unit
procedures will start when the batch is Held.

Note When the Batch Hold button is clicked it is possible that the Batch Abort
will become available even though all the unit procedures are still running. If a user
presses the Batch Abort button before all the unit procedures are completed, the
batch will enter the Aborting state. Batch status will remain Aborting until all unit
procedures have completed. Unit Procedures in Run will complete normally, or can
be manually held and aborted. Once all unit procedures have completed or aborted,
the batch will go to the Aborted state.
268 Chapter 9

If Batch Manager is started with the Phase/Batch Status application parameter


defined in the Environment Editor, Batch Manager manages all unit procedure hold
activity. As above, when a Batch Hold is triggered the batch status will change to
Held. In addition, a unit procedure hold signal is sent to any unit procedure in the
batch that has a status of Run. Also, if any unit procedure becomes held during the
execution of a batch, Batch Manager places the batch in held and sends a unit
procedure hold signal to all other unit procedures in the batch that are in run. This
applies whether the held condition was the result of an operator initiated hold or
generated internally to the unit procedure logic.
Regardless of the manner in which Batch Manager is configured, transition logic
Wait functions will not be put in held. The Wait function will continue to execute
and time out if the held time exceeds the time of the function. When a Wait function
times out, execution continues to the next unit procedure but the unit procedure will
not be started until the batch is restarted.

Restart a Batch
When the Batch Restart button is selected, Batch Manager will restart 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 configured by default (that is
without any application parameters in the Environment Editor), when the Restart is
initiated, the batch status will change to Run. However, any unit procedures in the
Held state will remain held until they are each restarted individually.
If Batch Manager is started with the Phase/Batch Status application parameter
defined in the Environment Editor, Batch Manager manages all unit procedure
restart activity. As above, when a Batch Restart is triggered, the batch status will
change to Run. In addition, a unit procedure restart signal is sent to any unit
procedure in the batch that has a status of Held. However, unlike with hold
commands, an individual unit procedure restart will not cause the batch and all
other unit procedures to restart.

Abort a Batch
When the Batch Abort button is selected, Batch Manager will abort 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 configured by default (that is
without any application parameters in the Environment Editor), when the Abort is
initiated, the batch status will change to Aborting. However, the batch Abort
command is not propagated to the individual unit procedures. These must each be
aborted individually. The batch status will remain Aborting as long as unit
procedures are active.

Note When Batch Abort is selected, a window appears prompting the user to
confirm the Abort. When Yes is clicked, Batch Manager will abort the batch.

If Batch Manager is started with the Phase/Batch Status application parameter


defined in the Environment Editor, Batch Manager manages all unit procedure
abort activity. As above, when a Batch Abort is triggered, the batch status will
change to Aborting. In addition, a unit procedure abort signal is sent to any unit
procedure in the batch that has a status of Held. However, unlike with hold
commands, an individual unit procedure abort will not cause the batch and all other
unit procedures to abort. Also, once all unit procedures have completed or aborted,
the batch status will change to Aborted.
Batch Management System 269

Semi-Automatic Batch Mode


When Batch Manager is executing in semi-automatic mode, operation is exactly the
same as automatic mode, except that the operator is required to Acknowledge the
start of each unit procedure.

Manual Batch Mode


When Batch Manager is executing in manual mode, any unit procedure in the
recipe for any unit allocated to the batch can be executed. When a batch is started in
Manual Mode, no equipment will be allocated to the batch. The operator must
manually allocate the desired units using the Equipment Allocation window. Any
manually allocated equipment must be released manually or will remain allocated
to the batch until the batch is complete.
When equipment is allocated, the unit procedures associated with the instance of
that equipment that is used in the recipe procedure will be available for execution.
The operator must select the desired unit procedure, change the parameter values if
desired, and manually start the unit procedure. Several unit procedures can be run
simultaneously, if desired.

Batch Execution Mode Changes


Automatic to Semi-automatic
Operation will continue normally except that any new unit procedure encountered
will require the operator to Acknowledge the start of the unit procedure.
Batch Manager can be configured to switch from Automatic to Semi-automatic
after a unit procedure is aborted. The batch will then continue to execute in Semi-
Automatic Mode. To enable this feature you must use Environment Editor to assign
the “Semi-Auto On Abort“ parameter to Batch Manager. If this feature is enabled,
both the unit procedure abort and the mode change from Automatic 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 unit procedures will continue to run to completion. Batch Manager will
monitor these unit procedures and will Reset the unit procedures when they are
Done. No new unit procedures will be executed. Batch Manager will maintain its
position in the recipe procedure, and the operator may manually execute any of the
unit procedures associated with allocated equipment.

Semi-automatic to Manual Mode


Any active unit procedures will continue to run to completion. Batch Manager will
monitor these unit procedures and will Reset the unit procedures when they are
Done. No new unit procedures will be executed. Batch Manager will maintain its
position in the recipe procedure, and the operator may manually execute any of the
unit procedures associated with allocated equipment.
270 Chapter 9

Semi-automatic to Automatic
Any unit procedures that are running will continue to run. Any unit procedure
waiting for an operator Acknowledgment or any new unit procedure encountered
will automatically start. This assumes that the unit procedure is not configured for
Acknowledge on Entry in the recipe procedure. If this is the case, the Acknowledge
will still be required.

Manual to Automatic
Execution of the recipe will begin from the point where Manual Mode was started.
Unit Procedures will start as configured in the recipe procedure. Any unit
procedures started in Manual Mode will complete and will be Reset by Batch
Manager. Any equipment that was manually allocated will stay allocated until a
Release unit procedure for the equipment is encountered or the batch completes.

Manual to Semi-automatic
Execution of the recipe will begin from the point where Manual Mode was started.
Unit Procedures will require an Acknowledge before they can be started. Any unit
procedures started in Manual Mode will complete and will be Reset by Batch
Manager. Any equipment that was manually allocated will stay allocated until a
Release unit procedure for the equipment is encountered or the batch completes.

Unit Selection Modes


The Unit Selection definition defines how a unit is selected by Batch Manager
when there is more than one unit from which to choose. There are two Unit
Selection options. They are Automatic and Manual. The selection mode is defined
for a process instance in the Recipe Editor. Each selection mode option is described
below.

Automatic Unit Selection


Using Automatic Unit Selection, Batch Manager will select the first unit
encountered in the assigned train that satisfies the recipe equipment requirements,
has a Ready allocation status, and has an available equipment status. If all the
possible units are not available, Batch Manager will re-evaluate potential units as
they become available and wait until the availability of one of the units changes.

Manual Unit Selection


Using Manual Unit Selection, a list of available units and their current equipment
status are presented to the operator. Unit statuses correspond to those defined in the
process model. The operator must select one unit. The list is populated using the
criteria defined for automatic unit selection.
The only time that Manual Unit Selection is not enforced, is when one of the
available units is already allocated to the batch or when only one unit that satisfies
the recipe equipment requirements is located in the train. Batch Manager will either
use the unit that is allocated or use the only unit in the train that satisfies the
requirements.
Batch Management System 271

Unit Procedures
When a unit procedure is encountered, Batch Manager will first check if a suitable
unit is allocated. If so, Batch Manager will evaluate the status of the unit procedure.
If the unit procedure is Ready, the formula parameter values are downloaded to the
control system and the unit procedure is started. Typically, the unit procedure status
will change to Run. Batch Manager will monitor the status of the unit procedure
waiting for it to change. Under normal circumstances, the unit procedure status will
eventually go to Done. Upon seeing the Done, Batch Manager will Reset the unit
procedure. The unit procedure status will return to Ready. When Batch Manager
evaluates the unit procedure and finds a status of Interlocked, Batch Manager will
wait indefinitely until the interlock has cleared. When Batch Manager finds a status
of Run, Held, Done, or Aborted, Batch Manager will display an error message for
an unexpected unit procedure status.

Continue Mode Execution


As described previously, under normal circumstances Batch Manager will wait
until a unit procedure becomes Done or Aborted before executing the next unit
procedure in the recipe. This behavior can be changed by enabling the Continue
Mode property for a unit procedure in the recipe. When encountered in a batch,
Batch Manager will start the unit procedure as it normally does. However, Batch
Manager will not wait for the unit procedure to complete before moving on in the
batch. As soon as the unit procedure returns a status of Run or Held, Batch Manager
will continue on in the recipe. Any unit procedure with the continue mode property
enabled and executing will remain in the active Unit Procedure List and can be
monitored and controlled just as any other active unit procedure. If the recipe
execution has moved on to a subsequent unit procedure, the unit procedure running
with the continue mode property enabled will be displayed in cyan. This allows the
operator to easily identify unfinished unit procedures.

Note Use caution when enabling the continue mode property for any unit
procedure within a loop object. Because of the risk of re-executing an active unit
procedure, batch execution will not proceed into the loop in which a unit procedure
with the continue mode property enabled is active. As soon as the unit procedure
completes, batch execution will proceed into the loop.

Because the unit procedure is executing normally, it will also have to finish just like
a normal unit procedure. Batch execution will not end until all unit procedures have
completed. Therefore, any unit procedure with the continue mode property enabled
is required to complete either normally according to the internal unit procedure
logic or based upon some external signal.

Contention for Shared Equipment


In most plants, there are situations where one piece of equipment is shared by many
units. In the example process shown below, Pump 1 is used to transfer product from
Unit 1 to Unit 3, Unit 1 to Unit 4, Unit 2 to Unit 3, and Unit 2 to Unit 4.
272 Chapter 9

Unit 1 Unit 2

Pump 1

Unit 3 Unit 4

Contention for Pump 1 must be handled in control system logic.

Runtime Recipe Procedure Jumps - Jump Mode


Runtime recipe procedure jumps, or the Jump Mode, is a feature of the batch
management system that offers the flexibility to allow an operator to reposition the
execution pointer within a batch and then restart it at that point. The Jump Mode is
available in Batch Display. This feature, along with the flexibility it provides, can
also produce undesired results without careful consideration. The following
selection describes the actions taking place within the batch management system
related to the Jump Mode.
When a batch is put in Held, Batch Manager makes the Jump Mode available.
When the Jump Mode is initiated, the user is notified by a dialog that all Held unit
procedures will be aborted. Upon acknowledgement, the Batch Status changes from
Held to Locking, and then to Locked. What essentially occurs when a batch
changes from Held to Locking is a batch Abort. Specifically, all of the unit
procedures associated with the batch are aborting. When the status changes from
Locking to Locked, all unit procedures are aborted and all activity is logged to
History.
When the batch status is ‘Locked', the batch no longer has an execution pointer. If,
at this point, a user would attempt to close Batch Display or View or exit Jump
Mode an error message will be displayed disallowing the action. If Jump Mode had
been entered and an abnormal termination of the Batch Display or Batch View
occurs, the batch will be placed in Held (as if Jump Mode had not yet been
initiated) and a message indicating that the batch does not have and execution
pointer is displayed. In this case, if a user attempts to Restart the batch (which has
no execution pointer) a message is displayed of the fact advising the user to go to
Jump Mode, define a pointer, and then Restart the batch.
Abnormal termination of a batch that has not been Started will result in the batch
changing from a Locked to Ready status. Under these circumstances, the execution
pointer will be at the start of the recipe procedure and will allow a batch to Start. A
batch that does not have an execution pointer can be Aborted. The execution
pointer is always at the start of the recipe procedure for a batch with a Ready status.
Batch Management System 273

Jump Mode Security


The Jump Mode can be implemented using batch system security. Configuring
security for the Jump Mode can help prevent untrained or unauthorized operators
from unknowingly entering the Jump Mode and causing undesired results to recipe
execution. Using the Security Editor, you can configure the Done_By and
Check_By security levels to limit access to the Jump Mode. In this case, the entry
of an operator name and password as well as a supervisor name and password
would be required in order to access the Jump Mode.
If Done_By security is configured, a security dialog will be displayed when the
operator attempts to enter Jump Mode. If a valid ID and Password are entered, the
operator is allowed to use the mode. If both Done_By and Check_By security are
enabled, then the operator and a second user (perhaps a supervisor) will be required
to enter a valid ID and Password.
All Done_By and Check_By security information is logged to History.
For more information on the Security Editor, see Chapter 13, "Security System.".

Report Triggering
Reports can be linked to any unit procedure in a recipe procedure. The report will
be triggered when the unit procedure is complete. Also, if an end of batch report
was defined, Batch Manager will signal the Information Server upon completion of
the batch. Batch Manager will pass the name of the report, the Campaign ID, Lot
ID, and Batch ID.

End Of Batch Operation


When the recipe procedure has executed to completion or a batch is Aborted, Batch
Manager will release any allocated units and will trigger an End of Batch Report if
configured.

Batch Runtime Errors


The following errors may be displayed during batch execution. In all cases, when
an error occurs, an error message is displayed.

Error: Cannot change mode of <MANUAL OPERATION> batch!


Reason: Manual Mode is the only valid Batch Execution Mode when in Manual
Operation.
Corrective Action: Acknowledge Error Window.
Error: Unexpected unit procedure status of READY!
Error: Unexpected unit procedure status of RUN!
Error: Unexpected unit procedure status of HELD!
Error: Unexpected unit procedure status of DONE/ABORTED!
Error: Unexpected unit procedure status of INTERLOCK!
Reason: #1 - You are trying to execute the same unit procedure in parallel in your recipe
procedure, or there is a problem with the unit procedure logic.
Corrective Action: Correct the recipe procedure or the unit procedure logic.
274 Chapter 9

Reason: #2 - Batch Manager was shutdown and unit procedure logic has been left in an
improper state.
Corrective Action: Manually reset the unit procedure and restart Batch Manager.
Error: Cannot access material “material id”! - Hold Batch; Correct Problem; Restart.
Corrective Action: Put the batch in Hold, correct the problem, then Restart the batch. The problem
may require one or both of the following corrections.
1. Change the Train to include the appropriate units containing the material in
question.
2. Make the appropriate material-unit assignment using the Material Editor.
Reason: #2 - The batch is assigned to a train that cannot properly execute the recipe.
Corrective Action: Make sure the batch is assigned to a train that can properly execute the recipe.
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 after the batch was
started.
Corrective Action: Put the batch in Hold. Modify the Train to include the appropriate unit that
would support the transfer. Restart the batch.
Error: Invalid Query Data
Reason: An InBatch database is incompatible or corrupt. This error is related to the
security system.
Corrective Action: Verify/correct database.
Error: Parameter 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 IO 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 will wait MemTag's time stamp to match that of
the remote tag timestamp.
Corrective Action: Synchronize the system time settings on the server and the remote system.

Batch Schedule Errors


The following errors may be displayed during batch scheduling. In all cases, when
an error occurs, an error window will be displayed. Corrective action must be taken
and the window acknowledged by the operator before the batch execution will
return to normal.

Error: Entry is not next in schedule!


Reason: Schedule Execution mode is set for Execute in Order and the selected batch is
not the next READY batch in the schedule.
Corrective Action: Select the next batch that is READY in the schedule.
Error: Cannot find entry!
Reason: The batch that was selected from the schedule was deleted by another operator
using the Batch Scheduler just prior to selection.
Corrective Action: Select another batch.
Batch Management System 275

Error: Batch Status is not READY!


Reason: You are attempting to Start a batch that appears to have a status of READY.
Just prior to starting the batch, another operator either Started it from another
Batch Display or the status of the batch was changed to OPEN, using the Batch
Scheduler.
Corrective Action: Select another batch.
Error: Cannot find recipe!
Reason: You are attempting to Start a batch whose recipe has been deleted from the
recipe database.
Corrective Action: Re-schedule the batch with a valid recipe.

Warm Restart
Batch Manager has the capability to recover from abnormal events such as system
shutdowns due to hardware failures and other unanticipated failures. This
functionality is known as Warm Restart. As the batch management system executes
batches, all batch execution and equipment allocation information is written to
multiple data files. In the event of a system failure, these files will be read by the
batch management system when restarted. The data in these files allows the batch
management system to resume batch operation.

Starting Batch Manager with Warm Restart Function


Batch Manager is started in the usual manner to enable the Warm Restart
functionality. There are no special start-up commands necessary. The only
requirement for Warm Restart is the presence of a .BatchWR folder located in the
configuration folder (config_A). The .BatchWR folder is automatically loaded in
the configuration directory following system installation
(…\Batch\cfg\config_A\.BatchWR).
276 Chapter 9

Batch Execution
As the batch management system executes batches and allocates equipment, Batch
Manager stores each event in data files residing in the .BatchWR folder. By
retaining all of the batch execution and equipment allocation actions, Batch
Manager can resume batch execution following a system failure. In the event of a
failure, the sequence of operation in the following list will occur. Operator
interaction is denoted where applicable.
1. Upon the occurrence of a system failure, the batch control system must be
completely shutdown if the failure did not automatically accomplish this.
2. The batch control system must then be restarted.
3. All equipment allocated by any of the previously active batches will remain
allocated.
4. All batches previously in the Batch Scheduler will be returned to the scheduler
with their previous status. The exceptions to this are that the Execute in Order
option in the Batch Scheduler will not be set upon restarting the system and all
batches that were in the run state prior to the failure will be in the held state
when the system is restarted.
For more information on changing the mode in which batches are resumed, see
Batch Restart Mode.
5. The statuses of all unit procedures are unchanged during a system failure that
does not involve the control system. In other words, unit procedures that were
executing before the failure will continue to execute during the failure.
However, unit procedures that previously had or change to a status of held,
done, or aborted will remain in that state until the batch management system is
restarted. Batch Manager resumes the batches controlling these unit
procedures, and upon resuming these batches, Batch Manager restarts or resets
the affected unit procedures.
6. The mode of all batches and the value of all unit procedure parameters will be
unchanged following the restart of a failed system.

Batch Restart Mode


The default action of the batch management system upon restarting the system after
a failure is to resume all previously active batches with a status of held. This will
ensure that all unit allocation is resolved properly and that no new unit procedures
are started automatically and causing a possible operator safety issue. However, this
default batch-held state may 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, then
Batch Manager application must be configured with the Restarting Batches
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 resume with a status of run. This applies for all possible batch states.
Batch Management System 277

WARNING! 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.

Control System Synchronization


In cases where the control system unit procedure logic is reset or executed
manually during a failure of the batch control system, it is possible for the two
systems to disagree on a unit procedure status when the batch control system is
restarted. In most situations, the batch management system is able to recover from
such a failure. However, there are times when the batch management system is
unable to resolve the unit procedure transition, or it is unsafe for the unit procedure
to be initiated.
The table below provides a summary of the possible states that could be
experienced by a system shutdown. The rows refer to the current status of the unit
procedure in the control system following a shutdown and restart. The columns
refer to the status of the unit procedure in the batch control system following a
shutdown and restart. Valid entries correspond to situations from which the batch
management system can recover. Re-Sync entries correspond to situations from
which the batch management system receives an unexpected status from the control
system and must re-sync itself. In the re-sync cases, Batch Manager assumes the
status of the control system unit procedure status is correct and will re-sync with the
control system and continue operation.

Last Known Unit Procedure Status as Viewed by Batch


Manager

Current Control System


Unit Procedure Status Ready Run Held Interlock None
Ready Valid Re-Sync Re-Sync Valid Valid
Interlock Valid Re-Sync Re-Sync Valid Valid
Run Valid Valid Valid Re-Sync Re-Sync
Held Valid Valid Valid Re-Sync Re-Sync
Done Valid Valid Valid Re-Sync Valid
Aborted Valid Valid Valid Re-Sync Valid

For example, suppose the batch management system was controlling a unit
procedure that was previously in a status of Run. If the batch control system is
shutdown and the unit procedure in the control system continues execution and
becomes Done before the batch control system is restarted, the batch management
system recognizes this as a valid status transition, updates the status of the unit
procedure to Done, and initiates a unit procedure Reset. However, if the control
system is also shutdown and the status of the unit procedure becomes Ready, then
Batch Manager assumes the control system and possible human intervention caused
the unit procedure to go to Ready. Batch Manager assumes the unit procedure is
done and continues on to the next unit procedure.
278 Chapter 9
History System 279

C H A P T E R 1 0

History System

The History System databases are located on a Batch Information Server. The
Information Server uses Microsoft SQL Server which stores and archives all
information related to the production of a batch. This includes events, process data,
production information, material usage, operator comments, operator actions,
equipment used, etc. Historical data can be accessed with Seagate Crystal Reports
to develop comprehensive reports for your batch system requirements.

Contents
• Overview
• History Database Tables

Overview
Historical batch information is stored on a Batch Information Server. The
Information Server uses Microsoft SQL Server, and is dedicated to the task of
providing all of the historical database requirements for the batch system. At the
Batch Server, a message queue mechanism guarantees that data is transmitted to the
Information Server. This “guaranteed delivery” is accomplished by maintaining the
data locally in the case of a disconnection and then retransmitting the data when the
connection is restored. All data is time stamped by the Batch Server so that if data
communications to the Information Server is interrupted, the time and date stamps
are still valid. Data transmission to the Information Server is the responsibility of
the History Queue Manager (HistQMngr) which runs on the Batch Server.
This User’s Guide is not intended to describe how to use Microsoft SQL Server.
However, you may want to use such tools as Microsoft Enterprise Manager for
maintaining and viewing information about the historical databases. For more
information on using Microsoft SQL Server refer to the appropriate user references.
For more information on maintaining your history databases, including History
Archiving procedures, see Chapter 22, "System Administration."
For more information regarding the Information Server and how to use Seagate
Crystal Reports, see Chapter 11, "Reporting System."
280 Chapter 10

History Database Tables


Use the following tables to understand the history data structure and facilitate
custom report generation using Crystal Reports.
For more information on reporting, see Chapter 11, "Reporting System."

Archive History
This table provides a history of archive activity.

Field Allow Null Type Length


Archive_ID No int 4
Archive_Device Yes varchar 30
Archive_Filename Yes varchar 254
Archive_IND Yes char 1
Description Yes varchar 512
HistoryDataEnd_DT Yes datetime 8
HistoryDataStart_DT Yes datetime 8
Job_Name No varchar 8
JobEnd_DT Yes datetime 8
JobStart_DT No datetime 8
Purge_IND Yes char 1
Restore_IND Yes char 1
Status_CD Yes char 1
Status_Description Yes varchar 256
Target_DB Yes varchar 30
History System 281

AuditEvent
The AuditEvent table contains one record for every security system event that is
generated during batch execution.

Field Allow Null Type Length


App_Name No varchar 16
Audit_Event_ID No uniqueidentifier 16
DateTime No datetime 8
Func_Lvl No varchar 8
Func_Name No varchar 16
Op_Station No varchar 16
Reason No varchar 4
Recipe_ID No varchar 16
User_Name No varchar 30
PassFail No smallint 2

BatchAdmin
The BatchAdmin table contains records for archive tasks defined in History
Archive. History Archive is responsible for the data in this table. The structure of
this table is presented below.

Field Allow Null Type Length


Archive_Desc No varchar 64
Archive_Device No varchar 30
Archive_Filename No varchar 254
Archive_IND No char 1
BatchAdmin_ID No char 10
Completion_CD No char 1
Completion_DT Yes datetime 8
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 16
Start_DT No datetime 8
Status_CD No char 1
Status_Desc No varchar 255
Target_DB No varchar 30
282 Chapter 10

BatchDetail
The BatchDetail table contains a record for every event in the execution of a batch.
Events are defined using an Action Code. The Action Codes are defined in the
CodeTable table. Batch Manager is responsible for the data in this table. The
structure of this table is presented below.

Field Allow Null Type Length


Action_CD No smallint 2
Batch_Log_ID No char 10
CheckBy_User_ID No varchar 16
DateTime No datetime 8
DoneBy_User_ID No varchar 16
Operation_ID No varchar 16
Phase_ID No varchar 16
Phase_Instance_ID No char 10
PhaseLabel No varchar 8
UnitOrConnection No varchar 16
UnitProcedure_ID No varchar 16

BatchIdLog
The BatchIdLog table contains a record for each batch produced. Batch Manager is
responsible for the data in this table. The structure of this table is presented below.

Field Allow Null Type Length


Archive_CD No char 1
Batch_ID No varchar 16
Batch_Log_ID No char 10
Batch_Size No int 4
Campaign_ID No varchar 16
Log_Close_DT Yes datetime 8
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_Name No varchar 16
Recipe_State No varchar 16
Recipe_Type No varchar 16
Recipe_Version No varchar 8
Train_ID No varchar 16
History System 283

BatchQuestion
The BatchQuestion table contains a record for every question displayed and
answered by the operator during the execution of a batch. Batch Manager is
responsible for the data in this table. The structure of this table is presented below.

Field Allow Null Type Length


Answer No smallint 2
Batch_Log_ID No char 10
CheckBy_User_ID No varchar 16
DateTime No datetime 8
DoneBy_User_ID No varchar 16
Question No varchar 40

CodeTable
CodeTable contains the codes and descriptions that are used in as part of other
history tables. This table is a permanent part of the history database and is not
modified during batch execution. The structure of this table as well as the codes are
presented below.

Field Allow Null Type Length


Code No smallint 2
Description No varchar 64

Code Description
201 Batch received Start
202 Batch received Hold
203 Batch received Restart
204 Batch received Abort
205 Batch set Done
206 Batch set Closed
207 Batch Warm Restart
208 Batch Redundancy Switchover
209 Batch Set Aborted
210 Allocate
211 Release
221 Wait for Allocate
222 Received Allocate
223 Wait for Entry Ack
224 Received Entry Ack
225 Received Interlock
226 Received Ready
284 Chapter 10

Code Description
227 Set Start
228 Received Run
229 Set Hold
230 Received Held
231 Set Restart
232 Set Abort
233 Received Aborted
234 Received Done
235 Set Reset
236 Received Bad Ready
237 Received Bad Run
238 Received Bad Held
239 Received Bad Done Aborted
240 Received Bad Interlock
241 Wait for Req Edits
242 Received Req Edits
243 Wait for Req Cmmt
244 Received Req Cmmt
245 Wait for Exit Ack
246 Received Exit Ack
247 Wait for Start
248 Received Start
249 Resync
250 Wait for Entry Doc View
251 Received Entry Doc Ack
252 Wait for Entry Doc Ack
253 Received Entry Doc Ack
254 Wait for Exit Doc View
255 Received Exit Doc View
256 Wait for Exit Doc Ack
257 Received Exit Doc Ack
260 Batch mode changed to Automatic
261 Batch mode changed to Semi-Automatic
262 Batch mode changed to Manual
265 Set Control Button1
266 Set Control Button2
270 Unit Hold set
271 Unit Restart set
272 Unit Abort set
273 Force Transition True
275 Transition Stop
History System 285

Code Description
276 Transition Start
277 Transition Stop
278 Transition True
279 Transition False
300 Yes
301 No
305 Approved for Production
306 Approved for Test
400 Batch set Run
401 Batch set Held
402 Batch set Aborting
403 Batch received Lock
404 Batch received locking
405 Batch received Locked
406 Batch received Unlock
410 Unit received Ready
411 Unit received Run
412 Unit received Held
413 Unit received Alarm
414 Skip
415 Done

Config
This table is used by the reporting system to hold configuration settings.

Field Allow Null Type Length


Tag No varchar 256
Value No varchar 256

DocViewEvent
The DocViewEvent table contains one record for each event that is generated when
batch execution requires a user to view and acknowledge an external document.

Field Allow Null Type Length


Batch_Log_ID No char 10
CheckBy_User_ID No varchar 16
DateTime No datetime 8
Doc_Desc No varchar 120
Doc_Loc No varchar 254
DoneBy_User_ID No varchar 16
286 Chapter 10

Field Allow Null Type Length


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
UnitProcedure_ID No varchar 16

EquipStatus
The EquipStatus table contains a record for every unit or segment status transition.
Batch Manager is responsible for the data in this table. The structure of this table is
presented below.

Field Allow Null Type Length


CheckBy_User_ID No varchar 16
DateTime No datetime 8
DoneBy_User_ID No varchar 16
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.

Field Allow Null Type Length


ErrorDescription No varchar 1024
ErrorID No int 4
LastAttempt No datetime 8
Message No varchar 1024
RetryCount No int 4
History System 287

Event
The Event table stores all InTouch Alarms and Events that the batch system can
associate to specific batches.

Field Allow Null Type Length


Alarm_State No varchar 10
Alarm_Type No varchar 4
Batch_Log_ID No char 10
DateTime No datetime 8
Engineering_Units No varchar 16
Event_CD No char 3
Event_Comment No varchar 50
Group_Name No varchar 32
Operator_ID No varchar 16
Priority No smallint 2
Tag_Name No varchar 84
Tag_Value No varchar 16
Tag_Value_Limit No varchar 16
UnitOrConnection No varchar 16

MaterialChar
The MaterialChar table contains a record for every characteristic defined for a
material used in a batch. Batch Manager is responsible for the data in this table. The
structure of this table is presented below.

Field Allow Null Type Length


Batch_Log_ID No char 10
Material_Char_Value No varchar 16
Material_Characteric No varchar 16
Material_ID No varchar 16
Material_Instance_ID No varchar 16
288 Chapter 10

MaterialInput
The MaterialInput table contains a record for every material consumed in a batch.
Batch Manager is responsible for the data in this table. The structure of this table is
presented below.

Field Allow Null Type Length


Actual_Qty No float 8
Batch_Log_ID No char 10
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
Mtrl_Lot_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
UnitProcedure_ID No varchar 16

MaterialInputChange
The MaterialInputChange table contains a record for every quantity change made
by an operator for a material consumed in a batch. Batch Manager is responsible for
the data in this table. The structure of this table is presented below.

Field Allow Null Type Length


Batch_Log_ID No char 10
CheckBy_User_ID No varchar 16
DateTime No datetime 8
DoneBy_User_ID No varchar 16
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
History System 289

Field Allow Null Type Length


Phase_Label No varchar 8
UnitOrConnection No varchar 16
UnitProcedure_ID No varchar 16

MaterialOutput
The MaterialOutput table contains a record for every material produced in a batch.
Batch Manager is responsible for the data in this table. The structure of this table is
presented below.

Field Allow Null Type Length


Actual_Qty No float 8
Batch_Log_ID No char 10
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
UnitProcedure_ID 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 contains a portion (40
characters) of the comment. The SeqNum field defines the comment sequence.
Batch Manager is responsible for the data in this table. The structure of this table is
presented below.

Field Allow Null Type Length


Batch_Log_ID No char 10
CheckBy_User_ID No varchar 16
DateTime No datetime 8
DoneBy_User_ID No varchar 16
Operation_ID No varchar 16
Operator_Comment No varchar 40
Phase_ID No varchar 16
Phase_Instance_ID No char 10
290 Chapter 10

Field Allow Null Type Length


Phase_Label No varchar 8
SeqNum No int 4
UnitOrConnection No varchar 16
UnitProcedure_ID No varchar 16

PhaseInstruction
The PhaseInstruction 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 is responsible for the data in this table. The structure of
this table is presented below.

Field Allow Null Type Length


Batch_Log_ID No char 10
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
UnitProcedure_ID No varchar 16

ProcessLog
The ProcessLog table contains a record for every data sample logged. Process Log
Manager is responsible for the data in this table. The structure of this table is
presented below.

Field Allow Null Type Length


Batch_Log_ID No char 10
Data_Class No varchar 12
DateTime No datetime 4
Tag_Name N varchar 84
Tag_Value No varchar 16
UnitOrConnection No varchar 16

ProcessVar
The ProcessVar table contains a record for the value of every phase process variable
parameter associated with a batch. Batch Manager is responsible for the data in this
table. The structure of this table is presented below.
History System 291

Field Allow Null Type Length


Actual_Value No varchar 80
Batch_Log_ID No char 10
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
UnitProcedure_ID No varchar 16

ProcessVarChange
The ProcessVarChange table contains a record for every change made to a phase
process variable parameter by an operator during a batch. Batch Manager is
responsible for the data in this table.

Field Allow Null Type Length


Batch_Log_ID No char 10
CheckBy_User_ID No varchar 16
DateTime No datetime 8
DoneBy_User_ID No varchar 16
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
UnitProcedure_ID No varchar 16

ReportDef

Field Allow Null Type Length


ID No int 4
AutoBatchEnd No int 4
292 Chapter 10

Field Allow Null Type Length


CrystalRpt No varchar 260
Description No varchar 120
Name No varchar 32
OutputPath Yes varchar 260
OutputToFile No int 4
OutputToPrinter No int 4
OutputType Yes int 4
Printer Yes varchar 260

ReportLog

Field Allow Null Type Length


ID No int 4
Filename No varchar 260
ReportName No varchar 32
TimeStamp No datetime 8

ReportOutputTypes

Field Allow Null Type Length


FilenameExtension No varchar 10
MimeType Yes varchar 50
Name No varchar 32
Value No int 4

ReportPrinters

Field Allow Null Type Length


Driver No varchar 252
Name No varchar 252
Port No varchar 252

ReportQueue

Field Allow Null Type Length


ID No uniqueidentifier 16
BeingProcessed No bit 1
FilenamePrefix No varchar 128
History System 293

Field Allow Null Type Length


Name No varchar 32
NumAttempts No int 4

ReportQueueParams

Field Allow Null Type Length


ReportQID No uniqueidentifier 16
Name No varchar 32
Value No varchar 8000

ReportViewers

Field Allow Null Type Length


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 is responsible for the data in this table.

Field Allow Null Type Length


Batch_Log_ID No char 10
DateTime No datetime 8
Operation_ID No varchar 16
Transition_Desc No varchar 120
Transition_ID No varchar 16
Transition_Instance_ID No char 10
Transition_Label No varchar 8
UnitProcedure_ID No varchar 16

TransitionExpression
The TransitionExpression table contains a record for each Transition Expression
that is encountered during batch execution.

Field Allow Null Type Length


Batch_Log_ID No char 10
DateTime No datetime 8
Expression_Text No varchar 40
Operation_ID No varchar 16
294 Chapter 10

Field Allow Null Type Length


SeqNum No int 4
Transition_ID No varchar 16
Transition_Instance_ID No char 10
Transition_Label No varchar 8
UnitProcedure_ID No varchar 16

UserProfile
The UserProfile table contains a record that describes a user's identification.

Field Allow Null Type Length


Effective_TS No datetime 8
User_ID No varchar 16
User_Name No varchar 30
Reporting System 295

C H A P T E R 1 1

Reporting System

The reporting system provides users with the ability to schedule, view and print
reports relating to the batch history that is stored on the Batch Information
Server (BIS). The user interface for the reporting system is a web browser which
functions as a reporting client by way of an HTTP connection. Accesses to all
report configurations and batch history on the Batch Information Server is
established using a Microsoft Internet Information Server (IIS).

Contents
• Reporting System Components
• Reporting System Architecture
• Reporting System Security
• Using The Batch Reporting System
• Creating Reports

Reporting System Components


The reporting system utilizes a variety of software components. Some are industry
standard components and others are unique to the batch system. This section
describes the primary components of the reporting system. It is recommended that
you familiarize yourself with the components as this will enable you to more
clearly understand how to deploy the reporting system.

Information Server
The Information Server is an Intel-based PC, running under Windows NT 4.0 or
Windows 2000, that is dedicated to batch information management. The Batch
Information Server contains Microsoft SQL Server, a History Queue, History
Queue Reader Service, Report Queue, Report Queue Reader Service, and the Web
Server (IIS) components.
296 Chapter 11

History Queue
The History Queue is a first-in-first-out (FIFO) queue which is located on the
Information Server that is responsible for transferring all historical data from the
Batch Manager on the Batch Server to the Batch History Database on the
Information Server. The History Queue is also responsible for notifying the report
queue of End-of-Batch and End-of-Phase events which trigger reports.

History Queue Reader


The History Queue Reader is a background executing task (service) which runs on
the Batch Information Server and is responsible for reading report requests from the
history queue and queuing report jobs to the SQL Server database.

Microsoft Internet Information Server (IIS)


IIS is a Microsoft application for publishing documents to an intranet or the
internet.

Report Client
A Report Client is a Microsoft Internet Explorer (5.x or higher) that accesses the
Information Server by way of an HTTP connection (internet or intranet). The
Microsoft IIS on the Information Server contains the Active Server Page (ASP)
content for all Report Configuration, Report Scheduling and Report Viewing.

Report Configuration
Report Configuration is accomplished using ASP content that is hosted on the
Information Server and accessed using a Report Client. Report Configuration
allows users to create the mapping between the named report and the actual Crystal
Reports report file (.rpt) on disk. This tool also allows users to define the
Information Server’s report output printer and/or report file output path.

Report Queue
The Report Queue is a First-In-First-Out (FIFO) queue located on the Information
Server that handles all requests for reporting activity. The queue also contains all
parameter data necessary for the execution of the report.

Report Queue Reader


A background executing task (service) which coordinates the generation of reports
as directed from the report queue.

Report Schedule
Report Scheduling is accomplished using ASP content that is hosted on the
Information Server and accessed using a web browser on a client PC. It also allows
users to define schedules for the reports. Users can schedule reports on a one-shot
basis or a repeating basis.
Reporting System 297

Report View
Report Viewing is accomplished using ASP content that is hosted on the
Information Server and accessed using a web browser on a client PC. Report
Viewing allows users to run and view reports on demand. It also provides the ability
to save reports to disk and/or print them.

Reporting System Architecture


The following diagram is a high level overview of the reporting system.

Reporting Portal
Web Page

ReportSchedule

ReportConfig

ReportView

Report
Output

REPORTING CLIENT

HTTP
Web Browser

Batch Reporting
Web Server (IIS)
Server Components:
- Define
Crystal Server - Schedule
Component - Demand
- Security Intrface

SQL Server 7.0

Report Config
Crystal Reports Table
Directory

History
Tables

SQL Job
Table
BATCH INFORMATION
SERVER
298 Chapter 11

Reporting System Security


When the Information Server is installed, security is disabled. You can configure
security for the reporting system using the Security Editor to modify the parameters
for the ReportWeb application. When you enable security for the ReportWeb
application, the user will be required to enter a User ID and Password before the
system can be accessed.
For more information on configuring security, see Chapter 13, "Security System."

Using The Batch Reporting System


The Batch Reporting web page provides access to the Report Configuration, Report
Schedule and Report View options.
If you have upgraded from an earlier version of InBatch, and have created or
customized Crystal Reports (*.rpt files), it is recommended that you review them
before using them with the latest software. In most cases, editing the reports based
on the newer software will result in faster performance. Also, depending on your
specific implementation, older Crystal Report files may not work.

Note When the Information Server is installed, the Report Path is


C:\BatchInfoServer\Crystal by default. The default Report Path is always
associated with the C: drive even if the Information Server is installed on a different
drive. If the Information Server is installed on a different drive, then the Report
Path must be edited using the Config button on the Information Server's AdminWeb
page. If you change the Report Path, the InBatch_ReportQReader service must be
restarted. Users should consider this when creating and editing recipes that include
reports. For more information on using the AdminWeb page, see Chapter 22,
"System Administration."

Note InBatch 8.0 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 will appear in the list of configured reports on the
ReportWeb web page. The report names will exist in the ReportDef table in batch
history. However, these reports will not be generated.

Batch Reporting
To open the Batch Reporting web page:
On the Environment Display, click the BatchReport icon.
Reporting System 299

If you want to access the Batch Reporting web page from a different computer on
your network, you will need to use the following URL address: http://<computer
name>/ReportWeb, where <computer name> is name of the computer on which the
Information Server is installed.
300 Chapter 11

Report Configuration
The Report Configuration web pages allow you to view, edit, delete, and add report
configurations to the reporting system.

To open the Report Config web page:


1. Click the Report Config button on the Batch Reporting web page.
If security is enabled, enter a valid User ID and Password and click Login.
For more information on managing User IDs and Passwords, see Reporting
System Security later in this section.

2. All of the reports that have been previously configured will appear in the
Configured Reports list.
Reporting System 301

To Add a Report Configuration:


1. On the Report Config page, click the Add Report button to display the Add
Report Config page.

2. Enter the Report Configuration parameters described in items described in the


following table.
302 Chapter 11

Report Configuration Parameters


Parameter Description
Name The name of the report.
Description (optional) Optional text that describes the report.
Crystal Report Template The name of the Crystal Reports Template that will be used
for the actual report layout and content.
Auto Batch End Enable this check box to have the report generated
automatically at the end of a batch.
Output To Printer Enable this check box if you want the report to be printed on a
printer.

NOTE: To use this option you must modify the


InBatch_ReportQReader service logon to use the account
which was used to logon to the Information Server machine.
Printer The printer to which reports will be sent.
Output To File Enable this check box if you want to retain a file copy of the
report.
Output Path The name of folder on the Information Server where the
configured report will be printed.
Output Type The available report options are Crystal Report, CSV, Excel,
Text and Word. To view these reports, you must have the
appropriate application installed on the Report Client.
Reporting System 303

3. When you have finished entering the required configuration data, click the
Add Report button.

To View or Edit a Report Configuration:


1. On the Report Config page, in the Configured Reports list, click the Edit
icon for the Name of the report that you want to edit.
304 Chapter 11

2. Edit the report configuration using the Report Configuration Parameters table
shown earlier.
3. When you have completed your editing, click the Update Report button.

To Delete a Report Configuration:


1. On the Edit Report Config page, select the Delete button that corresponds to
the Name of the report that you want to delete.
2. When you delete the report, it is removed from the system and its name is
removed from the Information Server database.

Note Before you delete any reports, it is recommended that perform a back up.

Report Scheduling
The Report Schedule web pages allow you to define schedules for the reports that
you have configured. Reports can be schedule for one-shot execution or on a
recurring basis. The schedules are stored on the Information Server and can be
edited as your specific application requires.

To open the Report Schedule web page:


1. Click the Report Schedule button on the Batch Reporting web page.
If security is enabled, enter a valid User ID and Password and click Login. For
more information on managing User IDs and Passwords, see Reporting System
Security later in this section.
Reporting System 305

2. All report schedules that have been previously defined will appear in the
Report Schedule list.
306 Chapter 11

To Add a Report Schedule:


1. On the Report Schedule page, click the Schedule New Report button to
display the Add Report page.

2. Enter the parameters described in items described in the following table.


Reporting System 307

Report Schedule Properties


Parameter Description
Name The name assigned for the scheduled report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Report Selection Select the name of the Report Configuration from drop-down list. The list contains the
report configurations that you have defined using the Report Configuration pages.
Report Duration Allows you to set the amount of batch data you want to include by specifying a period
of elapsed time.

Preset Duration - Fifteen Minutes, Thirty Minutes, One Hour, Two Hours, Four Hours,
Eight Hours, One Day (24 Hours), and One Week

Custom Duration - Enter the duration in minutes


Description Optional text that describes the Report Schedule.

3. The Edit Report Schedules page shows all of the details of the schedules that
have just been defined.
4. When you have finished entering the required schedule data, click the Save
Report Data button.
308 Chapter 11

5. On the Report Schedule - Report Detail page, select the report schedule
interval at which the report recurs. The options are as follows.
• Add One Time Schedule
• Add Daily Schedule
• Add Weekly Schedule
• Add Monthly Schedule
Reporting System 309

Add One Time Schedule


Use this option if you want the report to execute one time.

Parameter Description
Name The name of the report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Run Date/Time Date and the Time that you want the report to execute.

Add Daily Schedule


Use this option if you want to schedule the report for daily execution.

Parameter Description
Name The name of the report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Occurs The frequency of recurrence (in days).
Daily Frequency The time and recurrence of the report. The options are:

Occurs Once At - Enter the specified time at which you want the report to execute.

Occurs Every - Enter the interval (in Hours or Minutes), and start and ending time at
which you want report execution to occur.
Duration The length of time during which you want the report to execute. The options are:

Start Date - The date of first execution.

No End Date - Use this option if you want report execution to occur on a recurring
basis (no stop date).

End Date - Use this option in conjunction with the Start Date to specify the duration of
the reporting period.

Add Weekly Schedule


Use this option if you want to schedule the report for weekly execution.

Parameter Description
Name The name of the report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Occurs The frequency of recurrence (in weeks). Check boxes are provided so that you can
select the day(s) of the week on which you want the report to occur.
310 Chapter 11

Parameter Description
Daily Frequency The time and recurrence of the report for selected day. The options are:

Occurs Once At - Enter the specified time at which you want the report to execute.

Occurs Every - Enter the interval (in Hours or Minutes), and start and ending time
(hh:mm am/pm) that you want report execution to occur.
Duration The length of time during which you want the report to execute. The options are:

Start Date - The date of first execution.

No End Date - Use this option if you want report execution to occur on a recurring
basis (no stop date).

End Date - Use this option in conjunction with the Start Date to specify the duration of
the reporting period.

Add Monthly Schedule


Use this option if you want to schedule the report for monthly execution.

Parameter Description
Name The name of the report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Occurs The frequency of recurrence (in months). The options are:

Specify the Day of the Month on which you want the report to occur.

Specify the day of the week and the monthly recurrence of the report.

Example 1: The 2nd Friday of every 6 months.


Example 2: The Last Day of every 1 month.
Example 3: The 1st Day of every 12 months.
Daily Frequency The time and recurrence of the report. The options are:

Occurs Once At - Enter the specified time at which you want the report to execute.

Occurs Every - Enter the interval (in Hours or Minutes), and start and ending time that
you want report execution to occur.
Duration The length of time during which you want the report to execute. The options are:

Start Date - The date of first execution.

No End Date - Use this option if you want report execution to occur on a recurring
basis (no stop date).

End Date - Use this option in conjunction with the Start Date to specify the duration of
the reporting period.
Reporting System 311

6. After you have defined the required Report Schedule, click Add Schedule on
the Edit Report Schedules page.

To View or Edit Report Properties and Schedules:


1. On the Report Schedule page, click the Name of the schedule that you want to
view or edit. This will display the Report Detail for the selected report.

2. To edit the Report Properties, click the here link.

3. Edit the Report Properties as required. Refer to the Report Schedule Properties
described earlier for more information. After you have completed your
changes, click the Save Report Data button to apply the changes.
312 Chapter 11

4. To edit a Report Schedule, click the Name of the schedule that you want to
edit.

5. Refer to the Report Schedule Properties described earlier for more information.

6. After you have completed your changes, click the Edit Schedule button to
apply the changes. The content of the page will vary depending on the type of
schedule that you have defined.

To Delete a Report Schedule:


1. On the Edit Report Schedule page, in the Report Schedules list, locate the
Name of the schedule that you want to delete and then click Delete.
The report schedule will be deleted from the Report Schedules list.

Report Viewing
The Report View web pages allow you to Run and View reports that have been
defined in your system.

To open the Report View web page:


1. Click the Report View button on the Batch Reporting page.
If security is enabled, enter a valid User ID and Password and click Login.
For more information on managing User IDs and Passwords, see Reporting
System Security later in this section.
Reporting System 313

2. All of the reports that have been previously defined will appear in the Reports
list.
314 Chapter 11

To Run a Report:
1. On the Report View page, click the Run button associated with the report that
you want to view. This displays the Report View - Run Report page.

2. The contents of the Run Report page will vary depending on the type of report
that you have defined.
3. After entering the required information, click the Run button.
The specific output for a report depends upon the configuration defined earlier
in this section. Running a report may result in an output to a browser window, a
file on disk, a printer device and so on.
Reporting System 315

To View a Report:
1. On the Report View page, click the View button associated with the report that
you want to view. This displays the View Report page.
All instances for the selected report that have been printed to a disk file are
listed.
2. Identify the instance (as determined by Date/Time) and then click the
corresponding View button.
Report formats are defined when you configure a report and include: Crystal
Report, CSV, Excel, Text and Word.

Note Viewing a report requires installation of the appropriate application on the


system on which you intend to view the report.

Creating Reports
The reporting system provides a Batch Journal report template which consists of a
comprehensive journal of batch history for a specific batch. Other report templates
are provided with the software; however, they are not supported and should only be
used as examples which you can use to design your own custom templates.

Unsupported Report Templates


The following report templates are intended only to be used as examples for the
development of custom reports. These templates are stored on the Information
Server (BatchInfoServer/Crystal folder) and are accessed using Seagate Crystal
Reports. A summary of each template is provided.

Report Name Description


BatchDetail Provides a summary of all batch execution activity for a batch.
BatchesByMaterial Provides a list of batches that used a specific material or material from a
specific vendor.
BatchListing Provides a summary report of all batches produced.
BatchQuestions Provides a summary of all questions for a batch.
DocumentViewEvents Provides a listing of the Documentation Review events for a recipe.
EquipmentStatus Provides a listing of all Equipment Status changes that occurred during
batch execution.
MaterialChar Provides a summary of all material characteristics for a campaign, lot
and batch.
MaterialInputChanges Provides a summary of the changes made by operators to the original
formula inputs quantities for a batch.
MaterialInputs Provides a summary of all materials consumed in a batch.
MaterialOutputs Provides a summary of all materials produced by a batch.
MaterialOutputTotals Totals all materials produced for a batch.
OperatorComments Provides a summary of all operator comments for a batch.
PhaseInstructions Provides a summary of all recipe phase instructions for a batch.
316 Chapter 11

Report Name Description


ProcessLog1 Provides a summary of all process log values for a batch.
ProcessLog2 Provides statistical information of all process log values recorded for a
specific tag.
ProcessLog3 Provides a graphical representation of all process log values recorded for
a specific tag.
ProccessVariables Provides a summary of all process variable target and actual values for a
batch.
ProccessVariablesChanges Provides a summary of changes made by operators to the original
formula process variables for a batch.
ProductByLot Provides a summary of all finished products produced.
ProductionReport Provides a summary report that includes number of finished products
produced, number of lots, number of batches and total quantity
produced.
SecurityListing Provides a summary report of all security related activity for a batch.
Process Logging 317

C H A P T E R 1 2

Process Logging

The Process Logging system captures data at periodic time intervals or based on the
occurrence of events, and then logs the data to a printer or to the history database
for storage.

Contents
• Overview
• Process Log Criteria
• Using Process Log Editor
• Creating a Process Log Group
• Using Process Log Manager

Overview
Use Process Log Editor to create Process Log Configurations and store them in the
Process Log Database. A Process Log Configuration consists of one or more groups
of tags with each group having its own logging criteria. The criteria specify how the
groups of tags and their respective values will be sampled and logged at runtime by
the Process Log Manager.
318 Chapter 12

Process Log Criteria


Each Process Log Configuration consists of one or more groups of tags. Each group
specifies its own general logging criteria, consisting of a Log Trigger, Log Event
and Data Destination. All of the tags that are a part of the process model are
available for selection.

General Logging Criteria


The following section describes how to configure process logging criteria.

Log Trigger
The Log Trigger defines the condition(s) that initiate logging for the group. The
Log Trigger options are Always and On Event. If Always is selected, logging will
begin as soon as the run-time Process Log Manager is started. If On Event is
selected, a true/false Boolean expression is evaluated. If the result of the expression
is true, logging occurs.
Expressions are defined using the Expression Editor. The Expression Editor is
used to create a true/false Boolean expression using any of the tags in the process
model. A Boolean expression, for example, could simply be a discrete tag. When
the tag is true (value of 1), logging for the group will begin. When the tag is false
(value of 0), logging will stop. An example is provided later in this section.
For more information on building expressions, see Chapter 14, "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 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, and 24
hours. If On Event is selected, a true/false Boolean expression must be defined.
The Expression Editor is used to create a true/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 will be logged.

Note Logging only takes place when the trigger and interval settings are satisfied.
Process Logging 319

This example shows a simple Boolean expression that initiates logging whenever
ReactorA is allocated.
For more information on building expressions, see Chapter 14, "Expression Editor."

Data Destination
The data destination defines where the logged data will be directed during run-time
execution. Data can be logged to the Historian, a Printer, or both.

Tags
Tags that are logged as part of the group are assigned from the Tag Selection
window which is accessed from the Process Logger Group Editor. All analog and
discrete tags in the process model database are available for selection. You can
select as many tags as you want.
320 Chapter 12

Using Process Log Editor


Use Process Log Editor to create and edit configurations for logging. A
configuration consists of one or more groups of tags. The criteria for each group
can be uniquely configured. You can create an unlimited number of groups, each of
which may contain an unlimited number of tags.

To Start the Process Log Editor:


1. Double-click the LogEdit icon in the Environment Display.
2. The Process Log Editor window will appear.

3. Enter a Configuration Name (16-char max) and optionally, a Description


(120-char max).

Note If you modify a Process Log Configuration that is in use by the runtime
system, you should stop and then restart the Process Log Manager so that your
changes take effect.

File Menu
Use the File menu to access system functions for your process log configurations.

File/New
Use the File/New command to create a new process log configuration.

To Create a Process Log Configuration


1. Click File and then select New.
2. The Process Log Editor window will appear.

Note If you have edited a configuration and do not save it, you will be prompted to
save or discard it prior to the creation of a new configuration.

3. Enter a Configuration Name (16-char max) and optionally, a Description


(120-char max).
Process Logging 321

File/Open
Use the File/Open command to open an existing process log configuration.

To Open a Configuration:
1. On the menu bar, click File and select Open.
2. The Configurations window will appear.

Note If you have edited a configuration and did not save it, you will be prompted
to save or discard it prior to opening a different one.

3. From the Configurations window, select the configuration that you want to
open.
4. Click Open.

File/Save
Use the File/Save command to save a process log configuration.

To Save a Configuration:
1. On the menu bar, click File and select Save.
2. The Configurations window will appear.

Note The save option is unavailable if you have opened a configuration but have
not made any changes,.

File/Validate
Use the File/Validate command to validate a process log configuration. The
validation process verifies that all of the tagnames assigned in the configuration are
available in the process model.

To Validate a Configuration:
1. On the menu bar, click File and select Validate.
322 Chapter 12

2. The Validate window will appear. If the validation is successful, the window
will display the message: “Process Log configuration is valid.” If the
configuration contains errors, all invalid tagnames will be listed.

File/Delete
Use the File/Delete command to delete a process log configuration from the
database.

To Delete a Configuration
1. On the menu bar, click File and select Delete.
2. The Delete window will appear, requiring you to confirm the deletion.

Note When you delete a process log configuration, it is removed from the
database. However, Process Log Editor will still display the Configuration Name
and Description of the deleted configuration. To clear these fields, you must use
the File/New command.

File/Print
Use the File/Print command to select from one or more pre-formatted reports, and
then print the process log configuration. The print window also provides standard
Windows printer options.

To Print a Configuration:
1. On the menu bar, click File and select Print.
2. The Print window will appear.
Process Logging 323

3. In the Select Reports list, select item(s) that you want.


4. Select other printer options as required.
5. Click OK to print the report and close the window.

Note If you want to print several reports, press and hold the control or shift key,
while selecting from the list with the left mouse button.

File/Print Preview
Use the File/Print Preview command to select one or more formatted reports, and
then view the report(s) on the screen.

To Preview a Configuration Report:


1. On the menu bar, click File and select Print Preview.
2. The Select Reports window will appear.

3. Select the report(s) from the list


4. Click OK.

Note If you want to preview several reports, press and hold the control or shift
key, while selecting from the list with the left mouse button.

File/Print Setup
Use the File/Print Setup command to select and configure a printer. Refer to your
printer manufacturer’s documentation for more information.

To Setup your Printer:


1. On the menu bar, click File and select Print Setup.
2. The Print Setup window will appear.
324 Chapter 12

File/Exit
Use the File/Exit command to close the Process Log Editor.

To Close the Process Log Editor:


On the menu bar, click File and select Exit.

Note If you have edited a configuration and did not save it, you will be prompted
to save or discard the changes prior to closing the Process Log Editor.

Edit Menu
Use the Edit menu to access system functions to define the criteria for your process
log configuration.

Edit/Groups
Use the Edit/Groups menu to define the criteria for your process log
configurations. For each group that you define, you must configure the general
logging criteria and tags. General logging criteria consists of configuring a Log
Trigger, Log Interval, and a destination for the logged data. The tags that are
available for selection are those that exist in the process model.
Process Logging 325

Creating a Process Log Group


The steps involved in the creation of a Process Log Group are summarized below.
• Create a Process Log Configuration
• Create a Process Log Group
• Define Trigger and Event
• Select Data Destination
• Select Tags

To Create a Process Log Configuration:


1. On the menu bar, click File and then select New.

2. Enter a Configuration Name (16-char max) and an optional Description


(120-char max).
3. Click Edit and then select Groups.
The Process Logger Group Editor window will appear.
326 Chapter 12

4. Enter a Group Name, Name (16-char max) and an optional Description


(120-char max).
5. Click Add.
6. The Group Name that you entered will appear in the Process Logger Group
Editor Group Names list.

Note All Group Names are verified for uniqueness when you click Add or
Change.

To select a Log Trigger and a Log Interval:


1. Click Log Trigger and then select On Event.
When you select the On Event option, you must also provide an expression,
using the Expression Editor, for the event.
2. Click the Expression button to open the Expression Editor.
Process Logging 327

3. Enter an expression. In this example, the Boolean expression,


{ReactorA---BATSZ.Value}>1000, initiates logging when the batch size in
ReactorA is greater than 1000.

4. Click OK to close the Expression Editor.


5. The expression that you entered will appear in the expression field of the
Process Logger Group Editor.

6. Select a Log Interval by repeating repeat steps 1 through 4.


For more information on building expressions, see Chapter 14, "Expression Editor."
For more information on configuring logging criteria, see “General Logging
Criteria” on page 318 in this section.

To Select a Data Destination (Printer and/or Historian):


1. If you want to log process data to the history database, enable the Historian
check box in the Process Logger Group Editor.
2. If you want to log process data to a printer, enable the Printer check box in the
Process Logger Group Editor and then click the Printer button.
The Printer Selection dialog appears.
328 Chapter 12

3. Select the printer that you want from the list and then click OK.

To Select Tags:
1. On the Process Logger Group Editor, click Select Tags.
2. The Tag Selection window will appear.
Process Logging 329

3. From the list, select the tags that you want to include in the process log.

Note You can sort the list by clicking a column heading. For example, to sort the
list by parameter, click the Parameter heading. If you want to select multiple tags,
press and hold the control or shift key, while selecting from the list.

4. Click OK.
5. The Tag Selection window will close and the tags that you selected will appear
in the Process Logger Group Editor.
330 Chapter 12

6. On the Process Logger Group Editor, click Close.

To Validate and Save the Configuration:


1. On the Process Log Editor, click File and then select Validate.
2. The Validate window will appear.
3. Ensure that the window does not indicate an error, and then click Close.
4. Click File and then select Save.

Note If you have not entered a Configuration name, you will be prompted to do
so. If you have made changes to an existing configuration, you will be prompted to
overwrite the configuration. If you have not made any changes to the configuration,
the Save option is unavailable.
Process Logging 331

Using Process Log Manager


Process Log Manager (LogMngr) is a runtime program that is responsible for
retrieving and passing the data to the historian or the printer. Data is sampled and
stored only when the conditions specified for the log triggers and log intervals are
met.
Process Log Manager continuously monitors all of the log triggers and log intervals
in order to provide the required logging for each group.

Starting Process Log Manager


Process Log Manager is a runtime application that is configured using the
Environment Editor It is started from the Runtime Application Display window in
Environment Display. A Configuration application parameter corresponding to the
configuration name defined in the Process Log Editor is required.

WARNING! If you stop the Process Log Manager while it is in the process of
logging data at a fast interval, or if there is batch activity that will result in data
logging, data loss can result. It is strongly recommended that you only stop Process
Log Manager when logging activity is minimal.

Runtime Logging Criteria


Process Log Manager logs tag values to the history database. Logging occurs only
when a batch is active for the associated unit or connection. The name of the unit or
connection can be found in the first field of the tagname. Batch information is
obtained from Information Manager (InfoMngr) application at runtime and
recorded with the tag value in history.
For example, the ReactorA-Heat-Temp-ACT tag would only be logged if there were
a batch active in the ReactorA unit.

Note If a batch is not active within the unit or connection, the value is not logged.
332 Chapter 12
Security System 333

C H A P T E R 1 3

Security System

The Security System provides a high level of protection for all recipe and batch
management applications, functions, operator stations, and products. System design
is open and completely configurable allowing external applications to be easily
interfaced
Configuration of the system consists of defining system security parameters,
security levels, operator stations, user accounts, application access security levels,
and application function security levels.

Contents
• Overview
• Using Security Editor
• Security System Configuration
• Security Levels
• Operator Stations
• User Accounts
• Applications-Functions

Overview
The security system consists of the Security Editor, Security Manager, and a
Security Application Program Interface (API).
The Security Editor is used to edit the system security configuration. All of the
batch management system applications and functions are provided with the system.
All applications utilize the Security API when security clearance is required. When
needed, the application prompts the operator for their ID and password. The
information is compiled into a security request message and sent to the Security
Manager along with the application and/or function name, 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 database and returns an OK or NOT OK result to the application making
the request. The application acts on the result accordingly.
334 Chapter 13

Using Security Editor


Use Security Editor to manage security configuration for the batch management
system. This includes adding, deleting, or changing security levels, operator
stations, user accounts, applications, functions, and security level assignments.

Note The InBatch security system is independently licensed for the FlexFormula
and Premier Edition. Unlicensed users see a license error in the Wonderware
Logger when trying to launch Security Editor. This will occur whether you are
using a Batch Server or a Development Client.

To Start Security Editor:


1. In the Environment Display, double-click the SecEdit icon.

The Security Editor window will appear.


Security System 335

Note If security has been enabled for accessing Security Editor, the Security
Clearance Request window will be displayed and you will be prompted to enter a
valid User ID and Password.

Using Security Editor for the First Time


If you are using Security Editor for the first time, you will be required to enter the
default User ID (system) and Password (system) in the Security Clearance
Request window. You will then be required to enter and verify a new password in
the New Password window.
Passwords must be at least six characters in length.
336 Chapter 13

File Menu
Use the Security Editor File menu to access system functions for Security Editor.

File/Validate
Use this command to validate security configuration. Validation consists of
verifying that all the recipes assigned to users exist in the recipe database and that
the Password Timeout and Password Reuse values are non-negative.
If the validation is successful, the validation window will indicate that the
configuration is valid. If validation errors exist, the associated tags will be
displayed along with a validation error message.

File/Print
Use this command to display the Print window.

Use the Select Reports list box to select one or more formatted reports.
Security System 337

File/Print Preview
Use this command to display the Select Reports window. You can select the
report(s) that you want and then preview them on the screen.

File/Print Setup
Use this command to setup up your printer devices. Refer to your Windows
documentation for more information.

File/Exit
Use this command to close Security Editor.

Note All of your work is saved in the security database as you edit and make
changes to the security configuration.

Edit Menu
Use the Security Editor Edit menu to access security configuration windows.

Edit/Security Levels
Use this command to access the Security Levels Editor.

Edit/Operator Stations
Use this command to access the Operator Stations Editor.

Edit/User Accounts
Use this command to access the User Accounts Editor.

Edit/Applications-Functions
Use this command to access the Applications-Functions Editor.
338 Chapter 13

Help Menu
Use the Security Editor Help menu to display online help and view version
information for Security Editor.

Help/Help Topics
Use this command to display online help for Security Editor.

Help/About Security Editor


Use this command to view version information.

Security System Configuration


Use the Security Editor window to configure the overall operation of the security
system. Proper security system operation is dependant upon the options described
below.

Security Enabled
Use the Security Enabled check box to enable or disable the entire security system.
Disabling the system may be desirable during start-up or when maintenance is
required on the process.

Retries
The Retries entry is associated with the number of requests a user is permitted to
attempt in order to obtain a security clearance. If the number of retries is exceeded,
an error message shall be displayed and access will be denied. For example, if the
retries value is set to 2, the error message is displayed following the third invalid
entry. If desired, the operator may immediately re-attempt to obtain security
clearance.

Password Timeout
The Password Timeout specifies the time period, in days, that a password is valid.
Any passwords older than the set period will automatically expire. After a timeout,
the user will be required to enter their old User ID and Password before security
clearance is granted. The user will then be required to change their password when
security clearance is requested

Password Reuse
The Password Reuse specifies the time period, in days, which must pass before a
password can be re-used. This feature prevents operators from repeatedly using the
same password.
Security System 339

Comment
This optional field can be used to document or comment on the security system
configuration.

Security Levels
Use the Security Levels Editor window to add, delete, and change security levels
in the system. Security level names are verified to ensure uniqueness. New security
levels can be added to the security system at any time. There is no restriction placed
on the number of security levels that you can assign.

To Edit a Security Level:


1. In the Name field, enter a security level (16-chars max). You can also
optionally enter a Description (120-chars max) in the Description field.
2. Click Add if you are entering a new Name, or click Change if you are editing
an existing Security Level.

To Delete a Security Level:


1. Select the Security Level that you want to delete from the list.
2. Click Delete.

Note When a security level is deleted, all users that are assigned that level will
have their security level assignment deleted. If a user does not have a security level,
the user will not be able to obtain security clearance.
340 Chapter 13

Operator Stations
The Operator Stations Editor dialog is used to add, delete, and change operator
stations in the system.

New operator stations can be added to the security system at any time, and there is
no limit to the number of stations that can be defined.
An operator station can be any computer that is a part of your system. The name
defined for the Batch Server or a Batch Development Client corresponds to the
network host name assigned to the node. The name defined for the Batch Runtime
Client corresponds to the Client Type Instance.

Note Both the network host name and the client type instance name must be
defined for nodes that function as both a batch server and a runtime client.

To Edit an Operator Station:


1. In the Name field, enter an operator station (16-chars max). You can also
optionally enter a Description (120-chars max) in the Description field.
2. Click Add if you are entering a new Name, or click Change if you are editing
an existing Operator Station.

To Delete a Security Level:


1. Select the Operator Station that you want to delete from the list.
2. Click Delete.
Security System 341

User Accounts
Use the User Accounts window to add, delete, and change users in the system.

User account names are verified to ensure uniqueness. New users can be added to
the security system at any time, and there is no limit to the number of user accounts
that can be defined.
You can assign passwords to a user and select specific recipes and operator stations
on which the operator is authorized. These account configuration options are
described in the following section.

To Edit a User Account:


1. Enter a User Name (30-chars max).
2. Enter a User ID field (12-chars max).
3. Use the Security Level, Password, Recipes and Op Stations buttons to assign
additional security parameters to the account. Additional information on these
buttons is provided immediately following this section.
4. Click Add if you are entering a new User Account, or click Change if you are
editing an existing User Account.

To Delete a User Account:


1. Select the User Name that you want to delete from the list.
2. Click Delete.
342 Chapter 13

Security Level
Security Levels typically define a user’s job function, such as Operator, Supervisor,
Lab Technician, Mixer Operator, Boiler Operator, Control Engineer, etc.
Assign security levels by clicking Security Level button.

You can only assign one security level to a user.

Password
A password can be assigned to a user be selecting the Password button. A
password must contain between 6 and 12 characters.
Because the combination of user ID and password will always be unique in the
system, duplicate passwords are permitted. Passwords expire when the Password
Timeout period defined for the system is reached. User passwords are
independently maintained.
If an invalid password is entered or the new and verified passwords are not the
same, an error message is displayed.
All passwords in the system are stored and transmitted in an encrypted format.
Security System 343

Recipes
Use the Recipe Access window to assign recipes to a user. You can assign as many
recipes to a user as required. If you do not want an operator to have recipe access,
you do not have to grant it. Recipe assignments provide protection against operators
working on products for which they have not been trained.
Recipes can be assigned to a user by selecting the Recipes button.

All of the recipes that have been approved for production or approved for test in the
Recipe Editor are available for assignment. In addition, all recipes can be assigned
by enabling the All Recipe Access check box.

Note Security for the Delete Recipe Function does not restrict the user to a
specific number of recipes to access when the recipe access list is intended to be
restricted. This allows the user to delete any recipe in the list, not just the ones he is
restricted to. RecipeEdit does not use Security Editor's list of recipes assigned to a
user. Recipes that are available for configuration in the Security Editor restrict
runtime access only. That is, the configuration that you are changing is applicable
when the listed recipes are executed as part of a batch. There is no real correlation
between recipe definition in the security editor and the Recipe Editor. To more
appropriately manage these types of requirements, you may want to configure each
user's security model (That is, the definition and configuration of users, levels,
operator stations, etc.). When you are setting up the accounts, you can configure
each for unauthorized recipe deletion, saving, etc.
344 Chapter 13

Operator Stations
Use the Operator Stations window to assign specific operator stations to users.
You can assign as many operator stations to a user as required. If you do not want
an operator to have access to an operator station, you do not have to grant it.
Operator station assignments provide protection against operators working at
operator stations for which they have not been trained or should not have access.
Operator stations can be assigned to a user by selecting the Op Stations button.

All operator stations that have been defined using the Operator Stations Editor are
available. You can assign all stations by enabling the All Station Access check box.
Security System 345

Applications-Functions
Use the Applications-Functions Editor to add, delete, and change applications or
functions defined for an application, assign security levels to restrict access to
applications, and assign security levels required for the done-by and check-by
functions. A description of the applications and their associated functions is
described later in this section.
346 Chapter 13

Adding a New Application


New applications can be added at any time. An application consists of a numeric
identification (ID) between 1 and 999, a Name (16-chars max), an optional 120-
character description,. Use the Security Enabled check box to enable or disable the
need for at application startup security.

Note When designing a new application, make sure that you use the same
application ID when making security clearance requests through the Security API.

The Security System is provided with the standard batch management system
applications. Each application has a pre-defined ID and name. The ID is used
whenever a security clearance request is sent to the Security Manager. The default
application ID and name cannot be changed. If the ID and/or name information is
altered, an error message is displayed.

Enabling Application Security


Application security should be defined if access to starting an application needs to
be restricted. Each application can be assigned one or more security access levels if
security is enabled and more than one level of user is permitted to access the
application.
Access security levels can be assigned to an application by selecting the Access
command button.
This displays the Assign Security Levels assignment dialog.

All security levels that have been defined in the Security Levels Editor are
available.

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.
Security System 347

WARNING! 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 Display 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 will pass a
security request.

Adding a New Function


New functions can be added at any time. A function consists of a numeric
identification (ID) between 1 and 999, a Name (16-chars max), an optional 120-
character description, a Security Enabled check box that is used to enable or
disable security to perform and verify the function, and security levels permitted to
perform and verify the function.

Note When designing a new function, make sure to use the same application ID
when making security clearance requests through the Security API.

The Security System is provided with a standard set of appropriate functions for
each Batch management system application. Each function has a pre-defined ID
and name. The ID is used whenever a security clearance request is sent to the
Security Manager. The default function ID and name cannot be changed. If the ID
and/or name information is altered, an error message is displayed.

Enabling Function Security


Function security should be defined if access to executing any function needs to be
restricted. Each function can be assigned one or more Done By and Checked By
security levels if function security is enabled and more than one level of user is
permitted to perform or verify the function. Function Done By and Checked By
security levels are assigned by selecting the Done By and Checked By buttons
respectively. Each displays the Access Security Levels assignment dialog. All
security levels that have been defined in the Security Levels Editor are available.

Note Security is not enabled unless the appropriate check box has been set and
one or more Done By security levels have been defined. Also, Checked By security
is not enabled unless there is also Done By security defined. If the Done By security
levels are removed and there are Checked By security levels assigned, an error
message is displayed notifying the user that Done By levels cannot be removed.
Finally, security can be enabled for functions even if security is not enabled for the
parent application.
348 Chapter 13

Application - Function Descriptions


The following table describes the available Applications (default) and the
associated (default) Function descriptions for each. The Function Names and
Descriptions shown in the table can be edited as required for your application.

Application Function Description


Batch Client Abort Batch Enables a batch client to abort an active batch.
Abort Phase Enables a batch client to abort an active phase.
Ack to Enter Enables a batch client to require an Acknowledge after the entry
of batch information.
Ack to Exit Enables a batch client to require an Acknowledge in order to
Allocate Equip
Answer Question
Chg Batch Mode
Control Buttons
Edit Phase Param
Enter Comment
Hold Batch
Hold Phase
Jump Batch
Launch FoxSCF
Manual Operation
Release Equip
Restart Batch
Restart Phase
Selecet Equip
Unit Abort
Unit Hold
Unit Restart
Access Schedule
Save Recipe
Save Recipe
Edit Phase
Force Transition
View Doc
View Doc Ack
Security System 349

Application Function Description


Environmenmt Start/Stop Apps Enables the startup and stopping of the Environment Display
Display batch runtime applications.
Update Envnmt Enables the Update Environment feature on Environment Display.
Update Model Enables the Update Configuration feature on Environment
Display.
Exit & Shutdown Enables Exit and Shutdown of the batch system from
Environment Display.
Force Master For Redundant Systems Only - Enables the Force Master feature.
Envnmnt Editor Edit System Apps
Add New Apps
Edit New Apps
Materials Editor Location Editor
Material Editor
Recipe Editor Author
Approval#2
Approval#3
Approval#4
Approval#5
Approval Test
Delete Recipe
Assign States
Edit States
Assign States
Edit Types

Runtime Security
The runtime security system interfaces with the security database and the security
API to permit or deny requests for security clearance that are received from the
batch control applications.

Starting the Security Manager


If the installation instructions are performed correctly, the Security Manager will be
running as long as the Batch Server node is turned on and operating correctly. This
can be verified by selecting the View/Status… menu option from the Environment
Display. The System Application Status dialog will indicate the current status of
the security system.
350 Chapter 13

Changing Passwords
Use the Change Password (ChgPwd) window to change user passwords whenever
required.

The window prompts the user for their User ID, Current Password, New
Password, and to Verify Password. If all of the information has been entered
correctly, the user has successfully changed their password.
If an invalid user identification or current password is entered or the new and
verified passwords are not the same, an error message will be displayed.

Application Security Requests


When the overall security system has been enabled and an application is started that
has security enabled and one or more security levels configured, the Security
Manager will display the Security Clearance Request window.

The user must enter their User ID and Password. If the user is permitted to access
the application, the application will start when OK is clicked.
If the user is not permitted to access the application, an error message will be
displayed notifying the user that permission has been denied. The error message
will also provide some information as to why access was denied.
If the user’s password has not yet been defined or the password has expired, the
New Password window will be displayed. This will require the user to enter their
current User ID and Password, and then enter and verify a new password.
Security System 351

Function Security Requests


When a function within an application is encountered that has security enabled, and
one or more security levels configured for either the Done By and/or Checked By
options, the Security Manager will display the Done By (or Check By) Security
Clearance Request window.

The user must enter their User ID and Password. If the user is permitted to perform
or verify the function, the function will execute when OK is clicked.
If the user is not permitted to access the function, an error message will be
displayed notifying the user that permission has been denied. The error message
will also provide some information as to why access was denied.
If the user’s password has not yet been defined or the password has expired, the
user will be required to enter User ID and Password as explained earlier in this
section.

Note When a user-defined application or function is executed, the code for the
application and/or function must transmit the required security request to the
Security Manager through the Security API. As with the default applications and
function, the user must enter their ID number and password. If the user is permitted
to use the application or function, it will be performed. If the user is not permitted
to access the application or function, one of the above error messages will be
displayed notifying the user that permission has been denied.
352 Chapter 13
Expression Editor 353

C H A P T E R 1 4

Expression Editor

The Expression Editor is used within the Recipe Editor and Process Log Editor to
construct expressions. An expression consists of predefined functions. For each
application, the expression normally returns a logical true or false result.
Expressions are entered when recipes or other configurations are defined.
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/false Boolean expressions for transition logic and loop-back
logic. The Process Log Editor uses the Expression Editor for defining a Log Trigger
and a Log Interval. In all cases, the Expression Editor functionality is the same.

Contents
• Using Expression Editor
• Expression Elements
• Expression Building Rules
• Expression Examples

Using Expression Editor


The Expression Editor functions similar to a calculator, except that results are not
calculated immediately. Instead, expressions are evaluated and results returned
whenever the application needs them.
Expressions are constructed in an Edit Area using the Formatting Commands,
Numeric Keypad, Operators, Delimiters, Tags, and Functions. Expressions can be
entered by using the mouse or the computer keyboard.

Starting the Expression Editor


The Expression Editor is displayed whenever an application requires you to define
an expression.
When the Expression Editor is invoked, the Expression Editor window is
displayed. From this window, an appropriate expression can be defined.
354 Chapter 14

Editing an Expression
Expressions are defined in the Edit Area. The Edit Area functions very similar to a
word processor. All entries are automatically inserted to the right of the cursor.
Therefore, each time a numeric key, operand, or delimiter key is selected, the
character will be inserted. Your computer keyboard can also be used to enter an
expression.
After the expression is completed, click OK or Apply to save the expression to the
target object. If the expression is not valid, an error message will be displayed
indicating the nature of the error. The cursor will be positioned near or immediately
after the error.

Numeric
Formatting
Edit Area Keypad Operators
Commands
Delimiters

Formatting
Functions Commands

Edit Buttons
The Formatting Commands (Space, Back Space, New Line, Tab, Store, Recall,
Clear, and Reset) are available to assist you in constructing expressions. The Store
and Recall are two buttons that are especially helpful for reusing expressions.
Expression Editor 355

Whenever the Store button is selected, the expression displayed in the Edit Area
will be stored. The Recall button is used to retrieve and re-display the stored
expression. This feature is extremely helpful when there are several expressions
that are similar. The Store and Recall buttons would be used as follows.
1. After completing the first expression, save the expression to the target object
(for example, a recipe transition object or a report expression trigger) by
clicking Apply, and then clicking Store to store the expression.
2. Next, select the new target object. Upon selecting, the Edit Area will be
cleared.
3. Click Recall to retrieve the expression.
4. Modify the expression as needed, then Apply the expression to the new object.
Functions can be entered by typing them in or they can be automatically inserted
into the expression using the selection dialogs. The details of each function are
described in the following pages.

To Insert a Function:
1. Click inside the Edit Area at the desired position.
2. Click Functions. The Functions window will appear.

3. Select the desired function. This will insert the function, with the appropriate
delimiters, into the Edit Area.

Expression Elements
The following sections describe, in detail, the elements available for constructing
expressions.

Operators
An operator is a symbol used to manipulate the value of one or more operands.
Below is a list of valid operators from highest precedence to lowest.
356 Chapter 14

Operator Symbol Description


Negate - Negates value of next operand.
Multiply * Multiplies values of previous and next operands.
Divide / Divides value of previous operand by next operand.
Modulus % Remainder of division between previous operand and next operand.
Add + Adds values of previous and next operands.
Subtract - Subtracts value of previous operand by next operand.
Less Than < TRUE if previous operand is less than next operand; else FALSE.
Less Than or <= TRUE if previous operand is less than or equal to next operand; else FALSE.
Equal To
Greater Than > TRUE if previous operand is greater than next operand; else FALSE.
Greater Than or >= TRUE if previous operand is greater than or equal to next operand; else FALSE.
Equal To
Equal To = TRUE if previous operand is equal to next operand; else FALSE.
Not Equal To <> TRUE if previous operand is not equal to next operand; else FALSE.
And & TRUE if previous operand and next operand are TRUE; else FALSE.
Or | TRUE if previous operand or next operand is TRUE; else FALSE.
Assignment := No usable return value. Writes next operand to 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). Below is a list of valid operands.

Operand Type Description


Numeric Constant Numeric Numeric Values. (e.g. 123.456)
String Constant String String of characters within double quotes. (e.g. “Allocated”)

Functions
There are seven functions currently available. All of the functions are available in
the Recipe Editor. However, only the Not function is available in the Process Log
Editor applications.

Function Example Description


Ask Ask (“Continue?”) Used only in the Recipe Editor to ask yes/no type questions of
operators.
AskDoneBy AskDoneBy Used only in the Recipe Editor to ask yes/no type questions that
(“Continue?”) require confirmation that the question has been answered.
AskCheckBy AskCheckBy Used only in the Recipe Editor to ask yes/no type questions that
(“Continue?”) require confirmation and verification that the question has been
answered.
Expression Editor 357

Function Example Description


Not Not(Ask("OK?")) Negates the result of the Boolean expression within the
parenthesis. Converts a numeric result of value greater than 1 to 0.
Converts a numeric result of value 0 to 1.
WaitSec WaitSec(10) Used only in the Recipe Editor. When encountered, execution will
be delayed the specified number of seconds.
WaitMin WaitMin(30) Used only in the Recipe Editor. When encountered, execution will
be delayed the specified number of minutes.
WaitHour WaitHour(1) Used only in the Recipe Editor. When encountered, execution will
be delayed the specified number of hours.

Delimiters
There are five delimiters that are used to identify operands and to build expressions
within expressions (recursive expressions).

Delimiter Example(s) Description


Parentheses - (...) ((10 + 1) * 20) Used for setting precedence.
Ask("OK?") Used to define a function argument.
Not(Ask("OK?")) Used to nest expressions.
Quotes – “...” ‘Text String” Quotes are used to identify a string.
Comma - , N/A Used to separate function parameters which can be
operands or expressions.

Expression Building Rules


The following rules must be followed when defining expressions.
1. Dividing by zero will return a result of zero.
2. Negate is only valid on numeric operands.
3. Add, Subtract, Multiply, and Divide are valid only when used with numeric
operands.
4. Modulus can only be used with numeric integer values.
5. Less Than, Greater Than, Less Than or Equal To, Greater Than or Equal To,
Equal To, and Not Equal To are valid only when evaluating non-Boolean
operands and/or expressions that have a non-Boolean result.
6. AND and OR operators are only valid when evaluating Boolean operands
and/or expressions that have a Boolean result.
358 Chapter 14

Expression Examples
The following examples are included to illustrate the types of expressions that can
be created as well as expressions that are invalid.

Expression Result Description


Ask("Ready?") Valid Operator is asked Question. Ask function does not evaluate TRUE or
FALSE until it is answered.
WaitSec(10) Valid 10 second delay. 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 is up)
5<3 Valid Evaluates FALSE
WaitMin(5 + 5) Valid 10 minute delay. Evaluates TRUE after 10 minutes. (Unitl then it is
neither TRUE nor FALSE.)
Ask("OK?") | WaitSec(10) Valid This is a valid expression but may not yeild the expected results. Since
BOTH functions must evaluate in order 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 end result as
WaitSec(10) the one above.
WaitSec(10) Or Invalid The "Or" operator is invalid. Use the | character.
WaitSec(5)
Unit Procedure Logic Development and Testing 359

C H A P T E R 1 5

Unit Procedure Logic


Development and Testing

The batch management system controls and monitors the execution of batches
through unit procedure logic. This logic can reside in the server or client platform, a
PLC, a DCS, or other control system used to evaluate logic and/or interface with
manufacturing equipment. Even though the logic blocks can reside in many
different locations, the interface between the batch management system and the unit
procedure logic block is the same and must follow certain guidelines.
This section is intended to provide the control engineer with information on how to
design and test unit procedure logic blocks. A unit procedure block testing tool is
provided and is described later in this section.

Note This information is written in a very generic manner in order to address the
overall use of unit procedure logic, and is intended to be used strictly as a guide.
The concepts can be applied regardless of the control system in which the unit
procedures are being written.

For more information on implementing unit procedure logic in various control


systems refer to Chapter 5, "Tag Linker." of this User's Guide.

Contents
• Unit Procedure Block Design Guidelines
• Unit Procedure Logic Operation
• Exercising Unit Procedures

Unit Procedure Block Design Guideline


The following section describes the general design of a unit procedure block.
360 Chapter 15

Definition of a Unit Procedure Block


The basic building block used for coordinating the control system communication
with the batch system is the unit procedure block. Also called a unit procedure, the
unit procedure block is a portion of control system logic that conducts and
orchestrates the processing activities associated with a batch for a single unit
(vessel). All activities of the unit are controlled by the unit procedure. InBatch
FlexFormula Edition allows for the definition of up to three (3) unit procedures for
each unit, however, only one (1) unit procedure may run on any unit for a single
batch. This is because the unit procedure has control over the entire unit. One
example of a unit procedure is a procedure for making cookie batter in a mixer unit.
In this case, the unit procedure would be responsible for sequencing the addition of
all ingredients and running the mixing blades, metering the materials as they are
entered, prompting the operator for manual activities, and responding to any
abnormal conditions in a defined manner. The user might also design a cleaning
unit procedure for the mixer, but this would never be used in the same batch as the
cookie batter unit procedure. A separate recipe could be written for cleaning the
mixer using this second unit procedure. This recipe could then be scheduled to run
at the end of the day or shift, for instance.
It is recommended that unit procedure blocks be designed as self-contained as
possible. This will allow the unit procedure blocks to be moved from one control
system to another with minimum alterations. Thus, a large library of unit procedure
blocks can exist that could be altered and used on an individual basis as new
equipment or new systems are installed.
The following list provides some of the ultimate goals of unit procedure block
logic. While it is likely that processes will exist that prevent satisfying all of these
goals simultaneously, achieving the goals should always be the primary objective.
• Unit procedure logic should be modular for easy duplication and
transferability.
• Unit procedure logic must utilize the standard interface between the control
system and the supervisory computer.
• Unit procedure blocks must be written independently of one another.
• Unit procedure blocks should be control system independent.
• The control system memory map should not be confining.
• The addition of process equipment should be done easily with little code
revision.
• Unit procedure logic structure should be standardized for ease of
troubleshooting.
• Unit procedure logic should be available for multiple use within the
operational program.
• Unit procedure logic should consist of a minimum amount of code without
compromising functionality or safety.
• Unit procedure logic complexity should be geared to the level of the technical
support staff.
Unit Procedure Logic Development and Testing 361

Unit Procedure Block Rules of Operation


This section summarizes the general rules to be followed when planning and
constructing the operation of a unit procedure block and/or complete process
program. These rules will be discussed in greater detail throughout the remainder of
this document.
• All items, except outputs, specific to a particular unit procedure block should
reside within that unit procedure block.
• An interlock is a pre-run condition of a unit procedure block that prevents the
unit procedure block from being operated.
• An alarm is generated by either a runtime conditional error or a device failure.
• Critical alarms put the corresponding unit procedure block on hold if it is
currently executing.
• On an initial control system power on sequence, the status of all unit procedure
blocks should be ready or interlocked, and all of the outputs must be in a de-
energized state.
• In the event of a batch system to control system communications error, any unit
procedure in the run state should continue until done, and the control system
should wait for communications to be restored for the next command.
• The manual operation of output devices must be addressed with regard to the
status of the unit procedure logic block(s) that utilize the outputs.

Function Block Diagram


There are eight main components to a unit procedure block. These include the unit
procedure control bits, unit procedure status bits, control inputs, control outputs,
formula parameters, control buttons, interlocks, and alarms. These items are
transmitted between the control system and the batch control system via tags. The
unit procedure block acts on this information to control the process equipment.
Each of the components will be discussed in greater detail later in this section.
362 Chapter 15

Operational Flow Chart


There is a logical progression that the unit procedure block logic should follow. As
can be seen in the flow chart, the unit procedure block uses the unit procedure
control bits to proceed through the code as long as the particular unit procedure
status bits are satisfied. Code must also be written to provide the unit procedure
block with interlock and alarm conditions.
The following is a brief explanation of the sequence of events for a typical unit
procedure block. When a unit procedure block is inactive, the unit procedure status
is ready. The only way this is not true is when the unit procedure block is
interlocked. When the block is required to operate, the batch control system sends
any required formula parameters followed by a start command. When the start is
received, the unit procedure block enters the run state and executes the block logic.
During the remainder of this operation, the block can be put into the held state via
the batch control system unit hold command, or by the occurrence of a critical
alarm condition. From the held state, the unit procedure block can either be
restarted or aborted. The restart command will resume the unit procedure block
operation. The abort will put the unit procedure block in the aborted state and end
the block operation. The batch control system monitors this aborted status, and
sends a reset command to return the block to the ready state. If the unit procedure
block continues to completion, the status becomes done. The batch control system
monitors this done status, and similar to the aborted, sends a reset command to
return the block to the ready state. This sequence of events is followed each time
the unit procedure block is included in the current batch control system recipe
configuration.
Unit Procedure Logic Development and Testing 363
364 Chapter 15

Control System Memory Configuration


One of the most difficult decisions to make during the process of planning for a new
system is the manner in which the memory of a control system is configured. All
control systems contain a specific amount of memory. In many of these control
systems, the memory can be configured. In this section, some general guidelines are
presented to help allocate the available memory into specific portions that minimize
memory problems associated with system installation and expansion.
As an overview, there are some memory concepts that are similar for all control
systems.
• Most control systems have different types of memory that correspond to
different aspects of the overall program.
• The most sophisticated control systems allow the memory to be configured by
the user.
• There exists a finite number of analog and discrete memory available within
each control system.
• There is a limit to the number of inputs and outputs a certain control system is
capable of supporting.

Unit Procedure Block Memory Guidelines


In the unit procedure block concept, some memory rules and constraints have been
established to make unit procedure blocks consistent and portable. These guidelines
are described below.
• Determine the number of unit procedure blocks needed for the entire system
and increase this number by 20% to allow for expansion.
• Determine the number of global interlocks needed for the entire system and
increase this number by 20% to allow for expansion. This will be the number
of discrete data points to allocate for global interlocks.
• Determine the number of global alarms needed for the entire system and
increase this number by 20% to allow for expansion. This will be the number
of discrete data points to allocate for global alarms.
• Determine the number of outputs needed for the entire system and increase this
number by 20% to allow for expansion. This will be the number of discrete
data points to allocate for manual operation of global outputs.
• Should future expansion beyond the 20% cushion become necessary, the
memory guidelines should be followed within each expansion section and
added to the end of the previous section.
• If the control system memory can be configured by the user, determine all unit
procedure block logic requirements (timers, counters, etc.), then allocate
memory accordingly while also allowing for expansion.
• Whenever possible, unit procedure control and status bits should be packed
within words to make more efficient use of control system memory.

Control System Code Structure


The following section describes the general design of control system code.
Unit Procedure Logic Development and Testing 365

General
In order to achieve goals of modular, self-sufficient, independent unit procedure
blocks, the structure of the control system code for each unit procedure block and
for entire processes must be consistent. This is necessary so that unit procedure
blocks can easily be placed in other processes with little reprogramming. The
following sections provide a guidelines that has been established for structuring
individual unit procedure blocks and complete process programs. It is recognized
that alterations of a plant's processing capabilities may occur after the initial
program structuring that will disrupt the program sequence. However, if all
additions are structured in a similar manner and added to the end of the code, then
the complete program will consist of smaller programs, all with the same consistent
structure.

Unit Procedure Block


A template has been created to assist in the structuring of a unit procedure block. As
can be seen from the diagram on the following page, the unit procedure block code
consists of six sections. This 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 would be
different.

Unit Procedure Control


This section of the unit procedure block handles the manipulation of the unit
procedure control bits needed to operate the unit procedure logic. The batch
management system enables the appropriate control word within the control system
associated with a particular unit procedure block. The unit procedure 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. It is recommended that the unit
procedure logic reset the control word so that the next requested function can be
recognized. Thus, the control bits are essentially one-shot commands. This section
must be included for every unit procedure block.

Control Buttons
The section of the unit procedure block corresponding to the control buttons is
constructed similarly to the unit procedure control section. The batch management
system will enable any defined control buttons in the control system, and the
control system will interpret the control button request and perform the appropriate
function. Up to two control buttons may be defined for each unit procedure. The
use of control buttons with a unit procedure is optional.

Interlocks
The interlock section of the unit procedure block defines only the specific interlock
conditions associated with that unit procedure block. Each interlock condition is
assigned to a discrete memory point and to a tag if the batch control system is to
display the interlocks to the user. This section will appear only if there are specific
interlocks associated with the unit procedure block.
366 Chapter 15

Alarms
The alarm section handles all error conditions specifically associated with the unit
procedure block. All of the alarms appropriate to the unit procedure are placed in
parallel with each other to engage a single discrete point that is used through the
remainder of the unit procedure logic to affect the operation of the block. This
section will appear only if there are alarms associated with the unit procedure
block.

Unit Procedure Status


The unit procedure status section includes the logic necessary to place the unit
procedure block into any one of the possible states. The possible unit procedure
status values are ready, run, held, done, interlocked, and aborted. Only one of these
states may be enabled at any time. When all of the status control logic has been
evaluated, the results are transferred to the unit procedure block status word that is
monitored by the batch management system. This section must be included for
every unit procedure.

Functional Logic
The remainder of the unit procedure block is used to write the logic that is
necessary to perform the required process action. This section will vary in size and
complexity depending on the unit procedure block operation, and will contain the
computational, comparison, and timing functions required by the unit procedure
block. This section will also include code that is associated with any formula
parameters that may be assigned to the unit procedure block, as well as logic
necessary to energize process outputs.
Unit Procedure Logic Development and Testing 367

Complete Program
A template has been created to assist in the structuring of the complete control
system program structure. As can be seen from the diagram above, 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 would be
different.

Processes
Each defined process in the process model will have a corresponding process
section in the control system program. Within each process section will be the
control logic for the units associated with the process in the model.

Units
Within each process section of the control system program will be the logic
corresponding to the units defined for the process class in the process model.
Within each of these units, there will exist the unit procedure blocks for each of the
unit procedures defined for the unit.

Unit Procedures
The control system code for the unit procedure blocks assigned to each of the
defined unit procedures will appear within the appropriate unit section of the
program. There can be up to three (3) unit procedure blocks which correspond to
the unit procedures defined for the process class.

System alarms
All of the logic generating control system alarms will appear in one section of the
program. The specific alarms can then be referenced in the various unit procedure
logic to affect the operation of a unit procedure as desired.

System Outputs
All of the logic required to exercise the control system outputs are contained in one
section of the program. This logic would contain references from the unit procedure
logic necessary to manipulate the outputs. Also, any manual device operation logic
would be present in this section.
368 Chapter 15
Unit Procedure Logic Development and Testing 369

Unit Procedure Control


The following section describes the principals of unit procedure control.

General
The batch control system transmits its unit procedure requests to the control system
through a series of tags that are mapped to the memory of the control system. One
group of these requests is for handling the unit procedure control commands. The
control bits available for each unit procedure are start, hold, restart, abort, and reset.
Only the start and reset bits are required. When the batch control system desires to
alter the status of a unit procedure block, it writes to a tag in the control system that
corresponds to the particular unit procedure control bit. These commands are
typically packed into a word in order to maximize control system memory. In the
unit procedure logic, the unit procedure 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 utilized within the unit procedure block, and the unit procedure operation
responds accordingly. It is the responsibility of the control system to reset the
control bits once they have been detected. The unit procedure control bits are
described below.

Start
The unit procedure start command is enabled by the batch management system for
a unit procedure as it is encountered in a batch. Generally, the start command will
begin the execution of the requested unit procedure and put the unit procedure
status in the run state. When the unit procedure start bit is enabled, none of the
remaining unit procedure control bits will be set. Finally, the batch management
system cannot send a request to start a unit procedure block unless the unit
procedure block status is in the ready state.

Hold
The unit procedure hold command is enabled by the batch management system for
a unit procedure whenever the hold command button is selected. Generally, the hold
command will suspend the execution of the particular unit procedure. When the
unit procedure hold bit is enabled, none of the remaining unit procedure control bits
will be set. Finally, the batch management system cannot send a request to hold a
unit procedure block unless the unit procedure block status is in the run state.

Restart
The unit procedure restart command is enabled by the batch management system
for a unit procedure whenever the restart command button is selected. Generally,
the restart command will resume the execution of the requested unit procedure, and
return the status of the unit procedure block to the run state. When the unit
procedure restart bit is enabled, none of the remaining unit procedure control bits
will be set. Finally, the batch management system cannot send a request to restart a
unit procedure block unless the unit procedure block status is in the held state.
370 Chapter 15

Abort
The unit procedure abort command is enabled by the batch management system for
a unit procedure whenever the abort command button is selected. Generally, the
abort command will end the execution of the requested unit procedure and put the
unit procedure status in the aborted state. When the unit procedure abort bit is
enabled, none of the remaining unit procedure control bits will be set. Finally, the
batch management system cannot send a request to abort a unit procedure block
unless the unit procedure block status is in the held state.

Reset
The unit procedure reset command is enabled by the batch management system for
a unit procedure whenever the unit procedure has completed normally or been
aborted. Generally, the reset command will return all of the unit procedure logic to
its original state and put the unit procedure status in the ready state. When the unit
procedure reset bit is enabled, none of the remaining unit procedure control bits will
be set. Finally, the batch management system cannot send a request to reset a unit
procedure block unless the unit procedure block status is in either the done or
aborted state.

Unit Procedure Status


The following section describes the principals of unit procedure status.

General
The batch control system recognizes the current status of a unit procedure block
through a series of tags that are mapped to the memory of the control system. One
group of these requests is for monitoring the status of each unit procedure. The
status bits available for each unit procedure are ready, run, held, done, interlocked,
and aborted. Only the ready and done bits are required. When the unit procedure
block status changes, either via the unit procedure logic or from a request from the
batch management system, the unit procedure status word is set accordingly. In the
unit procedure block, the unit procedure status word can be continuously written or
written only when the status changes. When a unit procedure status changes in the
control system, the bit associated with that status in the unit procedure status word
is altered. All unit procedure status changes must be transmitted to the batch
management system through the unit procedure status word. It is required that the
unit procedure block be in only one state at a time. The unit procedure status bits
are described below.

Ready
The ready status bit is enabled by the control system for all unit procedures ready to
run. Generally, the ready status bit will be set when there is no execution of the unit
procedure block and everything in the block has been reset and is ready for
execution. When the ready status bit is enabled, none of the remaining unit
procedure status bits may be set. Finally, the batch management system cannot send
a request to start a unit procedure block unless the unit procedure block status is in
the ready state.
Unit Procedure Logic Development and Testing 371

Run
The run status bit is enabled by the control system for all executing unit procedures.
Generally, the run status bit will be set when the unit procedure block has been
started or restarted and everything in the block is executing normally. When the run
status bit is enabled, none of the remaining unit procedure status bits may be set.
Finally, the batch management system cannot send a request to hold a unit
procedure block unless the unit procedure block status is in the run state.

Held
The held status bit is enabled by the control system for all unit procedures that have
been put on hold either by the batch management system or from the occurrence of
a critical alarm. Generally, the unit procedure logic freezes the current operation in
progress, and places the block in the held state. However, the actual operation of the
unit procedure logic while in the held state is application specific. When the held
status bit is enabled, none of the remaining unit procedure status bits may be set.
Finally, the batch management system cannot send a request to restart or abort a
unit procedure block unless the unit procedure block status is in the held state.

Done
The done status bit is enabled by the control system for all unit procedures that have
finished their execution. When the done status bit is enabled, none of the remaining
unit procedure status bits may be set. Finally, the batch management system cannot
send a request to reset a unit procedure block unless the unit procedure block status
is in the done, or as will be seen below, the aborted state.

Interlocked
The interlocked status bit is enabled by the control system for all unit procedures in
which a condition prevents their safe execution. Generally, the interlocked status bit
will be set before the start of execution of the unit procedure block. The interlocked
status represents a condition of the process which prevents proper operation of the
unit procedure block. When the interlocked status bit is enabled, none of the
remaining unit procedure status bits may be set. Finally, the batch management
system cannot send a request to start a unit procedure block if the unit procedure
block status is in the interlocked state.

Aborted
The aborted status bit is enabled by the control system for all unit procedures that
have been aborted. The only way this bit can be turned on is by placing the unit
procedure block on hold and then selecting the abort option. Therefore, it is
impossible to abort a unit procedure without first placing the unit procedure in hold.
When the aborted status bit is enabled, none of the remaining unit procedure status
bits may be set. Finally, the batch management system cannot send a request to
reset a unit procedure block unless the unit procedure block status is in the aborted,
or done state.
372 Chapter 15

Formula Parameters
The following section describes the configuration of formula parameters.

General
The unit procedure 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 control
system just prior to the unit procedure start command. The control system receives
the desired values and returns any corresponding actual values. Unit procedure
blocks can have no parameters, or they can have many parameters.

Parameter Types
There are three types of parameters. They are Input, Output, and Process Variable.
• Input parameters are used to define and monitor the addition (input) of a
material to a batch. It is common to name the input parameter after the material
that will be added. Examples are: “Salt”, “Water”, “BaseQty”, “Pigment”.
• Output parameters are used to define and monitor the production (output) of
a material from a batch. A common Output parameter is Quantity.
• Process Variable parameters are used to define how a unit procedure should
function when the unit procedure is executing. Common Process Variable
parameters are Temperature, Speed, Flow Rate, Mix Time, Cook Time, React
Time, Hi-Hi Temp Alarm, Hi Temp Alarm, and Rate of Change Alarm.
Unit Procedure Logic Development and Testing 373

Parameter Type Extensions


Each type of parameter has a set of extensions that may or may not be used,
depending on the use of the parameter. Further discussion on how extensions
should be used is presented below.
• Input Parameter Extensions
Target
Actual
High Deviation
Low Deviation
Preact
Lot Code
Material ID
• Output Parameter Extensions
Target
Actual
Material ID
• Process Variable Extensions
Target
Actual
High Deviation
Low Deviation
High Limit
Low Limit

Definition of Parameter Extensions


The following section describes parameter extensions.

Target Value
The target value extension is used by the batch control system to transfer a specific
numerical value to the particular unit procedure 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 unit procedure block. Generally, the target value
parameters will consist of process temperatures, timer values, and transfer
quantities.
374 Chapter 15

Actual Value
The actual value extension consists of a specific numerical value that originates
within the unit procedure block logic and is transferred to batch control system.
This value corresponds with a target value that has been passed to the unit
procedure block from the batch control system, and is usually monitored and
displayed in the batch control system. The values also generally consist of process
temperatures, timer values, and transfer quantities. The comparisons between the
target values and corresponding actual values are used to determine the completion
of the respective unit procedure block. An example of an actual value would be the
time remaining as the soak unit procedure block is operating.

High Deviation
The high deviation extension is a batch control system configured value that
corresponds to a high tolerance limit for the actual value. Generally, should the
actual value become greater than the high deviation value while the unit procedure
block is in the run state, an alarm will be generated.

Low Deviation
The low deviation extension is a batch control system configured value that
corresponds to a low tolerance limit for the actual values. Generally, should the
actual value become less than the low deviation value while the unit procedure
block is in the run state, an alarm will be 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 corresponds to the addition of bulk ingredients, and it is
defined as the amount of an ingredient that is discharged from a source after the
command has been given to stop the flow. An example of a preact would be 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 control 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.
Unit Procedure Logic Development and Testing 375

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 may be changed by the
operator.

Control Buttons
Each unit procedure block may contain two control buttons that are available for
whatever functions the unit procedure block desires. These control buttons are
operated from the batch control system display screen and are transferred to the
control system via 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 are used to prevent the start of a particular
unit procedure block. Unit procedure blocks can have any number of interlocks, as
well as share interlock conditions with multiple unit procedure blocks. The
interlocks are found in the interlock section of the program corresponding to the
unit with which they are associated. Usually, the interlocks correspond to an output
device. If a particular interlock condition exists, the respective interlock bit is set,
the unit procedure status interlock bit is set, and the unit procedure block is unable
to be started. Interlock conditions must be changed for the interlock to clear and the
block to become ready. Also, interlock conditions are disabled if the unit procedure
block is in operation. Some examples of unit procedure block interlocks are listed
below.
• Reactor discharge valve open prevents the operation of any unit procedure
block that adds bulk ingredients to the reactor.
• The level in a reactor must be a certain height before the agitator unit
procedure block can be started.

Alarms
Alarms are conditional statements that can be enabled at any time and can alter the
status of a particular unit procedure block. Unit procedure blocks can have any
number of alarms. The alarms are found in the alarm section of the program
corresponding to the unit with which they are associated. Usually, the alarms
correspond to an output device. There are usually two levels of severity associated
with alarms for a given set of conditions. One is an advisory alarm. This alarm may
require an acknowledgment by the operator. However, the advisory alarm does not
require an operator reset, and usually, the unit procedure block does not require a
restart command. The block operation continues as normal. The other alarm is a
critical alarm. This alarm condition usually requires the operator to acknowledge
the alarm, reset the alarm, and restart the unit procedure block. If a particular alarm
condition exists, the respective discrete memory location is enabled, the unit
procedure block alarm is set, and if it is a critical alarm, the unit procedure block
status may be altered.
376 Chapter 15

Note It is recommended that, for the safety of process personnel, alarms are
configured as critical alarms whenever possible so that the unit procedure block
must be manually restarted.

Some examples of unit procedure block alarms are listed below.


• Reactor discharge valve fails to open or close and disrupts the operation of a
unit procedure block, setting an alarm bit that is read by batch control system,
and putting the unit procedure block in held.
• The agitator does not turn on within a predetermined length of time after the
signal to turn on is sent to the starter. This also sets an alarm bit that must be
addressed by the operator.
• The actual temperature within a reactor exceeds a predetermined value.

Input and Output Control


In the complete process control system program there will exist inputs and outputs
corresponding to the process equipment. These I/O points should be treated
differently within the control system code. The inputs should appear wherever they
are needed throughout the code. The outputs, however, will be located in the
appropriate unit section of the program, and demand a more formal structure.
Because a particular output may be referenced in more than one unit procedure
block within a unit, a conflict could arise if the direct output address is used in
multiple places of the program. Therefore, it is strongly suggested that all outputs,
no matter how many times they are used, be placed in the global output section.
Any unit procedure block requiring the output would energize an intermediate
discrete memory location that would then be placed in the appropriate location of
the output section. Thus, an output used by more than one unit procedure block
would contain multiple discrete locations connected in parallel, each of which
would independently turn on the particular output. Also, all manual device
operation logic will exist in this section. The reasons behind placing all outputs in
the global output section are consistency and ease of troubleshooting. Finally, for
safety reasons, alarms that disable one or many outputs should exist in the global
output code and not scattered throughout the unit procedure logic. This ensures that
the outputs are disengaged.
Unit Procedure Logic Development and Testing 377

Using the Phase Logic Testing Tool


The Phase Logic testing tool was written to test phases in InBatch Premier Edition,
but the interface to phases is exactly the same as the interface to Unit Procedures in
InBatch FlexFormula Edition. The Phase Logic testing tool can be used to take the
place of the batch management system and exercise the handshaking interface that
is expected between a unit procedure logic block and the Batch Manager. Each and
every unit procedure logic block in a control system can be tested using the Phase
Logic Testing tool.

Starting the Phase Logic Testing Tool


The following section describes how to use the phase logic testing tool.

To Start the Phase Logic Testing Tool:


1. In the Environment Display, double-click the PhaseLogic icon.

Note The Phase Logic testing tool is not included in the Environment Display by
default. You must add the application using Environment Editor.

The Phase Logic window will appear.


378 Chapter 15

From this window, unit procedures for any unit can be selected and executed
using the Start, Hold, Restart, Abort, and Reset buttons. You can also
exercise Control buttons and review interlock operation.

File Menu
Use the Phase Logic testing tool File to access system functions for the Phase Logic
testing tool.

File/Exit
Use this command to close the Phase Logic testing tool.

WARNING! It is the responsibility of the user to end and reset all unit procedures
before exiting the Phase Logic testing tool. If a unit procedure is not properly reset,
the batch management system will be unable to successfully use that unit procedure
in a batch.
Unit Procedure Logic Development and Testing 379

Help Menu
Use the Phase Logic testing tool Help menu to access online help and information
about product version.

Help/Help Topics
Use this command to display help for the Phase Logic testing tool.

Help/About Phase Logic


Use this command to view Version information.

Exercising Unit Procedure Logic


A unit procedure can be executed very easily from the Phase Logic testing tool. The
following steps are necessary to generate, export, refresh, and print a report.
1. Select the unit that contains the phase that you want to execute from the Units
list.
The Phases list will update to show the unit procedures for the selected unit.
2. Select the unit procedure to be executed from the Phases list.
The Parameter list updates to show any formula parameters defined for the
unit procedure.
3. To modify any formula parameter value, select the parameter extension in the
Parameter list, enter the new value in the text entry field, and select the
Change button.
The new formula parameter value will be displayed in the Parameter list.
4. Use the buttons at the bottom of the window to send control signals to the unit
procedure block.
The Status signals will change to show the current state of the unit procedure
block.
For more information on the handshaking between the unit procedure control
and status commands, see Operational Flow Chart.

Note It is very important to Reset each unit procedure block when the state of the
unit is either Done or Aborted.

5. Click the Interlocks button to view any interlock tags assigned to the unit
procedure.
The Interlocks window will display all of the interlock tags and their current
values.
380 Chapter 15
InTouch Script Add-On Functions 381

C H A P T E R 1 6

InTouch Script Add-On


Functions

There are three InTouch Script Add-On Functions included with the InBatch
system. These functions provide the capability to enable the alarm and event
interface with InTouch.
For more information on InTouch scripting, see your InTouch User's Guide.

Contents
• Overview
• Script Add-On Function Descriptions
382 Chapter 16

Overview
Script Functions are InTouch commands which can be used to perform various
string, math, file, and communications actions. There are also add-on functions that
can be included within InTouch to work with external applications. InBatch
provides several of these add-on functions for enabling alarming and events from
InTouch to be logged to the InBatch historical database.

Script Add-On Function Descriptions


The following section describes how to use the InBatch Script Add-On Functions
with InTouch.

ibAlarmEventHost
This function allows the user to specify the host name of the primary InBatch server
to log the alarm and event data. The function is useful for switching the host in the
event of a redundant batch server fail-over.

Syntax
ibAlarmEventnHost(HostName);
where:

HostName (String value or message tag)


Specifies the InBatch server host name.

Example
{Set host name to "IBSERV2"}
ibAlarmEventHost("IBSERV2");

ibAlarmEventInit
This function initializes the batch-oriented alarm and event logging of a client node.
Before this function is called, any alarms or events that occur will be cached. They
will be logged after initialization has been done. Alarms and events that occur after
initialization are also cached and written to history on a timer. This routine does let
you set the behavior of the cache but this feature should be used with care. You can
enter a 0 value for the Timer, Write, Warning, and Toss arguments to get the default
cache behavior. The Event_Mask argument allows you to selectively determine
which events will be logged. SYS events are never logged.
For more information on the InBatch and InTouch alarm/event interface, see
Chapter 20, "Client Alarm/Event Interface."

Syntax
ibAlarmEventInit( Host, Obsolete, Alarm_Node, Timer, Write,
Warning, Toss, Event_Mask );
InTouch Script Add-On Functions 383

where:

Host (Literal string in quotes or message tag)


Contains the host name where the Batch Server is running. The alarming system will
connect to this Batch Server to get required batch information.
Obsolete (Literal string in quotes or message tag)
The value of this field is no longer used by the alarming system. It's old purpose was
to set the hostname of the backup Batch Server. This functionality is now under the
client applications control using ibAlarmEventHost .
Alarm_Node (Discrete value or discrete tag)
TRUE enables alarm logging. FALSE disables alarm logging. This value can also be
set using ibAlarmNode.
Timer (Integer value or integer tag)
Number of seconds between alarm and event cache flush. This value should normally
be set to 0, which uses the default of 10 seconds.
Write (Integer value or integer tag)
Number of alarms and events to be written each time the cache is flushed. This value
should normally be set to 0, which specifies that the entire cache should be logged.
Warning (Integer value or integer tag)
Number of alarms and events that can exist in the cache before a warning message is
dumped to the Wonderware Logger. This value should normally be set to 0, which
uses the default of 100 entries.
Toss (Integer value or integer tag)
Number of alarms and events that can exist in the cache before new alarms and events
will be thrown away. This value should normally be set to 0, which uses the default of
1000 entries.
Event_Mask (Integer value or integer tag)
If value is 1, all events are logged. If value is 0, only operator (OPR) events are
logged. These values are compatible with older versions of this function. To
selectively choose the events you want logged, you can pass a bit mask which uses
bits 2, 3, and 4. If bit 2 is set, operator (OPR) events are logged. If bit 3 is set, logic
(LGC) events are logged. If bit 4 is set, DDE (DDE) events are logged. For example,
passing a value of 6 will set bits 2 and 3 and cause OPR and LGC events to be logged.

Example
The following script initializes alarm and event logging for the node:
ibAlarmEventInit( "hostA", "", 0, 0, 0, 0, 0 );

ibAlarmNode
This function enables/disables alarm logging for a node. Typically, only one client
node will enable alarm logging. However, if you have several alarm sources then
you may want to enable alarm logging on several client nodes. Even with alarm
logging disabled, operator action events will still be logged to history.

Syntax
ibAlarmNode(Yes_No);
where:
384 Chapter 16

Yes_No (Discrete value or discrete tag)


Enables or disables alarm logging. A value of True enables alarm logging. A value of
False disables alarm logging.

Example
{Enable alarm logging for the node}
ibAlarmNode(1);
C H A P T E R 1 7

Active-X GUI Controls

InBatch Active-X GUI Controls can be used in any compliant Active-X container to quickly
and easily create custom InBatch runtime client interfaces. Suitable Active-X containers
include InTouch WindowMaker and Microsoft Visual Basic. The GUI controls are new for
InBatch 8.0 and take the place of the old InTouch wizards.
For more information on using WindowMaker, see your online InTouch User's Guide.

Note You must have the appropriate client licensing in order to successfully use the InBatch
Active-X GUI Controls.

Preliminary
Contents
• Overview

10/17/01
• Configuring InTouch WindowMaker to use InBatch Active-X GUI controls
• Using InBatch GUI Controls
• InBatch GUI Control Descriptions
• Building a Simple Batch Scheduler
• Using the BatchSecurity Control

Overview
Active-X controls are graphical components with built-in execution logic which can be
embedded in any Active-X container application. InTouch Window Maker and Visual Basic
are examples of Active-X containers. The InBatch Active-X GUI controls connect to the
InBatch server and display batch related information to the user.
Using the GUI controls will help to greatly reduce application development time. This chapter
describes how to use the Active-X GUI controls in the InTouch WindowMaker environment,
but many of the concepts discussed here apply to Visual Basic or Visual C++ usage as well.

Configuring InTouch WindowMaker to use InBatch


Active-X GUI controls
You must first add the Active-X controls to the WindowMaker environment by selecting
Wizard/Active-X Configuration from the Configure tree node or from the menu system
under Special\Configure. This displays the Wizard/Active-X Installation dialog. Select
the four InBatch GUI control classes. These are:

385
386 Chapter 17

• Wonderware BatchButton Class


• Wonderware BatchField Class
• Wonderware BatchGuiConfig Class
• Wonderware BatchList Class
Click the Install button to make the control classes available to WindowMaker.

Note The four classes are provided in a single ocx library. In Visual Basic the
single component name to add is "Wonderware InBatch GUI Controls".

Using InBatch GUI Controls


Clicking the Wizards icon from the InTouch toolbar accesses the installed Active-X
controls.
.

Preliminary
10/17/01
To insert a control into an application, click the appropriate wizard and then click OK. Move
the mouse pointer to the required insertion point in the InTouch application and then single-
click the left mouse button.
Sizing of the controls is based on the control type configuration and font selection. When an
InBatch GUI control is double-clicked, a property configuration dialog is displayed indicating
the current configuration.

InBatch GUI Control Descriptions


The four classes of InBatch GUI controls perform different functions and each has a different
set of properties to configure.

BatchGuiConfig

Provides central administration of all Batch GUI controls for an application. The
BatchGuiConfig control is invisible at runtime. It has no graphical component. This control is
where the connection to the InBatch Batch 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 BatchGuiConfig control is no
longer required and can actually be removed from memory without affecting the other
controls.

387
388 Chapter 17

Properties
Host1
Set this property to the host name of the InBatch Batch 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. Set this 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
(e.g. WindowMaker 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.

ServerConnected
Available at Runtime Only. (Not available at design time). Set to 1 when there is an
active connection to the Batch Server.
Active-X GUI Controls 389

PortBatchMngr These properties define the tcp/ip port


PortEnvMngr definitions for the connection to the Batch
Server. The port definitions are pre-defined
PortInfoMngr
with the default numbers used on the Batch
PortRedMngr Server. These must match the port definitions
PortSecMngr used on the Batch Server in order for
PortUnilinkMngr communications to be successful. Only
change these properties if you have changed
the port definitions on the Batch Server
because of a system conflict.

Methods
AltSetCancelMsgBox
An alternate method to cancel a Msg Box raised by the ActionError event. (see
ActionError event below). This method has no arguments.

GetOcxBatchObject
Returns a reference to the underlying OcxBatch control. This allows for more
custom control of the interface in VB or VC++ environments. Since this method
returns an object reference, it cannot be used by InTouch. This method has no
arguments.

Init
Initializes the connection to the Batch Server. This is only needed when the
connection is lost if the AutoInit property is set. This method has no arguments.

Term
Terminates the connection to Batch Server. This method has no arguments.

Events
ActionError
Called when a non-server generated error occurs during a batch action. Arguments:
ErrorCode: an integer error code, and CancelMsgBox: an integer reference. Return
1 to the CancelMsgBox argument to prevent the error message box from
displaying.

LostServerConnection
Called when the connection to Batch Server is lost. No arguments

SystemShuttingDown
Called when the Batch Server is shutting down. No arguments
390 Chapter 17

BatchList

Displays live list data. The BatchList control can be configured to be a schedule
list, active batch list, active phase list, parameter list, etc. Any list found on Batch
Display or Batch Scheduler can be configured with the BatchList control.

The BatchList control can be configured to be any of the following:

BatchView:
• Batch (Active Batch List)
• Message List
• Question List
• Transition:
• Transition List
• Tag List
• Allocation Queue List
• Phase Edit:
• Phase List
• Parameter List
• Equipment Allocation:
• Equipment
Active-X GUI Controls 391

• Instance
• Select Equipment:
• Instance
• Equipment
• Phase List (Active Phases)
• Parameter List
• Interlock List

ScheduleEdit:
• Schedule List
• Train List
• Recipe List

Error List

Properties
ColumnHeaders
A comma-separated string to define the column heading names shown on the list
control.

Columns
Available at runtime only. Returns the number of columns in the list. Read Only.

ColumnWidths
A comma-separated string. Defines the widths (in characters) of each column in the
list.

Grid
Sets/returns a value indicating if grid lines are displayed on the control.

Rows
Available at runtime only. Returns the number of rows in the list. Read only.

SelectedRow
Available at runtime only. Sets/returns the currently selected row number. Row
numbers start at 0. -1 indicates no selection.

BackColor
Sets/returns the background color of the list.

ForeColor
Sets/returns the foreground (text) color of the list.
392 Chapter 17

Font
Sets/returns the character font used for the list. This property affects the size of the
control.

Methods
AltSetBusyMessage
Alternate method for setting the list busy message from within the BeforeListBusy
event. (See BeforeListBusy event below)

GetItemColumnValue
Returns the string contained in any cell of the list. Arguments are Row and Column
numbers.

Events
AfterClick
Event called when the control is clicked and after any batch-specific processing is
performed. Passes arguments Row number and Result. The Result value indicates if
it was a double or single click.

AllItemsDeleted
Called after the list has been cleared.

BeforeListBusy
Called before the list is about to indicate that it is busy.

Click
Called when a list item is clicked but before any batch-specific processing is
performed. The row number clicked is passed as an argument.

DblClick
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
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
Called after a list item (row) has been changed. The row number of the changed
row is passed as an argument.
Active-X GUI Controls 393

ItemDeleted
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
Called after a list item (row) has been selected. The row number selected is passed
as an argument.

BatchField

The BatchField control is a data field that is linked to a BatchList control. The
BatchField control can be configured very similarly to the BatchList control. The
same hierarchical list of types 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 textbox control, some appear as dropdown
lists, combo boxes, multi-line textboxes, or even checkboxes.

In each case, the node directly above the selected Field type in the property page,
indicates the type of BatchList that the BatchFeild 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. Additional
functionality can be added to the control by using scripting or programming.
394 Chapter 17

Properties
AutoEnabled
Returns the current enabled state of the control. This is read only at runtime. The
internal logic of the control enables and disables the BatchField control
automatically.

Editable
Sets/returns a value indicating if the user may write to the control.

Label
Specifies the text label to display for checkbox-style BatchField controls.

Static
When set to true, the BatchField will display as a label (no surrounding box).

ValueText
Sets/returns the current text value of the control.

BackColor
Sets/returns the background color of the control.

ForeColor
Sets/returns the foreground (text) color of the control.

Font
Sets/returns the font used by the control. Read-Only at runtime. This property
influences the size of the control.

Methods
AltSetCancel
Alternate way to cancel a field value change action from within the BeforeExecute
event

Events
AfterExecute
Called after any action occurs from a field value change

BeforeExecute
Called before any action occurs from a field value change
Active-X GUI Controls 395

StateChanged
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 BatchButton control is determined by it’s 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 the screen and configure the type of BatchButton 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 optionally be added with scripting or programming.

Properties
Appearance
Specifies wether the button should be displayed flat or 3-D.
396 Chapter 17

AutoEnabled
Returns the current enabled state of the button. This property is Read-Only. The
internal logic of the control automatically enables and disables the control.

Caption
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.

BackColor
Specifies the background color for the button.

ForeColor
Specifies the foreground (text) color for the button.

Font
Specifies the font for the button caption.

Methods
AltSetCancel
Alternate way to cancel a button action from within the BeforeExecute event.

Execute
Forces the buttons action to execute without having the user click it.

Events
AfterExecute
Called after any action occurs from a button click.

BeforeExecute
Called before any action occurs from a button click.

StateChanged
Called after a button’s caption or enabled state is updated. The Change Type is
passed as an argument.

Building a Simple Batch Scheduler


This section will describe how to build a very simple batch scheduler, much like the
BatchSched application supplied with the InBatch Server.
Active-X GUI Controls 397

Create the InTouch Window


First, configure InTouch WindowMaker with the ActiveX controls as described
previously in this chapter. Create a window and drop on a BatchGuiConfig control.

Tip BatchGuiConfig buttons may appear very large on the screen. Once you
determine a usable size by resizing the control, 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 you are running InTouch on the InBatch server, you do not need to configure the
control for the host name. If the InBatch Server is running on another machine, you
must configure the Host1 property of the BatchGuiConfig control to the node name
of the Batch Server. If the Host1 property is left blank, then the local node is
assumed to be the Batch Server.

Add the Schedule BatchList Control


Drop a BatchList control onto the window and double click on it to bring up the
property page. Select the BatchList tab and open the ScheduleEdit folder in the
treeview. Select the Schedule list and click the Apply button at the bottom of the
property page.
398 Chapter 17

The BatchList control will configure itself as a Schedule list, complete with column
headings.

Add the BatchField Controls


We will need a way to enter information into the schedule list, so we need some
BatchField controls to go with it. Drop a BatchField control onto the screen below
the list and double click it to bring up its property page.
Active-X GUI Controls 399

Select the Batch Field tab and open the ScheduleEdit folder in the treeview.
You will notice the schedule list is now a folder and it contains all the BatchField
types associated with the schedule list. Choose the Campaign entry and click the
Apply button at the bottom of the property page.
Now 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 will
appear as a dropdown list, the Status is not Editable since this is a Read Only field,
and the ExecuteInOrder BatchField becomes a checkbox control.

Adding BatchButton Controls


In order to manipulate this list, we will need some buttons to tell it what to do. So
we will add some BatchButton controls to our window.
Drop a BatchButton control onto the window at the lower left.
Double Click the control to display the property page.
Select the Batch Button tab and open the Schedule Edit node of the treeview.
Again the Schedule list appears as a folder. Open it.
Select the Add button and click Apply at the bottom of the property page.
400 Chapter 17

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.

You are now ready to test the scheduler.

Running the Scheduler


In order to run the schedule application, first make sure that you have a valid model
and you have defined some materials and at least one recipe. Then start the InBatch
runtime applications on the Batch Server.
Active-X GUI Controls 401

Start the Batch Server


This is the minimum set of runtime services that you must run on the Batch server
in order for our InTouch Scheduler to work correctly:

UnilinkMngr
Always required.

MemTagMngr
Creates the InBatch Memory Tags

SimMngr
(or IBCli)
SimMngr simulates the phases. IBCli is hooked up to real I/O.

InfoMngr
Required for ActiveX client controls: OcxBatch, BatchSFC, and BatchGUI.

BatchMngr
The Batch Engine. Always Required.

Note By default the IBServ application is also in the runtime list and while not
required, it won’t hurt by being there. IBServ is responsible for serving up InBatch
tag information to DDE or SuiteLink clients. The BatchGUI controls do not use tag
communications, so IBServ is not required. You may wish to use some of the
InBatch system tags elsewhere in your InTouch client application however, so then
IBServ would be required.

Bring up the Runtime Application Display and click the Start All button.
402 Chapter 17

Run the InTouch Application


Once all the InBatch runtime services have been started, you can switch the
InTouch application to Runtime. If you have the AutoInit property of the
BatchGuiConfig control set (it is set by default), then the application will
automatically initialize (connect) to the InBatch Server. If there are already batches
scheduled on the server, you should see them in the schedule list.

Note The Recipe and Train fields can be populated from the Recipe List and Train
List BatchList controls respectively. These can be added on this window or as a
separate pop-up window, etc.

Using the BatchSecurity Control


Another useful user interface control is the BatchSecurity control. This allows the
user application access to the InBatch security system so that applications and
functions can be secured. The InBatch security system can be extended to include
your own custom applications and functions.
For more information about configuring InBatch security, see Chapter 13, "Security
System."
You must first add the Active-X controls to the WindowMaker environment by
selecting Wizard/Active-X Configuration from the Configure tree node or
from the menu system under Special\Configure. This displays the
Wizard/Active-X Installation dialog. Select the Wonderware BatchSecurity
class and click Install.
Active-X GUI Controls 403

Clicking the Wizards icon from the InTouch toolbar accesses the installed Active-X
controls.

To insert the control into an application, click the BatchSec icon and then click OK.
Move the mouse pointer to the desired window in the InTouch application and then
single-click the left mouse button to drop the control onto the window.
The BatchSecurity control will not be visible at runtime, but it is best to keep it out
of the way of other controls in the application by placing it in a remote corner.

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, for example a header window.
404 Chapter 17

Configuring the BatchSecurity Control


Double click on the control to display the property pages.

Properties
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
(e.g. WindowMaker to WindowViewer). The Security Manager service on the
Batch Server must be running in order for the control to connect.

CheckByPassword
Set this string property to the password for the Check-By user. This property is used
for the windowless function clearance checks. It’s use is described later in this
chapter

CheckByUserID
Set this string property to the User ID for the Check-By user. This property is used
for the windowless function clearance checks. It’s use is described later in this
chapter

DoneByPassword
Set this string property to the password for the Done-By user. This property is used
for the windowless function clearance checks. It’s use is described later in this
chapter
Active-X GUI Controls 405

DoneByUserID
Set this string property to the User ID for the Done-By user. This property is used
for the windowless function clearance checks. It’s use is described later in this
chapter

Host1
Set this property to the host name of the InBatch Batch 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. Set this to the host
name of the Redundant Batch Server.

LastErrorCode
Returns the error code (integer) of the most recent security request. A zero (0)
indicates no error.

LastErrorMessage
Returns the error message (string) of the most recent security request.

LastErrorRetriesExceeded
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 ResetRetries() method (see below).

SecurityPending
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 AbortPendingSecurity() method (see
below).

PortRedMngr
This 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
This property is the user setting for the tcp application port definition 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.
406 Chapter 17

Methods
AbortPendingSecurity()
This method aborts any pending security requests. If a security dialog is open, it
will close it. There is no return code.

ApplicationClearance(ApplicationID, WinType, UserData)


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 will 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 (secResultType).

ChangeUserPassword(UserID, OrigPassword,
NewPassword)
This method allows a user, identified by UserID (string), to change their password.
They must supply their valid, current password in the OrigPassword (string)
argument in order for the change to take effect. The password is set to
NewPassword (string). The function returns an integer Result code
(secResultType).

FunctionClearance(ApplicationID, FunctionID, RecipeID,


WinType, UserData)
This method authenticates 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 interact
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 will be passed to an events raised in
connection with the security check. The function returns an integer Result code
(secResultType).

GetApplicationName(ApplicationID)
Returns the name (string) of the secutiry application identified by the
ApplicationID (long) argument.

GetFunctionName(ApplicationID, FunctionID)
Returns the name (string) of the security function identified by the ApplicationID
(long) and FunctionID (long) arguments.

GetUserName(UserID)
Returns the name (string) of the user identified by the UserID (string) argument.
Active-X GUI Controls 407

Init()
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)
Returns an integer (secRequestType) 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)
Returns an ineteger (secRequestType) 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

ResetRetries()
Resets the retry count for authentication attempts. The limit for retries is configured
in the InBatch security system. When the limit is reached, an error results.

Term()
Terminates the connection to the InBatch Security Manager.

Events
ApplicationClearanceComplete(Result, ApplicationID,
UserData)
This event is raised after a ApplicationClearance method has been called and any
security dialogs or other information has been provided to the security system. The
Result (secResultType) argument contains the result code: 0 if the clearance request
was successful, 1 if not.

FunctionClearanceComplete(Result, ApplicationID,
FunctionID, UserData)
This event is raised after a FunctionClearance method has been called and all
security dialogs or other information has been provided to the security system. The
Result (secResultType) argument contains the result code: 0 if the clearance request
was successful, 1 if not.
408 Chapter 17

RequestNewPassword(RequestType, UserID, UserData)


This event will be called when you are using a secWindowType of
secWindowlessEvent with the ApplicationClearance or FunctionClearance
methods. It is called when a clearance request fails due to the user’s password
expiring and it will automatically try to change their password based on the new
password you return. If RequestType is secRequestApplication or
secRequestDoneBy, you need to set the DoneByPassword property with a new
password before returning from this event. If RequestType (secRequestType) is
secRequestCheckBy, you need to set the CheckByPassword property with a new
password before returning. This event may be called repeatedly until you have
returned a valid new password. You may call the AbortPendingSecurity method
within this event to cancel the security request. You may also use the
LastErrorCode and/or LastErrorMessage properties to determine if there is a
previous access error to report to the user. The UserID argument specifies the ID for
the user whose password must be changed. The UserData argument is the value that
was passed into the original ApplicationClearance or FunctionClearance method.

RequestUserInfo(RequestType, ApplicationID,
ApplicationName, FunctionID, FunctionName, UserData)
This event will be called when you are using a secWindowType of
secWindowlessEvent with the ApplicationClearance or FunctionClearance
methods. It is called when the clearance request needs some information. If
RequestType is secRequestApplication or secRequestDoneBy, you need to set the
DoneByUserID and DoneByPassword properties before returning from this event.
If RequestType is secRequestCheckBy, you need to set the CheckByUserID and
CheckByPassword properties before returning. This event may be called repeatedly
until you have returned proper credentials. You may call the AbortPendingSecurity
method within this event to cancel the security request. You may also use the
LastErrorCode and/or LastErrorMessage properties to determine if there is a
previous access error to report to the user. The other arguments passed into this
event are the values passed into the ApplicationClearance or FunctionClearance
method, except for the ApplicationName and FunctionName arguments, which are
useful if you need to prompt the user for the information.

Enumerations
The following enumeration sets are used by the BatchSecurity 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 user must interact with the security
system.

secWindowModal (0)
This type will prompt the user for information as required using a Modal security
dialog. Therefore, the clearance call will not return until a result has been
determined
Active-X GUI Controls 409

secWindowModeless (1)
This type will prompt the user for information as required using a Modeless
security dialog. Therefore, the clearance call will return immediately with a result
of secResultPending, and the actual result will be returned through a
*ClearanceComplete event.

secWindowlessEvent (2)
This type will request information as required by firing RequestUserInfo and/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 interface, meaning the clearance call will not return until a result has been
determined. 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(s)
which would be invoked when the RequestUserInfo and RequestNewPassword
events are raised.

secWindowlessCheck (3)
This type will perform 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 will be known upon return. When using this type of clearance check, you
will need to set the DoneByUserID, DoneByPassword, CheckByUserID, and
CheckByPassword properties (as needed) before calling the clearance method. You
can determine which ones are required by calling the QueryApplicationSecurity
and/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 into
what a specific problem was.

secResultOk (0)
Clearance was granted OR the method succeeded

secResultFail (1)
Clearance was not granted OR the method had some other failure

secResultPending (2)
Clearance was not yet granted and the result will 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.
410 Chapter 17

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 into the Request* events when DoneBy information is required
to complete a function security clearance request. It can also be returned by the
QueryFunctionSecurity 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 returned 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.

Security Control Examples


The following InTouch script is secured by InBatch security. The example starts
with the configuration of a custom security application and function in the InBatch
security editor.

To Configure InBatch Security


1. Add a custom application to the InBatch security system called "InTouch".
2. Then add a function to that application called "Open Valve".
Active-X GUI Controls 411

3. Set the function to require Done By security.

Example 1: WinType = secWindowModal


The following InTouch script will act to manually force a valve only if InBatch
security is passed. This is the easiest way to implement the BatchSecurity control.
{Script to open valve XV101 manually}
{Check InBatch for Security Clearance (Modal Window)}
IF #BatchSec3.FunctionClearance( 99, 1, "", 0, 0) == 0 THEN
{0 means it's OK, open the valve}
XV101_MAN = 1;
ELSE
{There's a problem, show the error message.}
OPR_MESSAGE = #BatchSec3.LastErrorMessage;
ENDIF;

Example 2: WinType = secWindowModeless


The following scripts show how this same function is accomplished with a
modeless window (script continues even while security dialog is up) The first script
is on the valve icon or button on the graphical display.
{Check InBatch Security (Modeless Window)}
412 Chapter 17

{Use 101 to identify the valve in the UserData argument}


#BatchSec3.FunctionClearance( 99, 1, "", 1, 101);
{END OF SCRIPT (user is still answering security dialog(s)}

A second script is required for a modeless dialog. Its an event script on the
BatchSec control FunctionClearanceComplete Event. It gets called when the
security information is finally filled out by the operator.

{{ActiveX Script: FunctionClearanceComplete}


IF #ThisEvent.FunctionClearanceCompleteResult == 0 THEN

{ Security Test Passed. User data tells me what was


requested. }
IF #ThisEvent.FunctionClearanceCompleteUserData == 100
THEN
XV100_MAN = 1;
ENDIF;

IF #ThisEvent.FunctionClearanceCompleteUserData == 101
THEN
XV101_MAN = 1;
ENDIF;

IF #ThisEvent.FunctionClearanceCompleteUserData == 102
THEN
XV102_MAN = 1;
ENDIF;

ELSE

{ Security failed. Display error message }


OPR_MESSAGE = #ThisControl.LastErrorMessage;

ENDIF;

Example 3: WinType = secWindowlessEvent


This is the most complicated case. The WindowlessEvent interface was designed to
allow users to create their own security dialogs. These dialogs would be displayed
to the user when the RequestUserInfo and RequestNewPassowrd events are raised.
The dialog(s) needs to be modal since the user information must be supplied to the
interface before the event handling routine terminates. Therefore, this window type
should not be used by InTouch, since InTouch cannot (and should not) display
modal dialogs.
Active-X GUI Controls 413

Note The WindowlessEvent window type should not be used with InTouch.

The following code sample is of a Visual basic application wishing to use InBatch
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)
414 Chapter 17

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 will provide the UserID
and password information directly into the security object properties before the
FunctionClearance or ApplicationClearance method is called. This window type
can be used in conjunction with the QueryApplicationSecurity and/or
QueryFunctionSecurity methods in order to detemrine which if any dialogs would
need to be displayed. Since the call to the FunctionClearance or Application
Clearance method occurs after the information is supplied, this wondowtype can be
used by InTouch, since the security dialogs to execute 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
Active-X GUI Controls 415

{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;
416 Chapter 17

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. Display error message }
OPR_MESSAGE = #ThisControl.LastErrorMessage;
ENDIF;
InTouch Batch Tag Browsing and Referencing 417

C H A P T E R 1 8

InTouch Batch Tag Browsing


and Referencing

InTouch client applications frequently utilize InBatch information. The InBatch


data is accessed by way of tags. These tags typically exist in the InTouch Tagname
Dictionary and are used in the appropriate scripts and animation links. This can
result in a large number of batch tags in the InTouch application.
There is an alternative to maintaining the batch tags in the InTouch Tagname
Dictionary. InBatch tags can be remotely referenced within the InTouch
application. All InBatch tags can be browsed from InTouch and do not have to be
defined in the local tagname dictionary. This results in smaller and easier to manage
InBatch client applications.

Note Batch Runtime Client software must be installed on an InTouch client in


order to browse and reference batch tags.

Contents
• Overview
• Define Batch Tag Sources
• Remote Referencing Batch Tags
418 Chapter 18

Overview
There are three general categories of InBatch tags: Equipment Tags, TIM Tags, and
Batch Function Tags. The equipment tags refer to the phase control and status tags
and the phase formula parameter tags. The TIM tags are used by the InBatch
wizards to provide batch management information on the client. The batch function
tags provide access to the batch management system hooks. In order to use any of
these tags in an InTouch client application, the tag must be accessible to the
application.
There are three methods available for making these tags available in the InTouch
application.
1. Manually define the tags in InTouch.
2. 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 Chapter 5, "Tag
Linker."
3. Use the InTouch browsing capability to reference the batch tags without having
to create the tags in the InTouch Tagname Dictionary.
This section describes the steps that are required to enable browsing of InBatch tags
from InTouch and remotely reference the tags in InTouch without 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 InTouch tag browser.
InTouch Batch Tag Browsing and Referencing 419

Define Batch Tag Sources


The first step required to browse and reference batch tags in the InTouch
application is to define the batch tag sources.

To Define Batch Tag Sources:


1. Double-click any blank animation link Tagname or Expression input box.
The Tag Browser will appear.

2. Select the Define Tag Sources button. The Define Tag Sources dialog box
appears.

3. Click New. The Define Tag Source dialog box appears


420 Chapter 18

A tag source consists of the following items.


• Tag Source Name
The tag source name can be any user-defined name.
• Access Name
The access name corresponds to those defined for the InTouch application.
InBatch access names can be defined manually or loaded from the export
file from Tag Linker. The following table contains the two default InBatch
accesses.

Access Application Topic


IB_TIM_TAGS IBSERV Client Type Instance (e.g.
View1)
IB_CTRLSYS_TAGS IBSERV IB_TAGS

• Tag Source Type


The tag sources for InBatch tags are InBatch - TIM and InBatch - Control
System. These sources are created by the Batch Runtime Client
installation program.
• Location
The location points to the directory containing the InBatch databases
(…\InBatch\cfg\config_A).
4. Define the following tag sources. These sources are for the default accesses.
The source names are examples only. Any name can be substituted. The
location for each is the InBatch configuration directory (config_A).

Tag Source Name Access Tag Source Type


TIMTags IB_TIM_TAGS InBatch - TIM
EquipmentTags IB_CTRLSYS_TAGS InBatch - Control System
InTouch Batch Tag Browsing and Referencing 421

5. Use the tags from each source in the InTouch application as required. Change
the Tag Source to view the different batch tags available.
422 Chapter 18

Remote Referencing Batch Tags


The second step required is to use the batch tags in an application. When a batch tag
from one of the defined sources is used in the InTouch application, the complete
reference is used. This reference includes the access name and the tag name.
InTouch Client Security 423

C H A P T E R 1 9

InTouch Client Security

The InBatch Security System can be used to define security for InBatch server
applications. Also, included in this security system is an application and the related
functions required for defining security from an InBatch client.
For more information on using the InBatch Security System, see Chapter 13,
"Security System."

Contents
• Overview
• Configuring InBatch Client Security
• InBatch Client Security Operation

Overview
The InBatch Security System defines security for InBatch server applications and
InBatch client applications. All security requests performed from clients are
evaluated by the InBatch security system. Function clearance is granted or denied
based on the user and password information provided from the client and the
security configuration defined in InBatch.
424 Chapter 19

Batch Runtime Client

InTouch
WindowViewer
(ibdde.dll)

Batch Server
InBatch Server
(IBServ)

TIM Security TIM Batch


Interface Interface

Security Manager Batch Manager

Security
Database

Configuring InBatch Client Security


In order to successfully enable Batch Runtime Client security, configuration must
be done on the batch the Batch Server and the Batch Runtime Client(s) systems.

Batch Server Security Configuration


Several configuration steps are required for the Batch Server.
1. Using Tag Linker, select the Edit/Export menu option.
This displays the Export Editor window.
2. For the Client Type that represents the Batch Runtime Clients, change the
Number of Clients entry field to correspond to the number of client nodes
requiring security.
3. Perform the appropriate Runtime or Simulation Export from the Tag Linker
File menu to create the required client tags.
For more information on using the InBatch Tag Linker, see Chapter 5, "Tag
Linker."
4. In the InBatch Security Editor, select the Edit/Operator Stations menu option.
This displays the Operator Stations Editor window.
InTouch Client Security 425

5. Define operator stations for each client instance. The Name will consist of the
Client Type defined in the Tag Linker with the appropriate instance number
appended. This will permit independent user security access from each Batch
Runtime Client.

Batch Client Security Configuration


InBatch client security is automatically installed when the Batch Runtime Client
software is installed. However, the following steps are required to enable client
security.
1. Using the InBatch Security Editor, configure the desired security
requirements for the appropriate security functions available within the Batch
Client application. These functions correspond to actions performed from an
InBatch client using either InBatch wizards or the TIM system.

Note Do not enable security for the Batch Client application in the InBatch
Security Editor. Enable security only for the functions within the Batch Client
application.

2. If you are using InBatch wizards in the InTouch environment, set the initial
value of the tag, IB_SEC_DIALOG_TAG, to On. This enables security from
all of the InBatch Wizards and Script Add-On functions.
3. If individual TIM functions and tags are used in an InTouch application that
requires security, always use the ibBatchAction add-on script and either set the
IB_SEC_DIALOG_TAG initial value to On or pass a value of "1" to the
ibBatchAction function.
The following example assumes that the IB_SEC_DIALOG_TAG is enabled.
ibBatchAction( IB_TIM_ACCESS_TAG, 3, IB_SEC_DIALOG_TAG,
IB_RESULT_TAG );
426 Chapter 19

The following example disregards the value of the IB_SEC_DIALOG_TAG.


ibBatchAction( IB_TIM_ACCESS_TAG, 3, 1, IB_RESULT_TAG );

Note If InBatch client security is enabled, always use the ibBatchAction add-on
function instead of writing to the corresponding TIM handshake tag. Security is
built into the ibBatchAction function. If the TIM handshake tags are used, the
InTouch application must provide its own security functionality using the TIM
security interface.

For more information on using the InBatch add-on script functions, see Chapter 16,
"InTouch Script Add-On Functions."

InBatch Client Security Operation


When security has been configured for an InBatch client application, a Security
Clearance Request window will appear. In this window, you must enter appropriate
user and password information. This window will automatically change to inform
the user what action is being performed and what information is required. There are
four general configurations of this window that may appear. Each will contain the
action being performed, a message detailing what is required, and entry fields for
user and password information. A description of each is provided in the subsequent
sections.

DoneBy Security
The DoneBy Security Clearance Request window will appear if the operator
performs a Batch Client function that has been configured with only DoneBy
security in the InBatch Security Editor. The operator must enter a valid User ID and
Password in order to perform the function. If the entered values are correct, the
function will be performed. If the entries are incorrect, the window box will close,
the function will not be performed, and an error message will be displayed in the
InBatch Errors wizard.
InTouch Client Security 427

DoneBy and CheckBy Security


The DoneBy and CheckBy Security Clearance Request window will appear if the
operator performs a Batch Client function that has been configured with both
DoneBy and CheckBy security in the InBatch Security Editor. The operator must
enter a valid User ID and Password for both the DoneBy and CheckBy areas in
order to perform the function. If the entered values are correct, the function will be
performed. If the entries are incorrect, the window box will close, the function will
not be performed, and an error message will be displayed in the InBatch Errors
wizard.

Verify DoneBy Password


The New/Verify DoneBy Password Security Clearance Request window will
appear if the operator that performs the function does not have a password or their
password has expired. The operator must enter a valid new Password and verify
the new password in order to perform the function. If the entered values are correct,
the function will be performed. If the entries are incorrect, the window box will
close, the password will not be changed, and an error message will be displayed in
the InBatch Errors wizard.
428 Chapter 19

Verify CheckBy Password


The New/Verify CheckBy Password Security Clearance Request window will
appear if the operator that checks the function does not have a password or their
password has expired. The operator must enter a valid new Password and verify
the new password in order to check the function. If the entered values are correct,
the function will be performed. If the entries are incorrect, the window box will
close, the password will not be changed, and an error message will be displayed in
the InBatch Errors wizard.
Client Alarm/Event Interface 429

C H A P T E R 2 0

Client Alarm/Event Interface

Within the InBatch and InTouch client/server architecture, all InTouch alarms,
events, and operator actions can be recorded in the InBatch History Database and
included in batch reporting.

Contents
• Overview
• Required Configuration

Overview
The following diagram illustrates the software components that are used to record
InTouch alarms and events in the InBatch history database. When the Batch
Runtime Client installation option is selected, a modified wwextalm.dll and an
ibhist.dll are installed. These files contain programs that receive and filter all
InTouch alarms, event, and operator actions.

Batch Server Node Batch Runtime Client

InTouch
Batch Process Log History
WindowViewer
Manager Manager Administration
(wwextalm.dll)

InTouch
History Queue
Info Manager WindowViewer
Manager
(ibhist.dll)

Batch Info Server HistQueue


InBatch History
Database
History Queue
Reader
430 Chapter 20

The wwextalm.dll acts as a pass through to call the ibhist.dll. The ibhist.dll takes
the event and communicates with the Info Manager (InfoMngr) on the Batch Server
to determine if the event is associated with an active batch. If there is no batch
association, the event is discarded. However, if there is a batch association, the
event is sent to the InBatch History Queue Manager which places the information
on the History Queue for delivery to the history database.
In the event of a communications failure between the Batch Runtime Client and the
InBatch history database, all alarm and event information is stored locally on the
client in a Microsoft Access database located in the configuration directory
(…\cfg\config_A). When communications are re-established, the MdbToServer
application is automatically started on the client and all event information is written
to the InBatch history database.

Note The Batch Runtime Client installation option loads a modified wwextalm.dll
to enable the historical storage of client alarms and events. If changes have been
made to the wwextalm.dll prior to installing InBatch, these changes will be lost
when the new wwextalm.dll is installed. Please contact Wonderware for appropriate
instructions on how to incorporate the alarm and event logging along with any
previous changes made to the wwextalm.dll.

Required Configuration
The following steps must be performed to enable the passage of InTouch alarms,
events, and operator actions to the InBatch historical database.
1. Install the Batch Runtime Client software. This installs both the wwextalm.dll
and ibhist.dll files in the specified directory. InTouch must be installed prior to
this step.
2. For each client node, use the ibAlarmEventInit script add-on function to
prepare the node for transferring alarm and event information. Typically, this
function is placed in the On Startup Application script. This function permits
defining a connection to a backup batch server as well as some other important
information.
3. For the primary client alarming node, use the ibAlarmNode script add-on
function to enable the alarm and event interface for that node. Typically, this
function is placed in the On Startup Application script. InTouch scripting can
be used to switch to another node upon failure of the primary.
4. For all secondary client alarming nodes, use the ibAlarmNode script add-on
function to disable the alarm and event interface for that node. Typically, this
function is placed in the On Startup Application script. InTouch scripting can
be used to make any backup node primary upon failure of the primary.
For more information on using the script add-on functions provided with
InBatch, see Chapter 16, "InTouch Script Add-On Functions."
5. Configure the alarms and events within InTouch. All tags must adhere to the
InBatch tag structure for mapping units/connections to a batch. Only tags with
a unit or connection name in the first eight characters of the tag can be mapped
to a batch. Tags that cannot be mapped to a batch are not logged to the history
database. Within InTouch, configure one alarm logger to handle batch alarms.
Client Alarm/Event Interface 431

For more information on the InBatch tag structure, see Chapter 4, "Process
Modeling."

Note Note Typically only one InTouch client will be responsible for generating
alarms and events that get recorded in the InBatch history database. Enabling the
alarm and event interface for multiple clients may result in repetitive entries in the
history database. The exception to this is if there are different alarms being
generated on separate client nodes.
432 Chapter 20
Redundancy 433

C H A P T E R 2 1

Redundancy

The batch management system is designed with a redundancy option. The purpose
of a redundant system is to insure smooth and continuous batch system execution
on a backup computer in the event of a hardware failure on the master system.
Redundancy is particularly useful in critical manufacturing facilities operating 24
hours a day, seven days a week and where the loss of the batch system and/or
associated batch data is intolerable.
Redundancy is available for Batch servers. Batch Runtime Clients can be
configured to operate with redundant servers. Redundancy is initially configured as
part of the Batch Server installation process.

Note Configuration of a redundant batch control system requires computer


network experience. It is strongly recommended that only qualified personnel
configure the redundant system.

Note 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.

Contents
• Overview
• Setting Up a Redundant Batch Server
• Installing a Redundant Batch System
• Redundancy Configuration
• Example of a Redundant Server Configuration
• Redundancy Switch-Over Configuration
• Redundancy Operation
• Typical Redundant Sequence of Operation
• Batch Clients
• Redundant System Points of Interest
434 Chapter 21

Overview
Redundancy refers to the capability of the Batch Management System to
automatically switch batch control to a backup server in the event of a primary
server shutdown due to a hardware failure or power loss. Accordingly, two identical
servers are required to configure a redundant Batch system. Each of the two servers
must be equipped with a minimum of two network interface cards (NICs). For each
server, one NIC will be used to connect to a primary LAN. Both systems must be
able to communicate reliably over this primary connection. The secondary NIC on
each machine must be directly connected to each other using a crossover type
network cable. This secondary network should be exclusively dedicated for the
purpose of Batch System redundancy. This secondary network supports the
“heartbeat” between the primary and backup batch server.

Note Reliable network communications between the servers in the above


described manner is absolutely critical to the proper functioning of Batch Server
redundancy. Redundancy, by design, is intolerant of unreliable network
communications, and this constraint must be taken into account when designing
and deploying a redundant Batch system.

Batch Development and Batch Runtime clients are normally clients of a single
batch server. In a redundant system there are two servers, either of which can
operate as the primary batch server. Each client must therefore be connected to the
primary LAN and must also be properly configured to gain network access to both
servers.

Setting Up a Redundant Batch Server


Redundancy is an option when installing Batch servers and clients. However, the
order in which the components of the system are deployed is important. The system
must be deployed in the following order.
1. Establish a valid network configuration.
2. Install the redundant Batch Servers.
3. Install and configure Batch clients.

Network Configuration
Before installing redundant Batch Servers, the network must be properly
configured. Each server will be equipped with two network interface cards (NICs);
each NIC will be assigned a uniquely addressable host name and a corresponding
IP address. One NIC in each server can be designated the primary, and the other
NIC the secondary. By establishing two independent network paths between the
servers, the Batch System Redundancy Managers can send the required heartbeats
over both paths simultaneously. Use the following checklist to verify proper
network configuration (an example configuration is provided).

Note Redundant Network Configuration must be performed by qualified


personnel.

• Dual Network Interface Cards – Two NICs must be present in each server.
Redundancy 435

• Protocol - Each server must be configured for the TCP/IP network protocol.
• Network Addresses - Each NIC, on each server, must be assigned a proper IP
address. It is critical that the two addresses assigned to the NICs on a single
server are from different networks. This will ensure that the network
connection is used when communicating the “heartbeats”. If these addresses
differ only at the host level, redundancy will not work properly.
• Lmhosts – Lmhosts lookup must be enabled as a TCP/IP property. The set of
four network addresses must be loaded into the lmhosts file. This loading
ensures the fastest possible name resolution. Sample entries for the lmhosts file
are given in the example that follows.
• RedCfg – A redundancy configuration file (RedCfg) is created on each server
and client as part of the redundancy installation. The RedCfg file contains
specific information about system names associated with the computers in your
redundant setup.
• Verification - Communication between both servers and both paths must be
tested and verified.

Installing a Redundant Batch System


Redundancy is an optional feature of the Batch Management System. It is installed
on BOTH servers using the Batch Server option of the installation program. You
will be presented with a series of dialog boxes that will prompt you for specific
information about your network.

To install a Batch Server with redundancy, follow these guidelines:


1. Follow the installation procedure for Batch Servers as described in Chapter 2,
"System Installation."
2. Proceed through the installation until the Select Components window appears.
3. Enable the Redundant System check box. Click Next.
4. Enter the Information Server hostname. Click Next.
5. Enter the other Batch Server's hostname. Click Next.
6. Select the number of interface cards installed. Click Next.
7. Enter the logical hostnames for the Primary network. Click Next.
8. Enter the logical hostnames for the Secondary network. Click Next.
9. Follow the remaining installation instructions.
10. Setup will automatically create a program group with icons for the Batch
Server.
11. Repeat these steps on the other Batch Server, substituting the appropriate
hostname and alternate hostname for the redundant system.
436 Chapter 21

Batch Client - Redundancy Configuration


A Batch Client is configured for redundancy using the Batch Client option of the
installation program. You will be presented with a series of dialog boxes that will
prompt you for specific information about your network.

Note Important Before you begin configuring a Client for redundancy, you must
first have valid network connections between your servers and each Client.

Server Configuration
1. On the InBatch Server, create a share for C:\Program
Files\FactorySuite\InBatch directory. It is recommended that you name the
share “InBatch”.
2. On each Batch Development Client, map two network drives. Each drive must
correspond (that is, point to) to the appropriate Batch Server.
3. When properly configured, each Development Client will have two additional
network drive letters available: one that provides a connection to the master
server, and one that provides a connection to the backup system.

Batch Client Configuration


1. Follow the installation procedure for Batch Servers as described in Chapter 2,
"System Installation."
1. Proceed through the installation until the Select Components window appears.
2. Disable the Batch Server option and enable the Redundant System option.
3. Select Batch Clients and click Change to view the Sub-component
installation window. By default, both clients are selected for installation. Select
the required Sub-components and then close the window.
4. Click Next to continue
5. Enter the hostname of the Information Server.
6. Enter the hostname of the Batch server and the drive letter which is mapped to
the batch server.
7. Enter the hostname of the other batch server and the letter of the mapped drive
pointing to this batch server.
8. The installation program will create two program groups. Each set of icons
within each program group is specifically associated with the batch server
identified in the title bar.
Redundancy 437

Redundancy Configuration
You must edit the Lmhosts file on each of your redundant systems as described in
this section. These configurations prevent Redundancy Manager (RedMngr) from
binding an improper IP address.
The names used to identify your redundant networks must be different than the
machine names. In previous versions of InBatch, the primary network was
identified by the computer’s network name. The only place that the network names
should be used is in the host file.

RedCfg File Structure


The RedCfg file contains the structure described below.

Line 1: The remote computer name.


Line 2: Blank, not used.
Line 3: The path to the remote computer config_A directory.
Line 4: Blank, not used.
Line 5: The local hostname for primary network (cannot be a computer name).
Line 6: The local hostname for secondary network (blank if not used).
Line 7: The remote hostname for primary network (cannot be a computer name).
Line 8: The remote hostname for secondary network (blank if not used).
Line 9: Blank, not used.

Note The last line of the RedCfg file must be blank (i.e. carriage return.) The line
numbers shown are for reference only. They are not actually entered in the file.
438 Chapter 21

Example of a Redundant Server Configuration


The following example describes a redundant configuration. Note that the
secondary network connection between the Master Server and Backup Server is a
direct connection using a standard Ethernet crossover cable. The computer names
and IP addresses shown are used in the descriptions later in this section.

Secondary Network – crossover cable


(No connections to an external network)
10.199.199.9 10.199.199.8

Master Server Backup Server

‘cabezon’ ‘bonito’

10.40.20.75 10.40.20.55

Primary Network

Batch Batch Batch


Runtime Development Information
Client Client Server

10.40.20.65 10.40.20.66 10.40.20.67

Control System
Redundancy 439

RedCfg and Lmhosts File Examples


In the example shown earlier, two computers, “cabezon” and “bonito” represent a
“master” server and a “backup” server respectively. The terms “master” and
“backup” are expressed for the purpose of this example. Remember that during the
operation of a redundant system, the relationship between the master and the
backup will change when a switch-over occurs. That is, the backup server becomes
the master, and then when the failed master is restored to proper operation, it
assumes the role as the backup system.
The computer names, and network IP addresses shown in this example, will be used
as the entries in the RedCfg and Lmhosts files later in the section.

RedCfg File Example


The computer named cabezon would have a RedCfg file as follows:
bonito
<blank line>
\\bonito\config_A\
<blank line>
caby1
caby2
bony1
bony2
<blank line>
The computer named bonito would have a RedCfg file as follows:
cabezon
<blank line>
\\ cabezon\config_A\
<blank line>
bony1
bony2
caby1
caby2
<blank line>
In this example, the names caby1, caby2, bony1, and bony2 are defined in the
Lmhosts file on each computer. This is described in the following section.

Lmhosts File
The Lmhosts file contains the structure described below. The Lmhosts file is
located in the …\winnt\system32\drivers\etc folder on your computer. The file
content is the same for the master and backup computer. 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. This is recommended for
improved performance.
440 Chapter 21

10.40.20.75 cabezon #PRE


10.40.20.75 caby1 #PRE
10.199.199.9 caby2 #PRE
10.40.20.55 bonito #PRE
10.40.20.55 bony1 #PRE
10.199.199.8 bony2 #PRE
10.40.20.65 RunClient1 #PRE
10.40.20.66 DevClient1 #PRE
10.40.20.67 InfoSvr #PRE

Redundancy Switch-Over Configuration


Important! A thorough understanding of this section is critical for the proper
deployment of a Redundant Batch System.

After installing and configuring the batch servers as described previously, you
should verify that the Servers are capable of properly switching over batch control.
In the following discussion, it is assumed that either server could be acting in the
role of a master or backup. When the batch servers are started for the first time, the
server that actually boots first will assume the responsibility of the Master.
Thereafter, the role of each server is determined by the information contained in the
local RedState file on each system.
Redundant batch server operation is controlled by a Redundancy Manager process
that runs on each server. The “heartbeat” is exchanged over the network between
these two processes. Each Redundancy Manager controls the other local Batch
Management processes. When a switch-over event occurs, the associated process
activity is controlled by the Redundancy Manager.
A system parameter in the Environment called “Redundancy TimeOut” is used to
set the switch over delay. The value is configurable by the user and is specified in
seconds.
For more information on Environment Manager, see Chapter 3, "Environment
Management System."
In the event a Redundant Batch sever has failed to detect the other servers
heartbeat, it will wait for the configured time before initiating a switch-over.
The normal state of a redundant batch system has one server acting as a “Master
with Valid Backup” and the other server acting as a “Valid Backup.” The role of an
active Batch server can be determined by opening the status window on the
Environment Display.
Redundancy 441

In the event of complete communications failure between the two Redundancy


Managers, a switch-over event may be initiated by both servers, in which case there
will be two Masters. If this occurs, proper Batch control is not guaranteed and
operator intervention is mandatory. Avoiding this situation is, in fact, a primary
requirement when deploying a redundant Batch system. This type of
communication failure between the two servers can occur for a variety of reasons.
For example, the simultaneous loss of both networks for a period of time at least
equal to the switch-over setting, or, the execution of any process on a batch server
which completely consumes system resources (CPU, network etc.).
For this reason, it is strongly recommended that the expected batch server load is
given careful consideration and hardware resources are gauged accordingly.
Resource intensive applications such as screen savers should be disabled on the
Batch servers, as they could cause the problem of “two master systems.” Prior to
deploying a redundant batch system into the production process, the load and
resource utilization on both batch servers must be assessed, and a reasonable
assurance of adequate resources for the Batch Management System must be
achieved.

Redundancy Operation
The batch control system has the capability to operate concurrent configuration and
runtime systems. The presence of two identical systems permits the backup system
to continue runtime execution if the master system should fail. This functionality is
known as redundancy. As the batch control system databases are altered, all of the
revisions are written to databases located on both the master system and the backup
system. In the event of a master system failure, the backup system continues all
batch operations.

Backup Server
Master Server
Batch System
Backup System
(Dormant)

Master Backup
Batch System Batch System
Databases Databases

Directory Configuration
In a redundant batch control system configuration, the directories containing the
batch applications on each server are shared. During installation of redundancy, the
only user-supplied information required to establish redundancy is the network
name (hostname) of the other redundant system. The same installation procedure is
performed on both servers. Each identifies the other as the redundant host. If the
directory names, network references and network sharing, are configured
incorrectly, redundancy will not function properly.
442 Chapter 21

Initial System Start-up


Once the system configuration is complete, the master batch control system can be
started normally. The server which is started first (by way of Environment
Manager) becomes the master.

Note All configuration changes other than recipes and materials should be made
prior to starting the runtime system.

After Environment Manager on the master is started the Redundancy Manager


(RedMngr) is started. RedMngr creates a state file indicating that the system is the
master. The state file also logs the time at which it became the master. If for some
reason RedMngr fails to start EnvMngr will continue normal operation. RedMngr
however will send a message to the Batch Logger indicating an error. In this case
you will need to correct the error, shutdown-and-exit from the Environment
Display, and then restart the Environment Display.

RedMngr Startup Procedure


When RedMngr successfully starts on either the master or the backup system, it
executes the following procedure:
1. If the state file indicates that the system was a backup, then the system will
operate as a backup. If no master exists, then RedMngr will not start. A
message is displayed indicating the condition.
2. If the state file indicates that the system was a master, then it makes an attempt
to interrogate the state file on the remote system. If a remote system state file is
not found, then the system will not start and a message is displayed indicating
the condition.
3. If the state file on the remote system is found, then the file is read and its last
state is determined. If the state of the remote system is “backup” then the
interrogating system starts as a master.
4. If the state file on the remote system indicates that it’s last state was a master,
then the time that is logged to both of the state files is evaluated. If the state file
on the interrogating system is more recent, than it starts as the master.
5. If the time in state file on the remote system is more recent, then the
interrogating system changes its state to backup and starts.
Environment Display provides a method to force either system to operate as the
master, regardless of the state of the state files on each system. In a redundant
system the Environment Display application file pull-down menu appears as
shown.

Note Extreme caution is recommended when using the Force System to Master
option. When the system starts as a backup, it synchronizes all of the configuration
databases with those located on the master system. Therefore, if the system was
previously operating as the master, then the data generated during the previous
execution would be overwritten by the synchronization process.
Redundancy 443

Typical Redundant Sequence of Operation


The following paragraphs detail the normal sequence of operation for a redundant
batch control system. The results of system failures, as well as recommended
recovery procedures are presented.

Note Once the Environment Display is started on both servers in the batch control
system, a period of several minutes or longer will elapse while configuration
databases and other batch control system processes are synchronized. During this
period, both systems will display messages that use the terms invalid and valid, in
reference to the state of the master or backup system. During the synchronization
period, the messages can be misleading. The term valid indicates that (1) all of the
databases on both systems are synchronized and (2) the runtime system on the
backup is enabled. The term invalid indicates that (1) the databases on both systems
are not (or are not yet) synchronized and/or (2) the runtime system on the backup is
not enabled and/or (3) a backup system cannot be detected.

Initial Start-up
The master batch control system is started as described earlier. The backup batch
control system databases are synchronized and started. Once the master and backup
batch control systems have been properly configured and all modules on each
system have been started properly, the redundant system executes normally until a
failure of either system is experienced.

Normal Runtime Operation


The master system is responsible for updating both the master and backup system
databases. The master and backup system clocks must be manually synchronized
on a regular basis to insure that the data and time stamps associated with the
historical data are consistent. The backup system will continuously monitor the
status of the master system.

Backup System Failure


If the backup system fails prior to a master system failure, the master batch control
system continues to operate normally but will stop updating the backup system
databases. The backup batch control system problem must be corrected and then
restarted. The databases on the backup system are then automatically re-
synchronized.

Master System Failure


In the event of a master system failure, the backup system will automatically
assume the role of the master only if the backup system is valid. The transition will
be transparent to the control system. All batches that were executing in the failed
master system continue to execute on the backup system that assumes the role of
the master. Master system clients that are executing on other client systems will
terminate upon the failure of the master system. However, the operator may easily
restart these clients with connections to the new master system.
444 Chapter 21

Master System Failure while Backup’s Operating


System is Failed
It is possible for the Master system to fail while the backup system is not
operational. Upon restarting the Environment Display on the Master system, the
Redundancy Manager will not start because the starting system cannot
communicate with the alternate system. If the alternate system cannot be started,
then the procedure to recover is to manually force the viable system to become the
Master using the Force System to Master option on the File dropdown menu on
the Environment Display. Perform an Exit and Shutdown of the Environment
Display and restart the Environment Display. This system will assume the role of
Master and will operate as a stand alone server until the backup system is restored
to an operational state.

Note The failed master should not be started as the backup until the problem that
caused the failure is repaired.

If the system does not have a redundancy state of Master with Valid Backup, or if
redundancy is not being used and IBCli looses communications with the Control
System, IBCli will continue trying to read valid tag values. The read error will not
be reported more than once per tag. Read errors on tags that have never had a
successful read, will only report the error once and redundancy will not be initiated.
This ensures that improperly linked tags will not initiate a redundancy switchover.

Note If communication between the Control System and IBCli fails, an automatic
switch-over to the Backup System will NOT occur. IBCli will issue 'read failed
errors' for the linked tags that are attempting to be read. If this should occur, the
operator must determine the cause of the failure and then determine if a manual
switch-over to the Backup System will resolve the communication fault.

Failed System Recovery


When the original master system problem is rectified, the system can be restarted as
the backup.

Manual Switch-Over to Backup System


The operator may manually switch the operation to the backup system at any time
during normal operation. This is accomplished by shutting down the master batch
control system. The backup system will assume the role of the master just as if there
was a hardware failure.

Note If you are going to execute a manual switchover, it is recommended to do so


(if possible) when batch activity is minimal. This ensures the highest degree of
integrity of the master-to-backup database synchronization.
Redundancy 445

Shutting Down a Redundant System


If changes are made to the tag database on the master system and the runtime is
then updated (while the backup is valid), the backup system may not have current
tag data. If I/O Clients (i.e. SysTagMngr, etc.) are running on the backup system
when the master is updated, the I/O client data in memory on the backup system
will not be updated. To avoid this problem, it is strongly recommended that you
follow the guideline below.
Whenever you shutdown a redundant system, ensure that you first shutdown the
backup system, followed by the shut down of the master. When you start a
redundant system, ensure that you start the master system first, followed by the start
of the backup. This will ensure that the runtime data is current and synchronized.

Batch Clients
Batch Runtime Clients are InTouch applications that are connected to a network
node. They require access to the batch control system that is located on a remote
master system. In the case of a redundant system, each client must have the
necessary network access to both the master server and the backup server in the
event of a master-backup switchover.
If the master system becomes unavailable for some reason, the backup system will
take control and management of the batch system. When this switchover occurs, a
client must (1) acknowledge that the master is unavailable, and (2) establish a
connection to batch management system on the backup system. It must also handle
the reverse, in the event the original master becomes available again.

Monitoring Redundancy Status


The Batch Management System provides a set of system tags to monitor
redundancy status. These tags are available through the InBatch Server application
IBSERV using IB_TAGS as the topic. Unlike other tags in the system, these tags
may be monitored on both the master and backup servers.

Tagname Data Type Description


IBSERV_RED_MASTER Discrete The Value of this tag is set to 1 (TRUE)
on the Master Batch Server and 0
(FALSE) on a valid Backup.
IBSERV_RED_STATE Integer Contains the RedState value for the
Batch 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
IBSERV_RED_HEARTBEAT Discrete Contains a “heartbeat” signal. Value
alternates between 0 and 1.
446 Chapter 21

Batch Client (InTouch) Switchover


The following script is very basic. It demonstrates the functionality of allowing a
client to manage switching between two (remote) servers. Additional functionality
can be added.
For more information, see your "InTouch User's Guide."
For more information on script functions, see Chapter 16, "InTouch Script Add-On
Functions."
The script monitors the tag named IBSERV_RED_MASTER on the BACKUP
SYSTEM. This is very important to understand as values for this tag are not
reliable on an invalid backup, but the transition from FALSE to TRUE is a reliable
signal that a redundant switchover has occurred and that the “backup” system is
now acting as master. Within InTouch you will need to create a Condition Script
which is set up similar to the following:

Condition: IBSERV_RED_MASTER == 1
Condition Type: On True
{Swap the Servers. MASTER_ID always identifies the acting
MASTER server}
IF MASTER_ID == "bonito" THEN
MASTER_ID = "cabezon";
BACKUP_ID = "bonito";
ELSE
MASTER_ID = "bonito";
BACKUP_ID = "cabezon";
ENDIF;
{ Switch IB_TIM_TAGS Access name to new master - for TIM
wizards }
IOSetAccessName("IB_TIM_TAGS", MASTER_ID, "IBSERV",
TIM_TOPIC);
{ Switch the IB_TIM_ACCESS_TAG to use new server - for script
functions }
IB_TIM_ACCESS_TAG = "\\" + MASTER_ID + "\IBSERV|" + TIM_TOPIC;
{ Switch IBSERV_RED Access to monitor new backup server }
{ Note: The IBSERV_RED_MASTER tag is assigned to this Access
Name }
IOSetAccessName("IBSERV_RED", BACKUP_ID, "IBSERV","IB_TAGS");

The example script uses the following memory message tags that are created and
assigned initial values in the InTouch Tagname Dictionary:

Variable Name Initial Value


MASTER_ID “cabezon”
BACKUP_ID “bonito”
TIM_TOPIC “View1”
Redundancy 447

Note The variables, MASTER_ID and BACKUP_ID, are dynamically reassigned,


as the master-backup relationship between the two systems changes.
The variable, TIM_TOPIC might be re-assigned a value on startup based on the
client node name. This uniquely identifies the runtime client.

Batch Development and Batch Runtime Clients


Batch Development and Batch Runtime Clients access the batch control system
databases by way of network connections. When the master server fails and the
backup system takes control of the batch control system, clients do not
automatically connect to the new master. During installation, each client was
configured with two program groups; so that identify both of the [potential] servers.
When the master failure occurs, the operator must first terminate applications that
were executing on the client, and then start the applicable clients within the
Windows program group associated with the "new" master.

Configuring InTouch Client Alarms for Redundancy


The following information is required in order for InTouch clients to properly log
alarm events to the historical database. You will need to create an InTouch
Application Startup Script that will initialize the InTouch Client Alarms.
For more information on the InTouch Client Alarms, see Chapter 20, "Client
Alarm/Event Interface."
The following configurations must be performed on each InTouch client so that
alarms and other events are properly logged to the historical database. Note In order
for any events to be logged to the history database for a given batch, at least one
unit must be allocated to the batch.

InTouch Startup Script


The following InTouch Application Action script executes whenever a client
application is started.

Note For more information on the ibAlarmNode(YES_NO) tag, see Chapter 16,
"InTouch Script Add-On Functions."

Application Script: On Startup


ibAlarmNode(1);
A value of "1" indicates that all alarms and events (other than operator events) will
be logged. A value of "0" indicates that all alarms and events (other than operator
events) will be discarded.
448 Chapter 21

Redundant System Points of Interest


During normal redundant system operation, there are several important topics that
the user must be aware of. Each of these details should be followed to ensure
successful redundant operation.
• Editing of the batch control system databases can only be performed on the
active master.
• Following the guidelines in this document for setting up a redundant system
will insure successful system operation. However, if a situation occurs where
the backup system or network loses communication, hence its synchronization
with the master system, an error message will be sent and displayed in the
Wonderware Logger. In this case, the hardware and/or system configuration
requirements presented earlier should be reviewed.
• In the event that a hardware failure occurs during the transition of the status of
one or more phases, the batch management system will assume that the control
system phase logic is correct. Thus, for all phases that were executing prior to
the failure, the status will be read from the control system upon the start of the
backup system.
• When starting a backup system, it is recommended that batch control system
activity be at minimal level. This will ensure the highest degree of accuracy for
database synchronization.
System Administration 449

C H A P T E R 2 2

System Administration

This section describes the utilities and procedures that you should use for
administration of your Batch Management System components.

Contents
• Information Server Administration
• Backing Up Batch Databases
• Managing Batch Configurations
• Terminal Server License Administration

Information Server Administration


Information Server administration software is provided by way of a web page that
is hosted on the Information Server. The administration web page provides History
Administration, Error Queue Administration, Information Server Configuration,
History Archiving, and Report Log Administration.

To Access the Batch Information Server Administration web page:


1. On the Start menu of your Information Server, point to Programs,
Wonderware FactorySuite, InBatch, BatchInfoServer and then select
BatchAdmin.
If you want to access the Batch Information Server web page from a different
computer on your network, you will need to use the following URL address:
http://<computer name>/AdminWeb, where <computer name> is name of the
computer on which the Information Server is installed.
2. If you have enabled Batch security, you will be prompted to enter a valid User
and Password to access the administration web pages. By default, security is
not enabled, and the Batch Information Server Administration main page is
displayed.
450 Chapter 22

History Administration
Use the History Admin button to access the Batch Information Server
Administration - History Admin page and configure the Information Server (SQL
Server) accounts that are associated with access to the administration functions.
The accounts that you will be specifying are ultimately used to establish access to
the History Database in SQL Server.
System Administration 451

1. Enter the required User ID and Password.

Note The Password is case sensitive.

When the Information Server software is installed, the default User ID is


‘BatchAdminUser ’ and the Password is ‘WildcatFalls’.
The accounts that you enter must already have been defined using Microsoft
SQL Server Enterprise Manager. For more information on accounts, see User
Accounts in this section.
2. After you enter the required information, click the Set Admin Data button.
This will return you to the Batch Information Server Administration main
page.
452 Chapter 22

User Accounts
When you create user accounts for the History Administration pages, it is import
that you follow the guideline described in this section. The following requirements
must be observed whenever you are creating or editing System Administration user
accounts associated with the users who will access History Administration web
pages. If you do not properly configure user access and assign the appropriate
privileges, you will not be able to use History Administration.
For all user accounts associated with History Administration, use Microsoft SQL
Server Enterprise Manager to define the following SQL Server Login
Properties.
• BatchHistory database must be assigned as the default database.
• Server roles must include: Disk Administrators and Database Creators.
• Database Access for the BatchHistory and BatchArchive databases must
each include the following Database Roles: public, db_owner, and
BatchAdminRole options must be assigned.

Error Queue Administration


Use the Error Queue button to access to the Error Queue Admin page. From this
page you can view and edit the data that is stored in the Error Queue. By reviewing
the information in the Error Queue, it may be possible to edit the data in such a way
that the Information Server is able to properly store it. If necessary, you can delete
the affected data.
During normal batch execution, all historical data is written to the History Database
on the Information Server. While it is very unlikely, it is nevertheless possible, for a
failure to occur that would prevent data from being written into the History
Database. These abnormal conditions may result in an accumulation of data in the
Error Queue. If you are observing what appears to be erroneous historical data or
some other abnormal indications, it is recommended that you make use of the Error
Queue Admin page.
System Administration 453

Information Server Configuration


Use the Info Server Config button to access the Information Server
Configuration page. From this page you can edit the Report Path which identifies
the location of reports on the Information Server.
1. In the Report Path text box, enter the location where reports are located on the
Information Server.

Note When the Information Server is installed, the Report Path is


C:\Program Files\FactorySuite\InBatch\BatchInfoServer\Crystal by
default. The default Report Path is always associated with the C: drive even if
the Information Server is installed on a different drive. If the Information
Server is installed on a different drive, then Report Path must be edited. Users
should consider this when creating and editing recipes that include reports.

For more information on creating recipes, see Chapter 7, "Recipe Editor."

2. Click the Update button to save the path.


454 Chapter 22

History Archiving
Use the History Archive button access the History Archive page. From this page,
you can create, edit and execute archiving tasks that are registered by SQL Server.

Note Prior to using History Archive, ensure that the SQLServerAgent service has
been started on the Information Server.

Caution! When the History Archive executes, it overwrites the existing Archive
Database, effectively forgetting about the settings associated with permissions for
the database. If the BatchAdmin account is changed, then the archive database (an
empty one) should be backed up with the new permission settings. That backup
should then replace the archive template stored on disk.
System Administration 455

Add Archive Job


This section describes how to add an archive job.

To Add an Archive Job:


1. Click the Add Archive Job button.
The History Archive - Add Archive page will appear.
456 Chapter 22

2. Enter the information as described in the following table


System Administration 457

Item Description
Job Name The user-defined name for the archive job.
Job Description Text that describes the archive.
Scheduled Date & Time The scheduled date (mm/dd/yyyy) and time (hh:mm am/pm)
identifies when the Information Server will perform the archive
task.
Dump Device Name The dump device can be any descriptive text you want to use. The
History Archive application creates a Backup Device in Microsoft
SQL Server with the same name. An error message will be
displayed if the entry is blank.
Dump File Name The complete path and name that will be created when the archive
task is executed. An error message will be displayed if the entry is
blank.
Archive Database Name The name of the Archive Database that you defined when you
installed the Information Server (Default is BatchArchive).
History Data Start Date The start date (mm/dd/yyyy) identifies the starting point for
archiving history data.

This date is inclusive. All batches completed on or after this date


will be archived.

A batch is considered completed when it has obtained a status of


Done or Aborted, and is closed (removed from the batch schedule).
History Data End Date The end date (mm/dd/yyyy) identifies the ending point for archiving
history data.

This date is inclusive. All batches completed on or before this date


will be archived.

A batch is considered completed when it has obtained a status of


Done or Aborted, and is closed (removed from the batch schedule).
Options - Purge Data Enable this check box if you want the archive task to delete the data
After Archive (defined by the start and end dates) from the history database when
it executes archive task.

3. After you have completed making your entries, click the Add button.

Add Purge Job


This section describes how to add a purge job.

Important! Extreme caution should be used when purging historical information.


Always make sure the data to be purged has been successfully archived. It is
recommended that you archive and verify your data first, and then, if required,
purge it.
458 Chapter 22

To Add a Purge Job:


1. Click the Add Purge Job button to display the History Archive - Add Purge
pager.

2. Enter the information as described in the following table.


.

Item Description
Job Name The user-defined name for the purge job.
Job Description Text that describes the archive.
System Administration 459

Item Description
Scheduled Date & Time The scheduled date (mm/dd/yyyy) and time (hh:mm am/pm) identifies
when the Information Server will perform the archive task.
History Data Start Date The start date (mm/dd/yyyy) identifies the starting point for archiving
history data.

This date is inclusive. All batches completed on or after this date will be
archived.

A batch is considered completed when it has obtained a status of Done or


Aborted, and is closed (removed from the batch schedule).
History Data End Date The end date (mm/dd/yyyy) identifies the ending point for archiving
history data.

This date is inclusive. All batches completed on or before this date will
be archived.

A batch is considered completed when it has obtained a status of Done or


Aborted, and is closed (removed from the batch schedule).

3. After you have completed making your entries, click the Add button.

Add Restore Job


This section describes how to restore a previously archived database.

To Add an Archive Job:


1. Click the Add Restore Job button to display the History Archive - Add
Restore page.
460 Chapter 22

2. Enter the information as described in the following table.

Item Description
Job Name The user-defined name for the purge job.
Job Description Text that describes the archive.
Scheduled Date & Time The scheduled date (mm/dd/yyyy) and time (hh:mm am/pm) identifies
when the Information Server will perform the archive task.
System Administration 461

Item Description
Dump Device Name The dump device can be any descriptive text you want to use. The
History Archive application creates a Backup Device in Microsoft SQL
Server with the same name. An error message will be displayed if the
entry is blank.
Archive Database Name The name of the Archive Database that you defined when you installed
the Information Server.

3. After you have completed making your entries, click the Add button.

Completed Archives
After an archive has been created, it can be deleted, restored or purged.
1. On the History Archive page, identify the archive that you want from the
Completed Archives list.
462 Chapter 22

2. To Delete the archive, click the Delete button associated with the archive
Name. The archive will be immediately deleted.
3. To Restore an archive, click the Restore button associated with the archive
Name. The archive will be immediately restored.
If you want to view the Completed Archive before you restore it, click the
archive Name. This will display the Completed Archive Details page.
System Administration 463

After viewing the information, click the Restore Archive button. The History
Archive - Add Restore page will appear. Review and edit the Add Restore
job, and then click the Add button. The selected archive will be restored.
464 Chapter 22

Report Log Administration


The Report Log Admin button provides access to the Report Log
Administration page. The Reporting System allows you to configure and generate
reports, and save them in a folder on your Information Server. All of the reports that
are stored on the Information Server are stored in the database and are displayed
whenever you use the Report View feature of the Reporting System. Depending on
your specific requirements, you may want to remove reports that are no longer
needed.
1. Locate and delete the report(s) using Windows Explorer.

Note The location of saved reports is specified by the user during


configuration.

2. Click the Report Log Admin button to display the Report Log
Administration page.

3. On the Report Log Admin page, click the Update button.


System Administration 465

This will cause the Information Server to update the database so that the
reports that you deleted no longer appear when you use the Report View
feature on the Batch Reporting web page.

Changing an Information Server Assignment on a


Batch Server
When you install a Batch Server you are prompted to enter the name of the
computer on which your Information Server is located. If you need to change the
Information Server Host name, follow the steps shown.
The Batch Server uses the environment variable BHQ_HOST and it’s assigned
value to determine the network location of the Information Server.
1. On the Start menu of the Batch Server, point to Settings and then select
Control Panel.
2. In the Control Panel window, double-click the System icon.
3. On the System Properties window, select the Environment tab.
4. Define the System Variable BHQ_HOST.
5. Enter the hostname of your Information Server as the Value for the
BHQ_HOST environment variable.
6. Click Set when you have entered the required variable name and value, and
then click OK.
7. On the Start menu of the Batch Server, point to Run.

WARNING! The following steps require you to modify the Windows system
registry. It is essential that you follow the instructions carefully and modify only the
key that is identified. Unintentional changes to the registry can leave your system in
an unusable state.

8. In the Open field, enter Regedit.


9. Under My Computer, expand the HKEY_LOCAL_MACHINE branch
10. Expand the SOFTWARE branch, select Wonderware and then expand the
InBatch branch.
11. Double-click the IIS_Server name.
12. In the Edit String window Value Data field, enter the computer name of the
Information Server (in lower case) that you want to use.
13. Click OK.
14. Restart the computer to register the new Information Server environment
variable and registry settings.
466 Chapter 22

Changing a Batch Server Assignment on an


Information Server
When you install an Information Server you are prompted to enter the Host name of
the computer on which your Batch Server is located. If you need to change the
Batch Server Host name on the Information Server, follow the steps shown.

WARNING! The following steps require you to modify the Windows system
registry. It is essential that you follow the instructions carefully and modify only the
key that is identified. Unintentional changes to the registry can leave your system in
an unusable state.

On a Windows NT 4.0 System:


1. On the Start menu of the Information Server, point to Run.
2. In the Open field, enter Regedit.
3. Under My Computer, expand the HKEY_LOCAL_MACHINE branch
4. Expand the SOFTWARE branch, select Wonderware and then expand the
InBatch branch.
5. Point to InfoServer and then double-click Host1 name. In the Edit String
window Value Data field, enter the computer name of the Batch Server (in
lower case) that you want to use. If you are changing a Batch Server name that
is associated with Host2 (a redundant system), simply repeat this step for
Host2.
6. Click OK.
7. There is no need to restart the computer, but it will be necessary to restart any
browsers that were connected to the Information Server.

On a Windows 2000 System:


1. In the Control Panel window, double-click the Administrative Tools icon.
2. Double-Click the Computer Management option.
3. Expand the System Information tree.
4. Expand the Software Environment tree.
5. Click the Environment Variables option.
6. Expand the SOFTWARE branch, select Wonderware and then expand the
InBatch branch.
7. Point to InfoServer and then double-click Host1 name. In the Edit String
window Value Data field, enter the computer name of the Batch Server (in
lower case) that you want to use. If you are changing a Batch Server name that
is associated with Host2 (a redundant system), simply repeat this step for
Host2.
8. Click OK.
9. There is no need to restart the computer, but it will be necessary to restart any
browsers that were connected to the Information Server.
System Administration 467

Note The Computer Management option can be more directly accessed by a right-
click on the My Computer desktop icon then select Computer Management.

Backing Up Batch Databases


You can create backup copies of your configuration databases at any time by using
the DBCOPY utility. The batch management system does not have to be shutdown
to perform the backup. The utility, which is executed from the command line, locks
the specified database, and then safely copies it to a location that you enter.
...\InBatch\bin folder.

Note The DBCOPY utility is designed for use on an active batch server that
contains the databases that you want to backup. If you want to backup databases
that are not active, you can use a standard Windows file copy.

Using the DBCOPY Utility


Syntax:
dbcopy [-L] <path1><db_ name> <path2><backup_db_name>
Where:
-L enables database locking. (This is required)
<path1> is the source location of the database that you want to back up (e.g.
C:\Program Files\FactorySuite\InBatch\cfg\config_A)
<db_name> is the source database that you want to backup (e.g. ModelDB)
<path2> is the destination location (e.g. D:\)
<backup_db_name> is the backup database name (e.g. ModelDB)

Example:
dbcopy -L ..\cfg\config_A\modeldb D:\modeldb

WARNING! Do NOT use DBCOPY to backup configuration databases while an


“Update Runtime” or “Update Configuration” is in progress. Attempting this may
result in corrupt data.

Managing Batch Configurations


The Batch install program creates a complete set of batch databases that are
necessary to store and manage all batch-related data. The default path and folder for
these databases are C:\Program Files\FactorySuite\InBatch\cfg\config_A. The
default databases are available in the dflt_cfg folder, with the exception of the
RedCfg file which is necessary for redundancy. The databases are complete, but are
intentionally blank, so that you can use them for development of new
configurations.
468 Chapter 22

A file named RedCfg is generated when the Redundancy option is selected during
the installation. This file is created in the config_A folder and should be copied to
the dflt_cfg folder if you are using redundancy. The RedCfg file is unique to each
server installation.
When you create new configurations, you can copy the contents of the dflt_cfg
folder into the config_A folder. After you develop a new configuration, you can
save it to a folder other than config_A and later copy it into the config_A folder as
needed. It is recommended that you copy all of the files contained in the
configuration rather than attempt to copy selected databases from different
configurations.
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 once you have
copied the databases 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.

It is recommended that you use the following guideline whenever you need to
overwrite the config_A folder.
• Perform an Exit and Shutdown from the Environment Display.
• Copy the current config_A files to another folder as a backup precaution.
• Copy all of the files in the dflt_cfg folder to the config_A folder.
• If the system is setup for redundancy, ensure the original RedCfg file is in the
config_A folder.
• You can then use the editors to create a new system configuration or you can
copy a previously saved configuration into the config_A folder.

Batch System Configuration Files


The following table shows the files in the configuration directory and provides a
description of how the batch system uses each.

Configuration File Location Description Usage


.batchwr InBatch\cfg\config_A Directory that contains Created by install and no
all batch warm restart modifications are made
data files. to directory.
.batchwr\alloc_req.wr InBatch\cfg\config_A Current equipment Changes made by Batch
allocation table across Manager during batch
all batches. execution.
.batchwr\system.wr InBatch\cfg\config_A Current value of system Changes made by Batch
tags across all Manager during batch
equipment. execution.
System Administration 469

Configuration File Location Description Usage


.batchwr\[clb].wr InBatch\cfg\config_A File for each batch in the Files added and removed
schedule database. by Batch Manager
Structure of file name is during batch execution.
CampaignID.LotID.Batc
hID.wr.
.F2.lock InBatch\cfg\config_A Batch warm restart lock Created by RedMngr
file created on master when the backup batch
server by backup server server is started.
during redundancy Redundancy only.
startup. Redundancy
only.
.F2.sync InBatch\cfg\config_A Batch warm restart Created by RedMngr
synchronization file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
.RedState InBatch\cfg\config_A Contains the current Created and modified by
state of the server in a RedMngr during
redundant configuration. redundancy operation.
Redundancy only. Redundancy only.
BatchDB.dat InBatch\cfg\config_A Batch schedule database Changes as batches are
data file. added and removed from
the Batch Scheduler.
BatchDB.dbd InBatch\cfg\config_A Batch schedule database Does not change.
schema file.
BatchDB.key InBatch\cfg\config_A Batch schedule database Changes as batches are
index file. added and removed from
the Batch Scheduler.
BatchDB.lock InBatch\cfg\config_A Batch schedule database Created by RedMngr
lock file created on when the backup batch
master server by backup server is started.
server during Redundancy only.
redundancy startup.
Redundancy only.
BatchDB.sync InBatch\cfg\config_A Batch schedule database Created by RedMngr
synchronization file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
470 Chapter 22

Configuration File Location Description Usage


[hostname][pid].log InBatch\cfg\config_A Raima Data Manager Each application creates
transaction log file(s). one Transaction Log
File (LOG) file where
hostname is the name of
the machine and pid is
the process 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
execution and deletes it
at the end of execution.
CfgLinkDB.dat InBatch\cfg\config_A Configuration Changes as
TagLinker database data modifications are made
file. to the configuration
Process Model database
and also though changes
made with TagLinker or
by selecting the Update
Configuration menu
option within
Environment Display.
CfgLinkDB.dbd InBatch\cfg\config_A Configuration Does not change.
TagLinker database
schema file.
CfgLinkDB.key InBatch\cfg\config_A Configuration Changes as
TagLinker database modifications are made
index file. to the configuration
Process Model database
and also though changes
made with TagLinker or
by selecting the Update
Configuration menu
option within
Environment Display.
CfgLinkDB.lock InBatch\cfg\config_A Configuration Created by RedMngr
TagLinker database lock when the backup batch
file created on master server is started.
server by backup server Redundancy only.
during redundancy
startup. Redundancy
only.
System Administration 471

Configuration File Location Description Usage


CfgLinkDB.sync InBatch\cfg\config_A Configuration Created by RedMngr
TagLinker database when the backup batch
synchronization file server is started.
created on master server Redundancy only.
by backup server during
redundancy startup.
Redundancy only.
CfgModelDB.dat InBatch\cfg\config_A Configuration Process Changes as
Model database data modifications are made
file. with the Process Model
Editor or by selecting
the Update
Configuration menu
option within
Environment Display.
CfgModelDB.dbd InBatch\cfg\config_A Configuration Process Does not change.
Model database schema
file.
CfgModelDB.key InBatch\cfg\config_A Configuration Process Changes as
Model database index modifications are made
file. with the Process Model
Editor or by selecting
the Update
Configuration menu
option within
Environment Display.
CfgModelDB.lock InBatch\cfg\config_A Configuration Process Created by RedMngr
Model database lock file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
CfgModelDB.sync InBatch\cfg\config_A Configuration Process Created by RedMngr
Model database when the backup batch
synchronization file server is started.
created on master server Redundancy only.
by backup server during
redundancy startup.
Redundancy only.
CfgTIMDB.dat InBatch\cfg\config_A Configuration TIM Changes as
database data file. modifications are made
with TagLinker or by
selecting the Update
Configuration menu
option within
Environment Display.
CfgTIMDB.dbd InBatch\cfg\config_A Configuration TIM Does not change.
database schema file.
472 Chapter 22

Configuration File Location Description Usage


CfgTIMDB.key InBatch\cfg\config_A Configuration TIM Changes as
database index file. modifications are made
with TagLinker or by
selecting the Update
Configuration menu
option within
Environment Display.
CfgTIMDB.lock InBatch\cfg\config_A Configuration TIM Created by RedMngr
database lock file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
CfgTIMDB.sync InBatch\cfg\config_A Configuration TIM Created by RedMngr
database when the backup batch
synchronization file server is started.
created on master server Redundancy only.
by backup server during
redundancy startup.
Redundancy only.
EnvDB.dat InBatch\cfg\config_A Environment Editor Changes as
database data file. modifications are made
with the Environment
Editor.
EnvDB.dbd InBatch\cfg\config_A Environment Editor Does not change.
database schema file.
EnvDB.key InBatch\cfg\config_A Environment Editor Changes as
database index file. modifications are made
with the Environment
Editor.
EnvDB.lock InBatch\cfg\config_A Environment Editor Created by RedMngr
database lock file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
EnvDB.sync InBatch\cfg\config_A Environment Editor Created by RedMngr
database when the backup batch
synchronization file server is started.
created on master server Redundancy only.
by backup server during
redundancy startup.
Redundancy only.
hinfo.dat InBatch\cfg\config_A Storage location for Changes as
History Admin details. modifications are made
with the History Admin
tool.
System Administration 473

Configuration File Location Description Usage


host.dat InBatch\cfg\config_A Permits tag browsing Modified by
from client applications. Environment Manager
when started.
LinkDB.dat InBatch\cfg\config_A Runtime TagLinker Changed only by
database data file. selecting the Update
Runtime menu option
within Environment
Display.
LinkDB.dbd InBatch\cfg\config_A Runtime TagLinker Does not change.
database schema file.
LinkDB.key InBatch\cfg\config_A Runtime TagLinker Changed only by
database index file. selecting the Update
Runtime menu option
within Environment
Display.
LinkDB.lock InBatch\cfg\config_A Runtime TagLinker Created by RedMngr
database lock file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
LinkDB.sync InBatch\cfg\config_A Runtime TagLinker Created by RedMngr
database when the backup batch
synchronization file server is started.
created on master server Redundancy only.
by backup server during
redundancy startup.
Redundancy only.
LoggerDB.dat InBatch\cfg\config_A Process Logger Editor Changes as
database data file. modifications are made
with the Process Logger
Editor.
LoggerDB.dbd InBatch\cfg\config_A Process Logger Editor Does not change.
database schema file.
LoggerDB.key InBatch\cfg\config_A Process Logger Editor Changes as
database index file. modifications are made
with the Process Logger
Editor.
LoggerDB.lock InBatch\cfg\config_A Process Logger Editor Created by RedMngr
database lock file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
474 Chapter 22

Configuration File Location Description Usage


LoggerDB.sync InBatch\cfg\config_A Process Logger Editor Created by RedMngr
database when the backup batch
synchronization file server is started.
created on master server Redundancy only.
by backup server during
redundancy startup.
Redundancy only.
MaterialDB.dat InBatch\cfg\config_A Materials Editor Changes as
database data file. modifications are made
with the Materials
Editor.
MaterialDB.dbd InBatch\cfg\config_A Materials Editor Does not change.
database schema file.
MaterialDB.key InBatch\cfg\config_A Materials Editor Changes as
database index file. modifications are made
with the Materials
Editor.
MaterialDB.lock InBatch\cfg\config_A Materials Editor Created by RedMngr
database lock file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
MaterialDB.sync InBatch\cfg\config_A Materials Editor Created by RedMngr
database when the backup batch
synchronization file server is started.
created on master server Redundancy only.
by backup server during
redundancy startup.
Redundancy only.
ModelDB.dat InBatch\cfg\config_A Process Model database Changed only by
data file. selecting the Update
Runtime menu option
within Environment
Display.
ModelDB.dbd InBatch\cfg\config_A Process Model database Does not change.
schema file.
ModelDB.key InBatch\cfg\config_A Process Model database Changed only by
index file. selecting the Update
Runtime menu option
within Environment
Display.
ModelDB.lock InBatch\cfg\config_A Process Model database Created by RedMngr
lock file created on when the backup batch
master server by backup server is started.
server during Redundancy only.
redundancy startup.
Redundancy only.
System Administration 475

Configuration File Location Description Usage


ModelDB.sync InBatch\cfg\config_A Process Model database Created by RedMngr
synchronization file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
RecipeDB.dat InBatch\cfg\config_A Recipe Editor database Changes as
data file. modifications are made
with the Recipe Editor
or changed by Batch
Manager during batch
execution.
RecipeDB.dbd InBatch\cfg\config_A Recipe Editor database Does not change.
schema file.
RecipeDB.key InBatch\cfg\config_A Recipe Editor database Changes as
index file. modifications are made
with the Recipe Editor
or changed by Batch
Manager during batch
execution.
RecipeDB.lock InBatch\cfg\config_A Recipe Editor database Created by RedMngr
lock file created on when the backup batch
master server by backup server is started.
server during Redundancy only.
redundancy startup.
Redundancy only.
RecipeDB.sync InBatch\cfg\config_A Recipe Editor database Created by RedMngr
synchronization file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
RedCfg InBatch\cfg\config_A Redundancy Created by install. May
configuration file. be changed manually.
Redundancy only. Configuration changes
not required during
normal operation.
Redundancy only.
RedStats.date.txt InBatch\cfg\config_A Redundancy statistics Created by RedMngr
files that provide during redundancy
information of the status operation. Redundancy
of batch redundancy. only.
Structure of file name is
RedStats.current_date.tx
t. Redundancy only.
SecurityDB.dat InBatch\cfg\config_A Security Editor database Changes as
data file. modifications are made
with the Security Editor.
476 Chapter 22

Configuration File Location Description Usage


SecurityDB.dbd InBatch\cfg\config_A Security Editor database Does not change.
schema file.
SecurityDB.key InBatch\cfg\config_A Security Editor database Changes as
index file. modifications are made
with the Security Editor.
SecurityDB.lock InBatch\cfg\config_A Security Editor database Created by RedMngr
lock file created on when the backup batch
master server by backup server is started.
server during Redundancy only.
redundancy startup.
Redundancy only.
SecurityDB.sync InBatch\cfg\config_A Security Editor database Created by RedMngr
synchronization file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
TIMDB.dat InBatch\cfg\config_A TIM database data file. Changed only by
selecting the Update
Runtime menu option
within Environment
Display.
TIMDB.dbd InBatch\cfg\config_A TIM database schema Does not change.
file.
TIMDB.key InBatch\cfg\config_A TIM database index file. Changed only by
selecting the Update
Runtime menu option
within Environment
Display.
TIMDB.lock InBatch\cfg\config_A TIM database lock file Created by RedMngr
created on master server when the backup batch
by backup server during server is started.
redundancy startup. Redundancy only.
Redundancy only.
TIMDB.sync InBatch\cfg\config_A TIM database Created by RedMngr
synchronization file when the backup batch
created on master server server is started.
by backup server during Redundancy only.
redundancy startup.
Redundancy only.
System Administration 477

Configuration File Location Description Usage


vista.taf InBatch\cfg\config_A Raima Data Manager If it does not exist,
Transaction Activity Raima Data Manager
File. automatically creates
it.The name of a
process's LOG file is
written to the
Transaction Activity
File (TAF) 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 InBatch\HistQ History queue database Changed by the History
data file. Queue Manager.
HistQDB.dbd InBatch\HistQ History queue database Does not change.
schema file.
histq.taf InBatch\HistQ History Queue If it does not exist,
Transaction Activity Raima Data Manager
File. automatically creates it.
dflt_HistQ InBatch\HistQ Folder containing Does not change.
Default HistQDB
database

Terminal Server License Administration


To properly manage server-client relationships between InBatch applications
installed on a Terminal Server and remote workstations, two levels of licensing are
implemented. The first level of licensing assures that a particular client can access
the Terminal Server. Windows 2000 Professional client systems include licensing
for this level of access. If you are connecting a Windows 2000, NT, 95 or 98 client
to the Terminal Server you will need to install licensing so that the server can be
accessed. The second level of licensing is managed on a license server and allows
provides the ability of a particular client to initiate terminal services.
Terminal Server licensing is administered using the Terminal Server License
Manager. Specific information regarding using the Terminal Server License
Manager is beyond the scope of this User’s Guide. Please refer to your system
administrator for more information.
478 Chapter 22

Annunciating Batch System Illegal Access


Attempts
As a part of a FDA 21 CFR Part 11 compliant solution, the following section
describes a means of annunciating illegal access attempts to the batch system.
Specifically, this section addresses the requirements of section 11.300 subsection
(d), which states;

”Use of transaction safeguards to prevent unauthorized use of passwords and/or


identification codes, and to detect and report in an immediate and urgent manner
any attempts at their unauthorized use to the system security unit, and, as
appropriate, to organizational management.”
The historical database can be easily modified by the end-user to provide this
information, however, this section describes a technique as an add-on to existing
implementations.

Implementing FDA 21 CFR Part 11 Compliance


The solution leverages technologies present in MS SQL Server. It is comprised of
the following:
1. A SQL Server declared event message as follows:
"Login or access failure for user %1 has exceeded the maximum of %2
attempts within a %3 minute period"
This message appears in the SQL Server log, The Windows 2000 Application
Event Log, and will be inserted into the AuditEvent table of the BatchHistory.

Note %1, %2, and %3 are placeholders that are filled in with values when the
message is generated.

2. A SQL Server declared Alert keyed on the above Event Message:


The Alert name is "Repeated access failure notification", ID number = 55001,
and the message "Batch Server unsuccessful security access limits have been
exceeded".
3. A modified USP_AuditEventAdd which searches and fires the alert when the
attempts/interval criteria are met.

Installation
1. Installation Requirements:
Installation must be made using a SQL Server ID that is a member of the
"sysadmin" role. The SQL Agent must be running (already a requirement of
the batch system).
2. Run the SQL script:
Copy and paste the SQL script describe in “ SQL Script” later in this section,
using a query tool on the BatchHistory database SQL server. Execute the
script.
3. Configure Notification:
System Administration 479

To configure notification use the SQL Enterprise Manage:


Open the \Management\SQL Server Agent' folder to see Operators and Alerts.
Focus on the Operators.
Right click or use the menu to add an operator(s). Operators are those
individuals that should be notified.
Each operator can be notified of an alert. By browsing the notifications tab of
the operator, the alert can be assigned with the appropriate notifications (Net
send, pager, etc.).

To configure an operator to receive “net send” messages on the alert:


Configure the operator to receive net send messages on the General tab by filling in
the net send address for the operator. This address can be a node name, IP address,
or NT user name.
On the Notifications tab, scroll down to our new alert “Repeated access failure
notification” and check the box in the Net Send column as shown previously.
480 Chapter 22

In order to include the alert message in the text that is sent via Net
Send:
Open the Alert.
Select the Response tab.
Check the Net Send option where the dialog asks “include alert error text in” as
shown below.

If all is configured correctly, the next time the illegal access attempts thresholds are
exceeded, a system message similar to the one below will appear on the PCs or
Users you have configured to receive notification.
System Administration 481

Additional Notes
This application note does not detail the setup of the paging or alternative software
notification means. Alternatively, the Alert can run a program that might trigger
notification on another system, or because the alert generates an NT event, an event
monitor application can initiate notification software. There are many options.
Currently, in order to modify either the Maximum attempts or the tolerance interval
requires the user to modify the USP_AuditEventAdd stored procedure. There is a
variable called @MaxSecurityAttempt_CT (set to 3), which can be changed where
the SET command is located. Likewise, @MaxSecurityInterval_CT (Set to 3) can
be changed in its corresponding SET command. It is also possible to modify the
procedure so that these values are read from the NT system registry. The Interval
counter is designed to have a resolution of minutes.
The Alert has several features that may be of interest to more advanced users.
Changes should only be made by experienced personnel.
The alert is for the 'BatchHistory' database. If an alternative name has been used the
update script will need to be modified.
Testing was performed using a popular page notification software. Each of the other
notification methods uses the same mechanism.
With minor alterations, distinct alerts could be used for discrete violations such as
user/password failure only.

SQL Script

USE MASTER
GO

sp_dropmessage @msgnum=55001
GO

sp_addmessage @msgnum=55001, @severity=1


, @msgtext='Attempted unauthorized access exceeded
maximum of %d events within %d minutes. Last user: %s,
Station: %s'
482 Chapter 22

,@lang='us_english',@with_log=true
GO

USE MSDB
GO

sp_delete_alert @name='Repeated access failure notification'


GO

sp_add_alert @name='Repeated access failure notification'


, @message_id=55001
, @enabled=1
, @delay_between_responses = 0
, @notification_message = 'Batch Server unsuccessful
security access limits have been exceeded.'
, @include_event_description_in=0
, @database_name='BatchHistory'
GO

USE BatchHistory
GO

DROP INDEX [dbo].[AuditEvent].IEX_AuditEvent_DT


GO

CREATE CLUSTERED INDEX [IEX_AuditEvent_DT] ON


[dbo].[AuditEvent]([Datetime]) ON [PRIMARY]
GO

DROP PROCEDURE USP_AuditEventAdd


GO

/****** Object: Stored Procedure dbo.USP_AuditEventAdd


Script Date: 10/27/98 9:36:59 AM ******/
CREATE PROCEDURE USP_AuditEventAdd
@User_Name User_Name
, @App_Name App_Name
, @Func_Name Func_Name
, @Func_Lvl Func_Lvl
, @DateTime Exp_Date
System Administration 483

, @Op_Station Op_Station
, @Recipe_ID Recipe_ID
, @Reason Reason_Desc
AS
/*
** Declarations.
*/
DECLARE @Retcode INT
DECLARE @MaxSecurityAttempt_CT INT -- maximum security
attempts allowed within an interval of time
DECLARE @MaxSecurityInterval_CT INT -- the interval in
minutes that MaxAttemtps can occur without being enunciated
DECLARE @ViolationReason VARCHAR(100)
DECLARE @DateCalc DATETIME

SET @MaxSecurityAttempt_CT = 3 -- set using XP_regread from


registry
SET @MaxSecurityInterval_CT = 3
SET @Retcode = 0
SET @Datecalc = DATEADD(Mi, -@MaxSecurityInterval_CT,
@DateTime)

/*
**
*/
BEGIN TRAN AuditEventAdd
INSERT AuditEvent
( User_Name
, App_Name
, Func_Name
, Func_Lvl
, DateTime
, Op_Station
, Recipe_ID
, Reason
)
VALUES
( @User_Name
, @App_Name
, @Func_Name
, @Func_Lvl
, @DateTime
484 Chapter 22

, @Op_Station
, @Recipe_ID
, @Reason
)
IF @@ERROR <> 0
BEGIN
SET @Retcode = 1
ROLLBACK TRAN AuditEventAdd
END
ELSE
BEGIN
IF (EXISTS (SELECT 1 FROM AuditEvent A
WHERE A.datetime >= @Datecalc
AND ( A.Reason like 'User Id not found%'
OR A.Reason like 'Password not valid%'
OR A.Reason like '%request denied%'
OR A.Reason like 'Unknown%'
OR A.Reason like '%not in%')
HAVING Count(*) > @MaxSecurityAttempt_CT))

BEGIN -- Found Occurrance count exceeded


SELECT @ViolationReason = FORMATMESSAGE(55001,
@MaxSecurityAttempt_CT,@MaxSecurityInterval_CT, @User_Name,
@Op_Station)
RAISERROR (55001, 16, 1, @MaxSecurityAttempt_CT,
@MaxSecurityInterval_CT, @User_Name, @Op_Station)
INSERT AuditEvent (User_Name, App_Name, Func_Name,
Func_Lvl, DateTime, Op_Station, Recipe_ID, Reason )
VALUES (@User_Name, 'Security', 'Audit', 'Alarm',
Getdate(), 'SQL Server', @Recipe_ID, @ViolationReason)

IF @@ERROR <> 0
BEGIN
SET @Retcode = 1
RAISERROR ('Unable to Insert AuditEvent for
excessive access violations', 11, 1) WITH LOG
ROLLBACK TRAN AuditEventAdd
END
ELSE
COMMIT TRAN AuditEventAdd
END
ELSE
System Administration 485

COMMIT TRAN AuditEventAdd


END

DONE:

RETURN (@Retcode)
486 Chapter 22
Index 487

Index
Symbols Applications
Adding Instances of 58
**, in Phase List 261 Adding to Environment 58
**, in schedule list 248 Assigning Parameters to 60, 61
.rcp extension 172, 173 Assigning Values to Parameters 61
Automatic Start-up/Shutdown of 67
A Available for Termination Timeout 66
Deleting Parameters 64
Abort a Batch 268 Instance Names 59
Abort, Phase Command 370 Starting All
Aborted 244 Automatically 67
Aborted, Phase Status 371 with Environment Display 53
Aborting 244 Starting Single Runtime 54
Access Editor 138 Stopping All
Access Mode 82 Automatically 68
Access Name 63, 138 with Environment Display 53
Acknowledge Stopping Single Runtime 54
On Entry 216 Timeout 49
On Exit 217 User-Defined 64
Acknowledge on Entry 124 Adding 64
Activate Jump Mode 246 Assigning Parameters to 65
Active Transition Objects 264 Configuring Parameters for 66
Active Transitions, viewing 251 Viewing Status of 51
Active-X Applications-Functions Editor 345
GUI Controls 385 Approvals 169
ActiveX 9 Approved for Production 169
Actual Element, Process Phase 109 approved for production, recipe security 343
Actual, Parameter Extension 374 Approved for Test 169
Add Archive Job 455 approved for test, recipe security 343
Add Attributes to a Train 226 APS, Advanced Planning Systems 9
Add Batch to list 244 Archive Job 455
Add Daily Schedule 308, 309 Ask 356
Add Materials From List, check box 191, 195 AskCheckBy 356
Add Monthly Schedule 308, 310 AskDoneBy 356
Add Operation 205 Assign Application Parameter Values 61
Add Operation Branch 203 Assign Process Classes 181
Add Operation Loop 203 Assign Tags to Process and Transfer Classes, additional
Add Operation Transition 203 information 121
Add Purge Job 457 Assign Tags, additional information 118
Add Restore Job 459 Assign Units, Process Class Instances 183
Add Units to a Train 225 Assigning Application Parameters 61
Add Weekly Schedule 308, 309 Assigning Attributes to Trains 226
Adding Applications to Environment 57 Assigning Units to a Process Class 97
Adding Process Classes 96 Assigning Units to Trains 225
Adding Units 92 Assinging Application Parameters 60
Advanced Planning Systems (APS) 9 attribute range 185
Alarms 375, 376 Attributes
Associating to a batch 9 Process Class 99
alarms 361 Trains 226
Allocation 7 Attributes, Process Class Instances 184
Allocation Queue 251 Automatic Allocation, unit 266
analog process variable, using with Hi and Low Automatic Batch Execution 243
Limit 110 Automatic Batch Mode 267
analog tag 81 Automatic Start-up 68
API, Security 333 Automatic Start-up and Shutdown of Runtime
Application Applications 67
SuiteLink or DDE 138 Automatic Start-up/Shutdown
application ID, in security 346 Considerations 68
Application Parameters Automatic Tag Creation and Assignment 124
Table of 61 Automatic Tag Creation and Assignment, additional
Application Security Requests 350 information 118
Index 488

Automatic Tagnames, Naming Convention 120 Train Names 86


Automatic to Manual 269 Batch Management
Automatic to Semi-automatic mode change 269 Description of 6
Automatic to Semi-automatic mode change after phase Batch Management System 229
abort 269 Batch Manager 7, 14
Automatic Unit Selection 270 Process Tag to Unit Tag Resolution 83
Automatically Generated Tagnames 81 Starting 265
Available for Terminiation, Timeout Value 66 Warm Restart 275
Batch Messages 248
B Batch Reporting 12
Batch Reporting System
Backing Up Configuration Databases 467 Starting 298
Backup a Database with DBCOPY 467 Batch Reporting web page 299
Batch Batch Reports 315
Associating Alarms to 9 Description of 8
Batch Alarms 9 Batch Restart Mode 276
Batch and Unit Management Batch Runtime Client
Description of 230 Installed Components 11
Batch Configuration Client Batch Runtime Errors 273
Installed Components 10 Batch Schedule
Batch Configuration Client, security 340 CLB filtering 236
Batch Control 258 Mode/Status 237
Batch Control Buttons 257 Recipe Status 236
Batch Display 14, 245 Train 237
Actions Menu 245 Batch Schedule Errors 274
Description of 245 Batch Schedule List, modifying 244
File Menu 245 Batch Scheduler 14, 232
Help Menu 254 Edit Menu 234
Menus File Menu 233
Actions/Activate Jump Mode 246 Help Menu 241
Actions/Save Control Recipe 245 Initialize Menu 239
File/Exit 245 Menus
View/Errors 253 Edit/Cleanup 234, 235
Windows/Batch Messages 248 File/Exit 234
Windows/Equipment Allocation 250 File/Print 233
Windows/Schedule 248 File/Print Preview 234
Windows/Transition Logic 251 File/Print Setup 234
Windows/Unit Procedure Editor 251 Initialize/All 239
Using 245 Initialize/Batch 239
View Menu 253 Options/Execute in Order 241
Windows Menu 248 View/Errors 238
Batch Display Functionality 258 View/Filters 236
Batch Display Layout 255 View/Status Bar 238
Batch Display Toolbar 255 View/Undo Sorting 236
Batch Display, control buttons 118 Options Menu 241
Batch Errors View Menu 235
Runtime 273 Batch Server
Schedule 274 Changing Assignment on an Information Server 466
Batch Execution 265 Batch Server, security 340
Batch Execution Mode 243, 259 Batch Status
Batch Execution Mode Changes 269 Descriptions 258
Batch Execution, Warm Restart 276 Batch Talk ActiveX Control 14
Batch Function Interface Type Libraries 15 Batch, Defining 241
Batch History 4 BatchAdmin 449
Description of 7 BatchDspl 14
Batch ID 83, 241 Parameters of 62
Batch Identification 241, 256 BatchMngr 14
Batch Information Server Parameters of 62
Installed Components 11 BATCHOBJSRV.DLL 15
Batch Information Server web page 449 BatchReport 12
Batch Logger BatchSched 14
Index 489

BATCHVBSERVER.DLL 15 Description of 73
BHQ_HOST 465 control buttons 361
Branch 203 Control Buttons, additional configuration 118
Branch Execute Types 210 control inputs 361
Branch Leg, Deleting 214 control outputs 361
Branch Object Control Recipe
Description of 161 Description of 159
Branch Object, Insert 209 Control System 5, 7
Branch Objects 209 Control System Code Structure 364
Branch Types, All 209 Control System Memory Configuration, with
Branch Types, One 209 phases 364
Branch, Deleting 214 Control System Synchronization 277
Building a Recipe Procedure 201 Control/Status Bits
bulk ingredients 149 Configuring for Process Class 105
By-Product, Defining 156 ControlSystem Access Name 138
By-Products 149 Copying Procedure Objects 212, 213
by-products 159 create trains 225
Creating Reports 315
C Crystal Reports 8
Predefined 315
Campaign ID 83, 241 CSV File
Capabilities Format of Tag Linker Export 133
Overview of InBatch 4 Cutting Procedure Objects 212, 213
CfgModelDB 46, 85
Change Application Parameter Values 61 D
Change Batch list 244
Change Password 15 Data Class 81
Change Process Class Name 97 data points 5
Change Unit Name 92 Database
Changing Information Server Assignment on a Batch Backup utility 467
Server 465 Process Log 317, 318
Changing Passwords 350 Database Manager
Changing Process Class Names 97 Viewing Status of 51
Changing the Batch Schedule List 244 DBCOPY utility 467
Changing the Batch Server Assignment on an DDE 8, 13
Information Server 466 Default Batch Size 160
Characteristics 6 Default Values for Process Parameters 125
check-by security 345 Define Materials 157
ChgPwd 15, 350 Defining a Batch 241
CLB 241 Defining Materials 156
CLB filtering in Batch Scheduler 236 Delete Application Parameters 64
Comma 357 Delete Operation Object 204
Comment 160 Delete Process Class 97
Comments, entering for unit procedures 260 Delete Unit 92
Completed Archives 461 Delete Units from a Train 226
config_A folder 10 Deleting a Branch 214
Configuration Deleting a Branch Leg 214
Security System 338 Deleting a Loop 215
Update 50 Deleting a Phase 214
Configuration Programs Deleting a Transition 214
Summary of 11 Deleting an Operation 214
Configurations Deleting Connections, effect of 86
Managing 10 Deleting Model Components, Warning 86
Configure Formula Parameters, additional Deleting Procedure Objects 214
information 124 Deleting Process Classes 97
Contention for Shared Equipment 271 Deleting Process Classes, effect of 86
Control Deleting Recipes 168
Phase 369 deleting reports 465
Unit 7 Deleting Transfer Classes, effect of 86
Control Buttons 375 Deleting Units, effect of 86
Configuring for Process Class Phase 104 Delimiters 357
Index 490

Description Area 257 Application Parameters 60


dflt_cfg folder 10 Description of 46
Diagram 271 Edit Menu 55
Batch Management Overview 232 File Menu 55
Function Block 361 Help Menu 56
Parts of a Recipe 159 Instances, Configuring 58
Process Logging 317 Menus
Process Modeling 82 Edit/System Parms 55
Recipe Formula 161 File/Exit 55
discrete tag 81 Help/About Environment Editor 57
Discrete Tags Help/Help Topics 56
Using with Control Buttons 73 Phase/Batch Status parameter 268
Distributed Control System (DCS) 4, 13 Starting 55
Done 244 System Parameters Table 56
Done By, as Recipe Author 167 Using 55
Done, Phase Status 371 Environment Management System 45
done-by security 345 Description of 46
Dynamic Data Exchange (DDE) 8 Environment Manager 13, 45, 47
Description of 46
E Process Log Manager, Configuring 331
Starting 66
Edit Equipment Status 113 Using 66
Edit Formula Inputs 189 Environment System
Edit Formula Outputs 192 Application Timeout 66
Edit Formula Parameters 262 Command line interface (etcmds.exe) 67
Edit Formula Parameters, additional information 122 Environment System Parameters (Default) 56
Edit System Parameters 55 EnvMngr 13, 47
Edit Units 90 Equipment Allocation Queue 251
Editing an Expression 354 Equipment Allocation window 250
Editor equipment dependent recipe 160, 181, 183
Process Modeling 69 equipment dependent recipes, unit assignments 181
End Of Batch Operation 273 equipment independent recipe 160, 181
Enterprise Resource Planning (ERP) 9 Equipment Independent Recipes 5
Enumeration Data Equipment Management 4
Description of 75 Equipment Requirements 159
enumeration tag 81 Description of 160, 180
EnvDspl 13 Equipment Requirements Editor, Using 180, 181
EnvEdit 12 Equipment Selection 261
Environment Equipment Status 113
Update 50 Description of 74
Environment Display 13, 45, 47 ERP 9
File Menu 48 Error
Help Menu 51 Unexpected Status 267
Menus Error Queue Administration 452
File/Exit 48 Errors
File/Exit and Shutdown 49 Batch Runtime 273
File/Terminate App 48 Batch Schedule 274
Update Batch Schedule, Viewing 238
Configuration 50 Example
Process Model 82
Environment 49 Example Equipment Requirements 186
Runtime 50 Example Plant, Process Model 84
View/Status 51 Examples
Starting Runtime Applications 53 Formula Parameter 125
Stopping Runtime Applications 53 Execute Type One, Description of 211
Update Configuration 85 Execution Tab, Unit Procedure Properties 216
Update Menu 49 Exercising Phase Logic 379
Using 47 Export Recipes 172
View Menu 51 Export Units of Measure 115
Environment Editor 12, 45 Expression
Adding Applications to the Environment 57 Editing 354
Index 491

Operators 355
Expression Building Rules 357
G
Expression Editor 353 General High Deviation 156
Defining Process Log Criteria 318 General Low Deviation 156
Description of 353 General Tolerances, in Recipes 192
Edit Buttons 354 Guideline
Using 353 Control System Memory Configuration 364
Expression Editor, Question Length 209 Creating a Process Log Group 325
Expression Editor, using for transitions 207 creating a train 225, 226
Expression Elements 355 Expression Building 357
Expression Examples 358 Phase Block Design 359
Expression Functions 356 Phase Block Memory 364
expressions Process Modeling 5
viewing during batch execution 264 Recipe Procedure Development 163
Extensibility 9 Guidleine
Batch Manager system interactions 231
F
Factory Suite Licensing 200
H
FactorySuite 4 Header 159
Integration 8 Header, Description of 160
Filter Recipes 165 Held 244
Filtering Held, Phase Status 371
Batch Schedule List 236, 237 Help
Find 165 Environment Display 51
Find Button, Materials Editor 157 Environment Editor 56
Finished Goods 149 Materials Status 155
finished goods 159 Process Modeling 90
Finished Goods, Defining 156 Recipe Editor 200
Flexibility 4 High Deviation Element, Process Phase 110
Flexible Batch Management 4 High Deviation, Material 156
Force System to Master 444 High Deviation, Parameter Extension 374
Force to True 265 High Limit Element, Process Phase 110
Formula 159 High Limit, Parameter Extension 374
Formula Gid History
Using during Batch Execution 263 Alarm logging 9
Formula Grid Logging Process Data 319
Runtime View 257 Viewing for a Recipe 170
Formula Parameter History Administration 450
Description of 122 History and Batch Manager
Formula Parameter Examples 125 Description of 231
Formula Parameters 372 History Archiving 454
Configuring 109 History Queue
Configuring for Process Class Phases 108 Viewing status of 51
Description of 73 HistQMngr 47
Types 73 Hold a Batch 267
types 109 Hold, Phase Command 369
formula parameters 361 Host 383
Formula Parameters, Description of 162
formula quantities 159 I
Formula, Defining 188
Formula, Recipe ibAlarmEventHost 382
Description of 161 ibAlarmEventInit 382
Function Block Diagram 361 ibAlarmNode 383
Function Security Requests 351 IBCli 13
Function Security, enabling 347 Parameters of 63
Functions IBFServ
Description of 356 Parameters of 64
Functions, inserting in expressions 355 IBServ 14
Parameters of 64
Import Recipes 172, 173
Index 492

Import Units of Measure 115 ISA S88 Standard 70


InBatch ISA S88.01 4
Overview of Capabilities 4 Item
redundancy 434 Definition in Tag Linker 140
InBatch Client (IBCli) 13 SuiteLink or DDE 140
InBatch Server 14 Use Tag Name 140
Installed Components 10
INBATCHSFC.OCX 15 J
InfoMngr 13
InfoMngr_ _See Information Manager 331 Jump Mode
Information Manager Description of 272
Description of 331
Information Manager (InfoMngr) 13 L
Information Server
Changing Assignment on the Batch Server 465 license sizes 4
Information Server Administration 449 Licensing
Information Server Configuration 453 Viewing 56, 200
Ingredient, Defining 156 licensing 4
Ingredients 149 lm_tcp 47, 66
ingredients 159 Locked 244
Initialization Locking 244
Description of 230 Log Interval
Input and Output Control 376 Description of 318
Input Material Settings, Editing for Recipes 191 Process Log Group Editor 318
Input Materials, Adding to Recipe 189 Log Trigger
Input Materials, Changing in Recipe 190 Description of 318
Input Parameter 82 Process Logger Group Editor 318
elements of 109 LogEdit 12
Insert a Function 355 LogMngr 14
Insert an Operation 205 Parameters of 62
Insert Branch Object 209 LogMngr_ _See Process Log Manager 331
Insert Loop Object 212 Loop 203
Insert Transition Object 206 Loop Object
Inserting Procedure Objects 204 Description of 161
Installation Loop Object, Insert 212
Overview 19 Loop Objects 211
Instance Loop, Deleting 215
Application 57 Lot Code Element, Process Phase 111
Instances Lot Code, Parameter Extension 374
Adding Application Instances to Environment 59 Lot ID 83, 241
Adding Applications 57 Low Deviation Element, Process Phase 110
Application 57 Low Deviation, Parameter Extension 374
Error Message 57 Low Limit Element, Process Phase 110
Naming Applications 60 Low Limit, Parameter Extension 374
Instruction List 257
Instrument Society of America (ISA) 4 M
S88.01 Standard 4, 6
Interfaces Managing Configurations 10
Unit 73 Manual Allocation and Release, unit 266
Interlocked, Phase Status 371 Manual Batch Execution 243
Interlocks 260, 375, 379 Manual Batch Mode 269
Configuring for Process Class Phases 106 Manual Tag Creation and Assignment 120, 124
Description of 73 Manual to Automatic mode change 270
interlocks 361 Manual to Semi-automatic mode change 270
Interlocks, additional information 121 Manual Unit Selection 270
interlocks, viewing with Phase Logic Testing Tool 379 Master Recipe 7
Intermediate, Defining 156 Description of 159
Intermediates 149 Material Automation Server 15
intermediates 159 Material Characteristics 156, 157
InTouch 138 Material Description 156
Access Name 138 Material Genealogy 4
Index 493

Material ID 156 File/Validate 88


Material ID Element, Process Phase 111 Starting 86
Material ID, Parameter Extension 375 Units Tab 90
Material Name 156 ModelDB 85
Material Status ModelEdit 12
Viewing 151 Modeling 86
Material Tracking 4 Modeling_ _Model Editor 86
MaterialEdit 12 Moving Procedure Objects 215
Materials
Defining 156 N
Materials Editor 12, 149
Defining Materials 157 nesting branches 210
Defining Materials for 157 Nesting Procedure Objects 215
Description of 149 Not 357
Printing Materials Status 152
Starting 156 O
Using 156
Materials Status OCXBATCH.OCX 14
Filtering the Unit Assignment List 154 OLE for Process Control (OPC) 8
Help Menu 155 One Time Schedule 308, 309
Menus OPC 8, 13
Edit/Materials Editor 154 Open 244
File/Exit 153 Operands
File/Print 152 Description of 356
File/Print Preview 153 Operation Branch, Insert 209
File/Print Setup 153 Operation Loop, Insert 212
File/Validate 152 Operation Transition 203
View/Find 155 Operation Transition, Insert 206
View/Full List 154 Operation, insert 205
View/Partial List 154 Operator Display and Edit Configuration 124
Reports 152 operator station, description of 340
Materials Status Window Operator Stations 344
Starting 151 Operator Stations Editor 344
Using 151 Operator Stations, security 340
Materials Tracking Operators
Management of 6 Expressions 355
Materials, Adding to Recipe 194 Other Material, Defining 156
Materials, Process Variables 188 Other Materials 149
MATERIALSVR.EXE 15 Output Material Settings, Editing for Recipes 196
Max Attribute 185 Output Materials, Changing in Recipe 194
Maximum Batch Size 160 Output Parameter 82
Memory Tag Manager 13 elements of 109
MemTagMngr 13 Output parameters 162
Menu
I/A Batch Program 10 P
Min Attribute 185
Minimum Batch Size 160 P&ID,Using for Process Model 69
Mode/Status filtering in Batch Scheduler 237 Parameter Extensions
Model Editor 85 Description of 373
Edit Equipment Status Tab 113 Parameter tag read timeout 274
Edit Menu 89 Parameter Type Extensions 373
File Menu 87 Parameter Types 372
Menus Parameters
Edit/Equipment Status 89 Application Parameters 61
Edit/Processes 89 Applications, Assigning with Environment Editor 60
Edit/Units 89 Assigning Values to Application 61
Edit/Units of Measure 89 Deleting from Applications 64
File/Exit 89 Formula 73
File/Print 88 Requiring in User-Defined Applications 66
File/Print Preview 89 Parentheses 357
File/Print Setup 89 Password 335, 342
Index 494

password encryption 342 Procees Tags


Password Reuse 338 when to use 78
Password Timeout 338, 342 Process and Instrumentation Diagrams 69
Password, changing 335 Process and Transfer Instances, in Recipes 160
password, changing 342 Process Capabilities
Password, security editor 335 Defining 72
Passwords Description of 72
Changing 15 Process Class
Phase 103 Assign Units to Processes 97
description of 9 Assigning 95
Phase Abort Command 370 Attributes 99
Phase Aborted Status 371 Control/Status Bits 105
Phase Block Description of 71
Components of 365 Edit Process Class Tags 101
Description of 360 Edit Process Class Unit Procedures 103
Operational Flow Chart 362 Phase Types 103
Rules of Operation 361 Unit Attribute Values 100
Phase Block Design Guideline 359 Process Class Attributes, in Recipes 184
Phase Block Memory Guidelines 364 Process Class Instance Editor 182, 184
Phase Branch, Insert 209 Process Class Instances, Assign Units 183
Phase Configuration, additional information 116 Process Class Instances, Attributes 184
Phase Control 7, 369 Process Class Instances, Unit Selection 184
Phase Control and Status 261 Process Class Phase
Phase Done Status 371 Control Buttons 104
Phase Held Status 371 Formula Parameters 108
Phase Hold Command 369 Interlocks 106
Phase Interlocked Status 371 Process Class Tag 101
Phase List 261 Process Class, Deleting from Recipe 182
Phase Logic Testing Tool 15, 377 Process Classes
Description of 377 Assign to Recipe 182
File Menu 378 Process Classes and Parameters in Recipe Editor 83
Help Menu 379 Process Classes, Assigning in Recipes 181
Menus Process Classes, in recipes 180
File/Exit 378 process classes, in recipes 160
Using 377 process instance, assign to operation 205
Phase Loop, Insert 212 Process Instance, in recipes 180
Phase Ready Status 370 Process Instances 182
Phase Reset Command 370 Assign to Recipe 183
Phase Restart Command 369 Process Instances, Defining for Recipes 182
Phase Run Status 371 Process Log Configuration
Phase Status 370 Creating 325
Phase Status, system shutdown 277 Description of 317, 318
Phase Transition, Insert 206 Process Log Database
Phase Types Description of 317, 318
Process Class 103 Process Log Editor 12, 317
PhaseLogic 9, 15 Configuring Process Logs 324
Physical Model 70 Creating Log Configuration 320
Power Failure Deleting Log Configuration 322
Automatic Start-up after 67 File Menu 320
Preact Element, Process Phase 110 Group Editor 324
Preact, Parameter Extension 374 Menus
premix 192 Edit/Groups 324
Premixes 149 File/Exit 324
Previewing Reports from Model Editor 89 File/New 320
Printing File/Open 321
Recipes 175 File/Print 322
Printing from Model Editor 88 File/Print Preview 323
Procedure 159 File/Print Setup 323
Procedure Layout 201 File/Save 321
Procedure, Recipe File/Validate 321
Description of 161 Menus File/Delete 322
Index 495

Printing Log Configuration 322 process parameters, entering as process tags 93


Reports 323 Process Tag
Starting 320 Guideline 78
Using 320 Process Tag to Unit Tag Resolution by Batch
Using Expression Editor 353 Manager 83
Validating Log Configuration 321 Process Tag, Description of 77
Process Log Group Process Tags
Creating 325 Example of 83
Process Log Group Editor Process Variable
Log Interval 318 description of 109
Logging to a Printer 319 elements of 109
Logging to History 319 process variable editor 188
Process Log Manager 317 Process Variable Parameter 82
Configuring 331 Process variable parameters 162
Description of 331 process variable parameters, changing 196
Information Manager 331 Process Variables 196
Restarting 320 process variables 196
Runtime 331 Processes_ _See Process Class 71
Starting 331 processing capabilities 5
Stopping 331 Product ID 160
Using 331 Product Name 160
Process Logger Group Editor Program Menu
General Logging Criteria 318 I/A Batch 10
Log Trigger 318 Programmable Logic Controller (PLC) 4, 13
Process Logger Manager 14 Programs, Configuration and Runtime
Process Logging 317 Summary of 11
Description of 317 proprietary format, recipe 173
Process Model Purge Job 457
Connectionless 70
Example 82 Q
Process Tag 77
System Tag 78 Quantity Assignment, Batch Size 242
Unit Tag 77 Question List 257
process model database, trains 221 Quotes 357
Process Model Editor 85, 95
Starting 86 R
process model editor
formula parameters 162 Raw Materials 149
Process Model Tag, Description of 76 Read/Write tags 82
Process Model, Example Plant 84 Read-only tags 82
Process Modeling 69, 85 Ready 244
Adding Process Classes 96 Ready, Phase Status 370
Adding Units 92 Recipe
Change Process Class Name 97 Approval 169
Change Unit Name 92 Approved for Production 169
Deleting a Process Class 97 Approved for Test 169
Deleting a Units 92 Creating 201
Description of 5 Deleting 168
Diagram of 82 Done By as Author 167
Edit Equipment Status 113 Saving 167
Edit Processes 95 Validate 169
Edit Unit Tags 93 recipe approval levels 169
Edit Units 90 Recipe Approvals 169
Editor 69 Recipe Assignment to a Batch 242
Guideline 5 Recipe Automation Server 14
Help Menu 90 Recipe Editor 12, 159
Unit Control Logic 72 Edit Menu 177
Process Modeling Editor 12 Editing Process Variables 196
process modeling editor 196 File Menu 164
Process Modeling Editor, Process Class Attributes 184 Help Menu 200
Process Modeling Steps, Guideline 71 Menus
Index 496

Edit/Equipment Requirements 180 Report Schedule Properties 307


Edit/Formula Inputs 188, 192 Report Scheduling 304
Edit/Recipe Header 177 Report Triggering during batch execution 273
Edit/Recipe States 197 Report Viewing 312
Edit/Recipe Types 198 Reporting System 295
Edit/Zoom Out Phases 254 Reports
File/Approvals 169 Predefined 315
File/Delete Recipes 168 reports
File/Exit 177 deleting 465
File/History 170 Train Editor 224
File/Import/Export 172 Reset, Phase Command 370
File/New 164 Restart a Batch 268
File/Open 164 Restart, Phase Command 369
File/Print 175 Restarting
File/Print Preview 176 Process Log Manager 320
File/Print Setup 176 Restore Job 459
File/Save 167 restrict access to applications 345
File/Sync and Validate Recipes 173 Retain Recipe Approvals 246
File/Validate 168 Retries 338
Printing Recipes 175 Run 244
Process Classes and Parmaeters 83 Run, Phase Status 371
Reports 176 Runtime
Starting 163 Update 50
Using 163 Runtime Programs
Using Expression Editor 353 Summary of 13
View Menu 199 Runtime Recipe Procedure Jumps 230
Recipe filtering in Batch Scheduler 236 Runtime Recipe Procedure Jumps, Description of 272
Recipe Header, Editing 177 Runtime Security 349
Recipe History, Viewing 170
Recipe ID 83, 160 S
Recipe Management
Description of 6 S88.01 Batch Control Standard 4, 6
Recipe Name 160 S88.01 Standard 159
Recipe Procedure Creation, Basic Steps 163 Save Control Recipe 245
Recipe Procedure Mechanics 204 Save Runtime Equipment 246
Recipe Procedure SFC Active X Control 15 SCADA 78
Recipe State 160 Scaling of Batches 6
Recipe State, Defining 198 Schedule window 248
Recipe Synchronization 173 Scheduling 4, 6
Recipe Type 160 Description of 230
Recipe Type, Assigning 179 External Systems 9
Recipe Types, Defining 198 Script Add-On Functions
recipe, parts of 159 Descriptions of 382
RecipeEdit 12, 14, 163 Overview 382
Recipes SecEdit 12, 334
Copying 172 SecMngr 14, 47
Equipment Independent 5 Security
Moving 172 Adding a New Function 347
recipes Adding Applications 346
security for saving 167 Application Security Requests 350
Recipes, security options for 343 Applications-Functions 345
Redundancy 4 Checked 347
redundancy 434 Done By 347
Redundancy Manager 66 Enabling Application 346
Registry Enabling Function Security 347
Editing the Batch Server name 466 Function Security Requests 351
Editing the Information Server name 465 security
Report 216 recipe approvals 169
Report Configuration 300 Security API 333, 346, 347, 351
Report Log Security Application Program Interface 333
Administration 464 Security Clearance Request 335
Index 497

Security Editor 12, 333 Station Types 20


Edit Menu 337 Status
File Menu 336 Phase 370
Help Menu 338 Status, of a batch 244
Menus string tag 81
Edit/Applications-Functions 337 naming 81
Edit/Operator Stations 337 SuiteLink 8, 13
Edit/Security Levels 337 Synchronization, Control System 277
Edit/User Accounts 337 System Class tags 78
File/Exit 336, 337 System Parameters
File/Print 336 Editing 55
File/Print Preview 337 Table of 56
File/Print Setup 337 System Shutdown, phase status 277
security editor, default password 335 System Tag
Security Editor, using for the first time 335 Description of 78
Security Level 342 system tag, equipment status 113
Security Levels, Assigning 339 System Unit tags 78
Security Manager 14, 66, 333, 349
Security System 333 T
Description of 333
Viewing Status of 51 Tag
Security System Configuration 338 Access Mode 82
security system, recipe author 167 Configuration 139
Security, disable 338 Data Class 81
Security, enable 338 Data Classes 139
security, saving recipes 167 Definition 80
Semi-Auto On Abort 269 Description of 5, 76
Semi-Automatic Batch Execution 243 Entering a Description for 81
Semi-Automatic Batch Mode 269 InBatch Memory Tag 140
Semi-automatic to Automatic mode change 270 Initial Value 140
Semi-automatic to Manual Mode mode change 269 Item Definition 140
Sequencial Function Chart (SFC) 257 Process Model 76
Services, Windows NT 53 Process Tag 77
SFC (Sequencial Function Chart) format 257 Selection 139
SFC Toolbar 256 System Tag 78
Shared Equipment Contention 271 Unit Tag 77
Shutdown Using with Control Buttons 104
Automatic 68 Tag Linker
Shutting Down Environment Display 49 Edit Menu 136
SimMngr 13 File Menu 132
Parameters of 62 Help Menu 138
Simulation 4 Menus
Simulation Manager 13 Edit/Access 136
sleep, for delaying batch file execution 68 Edit/Export 136
space character, in Recipe Find 166 File/Export Tags 133
Start, Phase Command 369 File/Import Tags 134
Starting File/Print 135
Environment Editor 55 File/Print Preview 135
Materials Editor 156 File/Print Setup 136
Materials Status Window 151 File/Runtime Export 132
Model Editor 86 File/Simulation Export 132
Process Log Editor 320 File/Validate 135
Recipe Editor 163 Help/About Tag Linker 138
Starting and Stopping Applications Help/Help Topics 138
from Environment Display 52 View/Filter 137
Starting the Expression Editor 353 View/Multiple Selection 137
Starting the Security Manager 349 View/Single Selection 137
Start-up View Menu 137
Automatic 67, 68 Tag Linker Editor 12
State, find recipes by 166 Tag Types and Useage 76
State, Recipe 198 tag, equipment status 113
Index 498

TagLinker 5, 12, 86 Transition Logic, in objects 206


Tagname Transition Object, Description of 206
Automatically Generated 81 Transition Object, Insert 206
Definition 80 Transition Objects 206
Delimiters 80 Transition Properties, loops 212
Description of 80 transition wait, displayed in Batch Display 264
Naming Convention 80 Type, Assigning 179
Structure 80 Type, Defining for Materials 156
Tagnames Type, find recipes by 166
for InTouch Alarm tags 9 Types, Recipe 198
Tags
Assigning Links to 140 U
Control/Status 105
Creating 5 Undo 204
Unit Interlock 122 Undo, Objects 214
Using with Phase Logic, Guideline 79 Unexpected Status Error 267
Tags, assigning to control buttons 118 Unilink Manager 13
TagView 9, 15 UnilinkMngr 13
Target Element, Process Phase 109 Uninteruptable Power Supply (UPS) 68
Target, Parameter Extension 373 Graceful Shutdown using 67, 68
Templates, Crystal Reports 315 Unit 71, 139
Terminating an Application 48 Description of 71
TIMBatch Unit Attribute Values 100
Parameters of 64 Unit Block 7
time remaining, active transition 264 Unit Control and Status Bits
Timeout Description of 73
Changing Application Timeout 67 Unit Control Logic 72
System Variable 67 Unit Control/Status Bits, additional information 118
Timeout exceeded allowable value 274 Unit Interfaces
TIMEOUT variable 67 Description of 73
Tolerances, in Recipes 192 Unit Interlock Tags 122
Topic Unit of Measure 196
SuiteLink or DDE 138 Unit of Measure, Material 156
Train 6, 83 unit procdeure control bits 361
Train Assignment to a Batch 242 Unit Procedure Comments 260
train attributes 226 Unit Procedure List 257
train creation Unit Procedure Logic 5
guideline 225, 226 Unit Procedure Start Command 369
Train Editor 12, 86, 221, 222 unit procedure status bits 361
Description of 221 Unit Procedures 6, 271
File Menu 224 in Recipe Procedures 161
Menus Simultaneous Execution 209
File/Exit 224, 225 Unit Procedures Pane 257
File/Print 224 unit selection 184
File/Print Setup 225 Unit Selection Mode and Allocation 266, 270
Help Menu 225 unit selection, at runtime 184
Help/About Train Editor 225 Unit Selection, Process Class Instances 184
Help/Help Topics 225 Unit Tag
Using 222 Guideline 78
Train filtering in Batch Scheduler 237 Unit Tag, Description of 77
Train, in Recipes 159 Unit Tags 93
TrainEdit 12 when to use 78
Trains UnitControl Buttons 257
Assigning Units to 225, 226 Units of Measure
Trains, Deleting Units from 92 Description of 74
trains, in recipes 180 UOM_IN.txt 115
Transition 203 UOM_OUT.txt 115
Transition Expression, Examples 208 Update
Transition Logic Configuration 50
in Recipe Procedures 161 Environment 49, 50
in Recipes 162 Runtime 50
Index 499

URL Zoom Out 204


Batch Administration 449
Batch Reporting 299
User Accounts 452
Configuring for SQL Server 452
User Accounts, security 341
User-Defined Applications 64
Assigning Parameters to 65
Configuring Parameters for 66
Using
Environment Display 47
Phase Logic Testing Tool 377
Train Editor 222
Using Batch Display 245
Using Batch Scheduler 232
Using Expression Editor 353
Using Security Editor 334
Using the Phase Logic Testing Tool 377
Utilities
Change Password 15
Phase Logic Testing Tool 15
TagView 15
Utility Programs 15

V
Valid Characters for Tagnames 80
validate
security configuration 336
Validate Recipes 173
Validation
of Tags 8
Process Model 88
Recipe 6, 168
Verification, Batch Initialization 239
Version History
of Recipes 6
View
System Application Status 51
View Partial List check box, Materials Editor 157
Viewing Material Status 151

W
Wait 264
WaitHour 357
WaitMin 357
WaitSec 357
Warm Restart 275
Warning
Batch Client Security 347
Deleting Model Components 86
Phase Logic Testing Tool 378
Process Log Manager, Stopping 331
Restarting Batches 277
Wonderware Logger 13
WWLogger 13

Z
Zoom In 204
Index 500
Index 501
Index 502
Index 503
Index 504
Index 505
Index 506
Index 507
Index 508
Index 509
Index 510

You might also like