710
Wonderware ® FactorySuite™ InBatch Premier User’s Guide For Version 8.0 Last Revision: October 17, 2001 10:20 pm Wonderware Corporation

Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Embed Size (px)

Citation preview

Page 1: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Wonderware® FactorySuite™

InBatch Premier User’s Guide

For Version 8.0

Last Revision: October 17, 2001 10:20 pm

Wonderware Corporation

Page 2: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 3: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Contents 1

Contents

CHAPTER 1: Welcome to InBatch Premier Edition3

Overview........................................................................................................ 3

Flexible Recipes and Process Lines ........................................................... 4

Process Modeling ....................................................................................... 4

Creating and Linking Tags ......................................................................... 5

Materials Tracking Management................................................................ 5

Recipe Management................................................................................... 6

Batch Management..................................................................................... 7

Batch History.............................................................................................. 8

Batch Reports ............................................................................................. 8

FactorySuite Integration ................................................................................ 9

Tag Management ........................................................................................ 9

Tag Communications.................................................................................. 9

Batch Alarms............................................................................................ 10

Windows 2000 Terminal Services Support.................................................. 10

Extensibility ................................................................................................. 10

Managing InBatch Configurations............................................................... 10

InBatch Program Menus .............................................................................. 11

Batch Server ............................................................................................. 11

Batch Development Client ....................................................................... 11

Batch Runtime Client ............................................................................... 12

Information Server ................................................................................... 12

InBatch Programs ........................................................................................ 12

Configuration Programs ........................................................................... 12

Run-time Programs .................................................................................. 13

Utility Programs ....................................................................................... 17

InBatch Configuration Architecture ............................................................ 17

InBatch Runtime Architecture ..................................................................... 18

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

Page 4: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

2 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

Comprehensive Model ............................................................................. 70

Connectionless Model.............................................................................. 71

Hybrid Model ........................................................................................... 71

Page 5: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Contents 3

Model Approach Comparisons................................................................. 72

Process Modeling Steps ........................................................................... 73

Units ............................................................................................................. 74

Process Classes (Processes) ........................................................................ 74

Connections ................................................................................................. 74

Transfer Classes (Transfers) ....................................................................... 75

Define Process and Transfer Capabilities ................................................. 75

Phases ....................................................................................................... 75

Phase Types .............................................................................................. 75

Phase Logic .............................................................................................. 76

Phase Parameters...................................................................................... 77

Segments ...................................................................................................... 79

Equipment Status ......................................................................................... 79

Units of Measure.......................................................................................... 79

Enumeration................................................................................................. 79

Tags .............................................................................................................. 79

Tag Types and Usage................................................................................ 80

Unit Tags .................................................................................................. 80

Process Tags ............................................................................................. 81

Connection Tags ....................................................................................... 81

Transfer Tags ............................................................................................ 81

System Tags.............................................................................................. 81

Using Process and Transfer Tags versus Unit and Connection Tags ....... 83

Tag Definition .............................................................................................. 84

Tagname ................................................................................................... 84

Tag Description ........................................................................................ 86

Data Class................................................................................................. 86

Access Mode ............................................................................................ 86

Process Modeling Summary ........................................................................ 87

Example: Process Phases and Tags.............................................................. 87

Ramp Heat Phase Logic ........................................................................... 88

Process Tags and Unit Tags...................................................................... 88

Process Classes and Generic Phases in Recipe Editor ............................. 88

Batch Manager Resolves Process Tags into Unit Tags ............................ 89

Model Editor ................................................................................................ 91

Deleting Model Components ................................................................... 92

Using Model Editor .................................................................................. 92

File Menu ................................................................................................. 93

Edit Menu................................................................................................. 95

Help Menu................................................................................................ 96

Units Tab...................................................................................................... 96

Adding Units ............................................................................................ 97

Changing Unit Names .............................................................................. 97

Deleting Units .......................................................................................... 98

Edit Unit Tags........................................................................................... 98

Processes Tab............................................................................................. 100

Adding Process Classes.......................................................................... 101

Page 6: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

4 Contents

Changing Process Class Names ............................................................. 101

Deleting Process Classes........................................................................ 102

Unit Control/State Tags.......................................................................... 102

Assign Units ........................................................................................... 103

Process Class Attributes......................................................................... 104

Assigning Unit Attribute Values ............................................................ 105

Edit Process Class Tags.......................................................................... 106

Process Class Phases.............................................................................. 108

Connections Tab ........................................................................................ 122

Editing Connections ............................................................................... 123

Assign Segments to Connections........................................................... 125

Connection Tags..................................................................................... 126

Transfers Tab ............................................................................................ 127

Editing Transfers .................................................................................... 128

Assign Source and Destination Process Classes .................................... 128

Assign Connections................................................................................ 129

Transfer Tags.......................................................................................... 130

Edit Transfer Class Phases ..................................................................... 132

Transfer Phase Configuration ................................................................ 138

Segments Tab............................................................................................. 148

Equipment Status Tab ................................................................................ 149

Units of Measure Tab................................................................................. 151

Import and Export Units of Measure ..................................................... 152

Enumeration Tab........................................................................................ 153

Additional Phase Configuration ................................................................ 155

Edit Control Buttons .............................................................................. 155

Phase Control/Status Bits ....................................................................... 155

Edit Interlocks ........................................................................................ 157

Edit Formula Parameters........................................................................ 159

CHAPTER 5: Tag Linker ..................................... 167

Overview ................................................................................................... 168

When to Use Tag Linker........................................................................... 169

Using Tag Linker ...................................................................................... 169

File Menu ............................................................................................... 170

Edit Menu............................................................................................... 175

View Menu............................................................................................. 175

Help Menu.............................................................................................. 176

Access Editor ............................................................................................. 176

Tag Configuration ...................................................................................... 177

Tag Selection.......................................................................................... 177

Assign Tag Links ................................................................................... 178

Export Editor ............................................................................................ 180

Simulation Export Procedure ................................................................. 183

Runtime Export Procedure..................................................................... 184

Control System Interfacing Example ........................................................ 185

Page 7: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Contents 5

Guidelines for Control System Interfacing ............................................ 185

Setting Up the Control System............................................................... 185

CHAPTER 6: Materials Editor ............................ 187

Overview.................................................................................................... 187

Using the Materials Status Window........................................................... 189

Starting the Materials Status Window.................................................... 189

File Menu ............................................................................................... 190

Edit Menu............................................................................................... 193

View Menu ............................................................................................. 193

Help Menu.............................................................................................. 195

Using the Materials Editor ......................................................................... 196

Defining Materials.................................................................................. 196

Using the Material Location Assignment Editor ....................................... 198

Assign a Material to a Unit .................................................................... 198

Define Lot Tracking Information ........................................................... 199

CHAPTER 7: Recipe Editor................................ 203

Overview.................................................................................................... 203

Header .................................................................................................... 204

Using Recipe Editor ................................................................................... 210

File Menu ............................................................................................... 211

File/Save................................................................................................. 214

Edit Menu............................................................................................... 225

Header ........................................................................................................ 225

Equipment Requirements........................................................................... 228

Assign Process Classes........................................................................... 230

Edit Process Instances ............................................................................ 231

Edit Transfer Instances ........................................................................... 237

Formula ...................................................................................................... 241

Process Variables.................................................................................... 248

Unit Procedures Library ......................................................................... 250

Operations Library ................................................................................. 251

View Menu ............................................................................................. 253

Help Menu.............................................................................................. 256

Building a Recipe Procedure ..................................................................... 257

Procedure Layout ................................................................................... 257

Procedure Objects .................................................................................. 258

Storing Unit Procedures ......................................................................... 263

Loading a Unit Procedure ...................................................................... 264

Storing Operations.................................................................................. 265

Loading an Operation............................................................................. 266

Recipe Procedure Mechanics ................................................................. 268

Cutting and Copying Procedure Objects ................................................ 277

Pasting Procedure Objects...................................................................... 277

Page 8: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

6 Contents

Deleting Procedure Objects ................................................................... 278

Moving and Nesting Procedure Objects ................................................ 284

Unit Procedure Properties ...................................................................... 284

Operation Properties .............................................................................. 286

Phase Properties ..................................................................................... 287

Building Recipes in a Connectionless Process Model............................... 296

CHAPTER 8: Train Editor ................................... 299

Overview ................................................................................................... 299

Using Train Editor ..................................................................................... 300

File Menu ............................................................................................... 302

Help Menu.............................................................................................. 303

Assigning Units to Trains .......................................................................... 303

Assigning Attributes to Trains ................................................................... 304

CHAPTER 9: Batch Management System ........ 307

Overview ................................................................................................... 308

Batch Management Diagram ................................................................. 310

Using Batch Scheduler .............................................................................. 310

Starting Batch Scheduler........................................................................ 310

File Menu ............................................................................................... 311

Edit Menu............................................................................................... 312

View Menu............................................................................................. 313

Initialize Menu ....................................................................................... 317

Options Menu......................................................................................... 319

Help Menu.............................................................................................. 319

Defining a Batch .................................................................................... 319

Changing the Batch Schedule List ......................................................... 322

Using Batch Display .................................................................................. 322

File Menu ............................................................................................... 323

Actions Menu......................................................................................... 324

Windows Menu ...................................................................................... 327

View Menu............................................................................................. 331

Help Menu.............................................................................................. 334

Batch Display Layout............................................................................. 334

Batch Display Functionality................................................................... 338

Batch Manager........................................................................................... 344

Starting Batch Manager.......................................................................... 344

Batch Execution......................................................................................... 345

Equipment Allocation ............................................................................ 345

Batch Execution Modes ......................................................................... 347

Unit Selection Modes............................................................................. 352

Process Phases........................................................................................ 352

Transfer Phases ...................................................................................... 354

Continue Mode Execution ..................................................................... 358

Page 9: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Contents 7

Contention for Shared Equipment.......................................................... 358

Runtime Recipe Procedure Jumps - Jump Mode ................................... 360

Report Triggering ................................................................................... 361

End Of Batch Operation ......................................................................... 361

Batch Runtime Errors............................................................................. 361

Batch Schedule Errors ............................................................................ 362

Warm Restart ............................................................................................. 363

Starting Batch Manager with Warm Restart Function ........................... 363

Batch Execution ..................................................................................... 364

Batch Restart Mode ................................................................................ 364

Control System Synchronization............................................................ 365

Manual Operation................................................................................... 366

CHAPTER 10: History System........................... 369

Overview.................................................................................................... 369

History Database Tables ............................................................................ 370

CHAPTER 11: Reporting System ...................... 385

Reporting System Components ................................................................. 385

Reporting System Architecture.................................................................. 387

Reporting System Security ........................................................................ 388

Using The Batch Reporting System........................................................... 388

Batch Reporting...................................................................................... 388

Report Configuration.............................................................................. 390

Report Scheduling .................................................................................. 394

Report Viewing ...................................................................................... 402

Creating Reports ........................................................................................ 405

Unsupported Report Templates .............................................................. 405

CHAPTER 12: Process Logging........................ 407

Overview.................................................................................................... 407

Process Log Criteria................................................................................... 408

General Logging Criteria ....................................................................... 408

Tags ........................................................................................................ 409

Using Process Log Editor .......................................................................... 410

File Menu .............................................................................................. 410

Edit Menu............................................................................................... 414

Creating a Process Log Group ................................................................... 415

Using Process Log Manager ...................................................................... 421

Starting Process Log Manager ............................................................... 421

Runtime Logging Criteria ...................................................................... 421

Page 10: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

8 Contents

CHAPTER 13: Security System......................... 423

Overview ................................................................................................... 423

Using Security Editor ................................................................................ 424

Using Security Editor for the First Time................................................ 425

File Menu ............................................................................................... 426

Edit Menu............................................................................................... 427

Help Menu.............................................................................................. 428

Security System Configuration.................................................................. 428

Security Enabled .................................................................................... 428

Retries .................................................................................................... 428

Password Timeout .................................................................................. 428

Password Reuse...................................................................................... 428

Comment ................................................................................................ 429

Security Levels .......................................................................................... 429

Operator Stations ....................................................................................... 430

User Accounts............................................................................................ 431

Security Level ........................................................................................ 432

Password ................................................................................................ 432

Recipes ................................................................................................... 433

Operator Stations.................................................................................... 434

Applications-Functions.............................................................................. 435

Adding a New Application .................................................................... 436

Enabling Application Security ............................................................... 436

Adding a New Function ......................................................................... 437

Enabling Function Security.................................................................... 437

Application - Function Descriptions ...................................................... 438

Runtime Security.................................................................................... 439

Starting the Security Manager................................................................ 439

Changing Passwords .............................................................................. 440

Application Security Requests ............................................................... 440

Function Security Requests.................................................................... 441

CHAPTER 14: Expression Editor ...................... 443

Using Expression Editor ............................................................................ 443

Starting the Expression Editor ............................................................... 443

Editing an Expression ............................................................................ 444

Expression Elements.................................................................................. 445

Operators ................................................................................................ 445

Operands ................................................................................................ 446

Functions ................................................................................................ 446

Delimiters............................................................................................... 447

Expression Building Rules ........................................................................ 447

Expression Examples................................................................................. 448

Page 11: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Contents 9

CHAPTER 15: Phase Logic Development andTesting .................................................................. 449

Phase Block Design Guideline .................................................................. 449

Definition of a Phase Block ................................................................... 450

Phase Block Rules of Operation............................................................. 450

Function Block Diagram ........................................................................ 451

Operational Flow Chart.......................................................................... 452

Control System Memory Configuration................................................. 454

Control System Code Structure.............................................................. 454

Unit Control............................................................................................ 458

Unit Status .............................................................................................. 461

Hold Propagation.................................................................................... 462

Phase Control ......................................................................................... 462

Phase Status ............................................................................................ 464

Formula Parameters................................................................................ 465

Alarms .................................................................................................... 469

Input and Output Control ....................................................................... 469

Using the Phase Logic Testing Tool .......................................................... 470

Starting the Phase Logic Testing Tool.................................................... 470

File Menu ............................................................................................... 471

Help Menu.............................................................................................. 472

Exercising Phases ...................................................................................... 472

CHAPTER 16: Active-X GUI Controls .............. 473

Overview.................................................................................................... 473

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

474

Using InBatch GUI Controls ..................................................................... 474

InBatch GUI Control Descriptions ............................................................ 475

BatchGuiConfig .................................................................................... 475

BatchList ................................................................................................ 478

BatchField .............................................................................................. 481

BatchButton............................................................................................ 483

Building a Simple Batch Scheduler ........................................................... 484

Create the InTouch Window................................................................... 485

Running the Scheduler ........................................................................... 488

Using the BatchSecurity Control ............................................................... 490

Configuring the BatchSecurity Control.................................................. 492

Enumerations.......................................................................................... 496

Security Control Examples..................................................................... 498

CHAPTER 17: InTouch Batch Wizards.............. 505

Overview.................................................................................................... 505

InBatch Wizard Access Names and Support Tags..................................... 506

Using InBatch Wizards .............................................................................. 507

Page 12: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

10 Contents

InBatch Wizard Descriptions..................................................................... 508

Batch Scheduler/Dispatcher .................................................................. 508

Active Batch List ................................................................................... 509

Batch Messages...................................................................................... 510

Change Batch Mode............................................................................... 510

Batch Questions with Close ................................................................... 511

Batch Questions ..................................................................................... 511

Button..................................................................................................... 512

Batch Comments .................................................................................... 515

View/Force Transition Logic ................................................................. 515

Active Phase List ................................................................................... 516

Phase Parameter List .............................................................................. 516

Phase and Parameter Editor ................................................................... 517

Phase Instructions .................................................................................. 518

Phase Interlocks ..................................................................................... 518

Phase Comments .................................................................................... 519

Phase Message Information ................................................................... 519

Equipment Allocation ............................................................................ 520

Equipment Selection .............................................................................. 521

Save Control Recipe............................................................................... 521

Batch Errors ........................................................................................... 522

InBatch Wizard Data Change Script.......................................................... 522

Data Change Scripts - Using List Boxes................................................ 524

CHAPTER 18: InTouch Script Add-On Functions..525

Overview .................................................................................................. 526

Using Script Add-On Functions............................................................. 526

Protocol Usage ....................................................................................... 526

Script Add-On Function Descriptions ....................................................... 526

ibAlarmEventHost ................................................................................. 527

ibAlarmEventInit ................................................................................... 527

ibAlarmNode.......................................................................................... 528

ibBatchAction ........................................................................................ 529

ibConfig ................................................................................................. 532

ibPokeDisc ............................................................................................. 533

ibPokeInt ................................................................................................ 533

ibPokeStr ................................................................................................ 534

ibRequestDisc ........................................................................................ 535

ibRequestInt ........................................................................................... 535

ibRequestStr ........................................................................................... 536

ibTermTopic ........................................................................................... 536

Obsolete DDE Script Add-On Functions .................................................. 537

ibDdePokeDisc....................................................................................... 537

ibDdePokeInt ......................................................................................... 537

ibDdePokeStr ......................................................................................... 537

ibDdeRequestDisc.................................................................................. 537

ibDdeRequestInt..................................................................................... 537

Page 13: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Contents 11

ibDdeRequestStr..................................................................................... 538

ibDdeTermTopic..................................................................................... 538

Script Add-On Function Error Reference .................................................. 538

CHAPTER 19: InTouch Batch Tag Browsing andReferencing.......................................................... 539

Overview.................................................................................................... 540

Define Batch Tag Sources.......................................................................... 541

Remote Referencing Batch Tags................................................................ 544

CHAPTER 20: InTouch Client Security ............. 545

Overview.................................................................................................... 545

Configuring InBatch Client Security ......................................................... 546

Batch Server Security Configuration ..................................................... 546

Batch Client Security Configuration ...................................................... 547

InBatch Client Security Operation............................................................. 548

DoneBy Security .................................................................................... 548

DoneBy and CheckBy Security.............................................................. 549

Verify DoneBy Password ...................................................................... 549

Verify CheckBy Password...................................................................... 550

CHAPTER 21: Client Alarm/Event Interface ..... 551

Overview.................................................................................................... 551

Required Configuration ............................................................................ 552

CHAPTER 22: Tag Interface Management (TIM)System.................................................................. 555

Overview.................................................................................................... 556

When to Use the Tag Interface Management (TIM) System ................. 557

Using TIM.................................................................................................. 558

Using TIM Tags ..................................................................................... 558

Batch Management System Interface ........................................................ 562

Manipulate the Batch Schedule.............................................................. 563

Monitor and Control Active Batches ..................................................... 568

View and Adjust Allocation Queue ........................................................... 574

Manipulate Recipe Focus ....................................................................... 577

Monitor and Respond to Batch Questions.............................................. 579

Enter Batch Comments........................................................................... 581

Monitor and Control Active Phases ....................................................... 582

Select Equipment for Allocation ............................................................ 589

Monitor Batch Messages........................................................................ 591

Edit Phases and Parameters.................................................................... 594

Page 14: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

12 Contents

Monitor and Control Equipment ............................................................ 598

View/Force Transition Logic ................................................................. 602

Save Control Recipe............................................................................... 605

Monitor and Respond to Errors.............................................................. 608

Batch Management System Interface Handshake Errors....................... 609

Security System Interface .......................................................................... 611

Interact with InBatch Security System................................................... 611

Security System Interface Handshake Errors......................................... 613

Batch Function Interface .......................................................................... 614

Phase Prepare/Complete ........................................................................ 615

Evaluate Equipment for Allocation........................................................ 618

Log Equipment Status ............................................................................ 620

Equipment Allocation Changes ............................................................. 623

Runtime TIM Operation ............................................................................ 625

Runtime TIM Applications .................................................................... 625

CHAPTER 23: Redundancy ............................... 627

Overview ................................................................................................... 628

Setting Up a Redundant Batch Server ....................................................... 628

Network Configuration .......................................................................... 628

Installing a Redundant Batch System........................................................ 629

Batch Client - Redundancy Configuration............................................. 630

Redundancy Configuration ........................................................................ 631

RedCfg File Structure ............................................................................ 631

Example of a Redundant Server Configuration......................................... 632

RedCfg and Lmhosts File Examples...................................................... 633

Redundancy Switch-Over Configuration .................................................. 634

Redundancy Operation .............................................................................. 635

Directory Configuration ......................................................................... 635

Initial System Start-up............................................................................ 636

RedMngr Startup Procedure................................................................... 636

Typical Redundant Sequence of Operation ............................................... 637

Initial Start-up ........................................................................................ 637

Normal Runtime Operation.................................................................... 637

Backup System Failure .......................................................................... 637

Master System Failure ........................................................................... 637

Master System Failure while Backup’s Operating System is Failed ..... 638

Failed System Recovery......................................................................... 638

Manual Switch-Over to Backup System................................................ 638

Shutting Down a Redundant System ..................................................... 639

Batch Clients.............................................................................................. 639

Monitoring Redundancy Status.............................................................. 639

Batch Client (InTouch) Switchover ....................................................... 640

Batch Development and Batch Runtime Clients.................................... 641

Configuring InTouch Client Alarms for Redundancy............................ 641

Redundant System Points of Interest......................................................... 642

Page 15: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Contents 13

CHAPTER 24: System Administration.............. 643

Information Server Administration............................................................ 643

History Administration........................................................................... 644

Error Queue Administration................................................................... 646

Information Server Configuration .......................................................... 647

History Archiving................................................................................... 648

Completed Archives............................................................................... 655

Report Log Administration .................................................................... 658

Changing an Information Server Assignment on a Batch Server .......... 659

Changing a Batch Server Assignment on an Information Server .......... 660

Backing Up Batch Databases..................................................................... 661

Using the DBCOPY Utility.................................................................... 661

Managing Batch Configurations................................................................ 661

Batch System Configuration Files.......................................................... 662

Terminal Server License Administration ................................................... 671

Annunciating Batch System Illegal Access Attempts ............................... 672

Implementing FDA 21 CFR Part 11 Compliance .................................. 672

SQL Script.............................................................................................. 675

Index .................................................................... 681

Page 16: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

14 Contents

Page 17: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Welcome to InBatch Premier Edition 3

C H A P T E R 1

Welcome to InBatch Premier

Edition

The following is a general overview and discussion of the capabilities of the

InBatch Premier 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

Overview

InBatch Premier 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.

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.

Page 18: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

4 Chapter 1

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 Recipes and Process Lines

Within the batch control system, recipe procedures 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 recipes, schedule and execute batches, and

keep a history of all batch processing activity.

Flexibility in a batch process makes a plant more competitive. Improvements result

because of faster line changeovers, faster time-to-market for new products, quick

response to customer orders, accurate batch history, and consistent product quality.

Process Modeling

A batch processing plant consists of units and connections. Units process and/or

hold materials whereas connections transfer materials between units.

A unit is a vessel that can hold and/or process materials. Some units 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.

Connections consist of equipment such as pumps, valves, separators, condensers

and flowmeters that are necessary for transferring a product from one unit to

another.

All units that have the same processing capabilities or perform the same function

are grouped into one process class. All the connections between the same two

process classes are grouped into one transfer class. Process Classes and Transfer

Classes define a family of units and connections, respectively. The ability to group

units and connections into classes is the essence of a true flexible batch system.

Processing and transferring capabilities are defined by phases. Each phase is an

independent action that may contain a unique set of Parameters. Parameters

configure the phase based on recipe requirements. Phases can be automatically

executed by the control system or manually executed by an operator. The execution

of automatic phases is performed by the control system using Phase Logic.

Page 19: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Welcome to InBatch Premier Edition 5

Process Modeling is the process of identifying the processing capabilities of a plant.

There are five basic elements involved in any process modeling: defining the Units,

Process Classes (Processes), Connections, Transfer Classes (Transfers), and

Processing Capabilities. The following guidelines describe the basic steps that

youuse to develop a process model:

1. Identify each unit and its attributes.

2. Group units into process classes.

3. Identify all connections between units.

4. Define all equipment segments and assign to connections.

5. Group connections into transfer classes.

6. Define the processing capabilities of each process class (phases and

parameters).

7. Define the transferring capabilities of each transfer class (phases and

parameters).

8. Define equipment statuses.

9. Define trains.

10. Develop phase logic.

An integral part of Process Modeling involves defining specific data points called

Tags. Tags are associated with all Units, Processes, Connections, and Transfers 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, connections,

segments, phases, and phase parameters. There are other tags created by the Tag

Interface Management (TIM) system called TIM tags. TIM tags provide an

interface to the Batch Manager and Security Manager so that Wonderware

InTouch™ and other tag-based software packages can communicate and interact

with batch execution.

Model and tags must be linked to control system addresses using the InBatch

TagLinker. The TagLinker provides automatic and manual linking of tags to

external systems

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 Editor is used to track the location of materials that are stored in

units. This usually pertains to bulk ingredients and work-in-process (WIP)

materials. The batch management system uses the ingredient location data to

determine where to get ingredients when a batch is to be produced. This capability

allows ingredient locations to be independent of recipes and control programs, and

permits ingredients to change locations with no effect on recipe execution.

Page 20: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

6 Chapter 1

The materials database is used by the Recipe Editor in the construction of recipes.

Only materials in the materials database can be used in recipes.

When new bulk ingredients are received, the unit location may be entered into the

materials database by plant personnel. A lot identification can also be assigned to

the material. Multiple lots of the same ingredient may be stored in the same vessel.

The batch management system updates the database when ingredients are used and

when intermediates or finished goods are produced. The database provides for easy

access to WIP information and can be used to update higher level material

management and material resource planning (MRP) systems with ingredient usage

information, WIP, and finished goods production. The Materials Editor is not an

inventory management system, but may be used to complement existing systems.

Recipe Management

InBatch Recipe Management provides the capability to create recipes according to

the guidelines outlined in the ISA S88.01 Flexible Batch Standard. A three-level

hierarchical approach to recipe building features the use of unit procedures,

operations and phases.

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.

Page 21: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Welcome to InBatch Premier Edition 7

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, checking if the bulk

materials defined in the recipe are available in the Train, ensuring that the recipe’s

equipment requirements are satisfied by the Train, and verifying that the Process

Model database is compatible with the recipe.

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 referred to as phase blocks, are signaled for execution by

Batch Manager. Phase block control logic, located in the control system, is

responsible for controlling the process. Prior to starting each phase block, Batch

Manager verifies that the phase block is ready for execution. If it is ready, the phase

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 phase in

hold. They can also use the interface to restart and abort batches or phases. The

interface also allows operators to change phase parameter values, acknowledge the

execution of phases, review phase interlock statuses, 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.

Page 22: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

8 Chapter 1

A master recipe uses classes of process units, not specific units. This means that

phases pertain to a class of units, not to a specific unit. When Batch Manager

executes a master recipe, each phase encountered is converted into a unit specific

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

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.

Page 23: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Welcome to InBatch Premier Edition 9

FactorySuite Integration

The following section describes the integration of InBatch with the FactorySuite.

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 on units,

connections, phases, phase parameters and segments. Tags are automatically

created using these names and are used by the InBatch to communicate with PLC or

DCS systems.

Tag Interface Management System

The Tag Interface Management (TIM) system is a tag-based interface to the Batch

Manager and the Security Manager. TIM is built on the Batch Talk API and

Security API, but instead of using C functions to interact with the manager, tags are

used. The TIM system is configurable allowing functionality to be enabled or

disabled and the number of client nodes required to be defined.

TagLinker

The tags created by the Model Editor and TIM can be linked to control system

addresses using the InBatch TagLinker. The TagLinker 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 Model and TIM 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, phase logic and operator

displays. There are two utilities or tools available to diagnose, troubleshoot and

exercise tags communications between InBatch and FactorySuite™.

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. PhaseLogic is a

testing tool and should not be used during normal operation.

TagView Tool

The TagView tool is used to monitor InBatch tags at run time.

Page 24: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

10 Chapter 1

Batch Alarms

Batch alarms, in InBatch, are captured, associated with a batch and stored in the

history database. The Unit or Connection Name parameter of the tag is the key in

accomplishing this objective. All alarms from a designated InTouch™ aqpplication,

are monitored by the batch control system. If the first peice of the tag name

corresponds to a unit, connection, or segment 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.

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.

Page 25: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Welcome to InBatch Premier Edition 11

InBatch Program Menus

InBatch software is comprised of batch server, batch info 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.

What’s New displays a summary of the enhancements and features that are

included in the batch system.

Uninstall Server starts the unInstallShield program which 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.

Process Modeling Editor starts Process Modeling Editor on the client.

Tag Linker starts Tag Linker on the client.

Train Editor starts Train Editor on the client.

Material Editor starts Material Editor on the client.

Recipe Editor starts Recipe Editor on the client.

Batch Report starts Batch Report on the client.

Security Editor starts Security Editor on the client.

Process Log Editor starts Process Log Editor on the client.

UnInstall starts the unInstallShield program which allows you to remove the

Batch Development Client from your computer.

Page 26: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

12 Chapter 1

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

Batch Report starts Batch Report on the client.

unInstallShield starts the unInstallShield program which allows you to

completely remove the Batch Development 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 starts the unInstallShield program which 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.

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.

Page 27: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Welcome to InBatch Premier Edition 13

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 a

recipe database 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.

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.

Page 28: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

14 Chapter 1

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, Run-time 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 third 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.

InBatch Server (IBServ)

(Required) Runtime server application, which allows SuiteLink and DDE client

applications (e.g. InTouch), to use InBatch TIM tags and Control System tags.

Page 29: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Welcome to InBatch Premier Edition 15

InBatch Function Server (IBFServ)

(Required if you are using Batch Function Tags) Runtime server application, which

allows SuiteLink and DDE client applications (e.g. InTouch), to use InBatch Batch

Function Tags.

Note InBatch 8.0 is the last release that shall support the InBatch Batch Function

Tags and the TIM system. Wonderware strongly suggests you use the BatchHook

Active X automation server interface for customizing the batch engine.

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.

Tag Interface Management (TIM) System Batch

Process (TIMBatch)

(Optional) The TIM System Batch Process manages the runtime tag interface

between the batch management system and the workstations and/or control stations

defined in the system.

Page 30: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

16 Chapter 1

Tag Interface Management (TIM) System Function

Library Process (TIMFunc)

(Optional) The TIM System Function Library Process manages the runtime tag

interface between the batch functions and the computers and/or controllers defined

in the system.

Tag Interface Management (TIM) System Security

Process (TIMSec)

(Optional) The TIM System Security Process manages the runtime tag interface

between the security system and the computers and/or controllers defined in the

system.

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, Run-time and Development Clients. (Refer to COM Technical

Reference Guide for more information.)

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

Page 31: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Welcome to InBatch Premier Edition 17

Utility Programs

The following Utility Programs are provided with the batch system to help assist

your development and runtime processes.

Phase Logic Testing Tool (PhaseLogic)

(Optional) The Phase Logic module permits individual phase 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 TIM tags.

InBatch Configuration Architecture

InBatch Configuration Architecture

RecipeEditModelEdit MaterialEdit ReportEdit

SecEditEnvEditTagLinker

MaterialDB

LogDB

ReportDB

CfgTIMDB SecurityDBEnvDBDBLoad Files

LogEdit

CfgLinkDB

LinkDB Imp/Exp

CfgModelDB RecipeDB

TrainEdit

Page 32: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

18 Chapter 1

InBatch Runtime Architecture

IBHist

SQLServer

InSQL

RecipeDB

LogDB

LinkDB

ModelDB

TIMBatch

TIMSec

TIMFunc

TIMDB

MaterialDB

BatchDspl

(OCXBatch,

SFCOCX)

BatchSched

(OCXBatch)

BatchMngr

TrainEdit

SysTagMngr

UnilinkMngr

RecipeEdit

IBCli

LogMngr

IBServ

SimMngr

MaterialEdit

EnvDB

EnvMngr

Lock Manager

(lm_tcp)

IO Server InControl

BatchDB .BatchWR

InfoMngr

WindowMaker/Viewer

InBatch Wizards

and Script

Functions

SFC

ActiveX

Object

Batch

ActiveX

Object

Alarm/Event

Interface (.dlls)

InBatch Tag

Browser

Server

Page 33: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 34: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

InBatch Station Type Operating System

AdditionalRequiredSoftware

Includedwithpackage

Batch Server Windows NT 4.0 Server Windows NT 4.0

Service Pack 6a

Yes

Windows 2000 Server Windows 2000

Service Pack 2

No

Batch Runtime Client Windows NT 4.0 Workstation Windows NT 4.0

Service Pack 6a

Yes

InTouch 7.1 or

InTouch 7.1.1

No

Windows 2000 Professional Windows 2000

Service Pack 2

No

InTouch 7.1 or

InTouch 7.1.1

No

Batch Development Client Windows NT 4.0 Workstation Windows NT 4.0

Service Pack 6a

Yes

Windows 2000 Professional Windows 2000

Service Pack 2

No

Page 35: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Installation 21

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.

Information Server Windows NT 4.0 Server Windows NT 4.0

Service Pack 6a

Yes

Wonderware

Industrial SQL

Server 7.1 OR

Microsoft SQL

Server 7.0 Service

Pack 3 OR Microsoft

SQL Server 2000

SP1

No

Seagate Crystal

Reports Professional

8.0

Yes

IIS (NT Option Pack

4)

No

MDAC 2.5 Service

Pack 2

Yes

Windows 2000 Server Wonderware

Industrial SQL

Server 7.1 OR

Microsoft SQL

Server 7.0 Service

Pack 3 OR Microsoft

SQL Server 2000

SP1

No

Seagate Crystal

Reports Professional

8.0

Yes

Windows 2000

Service Pack 2

No

InBatch Station Type Operating System

AdditionalRequiredSoftware

Includedwithpackage

Page 36: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 37: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 38: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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 24, "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.

Page 39: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 40: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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:

Page 41: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 42: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 43: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 44: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 45: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 46: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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:

Page 47: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 48: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 49: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 50: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 51: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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:

Page 52: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 53: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 54: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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 24, "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"

Page 55: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 56: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 57: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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 24,

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

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

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

NoteMaterial 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

Management

(TIM)

No conversion required

Page 58: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 59: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 60: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 61: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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 toWonderware

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 toWonderware FactoySuite, Common

and then point toWWLogger.

Page 62: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 63: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 64: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 65: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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/Statusmenu 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.

Page 66: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 67: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 68: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 69: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 70: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

56 Chapter 3

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

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.

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.

Page 71: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 72: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 73: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 74: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 75: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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, theAssign

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.

Page 76: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

62 Chapter 3

Simulation Manager (SimMngr)

Process Log Manager (LogMngr)

Batch Manager (BatchMngr)

Batch Display (BatchDspl)

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.

Parameters Description

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

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.

Parameters Description

Manual Operations Enable the selection of Manual Operation from Batch Display.

Page 77: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 78: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

64 Chapter 3

InBatch Function Server (IBFServ)

InBatch Server (IBServ)

TIMBatch (TIMBatch)

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.

Parameters Description

ProtTimer (msecs) I/O Server toolkit setting.

Verbose Mode Enable extensive messaging for IBFServ application errors and information.

Parameters Description

ProtTimer (msecs) I/O Server toolkit setting.

Verbose Mode Enable extensive messaging for IBServ application errors and information

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.

Page 79: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

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.

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.

Page 80: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 81: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 82: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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.

Page 83: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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)

• Connections

• Transfer Classes (Transfers)

• Define Process and Transfer Capabilities

• Segments

• Equipment Status

• Tags

• Tag Definition

• Process Modeling Summary

• Example: Process Phases and Tags

• Model Editor

• Units Tab

• Processes Tab

• Connections Tab

• Transfers Tab

• Segments Tab

• Equipment Status Tab

Page 84: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

70 Chapter 4

• Units of Measure Tab

• Enumeration Tab

• Additional Phase Configuration

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.

Process models for batch facilities are based on two primary modeling approaches:

the Comprehensive Model and the Connectionless Model. You can also use a

Hybrid Model that contains elements of both. To ultimately decide which approach

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.

A summary of these approaches, including the benefits and liabilities of each, is

described in this section. All of the features of the Process Modeling Editor are

described, regardless of which modeling approach you choose.

Comprehensive Model

A comprehensive model approach uses all of the available configuration tools of

the flexible batch system. It also provides complete material tracking and ease-of-

use for the recipe builder and operators.

In a comprehensive model, the physical process is defined with units and

connections. This gives the sophisticated batch engine the information it needs to

most efficiently orchestrate your batch process. It also saves you from writing a lot

of custom code in the control system that would otherwise be required to coordinate

material transfers between units. This is the preferred modeling technique since it

leverages the full power of the batch system.

A unit is defined as any vessel that can hold and/or process materials. Examples of

units are bulk storage vessels, reactors, blenders, mixers, hold tanks, etc. Unique

statuses can be defined that describe the possible states that each unit can assume.

In addition to units, the comprehensive model includes information about the

material transfer capabilities between units. A connection is any means of getting

materials from one units to another. This might be automatic equipment that

transfers product between units such as pumps, values, and piping. Or it might be a

manual transfer such as an operator carrying a tote. A semi-automatic transfer is

one in which an operator may be required to prepare some equipment such as a

flexible pipe connection or hose, before the automated transfers can take place. All

of these situations can be accurately modeled.

Page 85: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 71

Some plants have single units with connections to multiple units while others have

multiple connections between two units. After all, there may be more than one way

of getting material from Unit ‘A’ to unit ‘B’. Connections can be further divided

into segments. Connection availability is determined by the status of all of the

segments that are a part of the connection. Unique statuses can be defined that

describe the possible states that each segment can potentially assume.

All units that have the same processing capabilities or perform the same function

are grouped in the same process class. All connections between the same two

process classes are grouped in a transfer class. The processing and transferring

capabilities for each of these classes are defined with phases. Each phase is an

independent action that requires a unique set of parameters. Parameters configure

the phase based on a recipe’s requirements. A phase can be executed either

automatically or manually. The batch management system is responsible for

coordinating unit-to-unit management.

Connectionless Model

A connectionless model approach uses a subset of the available configuration tools

of the flexible batch system. This approach requires a more complete understanding

of the process by the recipe builder and the operators. With some extra work in the

control system logic, a connectionless model approach can also provide complete

material tracking.

In a connectionless model, the physical process is defined with units only. Units are

the same in any model, that is, any vessel that can hold 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 with phases. Each phase is an independent action that requires a unique set

of parameters that configure the phase based on a recipe’s requirements A phase

can be executed either automatically or manually.

The connectionless model approach does not use connections and segments. The

movement of material between units is accomplished using complementary process

phases. For example, to move material from a reactor to a mix tank, a discharge

phase associated with the reactor and a charge phase associated with the mix tank

are required. The recipe builder is responsible for coordinating these two phases as

part of the recipe procedure. Coordination of unit-to-unit management is the

responsibility of the operator or control system.

Proper material tracking within a connectionless transfer requires the definition of

input parameters for the appropriate source class discharge phase, and the definition

of output parameters for the appropriate destination class charge phase.

Hybrid Model

The hybrid model approach uses a combination of elements of the comprehensive

and connectionless models. It allows you to configure a process in a way that

maximizes the benefits of both approaches by providing all of the available

configuration tools, material tracking and ease-of-use for the recipe builder and

operators.

Page 86: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

72 Chapter 4

In the hybrid model, the physical process is defined with units and connections.

However, only the static, non-flexible material paths are defined as connections.

Flexible paths or those that involve many possible destinations are not defined as

connections. Like the comprehensive and connectionless models, all of the units

that have the same processing capabilities or perform the same function are grouped

in the same process class, and all connections between the same two process classes

are grouped into a transfer class.

Flexible paths that are not defined with connections will use the complementary

process phase approach.

For more information on complementary process phases, see “Connectionless

Model” on page 71 in this section.

The hybrid approach’s most beneficial advantage is that it can minimize the overall

number of connections and associated tags in the model, while preserving all of the

connections for paths that are constant.

Model Approach Comparisons

This table summarizes the benefits, liabilities and recommended usage for the

comprehensive, connectionless and hybrid model approaches.

Approach Benefits Liabilities Usage

Comprehensive

Model

Automatic unit-to-unit batch

management

Complete material genealogy

Intuitive for recipe builder and

operator

Assignment of bulk material

sources for automatic lot tracking

One phase to conduct material

transfers minimizes recipe

complexity

Connections and segments

provide some automatic

interlocking functionality when

moving materials between units

Possibility of many connections and

associated connection tags for

flexible paths

Mostly Static

(fixed)

Transfers

Page 87: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 73

Process Modeling Steps

This table shows the general steps necessary to create a process model. The steps

are shown in sequential order. The steps required for each approach are marked

with an “X”.

Connectionless

Model

Complete material genealogy

Eliminates many connections and

connection tags for flexible paths

Requires complementary process

phases in recipes for all material

movement

More training for recipe builder and

operator

Operator or control system must

guarantee the coordination of units

Requires extensive control system

logic and interlocking when moving

materials between units

Automatic tracking of input materials

requires definition of parameters for

the source process phase

Automatic tracking of output

materials requires definition of

parameters for the destination process

phase

Totally

dynamic

Transfers

Hybrid Model Complete material genealogy

Minimizes flexible connections

and preserves static connections

Benefits of comprehensive and

connectionless models are present

for areas defined with and without

connections

Liabilities of comprehensive and

connectionless models are present for

areas defined with and without

connections

Partially

Fixed and

Partially

Flexible

Transfers

Modeling Steps Comprehensive Connectionless Hybrid

1. Define units X X X

2. Define units of measure Optional Optional Optional

3. Define enumeration Optional Optional Optional

4. Group units into process classes and define attributes X X X

5. Define all connections between units X

6. Define all fixed connections between units X

7. Group connections into transfer classes X X

8. Define the phases of each process class X X X

9. Define the phases of each transfer class X X

10. Define the segments and assign to connections Optional Optional

11. Define the possible equipment statuses that units

and/or segments can assume

X X X

12. Define Tags for transferring the specific phase data

points between the batch and control systems

X X X

Approach Benefits Liabilities Usage

Page 88: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

74 Chapter 4

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, bulk

storage vessels, and filling stations.

Units can have unique attributes, such as capacity or material of construction,

which define the processing capabilities or limitations of the unit.

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 function. For example, a plant may have five

blenders, each of which has the same processing capability. 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 bulk ingredient storage tanks, hold tanks, filling

stations, and manual add stations.

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.

Connections

A connection defines a group of equipment such as valves, pumps and flow meters

that transfer materials from a source unit to a destination unit. All connections

between units must be defined when configuring the process model. Some

processes may have more than one connection between the same two units. In this

case, each connection is defined separately.

13. Develop phase logic X X X

Modeling Steps Comprehensive Connectionless Hybrid

Page 89: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 75

Transfer Classes (Transfers)

Each connection must be assigned to a Transfer class. Transfer classes are similar to

Process classes, except where Process classes are associated with units Transfer

classes are associated with connections. Transfers define a group of connections

where all source units are in the same process class and all destination units are in

the same process class. The source and destination process classes can be the same.

For example, all of the connections between the source process class, Bulk

Ingredient Silos, and the destination process class, Scales, are assigned to the same

transfer class. Another example of a transfer class includes all of the connections

between the process class, Scales, and the process class, Blenders.

Define Process and Transfer Capabilities

Process classes have processing capabilities. These capabilities are defined by

Process Phases and parameters.

Transfer classes have transferring capabilities. These capabilities are defined by

Transfer Phases and their associated parameters.

Phases

A Phase is an independent process action. Phase Logic refers to the logical steps

and sequences within the control system that occur during the execution of a phase.

Phase logic can be constructed to automatically accommodate formula parameter

values received during runtime. Parameter values originate within a recipe.

Phase Types

There are three types of process phases and four types of transfer phases. Process

phases are classified as either automatic, manual, or data. Transfer phases are

classified as either automatic, semi-automatic, manual, or data.

Automatic Phases

Automatic phases are executed by the control system. Therefore, there must be

phase logic in the control system for the phase to execute. Examples of automatic

phases include bulk add, discharge, heat, and mix.

Manual Phases

Manual phases are executed by the batch management system in conjunction with

an operator. The control system is not involved in the execution of a manual phase.

Therefore, no phase logic is required. Examples of manual phases include manual

add and test.

Page 90: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

76 Chapter 4

Semi-automatic Phases

Semi-automatic can only be defined for transfer phases. Successful execution

requires the operator and the control system to work together in order to

successfully complete the phase. Semi-automatic phases require control system

phase logic. An example of a semi-automatic phase is drum add.

Data Phases

Data phases are executed by the batch management system. They have no phase

control or status tags for handshaking with the control system, and do not require

operator acknowledgement. They do not have control button capability, but do

allow formula parameter assignments. When a data phase is encountered during

batch execution, the batch manager automatically writes (downloads) all

parameters values to the control system.

Note Data Phases are intended to be used to write a Target value to a controller. If

the process model has only parameter Target tags created, then the Target value

will be written to both the Target and Actual in history. If Actual tags have been

created in the process model, then the Actual value from the controller will be

written to history.

Phase Logic

Phase Logic refers to the steps and sequences in a control system that are exercised

during the execution of a phase. Phase logic will make the control system program

very structured, and is required to support every phase defined as automatic or

semi-automatic. For example, if a process class of blenders has three automatic

phases, each blender in the process class will require three phase logic blocks.

Similarly, phase logic blocks are required for each automatic and/or semi-automatic

phase defined for each connection assigned to a transfer class. The logic for each

may be identical; however, the physical I/O and internal address assignments are

different for each blender in the class. Manual phases are executed by the batch

management system through interaction with operators and do not require phase

logic.

Class Class Type Phase Phase Type

BulkBlnd Transfer BulkAdd Automatic

DrumBlnd Transfer DrumAdd Semi-automatic

Blenders Process Blend Automatic

BlndCook Transfer Discharg Automatic

Cookers Process AgitOn

AgitOff

Heat

Cool

Soak

Sample

Automatic

Automatic

Automatic

Automatic

Automatic

Manual

CookHold Transfer Discharg Automatic

Page 91: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 77

This diagram shows the structured interface between phase logic and the batch

management system.

Phase Parameters

Phase parameters are used to configure, control, and monitor a phase. There are

four types of parameters; Formula Parameters, Phase Control and Status Bits,

Interlocks, and Control Buttons. Each of these types 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 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.

Phase Control and Status Bits

Phase Control and Status Bits are used by the batch management system during

run-time to control and monitor the execution of each phase.

For more information on using phase control and status bits, see

Page 92: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

78 Chapter 4

Interlocks

Each phase logic block may require interlocks. Interlocks provide safety and

security for personnel and equipment by preventing the execution of a phase when

other equipment or operators are not ready. All tags within the system can be

assigned as an interlock to a phase. There is no limit to the number of interlocks that

can be assigned to a phase. The physical interlocking is performed in the control

system, not by the batch control system. In this case, the batch control system

serves as a diagnostic tool by displaying the status of interlocks.

Control Buttons

Operators use control buttons to initiate or alter process actions during phase

execution. Control buttons are included in user interfaces for batch execution

displays. There are two control buttons available for each phase. Control buttons

are associated with the values of discrete tags.

A summary of all phase parameters is displayed in the following table.

Parameter Type Elements

Formula Input Target

Actual

High Deviation (%)

Low Deviation (%)

Lot Code

Preact

Lot Code

Material Id

Process Variable Target

Actual

High Deviation (%)

Low Deviation (%)

High Limit

Low Limit

Output Target

Actual

Material Id

Phase Control Start

Hold

Restart

Abort

Reset

Phase Status Ready

Run

Held

Done

Aborted

Interlocked

Interlocks Application Specific

Control Buttons Button #1

Button #2

Page 93: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 79

Segments

A segment is a subsection of a connection. Segments may be defined in the process

model whenever multiple connections share the same equipment and when it is

necessary to prevent the automatic use of common segments. Examples of

segments are sections of common piping, shared valves and shared pumps.

Segment definition and usage is optional. If you do use segments in your model, it

is not necessary to assign segments for all of the connections.

Equipment Status

An equipment status represents the transition states of units and/or segments and is

defined in the process model. Equipment Status is evaluated before the allocation of

units and/or connections. The use of equipment status is optional.

Units of Measure

A unit of measure is an attribute of a formula parameter and can 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. Each process variable in your process model should have a unit of

measure assignment.

Enumeration

An enumeration is a data class which is identified by a Set Name in which a list of

integer values correspond to an alpha-numeric string value .

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.

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 eight tag types in the batch control system: Unit Tags, Process Tags,

Connection Tags, Transfer Tags, System Class Tags, System Unit Tags, System

Connection Tags, and System Segment Tags. Each type has a unique responsibility

as described below.

Page 94: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

80 Chapter 4

Tag Types and Usage

Unit Tags

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

unit.

Tag Type Use

ValuefromControlSystem Comments

Unit Process Modeling:

Transfer and Process Phase Interlocks

All SCADA Applications

Yes

Process Process Modeling:

Process Phase Control Buttons

Process Phase Control Bits

Process Phase Status Bits

Process Phase Formula Parameters

Recipes:

Transition Logic

No Note 1: For each process tag, the Model

Editor automatically creates one unit

tag for each unit in the process class.

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.

Connection Process Modeling:

Transfer and Process Phase Interlocks

All SCADA Applications

Yes

Transfer Process Modeling:

Transfer Phase Control Buttons

Transfer Phase Control Bits

Transfer Phase Status Bits

Transfer Phase Formula Parameters

Recipes:

Transition Logic

No Note 1: For each transfer tag, the Model

Editor automatically creates one

connection tag for each connection in

the transfer.

System Class Process Modeling:

Process Phase Formula Parameters

Transfer Phase Formula Parameters

Recipes:

Transition Logic

No Note 1: System tags are internal batch

control system tags and are updated by

the batch management system.

Note 2: System Class tags are

automatically generated for each

process and transfer class defined in the

process model.

System Unit All SCADA Applications No Note 1: System Unit tags are

automatically created for each unit

assigned to a process class.

System

Connection

All SCADA Applications No Note 1: System Connection tags are

automatically created for each

connection assigned to a transfer class.

System

Segment

All SCADA Applications No Note 1: System Segment tags are

automatically created for each defined

segment.

Page 95: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 81

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. Process tags may be used as part of recipe

transition logic.

Connection Tags

Connection tags define data points uniquely associated with a connection.

Transfer Tags

A transfer tag defines the data points that are common to all of the connections

associated with a transfer class. Each automatically defined transfer tag generates a

set of connection tags for each member in the transfer class. For example, if there

are three connections in a transfer and one transfer tag is entered, three connection

tags are created; one for each connection in the transfer class. Each of these

connection tags may correspond to a specific address in a control system. Transfer

tags are indirectly associated with the control system by way of the connection tags

that they create.

Transfer tags are abstract in nature; that is they are not directly associated with the

control system. They represent a set of connection tags. Transfer tags become

connection tags when a batch is executed in a process. Transfer tags may be used as

part of recipe transition logic.

System Tags

System tags are automatically created by the Model Editor when a process class,

transfer class, or segment is added to the model. There are four types of system

tags: System Class tags, System Unit tags, System Connection tags, and System

Segment tags. System class tags are identical to process/transfer tags, system unit

tags are identical to unit tags, and system connection tags are identical to

connection tags. System segment tags are similar to system connection 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,

connection, and segment tags may be assigned to the control system and can be

used in SCADA applications.

Page 96: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

82 Chapter 4

Description System Class 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.

Connection

Information

Allocation Possible Values:

Ready

Allocated

Availability Possible Values:

Available

Unavailable

Batch_ID Batch ID connection is allocated to.

Campaign_ID Campaign ID connection is allocated to.

Last_Recipe_ID ID of last recipe produced within connection.

Lot_ID Lot ID connection is allocated to.

Segment Information Allocation Possible Values:

Ready

Allocated

Batch_ID Batch ID segment is allocated to.

Campaign_ID Campaign ID segment is allocated to.

Last_Recipe_ID ID of last recipe produced within segment.

Lot_ID Lot ID segment is allocated to.

Status Current status of segment. Possible values are

defined by user in the Equipment Status tab within

the process model editor.

Page 97: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 83

Using Process and Transfer Tags versus Unit and

Connection Tags

The following guideline will help you decide when to define a tag as a process,

transfer, unit, or connection 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 common to all connections in a transfer class can be

entered as a transfer tag.

3. Any data point that is not common to all units in a process class must be

entered as a unit tag.

4. Any data point that is not common to all connections in a transfer class must be

entered as a connection tag.

5. Any data point that is to be used in recipe transition logic must be entered as

either a process or transfer tag.

6. Any critical phase logic data point must be entered as a process or transfer tag.

The critical phase logic data points are required by the batch management

system to control, monitor, and configure a phase based on a recipe’s

requirements. The following table lists the critical phase logic data points.

Item Data Point

Phase Control Bits Start

Hold

Restart

Abort

Reset

Phase Status Bits Ready

Run

Held

Done

Interlocked

Aborted

Control Buttons Control Button #1

Control Button #2

Formula Parameter Elements

- Process Variable

Target

Actual

High Deviation (%)

Low Deviation (%)

High Limit

Low Limit

Formula Parameter Elements

- Input

Target

Actual

High Deviation (%)

Low Deviation (%)

Preact

Lot Code

Material ID

Page 98: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

84 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, the Connection name for connection tags and the Transfer class name for

transfer tags. Each is followed by Phase, Parameter and Element.

Tagname Structure

Valid Characters for Tagnames

You can use the following characters in a tagname.

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

Delimiters

Formula Parameter Elements

- Output

Target

Actual

Material ID

Name Number of Characters

Unit or Connection, Process Class or Transfer Class 8

Phase Name 8

Parameter Name 8

Element Name 5

Attribute Name (InTouch dot field) 16

Item Delimiter

Between Names - (dash)

Before Attribute . (period)

Item Data Point

Page 99: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 85

Automatically Generated Tagnames

TagClassification Parameter Name

AutomaticallyAppendedElement Name Description

Unit System

Tags

not used CAMPN

LOTID

BATCH

RECID

RECNM

BATSZ

BATST

BATMD

USTAT

ALLOC

LASTR

USTATE

Campaign ID

Lot ID

Batch ID

Recipe ID

Recipe Name

Batch Size

Batch Status

Batch Mode

Unit Status

Unit Allocation

Last Recipe ID

Unit State

Connection

System Tags

not used CAMPN

LOTID

BATCH

AVAIL

ALLOC

LASTR

Campaign ID

Lot ID

Batch ID

Connection Availability

Connection Allocation

Last Recipe ID

Segment

System Tags

not used CAMPN

LOTID

BATCH

USTAT

ALLOC

LASTR

Campaign ID

Lot ID

Batch ID

Segment Status

Segment Allocation

Last Recipe ID

Phase Control

Tags

CONTROL_STATUS START

HOLD

RSTRT

ABORT

RESET

Start

Hold

Restart

Abort

Reset

Phase Status

Tags

CONTROL_STATUS READY

HELD

RUN

DONE

ABRTD

INTLK

Ready

Held

Run

Done

Aborted

Interlocked

Unit Control

Tags

not used UHOLD

URSTR

UABRT

Unit Hold

Unit Restart

Unit Abort

Page 100: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

86 Chapter 4

Tag Description

Each tag can be given a 120-character description. This allows for complete

documentation of every tag in the system.

Data Class

A tag can be classified as discrete, analog, string or enumeration. Discrete tags have

two logical states; zero (0) and one (1). Analog tags reflect the process status with a

numerical value and may have many states. String tags are identified by an

alphanumeric value and may contain up to 80-characters. Enumeration tags are

identified by an integer value which represents a textual enumeration name.

Access Mode

Access Mode defines whether a tag is Read-only or Read/Write. A check box is

used to select the access mode for a tag.

Phase

Parameter Tags

Parameter Name ACT

TAR

HIDEV

LODEV

HILMT

LOLMT

PRACT

LOTCD

MATID

Actual

Target

High Deviation

Low Deviation

High Limit

Low Limit

Preact

Lot Code

Material ID

TagClassification Parameter Name

AutomaticallyAppendedElement Name Description

Page 101: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 87

Process Modeling Summary

Example: Process Phases and Tags

The example shown on the following pages illustrates how a Heat phase 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.

Page 102: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

88 Chapter 4

Ramp Heat Phase Logic

A phase block must be developed for each reactor to perform the heat function.

When instructed to run, the heat phase block will heat the contents of the reactor to

a specified temperature and at the specified rate. The target temperature and rate are

parameters used to configure the phase block. The parameters, which are both

designated as process variables, are assigned a value in the recipe. The value

becomes part of the recipe formula.

The Heat phase 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.

To keep our example simple, only one input and one output are shown for each

phase. In actuality, there may be several inputs and outputs, as well as many other

internal data points that may be common to each phase.

For more information on Phase Logic, see Chapter 15, "Phase 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 generic phase named

Heat, must be defined. The interface requires that process tags be defined for phase

control, phase status, formula parameters, control buttons, and interlocks. If inputs,

outputs, and internal data points are common to each phase, 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 phase 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-Heat-CS-START is a global

tag that represents the ReactorA-Heat-CS-START and ReactorB-Heat-CS-

START unit tags.

Process Classes and Generic Phases in Recipe

Editor

Process tags are used to define the interface points between the batch control

system and a generic phase defined for a process class. In this example, Heat is the

generic phase and Reactors is the process class. Recipe Editor creates Master

Recipes which are equipment independent. The Recipe Editor references process

classes (Reactors) and generic phases (Heat) instead of specific units (Reactor A)

and phases (Reactor A Heat).

For more information on Master Recipes and Recipe Editor, see Chapter 7, "Recipe

Editor."

Page 103: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 89

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 Heat phase, and ultimately, the set of unit

tags that will be used.

Page 104: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

90 Chapter 4

Example Plant

Page 105: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 91

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.

Page 106: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

92 Chapter 4

Deleting Model Components

WARNING! It is important to understand that when you delete a unit, process

class, connection, or transfer class, that 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.

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 all your process model.

To start Model Editor:

1. On Environment Display, double-click theModelEdit 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.

ElementDeleted Related Deletions

Unit All unit tags associated with the unit

All unit tags associated with the Process Class to which the unit is assigned

All connections in which the unit is a source or a destination

Process Class All process tags associated with the class

All unit tags resulting from the process tags

All process phases associated with the class

All transfers in which the class is a source or a destination

Connection All connection tags associated with the connection

All connection tags associated with the Transfer Class to which the connection is assigned

Transfer Class All transfer tags associated with the transfer

All connection tags resulting from the transfer tags

All transfer phases associated with the class

Page 107: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 93

File Menu

The Process Model Editor File menu provides system functions for the Process

Modeling Editor.

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 Automatic phases have tag assignments for (minimally) the Start, Reset,

Ready, and Done phase control and status bits.

• All Semi-Automatic phases have tag assignments for (minimally) the Start,

Reset, Ready, and Done phase control and status bits.

• All tags assigned to an Edit Allowed or Edit Required actual element of a

formula parameter must have a read/write access mode.

• At least one equipment status has been defined.

• One of the defined equipment statuses has been assigned as the default status.

Page 108: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

94 Chapter 4

To Validate the Process Model:

1. Click File on the Process Modeling Editor and then select Validate.

If the validation is successful, theValidationwindow indicates that the process

model configuration is valid. If validation errors exist, the associated phases

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

• Connections

• Connection Tags

• Enumerations

• Equipment Status

• Process Classes

• Process Tags

• Process Phases

• Segments

• Segment Tags

• Transfer Classes

• Transfer Tags

• Transfer Phases

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.

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

Page 109: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 95

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 Windows NT 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 Editmenu 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/Connections

Use the Edit/Connections menu to display the Process Modeling Editor

Connections tab.

Edit/Transfers

Use the Edit/Transfers menu to display the Process Modeling Editor Transfers

tab.

Page 110: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

96 Chapter 4

Edit/Segments

Use the Edit/Segments menu to display the Process Modeling Editor Segments

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.

Edit/Enumeration

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

Help Menu

The Process ModelingHelpmenu 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.

Page 111: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 97

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.

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

Page 112: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

98 Chapter 4

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.

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 phases

must be entered as Process Tags.

A Unit tag consists of the following elements. Some elements are required, while

others are optional.

• Phase 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, Enumeration, Analog, Discrete, or String)

• Access Mode (Required, Either Read Only or Read/Write)

• Attributes (Optional, Select from available InTouch dot fields)

Page 113: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 99

To Edit Unit Tags:

1. On the Units tab, click the Tags button.

The Edit Unit Tags window will appear.

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

Page 114: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

100 Chapter 4

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 class units 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.

Page 115: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 101

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.

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

Page 116: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

102 Chapter 4

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.

Unit Control/State Tags

Unit Control Tags are used by Batch Manager to inform the control system of an

operator initiated Batch Hold, Restart, or Abort. When a Hold, Restart, or Abort is

initiated, Batch Manager identifies the units involved in the batch and sets the

appropriate tag(s) within the control system. The control system manages control

phase logic as required by an application. There are three types of unit control tags:

Unit Hold, Unit Restart, and Unit Abort.

Unit State Tags are discrete, and are used by the control system to inform Batch

Manager that the status of a unit is Alarm, Held, Run or Ready.

Unit Control/State Tags are automatically created for each unit in a class when you

enable the Use Unit Control/State Tags check box.

To Enable Unit Control/State Tags for a Process Class:

1. From the Process Classes list, select the required Process.

2. Enable the Unit Control/State Tags check box.

3. Click Change to associate the unit control and unit state tags with the Process

Class.

Page 117: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 103

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.

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.

Page 118: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

104 Chapter 4

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.

Page 119: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 105

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.

Page 120: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

106 Chapter 4

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 phase, 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.

• Phase 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)

Page 121: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 107

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 and to the

recipe builder through the transition logic expression builder.

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 Phase Name, 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.

Page 122: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

108 Chapter 4

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 Phases

Use the Edit Phases window to assign phases to a process class. Each process class

can have any number of phases. Process phase types can be automatic or manual.

Automatic phases require control system phase logic. Manual phases and Data

Phases are executed by the batch management system.

Defining a process class phase requires the entry of the following information.

• Phase Name (Optional, 8-char max)

• Description (Optional, 120-char max)

• Phase Type (Required, Automatic , Manual or Data)

• Control Buttons (Optional, 2 available buttons)

• Interlocks (Optional, Available for all tags)

• Formula Parameters (Optional, Assign as required for the Phase)

• Save History (Optional, Save Control/Status Activity, and/or Parameter

Status)

Page 123: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 109

To Edit a Process Class Phase:

1. On the Processes tab, click the Phases button.

The Edit Phases window will appear.

All Phases 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 the Phase Type drop down arrow, and select Automatic, Manual or

Data as required.

4. Click Add to include the phase in the list or clickChange if you have edited an

existing phase.

5. Configure additional phase options as described in the following text.

Save History

Use the Save History Control/Status Activity and Parameter Status check boxes

to configure the type of phase activity that will be stored in the history database. All

data stored in the history database is stamped with the time and date. You can

enable both check boxes if required. Use of this History feature is optional.

To Enable Save History Options:

1. In the Edit Phases window, enable the Control/Status Activity and/or

Parameter Status check box(es).

Enable the Control/Status Activity box to include all phase control and status

bit transitions.

Enable the Parameter Status box to include (when the phase is done) all

parameter element values, control button activity, and phase instructions.

2. Click Change.

Page 124: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

110 Chapter 4

Control Buttons

You can include Control Buttons as part of the user interface. The buttons are a

part of the selected process class phase. To use a control button, you must associate

a tagname with the desired button.

For more information on Control Buttons, see “Process Phase Configuration” and

“Additional Phase Configuration” later in this section.

To Configure Control Buttons:

1. On the Edit Phases window, click Control Buttons.

The Edit Phase Control Buttonswindow will appear.

2. Enable Button 1 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.

Page 125: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 111

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.

Phase Control/Status Bits

Use the Edit Phase Control/Status window to configure Phase Control and Phase

Status bits. To configure phase control and phase status bits, you must associate

tags from the process phase and process class.

For more information on Phase Control/Status bits, see “Process Phase

Configuration” and “Additional Phase Configuration” later in this section.

To Configure Phase Control/Status Bits:

1. On the Edit Phases window, click Phase Control/Status.

The Edit Phase Control/Status window will appear.

The window shows the configuration for the selected Process Class and Phase.

Page 126: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

112 Chapter 4

2. Configure the Phase Control and Phase Status bits as required.

For more information on Phase Control/Status bits, see “Process Phase

Configuration” and “Additional Phase Configuration” later in this section.

Interlocks

Use the Edit Process Interlockswindow to configure interlocks for a process class

phase. To assign interlocks, you must associate unit tags with the process phase and

process class.

For more information on configuring Interlocks, see “Process Phase Configuration”

and “Additional Phase Configuration” later in this section.

To Configure Interlocks:

1. On the Edit Phases 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

(process class/transfer) assigned to the selected unit.

Page 127: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 113

2. Click the Assign Tags button.

The Tag Selection window will appear.

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.

Page 128: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

114 Chapter 4

Formula Parameters

Use the Edit Formula Parameters window to configure formula parameters for a

process class phase.

For detailed information on configuring Formula Parameters, see “Process Phase

Configuration” and “Additional Phase Configuration” later in this section.

To Configure Formula Parameters:

1. On the Edit Phases window, click the Formula Parameters button.

The Edit Formula Parameters window will appear.

The window shows the Formula Parameter configuration of the selected

Process Class and Phase.

For detailed information on configuring Formula Parameters, see “Process Phase

Configuration” and “Additional Phase Configuration” later in this section.

Automatic Process Phases

Automatic process phases are executed in the control system. Operator interaction

can be a normal part of the process or can occur only when abnormal situations

arise. Operator actions could involve putting the phase in hold or entering

parameter values while the phase is running. Enabling the operator to change

parameter values is defined when the formula parameters are configured.

Automatic process phases must have control system phase logic, and therefore,

must have Phase Control and Status Bits defined. Interlocks, Control Buttons, and

Formula Parameters are optional.

When the batch management system encounters an automatic process phase with an

input type parameter, the batch management system will update the material usage

record in the materials database based on the actual amount used.

Page 129: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 115

For more information on material location assignments, see Chapter 6, "Materials

Editor."

The batch control system can be configured to handle many different automatic

process phases. The following examples describes several examples of automatic

phases. The phase names correspond to the processing capabilities associated with

the example plant referenced earlier.

1. Phase Name: Heat

Increase the temperature of the unit to a specified temperature at a specified

rate.

2. Phase Name: Cool

Decrease the temperature of the unit to a specified temperature at a specified

rate.

3. Phase Name: Soak

Maintain the temperature of the unit at a specified temperature for a specified

time.

4. Phase Name: Agitate

Turn the agitator on for a specified time.

5. Phase Name: AgitOn

Turn the agitator on.

6. Phase Name: AgitOff

Turn the agitator off.

7. Phase Name: Charge

Coordinated with a source unit discharge phase, this phase represents one of

the ways in which materials can be moved and tracked. It is responsible for

enabling the flow of a material into the unit.

8. Phase Name: Discharge

Coordinated with a destination unit charge phase, this phase represents one of

the ways in which raw materials can be moved and tracked. It is responsible for

enabling the flow of a material out of the unit.

Possible phase parameter configurations for these automatic process phase

examples are shown below.

PhaseName

PhaseLogicRequired

PhaseControl/StatusParametersRequired

FormulaParameters

Interlocks andControlButtons

Heat Yes Yes Rate Temp As Needed

Cool Yes Yes Rate Temp As Needed

Soak Yes Yes Time Temp As Needed

Agitate Yes Yes Time As Needed

AgitOn Yes Yes None As Needed

AgitOff Yes Yes None As Needed

Charge Yes Yes Quantity As Needed

Discharg Yes Yes Quantity As Needed

Page 130: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

116 Chapter 4

Formula Parameter Configuration of Automatic

Process Phases

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. Enumeration is

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.

Process variables have six elements. The parameter name defines a family of

information. Elements define the members of the family. The six elements for

process variables are Target, Actual, High Deviation, Low Deviation, High Limit,

and Low Limit.

The configuration of the parameter type, data class, and elements is extremely

important. The batch management system will control a phase 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 phase. 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 phase. Typically, the phase

logic will use the target value to determine when to end the phase.

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:

Page 131: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 117

1. Select the Enable Display check box if the actual value is to be displayed

during the runtime execution of the phase. 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 phase.

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

Deviations are recalculated if changes are made to the target or deviation elements.

For example, if the target value is 100, the high deviation is 3%, and the low

deviation is 5%, the down-loaded high and low deviation values 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 phase. Typically,

the phase logic uses the deviations to establish alarm limits or an acceptable

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

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

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

Page 132: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

118 Chapter 4

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

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

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

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

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.

Formula parameter configurations for the automatic process phase examples given

earlier are shown below.

PhaseName

ParameterName

ParameterType

AssignTag

Enable/Display

EditAllowed

EditRequired

Target Element

a) Agitate SpeedTime Process Variable Yes Yes Yes No

Process Variable Yes Yes Yes No

b) AgitOff N/A N/A N/A N/A N/A N/A

c) AgitOn Speed Process Variable Yes Yes Yes No

d) Charge Quantity Input Yes Yes Yes No

e) Cool Temp Process Variable Yes Yes Yes No

Rate Process Variable Yes Yes Yes No

f) Discharg Quantity Output Yes Yes Yes No

g) Heat Temp Process Variable Yes Yes Yes No

Rate Process Variable Yes Yes Yes No

h) Soak Temp Process Variable Yes Yes Yes No

Time Process Variable Yes Yes Yes No

Page 133: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 119

Actual Element

a) Agitate Speed Process Variable Yes Yes No No

a) Agitate Time Process Variable Yes Yes No No

b) AgitOff N/A N/A N/A N/A N/A N/A

c) AgitOn Speed Process Variable Yes Yes No No

d) Charge Quantity Input Yes Yes No No

e) Cool Temp Process Variable Yes Yes No No

Rate Process Variable Yes Yes No No

f) Discharg Quantity Output Yes Yes No No

g) Heat Temp Process Variable Yes Yes No No

Rate Process Variable Yes Yes No No

h) Soak Temp Process Variable Yes Yes No No

Time Process Variable Yes Yes No No

High and Low Deviation Element

a) Agitate Speed Process Variable Yes Yes No No

Time Process Variable Yes Yes No No

b) AgitOff N/A N/A N/A N/A N/A N/A

c) AgitOn Speed Process Variable Yes Yes No No

d) Charge Quantity Input Yes Yes No No

e) Cool Temp Process Variable Yes Yes No No

Rate Process Variable Yes Yes No No

f) Discharg Quantity Output Yes Yes No No

g) Heat Temp Process Variable Yes Yes No No

Rate Process Variable Yes Yes No No

h) Soak Temp Process Variable Yes Yes No No

Time Process Variable Yes Yes No No

High and Low Limit Element

a) Agitate Speed Process Variable Yes Yes N/A N/A

Time Process Variable Yes Yes N/A N/A

b) AgitOff N/A N/A N/A N/A N/A N/A

c) AgitOn Speed Process Variable Yes Yes N/A N/A

d) Charge Quantity Input Yes Yes N/A N/A

e) Cool Temp Process Variable Yes Yes N/A N/A

Rate Process Variable Yes Yes N/A N/A

f) Discharg Quantity Output Yes Yes N/A N/A

g) Heat Temp Process Variable Yes Yes N/A N/A

Rate Process Variable Yes Yes N/A N/A

h) Soak Temp Process Variable Yes Yes N/A N/A

Time Process Variable Yes Yes N/A N/A

PhaseName

ParameterName

ParameterType

AssignTag

Enable/Display

EditAllowed

EditRequired

Page 134: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

120 Chapter 4

Manual and Data Process Phases

Manual process phases are used to model manual activities in the process. Many

processes are not completely automated and require the operator to perform manual

operations or actions according to the phase being executed, and to acknowledge

phase completion.

Data process phases are used as a convenient means of mass data transfer between

the batch system and control system. Data phases are similar to manual phases

except they do not require operator acknowledgement. Use data phases to

download data to (and/or upload data from) the control system and log it to history.

Preact Element

a) Agitate N/A N/A N/A N/A N/A N/A

b) AgitOff N/A N/A N/A N/A N/A N/A

c) AgitOn N/A N/A N/A N/A N/A N/A

d) Charge Quantity

(LBS)

Input No No No No

e) Cool N/A N/A N/A N/A N/A N/A

f) Discharg N/A N/A N/A N/A N/A N/A

g) Heat N/A N/A N/A N/A N/A N/A

h) Soak N/A N/A N/A N/A N/A N/A

Lot Code Element

a) Agitate N/A N/A N/A N/A N/A N/A

b) AgitOff N/A N/A N/A N/A N/A N/A

c) AgitOn N/A N/A N/A N/A N/A N/A

d) Charge Quantity

(LBS)

Input Yes Yes Yes Yes

e) Cool N/A N/A N/A N/A N/A N/A

f) Discharg N/A N/A N/A N/A N/A N/A

g) Heat N/A N/A N/A N/A N/A N/A

h) Soak N/A N/A N/A N/A N/A N/A

Material Id Element

a) Agitate N/A N/A N/A N/A N/A N/A

b) AgitOff N/A N/A N/A N/A N/A N/A

c) AgitOn N/A N/A N/A N/A N/A N/A

d) Charge Quantity

(LBS)

Input Yes Yes No No

e) Cool N/A N/A N/A N/A N/A N/A

f) Discharg Quantity

(LBS)

Output Yes Yes No No

g) Heat N/A N/A N/A N/A N/A N/A

h) Soak N/A N/A N/A N/A N/A N/A

PhaseName

ParameterName

ParameterType

AssignTag

Enable/Display

EditAllowed

EditRequired

Page 135: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 121

Manual and data process phases do not have control system phase logic, and

therefore, they do not have tag assignments for Phase Control/Status Bits or

Interlocks. Control Buttons are optional for manual phases but are not available for

data phases. Formula Parameters are optional for both phase types.

Manual and data phases are executed by the batch management system. Manual

process phases must be acknowledged by the operator before they are considered

done. Acknowledgment can only be accomplished once all of the phase edit and

comment requirements have been satisfied. Data phases do not require operator

acknowledgement.

The batch control system can be configured to handle many different manual and

data process phases. Described below are several examples that can be configured.

The phase names are used only for example purposes.

1. Phase Name: QASample (Manual)

The instruction will be given to the operator to take a sample of product to QA

for testing.

2. Phase Name: OpAction (Manual)

This phase is a general purpose message phase. This phase can be used anytime

the operator must be instructed to perform a task. The instructions are entered

as part of the recipe.

3. Phase Name: Agitate (Manual)

The operator will be instructed to manually start the agitator, a timer, and

adjust the agitator speed.

4. Phase Name: MixSpeed (Data)

In the middle of a mixing phase, the mix speed must be set to a higher speed.

The MixSpeed phase simply downloads the new setpoint. The existing tag

from the mixing phase can even be used.

5. Phase Name: EqStatus (Data)

This phase uses the Equipment Status (USTAT) tag from the unit in the target

of it’s Status string parameter. This phase can used in a product recipe to set

equipment statuses to values such as “Used”, or “Dirty” after a product recipe,

or “Clean” after a cleaning recipe.

6. Phase Name: GetInfo (Data)

This phase reads data from an external instrument to log into the batch history.

Perhaps the temperature of the batch is desired, but there is really no automatic

phase for monitoring this value. The GetInfo phase can be used at critical

points in the batch to capture a temperature reading.

Possible phase parameter configurations for the manual and data process phase

examples are shown below.

Phase Name

PhaseLogicRequired

PhaseControl/StatusParametersRequired

FormulaParameters

Interlocks andControlButtons

QASample No No none N/A

OpAction No No none N/A

Agitate No No Time Speed N/A

MixSpeed No No NewSpeed N/A

Page 136: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

122 Chapter 4

Formula Parameter Configuration of Manual and

Data Process Phases

The formula parameters that are available for manual and data process phases are

exactly the same as those described for automatic process phases. All of the

parameter types, data class options, and element alternatives are the same for

automatic and manual process phases.

For more information on Formula Parameter Configuration of Manual and Data

Process Phases, see, Formula Parameter Configuration of Automatic Process

Phases, earlier in this section.

Connections Tab

Use the Connections tab to define all the material and product paths in the plant.

To display the Connections Tab:

1. On the Process Modeling Editor window, click the Connections tab.

The Connections tab will appear.

EqStatus No No Status N/A

GetInfo No No Temp N/A

Phase Name

PhaseLogicRequired

PhaseControl/StatusParametersRequired

FormulaParameters

InterlocksandControlButtons

Page 137: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 123

All of the available Connections in your process model are listed.

Editing Connections

To Edit a Connection:

1. In the Name box, enter a name for the connection (8-char max).

2. In the Description box, you can optionally enter text describing the connection

(120-char max).

3. In the Preact box, you can optionally enter the a value.

Preact is a value that is equal to the difference between the target quantity

(preset) and the actual quantity (actual) that is delivered when material is

transferred through a connection. Many times, there is dribble or free fall of

product in the connection when a transfer occurs. This results in overflow. The

preact defines the anticipated overflow; that is, the difference between the

target and the actual. The preact value is only used in transfer phases.

The control system phase logic must include appropriate logic in anticipation

of receiving a preact during the execution of a recipe. Also, there are no

automatic adjustments made to the preact value by the batch control system.

Any calculations and adjustments that are to be made to the preact must be

done at the control system level. This is explained further in the section

associated with automatic transfer phases.

Page 138: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

124 Chapter 4

Assign Source and Destination Units

A connection requires a source unit and a destination unit. Use the Source Unit and

Destination Unit buttons to make these assignments. All units in the model are

available for assignment. Only one unit can be assigned as a source or destination

unit. The source and the destination cannot be the same unit.

To Assign Source and Destination Units:

1. Click the Source Unit button.

The Select Source Unit window appears.

2. From the Units list, select an appropriate source unit.

3. Click OK.

4. Click the Destination Unit button.

The Select Destination Unit window appears.

5. From the Units list, select an appropriate destination unit.

6. Click OK.

Page 139: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 125

Note Because of the relationship that connections have with units and their parent

transfer class, the source and/or destination units may not be changed. In order to

change the source and/or destination unit for a connection, the existing connection

must be deleted and a new connection must be created.

Assign Segments to Connections

Each connection may consist of zero, one, or more segments. A segment is a

subsection of a connection, and can be shared by more than one connection. The

use of segments is optional.

Before you can assign segments you must create them using the Segment editor.

For more information on creating segments, refer to “Edit Segments Tab” later in

this section.

To Assign a Segment:

Note If you have not assigned segments, the Segments list will be empty.

1. On the Connections tab, click the Assign Segments button.

The Assign Segments to Connection window will appear.

2. All available segments will be displayed in the Segments list box. Segments

that were previously assigned are selected by default. In the example shown,

the selected segments are being assigned to the Bulk Tank1 to ReactorA

connection.

3. Select the appropriate Segment(s) from the list.

4. Click OK.

Page 140: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

126 Chapter 4

Connection Tags

Each connection in a process model may have tags associated with it. Use the Edit

Connections Tags window to associate tags with a connection. Connection tags are

virtually identical to unit tags, except connection tags are associated with the

connections between units. All of the tags that are associated with a connection

must be entered using the Edit Connections Tags window.

A Connection tag consists of the following elements. Some elements are required,

while others are optional.

• Phase 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)

• Attribute (Optional, Select from available InTouch dot fields)

To Edit Connection Tags:

1. On the Connections tab, click the Tags button.

The Edit Connection Tags window will appear.

Page 141: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 127

Assigning Attributes to Connection Tags

Use the Assign Attribute Tags window to assign Attributes to Connection Tags. The

Assign Attribute Tags window contains a list of the available InTouch .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 Connection Tags:

1. On the Edit Connection Tags window, click the Attributes button.

The Assign Attribute Tags window will appear:

2. Select the desired attribute from the list.

3. Click Apply to associate the selected attribute with the Connection Tag.

4. Click Close to close the Assign Attribute Tags window.

Transfers Tab

Use the Transfers tab to define all of the transfer classes in your process model. A

transfer is a group of connections in which all of the source units have the same

process class and all of the destination units have the same process class.

Connections are assigned to transfers based on their source and destination units.

Unlike a connection, which cannot have the same source and destination unit

assigned, a transfer class may have the same source and destination process class

assignment.

To Display the Transfers Tab:

1. On the Process Modeling Editor window, click the Transfers tab.

The Transfers tab will appear.

Page 142: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

128 Chapter 4

All of the available Transfers in your process model are listed.

Editing Transfers

To Edit a Transfer:

1. In the Name box, enter a name for the transfer (8-char max).

2. In the Description box, you can optionally enter text describing the transfer

(120-char max).

Assign Source and Destination Process Classes

A transfer requires a source process class and a destination process class. Use the

Source Process Class and Destination Process Class buttons to make these

assignments. It is important to define descriptive transfer names. These names will

be referenced in the recipe procedure editor. Therefore, it will be helpful if the

selected names describe the purpose of the transfer.

There may be processing facilities where there is more than one type of connection

between the same two classes of equipment. This is shown in the example plant

earlier in this section. Reactors A and B are connected to their respective mix tanks

directly, as well as through a separator and a condenser. For all situations where two

units have more than one connection between them, each connection must be

assigned to a different transfer class.

Page 143: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 129

To Assign Source and Destination Process Classes:

1. Click the Source Process Class button.

The Select Source Process Class window appears.

2. From the Process Class list, select an appropriate process class.

3. Click OK.

4. Click the Destination Process Class button.

The Select Destination Process Class window appears.

5. From the Process Class list, select an appropriate process class.

6. Click OK.

Assign Connections

Each transfer class can have one or more connections assigned to it.

To Assign Connections to a Transfer:

1. On the Transfers tab, click the Assign Connections button.

The Assign Connections to Transfer window will appear.

Page 144: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

130 Chapter 4

All unassigned connections, and any connections previously assigned to a

transfer that have source and destination units belonging to the transfer’s

source and destination process class assignments, will be displayed in the list.

All previously assigned connections will be selected.

2. Select the appropriate connection(s) from the list.

3. Click OK to assign the connections to the transfer.

In the above example, the source process class is “Bulk Tanks” and the

destination process class is “Reactors.” The assignment window displays all of

the connections between the four bulk sources and both of the reactors because

the bulk sources are in the Bulk Tanks process class and the reactors are in the

Reactors process class.

Transfer Tags

Each transfer class may have tags associated with it. Use the Edit Transfer Tags

window to associate tags with a transfer class. All tags associated with a transfer

phase or common to all connections in the class must be entered using the Edit

Transfer Tags window.

Note It is important to remember that for every transfer tag created, connection

tags are automatically generated for each connection assigned to the class. These

connection tags, not the transfer tags, are associated to data points in the control

system. However, the transfer class tags are available to the recipe builder through

the transition logic expression builder.

A Transfer tag consists of the following elements. Some elements are required,

while others are optional.

• Phase Name (Optional, 12-char max)

• Parameter Name (Optional, 16-char max)

• Element Name (Required, 16-char max)

• Description (Optional, 120-char max)

• Data Class (Required, Analog, Discrete, String or Enumeration)

• Access Mode (Required, Either Read Only or Read/Write)

Page 145: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 131

To Edit Transfer Tags:

1. On the Transfers tab, click the Tags button.

The Edit Transfer Tags window will appear.

Assigning Attributes to Transfer Tags

Use the Assign Attribute Tags window to assign Attributes to Connection Tags. The

Assign Attribute Tags window contains a list of the available InTouch .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 Transfer Tags:

1. On the Edit Transfer Tags window, click the Attributes button.

The Assign Attribute Tags window will appear:

Page 146: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

132 Chapter 4

2. Select the desired attribute from the list.

3. Click Apply to associate the selected attribute with the Transfer Tag.

4. Click Close to close the Assign Attribute Tags window.

Edit Transfer Class Phases

Use the Edit Phases window to assign phases to a transfer class. Each transfer class

can have any number of phases. Transfer class phase types can be automatic,

manual or data. Automatic phases require control system phase logic while manual

phases and data phases are executed by the batch management system. It is

important to define descriptive phase names. These names will be referenced in the

recipe procedure editor. Therefore, it will be helpful if the selected names describe

the purpose of the phase.

Inputs (ingredients or raw materials) and outputs (intermediates, by-products, and

finished goods) are recorded to the historical database when transfers are executed.

Not all transfers should, or need to, be configured to record inputs or outputs. Some

transfer phases are strictly used to transfer product from one unit to another. Only

transfer phases that result in a raw material being added to a batch, or where

finished product, intermediate, or by-products are produced, should be configured

to record input usage or production output.

Defining a transfer class phase requires the entry of the following information.

• Phase Name (Required, 8-char max)

• Description (Optional, 120-char max)

• Phase Type (Required, Automatic, Semi-Auto, Manual or Data)

• Control Buttons (Optional, 2 available buttons)

• Interlocks (Optional, Available for all tags)

• Formula Parameters (Optional, Assign as required for the Phase)

• Save History (Optional, Save Control/Status Activity, and/or Parameter

Status)

• Phase Control/Status (Required for Automatic and Semi-Auto phases,

Select/Assign tags to the phase control and status bits)

Page 147: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 133

To Edit a Transfer Class Phase:

1. On the Transfers tab, click the Phases button.

The Edit Phases window will appear.

All Phases previously assigned to the Transfer Class will be listed.

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

section.

3. Click the Phase Type drop down arrow, and select Automatic, Semi-Auto,

Manual or Data as desired.

4. Click Add to include the phase in the list or clickChange if you have edited an

existing phase.

5. Configure additional phase options as described in the following text.

Save History

Use the Save History Control/Status Activity and Parameter Status check boxes

to configure the type of phase activity that will be stored in the history database. All

data stored in the history database is stamped with the time and date. You can

enable both check boxes if required. Use of this History feature is optional.

To Enable Save History Options:

1. In the Edit Phases window, enable the Control/Status Activity and/or

Parameter Status check box(es).

Enable the Control/Status Activity box to include all phase control and status

bit transitions.

Enable the Parameter Status box to include (when the phase is done) all

parameter element values, control button activity, and phase instructions.

2. Click Change.

Page 148: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

134 Chapter 4

Control Buttons

You can include Control Buttons as part of the user interface. The buttons are a

part of the selected transfer class phase. To use a control button, you must associate

a tagname with the desired button. Control buttons are not available for data type

phases.

For more information on Control Buttons, see “Transfer Phase Configuration” and

“Additional Phase Configuration” later in this section.

To Configure Control Buttons

1. On the Edit Phases window, click Control Buttons.

The Edit Phase Control Buttonswindow will appear.

2. Enable Button 1 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.

Page 149: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 135

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.

Phase Control/Status Bits

Use the Edit Phase Control/Status window to configure Phase Control and Phase

Status bits. To configure phase control and phase status bits, you must associate

tags from the transfer phase and transfer class. Phase Control/Status Bits are not

available for manual or data type phases.

For more information on Phase Control/Status bits, see “Transfer Phase

Configuration” and “Additional Phase Configuration” later in this section.

To Configure Phase Control/Status Bits:

1. On the Edit Phases window, click Phase Control/Status.

The Edit Phase Control/Status window will appear.

Page 150: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

136 Chapter 4

The window shows the configuration for the selected Transfer Class and Phase.

2. Configure the Phase Control and Phase Status bits as required.

For more information on Phase Control/Status bits, see “Transfer Phase

Configuration” and “Additional Phase Configuration” later in this section.

Interlocks

Use the Edit Transfer Interlocks window to configure interlocks for a transfer

phase. Interlocks are not available for data type phases.

For more information on configuring Interlocks, see “Transfer Phase

Configuration” and “Additional Phase Configuration” later in this section.

To Configure Interlocks:

1. On the Edit Phases window, click the Interlocks button.

The Edit Transfer Interlocks window will appear.

The window shows all of the available units in the transfer class and any tags

(process class/transfer) assigned to the selected unit.

Page 151: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 137

2. Click the Assign Tags button.

The Tag Selection window will appear.

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 Transfer

Interlocks window.

Page 152: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

138 Chapter 4

Formula Parameters

Use the Edit Formula Parameters window to configure formula parameters for a

transfer class phase.

For detailed information on configuring Formula Parameters, see “Transfer Phase

Configuration” and “Additional Phase Configuration” later in this section.

To Configure Formula Parameters:

1. On the Edit Phases window, click the Formula Parameters button.

The Edit Formula Parameters window will appear.

The window shows all of the Formula Parameter configuration for the selected

Transfer Class and Phase.

For detailed information on configuring Formula Parameters, see “Transfer Phase

Configuration” and “Additional Phase Configuration” later in this section.

Transfer Phase Configuration

There are four types of transfer phases; Automatic, Semi-Automatic, Manual, and

Data. The following section describe the phase types and provides examples to help

you understand how to configure transfer phases.

Page 153: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 139

Automatic and Semi-Automatic Transfer Phases

Automatic and semi-automatic transfer phases are executed in the control system.

Operator interaction can be a normal part of the process or may occur only when

abnormal situations arise. Operator actions might involve putting the phase in Hold

or entering parameter values while the phase is running. Enabling the operator to

change parameter values is defined when formula parameters are configured.

Automatic and semi-automatic transfer phases must have control system phase

logic, and therefore, must have Phase Control and Status Bits defined. Interlocks,

Control Buttons, and Formula Parameters are optional. The transfer phases that are

used to record inputs or outputs must have formula parameters configured.

When the batch management system encounters an automatic transfer phase with

an input type parameter, a bulk material addition is (typically) being made to the

batch. The batch management system finds the storage unit that holds the material

in the materials database, and determines which connection (i.e. which phase) to

execute in order to successfully complete the transfer. The batch management

system will update the material usage record in the materials database based on the

actual amount used.

For more information on material location assignments, see Chapter 6, "Materials

Editor."

When the batch management system encounters a semi-automatic transfer phase

with an input type parameter, typically a non-bulk material addition is being made

to the batch. Because the phase is semi-automatic, the operator must acknowledge

the start of the phase. Also, the batch management system will not search for the

location of the material in the materials database. However, if the material has been

assigned to a unit, the batch management system will update the material usage

record in the materials database based on the actual amount used.

The batch control system can be configured to handle many different automatic and

semi-automatic transfer phases. Described below are several examples that can be

configured. Most of the phase names correspond to the transferring capabilities

associated with the example plant referenced earlier. The DrumAdd and LoadBulk

phases are used only for example purposes.

1. Phase Name: BulkAdd (Automatic)

Raw materials stored in bulk units are transferred to other units in the plant.

Measurement of the actual amount transferred is made using a flow meter,

mass flow meter, or weigh scale. A record of the quantity added to the batch is

required.

2. Phase Name: Separate (Automatic)

Material is transferred through a separator from one unit to another unit. There

is no actual measurement of the by-product output of the separator, but a record

of this output is required.

3. Phase Name: Package (Automatic)

Finished product is transferred from a processing unit to a finished goods

package of some form. The operator initiates the start of the fill for each

package. Control of the transfer and measurement of the actual amount is

performed by the control system. A record of the finished product and the

number of packages are required.

Page 154: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

140 Chapter 4

4. Phase Name: Condense (Automatic)

Material is transferred from one unit to another through a condenser. There is

no record of material usage or production output.

5. Phase Name: Transfer (Automatic)

Material is transferred from one unit to another. There is no record of material

usage or production output.

6. Phase Name: LoadBulk (Automatic)

Finished product is transferred from a processing unit to a bulk unit (railroad

car, tanker, and storage tank). The operator is responsible for starting the

transfer. Control of the transfer and measurement of the quantity transferred is

performed by the control system. A record of the finished product output is

required.

7. Phase Name: DrumAdd (Semi-Automatic)

Material is transferred from a drum unload station to one unit. The operator

must acknowledge that the drum and pump are in place and properly connected

before the phase will execute. The drum unload station is used to add many

different materials.

Possible phase parameter configurations for the automatic and semi-automatic

transfer phase examples are shown in the following table.

Formula Parameter Configuration of Auto and

Semi-Auto Transfer Phases

There are three types of Formula Parameters: Input, Output, and Process

Variable. Process variable parameters represent setpoints, rates, etc. Input and

output parameters are used when material tracking is required. A specific data class

type must be assigned to each formula parameter. The available data class options

are Analog, Discrete, String and Enumeration. 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.

PhaseName Type

PhaseLogicRequired

PhaseControl/StatusParametersRequired

FormulaParameters

Interlocksand ControlButtons

BulkAdd Automatic Yes Yes Quantity As Needed

Separate Automatic Yes Yes Quantity As Needed

Package Automatic Yes Yes Quantity

Size

Count

As Needed

Condense Automatic Yes Yes None As Needed

Transfer Automatic Yes Yes None As Needed

LoadBulk Automatic Yes Yes Quantity As Needed

DrumAdd Semi-Automatic Yes Yes Quantity As Needed

Page 155: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 141

Input parameters have seven elements. The parameter name defines a family of

information. 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. Elements define the members of the family. The three elements for

output parameters are Target, Actual, and Material ID.

Process variables parameters have six elements. The parameter name defines a

family of information. Elements define the members of the family. The six elements

for process variable parameters are Target, Actual, High Deviation, Low Deviation,

High Limit, and Low Limit.

The configuration of the parameter type, data class, and elements is extremely

important. The batch management system will control a phase and interact with

both the control system and the operator based on the configuration of the

parameters. Described below is a detailed explanation of the results that can be

expected 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 if the target value is to be displayed during the

runtime execution of the phase. 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 phase. Typically, the phase logic

will use the target value to determine when to end the phase.

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:

1. Select the Enable Display if the actual value is to be displayed during the

runtime execution of the phase. 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 phase.

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.

Page 156: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

142 Chapter 4

High and Low Deviation Elements

The high and low deviation elements are available for analog process variable

parameters and analog input parameters. If tags are assigned, the batch management

system calculates and writes the deviation values to the control system prior to the

start of the phase. Deviations are recalculated whenever changes are made to the

target or to the deviation elements. The high and low deviation elements are

expressed as real numbers representing a percentage of the target value. For

example, assume that the target value is 200, the high deviation is 3%, and the low

deviation is 5%. The values that are downloaded to the control system are; a high

deviation value of 6 and a low deviation value of 10.

The high and low deviation elements are configured as follows:

1. Select the appropriate Enable Display if either of the element values is to be

displayed during the runtime execution of the phase. Typically, the phase logic

uses the deviations to establish alarm limits or an acceptable phase completion

range for the actual value of the parameter.

2. If the operator is allowed to modify either of the deviation values, enable the

Edit Allowed check box.

3. If the operator must modify either of the deviation values, 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 phase.

The high and low limit elements are configured as follows:

1. Set the appropriate Enable Display if either of the element values are to be

displayed during the runtime execution of the phase.

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. Set the Enable Display if the preact value is to be displayed during the runtime

execution of the phase.

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

Lot Code Element

The lot code element is available for analog input parameters and is configured as

follows:

Page 157: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 143

1. Set the Enable Display if the lot code value is to be displayed during the

runtime execution of the phase.

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

Material ID Element

The material id element is available for analog input and output parameters and is

configured as follows:

1. Set the Enable Display if the material id value is to be displayed during the

runtime execution of the phase.

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.

Formula parameter configurations for the automatic and semi-automatic

transfer phase examples presented earlier are shown in the following table.

Phase Name

Parameter

Name

Parameter

Type

Assign

Tag

Enable/

Display

Edit

Allowed

Edit

Required

Target Element

a) BulkAdd Quantity Input Yes Yes Yes No

b) Separate Quantity Output No Yes Yes No

c) Package Quantity Output Yes Yes Yes No

Size Process Variable Yes Yes Yes No

Count Process Variable No Yes Yes No

d) Condense N/A N/A N/A N/A N/A N/A

e) Transfer N/A N/A N/A N/A N/A N/A

f) LoadBulk Quantity Output Yes Yes Yes No

g) DrumAdd Rate Process Variable Yes Yes Yes No

Actual Element

a) BulkAdd Quantity Input Yes Yes Yes No

b) Separate Quantity Output No No No No

c) Package Quantity Output Yes Yes No No

Size Process Variable Yes Yes No No

Count Process Variable Yes Yes No No

d) Condense N/A N/A N/A N/A N/A N/A

e) Transfer N/A N/A N/A N/A N/A N/A

f) LoadBulk Quantity Output Yes Yes No No

g) DrumAdd Rate Process Variable Yes Yes No No

Page 158: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

144 Chapter 4

High and Low Deviation Elements

a) BulkAdd Quantity Input Yes Yes No No

b) Separate Quantity Output Yes Yes No No

c) Package Quantity Output Yes Yes No No

Size Process Variable Yes Yes No No

Count Process Variable Yes Yes No No

d) Condense N/A N/A N/A N/A N/A N/A

e) Transfer N/A N/A N/A N/A N/A N/A

f) LoadBulk Quantity Output Yes Yes No No

g) DrumAdd Rate Process Variable Yes Yes No No

High and Low Limit Elements

a) BulkAdd Quantity Input N/A N/A N/A N/A

b) Separate Quantity Output N/A N/A N/A N/A

c) Package Quantity Output N/A N/A N/A N/A

Size Process Variable Yes Yes N/A N/A

Count Process Variable Yes Yes N/A N/A

d) Condense N/A N/A N/A N/A N/A N/A

e) Transfer N/A N/A N/A N/A N/A N/A

f) LoadBulk Quantity Output N/A N/A N/A N/A

g) DrumAdd Rate Process Variable Yes Yes Yes No

Preact Element

a) BulkAdd Quantity Input Yes Yes No No

b) Separate Quantity Output No No No No

c) Package Quantity Output N/A N/A N/A N/A

Size Process Variable N/A N/A N/A N/A

Count Process Variable N/A N/A N/A N/A

d) Condense N/A N/A N/A N/A N/A N/A

e) Transfer N/A N/A N/A N/A N/A N/A

f) LoadBulk Quantity Output N/A N/A N/A N/A

g) DrumAdd Rate Process Variable N/A N/A N/A N/A

Lot Code Element

a) BulkAdd Quantity Input No Yes Yes Yes

b) Separate Quantity Output No No No No

c) Package Quantity Output N/A N/A N/A N/A

Size Process Variable N/A N/A N/A N/A

Count Process Variable N/A N/A N/A N/A

d) Condense N/A N/A N/A N/A N/A N/A

e) Transfer N/A N/A N/A N/A N/A N/A

f) LoadBulk Quantity Output N/A N/A N/A N/A

g) DrumAdd Rate Process Variable No No No No

Material Id Element

Phase Name

Parameter

Name

Parameter

Type

Assign

Tag

Enable/

Display

Edit

Allowed

Edit

Required

Page 159: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 145

Manual and Data Transfer Phases

Manual transfer phases are used to model manual material transfer activities in the

process. Many processes are not completely automated and may require an operator

to add materials to a batch by hand, or type in a lot code, or acknowledge the

completion of the phase.

Data transfer phases may be used to interface to external systems which cannot

implement the formal phase logic that the automatic phase requires.

Manual and data phases do not have control system phase logic, and therefore, do

not have tag assignments for Phase Control/Status Bits or Interlocks. The use of

Control Buttons are optional with manual phases. Formula parameters can

optionally be assigned to either type of phase.

Manual and data phases are executed by the batch management system. All manual

transfer phases must be acknowledged by the operator before they are considered

done by the batch system. Acknowledgement can only be accomplished once all of

the phase edit and comment requirements have been satisfied. Data transfer phases

do not require operator acknowledgement.

The batch control system can be configured to handle many different manual and

data transfer phases. The following examples demonstrate several manual and data

phase configurations. The phase names are used only for example purposes.

1. Phase Name: ScaleAdd (Manual)

Material is weighed on a scale that is attached to the control system. The

operator is required to enter the lot code for the material. When the weight,

which is being updated on the Batch Display, is within the acceptable range,

the operator depresses the acknowledge button. The operator then manually

transfers the material to the appropriate processing unit.

2. Phase Name: ManAdd (Manual)

Material is weighed on a scale that is not attached to the control system. The

operator must enter the actual weight, press the acknowledge button when the

weight is acceptable, and then manually transfer the material to the processing

unit.

a) BulkAdd Quantity Input Yes Yes Yes No

b) Separate Quantity Output No No No No

c) Package Quantity Output Yes Yes No No

Size Process Variable Yes Yes No No

Count Process Variable Yes Yes No No

d) Condense N/A N/A N/A N/A N/A N/A

e) Transfer N/A N/A N/A N/A N/A N/A

f) LoadBulk Quantity Output N/A N/A N/A N/A

g) DrumAdd Rate Process Variable Yes Yes No No

Phase Name

Parameter

Name

Parameter

Type

Assign

Tag

Enable/

Display

Edit

Allowed

Edit

Required

Page 160: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

146 Chapter 4

3. Phase Name: AckAdd (Manual)

Materials are pre-weighed prior to the execution of the final production batch.

As materials are added, the operator acknowledges each addition. The Batch

Manager records the material usage by using the target value as the actual

value.

4. Phase Name: PartsAdd (Manual)

The material addition may have two parts. For example, 60 pounds of salt must

be added, and salt comes in 50 pound bags. A scale is attached to the control

system.

One 50-pound bag is added to the batch. The operator enters 50 as the actual

value, enters the material lot code, and then acknowledges that the phase is

complete. The Batch Manager will treat this as a partial addition.

The remaining material (10 lbs) is weighed on the scale. When the weight is

within the tolerances, the operator enters the material lot code and then

acknowledges that the phase is complete.

5. Phase Name: Fill (Manual)

Material is transferred from a bulk source to a finished goods container where

the operator manually controls the transfer.

6. Phase Name: External (Data)

This phase reads and writes information to an external system. Target values

are writes, Actuals are reads.

The following table shows the valid phase parameter configurations for the manual

and data transfer phase examples described in this section.

Phase Name

PhaseLogicRequired

PhaseControl/StatusParametersRequired

FormulaParameters

Interlocks andControl Buttons

ScaleAdd No No Quantity No Interlocks

Control Buttons As

Needed

ManAdd No No Quantity No Interlocks

Control Buttons As

Needed

AckAdd No No Quantity No Interlocks

Control Buttons As

Needed

PartsAdd No No Quantity No Interlocks

Control Buttons As

Needed

Fill No No Quantity No Interlocks

Control Buttons As

Needed

External No No as needed N/A

Page 161: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 147

Formula Parameter Configuration of Manual and

Data Transfer Phases

The formula parameters that are available for manual and data transfer phases are

exactly the same as those described earlier for automatic and semi-automatic

transfer phases.

For more information on configuring formula parameters for manual or data

transfer phases, see “Formula Parameter Configuration of Automatic and Semi-

Automatic Transfer Phases” earlier in this section.

All of the parameter types, data class options, and element alternatives are the same

for automatic, semi-automatic, manual and data transfer phases. Formula parameter

configurations for the manual and data transfer phase examples given earlier are

shown in the following table.

Phase NameParameterName

ParameterType

AssignTag

Enable/Display

EditAllowed

EditRequired

Target Element

a) ScaleAdd Quantity Input No Yes No No

b) ManAdd Quantity Input No Yes No No

c) AckAdd Quantity Input No Yes No No

d) PartsAdd Quantity Input No Yes No Yes

e) Fill N/A N/A N/A N/A N/A N/A

f ) External varies varies Yes N/A N/A N/A

Actual Element

a) ScaleAdd Quantity Input Yes Yes Yes No

b) ManAdd Quantity Input No No No Yes

c) AckAdd Quantity Input No Yes No No

d) PartsAdd Quantity Input No No No Yes

e) Fill N/A N/A N/A N/A N/A N/A

f ) External varies varies Yes N/A N/A N/A

High and Low Deviation Elements

a) ScaleAdd Quantity Input No Yes No No

b) ManAdd Quantity Input No Yes No No

c) AckAdd Quantity Input No Yes No No

d) PartsAdd Quantity Input No Yes No No

e) Fill N/A N/A N/A N/A N/A N/A

High and Low Limit Elements

a) ScaleAdd N/A N/A N/A N/A N/A N/A

b) ManAdd N/A N/A N/A N/A N/A N/A

c) AckAdd N/A N/A N/A N/A N/A N/A

d) PartsAdd N/A N/A N/A N/A N/A N/A

e) Fill N/A N/A N/A N/A N/A N/A

Preact Element

a) ScaleAdd Quantity Input No No No No

Page 162: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

148 Chapter 4

Segments Tab

Use the Segments tab to define, edit and delete segments in your process model.

Segment names must be unique. If you attempt to enter a duplicate segment name, a

message box will be displayed, indicating that the segment already exists. If you

attempt to delete a segment that is assigned to a connection, a warning message will

be displayed. Deleting segments can affect other portions of your process model.

To Display the Segments Tab:

1. On the Process Modeling Editor window, click the Segments tab.

The Segments tab will appear.

b) ManAdd Quantity Input No No No No

c) AckAdd Quantity Input No No No No

d) PartsAdd Quantity Input No No No No

e) Fill N/A N/A N/A N/A N/A N/A

Lot Code Element

a) ScaleAdd Quantity Input No Yes Yes Yes

b) ManAdd Quantity Input No Yes No Yes

c) AckAdd Quantity Input No No No No

d) PartsAdd Quantity Input No Yes No Yes

e) Fill N/A N/A N/A N/A N/A N/A

Material Id Element

a) ScaleAdd Quantity Input No No No No

b) ManAdd Quantity Input No No No No

c) AckAdd Quantity Input No No No No

d) PartsAdd Quantity Input No No No No

e) Fill N/A N/A N/A N/A N/A N/A

Phase NameParameterName

ParameterType

AssignTag

Enable/Display

EditAllowed

EditRequired

Page 163: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 149

All of the segments that have been defined for the process model will appear in

the Segments list.

To Edit a Segment:

1. On the Segment tab, enter or edit the Name (8-char max) and optional

Description (120-char max).

2. Click Add to include the segment in the process model or click Change if you

are editing an existing Name or Description.

For more information on assigning segments to connections, see “Assign Segments

to Connections” earlier in this section.

Equipment Status Tab

Use the Equipment Status tab to define, edit and delete process model statuses for

units and segments. 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

Page 164: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

150 Chapter 4

Equipment statuses represent the various states that a unit or segment 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 and segments. All status changes are recorded in the historical database.

There is a system tag that is automatically generated for each unit and/or segment

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 or connection.

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.

The availability of a connection is determined by the current status of all of the

segments that comprise the connection. If a connection does not contain one or

more segments, the connection is always available.

To Display the Equipment Status Tab:

1. On the Process Modeling Editor window, click the Equipment Status tab.

The Equipment Status tab will appear.

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

the Status list.

Page 165: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 151

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.

Page 166: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

152 Chapter 4

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.

Page 167: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 153

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

Page 168: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

154 Chapter 4

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). By default, the Value is automatically assigned.

5. Click Add to include the Name and Value in the process model or click

Change if you are editing an existing Enumeration.

Page 169: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 155

Additional Phase Configuration

The following section describes how to configure phases using Control Buttons and

Phase Control/Status bits.

Edit Control Buttons

Control buttons can be used to execute any special function required during a

phase. The Control buttons become available to the operator on the Batch Display.

Control buttons act as momentary push-buttons, therefore the phase logic must be

written accordingly.

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 phase is executed.

Assign Tags to Buttons

Tag assignments are made by first selecting a control button (radio button) on the

Edit Phase Control button window, and then clicking theAssign Tag button. This

will cause the Tag Selection window to appear. A list of available discrete process

or transfer 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 phase is executed. The Clear Tag button will clear the assigned tag

from the selected control button.

Phase Control/Status Bits

There are eleven possible phase control and status bits. These tags are created and

assigned only when defining automatic process phases and automatic or semi-

automatic transfer phases. These tags define the structured interface that will exist

between the selected phase and the control system. The batch management system

is responsible for manipulating the phase control tags. The control system is

responsible for manipulating the phase status tags. The batch management system

and the control system must work together to successfully execute the phase. There

are two approaches to creating and assigning tags for the phase control and status

tags: Automatic and Manual.

Automatic Tag Creation and Assignment

There are several ways to automatically create phase control and status tags. The

options are described in this section.

Page 170: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

156 Chapter 4

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

Page 171: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 157

Example – Automatic Tagnames

Process Class: Reactors

Phase Name: Heat

Given the above Process Class and Phase Names, the tagnames shown in the

following table will be created.

Manual Tag Creation and Assignment

Manually creating and assigning phase 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” or “Edit

Transfer 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 or

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

Edit Interlocks

An interlock is a condition that prevents the execution of a phase. This could be a

process alarm condition or an open valve. A phase 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 phase on the Batch Display. This allows

operators to quickly and easily identify and fix the interlocks that are preventing a

phase from executing.

Process Class Phase Tagname

Reactors Heat Reactors-Heat-CS.START

Reactors Heat Reactors-Heat-CS.HOLD

Reactors Heat Reactors-Heat-CS.RSTRT

Reactors Heat Reactors-Heat-CS.ABORT

Reactors Heat Reactors-Heat-CS.RESET

Reactors Heat Reactors-Heat-CS.READY

Reactors Heat Reactors-Heat-CS.RUN

Reactors Heat Reactors-Heat-CS.HELD

Reactors Heat Reactors-Heat-CS.DONE

Reactors Heat Reactors-Heat-CS.ABRTD

Reactors Heat Reactors-Heat-CS.INTLK

Page 172: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

158 Chapter 4

Assign Tags

Interlock assignments are made to each phase in a class using Unit and Connection

tags.

An assignment is made by selecting the required unit or connection and then

clicking the Assign Tags button.

Page 173: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 159

In the Tag Selection window, select phase interlock tags. The Tags list in the Edit

Processes (or Transfers) window will display the assigned tag(s).

Edit Formula Parameters

Formula parameters represent all of the configurable information that a phase needs

to execute properly. Formula parameters are placeholders for values. Values are

assigned in the recipe editor when the phases are used in a recipe procedure. Values

are used by the batch management system in specific ways when recipes are

executed. Phase 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 and Transfer phases 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)

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.

Page 174: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

160 Chapter 4

Note The Data Class radio button can be used to change the data class of a process

variable. If the user changes the data class by accident and answers no to the dialog

prompt, the radio button may not reset to the true data class. Users should reselect

the correct data class in this situation.

6. Parameter Elements (Optional)

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

Each parameter element can be assigned to a tag. Tags are either automatically

created and assigned, or they are manually created and assigned.

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 phase. An

Acknowledge on Entry setting used in conjunction with an Edit Allowed

target element can be used to effectively represent an edit that is required prior

to the start of the phase.

7. Element Default Values (Optional)

Parameter Type Assignable Data Classes

Process Variable Analog, Discrete, String, Enumeration

Input Analog

Output Analog

ParameterType

Elements(Analog DataClass)

Elements(Discrete DataClass)

Elements(String DataClass)

Elements(EnumerationData Class)

Process

Variable

Target

Actual

High Deviation%

Low Deviation%

High Limit

Low Limit

Target

Actual

Target

Actual

Target

Actual

Input Target

Actual

High Deviation%

Low Deviation%

Preact

Not Allowed Not Allowed

Lot Code

Material Id

Not Allowed

Output Target

Actual

Not Allowed Not Allowed

Material Id

Not Allowed

Page 175: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 161

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 only process tags if you are configuring a process phase. If

you are configuring a transfer phase, the list will only include transfer 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.

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 phase is used in a recipe procedure.

Page 176: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

162 Chapter 4

Formula Parameter Examples

This section provides several examples of formula parameter configurations.

The following example is an Analog Process Variable parameter.

The following example is a Discrete Process Variable parameter.

Page 177: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 163

The following example is a String Process Variable parameter.

Page 178: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

164 Chapter 4

The following example is an Enumeration Process Variable parameter.

The following example is an Input parameter.

Page 179: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Modeling 165

The following example is an Output parameter.

Page 180: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

166 Chapter 4

Page 181: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 167

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 allows you to link InBatch tags with an I/O Server, link InBatch tags

with InTouch tags, and 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

Page 182: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

For more information on browsing and referencing remote InBatch tags from

InTouch, see Chapter 19, "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, connection, and segment 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.

Model

Editor

Configuration

Link

Database

Tag

LinkerXXX.csv

File

DBLOAD

(Optional)InTouch

Tagname

Dictionary

InTouch

Export

InTouch

InBatch

Configuration

Model

Database

Page 183: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 169

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 or Segment---

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.

TIM Tags provide batch and recipe related information to a batch client such as an

InTouch application using InBatch wizards.

For more information on TIM Tags, see Chapter 22, "Tag Interface Management

(TIM) System."

Batch Function Tags are a set of tags that provide a custom interface to special

InBatch batch management functions. These tags are not required unless

customized batch management operation is required

For more information on Batch Function Tags, see Chapter 22, "Tag Interface

Management (TIM) System."

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.

Page 184: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 185: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 171

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_max

long InBatch internal tag id (READ-ONLY)

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

3 Data Class Analog, Discrete

String

enum Tag data class (READ-ONLY)

4 DataAccess ReadOnly,

ReadWrite

enum Tag read/write characteristics

(READ-ONLY)

5 Link Type Item,TagName,

or Memory

enum Link type specifier (READ-WRITE)

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

Type of "Link" (READ-WRITE)

Page 186: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

172 Chapter 5

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.

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,

Export

enum Tag export flag. (READ-WRITE)

10 Min Raw long_min,

long_max

double Tag minimum raw value. Applicable to tags with

Data Class Analog. Value = 0 if not relevant.

(READ-WRITE)

11 Max Raw long_min,

long_max

double Tag maximum raw value. Applicable to tags

with Data Class Analog. Value = 0 if not

relevant. (READ-WRITE)

12 Min Scaled long_min,

long_max

double Tag minimum scaled raw value. Applicable to

tags with Data Class = "Analog". Value = 0 if not

relevant.

(READ-WRITE)

13 Max scaled long_min,

long_max

double Tag maximum scaled raw value. Applicable to

tags with Data Class = "Analog". Value = 0 if not

relevant.

(READ-WRITE)

14 Data Type Float, Integer,

or empty

enum Tag actual data type. Applicable to tags with

Data Class ="Analog". Empty if not

relevant.(READ WRITE)

Column Identity Range/Length Type Description

Page 187: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 173

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.

Page 188: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 189: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 175

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.

View Menu

The Tag Linker Viewmenu 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.

Page 190: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

176 Chapter 5

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.

Help Menu

The Tag LinkerHelpmenu 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.

Page 191: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 177

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.

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.

Page 192: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

178 Chapter 5

The View Filter Selection window lists all of the Units, Connections and

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

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.

Page 193: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 179

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 19, "InTouch Batch Tag Browsing and

Referencing."

Scaling Options

Page 194: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

180 Chapter 5

The Scaling Options area applies to analog tags only.Min Raw andMax 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.

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,

TIM Tags and Batch Function Tags check boxes, and an Output Path/Filename.

Page 195: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 181

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.

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.

When you are using InBatch Wizards, you must enable the TIM Tags selection

button and then enter the Number of Clients that will be served. The Number of

Clients parameter is ultimately used at runtime by the batch management system. It

specifies how many InTouch applications potentially require access to the batch

information for the selected Client Type. To differentiate each set of TIM Tags

within InBatch, the batch management system appends an instance number to the

Client Type name.

For example, if two InTouch nodes utilize the same client type; that is, the same

tags, then the Number of Clients should be set to 2. This instance number must be

used within InTouch as well to point InTouch to the appropriate set of TIM Tags

assigned to that node. The Access Name and the IB_TIM_ACCESS_TAG tag in

the InTouch application are used to make this designation. The values for this

access name and tag must contain the Client Type name with appropriate instance

number appended. The diagram below shows the InTouch definition required for

the second node in this example.

Page 196: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

182 Chapter 5

If you are using Batch Function Tags, enable the Batch Function Tags check box.

Batch function tags are used to access strategic points, or hooks, within the

execution of the batch management system by way of InTouch scripts. There are

five hook points.

For more information on how to use the Batch Function Tags, see Chapter 22, "Tag

Interface Management (TIM) System."

WARNING! Only enable the Batch Function Tags for one client. This client is

then responsible for managing these tags.

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.

Hook Description

Phase Prepare Called at the beginning of every phase.

Phase Prepare Called at the end of every phase.

Evaluate Equipment for Allocation Called before units and connections are allocated.

Log Equipment Status Called when the status of a unit or segment changes.

Equipment Allocation Changes Called whenever a unit or connection becomes allocated or

released.

Page 197: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 183

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.

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. Select TIM Tags for export to the client.

5. Define an Output Path/Filename.

6. Add the Client Type.

7. Select the File/Validate menu option.

This validates the list of tags to be exported.

8. Select the File/Simulation Export menu option.

The Export Results dialog will be displayed showing the progression and

status of the export.

9. Load the .csv file into InTouch using the DBLOAD utility.

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.

IB_TIM_TAGS IBSERV View1 Access for imported TIM Tags.

IB_DEVFUNC_TAGS IBFSERV View Access for imported Batch Function Tags.

Page 198: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

184 Chapter 5

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. Select TIM Tags for export to the client.

9. Define an Output Path/Filename.

10. Add the Client Type.

11. Select the File/Validate menu option.

12. This validates the list of tags to be exported.

13. Select the File/Runtime Exportmenu option.

The Export Results dialog will be displayed showing the progression and

status of the export.

14. Load the .csv file into InTouch using the DBLOAD utility.

Page 199: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Linker 185

Control System Interfacing Example

This section provides guidelines for interfacing with a PLC. The guidelines assume

that you have a functional simulation system and that the system has a server and at

least one client. Each client should be configured to access TIM Tags by way of

Wizards.

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.

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

Page 200: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

186 Chapter 5

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.

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

Page 201: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Materials Editor 187

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

• Using the Material Location Assignment 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.

Page 202: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

188 Chapter 6

Page 203: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Materials Editor 189

Using the Materials Status Window

Managing materials requires three components; theMaterials Status window, the

Materials Editor, and the Material Location Assignment Editor. TheMaterials

Status window is used for viewing the name, unit of measure, total quantity, and

characteristics of all materials defined in the database. TheMaterials Editor

window is used to define and/or edit materials in the database. TheMaterial

Location Assignment Editor window is used to assign unit storage locations and

production tracking information to materials in the database.

Starting the Materials Status Window

To Start the Materials Status Window:

1. Double-click theMtlEdit icon in Environment Display.

2. TheMaterials 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 in the database, the list will be empty.

To View Material Status:

1. Click theMaterials 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.

Page 204: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

190 Chapter 6

2. From theMaterials list, select a Material ID.

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

consists of verifying that all of the units assigned to the materials exist within the

process model.

message will be displayed indicating that the materials configuration is valid. If

validation errors exist, the associated tags will be displayed as an error message.

Correcting Validation Errors

A validation error will occur when a unit to which a material had been previously

assigned no longer exists in the process model. This is corrected by reassigning a

valid unit or by removing the invalid unit assignment from the associated

material(s). The necessary steps for these corrections are described below.

To Reassign a Valid Unit

1. Select the Material ID from the Materials Status window.

2. Use the Edit/Materials Locations menu to access theMaterial Location

Assignment Editor. When the invalid unit is selected, you will see a Record

Not Found! error message.

3. Acknowledge the error.

4. Click the Delete button to remove the invalid unit assignment.

5. Click the Add button and then select a valid unit from the Unit Selection

window.

6. If other materials have invalid unit assignments, perform the above steps for

each material.

To Remove a Unit Assignment

1. Select the Material ID from the Materials Status window.

2. Use the Edit/Materials Locations menu to access theMaterial Location

Assignment Editor. When the invalid unit is selected, you will see a Record

Not Found! error message.

3. Acknowledge the error.

4. Click the Delete button to remove the invalid unit assignment.

Page 205: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Materials Editor 191

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.

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.

Page 206: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

192 Chapter 6

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.

Page 207: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Materials Editor 193

Edit Menu

Use the Edit menu to access theMaterials Editor and theMaterials Location

Assignment Editor.

Edit/Materials Editor

Use the Edit/Materials Editor command to display theMaterials Editor window.

For more information on the Materials Editor, see “Using the Materials Editor” on

page 196 later in this section.

Edit/Material Locations

Use the Edit/Material Locations command to display theMaterial Location

Assignment Editor window.

For more information on editing Material Locations, see “Using the Material

Location Assignment Editor” on page 198 later in this section.

View Menu

Use the Materials Status View menus to view a list of the materials that are assigned

to units. You can also use the menu 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/Assigned Units

Use the View/Assigned Units menu to display a list of all of the Unit to Material

assignments.

To View Assigned Units:

1. On the menu bar, click View and select Assigned Units.

2. The Assigned Units window will appear.

All of the Unit assignments, material Type andMaterial ID are listed.

3. Click Close to close the Assigned Units window.

Page 208: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

194 Chapter 6

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

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.

Page 209: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Materials Editor 195

3. In theMaterial 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 theMaterials Status Help menu to 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 Materials

Status.

To View the Help Topics for Materials Status:

1. From theMaterials Status Display file menu, select Help and then clickHelp

Topics.

2. The Help Topics window will appear.

Help/About Materials Status

Use the Help/About command to view Version information.

To View Help About Topics for Materials Status:

1. On the Materials Statusmenu bar, select Help and then click Help About

Materials Status.

2. The About Materials Status window will appear.

3. Click OK to close the window.

Page 210: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

196 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 theMaterials Status menu bar, click Edit, and then selectMaterials

Editor.

2. TheMaterials Editor window will appear.

Page 211: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Materials Editor 197

To Define a Material:

1. In theMaterials Editor, click theMaterials 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 theMaterials Editor, select aMaterial Type andMaterial ID.

Page 212: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Using the Material Location Assignment Editor

Use the Material Location Assignment Editor to log the location of bulk ingredients

as they are received and unloaded into storage units, such as silos or tanks. This

requires the assignment of a process model unit, the entry of production tracking

information, and the definition of specific characteristic values for each production

tracking record.

Materials Location Assignment Editor is for a specific Material ID which is

selected from the Materials Status window.

Material Location Assignment Editor provides the capability to essentially layer

materials on top of one another within a unit. By default, materials are used on a

first-in, first-out (FIFO) basis. During batch execution, the batch management

system decrements the quantity used and stores the usage and tracking

identification data to history for all phases with input formula parameters. If the

usage involves more than one lot of material, each lot and its respective usage are

logged. When a lot of material is consumed, its lot tracking record is automatically

removed from the database.

Note The default FIFO material usage can be changed to last-in, first-out (LIFO)

by assigning the LIFO Materials application parameter to Batch Manager in the

Environment Editor.

The batch management system will also add lot tracking records for all materials

produced in batches by phases that have output formula parameters. These

materials can then be consumed by subsequent phases with input parameters.

Note The Materials Editor does not require that lot tracking information be

defined for all materials used in production. The batch management system will

record the lot tracking information to the historical database if this information is

defined, but if the information is not defined, the batch management system will

still execute all batches using the material.

Assign a Material to a Unit

Each material in the materials database may be assigned to one or more units

defined in the process model. Normally, this assignment is made only for the bulk

ingredients and intermediates that are associated with a location. The batch

management system uses the unit assignments to obtain the location of a material

during automatic transfer phases.

Page 213: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Materials Editor 199

Define Lot Tracking Information

You can enter lot tracking information for each unit assigned to a material. Lot

tracking information consists of the following elements.

• Campaign Lot Batch (16-chars max) – You must define at least one of these

fields.

• Date Received -By default, this is the current date. You can change it as

required.

• Quantity - less than or equal to 9,999,999,999,999,999.

• Characteristics - For every lot tracking record, a Name (16-char max) and an

Actual Value may be entered for any characteristic defined for the material. In

actual production this allows each shipment of a material to have a specific

characteristic value assigned. You can use the Materials Editor to change the

default characteristic value.

To Start the Material Location Assignment Editor:

1. On the Materials Status menu bar, click Edit, and then selectMaterial

Locations.

2. TheMaterial Location Assignment Editor window will appear.

Page 214: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

200 Chapter 6

To Assign a Material to a Unit:

1. On theMaterials Status window, select a Material ID.

2. On theMaterial Location Assignment Editor, click the Add button.

3. The Unit Selection window will appear.

Page 215: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Materials Editor 201

4. Select a unit from the list.

The listed items are units that have been previously entered in the process

model that are not currently assigned to a material.

5. Click Add.

The selected unit will appear in the Unit Assignment list of the Material

Location Assignment Editor.

Note The Materials Editor uses the contents of the runtime process model

database. It may be necessary to perform an Update/Runtime from Environment

Display in order for the Unit Selection window to show the correct list. If the list is

empty, it is likely that you need to perform an Update/Runtime.

To Assign Lot Tracking Information:

1. Enter a Campaign, Lot and Batch (16-char max) as required for the selected

Unit Assignment.

You must specify at least one of the above elements.

2. Enter the Date Rcvd and Quantity.

3. Click Add.

To Assign an Actual Value to a Unit Assignment:

1. In the Actual Value field, enter a value for the Characteristic.

If the selected unit in the Unit Assignments list does not have a defined

characteristic, you will not be able to enter an Actual Value.

2. Click Change to apply your entry.

Page 216: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

202 Chapter 6

Page 217: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 203

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, Recipe

Editor supports all three sublevels of the recipe procedure.

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.

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

• Header

• Equipment Requirements

• Formula

• Building a Recipe Procedure

• Building Recipes in a Connectionless Process Model

Overview

A recipe consists of four parts. They are the Header, the Equipment Requirements,

the Formula, and the Procedure.

Page 218: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

204 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 destination units available

for a given transfer. There may be times when you want to give an operator the

flexibility to select a destination 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 and transfer phases associated

with the process classes defined in the equipment requirements. These are the only

phases that you can use to build a recipe procedure.

Process and Transfer Instances

In addition to specifying process classes, specific instances of each process class

can be defined. You must define process multiple instances when your recipe

procedure uses more than one unit of the same 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.

Page 219: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 205

Normally, whenever you define process instances, you would also define all of the

resulting transfer instances. Defining multiple instances allows the recipe builder to

simultaneously process-in or transfer-to multiple units within the same process

class. A process instance can have a specific attribute range or it can have a specific

unit assignment. This gives the recipe builder the ability to create equipment

independent or dependent recipes.

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 procedure is constructed using unit procedures, operations, phases,

transition logic, branch objects, and loop objects. Unit Procedures are associated

with a process instance and are defined in the recipe. Operations provide a

convenient way of grouping the phases that are associated with the recipe.

Operations are defined during recipe construction. Phases are defined when you

create the process model.

Page 220: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

206 Chapter 7

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

provides the ability to redirect the execution of a procedure based on the result of a

Boolean expression. Expressions can be constructed using process class and/or

instance tags, transfer class and or instance tags, and 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.

allow the recipe builder to execute simultaneous unit procedures, operations and

phases, execute one of many unit procedures, operations or phases, and execute

operations simultaneously on two or more units.

allow the recipe builder to re-execute unit procedures, operations and phases based

on an evaluated transition logic expression.

Unit Procedures

A Unit Procedure is a process action consisting of one or more operations. The Unit

Procedure names are defined by the recipe builder. A process instance must be

assigned to each Unit Procedure created. All process phases associated with the

assigned process instance, and all transfer phases associated with a transfer instance

that has the assigned process class as either its source or destination class, can be

used to define the unit procedure. Some examples of unit procedures and associated

process class instances are provided in the following table.

Operations

An Operation is an independent process action which identifies one or more phases.

The operation names are defined by the recipe builder. Defining an operation

simply requires the assignment of a name. Some examples of operations are

provided in the following table.

Unit Procedure Name Process Instance Assignment

Blend Blenders

Process Reactors

Process ReactorA

Sample Reactors

Sample ReactorA

Manual Addition Mix Tanks

Bulk Addition Bulk Tanks

Liquid Addition Blenders

Discharge Pack Stations

Operation Name

Add and Process

Transfer-MixTank

Page 221: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 207

Phases

A phase is an independent processing action. Automatic and semi-automatic phases

are executed by the control system using Phase Logic. Phase logic is constructed in

a manner where it is automatically configured through phase parameters and

enabled and monitored by the batch management system when recipes are

executed.

Manual and data phases have no phase logic and are executed by the batch

management system. Typically, a manual phase is used to instruct an operator to

perform a function such as manually adding an ingredient, or performing a test

sample. A data phase may be used to read or write values to the control system or

an external device with operator interaction or formal phase logic.

Fill and Package

Transfer-RecvTank

Operation Name

Page 222: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

208 Chapter 7

Some recipe procedures require the acknowledgment of certain conditions by an

operator before a phase can be executed. A recipe procedure may also require an

operator to acknowledge the completion of a phase. 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.

Several examples of process and transfer phases are provided in the following table.

In addition to the types of phases previously described, there are two special phases

that can be used at any time in a recipe procedure to reserve ownership of specific

units or connections to a batch. These phases are named Allocate and Release.

When a unit or connection is allocated, it is owned by the batch until it is either

released as part of the recipe procedure or the batch finishes, or an operator

manually releases it.

Parameters

You can use Formula Parameters to further define the execution of a phase.

Formula parameters are defined in the process model editor. There are three types

of parameters:Inputs, Outputs, and Process Variables.

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.

Class Category Phase Type

Blenders Process Blend Automatic

Reactors Process Heat

Cool

Soak

Agitate

Q/A Test

ManAdd

EqStatus

Automatic

Automatic

Automatic

Automatic

Manual

Manual

Download

Mix Tanks Process MixerOn

MixerOff

MixerTimed

Automatic

Automatic

Automatic

ManAdd-Reactors Transfer ManualAdd Manual

Drums-Reactors Transfer DrumAdd Semi-Automatic

Bulks-Reactors Transfer BuldAdd Automatic

Reactors-Pack Transfer Pack Automatic

Class Category Phase Parameters Type

Blenders Process Blend Speed

Time

Process Variable

Process Variable

Reactors Process Heat Rate

Temp

Process Variable

Process Variable

Page 223: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 209

Transition Logic

In addition to defining process actions and the sequence of execution, there is a way

to control (enable/inhibit) the execution of the parts of a recipe procedure based on

operator decisions or process conditions, unit status, and batch information. 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:

1. Process Class and/or Instance Tags

2. Transfer Class and/or Instance Tags

3. Pre-defined Functions (Ask, Not, WaitSec, WaitMin, WaitHour)

4. Constants

The following table shows all of the available transition logic operators.

For more information on building expressions, see Chapter 14, "Expression Editor."

Process Cool Rate

Temp

Process Variable

Process Variable

Process Soak Time

Temp

Process Variable

Process Variable

Process Agitate Time

Speed

Process Variable

Process Variable

Process Q/A Test None N/A

Process ManAdd Qty_Lbs Input

Process EqStatus Status Process Variable

Mix Tanks Process MixerOn None N/A

Process MixerOff None N/A

Process MixerTimed Time Process Variable

Sample Process Q/A Test None N/A

Drums-Reactors Transfer DrumAdd Quantity Input

Bulks-Reactors Transfer BulkAdd Quantity Input

Reactors-Pack Transfer Pack Quantity Output

Operator Symbol

Negate -

Multiply *

Divide /

Modulus %

Add +

Subtract -

Class Category Phase Parameters Type

Page 224: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

210 Chapter 7

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.

Less Than <

Greater Than >

Less Than or Equal To <=

Greater Than or Equal To >=

Equal To =

Not Equal To <>

AND &

Or ¾

Assign :=

Not Not

Operator Symbol

Page 225: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 211

2. The Recipe Editor window will appear.

File Menu

The Recipe Editor File menu provides system functions for the Recipe Editor. The

File menu items are described in the following sections.

Page 226: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

212 Chapter 7

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.

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 the Recipe Editor window.

Page 227: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 213

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.

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.

Page 228: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

214 Chapter 7

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

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.

Page 229: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 215

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.

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.

Page 230: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

216 Chapter 7

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, phases, 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.

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 does not check the document path specified for a document that is to

be viewed as part of a phase's execution.

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.

Page 231: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 217

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

To Approve a Recipe

1. Click File, and then select Approvals.

You can also click the Approvals icon on the main toolbar.

2. The Approvals window will appear.

Page 232: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

218 Chapter 7

3. Select the required options as described earlier.

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

System."

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.

Page 233: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 219

2. The History window will appear.

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

4. Click Close when you are finished viewing.

Page 234: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 235: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 221

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 phase parameters in one or more recipes with the phase parameters in the

process model. When phase parameters are added, deleted or changed in a process

model, all recipes that are associated with the parameters are affected.

Page 236: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

222 Chapter 7

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

phase parameters in the recipe with those in the process model. When differences

are encountered, the Recipe phase parameter information is updated using the

process model phase parameter information. 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."

The following procedure assumes that you have already made changes to process

model phase 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).

Page 237: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 223

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.

Page 238: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

224 Chapter 7

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

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.

Page 239: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 225

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.

Header

Use the Edit/Recipe Header menu to create and edit recipe header information.

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.

Page 240: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

226 Chapter 7

You can also click the Header icon on the main toolbar.

2. The Recipe Header window will appear.

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.

Page 241: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 227

3. Select a State from the list.

Note Assignment of a State is optional.

For more information on defining Recipe States, see “Recipe State Editor”

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.

Page 242: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

228 Chapter 7

3. Select a Type from the list.

Note Assignment of a Type is required.

For more information on defining Recipe Types, see “Recipe Type Editor”

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 and/or process and transfer

instances from which process and transfer phases 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 (Optional, One Process Instance is created by default for

each selected Process Class. At least one Process Instance is required for a

recipe.)

• Transfer Instances (Optional)

Page 243: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 229

• Unit Selection Mode (Required, Defined for each process class and/or

instance)

• Attributes (Optional, Available for each process class and/or 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. In actuality, the recipe procedure is

associated with instances within a class. For example, the process class “Reactors”

might have 2 process instances: “ReactorA” and “ReactorB.” ReactorA and

ReactorB are still classed based, but can be independently referenced in the recipe.

Note It is very important for you to remember that adding process instances is not

necessary if your requirements need only one unit from within the same process

class.

Using Process and Transfer Instances:

Example 1 illustrates the necessary equipment requirements for a recipe that uses

one process instance per class. Example 2 illustrates the equipment requirements

for a recipe that uses two reactor and hold tank process instances. In example 1, all

process and transfer instances automatically default to the class name. In example

2, four process class instances are defined and four transfer instances must be

defined.

Page 244: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

230 Chapter 7

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 phases that are available in the recipe procedure

correspond to the process phases of the selected classes. They also correspond to

the transfer phases for the transfer classes in which the source and destination

classes are included in the equipment requirements.

Note You can delete Process class assignments with the Equipment Requirements

Editor. Deleting a process class will remove all of the process and transfer instances

that are associated with the deleted class. Phases previously assigned to instances

associated with the deleted process class must be manually deleted from the recipe

procedure. Until you delete these phases, the recipe will become invalid. Should

this condition arise, a message box will be displayed.

Page 245: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 231

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 define the specific process instances

necessary for recipe construction. Instance names must be unique. The editor

verifies the name to ensure validity and uniqueness.

• Name (16-char max)

• 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 phases to an operation during

recipe procedure development.

Page 246: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

232 Chapter 7

Note Deleting a process instance will also remove all of transfer instances that

were defined using the deleted process instance. If you delete all of the instances for

a process class, there will no instances available for assigning operations in the

Procedure Editor. New instances can be defined, or the process class can be deleted

and reassigned using the Equipment Requirements Editor in order to return the

default instance name. All of the phases that were assigned to a deleted process

instance must be manually deleted from the recipe procedure. The recipe will

become invalid until the phases are removed.

If your recipe procedure requires multiple process instance names, you should first

change the name of the default instance, and then add the required instances.

Remember that if you delete default process instances, then the default transfer

instances are deleted as well. Also, if you retain the default instance and name, and

do not use it in the procedure, the batch management system will require an extra

unit in the train in order to initialize the recipe.

Note Multiple process instances are not required unless you have a batch

execution requirement for the simultaneous allocation of more than one unit from

the same process class.

To Assign Process Instances:

1. On the Equipment Requirements Editor, click Process Instances.

2. The Process Class Instances Editor will appear.

Page 247: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 233

The Name box in the Process Class Instance Editorwindow displays a

default instance name which is the same as the selected process class name. If

you only need one unit from the class for the recipe, then you can use the

default name. If more than one unit is required from the process class, you

must define multiple instance names.

3. In the Name box, enter an appropriate Process Instance name.

4. Click Add.

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 Instances Editor, enter a Name (16-char max) for the

process instance.

2. Click Assign Unit.

3. The Units window will appear.

All of the units assigned to the selected process class in the process model will

be displayed.

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

Page 248: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

234 Chapter 7

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 andMax 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."

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

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.

Minimum Value Maximum 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.

Page 249: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 235

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 transfer phase is to be conducted from a bulk tank

to a reactor, 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

both reactors simultaneously.

The following Process Class Instance Editor represents one possible

configuration for this example.

Page 250: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

236 Chapter 7

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.

ProcessInstancesDefined

Assigned Units

UnitSelectionMode

MinimumCapacityAttributeValue

MaximumCapacityAttributeValue Resultant Unit Selected

Reactors None Automatic 0 0 Reactor A or Reactor B

Reactors None Automatic 0 2000 Reactor A or Reactor B

Reactors None Automatic 0 1000 Reactor A

Reactors None Automatic 2001 3000 Batch cannot be initialized

because train does not

contain an acceptable unit.

Reactors None Manual 0 0 User selects Reactor A or

Reactor B

Reactors None Manual 0 2000 User selects Reactor A or

Reactor B

Reactors None Manual 0 1000 Reactor A is automatically

selected because it is the

only reactor satisfying the

attribute range.

Reactors ReactorA N/A N/A N/A Reactor A

Reactors ReactorB N/A N/A N/A Reactor B

First_Reactor None Automatic 0 2000 Reactor A or Reactor B

First_Reactor None Manual 0 2000 Reactor A or Reactor B

First_Reactor

Second_Reactor

None

None

Manual

Manual

0

0

2000

2000

Reactor A or Reactor B

selected for the

First_Reactor instance. The

other reactor would be

selected for the

Second_Reactor instance.

First_Reactor

Second_Reactor

None

None

Manual

Manual

0

0

2000

2000

The user must manually

select Reactor A or

Reactor B for the

First_Reactor instance. The

other reactor would be

automatically selected for

the Second_Reactor

instance.

First_Reactor

Second_Reactor

ReactorA

None

N/A

Automatic

N/A

0

N/A

2000

Reactor A is allocated for the

First_Reactor instance.

Reactor B is allocated for the

Second_Reactor instance.

Page 251: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 237

Edit Transfer Instances

The following section describes how to configure a transfer instance.

Transfer Instances

Use the Transfer Class Instance Editor to define the specific transfer instances

necessary for recipe construction. Instance names must be unique. The editor

verifies the name to ensure validity and uniqueness.

A transfer class instance consists of the following:

• Name (16-char max)

• Source Instance

• Destination Instance

You will use the names defined for the instances while you are building a recipe and

are assigning phases to an operation.

Note Multiple transfer instances are not required unless more than one process

instance has been defined for a process class, or if multiple connections require

simultaneous allocation from the same transfer class during batch execution.

The default transfer instance name is the same as the name of the transfer class. The

source and destination instances associated with the default transfer instance

correspond to the first process instances defined for the source and destination

process classes. If multiple process instances have been defined for a process class,

then multiple transfer instances must be defined so that the recipe builder can

differentiate the transfer phases into and out of each process instance.

If your recipe procedure requires multiple transfer instance names, you should first

change the name of the default instance, and then add the required instances.

If multiple transfer instance names are required, change the name of the default

instance first, then add any other required instances.

Note If you delete a transfer class instance, you will have to manually delete the

phases that were previously assigned. The recipe will become invalid until the

phases are removed.

To Assign Transfer Instances:

1. On the Equipment Requirements Editor, click the Transfer Instances

button.

First_Reactor

Second_Reactor

ReactorA

ReactorB

N/A

N/A

N/A

N/A

N/A

N/A

Reactor A is allocated for the

First_Reactor instance.

Reactor B is allocated for the

Second_Reactor instance.

ProcessInstancesDefined

Assigned Units

UnitSelectionMode

MinimumCapacityAttributeValue

MaximumCapacityAttributeValue Resultant Unit Selected

Page 252: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

238 Chapter 7

2. The Transfer Class Instance Editor will appear.

All available transfer classes along with their source and destination classes defined

in the process model are listed. Note, in the lower pane of this window, that there is

a single transfer instance displayed for each transfer class.

Assign Source and Destination Instances

Use the Source Instance and Destination Instance windows to assign source and

destination instances to the transfer instance. Only one instance can be selected at a

time. Either the default or the user defined process instances will be available. The

proper instance must be selected from the appropriate dialog and assigned to the

transfer instance.

Page 253: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 239

Note If multiple transfer instances are being created from process classes that

contain multiple process instances, it is possible for a transfer instance to be defined

for which a connection does not exist in the process model. Therefore, the recipe

builder must be sure that the physical process model contains a connection that is

represented by the defined transfer instances.

To Assign a Source Instance:

1. On the Transfer Class Instance Editor window, click the Source Instance

button.

2. The Source Instance window will appear.

3. Select the required Source Instance from the list.

4. Click OK.

To Assign a Destination Instance:

1. On the Transfer Class Instance Editor window, click the Destination

Instance button.

2. The Source Instance window will appear.

Page 254: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

240 Chapter 7

3. Select the required Source Instance from the list.

4. Click OK.

Example Transfer Instance Selection

The window display shows how you would use two transfer instances for the bulk-

to-reactor addition example shown earlier in this section. After definition, the

instances would be available within the recipe procedure, allowing the recipe

builder to select the appropriate transfer phase depending on the process instance

operation being defined.

Page 255: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 241

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 phases that have

input or output parameters defined. Value assignments for each material can be

made from the respective editor or locally at each phase. The process variable

editor displays all of the process variable type parameters that are used in phases in

the recipe procedure. Phases 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 phases 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 phase, 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 phases in a recipe. If this is desired, the material must

be added twice to the Formula Inputs Editor Inputs list.

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.

Page 256: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

242 Chapter 7

To Add Input Materials:

1. On the Formula Editors window, click the Add Inputs button.

2. TheMaterials 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.

Page 257: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 243

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. TheMaterials 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 from the list.

5. Click OK.

The new material will retain the values and phase 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 theMaterials 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 theMaterial

window will appear.

Page 258: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

244 Chapter 7

3. In theMaterial ID text box, enter the required Material ID and then clickOK

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 Editorwindow, in theMaterial 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.

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%. In this example,

the procedure would include parallel operations or phases for adding the inputs

in question, with only the appropriate operations or phases being executed.

Transition logic evaluating the batch size would be used to determine which

operations or phases to execute.

4. Click the Tolerance drop-down arrow and select General, Recipe or None as

required.

Page 259: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 245

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 phase in the recipe procedure.

5. If you specified Recipe as the Tolerance, enter a High Deviation and Low

Deviation.

6. In the Unit of Measure text box, enter an appropriate term (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 phases 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 phase, 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 phases 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.

Page 260: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

246 Chapter 7

To Add Output Materials:

1. On the Formula Editors window, click the Add Outputs button.

2. TheMaterials 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.

Page 261: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 247

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. TheMaterials 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 from the list.

5. Click OK.

The new material will retain the values and phase assignment that were assigned to

previous input.

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 theMaterials 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 Outputs or Change Output button theMaterial

window will appear.

Page 262: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

248 Chapter 7

3. In theMaterial ID text box, enter the required Material ID and then clickOK

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 Output Material Settings:

1. On the Formula Outputs Editor window, in theMaterial 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 phases used in the construction of the recipe. Process

variable formula parameters are defined in the Process Modeling Editor. Use the

Process Variables window to redefine the names or values assigned to process

variable parameters.

Page 263: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 249

Edit/Process Variables

Use the Edit/Process Variables command to edit formula process variables.

To Edit Process Variables:

1. On the Recipe Editor window, click Edit and then select Process Variables.

You can also click the Process Variables icon on the main toolbar.

2. The Process Variables window is displayed.

The list shows all of the process variables used in the phases of the recipe

procedure. The list will be empty until you use phases that contain process

variable parameters in the recipe procedure. Following recipe procedure

creation, you can change process variable parameter in the Process Variables

window or directly in the specific phase.

For each process variable displayed in the list, the phase Type, Name, Value,

Tolerances, and Description are displayed. This information is derived from

the process model database.

3. Select a Process Variable from the list.

4. In the Name text box, enter an appropriate name (16-char max).

5. In the Value text box, enter an appropriate value.

Note The Value must be within the range of the High and Low Limit values

defined for the parameter in the process model database.

6. Click the Tolerances drop-down arrow and select General, Recipe, or None

as required.

7. In the High Deviation and Low Deviation text boxes, enter values that are

consistent with the Tolerance that you specified.

8. Click Change.

Page 264: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

250 Chapter 7

Unit Procedures Library

You create and initially save Unit Procedure Operations during recipe construction.

For more information on saving unit procedures, see “Building a Recipe” later in

this section.

Use the Edit/Unit Procedures Library command to edit the name and description

of recipe unit procedures that were created during recipe development and then

store them for future use.

Unit Procedure Name (16-char max) and optional comments of unlimited length.

The Unit Procedure Library is recipe independent and there is no limit to the

number of unit procedures that you can store.

To Edit the Unit Procedures Library:

1. Click Edit, and then select Unit Procedures Library.

You can also click the Unit Procedures icon on the main toolbar.

2. The Unit Procedure Library window will appear.

All of the unit procedures that have been previously saved will appear in the

list.

3. In the Unit Procedure Name text box, enter an appropriate name.

4. In the Comments box, enter a description for the unit procedure (optional).

5. Click Change and then Close.

Page 265: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 251

Operations Library

The following section describes how to use the Operations Library.

Edit/Operations Library

You create and initially save Recipe Operations during recipe construction.

For more information on saving operations, see “Building a Recipe” later in this

section.

Use the Edit/Operations Library command to edit the name and description of

recipe operations that were created during recipe development and then store them

for future use.

Operation Name (16-char max) and optional comments of unlimited length. The

Operation Library is recipe independent and there is no limit to the number of

operations that you can store.

To Edit the Operations Library:

1. Click Edit, and then select Operations Library.

You can also click the Operations Library icon on the main toolbar.

2. The Operations Library window will appear.

All of the operations that have been previously saved will appear in the list.

3. In the Operation Name text box, enter an appropriate name.

4. In the Comments box, enter a description for the Operation (optional).

Page 266: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

252 Chapter 7

5. Click Change and then Close.

Edit/Recipe States

Use the Edit/Recipe States menu to access the Edit Recipe States window.

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.

Page 267: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 253

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.

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 procedures, operation and phase

displays, show or hide the unit procedures, operations and phases views.

Page 268: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

254 Chapter 7

View/Main Toolbar

To view the Main Toolbar:

• Click View and then enable theMain Toolbar menu item.

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/Operation Toolbar

To view the Operations Toolbar:

• Click View and then enable the Operation Toolbar menu item.

You can also use the Show/Hide Operations View icon on the main toolbar.

View/Phase Toolbar

To view the Operations Toolbar:

• Click View and then enable the Phase Toolbar menu item.

You can also use the Show/Hide Phases 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.

Page 269: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 255

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

View/Operation View

Use the View/Operation View menu item to show or hide the Operations pane and

toolbar.

View/Operation Zoom In

To Zoom In on a Recipe Operation:

• Click View and then select Operation Zoom In to increase the displayed size

of objects in the recipe operation pane.

You can also use the Operation Zoom In icon on the main toolbar.

View/Operation Zoom Out

To Zoom Out of a Recipe Operation:

• Click View and then select Operation Zoom Out command to decrease the

displayed size of objects in the recipe operation pane.

You can also use the Operations Zoom Out icon on the main toolbar.

Page 270: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

256 Chapter 7

View/Phase View

Use the View/Phase View menu item to show or hide the Phases pane and toolbar.

View/Phase Zoom In

• Click View and then select Phase Zoom In command to increase the displayed

size of phases in the recipe phase pane.

You can also use the Phase Zoom In icon on the main toolbar.

View/Phase Zoom Out

To Zoom Out of a Recipe Phase:

• Click View and then select Phase Zoom Out command to decrease the

displayed size of phases in the recipe phase pane.

You can also use the Phase Zoom Out icon on the main 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.

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.

Page 271: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 257

Building a Recipe Procedure

A Recipe Procedure defines the sequence in which operations and phases 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 the this section.

Procedure Layout

The Recipe Editor Procedure window is divided into three re-sizeable panes: Unit

Procedures, Operations and Phases.

Unit Procedures

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 should contain at least one phase. The operation sequence can be

constructed using any of the procedure objects described later.

Sequence of Operations

The Sequence of Operations pane is used to create a sequence of user-defined

operations that are executed when the recipe is scheduled as part of a batch. Each

operation should contain at least one phase. The operation sequence can be

constructed using any of the procedure objects described later.

Page 272: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

258 Chapter 7

Sequence of Phases

The Sequence of Phases section of the Procedure window is used to create a

sequence of phases that are executed within an operation. The phases are defined in

the process modeling editor. The phase sequence can be constructed using any of

the procedure objects described later.

Procedure Objects

Recipe procedures are constructed using one or more of the various objects that are

available within the editor. These objects are accessed from one of the dockable

toolbars.

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.

Load Unit Procedure

The Load Unit Procedures icon is used to load a pre-defined unit procedure from

the Unit Procedures Library.

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.

Page 273: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 259

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.

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.

Page 274: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

260 Chapter 7

Operations Toolbar

Add Operation

The Add Operation icon is used to enter a user-defined operation. The operation

name is displayed on the object.

Load Operation

The Load Operation icon is used to load a pre-defined operation from the Operation

Library.

Add Operation Transition

The Add Operation Transition icon is used to enter a transition logic object into the

sequence of operations.

Add Operation Branch

The Add Operation Branch icon is used to enter a branch object into the sequence

of operations.

Add Operation Loop

The Add Operation Loop icon is used to enter a loop object into the sequence of

operations.

Cut Operation

The Cut Operation Object icon is used to remove an object from the Operations

pane and store it in the Windows clip board.

Page 275: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 261

Copy Operation

The Copy Operation Object icon is used to copy an object.

Paste Operation

The Paste Operation Object icon is used to paste an object.

Delete Operation 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 sequence of operations display. 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.

Page 276: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

262 Chapter 7

Phases Toolbar

Add Phase

The Add Phase icon is used to add a phase to the procedure. The phases that are

available are read from the process model. The phase name and the associated

process or transfer instance name are displayed on the object.

Add Phase Transition

The Add Phase Transition icon is used to enter a transition logic object into the

sequence of phases.

Add Phase Branch

The Add Phase Branch icon is used to enter a branch object into the sequence of phases.

Add Phase Loop

The Add Phase Loop icon is used to enter a loop object into the sequence of

phases.

Cut Phase

The Cut Phase Object icon is used to remove an object from the Phase pane and

store it in the Windows clip board.

Copy Phase

The Copy Phase Object icon is used to copy a object.

Page 277: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 263

Paste Operation

The Paste Phase Object icon is used to paste an object.

Delete Phase Object

The Delete Phase 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 sequence of phases display. There are 10

levels of magnification available.

Zoom Out

The Zoom Out icon is used to reduce the sequence of phases display. There are 10

levels of reduction available.

Storing Unit Procedures

As you create your recipe you can use one of two methods to store a unit procedure

in the library.

1. You can double-click the target operation to display the Unit Procedures

Properties window and use it’s Save Unit Procedures button to store the

operation.

2. The second way to store an existing operation, is to click the Unit Procedures

Library icon on the toolbar to open the Unit Procedures Library window.

You can then drag the target unit procedure into the library dialog.

Page 278: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

264 Chapter 7

The unit procedure will be added to the library list along with the Process Class,

Process Instance, the Date the unit procedure was added, and all phases and

configuration information.

Note Unit Procedures in the library may have the same name. However, each

operation is individually maintained. Also, the unit procedure in the library can be

sorted according to each field by clicking the appropriate column header.

Loading a Unit Procedure

As you create your recipe you can use one of two methods to load a unit procedure

from the main toolbar.

To Load an Operation:

1. On the Unit Procedures toolbar, click the Load Unit Procedure icon.

2. The Load Unit Procedure window will appear.Select the Unit Procedurethat you want to load from the list.

3. Click OK.

The unit procedure will be added to the procedure beneath the location of the

cursor.

You can also add an operation by clicking the Unit Procedures Library icon

and then dragging the target operation into the recipe procedure.

Unit Procedure Validity

When you attempt to load a unit procedure into a recipe procedure, the following

checks are performed to ensure the validity of the unit procedure.

• The Process Class assigned to the unit procedure must exist in the Equipment

Requirements Editor. If the class does not exist, an error message will be

displayed and the load will fail.

• If the process class exists, the process instance is automatically added to the

recipe equipment requirements. A message must be acknowledged for each

instance.

• Materials included in the unit procedure definition can optionally be added to

the recipe formula. A message must be acknowledged for each material.

Page 279: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 265

Note Remember that adding unit procedures from the library may result in the

addition of process and transfer instances to the recipe equipment requirements.

You must ensure sure that the recipe equipment requirements have only the

required instances defined. When the recipe is scheduled as a batch, the train must

have equipment for each instance regardless of whether the instance is called in the

procedure. If not, the batch cannot be initialized

Storing Operations

As you create your recipe you can use one of two methods to store the operation in

the library.

1. You can double-click the target operation to display the Operation Properties

window and use it’s Save Operation button to store the operation.

2. The second way to store an existing operation, is to click the Operations

Library icon on the toolbar to open the Operations Library window. You can

then drag the target operation into the library dialog.

Page 280: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

266 Chapter 7

The operation will be added to the library list along with the Process Class,

Process Instance, the Date the operation is added, and all phases and configuration

information.

Note Operations in the library may have the same name. However, each operation

will be individually maintained. Also, the operations in the library can be sorted

according to each field by clicking the appropriate column header.

Loading an Operation

As you create your recipe you can use one of two methods to load an operation

from the main toolbar.

To Load an Operation:

1. On the Operations toolbar, click the Load Operation icon.

2. The Load Operation window will appear.

Page 281: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 267

3. Select the Operation that you want to load from the list.

4. Click OK.

The operation will be added to the procedure beneath the location of the cursor.

You can also add an operation by clicking the Operations Library icon and

then dragging the target operation into the recipe procedure.

Operation Validity

When you attempt to load an operation into a recipe procedure, the following

checks are performed to ensure the validity of the operation.

• The Process Class assigned to the operation must exist in the Equipment

Requirements Editor. If the class does not exist, an error message will be

displayed and the load will fail.

• If the process class exists, the process instance is automatically added to the

recipe equipment requirements. A message must be acknowledged for each

instance.

• Materials included in the operation definition can optionally be added to the

recipe formula. A message must be acknowledged for each material.

Page 282: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

268 Chapter 7

Note Remember that adding operations from the library may result in the addition

of process and transfer instances to the recipe equipment requirements. You must

ensure sure that the recipe equipment requirements have only the required instances

defined. When the recipe is scheduled as a batch, the train must have equipment for

each instance regardless of whether the instance is called in the procedure. If not,

the batch cannot be initialized

Recipe Procedure Mechanics

The following section describes the general steps for creating a recipe procedure.

Inserting Procedure Objects

The Unit Procedures, Operations and Phases panes of the Recipe Editor window

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

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.

Page 283: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 269

For more information on Equipment Requirements, see “Equipment

Requirements Editor” earlier in this section.

3. Select a Process Instance from the list.

4. Enter a Name (16-char max).

5. Click OK to insert the operation object into to the sequence of operations.

To Insert an Operation:

1. On the Operations toolbar, click the Add Operation icon.

2. The Add Operation window will appear.

3. Enter a Name (16-char max).

4. Click OK to insert the operation object into to the sequence of operations.

To Insert a Phase:

1. On the main toolbar, click the Add Phase icon.

2. The Add Phases window will appear.

Page 284: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

270 Chapter 7

All of the Phases for the selected Type are listed.

3. Click the Type drop-down arrow and select a phase type from the list. The

available. The Phase Type corresponds to the process class instance selection

made for the corresponding unit procedure. There are six types of phases

available which are described in the following table.

4. Click OK to add the phase object.

Transition Objects

Use the Add Unit Procedure Transition, Add Operation Transition and Add

Phase Transition icons to insert a transition object into the respective 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 operations or phases

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 Operation or Phase to which you want

to add a transition.

2. Click the Add Unit Procedure Transition, Add Operation Transition or

Add Phase Transition icon for the Unit Procedure, Operation or Phase that

you selected earlier.

The Transition will be added to the procedure.

Phase Type Description

Process This option displays the process phases defined in the Process Modeling Editor

for the process instance that was assigned to the operation currently being

defined.

Transfer This option displays the transfer phases from the Process Modeling Editor in

which the assigned process instance for this operation is either a source instance

or a destination instance.

Allocate Process This option displays and allows the user to Recipe Allocate any process instance

defined in the recipe Equipment Requirements Editor.

Release Process This option displays and allows the user to Recipe Release any process instance

defined in the recipe Equipment Requirements Editor.

Allocate Transfer This option displays and allows the user to Recipe Allocate any transfer instance

defined in the recipe Equipment Requirements Editor.

Release Transfer This option displays and allows the user to Recipe Release any transfer instance

defined in the recipe Equipment Requirements Editor.

Page 285: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 271

3. Double-click the Transition object.

The Transition Properties window will appear.

You can also insert an operation by double-clicking the operation or phase

object, and then clicking the Add Unit Procedure Transition, Add

Operation Transition or Add Phase Transition icon. This will insert the

transition object and then immediately open the Transition Properties window.

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.

Page 286: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

272 Chapter 7

Use the Expression Editor to construct transition expressions. You can build

expressions using process and transfer instance tags, mathematical operators,

and 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."

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

{TAG A} TRUE if TAG A is greater than 0.

FALSE if TAG A is 0.

Not({TAG A}) TRUE if TAG A is 0.

FALSE if TAG A is greater than 0.

{TAG A}>100 TRUE if TAG A is greater than 100.

FALSE if TAG A is less than 101.

{TAG A}&{TAG B} TRUE if TAG A and TAG B are both greater than 0.

FALSE if TAG A or TAG B is 0.

Page 287: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 273

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, Add Operation Branch and Add Phase

Branch icons insert a branch object into the respective procedure sequence beneath

the current location of the cursor.

Branch objects are used to execute multiple operations or phases at the same time,

or to make a choice between running one of several operation or phases. 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, Operation or Phase to

which you want to add a branch.

2. Click the Add Unit Procedure Branch, Add Operation Branch or Add

Phase Branch icon for the Unit Procedure, Operation or Phase that you

selected above.

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 an operation or phase object,

and then clicking the Add Unit Procedure Branch, Add Branch Transition

or Add Branch Transition icon. This will insert the branch object and then

immediately open the Branch Properties window.

Ask(“Continue?”) A question will be displayed to the operator. The result is TRUE if the

Operator answers Yes. The result is FALSE if the 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.

Expression Result

Page 288: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

274 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” on

page 274 later 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, operation or

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

operations or phases 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, operations or phases in the 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.

Page 289: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 275

The Execute All Branch object is graphically displayed as two parallel horizontal

lines.

Note Batch Manager will not continue past the Branch Return object until all

transition logic and operations or phases 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,

operations or phases 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.

Page 290: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

276 Chapter 7

Loop Objects

The Add Unit Procedure Branch, Add Operation Loop and Add Phase Loop

icons insert a loop object into the respective procedure sequence beneath the current

location of the cursor.

Loop objects are used to re-execute unit procedures, operations or phases 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, Operation or Phase to

which you want to add a branch.

2. Click the Add Unit Procedure Loop, Add Operation Loop or Add PhaseLoop icon for the Operation or Phase that you selected above.

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” on page 270 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 operation or phase. However, you

can drag-and-drop existing objects into a loop object.

Page 291: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 277

Cutting and Copying Procedure Objects

Use the Cut Unit Procedure Object, Cut Operation Object and Cut Phase

Object icons to cut objects from the respective procedure sequence. Cutting a unit

procedure, operation, or phase object 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.

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, Paste Operation Object and Paste Phase

Object icons to paste objects into the respective procedure sequence. Pasting

objects into a unit procedure, operation, or phase object 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.

Page 292: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

278 Chapter 7

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.

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, Delete Operation Object and Delete

Phase Object icons to remove objects from the respective procedure sequence.

Deleting a unit procedure, operation, phase, 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, Operation, Phase, or Transition Object:

1. Single-click the object that you want to delete.

2. Click the Delete icon.

Page 293: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 279

This example shows the deletion of the Heat Phase.

Page 294: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

280 Chapter 7

To Delete a Branch Leg:

1. Single-click the top of the branch object that you want to delete.

2. Click the Delete icon.

This example shows the deletion of ManAdd Phase.

Page 295: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 281

Page 296: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

282 Chapter 7

To Delete the Entire Branch

1. Single-click the bottom of the branch object that you want to delete.

2. Click the Delete icon.

This example shows the deletion of an entire branch that includes one BulkAdd

and two ManAdd Phases.

Page 297: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 283

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.

Page 298: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

284 Chapter 7

This example shows the deletion of loop which includes a Heat phase, an

Agitate phase, and two phase transitions.

Moving and Nesting Procedure Objects

Unit Procedure, Operation, Phase, 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, operations or phases into the

appropriate legs. The Recipe Editor also allows you to nest Branch and Loop

objects to create very complex procedures.

Unit Procedure Properties

Use the Unit Procedure Properties window to edit the properties of any unit

procedure object.

Page 299: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 285

To Edit Unit Procedure Properties:

1. Double-click an the unit procedure object.

2. The Unit Procedure Properties window will appear.

To Change an Unit Procedure Name:

The Unit Procedure Name can be changed by typing the new name in the text box

and then clicking the Change button.

To Save a Unit Procedure in the Unit Procedure Library:

1. On the Unit Procedure Properties window, click the Save Unit Procedure

button.

2. The Save Unit Procedure window is displayed.

Page 300: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

286 Chapter 7

3. Enter a Unit Procedure Name (16-char max) and an optional Comments

(unlimited length).

For more information on the use of the operation library, see “Unit Procedure

Library” earlier in this section.

Operation Properties

Use the Operation Properties window to edit the properties of any operation

object.

To Edit Operation Properties:

1. Double-click an the operation object.

2. The Operation Properties window will appear.

To Change an Operation Name:

The Operation Name can be changed by typing the new name in the text box and

then clicking the Change button.

To Save an Operation in the Operations Library:

1. On the Operation Properties window, click the Save Operation button.

2. The Save Operation window is displayed.

Page 301: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 287

3. Enter an Operation Name (16-char max) and an optional Comments

(unlimited length).

For more information on the use of the operation library, see “Operation

Library” earlier in this section.

Phase Properties

Use the Phase Properties window to edit specific elements of the phase including

its Phase definition, Instructions, Parameters and Document properties.

To Open the Phase Properties Window:

1. In the Recipe Editor’s phase display, double-click the phase that you want to

edit

2. The Phase Properties window will appear.

Page 302: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

288 Chapter 7

The Phase Properties window is initially displays the Phase tab.

Phase Tab

Use the Phase Tab to configure how the phase will interact with the batch system

and operators.

To Edit Phase Configuration:

1. On the Phase Properties window, click the Phase tab.

2. The Phase tab will appear.

Page 303: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 289

3. In the Label field, enter a unique name.

By default, the Label is automatically assigned (as a unique numeric value)

when the phase is created.

4. If you want to generate an end of phase report, click the Report button, and

select a report from the list. If it was entered, a description will be displayed in

the Desc box.

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

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 24, "System

Administration."

Page 304: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

290 Chapter 7

5. 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 phase. 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 phase 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.

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 phase. 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 phase 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."

6. 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 a phase. 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 phase. 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 phase 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 phase. 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 phase 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."

Page 305: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 291

7. In the Comment pane, enable the Required check box if you want to require

the entry of operator comments during phase 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."

8. 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 phase.

If Continue Mode is disabled, recipe execution will not continue until a Done

status is received from the phase.

For more information on the batch management, see Chapter 9, "Batch

Management System."

9. Click Change and then Close.

Instructions Tab

Use the Instructions tab to enter specific work instructions that will be displayed to

an operator as part of phase execution.

To Edit Phase Instructions:

1. On the Phase Properties window, click the Instructions tab.

2. The Instructions tab will appear.

3. Enter Instructions as required.

Page 306: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

292 Chapter 7

The instructions that you enter will be displayed to an operator when the phase

is executed.

4. Enable the Append Unit/Connection Description check box if you want to

append the description of the unit or connection (as found in the process

model) to the instruction display when the phase is executed. This feature is

important when there are may manual type connections in that it allows you to

define all of the instructions in the model instead of having to enter the

instruction into the procedure for each recipe.

5. Click Change and then Close.

Parameters Tab

Use the Parameters tab to display and define specific formula parameter values.

These parameters were initially defined using the Process Modeling Editor.

There are three types of formula parameters: Input, Output, and Process Variable.

Process Variable parameters require the assignment of a value if the default value is

not acceptable. In addition, if the phase is used more than once in the procedure, the

parameter name may be changed in order to associate each parameter with its

respective phase. Input and Output parameters require a material assignment.

To Edit Phase Parameters:

1. On the Phase Properties window, click the Parameters tab.

2. The Parameters tab will appear.

The specific Parameter tab display will vary according to the type (Input,

Output or Process Variable) of phase that you are editing. Use the Sort By

Name check box to sort the parameter list. An example of each type is

provided in the following sections.

Page 307: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 293

Input Phase Parameters:

For more information on Input Parameters, see “Edit/Formula Inputs” earlier in this

section.

Page 308: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

294 Chapter 7

Output Phase Parameters:

For more information on Output Parameters, see “Edit/Formula Outputs” earlier in

this section.

Page 309: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 295

Process Variable Parameters:

For more information on Process Variable Parameters, see “Edit/Process Variables”

earlier in this section.

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 phase’s execution.

Acknowledgment can be specified to occur at the start of the phase (On Entry) or

as the last step (On Exit) of the phase. When the phase 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.”

Page 310: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

296 Chapter 7

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

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 phase. 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 phase. 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 phase. During recipe execution, the

option requires the operator to press theView Doc and View Doc Ack button on the

Batch Display. You can configure the buttons to require the entry of security

identification numbers and passwords as the first step of the phase. Configuration

of the appropriate Done By and Check By security levels is performed in the

Security Editor.

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

System."

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.

Building Recipes in a Connectionless Process

Model

Constructing recipes from a connectionless process model requires more attention

to details on the part of the recipe builder when defining the sequence of operations

and phases. Connectionless transfers require complementary process phases

coordinated in the recipe and by the operator or the control system to move material

from one unit to another. Parallel operations must be constructed in the procedure

with the source and destination instances assigned to the appropriate operation.

Within each operation, the appropriate discharge or charge phase must be defined.

If multiple units are available for the source instance, manual unit selection must be

defined in the recipe equipment requirements and the recipe allocate process

instance phase must be included in the phase procedure in order to have the

operator manually select the appropriate source unit for the transfer.

Page 311: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Recipe Editor 297

If material tracking is required, any input material being transferred must be

assigned to a parameter of the source process phase and any output material being

transferred must be assigned to a parameter of the destination process class phase.

The following example shows a material transfer operation and phase procedure

from a bulk tank to a reactor. The Discharge BulkTks phase has an input parameter

defined for the phase that is not shown in the diagram. This parameter is used to

track the amount of material transferred from the manually allocated bulk tank to

the automatically allocated reactor.

Page 312: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

298 Chapter 7

Page 313: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Train Editor 299

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.

Page 314: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 315: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Train Editor 301

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.

Page 316: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 317: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Train Editor 303

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.

Page 318: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 319: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Train Editor 305

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.

Page 320: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

306 Chapter 8

Page 321: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 307

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

• Using Batch Display

• Batch Manager

• Batch Execution

• Warm Restart

Page 322: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

308 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, blocks of control software, referred to as

phases, are signaled to execute by Batch Manager. Automatic and semi-automatic

phases are programmed logic blocks existing in the control system. They are

responsible for controlling functions associated with a unit or a connection. Prior to

enabling each phase, Batch Manager verifies that the phase is ready to be executed.

If so, phase parameter values are downloaded to the phase, and the phase 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 phase in hold, restart and abort batches or

phases, and change the batch execution mode. Batch Manager also has a Jump

Mode that allows the execution point of a an active batch that is in hold to be

changed. Operators can use this feature to either jump ahead during recipe

execution or repeat phases that have already executed. In addition, operators can

change phase parameter values, acknowledge the execution of phases, review phase

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 phases

pertain to a class of units, not a specific unit. When Batch Manager executes a

Master Recipe, each phase encountered is converted into a unit or connection

specific phase. This process is called Master Recipe to Partial Control Recipe

conversion. The Train assigned to produce the batch contains all the units that can

be used. 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.

Page 323: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 309

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.

• TheMaterials 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 Phase Logic (Phases) located in the control

system. As each phase is to be executed, Batch Manager checks if the phase is

ready. If the phase status is ready, any configured phase parameter values are

written to the phase, then the phase is started. When the phase completes its

task, it informs Batch Manager by setting the Done status. Batch Manager

responds by enabling the Reset command and returning the phase to Ready.

Page 324: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 325: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 311

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.

Page 326: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 327: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 313

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 theMove 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 theMove 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

TheMove 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 theMove 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, theMove

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.

Page 328: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 329: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 315

Train

Use the Train tab to sort the list of scheduled batches based on one or more train

assignments.

Mode/Status

Use theMode/Status tab to sort the list of scheduled batches based on any

combination of batch execution mode and status.

Page 330: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 331: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 317

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.

Page 332: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

WARNING! Batch Manager verifies that all units required by the recipe are

available in the train. Connections and possible paths through the train are not

verified. Thus, if a connection is not available in the train, it is possible to take a

path through a train that results in a dead-end situation.

In this example, the recipe requires a 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 unit, it does not have the connections needed to execute the recipe.

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.

Unit 1

Unit 2

Unit 6

Unit 5

Unit 4

Unit 3

Process Class A

Process Class B

Process Class C

Train 2Train 1

Page 333: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 319

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, andMode 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.

Page 334: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 335: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 321

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, andManual. 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.

For more information on dynamically changing the batch mode, see “Batch

Execution Modes” on page 347 in this section.

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.

Mode Description

Automatic The recipe procedure is executed exactly as defined in the recipe.

Semi-Automatic Each phase must be acknowledged by the operator before it is executed.

Prior to acknowledging the phase, phase parameter values can be edited.

Manual Any phase in the recipe defined for equipment that is allocated to the batch

can be manually executed.

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 phases and entering Jump Mode.

Page 336: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

322 Chapter 9

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.

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 phases, review phase 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.

Locked Batch has been successfully locked and Jump Mode is enabled.

Status Description

Page 337: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 323

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

batch system supports the operation of multiple instances of Batch Display. This

requires you to configure multiple instances of Batch Scheduler using Environment

Editor.

For more information on setting up multiple Batch Scheduler instances, see Chapter

3, "Environment Management System."

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.

Page 338: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

324 Chapter 9

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/Manual Operation

Use this command to initiate the scheduling of the selected batch in a fully-manual

operation mode. This type of batch is called a phantom batch. Within the batch

management system, a phantom batch is identified as follows.

Manual Operation provides the capability to execute the phases for all of the units

and connections in the process model. Manual Operation is especially helpful

during startup and system verification. Manual Operation option is available only

when is configured to use the Manual Operations application parameter is

configured for Batch Display using the Environment Editor.

The execution mode for a phantom batch is always Manual.

When the phantom batch is selected, all of the phases for any allocated units can be

executed. Units must be manually allocated from the Equipment Allocation

window in order to have phases to execute. There is no history of activity

associated with the phantom batch. A phantom batch is removed from the schedule

by putting the Batch in Hold and then selecting Abort.

For more information on Manual Operation, see ‘Manual Operation’ later in this

section.

Actions/Save Control Recipe

Use this command to display the Save Control Recipe window.

Field Value

Campaign ID <MANUAL OPER>

Lot ID <MANUAL OPER>

Batch ID <MANUAL OPER>

Mode Manual

Page 339: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 325

This window allows you to save the recipe associated with a completed batch to be

saved 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’ 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.

Page 340: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

326 Chapter 9

Note A message will be displayed advising you that all Held phases 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. Position the cursor to the unit procedure, operation or phase that you want

recipe execution to restart at.

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.

Page 341: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 327

Windows Menu

Use the Batch DisplayWindows 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. Double-clicking a batch in the Schedule list

changes the Batch Display to show information for the 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.

Page 342: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

328 Chapter 9

• 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 phase. The

equipment, operation, and phase requiring the acknowledge is provided in the

message.

• Waiting for the operator to acknowledge the end of a phase. The equipment,

operation, and phase requiring the acknowledge is provided in the message.

• Waiting for the operator to edit one or more phase parameters. The equipment,

operation, and phase requiring the parameter editing is provided in the

message.

• Waiting for the operator to enter a comment for a phase. The equipment,

operation, and phase 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.

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.

Page 343: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 329

Use this window to view the status and availability of the units and/or connections

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. Each connection in the train will have a

status of Available or Unavailable. This status corresponds to the status of any

segments that were assigned to the connection in the process model. If segments

were not assigned to a connection, the status of the connection will always be

Available. The status of a connection will be Unavailable if any one of the segments

assigned to the connection has an equipment status that has not been marked as

Available in the process model.

The Allocation of a unit or connection relates to the ability of the unit or

connection to be allocated by Batch Manager. The Ready allocation value means

that the unit or connection is available to be allocated. The Allocated value means

that the unit or connection is allocated by a batch. A Busy value indicates that the

unit or connection has been allocated by another batch.

Any unit or connection in the Train, if Ready, can be manually allocated by

selecting the unit or connection, 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 or connection. Any unit or connection in the Train, if Allocated, can be

manually released by selecting the unit or connection and clicking on the Release

button. Manual allocation and release overrides automatic and recipe allocation.

Page 344: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

330 Chapter 9

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.

TheView Filter options allow you to enable and disable the display of Units and/or

Connections in the equipment list.

The Unit Control options enable the particular Unit Control tags for the selected

unit. This provides individual control over each unit in the process. There are two

Hold Propagation Modes available. In addition to the Hold Propagation modes,

Unit Control can be further enhanced by using Unit State system tags.

Note Hold Propagation Mode 1 is enabled by default. In order to enable Hold

Propagation Mode 2, you must enable the Phase/Batch Status parameter name

using Environment Editor. In order use Unit State system tags, you must enable the

Unit States parameter using Environment Editor.

Hold Propagation Mode 1 - Unit State Enabled

This mode is the default mode of operation and allows a unit to be allocated only if

it is Unallocated, has an Available Status and has a Ready state. During normal

execution, if unit state goes to Alarm or Held or if the batch is held by the operator,

then the Unit Hold is set for all units allocated by the batch. The batch state goes to

Held when all allocated units transition to either the Held or the Alarm state. The

operator can Restart the batch only if all allocated units are in the Held state. If any

units are in the Alarm state, they must transition to the Held state before the batch

Restart command is available. After a Restart command is written and all allocated

units transition to either the Run or Ready state, the batch status returns to Run.

Note There is an assumption that a Unit in a Held state can be restarted and will

then immediately change to a Run or Alarm state. If this mode does not appear to

function as described, you should review the Restart logic that you are utilizing.

Hold Propagation Mode 1 - Unit State Disabled

This mode allows unit allocation only if it is Unallocated, has an Available Status.

During normal execution, if the batch is held by the operator, then the Unit Hold is

set for all units allocated by the batch. The batch state goes to Held. The operator

can Restart at any time. After a Restart command is written the batch status returns

to Run.

Page 345: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 331

Hold Propagation Mode 2 - Unit State Enabled

This mode allows unit allocation only if it is Unallocated, has an Available Status

and has a Ready state. During normal execution, if the unit state changes to Alarm

or Held, or if any phase changes status from Run to Held, or if the batch is placed in

Held by the operator, then the Unit Hold is set for all units allocated by the batch.

Additionally, the phase Hold is set for all phase with a Run status. The batch state

goes to Held when all allocated units transition to either the Held or the Alarm state.

The operator can Restart the batch only if all allocated units are in the Held state. If

any units are in the Alarm state, they must transition to the Held state before the

batch Restart command is available. After a Restart command is written and all

allocated units transition to either the Run or Ready state, the batch status returns to

Run.

Hold Propagation Mode 2 - Unit State Disabled

This mode allows unit allocation only if it is Unallocated, has an Available Status.

During normal execution, if any running phase changes to Held, or if the batch is

held by the operator, then Unit Hold is set for all units allocated by the batch and

phase Hold is set for all running phases. The batch state goes to Held. The operator

can Restart the batch at any time. After a Restart command is written the batch

status returns to Run.

Note There is an assumption that a Unit in a Held state can be restarted and will

immediately change to a Run or Alarm state. If this mode does not appear to

function as described, you should review the Restart logic that you are utilizing.

Windows/Phase Parameter Editor

Use this command to display the Phase Parameter Editor window.

For more information on dynamically changing phase parameter information, see

“Phase Parameter Editor” on page 342 in this section.

This option is also available from the Offline Phase Editor icon in the Batch

Display Toolbar.

Windows/Transition Logic

Use this command to display the Active Transitions window.

For more information on viewing active transitions, see “Active Transition

Objects” on page 344 in this section.

This option is also available from the Active Transitions icon in the Batch

Display Toolbar.

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 focus of

the unit procedure, operations and phases displays. The menu options are described

below.

Page 346: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

332 Chapter 9

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

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.

Page 347: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 333

View/Operation View

Use the View/Operation View menu item to show or hide the Operations pane.

View/Operation Zoom In

To Zoom In on Operations:

Click View and then select Operation Zoom In to increase the displayed size

of objects in the operation pane.

You can also use the Operation Zoom In icon in the Main Toolbar.

View/Operation Zoom Out

To Zoom Out of Recipe Operations:

Click View and then select Operation Zoom Out command to decrease the

displayed size of objects in the operation pane.

You can also use the Operations Zoom Out icon in the Main Toolbar.

View/Phase View

Use the View/Phase View menu item to show or hide the Phases pane.

View/Phase Zoom In

To Zoom In on Recipe Phases:

• Click View and then select Phase Zoom In command to increase the displayed

size of phases in the phase pane.

You can also use the Phase Zoom In icon in the Main Toolbar.

View/Phase Zoom Out

To Zoom Out of Recipe Phases:

• Click View and then select Phase Zoom Out command to decrease the

displayed size of phases in the recipe phase pane.

You can also use the Phase Zoom Out icon in the Main Toolbar.

Page 348: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

334 Chapter 9

View/Large Icons

To View Large Icons:

• Click View and then enable the Large Icons menu item to increase 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 Display Layout

The Batch Display window is divided into several functional areas as shown.

Page 349: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 335

Batch Display Toolbar

Manual Operation

TheManual Operation icon is used to display a phantom batch.

Save Recipe

The Save Recipe icon is used to display the Save Control Recipe window.

Batch

Display

Toolbar SFC ToolbarBatch

Identification

Question

List

Sequence of Operations

Instruction List Sequence of Phases

Phase

List

Phase

Parameter

List

Batch

Control

Buttons

Phase

Control

Buttons

View/Ack

Document

Viewing

Sequence of Unit Procedures

Page 350: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Offline Phase Editor

TheOffline Phase Editor icon is used to display the Phase Parameter Editor

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.

Operation View

The Operation View icon is used to show or hide the operations pane

Page 351: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 337

Operations Zoom In

The Operation Zoom In icon is used to enlarge the sequence of operations

display. There are 10 levels of magnification available.

Operations Zoom Out

The Operation Zoom Out icon is used to reduce the sequence of operations

display. There are 10 levels of reduction available.

Phase View

The Phase View icon is used to show or hide the phases pane

Phases Zoom In

The Phase Zoom In icon is used to enlarge the sequence of phases display.

There are 10 levels of magnification available.

Phases Zoom Out

The Phase Zoom Out icon is used to reduce the sequence of phases 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.

Phase List

The Phase List contains a dynamic list of active phases. The equipment allocated

for each phase and the status of each phase is also included in the list.

Question List

The Question List contains a dynamic list of active questions. Answering a question

requires the selection of the question and the appropriate answer button.

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.

Phase Parameter List

The Phase Parameter List provides a dynamic list of all formula parameters for

active phases, as well as the ability to change parameter values.

Instruction List

The Instruction List provides a list of instructions associated with the phase

selected in the Phase List.

Page 352: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

338 Chapter 9

View Doc/Ack Doc Button

The View Doc button provides the necessary operator interface to view a document

that is specified as part of a phase. Once the document is viewed, the button label

changes to Ack Doc, requiring operator acknowledgement in order to continue

execution.

Phase Control Buttons

The Batch Control Buttons give the user the ability to start a phase, hold a phase,

restart a phase, abort a phase, acknowledge a phase, satisfy phase control buttons,

enter a phase or batch comment, view phase interlocks, and manually select

equipment for phase execution.

Sequence of Unit Procedures and Operations

The Sequence of Procedures and Operations dynamically show the current

Procedure and Operation that are executing in the selected batch. The status of each

unit procedure and operation in the SFC is represented with colors.

Sequence of Phases

The Sequence of Phases dynamically shows the current phases executing in the

selected batch for the selected operation. The status of each phase in the SFC is

represented with colors.

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 phases for the selected batch can be viewed.

Color Description

Cyan Continue Mode Execution

Gray Inactive

Green Active

Yellow Completed

Color Description

Gray Inactive

Green Active

Red Interlocked, Held, or Waiting for Operator Action

Yellow Completed

Page 353: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 339

• The recipe procedure can be viewed for each batch, showing the status of each

phase.

• Batch control buttons including Start, Hold, Restart, and Abort.

• Phase control buttons including Start, Hold, Restart, and Abort.

• View and control of current Phase Status, Parameters, and Instructions.

• Ability to enter Comments associated with a phase or with the batch.

• Ability to View and Acknowledge external documents.

• Ability to view Interlocks for each phase.

• 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 phase parameter values when a batch is active.

• Edit phase parameter values when a batch is not active (Phase Parameter Editor

window).

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 Execution Mode

The Edit Mode button displays the Batch Mode window. Selecting the desired

mode with the combo box changes the Batch Execution Mode.

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

Held Batch is in Hold; Batch can be Re-started or

Aborted.

Batch Restart

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 phases to enter into Jump Mode. N/A

Locked Batch is locked and in Jump Mode. N/A

Page 354: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

340 Chapter 9

For more information on dynamically changing the batch mode, see “Batch

Execution Modes” on page 347 in this section.

Phase Comments

The Edit Comment button displays the Comment window.

While a phase is executing, a comment associated with the selected phase can be

entered. The comment is stored in the historical database. If phases are not

executing and a comment is entered, it is stored as a general comment associated

with the batch. If a phase is active, the operator can change the comment type to

Batch if the comment is not related to the phase.

Note A batch must be initialized in order for comments to be written to history.

After a batch is initialized, but before it is started, the user can enter batch

comments. However, the unique batch identification record is not created until the

batch is started. Thus, if a batch is added, comments are entered, and then the batch

is changed or deleted, unrecoverable comment records will be created that will have

a batch key field that does not point to a valid batch ID log record. Therefore,

comments should be entered only after starting a batch.

Phase Interlocks

The Interlocks button displays the Interlocks window. This is used to view the

status of the interlock tags for any active phase in the procedure.

Equipment Selection

The Select Equipment button displays the Equipment Selection window.

Page 355: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 341

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.

Phase Control and Status

All active phases and their current statuses will be displayed in the Phase List. Any

phase that requires operator action will be displayed with ** in the Action column.

Any active phase can be selected in order to display its parameters, instructions,

and interlocks. In addition, the phase can be Held, Restarted, and Aborted with the

Phase Control Buttons if the phase has been properly configured in the process

model. Shown below are the various phase statuses and an explanation of operation.

Page 356: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

342 Chapter 9

Edit Formula Parameters

Any phase that has parameters configured in the Process Model with Edit Allowed

or Edit Required may be altered during the execution of the phase. The operator

must first select the desired phase in the Phase List, select the parameter in the

Phase Parameter List, click within the text entry field (adjacent to the Change

button) and enter an appropriate value, and then click the Change button. The edit

field and Change button are not available when the selected parameter cannot 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.

Phase Acknowledgment

Any phase in the recipe that has been configured with an Acknowledge On Entry or

Acknowledge On Exit option, as well as all semi-automatic phases will require the

operator to acknowledge the phase when executed. A message will be displayed in

the Message box when an acknowledge is required. The Acknowledge button must

be selected when required.

Phase Parameter Editor

The Inactive Phase Parameter Editor is used to edit or modify phase execution

and phase parameters anytime a batch has a status of Ready, Done or Aborted. The

editor provides the following capabilities.

• Add an Instruction to a phase.

PhaseStatus Description Action

Wait Phase is waiting for operator action. Message line will

indicate whether a comment or an acknowledge is required.

Acknowledge or Edit

Comment.

Wait Phase is currently running. Phase can be run after

acknowledging the message. Batch Manager will wait until

the phase is Ready.

Acknowledge “Unexpected

Status Window.”

Run Phase is executing. Phase Hold

Held Phase is in Hold; Phase can be Re-started or Aborted. Phase Restart or Phase Abort

Done Phase execution is complete. N/A

Interlocked Interlocks are preventing the phase from executing. Select Interlocks button.

Aborted Phase has been Aborted. N/A

Page 357: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 343

• Enable or Disable Acknowledge on Entry configuration for a phase.

• Enable or Disable Acknowledge on Exit configuration for a phase.

• Enable or Disable Comment Required for a phase.

• Enable or Disable batch Execution Continue Mode.

• Modify Parameter Target Values for a phase.

Note Phase parameter changes are dynamic and will be used during the execution

of the batch if made for a phase that has not yet executed. Phases that are not

running are displayed in the list.

Page 358: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

344 Chapter 9

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.

When a transition is selected, its expression is displayed and if tags are associated

with the expression, they are displayed along with their current value.

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.

Page 359: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 345

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, process

phase execution, and transfer phase 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. There are two categories of phases: Transfer and Process.

There are three types of phases: Automatic, Semi-Automatic, and Manual. Each of

the batches may have any combination of the above options. Each of the areas is

described below.

Equipment Allocation

In order to execute any phase 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 was not been previously allocated, then the

batch management system must allocate suitable equipment to the batch before

proceeding with phase execution. There are three approaches to allocating

equipment for a batch. They are, Automatic Allocation, Recipe 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 phase needs to be executed and appropriate

equipment (unit and/or connection) is not currently allocated to the batch. Batch

Manager allocates the equipment required and releases the equipment automatically

when it thinks it no longer needs the equipment. For process phases, only the unit is

allocated. For transfer phases, both the destination unit and the connection are

allocated. Source units are NEVER automatically allocated when a transfer phase is

executed.

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), equipment attribute requirements (i.e. capacity, material of construction,

etc.), and the equipment state (i.e. Ready, Run, Held, Alarm). 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.

Page 360: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

346 Chapter 9

Connection allocation is a result of source and destination unit allocation. When

multiple connections are available between two units, Batch Manager selects the

first connection encountered. For cases when the source unit has not been allocated,

either a material is used for connection selection or Batch Manager selects the first

connection encountered. Connection allocation is also influenced by any segments

that are assigned to the connection in the process model. Segments with an

unavailable status render all connections to which the segments are assigned

unavailable for allocation.

Segment allocation occurs when a connection to which the segment is assigned is

allocated to execute a transfer phase.

Allocated equipment is automatically released when no longer needed or at the end

of the batch. Therefore, units are automatically released after a transfer phase in

which the unit is the source is complete or at the end of the batch. Connections and

segments are automatically released after the transfer phase on the connection and

segment(s) is complete.

Recipe Allocation and Release

Recipe Allocation takes precedence over Automatic Allocation. Recipe Allocation

refers to the allocation of units or connections by way of the inclusion of an

Allocate Process Instance or Allocate Transfer Instance phase in the recipe

procedure.

With recipe allocation, equipment (unit and/or connection) is reserved for exclusive

use by the batch in which the phase is executed. The recipe Allocate Process

Instance phase allocates and reserves a unit. The recipe Allocate Transfer Instance

phase allocates both a destination unit and a connection, but it only reserves the

connection. The destination unit is allocated using the rules of automatic allocation.

If it is required to also reserve the destination unit, then the Allocate Process

Instance phase must be used in conjunction with the Allocate Transfer Instance

phase in the recipe procedure. In addition, source units are never recipe-allocated

when an Allocate Transfer Instance phase is executed.

The same selection criteria defined for automatic allocation is true for recipe

allocation with the additional requirement that recipe allocated equipment remains

allocated to the batch until a corresponding recipe release phase is encountered in

the recipe procedure or until the batch is complete.

Recipe allocation phases are treated the same as other phases in a recipe. Recipe

execution will not proceed until a unit or connection defined by the Allocate Phase

is assigned to the batch.

Manual Allocation and Release

Manual Allocation takes precedence over Automatic Allocation and Recipe

Allocation. Manual Allocation refers to the allocation of equipment (unit and/or

connection) by a user by way of the Equipment Allocation window within Batch

Display. Any unit or connection 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.), an available equipment state (i.e. Ready),

and is not allocated to another batch can be manually allocated.

Page 361: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 347

Manually allocating a unit allocates and reserves only the selected unit. Manually

allocating a connection allocates and reserves only the selected connection. Neither

the source nor the destination unit is allocated when a connection is manually

allocated. Units and connections that are manually allocated are released when the

operator manually releases the unit or connection from the Equipment Allocation

window or when the batch is complete.

Manual Allocation is especially important when executing batches in Manual

Mode. Only the phases associated with manually allocated units and/or connections

can be executed. Furthermore, if a batch is started in Manual Mode, there are no

units or connections allocated. Units and/or connections must be allocated

manually before any phases 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.

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 phases. The allocation takes place

according to the rules defined in the allocation section. If the required equipment

cannot be allocated, the phase(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 phase(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 phase to be executed is

evaluated. If the phase status is Ready, Batch Manager downloads the values of the

formula parameters to the control system and sets the phase Start tag. If the phase

status is Interlocked, Batch Manager monitors the phase until the status becomes

Ready before proceeding. If the phase 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 phase status to become Ready before proceeding.

If the phase status is Done or Aborted, the phase 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. Examples of

conditions that can cause tag read and write failures include BAD IO points or the

unintentional deletion of a block parameter in the control system. 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 phase associated with the

failed tag can be Aborted by the operator, and then a Batch Restart can be initiated

to resume batch execution.

Page 362: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

348 Chapter 9

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 and the Unit Hold tag for each unit

allocated to the batch will be set. It is the responsibility of the control system logic

to alter the status of the phases associated with the unit(s). Typically, the phases are

put in the Held status. However, the results of a batch hold can be unique for each

phase.

Note When the Batch Hold button is clicked it is possible that the Batch Abort

will become available before all the phases are in the Held status. If a user quickly

presses the Batch Abort button before all the phases are in the Held status, any

phase, not in the Held state, will not respond to the Phase Abort command issued by

the Batch Abort command. In this situation the phases will remain in Held or the

last status. The Batch status will remain Aborting until all phases have completed.

Phases in Run will completed normally, or can be manually held and aborted. To

resolve this situation, verify all phases are in Held before pressing the Batch Abort,

manually abort all phases in Held, or assign security to the Batch Abort button. In

most cases this will allow enough time for all phases to go to the Held state.

If Batch Manager is started with the Phase/Batch Status application parameter

defined in the Environment Editor, Batch Manager manages all phase hold activity.

As above, when a Batch Hold is triggered the batch status will change to Held and

the Unit Hold tag for each allocated unit is set. In addition, a phase hold signal is

sent to any phase in the batch that has a status of Run. Also, if any phase becomes

held during the execution of a batch, Batch Manager places the batch in held and

sends a phase hold signal to all other phases 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 phase logic.

The batch hold concept is further advanced if the Unit States application parameter

is defined for Batch Manager in the Environment Editor. If this parameter is defined

by itself without also defining the Phase/Batch Status application parameter, Batch

Manager monitors the unit state tags for each allocated unit. If any unit state tag

changes to the Held or Alarm state, Batch Manager puts the batch that has the unit

allocated in Held. No other units or phases are held by Batch Manager, and the

response of the phases to the unit state change is the responsibility of the control

system. If both the Unit States and Phase/Batch Status application parameters are

defined, Batch Manager will use the unit states to determine when to propagate

phase hold commands. In this case, if a unit goes into the Held or Alarm state,

Batch Manager recognizes this and sets the Unit Hold tag and Phase Hold tags for

each unit and phase associated to the batch. Whenever the Unit States parameter is

defined, a batch cannot be restarted until the unit state returns to Run.

Regardless of the manner in which Batch Manager is configured, transition logic

Wait functions 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 phase but the phase will not be started

until the batch is restarted.

Page 363: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 349

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 and the Unit Restart tag for each unit

allocated to the batch will be set. It is the responsibility of the control system logic

to alter the status of the phases associated with the unit(s). Typically, the phases are

put in the Run status. However, the results of a batch restart can be unique for each

phase.

If Batch Manager is started with the Phase/Batch Status application parameter

defined in the Environment Editor, Batch Manager manages all phase restart

activity. As above, when a Batch Restart is triggered, the batch status will change to

Run and the Unit Restart tag for each allocated unit is set. In addition, a phase

restart signal is sent to any phase in the batch that has a status of Held. However,

unlike with hold commands, an individual phase restart will not cause the batch and

all other phases to restart.

The batch restart concept is further advanced if the Unit States application

parameter is defined for Batch Manager in the Environment Editor. If this

parameter is defined by itself without also defining the Phase/Batch Status

application parameter, Batch Manager monitors the unit state tags for each

allocated unit. Batch Manager will not permit a Batch Restart for any batch which

has allocated units and these units are in a state other than Held (i.e. the Alarm state

must be cleared). Typically, units will be in the Held state from the Batch Hold

command. All allocated units must be changed to Held in order to restart the batch.

Unit state changes are the responsibility of the control system. Once the required

unit states are in Held, the Unit Restart tag is set for each allocated unit. If both the

Unit States and Phase/Batch Status application parameters are defined, Batch

Manager will use the unit states to determine when to propagate phase restart

commands. In this case, a batch and all held phases will not be automatically

restarted if any unit is in a state other than Held.

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 and the Unit Abort tag for each

unit allocated to the batch will be set. It is the responsibility of the control system

logic to alter the status of the phases associated with the unit(s). Typically, the

phases are put in the Aborted status. However, the results of a batch abort can be

unique for each phase. Once all phases have completed or aborted, the batch status

will change to Aborted. The batch status will remain Aborting as long as phases 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.

Page 364: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

350 Chapter 9

If Batch Manager is started with the Phase/Batch Status application parameter

defined in the Environment Editor, Batch Manager manages all phase abort activity.

As above, when a Batch Abort is triggered, the batch status will change to Aborting

and the Unit Abort tag for each allocated unit is set. In addition, a phase abort signal

is sent to any phase in the batch that has a status of Held. However, unlike with hold

commands, an individual phase abort will not cause the batch and all other phases

to abort. Also, once all phases have completed or aborted, the batch status will

change to Aborted.

The batch abort concept is not as affected as the hold and restart if the Unit States

application parameter is defined for Batch Manager in the Environment Editor. If

this parameter is defined by itself without also defining the Phase/Batch Status

application parameter, Batch Manager monitors the unit state tags for each

allocated unit. However, Batch Manager does not require a particular unit state in

order to abort a batch. The Unit Abort tag is set for each allocated unit regardless of

its state. If both the Unit States and Phase/Batch Status application parameters are

defined, Batch Manager will propagate phase abort commands regardless of the

state of the allocated units.

Note Error messages are not displayed when unexpected unit states are received

when one of the following conditions apply.

If a unit is not allocated and has an Available status, the unit should have a state of

Ready. A unit state of Run, Held, or Alarm is not permitted.

If a unit is allocated and phases for that unit are active, the unit should have a state

of Run, Held, or Alarm. A unit state of Ready is not permitted.

It is the responsibility of the user to avoid the conditions that are described. If either

condition exists, you must manually change the unit state.

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

Manual Batch Mode

When Batch Manager is executing in manual mode, any phase in the recipe for any

unit or connection 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 and/or connections 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 phases associated with the instance of that

equipment that is used in the recipe procedure will be available for execution. For

process phases, only the specific unit must be allocated. For transfer phases, the

source unit, destination unit, and connection must be allocated. The operator must

select the desired phase, change the parameter values if desired, and manually start

the phase. Several phases can be run simultaneously, if desired.

Page 365: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 351

Batch Execution Mode Changes

Automatic to Semi-automatic

Operation will continue normally except that any new phase encountered will

require the operator to Acknowledge the start of the phase.

Batch Manager can be configured to switch from Automatic to Semi-automatic

after a phase 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

phase 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 phases will continue to run to completion. Batch Manager will monitor

these phases and will Reset the phases when they are Done. No new phases will be

executed. Batch Manager will maintain its position in the recipe procedure, and the

operator may manually execute any of the phases associated with allocated

equipment.

Semi-automatic to Manual Mode

Any active phases will continue to run to completion. Batch Manager will monitor

these phases and will Reset the phases when they are Done. No new phases will be

executed. Batch Manager will maintain its position in the recipe procedure, and the

operator may manually execute any of the phases associated with allocated

equipment.

Semi-automatic to Automatic

Any phases that are running will continue to run. Any phase waiting for an operator

Acknowledgment or any new phase encountered will automatically start. This

assumes that the phase 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.

Phases will start as configured in the recipe procedure. Any phases 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 phase 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.

Phases will require an Acknowledge before they can be started. Any phases 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 phase for

the equipment is encountered or the batch completes.

Page 366: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

352 Chapter 9

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, has an available equipment status, and has a Ready

unit state (if defined). 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.

Process Phases

The following section describes how to configure a process phase.

Automatic Phases

When an automatic process phase is encountered, Batch Manager will first check if

a suitable unit is allocated. If so, Batch Manager will evaluate the status of the

phase. If the phase is Ready, the formula parameter values are downloaded to the

control system and the phase is started. Typically, the phase status will change to

Run. Batch Manager will monitor the status of the phase waiting for it to change.

Under normal circumstances, the phase status will eventually go to Done. Upon

seeing the Done, Batch Manager will Reset the phase. The phase status will return

to Ready. When Batch Manager evaluates the phase 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 phase status.

Page 367: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 353

Manual Phases

Manual Type Process Phases require unit allocation and also require the operator to

Acknowledge the completion of the phase. Manual Process Phases typically

include instructions which the operator must perform. When the instructions have

been performed, the operator Acknowledges the phase.

Manual phases can also be used to write data to the control system. This is

accomplished by assigning a tag to the Target element in the process model. When

the phase is executed, Batch Manager will write the Target Value, that was assigned

in the recipe, to the control system.

Process Phases with Material Input Parameters

Automatic Process Phases

When an automatic process phase with an input parameter is encountered in a

recipe, Batch Manager evaluates the units available in the train and allocates a unit

using the rules of allocation. The phase status is then evaluated and executed when

possible. The material information is stored in the historical database, but Batch

Manager does not interact with the materials database for lot tracking information.

Manual Process Phases

When a manual process phase is encountered, Batch Manager is responsible for the

execution of the phase. The phase does not execute in the control system, although

Batch Manager may use information, such as the Actual Value as measured by the

control system in executing the phase. The material information is stored in the

historical database, but Batch Manager does not interact with the materials database

for lot tracking information. Depending on how the phase is configured in the

process model, operator interaction with the phase will vary. Listed below are

various approaches that can be configured in the process model for manual process

phases.

Manual Addition using a connected Scale

Material is weighed by a scale that is attached to the control system. The operator is

required to enter the material lot code for the material if configured in process

model. When the weight is within the material deviations, the operator

Acknowledges the completion of the phase. Batch Manager logs the material id,

target quantity, actual quantity, and lot code to history.

When the addition requires multiple lots of the same material, the operator must

enter the lot code for the first lot and Acknowledge the completion of the phase.

Batch Manager will decrement the actual quantity from the target, recalculate the

target quantity, and re-execute the phase. This will occur until the original target is

achieved.

Manual Addition using an unconnected Scale

Material is weighed on a scale that is not attached to the control system. The

Operator is required to enter the material lot code if configured in the process

model, the actual weight, then Acknowledge the completion of the phase.

Page 368: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

354 Chapter 9

When the addition requires multiple lots of same material, the operator must enter

the lot code for the first lot and Acknowledge the completion of the phase. Batch

Manager will decrement the actual quantity from the target, recalculate the target

quantity, and re-execute the phase. This will occur until the original target is

achieved.

Acknowledge Addition of Material

In this approach, materials are pre-weighed prior to the final production. As

materials are added, the operator Acknowledges the addition of the material. Batch

Manager records the material usage by using the target quantity as the actual

quantity.

Manual Addition - with Scale and without Scale

The addition may have two parts (for example 60 pounds of salt must be added. Salt

comes in 50 pound bags). A scale is attached to the control system. A 50 pound bag

is added to the batch. The operator enters 50 as the actual quantity and the material

lot code then Acknowledges the completion of the phase. Batch Manager will

decrement the actual quantity from the target, recalculate the target quantity, and re-

execute the phase. The remaining material (10 pounds) is weighed on the scale.

When the weight is within tolerances, the Operator must enter the material lot code

and then acknowledge the completion of the phase.

In order for the above manual addition to function properly, control system logic

must be designed to disable the scale input when the operator enters the actual bag

weights. A Control Button could be assigned to do this. The Control Button would

disable the scale from overwriting the entered value.

Process Phases with Material Output Parameters

When Batch Manager encounters a process phase that has an output type parameter,

the appropriate unit will be allocated. The actual quantity of product transferred

may or may not be measured automatically. In some cases it is desirable for the

operator to enter in the actual quantity. Either of these situations can be handled and

is determined by how the phase is configured in the process model. Batch Manager

will log to history the target and measured or operator entered actual value, if the

phase is configured as such. If the actual is not measured or the operator is not

required to enter the actual, Batch Manager will assume the actual is equal to the

target and both are logged.

For automatic process phases, Batch Manager will assign the unit to the material

and increment the material quantity in the materials database. The quantity

produced and the associated batch identification (Campaign ID, Lot ID, and Batch

ID) are logged to history.

Transfer Phases

The following section describes how to configure a transfer phase.

Page 369: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 355

Automatic Transfer Phases

When an automatic transfer phase is encountered, Batch Manager will first check if

a suitable destination unit is allocated. Once the destination unit is decided, Batch

Manager must determine the source of the transfer. If material input parameters are

defined, Batch Manager uses the material database configuration for the required

source unit. For non-material transfer phases, either a previously allocated source

unit is used or the first source unit encountered in the model is selected. In both

cases, the source unit is not automatically allocated. Once the source and

destination units have been determined, the connection is allocated. Following

allocation, Batch Manager will evaluate the status of the phase. If the phase is

Ready, the formula parameter values are downloaded to the control system and the

phase is started. Typically, the phase status will change to Run. Batch Manager will

monitor the status of the phase waiting for it to change. Under normal

circumstances, the phase status will eventually go to Done. Upon seeing the Done,

Batch Manager will Reset the phase. The phase status will return to Ready. When

Batch Manager evaluates the phase 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 phase status.

Manual Transfer Phases

Manual Type Transfer Phases require unit and connection allocation and also

require the operator to Acknowledge the completion of the phase. Manual Transfer

Phases typically include instructions which the operator must perform. When the

instructions have been performed, the operator Acknowledges the phase.

Transfer Phases with Material Input Parameters

Automatic Transfer Phases

When an automatic transfer phase with an input parameter is encountered in a

recipe, Batch Manager performs a search of the Materials database in order to find

the unit containing the material to be transferred. The connection phase that will be

executed has a source unit corresponding to the unit found in the materials database

and the allocated unit as the destination.

When the material transfer is complete, Batch Manager will decrement the material

quantity from the materials database if material tracking information has been

defined. The quantity used and the associated lot number(s) are logged to history.

When the material has multiple tracking lots defined, it is possible to use material

from more than one lot in a batch. When this occurs, Batch Manager will use a first-

in, first-out (FIFO) approach and decrement the first lot to zero, remove the lot

from the material database and decrement the remaining quantity from the second

lot. Both quantities and their respective lot numbers are logged to history.

Note The FIFO approach can be changed to last-in, first-out (LIFO) by using the

LIFO Materials application parameter for Batch Manager in the Environment

Editor.

Page 370: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

356 Chapter 9

Semi-automatic Transfer Phases

When a semi-automatic transfer phase is encountered, Batch Manager will require

an Acknowledge from the operator before the “automatic” part of the phase is

executed. However, Batch Manager does not search the Materials database for the

location of the material. A common semi-automatic transfer phase is a Drum

Addition. Typically, the phase requires the operator to prepare the drum and

delivery system before the “automatic” part of the phase can be executed. Also, the

operator may be required to enter a material lot code before recipe execution

continues. The lot code requirement is set when the phase is defined in the process

model.

Manual Transfer Phases

When a manual transfer phase is encountered, Batch Manager is responsible for the

execution of the phase. The phase does not execute in the control system, although

Batch Manager may use information, such as the Actual Value as measured by the

control system in executing the phase. The material information is stored in the

historical database, but Batch Manager does not interact with the materials database

for lot tracking information. Additionally, Batch Manager will write the Target

Value to the control system if a tag is assigned to the Target element in the process

model.

By default, when a phase executes, material information is stored in the historical

database whenever the Lot Code tag is enabled in the process model. In this case,

Batch Manager does not interact with the materials database for lot tracking

information.

If a material is assigned to a unit in the Material Location Assignment Editor, then

the associated lot tracking information will be stored to the historical database.

Depending on how the phase is configured in the process model, operator

interaction with the phase will vary. Listed below are various approaches that can

be configured in the process model for manual transfers.

Manual Addition using a connected Scale

Material is weighed by a scale that is attached to the control system. The operator is

required to enter the material lot code for the material if configured in process

model. When the weight is within the material deviations, the operator

Acknowledges the completion of the phase. Batch Manager logs the material id,

target quantity, actual quantity, and lot code to history.

When the addition requires multiple lots of the same material, the operator must

enter the lot code for the first lot and Acknowledge the completion of the phase.

Batch Manager will decrement the actual quantity from the target, recalculate the

target quantity, and re-execute the phase. This will occur until the original target is

achieved.

Manual Addition using an unconnected Scale

Material is weighed on a scale that is not attached to the control system. The

Operator is required to enter the material lot code if configured in the process

model, the actual weight, then Acknowledge the completion of the phase.

Page 371: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 357

When the addition requires multiple lots of same material, the operator must enter

the lot code for the first lot and Acknowledge the completion of the phase. Batch

Manager will decrement the actual quantity from the target, recalculate the target

quantity, and re-execute the phase. This will occur until the original target is

achieved.

Acknowledge Addition of Material

In this approach, materials are pre-weighed prior to the final production. As

materials are added, the operator Acknowledges the addition of the material. Batch

Manager records the material usage by using the target quantity as the actual

quantity.

Manual Addition - with Scale and without Scale

The addition may have two parts, For example, 60 pounds of salt must be added.

Salt comes in 50 pound bags. A scale is attached to the control system. A 50 pound

bag is added to the batch. The operator enters 50 as the actual quantity and the

material lot code then Acknowledges the completion of the phase. Batch Manager

will decrement the actual quantity from the target, recalculate the target quantity,

and re-execute the phase. The remaining material (10 pounds) is weighed on the

scale. When the weight is within tolerances, the Operator must enter the material lot

code and then acknowledge the completion of the phase.

In order for the above manual addition to function properly, control system logic

must be designed to disable the scale input when the operator enters the actual bag

weights. A Control Button could be assigned to do this. The Control Button would

disable the scale from overwriting the entered value.

Transfer Phases with Material Output Parameters

When Batch Manager encounters a transfer phase that has an output type parameter,

the appropriate destination unit and connection will be allocated. The actual

quantity of product transferred may or may not be measured automatically. In some

cases it is desirable for the operator to enter in the actual quantity. Either of these

situations can be handled and is determined by how the phase is configured in the

process model. Batch Manager will log to history the target and measured or

operator entered actual value, if the phase is configured as such. If the actual is not

measured or the operator is not required to enter the actual, Batch Manager will

assume the actual is equal to the target and both are logged.

For automatic transfer phases, Batch Manager will assign the unit to the material

and increment the material quantity in the materials database. The quantity

produced and the associated batch identification (Campaign ID, Lot ID, and Batch

ID) are logged to history.

Page 372: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

358 Chapter 9

Continue Mode Execution

As described previously, under normal circumstances Batch Manager will wait

until a process or transfer phase becomes Done or Aborted before executing the

next phase in the recipe. This behavior can be changed by enabling the Continue

Mode property for a phase in the recipe. When encountered in a batch, Batch

Manager will start the phase as it normally does. However, Batch Manager will not

wait for the phase to complete before moving on in the batch. As soon as the phase

returns a status of Run or Held, Batch Manager will continue on in the recipe. Any

phase with the continue mode property enabled and executing will remain in the

active Phase List and can be monitored and controlled just as any other active

phase. If the recipe execution has moved on to a subsequent operation or unit

procedure, the operation and/or unit procedure with a phase running with the

continue mode property enabled will be displayed in cyan. This allows the operator

to easily identify unfinished operations.

Note Use caution when enabling the continue mode property for any phase within

a loop object. Because of the risk of re-executing an active phase, batch execution

will not proceed into the loop in which a phase with the continue mode property

enabled is active. As soon as the phase completes, batch execution will proceed into

the loop.

Because the phase is executing normally, it will also have to finish just like a

normal phase. Batch execution will not end until all phases have completed.

Therefore, any phase with the continue mode property enabled is required to

complete either normally according to the internal phase logic or based upon some

external signal. An example of the use of the continue mode is vessel agitation. It is

not unusual for agitation to span multiple operations. When this is required, the

recipe builder is forced to use "one-shot" phases that start the agitator and then

complete, or to use complex branching to keep the agitator running throughout the

course of the multiple operations. Using one-shot phases is undesirable because

even though the agitator remains running, the phase is no longer active and cannot

be controlled. The branching option is also undesirable if the recipe builder does

not have experience with the process. The continue mode option allows the

agitation phase to be placed in the recipe as required without complex branching

and will remain active until it ends on its own or until another phase or external

signal tells the phase to end. Thus, it is always visible and can be controlled.

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.

Page 373: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 359

There are several methods for managing the contention of the use of the pump. One

of the methods defines each source unit - destination unit combination as a

connection in the process model. With this method only one of the transfers (one

connection) can be functioning at any one time because there is only one Pump. For

this method in the above example, there will be one connection phase for each

connection. Therefore, in our example, there will be four phase logic blocks in the

control system. Since there is only one pump to handle all four connections, the

four phase logic blocks must be interlocked with one another.

Using this method, contention for use of the pump is handled as follows. When the

batch in Unit 1 or Unit 2 is ready to transfer to either Unit 3 or Unit 4 and the

destination unit is Ready, then Batch Manager will allocate the destination unit.

Knowing the source unit and the destination unit, Batch Manager can determine

which phase logic block to enable to execute the transfer. If a transfer phase is

executing between Unit 1 and Unit 3, the phase blocks associated with the three

other connections are inhibited because of the interlocking done in the control

system. If Batch Manager needs to execute a transfer between Unit 2 and Unit 4, it

will wait until the Unit 1 to Unit 3 transfer is complete. When the transfer is

complete, the interlocks will be released on the three other connection phases. The

phase status will change from Interlocked to Ready, and Batch Manager will then

be able to proceed with the transfer.

Another method requires defining segments, as well as connections, in the Process

Modeling Editor. The segments would assume one of the statuses defined in the

model. The availability of each of the connections would correspond to the status of

all of the segments that have been assigned to the connection. Batch Manager

would only be able to utilize connections that were available.

Using this method, contention for use of the pump is handled as follows. When the

batch in Unit 1 or Unit 2 is ready to transfer to either Unit 3 or Unit 4 and the

destination unit is Ready, then Batch Manager will evaluate the availability of the

connection from the status of each segment assigned to the connection. If an

available connection is found, the destination unit and connection are allocated, and

the proper connection phase is enabled. This method requires no extra control

system interlocking. When the transfer is complete, the segment statuses will

change accordingly, and the availability of the connection will be automatically

updated.

Unit 1 Unit 2

Unit 4Unit 3

Pump 1

Page 374: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

360 Chapter 9

If connections and/or segments are not defined in the process model and transfers

are performed by coordinating the simultaneous execution of multiple process

phases, Batch Manager evaluation process is different. Batch Manager will insure

that a suitable source unit and destination unit are allocated. However, the control

system will be responsible for interlocking the remaining process phases from

executing until the transfer of material has been completed.

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 sets the Hold bit for all units allocated

to the batch and all phases that are executing in the batch. Therefore, all allocated

Units and all active phases will be in Held. When the Jump Mode is initiated, the

user is notified by a dialog that all Held phases 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 phases associated with the batch are aborting.

When the status changes from Locking to Locked, all phases 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.

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.

Page 375: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 361

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 phase in a recipe procedure. The report will be

triggered when the phase 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 phase status of READY!

Error: Unexpected phase status of RUN!

Error: Unexpected phase status of HELD!

Error: Unexpected phase status of DONE/ABORTED!

Error: Unexpected phase status of INTERLOCK!

Reason: #1 - You are trying to execute the same phase in parallel in your recipe procedure, or

there is a problem with the phase logic.

Corrective Action: Correct the recipe procedure or the phase logic.

Reason: #2 - Batch Manager was shutdown and phase logic has been left in an improper state.

Corrective Action: Manually reset the phase and restart Batch Manager.

Error: Cannot access material “material id”! - Hold Batch; Correct Problem; Restart.

Reason: Phase is an Automatic Transfer. Batch Manager cannot find the material in the Train

assigned to the batch.

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.

Page 376: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

362 Chapter 9

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.

2.Make the appropriate material-unit assignment using the Material Editor.

Error: Cannot access transfer “transfer name”! - Hold Batch; Correct Problem; Restart.

Reason: #1 - A connection associated with the transfer cannot be found in the train.

Corrective Action: Put the batch in Hold. Modify the Train to include the appropriate unit that would

support the transfer. Restart the batch.

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.

Reason: #3 - The connection has not been entered in the process model.

Corrective Action: Abort the batch. Stop execution of the Batch Management System. Add and assign the

connection to the appropriated transfer class using the Process Model Editor. Restart the

Batch Management System.

Error: Cannot access process “process name”! - Hold Batch; Correct Problem; Restart.

Reason: A unit associated with the process cannot be found in the train. The unit needed for the

process was most likely deleted from the train 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: Phase param tag read timeout (Note: Error is reported in the Batch Logger)

Timeout exceeded allowable value! for param tag read at end of phase - only when

using remote 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.

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.

Error: Batch Status is not READY!

Page 377: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 363

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

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.

Page 378: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

364 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” on page 364.

5. The statuses of all phases are unchanged during a system failure that does not

involve the control system. In other words, phases that were executing before

the failure will continue to execute during the failure. However, phases 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 phases, and upon resuming these

batches, Batch Manager restarts or resets the affected phases.

6. The mode of all batches and the value of all phase 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 phases 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.

Page 379: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 365

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 phase 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 phase 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 phase transition,

or it is unsafe for the phase 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 phase

in the control system following a shutdown and restart. The columns refer to the

status of the phase 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 phase status is correct and will re-sync with the control system and

continue operation.

For example, suppose the batch management system was controlling a phase that

was previously in a status of Run. If the batch control system is shutdown and the

phase 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 phase to Done, and initiates a phase Reset.

However, if the control system is also shutdown and the status of the phase

becomes Ready, then Batch Manager assumes the control system and possible

human intervention caused the phase to go to Ready. Batch Manager assumes the

phase is done and continues on to the next phase.

Last Known Phase Status as Viewed by Batch Manager

Current Control SystemPhase 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

Page 380: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

366 Chapter 9

Manual Operation

The flexibility that Manual Operation provides does present the possibility of some

unusual phase states. This section describes the precautions and considerations that

you should be aware of when using phantom batches. If you need to access Manual

Operation, you must be aware of the phases that are executing manually, and must

be able to resume or abort the phases after a system failure. You should also be

aware of how Batch Manager initializes Batch Display for Target, Hi Dev and Lo

Dev values when tags are assigned to them.

If Manual Operation is being utilized and a system failure occurs, the following

sequence of events will occur. Operator actions are required to rectify the manual

operation status.

1. All equipment that had been manually allocated in order to execute phases

through the manual operation batch will not be allocated when the system is

restarted.

2. All phases that were active prior to the system shutdown will be active while

the system is shutdown. However, the state of the phases will be unknown to

the system when it is restarted.

3. The operator using manual operation is responsible for returning to the manual

operation batch, manually allocating the equipment that had been previously

manually allocated, and starting the phases that had been previously active.

4. Upon re-starting the previously active phases, the status of the phase will be the

current status of the phase in the control system. Thus, the phase may go to run,

held, done, or aborted depending on the actual state of the phase in the control

system.

5. The operator can continue manual operation as normal.

Note Manual Operation can be made accessible only by personnel with the proper

security clearance. Therefore, it is their responsibility to clean up the manual

operation phases following a system failure. Failure to properly clean up the

manually operating phases can cause problems when scheduled batches require the

use of the “stray” phases. It is also recommended that when Manual Operation is in

use and a system failure occurs, that Batch Manager be restarted without the

Restarting Batches option. This will ensure that all batches are resumed in held and

that none of these batches can automatically allocate equipment that is needed to

clean up any phase executed using manual operation.

Batch Display Attribute Considerations

If you are using Manual Operation and have created and configured tags for the

Target, Hi Dev, and/or Low Dev elements in your process model, you must be

aware that the elements displayed in Batch Display, regardless of how they are

configured in the process model database may not appear as you expect. For

example, in your process model, you may have created a tag for an analog data

class. For the ‘Hi Dev’ element, you may have disabled the ‘Edit Allowed’

attribute. When you schedule and execute a phantom batch, the ‘Edit Allowed’

attribute of the tag will be enabled. Batch Display will therefore allow the ‘Hi Dev’

value to be edited even though your process model was configured to disable it.

Page 381: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Batch Management System 367

The following table shows the relationship between each tag data class and

element, and how the Enable Display and Edit Allowed attributes are forced in

Batch Display.

Tag Data Class and Element

Tag Display Attribute

Enable Display Edit Allowed

Analog Target Hi Dev Low Dev Always Always

Discrete Target N/A N/A Always Always

String Target N/A N/A Always Always

Enumeration Target N/A N/A Always Always

Page 382: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

368 Chapter 9

Page 383: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

History System 369

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 24, "System Administration."

For more information regarding the Information Server and how to use Seagate

Crystal Reports, see Chapter 11, "Reporting System."

Page 384: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

370 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

Page 385: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

History System 371

AuditEvent

The AuditEvent table contains one record for every security system event that is

generated during batch execution.

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

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

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

Page 386: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

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

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

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

Page 387: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

History System 373

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.

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

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

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

Page 388: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

374 Chapter 10

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

Code Description

Page 389: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

History System 375

Config

This table is used by the reporting system to hold configuration settings.

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.

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

Field Allow Null Type Length

Tag No varchar 256

Value No varchar 256

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

Code Description

Page 390: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

376 Chapter 10

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.

ErrorQ

The ErrorQ table is used by the History Queue.

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

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

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

Field Allow Null Type Length

Page 391: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

History System 377

Event

The Event table stores all InTouch Alarms and Events that the batch system can

associate to specific batches.

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

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

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

Page 392: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

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

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

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

Page 393: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

History System 379

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.

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.

Phase_Label No varchar 8

UnitOrConnection No varchar 16

UnitProcedure_ID No varchar 16

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

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

Field Allow Null Type Length

Page 394: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

380 Chapter 10

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.

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.

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.

Phase_Label No varchar 8

SeqNum No int 4

UnitOrConnection No varchar 16

UnitProcedure_ID No varchar 16

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

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

Field Allow Null Type Length

Page 395: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

History System 381

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.

ReportDef

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

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

Field Allow Null Type Length

ID No int 4

AutoBatchEnd No int 4

Page 396: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

382 Chapter 10

ReportLog

ReportOutputTypes

ReportPrinters

ReportQueue

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

Field Allow Null Type Length

ID No int 4

Filename No varchar 260

ReportName No varchar 32

TimeStamp No datetime 8

Field Allow Null Type Length

FilenameExtension No varchar 10

MimeType Yes varchar 50

Name No varchar 32

Value No int 4

Field Allow Null Type Length

Driver No varchar 252

Name No varchar 252

Port No varchar 252

Field Allow Null Type Length

ID No uniqueidentifier 16

BeingProcessed No bit 1

FilenamePrefix No varchar 128

Field Allow Null Type Length

Page 397: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

History System 383

ReportQueueParams

ReportViewers

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.

TransitionExpression

The TransitionExpression table contains a record for each Transition Expression

that is encountered during batch execution.

Name No varchar 32

NumAttempts No int 4

Field Allow Null Type Length

ReportQID No uniqueidentifier 16

Name No varchar 32

Value No varchar 8000

Field Allow Null Type Length

Name No varchar 50

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

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

Field Allow Null Type Length

Page 398: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

384 Chapter 10

UserProfile

The UserProfile table contains a record that describes a user's identification.

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

Field Allow Null Type Length

Effective_TS No datetime 8

User_ID No varchar 16

User_Name No varchar 30

Field Allow Null Type Length

Page 399: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 385

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.

Page 400: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 401: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 387

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.

ReportOutput

Crystal Reports

Directory

Web Server (IIS)

Crystal ServerComponent

Batch ReportingServer Components:- Define

- Schedule

- Demand- Security Intrface

Reporting Portal

Web Page

ReportConfig

ReportView

HTTP

Web Browser

SQL Server 7.0

SQL Job

Table

Report ConfigTable

History

Tables

ReportSchedule

REPORTING CLIENT

BATCH INFORMATION

SERVER

Page 402: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

388 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 24,

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

Page 403: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 389

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.

Page 404: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 405: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 391

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.

Page 406: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 407: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 393

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.

Page 408: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 409: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 395

2. All report schedules that have been previously defined will appear in the

Report Schedule list.

Page 410: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 411: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 397

Report Schedule Properties

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.

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.

Page 412: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

398 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

Page 413: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 399

Add One Time Schedule

Use this option if you want the report to execute one time.

Add Daily Schedule

Use this option if you want to schedule the report for daily execution.

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.

Run Date/Time Date and the Time that you want the report to execute.

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.

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.

Page 414: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

400 Chapter 11

Add Monthly Schedule

Use this option if you want to schedule the report for monthly execution.

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.

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.

Parameter Description

Page 415: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 401

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

Page 416: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 417: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 403

2. All of the reports that have been previously defined will appear in the Reports

list.

Page 418: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 419: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Reporting System 405

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.

Page 420: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

406 Chapter 11

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.

Report Name Description

Page 421: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Logging 407

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.

Page 422: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 423: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Logging 409

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.

Page 424: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

410 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).

Page 425: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Logging 411

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.

Page 426: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

412 Chapter 12

2. The Validatewindow 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.

Page 427: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Logging 413

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.

Page 428: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

414 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 Editmenu 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.

Page 429: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Logging 415

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.

Page 430: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 431: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Logging 417

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

Page 432: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 433: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Logging 419

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.

Page 434: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

420 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 Validatewindow 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.

Page 435: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Process Logging 421

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

Page 436: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

422 Chapter 12

Page 437: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 423

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.

Page 438: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 439: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 425

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.

Page 440: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 441: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 427

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.

Page 442: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 443: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 429

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.

Page 444: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 445: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 431

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 andOp 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 clickChange 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.

Page 446: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 447: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 433

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.

Page 448: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 449: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 435

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.

Page 450: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 451: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 437

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.

Page 452: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

438 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

Page 453: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 439

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.

Environmenmt

Display

Start/Stop Apps Enables the startup and stopping of the Environment 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

Application Function Description

Page 454: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Page 455: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Security System 441

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.

Page 456: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

442 Chapter 13

Page 457: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Expression Editor 443

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.

Page 458: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

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.

Edit Area

Numeric

Keypad

Formatting

Commands

Formatting

Commands

Functions

DelimitersOperators

Page 459: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Expression Editor 445

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.

Page 460: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

446 Chapter 14

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.

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.

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

Equal To

<= TRUE if previous operand is less than or equal to next operand; else FALSE.

Greater Than > TRUE if previous operand is greater than next operand; else FALSE.

Greater Than or

Equal To

>= TRUE if previous operand is greater than or equal to next operand; else FALSE.

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.

Operand Type Description

Numeric Constant Numeric Numeric Values. (e.g. 123.456)

String Constant String String of characters within double quotes. (e.g. “Allocated”)

Function Example Description

Ask Ask (“Continue?”) Used only in the Recipe Editor to ask yes/no type questions of

operators.

AskDoneBy AskDoneBy

(“Continue?”)

Used only in the Recipe Editor to ask yes/no type questions that

require confirmation that the question has been answered.

AskCheckBy AskCheckBy

(“Continue?”)

Used only in the Recipe Editor to ask yes/no type questions that

require confirmation and verification that the question has been

answered.

Page 461: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Expression Editor 447

Delimiters

There are five delimiters that are used to identify operands and to build expressions

within expressions (recursive 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.

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.

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.

Function Example Description

Page 462: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

448 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?") &

WaitSec(10)

Valid Though not obvious, this expression has exactly the same end result as

the one above.

WaitSec(10) Or

WaitSec(5)

Invalid The "Or" operator is invalid. Use the | character.

Page 463: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 449

C H A P T E R 1 5

Phase Logic Development and

Testing

The batch management system controls and monitors the execution of batches

through equipment phases. A phase is an independent processing action that 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

phases can reside in many different locations, the interface between the batch

management system and the phase is the same and must follow certain guidelines.

This section is intended to provide the control engineer with information on how to

design and test phase logic blocks. A phase 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 phase logic, and is intended to be used strictly as a guide. The

concepts can be applied regardless of the control system in which the phases are

being written.

For more information on implementing unit and phase logic in various control

systems refer to Chapter 5, "Tag Linker."

Contents

• Phase Block Design Guideline

• Using the Phase Logic Testing Tool

• Exercising Phases

Phase Block Design Guideline

The following section describes the general design of a phase block.

Page 464: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

450 Chapter 15

Definition of a Phase Block

The basic building block used for coordinating the control system communication

with the batch system is the phase block. Also called a phase, the phase block is a

small portion of control system logic that conducts an independent action within a

process or transfer class associated with a batch. Some examples of phase blocks

are ramp heat, ramp cool, soak, and bulk add. Phase blocks are associated with each

unit or connection in a particular modeling class. Therefore, there could be an

agitator phase block corresponding to a reactor, as well as an agitator phase block

corresponding to a receiving tank.

It is recommended that phase blocks be designed as self-contained as possible. This

will allow the phase blocks to be moved from one control system to another with

minimum alterations. Thus, a large library of phase 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 phase 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.

• Phase logic should be modular for easy duplication and transferability.

• Phase logic must utilize the standard interface between the control system and

the supervisory computer.

• Phase blocks can be written independently of one another.

• Phase 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.

• Phase logic structure should be standardized for ease of troubleshooting.

• Phase logic should be available for multiple use within the operational

program.

• Phase logic should consist of a minimum amount of code without

compromising functionality or safety.

• Phase logic complexity should be geared to the level of the technical support

staff.

Phase Block Rules of Operation

This section summarizes the general rules to be followed when planning and

constructing the operation of a phase 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 phase block should reside

within that phase block.

• An interlock is a pre-run condition of a phase block that prevents the phase

block from being operated.

• An alarm is generated by either a runtime conditional error or a device failure.

Page 465: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 451

• Critical alarms put the corresponding phase block(s) on hold if they are

currently executing.

• On an initial control system power on sequence, the status of all phase 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

phase 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 phase logic blocks that utilize the outputs.

• It is the responsibility of the control system logic to recognize and react to unit

control bits. These control bits include Unit Hold, Unit Restart, and Unit Abort.

Function Block Diagram

There are eight main components to a phase block. These include the phase control

bits, phase 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 phase block acts on this

information to control the process equipment. Each of the components will be

discussed in greater detail later in this section.

Page 466: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

452 Chapter 15

Operational Flow Chart

There is a logical progression that the phase block logic should follow. As can be

seen in the flow chart, the phase block uses the phase control bits to proceed

through the code as long as the particular phase status bits are satisfied. Code must

also be written to provide the phase block with interlock and alarm conditions.

The following is a brief explanation of the sequence of events for a typical phase

block. When a phase block is inactive, the phase status is ready. The only way this

is not true is when the phase 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 phase 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 phase control hold command,

or by the occurrence of a critical alarm condition. From the held state, the phase

block can either be restarted or aborted. The restart command will resume the phase

block operation. The abort will put the phase block in the aborted state and end the

block operation. The batch control system monitors this aborted status, and sends a

phase reset command to return the block to the ready state. If the phase block

continues to completion, the status becomes done. The batch control system

monitors this done status, and similar to the aborted, sends a phase reset command

to return the block to the ready state. This sequence of events is followed each time

the phase block is included in the current batch control system recipe configuration.

Page 467: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 453

Page 468: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

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

Phase Block Memory Guidelines

In the phase block concept, some memory rules and constraints have been

established to make phase blocks consistent and portable. These guidelines are

described below.

• Determine the number of phase 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

phase block logic requirements (timers, counters, etc.), then allocate memory

accordingly while also allowing for expansion.

• Whenever possible, phase 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.

Page 469: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 455

General

In order to achieve goals of modular, self-sufficient, independent phase blocks, the

structure of the control system code for each phase block and for entire processes

must be consistent. This is necessary so that phase blocks can easily be placed in

other processes with little reprogramming. The following sections provide a

guidelines that has been established for structuring individual phase 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.

Phase Block

A template has been created to assist in the structuring of a phase block. As can be

seen from the diagram on the following page, the phase 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.

• Phase Control

This section of the phase block handles the manipulation of the phase control

bits needed to operate the phase logic. The batch management system enables

the appropriate control word within the control system associated with a

particular phase block. The phase logic must be written to interpret this word

and resolve the individual control bits of the word to the start, restart, hold,

abort, and reset commands. It is recommended that the phase 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 automatic and semi-automatic phase block.

• Control Buttons

The section of the phase block corresponding to the control buttons is

constructed similarly to the phase 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. This section can be used in automatic, semi-automatic,

and manual phases, but is optional and depends on the function of the phase.

• Interlocks

The interlock section of the phase block defines only the specific interlock

conditions associated with that phase block. Each interlock condition is

assigned to a discrete memory point and to a tag 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 phase block.

• Alarms

The alarm section handles all error conditions specifically associated with the

phase block. All of the alarms appropriate to the phase are placed in parallel

with each other to engage a single discrete point that is used through the

remainder of the phase logic to affect the operation of the block. This section

will appear only if there are alarms associated with the phase block.

Page 470: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

456 Chapter 15

• Phase Status

The phase status section includes the logic necessary to place the phase block

into any one of the possible states. The possible phase status values are ready,

run, held, done, interlocked, and aborted. Only one of these modes may be

enabled at any time. When all of the status control logic has been evaluated, the

results are transferred to the phase block status word that is monitored by the

batch management system. This section must be included for every automatic

and semi-automatic phase block.

• Functional Logic

The remainder of the phase block is used to write the logic that is necessary to

perform the required process or transfer action. This section will vary in size

and complexity depending on the phase block operation, and will contain the

computational, comparison, and timing functions required by the phase block.

This section will also include code that is associated with any formula

parameters that may be assigned to the phase block, as well as logic necessary

to energize process outputs.

Page 471: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 457

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 below on the facing

page, 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. The code for this section will be located

between any transfer classes defined in the model that use this process class.

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 control system code for all of the

phases defined for the unit.

• Transfers

Each defined transfer in the process model will have a corresponding transfer

section in the control system program. This section will be located just prior to

the transfer’s destination process class section of the control system program.

Within each transfer section will be the connections associated with the

transfer in the model.

• Connections

Within each transfer section of the control system program will be the logic

corresponding to the connections defined for the transfer class in the process

model. Within each of these connections, there will exist the control system

code for all of the phases defined for the connection.

• Phases

The control system code for the phase blocks assigned to each of the defined

units and connections will appear after the appropriate unit or connection

section of the program. The number of phase blocks will vary with the

sophistication of the system.

• Unit Control and Status Words

The code for the unit control and status words is typically kept together in one

section of the program. This code will receive all of the relevant batch hold,

restart, and abort commands from batch control system and perform the

requested action on each of the phases associated with this unit.

• 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 phase

logic to affect the operation of a phase as desired.

Page 472: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

458 Chapter 15

• 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 phase

logic necessary to manipulate the outputs. Also, any manual device operation

logic would be present in this section.

Unit Control

The following section describes the principals of unit control.

Page 473: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 459

General

The batch control system transmits its batch requests to the control system through

a series of tags that are mapped to the memory of the control system. One group of

these requests is for handling the unit control commands. The control bits used for

each unit are hold, restart, and abort. When the batch control system desires to alter

the status of a recipe, it writes to a tag in the control system that corresponds to the

particular unit control bit. Similar to the phase control bits, these commands are

typically packed into a word in order to maximize control system memory. In the

control system program, the unit control word can be monitored continuously or

upon a change of status. Each of the commands is read as a one-shot action, and

only one request is transmitted at a time. The particular control bits are utilized

within each phase block associated with the particular unit and the phase operation

responds accordingly. Transfer phases that utilize a unit that is being placed on hold

will act according to customer specifications. Usually, when the unit is the source of

the transfer, the phase will hold, and when the unit is the destination of the transfer,

the phase will continue to completion. It is recommended that the control system

also contain unit status bits. These status bits are not monitored by the batch

management system, but are very useful within the operation of the control system

program. The defined unit control bits and recommended unit status bits are

described in this section.

The batch control system provides an enhanced Unit Control option which consists

of two Hold Propagation modes that can be used to propagate a phase Hold during

batch execution. These Hold Propagation modes are described later in this section.

• Hold

The unit hold command is enabled by the batch management system for all

units that are allocated when a batch hold command is executed. The phase

blocks associated with the unit will respond according to the user specification.

When the unit hold bit is enabled, none of the remaining unit control bits will

be set.

• Restart

The unit restart command is enabled by the batch management system for all

units that are allocated when a batch restart command is executed. The phase

blocks associated with the unit will respond according to the user specification.

When the unit restart bit is enabled, none of the remaining unit control bits will

be set.

• Abort

The unit abort command is enabled by the batch management system for all

units that are allocated when a batch abort command is executed. The phase

blocks associated with the unit will respond according to the user specification.

When the unit abort bit is enabled, none of the remaining unit control bits will

be set.

• Ready

The ready bit is an optional status value that can be generated and used within

the control system to keep track of the status of a particular unit. Generally, the

ready status bit will be set when there is no execution of any of the phase

blocks associated with the unit and all of the phases have been reset and are

ready for execution. When the ready status control relay is enabled, none of the

remaining unit status bits should be set. This status bit is only used within the

control system program, and is not monitored by batch control system.

Page 474: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

460 Chapter 15

• Run

The run bit is an optional status value that can be generated and used within the

control system to keep track of the status of a particular unit. Generally, the run

status bit will be set when any of the phase blocks associated with the unit have

been started and everything in the phase blocks is executing normally. When

the run status control relay is enabled, none of the remaining unit status bits

should be set. This status bit is only used within the control system program,

and is not monitored by batch control system.

• Held

The held bit is an optional status value that can be generated and used within

the control system to keep track of the status of a particular unit. Generally, the

held status bit will be enabled only after the unit hold bit has been received

from the batch management system. When the held status control relay is

enabled, none of the remaining unit status bits should be set. This status bit is

only used within the control system program, and is not monitored by batch

control system.

• Aborted

The aborted bit is an optional status value that can be generated and used

within the control system to keep track of the status of a particular unit.

Generally, the aborted status bit will be set only after the unit abort bit has been

received from batch management system. When the aborted status control

relay is enabled, none of the remaining unit status bits should be set. This status

bit is only used within the control system program, and is not monitored by

batch control system.

Page 475: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 461

Unit Status

The following figure shows the unit block interface between the batch management

system and the control system logic. Note that there is no START control signal in

the following figure as there is for phases in the Phase Block Control State

Diagram.

Before allocating a unit, the batch management system checks the unit status. If it is

an acceptable value, it allocates the unit.

On Batch Client displays, when a batch (not a phase) Hold, Restart, or Abort action

is initiated, the Batch Manager sends the corresponding unit control signal to all of

the units allocated for the corresponding batch. The Batch Manager does not verify

that these unit control signals are used.

Control System logic is responsible for setting the unit status, which is monitored

by the Batch Manager for a satisfactory status before allocating the particular unit.

During batch execution, the Batch Manager sends batch status information (Run,

Held, and Aborting) to all of the unit blocks associated with the batch.

Page 476: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

462 Chapter 15

Note Batch Manager generates unexpected status error messages during phase

logic execution if the status change is against the rules for phase logic. (For

example, the phase status goes from Held to Ready.) These messages will not be

generated for the following scenarios:

1) A unit is not allocated, has an Available status, but has Run, Held, or Alarm state.

2) A unit state goes to Ready while phases for that unit are still active.

Caution! Use caution when creating unit control and state control logic to ensure

that these improper state transitions do not occur.

Hold Propagation

The batch system provides two Hold Propagation modes which can be used to

propagate a phase Hold during batch execution. Hold Mode functionality is

enhanced when you use the Unit Control option since the Unit State is included in

the unit control logic. A brief description of the Hold Modes is described below. For

more information on Hold Propagation and enabling the Unit Control option, see

Chapter 9, "Batch Management System."

Mode 1

The Batch Manager will set the Unit Hold tags whenever an operator puts a batch in

Hold and control system logic is responsible for putting all its phases in Hold.

Using this mode, if a unit or phase goes to Held state, no action is taken by the

Batch Manager.

Mode 2

The Batch Manager monitors all phases and if any phase goes to Held state or if the

operator puts the batch in Held state then all other phases associated with the batch

are issued a Hold command.

Phase Control

The following section describes the principals of phase control.

Page 477: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 463

General

The batch control system transmits its phase requests to the control system through

a series of tags that are mapped to the memory of the control system. One group of

these requests is for handling the phase control commands. The control bits

available for each phase 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

phase block, it writes to a tag in the control system that corresponds to the particular

phase control bit. These commands are typically packed into a word in order to

maximize control system memory. In the phase logic, the phase control word can be

monitored continuously or upon a change of status. Each of the commands is read

as a one-shot action, and only one request is transmitted at a time. The particular

control bits are utilized within the phase block, and the phase operation responds

accordingly. The phase control bits are described below.

• Start

The phase start command is enabled by the batch management system for a

phase as it is encountered in a batch. Generally, the start command will begin

the execution of the requested phase and put the phase status in the run state.

When the phase start bit is enabled, none of the remaining phase control bits

will be set. Finally, the batch management system cannot send a request to start

a phase block unless the phase block status is in the ready state.

• Hold

The phase hold command is enabled by the batch management system for a

phase whenever the hold command button is selected. Generally, the hold

command will suspend the execution of the particular phase. When the phase

hold bit is enabled, none of the remaining phase control bits will be set. Finally,

the batch management system cannot send a request to hold a phase block

unless the phase block status is in the run state.

• Restart

The phase restart command is enabled by the batch management system for a

phase whenever the restart command button is selected. Generally, the restart

command will resume the execution of the requested phase, and return the

status of the phase block to the run state. When the phase restart bit is enabled,

none of the remaining phase control bits will be set. Finally, the batch

management system cannot send a request to restart a phase block unless the

phase block status is in the held state.

• Abort

The phase abort command is enabled by the batch management system for a

phase whenever the abort command button is selected. Generally, the abort

command will end the execution of the requested phase and put the phase

status in the aborted state. When the phase abort bit is enabled, none of the

remaining phase control bits will be set. Finally, the batch management system

cannot send a request to abort a phase block unless the phase block status is in

the held state.

Page 478: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

464 Chapter 15

• Reset

The phase reset command is enabled by the batch management system for a

phase whenever the phase has completed normally or been aborted. Generally,

the reset command will return all of the phase logic to its original state and put

the phase status in the ready state. When the phase reset bit is enabled, none of

the remaining phase control bits will be set. Finally, the batch management

system cannot send a request to reset a phase block unless the phase block

status is in either the done or aborted state.

Phase Status

The following section describes the principals of phase status.

General

The batch control system recognizes the current status of a phase block through a

series of tags that are mapped to the memory of the control system. One group of

these requests is for monitoring the status of each phase. The status bits available

for each phase are ready, run, held, done, interlocked, and aborted. Only the ready

and done bits are required. When the phase block status changes, either via the

phase logic or from a request from the batch management system, the phase status

word is set accordingly. In the phase block, the phase status word can be

continuously written or written only when the status changes. When a phase status

changes in the control system, the bit associated with that status in the phase status

word is altered. All phase status changes must be transmitted to the batch

management system through the phase status word. It is required that the phase

block be in only one state at a time. The phase status bits are described below.

• Ready

The ready status bit is enabled by the control system for all phases ready to run.

Generally, the ready status bit will be set when there is no execution of the

phase 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 phase

status bits may be set. Finally, the batch management system cannot send a

request to start a phase block unless the phase block status is in the ready state.

• Run

The run status bit is enabled by the control system for all executing phases.

Generally, the run status bit will be set when the phase 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 phase status bits may be set.

Finally, the batch management system cannot send a request to hold a phase

block unless the phase block status is in the run state.

• Held

The held status bit is enabled by the control system for all phases that have

been put on hold either by the batch management system or from the

occurrence of a critical alarm. Generally, the phase logic freezes the current

operation in progress, and places the block in the held state. However, the

actual operation of the phase logic while in the held state is application

specific. When the held status bit is enabled, none of the remaining phase

status bits may be set. Finally, the batch management system cannot send a

request to restart or abort a phase block unless the phase block status is in the

held state.

Page 479: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 465

• Done

The done status bit is enabled by the control system for all phases that have

finished their execution. When the done status bit is enabled, none of the

remaining phase status bits may be set. Finally, the batch management system

cannot send a request to reset a phase block unless the phase block status is in

the done, or as will be seen below, the aborted state.

• Interlocked

The interlocked status bit is enabled by the control system for all phases in

which a condition prevents their safe execution. Generally, the interlocked

status bit will be set before the start of execution of the phase block. The

interlocked status represents a condition of the process which prevents proper

operation of the phase block. When the interlocked status bit is enabled, none

of the remaining phase status bits may be set. Finally, the batch management

system cannot send a request to start a phase block if the phase block status is

in the interlocked state.

• Aborted

The aborted status bit is enabled by the control system for all phases that have

been aborted. The only way this bit can be turned on is by placing the phase

block on hold and then selecting the abort option. Therefore, it is impossible to

abort a phase without first placing the phase in hold. When the aborted status

bit is enabled, none of the remaining phase status bits may be set. Finally, the

batch management system cannot send a request to reset a phase block unless

the phase block status is in aborted, or the done state.

Formula Parameters

The following section describes the configuration of formula parameters.

Page 480: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

466 Chapter 15

General

The phase block parameters correspond to the temperatures, times, speeds, rates,

quantities, and alarm settings configured in a particular formula for a recipe in the

batch control system. The formula parameters are downloaded to the control system

just prior to the phase start command. The control system receives the desired

values and returns any corresponding actual values. Phase blocks can have no

parameters, or they can have many parameters.

Parameter Types

There are three types of parameters: Input, Output, and Process Variable.

Input parameters are used to define and monitor the addition (input) of a material

to a batch. A common Input parameter is Quantity.

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 phase should function when

the phase 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.

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

Page 481: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 467

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 phase block that is in operation. This value is one

that has been configured within the batch control system and is specific to the

current recipe as well as the phase block. Generally, the target value parameters will

consist of process temperatures, timer values, and transfer quantities.

Actual Value

The actual value extension consists of a specific numerical value that originates

within the phase block logic and is transferred to batch control system. This value

corresponds with a target value that has been passed to the phase 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 phase block.

An example of an actual value would be the time remaining as the soak phase 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 phase 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 phase 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.

Page 482: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

468 Chapter 15

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.

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 phase block may contain two control buttons that are available for whatever

functions the phase 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

phase block. Phase blocks can have any number of interlocks, as well as share

interlock conditions with multiple phase blocks. The interlocks are found in the

interlock section of the program corresponding to the unit or connection with which

they are associated. Usually, the interlocks correspond to an output device. If a

particular interlock condition exists, the respective interlock bit is set, the phase

status interlock bit is set, and the phase block is unable to be started. Interlock

conditions must be changed for the interlock to clear and the block to become

ready. Also, interlock conditions are disabled if the phase block is in operation.

Some examples of phase block interlocks are listed below.

• Reactor discharge valve open prevents the operation of any phase block that

adds bulk ingredients to the reactor.

• The level in a reactor must be a certain height before the agitator phase block

can be started.

Page 483: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 469

Alarms

Alarms are conditional statements that can be enabled at any time and can alter the

status of a particular phase block. Phase blocks can have any number of alarms. The

alarms are found in the alarm section of the program corresponding to the unit or

connection with 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 phase 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 phase block. If a particular alarm condition exists, the respective

discrete memory location is enabled, the phase block alarm is set, and if it is a

critical alarm, the phase block status may be altered.

Note It is recommended that, for the safety of process personnel, alarms are

configured as critical alarms whenever possible so that the phase block must be

manually restarted.

Some examples of phase block alarms are listed below.

• Reactor discharge valve fails to open or close and disrupts the operation of a

transfer phase block, setting an alarm bit that is read by batch control system,

and putting the transfer phase 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 or connection section of the program, and demand a more formal

structure.

Because a particular output may be referenced in more than one phase block within

a unit or connection, a conflict could arise if the direct output address is used in

multiple places of the program. Therefore, it is strongly suggested that all outputs,

no matter how many times they are used, be placed in the global output section.

Any phase 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 phase 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 phase logic. This ensures that the outputs are disengaged.

Page 484: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

470 Chapter 15

Using the Phase Logic Testing Tool

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 phase

logic block and the Batch Manager. Each and every phase 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:

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.

For more information on editing the environment system, see Chapter 3,

"Environment Management System."

The Phase Logic window will appear.

Page 485: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Phase Logic Development and Testing 471

From this window, phases for any unit or connection 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 phases before

exiting the Phase Logic testing tool. If a phase is not properly reset, the batch

management system will be unable to successfully use that phase in a batch.

Page 486: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

472 Chapter 15

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 Phases

A phase 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 or connection that contains the phase that you want to execute

from the Units/Connections list.

The Phases list will update to show the process or transfer phases available for

the selected unit or connection.

2. Select the phase to be executed from the Phases list.

The Parameter list updates to show any formula parameters defined for the

selected phase.

Note Phases are not required to have formula parameters.

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

phase.

The Status signals will change to show the current state of the phase.

For more information on the handshaking between the phase control and status

commands, see “Operational Flow Chart” on page 452.

Note It is very important to Reset each phase when the state of the phase is either

Done or Aborted.

5. Click the Interlocks button to view any interlock tags assigned to the phase.

The Interlocks window will display all of the interlock tags and their current

values.

Page 487: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 473

C H A P T E R 1 6

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.

Contents

• Overview

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

Page 488: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

474 Chapter 16

Configuring InTouch WindowMaker to use

InBatch Active-X GUI controls

You must first add the Active-X controls to the WindowMaker environment by

selectingWizard/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:

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

Page 489: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 475

.

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.

Page 490: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

476 Chapter 16

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.

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.

Page 491: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 477

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

PortBatchMngr These properties define the tcp/ip port

definitions for the connection to the Batch

Server. The port definitions are pre-defined

with the default numbers used on the Batch

Server. These must match the port definitions

used on the Batch Server in order for

communications to be successful. Only

change these properties if you have changed

the port definitions on the Batch Server

because of a system conflict.

PortEnvMngr

PortInfoMngr

PortRedMngr

PortSecMngr

PortUnilinkMngr

Page 492: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

478 Chapter 16

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

Page 493: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 479

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

Page 494: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

480 Chapter 16

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.

Page 495: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 481

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.

Page 496: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

482 Chapter 16

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

Page 497: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 483

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.

Page 498: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

484 Chapter 16

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.

Page 499: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 485

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.

Page 500: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

486 Chapter 16

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.

Page 501: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 487

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.

Page 502: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

488 Chapter 16

Copy this control seven (7) more times and configure the copies as the Delete,

Change, CleanUp, Initialize Batch, Initialize All, Move Up, andMove

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.

Page 503: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 489

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.

Page 504: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

490 Chapter 16

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

selectingWizard/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.

Page 505: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 491

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.

Page 506: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

492 Chapter 16

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

Page 507: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 493

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.

Page 508: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

494 Chapter 16

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.

Page 509: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 495

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.

Page 510: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

496 Chapter 16

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

Page 511: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 497

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.

Page 512: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

498 Chapter 16

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

Page 513: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 499

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)}

Page 514: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

500 Chapter 16

{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 wasrequested. }

IF #ThisEvent.FunctionClearanceCompleteUserData == 100THEN

XV100_MAN = 1;

ENDIF;

IF #ThisEvent.FunctionClearanceCompleteUserData == 101THEN

XV101_MAN = 1;

ENDIF;

IF #ThisEvent.FunctionClearanceCompleteUserData == 102THEN

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.

Page 515: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 501

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 ResultAs BATCHSECCTRLLibCtl.secResultType, ByVal ApplicationID AsLong, 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)

Page 516: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

502 Chapter 16

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

Page 517: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Active-X GUI Controls 503

{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;

Page 518: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

504 Chapter 16

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 wasrequested. }

SEC_GRANTED = #ThisEvent.FunctionClearanceCompleteUserData;

ELSE

{ Security failed. Display error message }

OPR_MESSAGE = #ThisControl.LastErrorMessage;

ENDIF;

Page 519: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 505

C H A P T E R 1 7

InTouch Batch Wizards

InBatch Wizards give InTouch users the ability to create their own customized

batch displays. The InBatch Wizards are installed in the InTouch directory during

InBatch Batch Runtime Client installation. They are accessible from InTouch

WindowMaker.

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

Contents

• Overview

• InBatch Wizard Access Names and Support Tags

• Using InBatch Wizards

• InBatch Wizard Descriptions

• InBatch Wizard Data Change Script

Overview

An InBatch Wizard is a predefined set of graphical objects and animation links that

provide InTouch applications with the ability to perform batch control and

monitoring.

Wizards help reduce application development time. Wizards are inserted into an

InTouch application window by selecting the Wizards icon from the WindowMaker

toolbar. When a wizard is placed on a window, graphical objects are drawn,

animation links are created and all of the tags required for the wizard are generated

in the InTouch Tagname Dictionary. When a wizard is double-clicked, a

configuration dialog box appears. A list of the properties that can be configured is

displayed.

When a wizard is selected, large control handles surround it. A wizard can be scaled

by clicking and dragging one of the control handles. Wizards can be separated into

individual, ungrouped graphical components by selecting it then choosing the

WindowMaker Arrange/Break Cell menu option. Once broken, a wizard simply

becomes a set of InTouch graphical objects with their respective animation links.

Page 520: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

506 Chapter 17

Note Wonderware has taken great care in organizing each wizard so that the

graphical objects within it are proportionately sized and spaced for visual appeal.

The Wizards often contain complex action scripts and expressions to ensure proper

functionality. A thorough understanding of the Tag Interface Management (TIM)

subsystem is recommended when breaking apart InBatch Wizards.

InBatch Wizard Access Names and Support Tags

One Access Name is added to the application and three tags are added to the

Tagname Dictionary when an InBatch wizard is placed on a window.

The Access Name, IB_TIM_TAGS, is used to refer InTouch to the InBatch Server

(IBServ) application on the batch server node. By default, the Node Name,

Application Name, and Topic Name are undefined. These must be properly

configured for wizards to function. The Node Name must contain the name of the

batch server if on a separate machine. The Application Name must point to

"IBServ." The Topic Name should be the Client Type instance as defined in the Tag

Linker application. The SuiteLink protocol must also be used.

Note With the exception of the Topic Name, this information will be defined

automatically if the exported csv file from the Tag Linker application is loaded into

the InTouch application using the DBLOAD utility.

For more information on using the Tag Linker application, see Chapter 5, "Tag

Linker."

The tags automatically created when an InBatch wizard is used are listed below

along with a description of each.

Page 521: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 507

For more information on configuring client security, see Chapter 20, "InTouch

Client Security."

For more information on using the batch script add-on functions, see Chapter 18,

"InTouch Script Add-On Functions."

Using InBatch Wizards

Clicking the Wizards icon from the InTouch toolbar accesses InBatch wizards.

To insert a wizard 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.

InBatch wizard scaling is based on font properties. The relative positioning of all

text and graphics within the InBatch wizard is font dependent. Wizards can also be

scaled by selecting the wizard and then dragging the large control handles. When a

wizard is initially placed on an application window, it is assigned (by default) an 10

point bold, Courier New font style. Courier New is a fixed pitch font, that is; the

width of all characters, including spaces, is the same. This is necessary for proper

list alignment within the InBatch wizard. Use of non-proportional fonts is not

recommended and can result in misalignment of graphical objects and text.

Tag Description

IB_TIM_ACCESS_TAG Used by the TIM tags in the InTouch application. Initial value should

refer to the InBatch Server, "\\batchserver\IBServ|View1".

IB_SEC_DIALOG_TAG Used to enable client security.

IB_RESULT_TAG Contains results of using the batch script-add-on functions.

Page 522: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

508 Chapter 17

Note Use the control handle dragging method to change the width and height of a

wizard. If you want to change the overall size of the InBatch wizard, change the

font size. If a different font style is selected, all previous wizard scaling is lost.

When an InBatch wizard is double-clicked, a wizard configuration dialog is

displayed indicating the current configuration. (The InBatch button wizard has a

special configuration window that is discussed in "Button" on page 512.) The list of

properties is based on the complexity of the wizard. Therefore, the options will vary

for different wizards. The example shown includes all of the possible properties and

the parameters for each.

InBatch Wizard Descriptions

During InBatch Batch Runtime Client installation, 20 InBatch wizards are added to

InTouch. The button wizard has 57 possible configurations. The operations and

functions of the wizards are very similar to InBatch Batch Display and Batch

Scheduler applications.

Some wizards require more than simply placing the wizard in the application. Refer

to any notes associated with each wizard for more information.

Batch Scheduler/Dispatcher

Provides the necessary tags and user interface for batch scheduling and

initialization.

Page 523: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 509

Note The InBatch server Batch Scheduler application provides the capability to

view lists of Recipes and Trains when making modifications to the schedule list.

These lists have not been added to the Batch Scheduler/Dispatcher wizard, but the

information is available in the Tag Interface Management (TIM) System and can be

incorporated into the InTouch application.

For more information on using the TIM System, see Chapter 22, "Tag Interface

Management (TIM) System."

Active Batch List

Displays a list of all active batches. Campaign, Lot, Batch, Recipe, Status and

Action information is provided. Use this wizard in conjunction with all wizards for

which batch-centric focus (information concerning a single selected batch) is

required. Refer to each wizard description and associated notes.

Page 524: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

510 Chapter 17

Note The Active Batch List wizard must be used in conjunction with other

wizards as noted in this section. This wizard is used to select batches and (in

conjunction with the other wizard(s) and data change script) update all windows to

reflect the currently selected batch.

Batch Messages

Displays batch specific messages that require user acknowledgement.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Change Batch Mode

Allows the user to change the current batch mode. Batch mode can be set to

Automatic, Semi-Automatic or Manual.

Page 525: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 511

Batch Questions with Close

Displays a list of all batch questions and provides the ability to close the window.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Batch Questions

Displays a list of all batch questions.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Page 526: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

512 Chapter 17

Button

The button wizard can be configured for all phase, batch and miscellaneous type

actions. The button wizard provides 57 functions. The table that follows describes

the possible configurations and the required parameters for each. To activate the

InBatch Wizard dialog, double-click the button wizard.

For more information on the Batch Action script add-on function, see Chapter 18,

"InTouch Script Add-On Functions."

Page 527: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 513

Button Configuration

Name ParametersBatchAction

Batch Abort *Animation When Inactive 19

Batch Comment * 38

Batch Hold *Animation When Inactive 20

Batch Mode: Set to Automatic *Animation When Inactive 23

Batch Mode: Set to Manual *Animation When Inactive 25

Batch Mode:

Set to Semi-Automatic

*Animation When Inactive 24

Batch Restart *Animation When Inactive 21

Batch Start *Animation When Inactive 22

Edit Phase and Parameter:

Change Parameter

*Animation When Inactive 44

Edit Phase and Parameter:

Change Phase

*Animation When Inactive 43

Equipment: Allocate *Animation When Inactive 13

Equipment: Release *Animation When Inactive 14

Equipment: Select *Animation When Inactive 39

Equipment: Unit Abort *Animation When Inactive 15

Equipment: Unit Hold *Animation When Inactive 16

Equipment: Unit Restart *Animation When Inactive 17

Errors: Clear 12

Focus Change: Batch Messages 27

Focus Change: Batch Schedule 26

Focus Change:

Edit Phase and Parameter

42

Focus Change: Equipment 18

Focus Change: Recipe 28

Focus Change:

View/Force Transition Logic

47

Phase Abort *Animation When Inactive 29

Phase Comment *Animation When Active or Inactive 34

Phase Hold *Animation When Inactive 30

Phase Restart *Animation When Inactive 31

Phase Start *Animation When Inactive 32

Phase: Ack Document *Animation When Active or Inactive 50

Phase: Ack On Entry *Animation When Inactive 33

Phase: Ack On Exit *Animation When Active or Inactive 33

Phase: Change Parameter *Animation When Inactive 37

Phase: Set Control Button #1 *Animation When Inactive 35

Phase: Set Control Button #2 *Animation When Inactive 36

Phase: View Document *Animation When Active or Inactive 49

Page 528: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

514 Chapter 17

* - Indicates that information displayed at runtime is dependent upon the current

item selected from the Active Batch List. Use this wizard in conjunction with the

data change script.

Question: Answer No *Animation When Inactive 41

Question: Answer Yes *Animation When Inactive 40

Save Recipe: Overwrite 46

Save Recipe: Verify 45

Schedule Edit: Add 1

Schedule Edit: Change Animation When Inactive 3

Schedule Edit: Clean-up 5

Schedule Edit: Delete Animation When Inactive 4

Schedule Edit: Initialize 6

Schedule Edit: Initialize All 7

Schedule Edit: Move Down Animation When Inactive 9

Schedule Edit: Move Up Animation When Inactive 8

Schedule Edit: Multi-Add 2

Schedule Edit: Set

Execute In Order Mode OFF

Animation When Inactive 11

Schedule Edit: Set

Execute In Order Mode ON

Animation When Inactive 10

Transition Logic: Force Animation When Inactive 48

Window Hide: HideSelf

Window Show:

Batch Messages Wizard

Window Name Required,

Animation When Active

Window Show:

Batch Questions Wizard

Window Name Required,

Animation When Active

Window Show:

Equipment Selection Wizard

Window Name Required,

Animation When Active

Window Show:

Error Wizard

Window Name Required,

Animation When Active

Window Show:

Phase Comment Wizard

Window Name Required

Window Show:

Phase Interlocks Wizard

Window Name Required

Window Show:

Show "Window Name"

Window Name (optional)

Name ParametersBatchAction

Page 529: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 515

Batch Comments

Provides a means for the entry of user comments related to a batch.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

View/Force Transition Logic

Allows pending batch phase logic to be viewed. Also provides the ability to force

the state of transition logic expressions.

Page 530: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

516 Chapter 17

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Active Phase List

Displays a list of all active phases

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Phase Parameter List

List of parameters for the active phase. A button to change values is provided.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Page 531: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 517

Phase and Parameter Editor

An editor which allows editing of phases and parameters either before or after the

execution of a phase.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Page 532: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

518 Chapter 17

Phase Instructions

Displays a list of user instructions required for a phase.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Phase Interlocks

Displays the value of all phase interlock tags.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Page 533: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 519

Phase Comments

Provides a means for the entry of user comments related to a phase.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Phase Message Information

Displays information pertinent to phase execution only.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Page 534: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

520 Chapter 17

Equipment Allocation

Provides the capability to view status and manually allocate and release units and

connections. Also provides the capability to issue Unit Hold, Unit Restart, and Unit

Abort commands on the selected unit.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Page 535: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 521

Equipment Selection

Displays a list of available equipment and allows manual selection.

Note At runtime, the information displayed by this wizard is dependent upon the

item selected from the active batch list. You must use the Active Batch List Wizard

and the data change script in order for these wizards to properly function.

Save Control Recipe

Saves a control recipe to the recipe database. Provides radio buttons to optionally

Save Runtime Equipment and Retain Recipe Approvals.

For more information, see Chapter 7, "Recipe Editor."

Page 536: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

522 Chapter 17

Batch Errors

Displays all batch errors.

Note This wizard does not automatically activate when an error(s) occurs.

Wonderware recommends that you configure your InTouch application to provide a

means of alerting the operator of the error(s). This could be a button which flashes

when an error(s) occur and then when clicked, shows the window containing the

Batch Errors Wizard.

InBatch Wizard Data Change Script

The following data change script must be added to your InTouch application(s) for

the tag BTB-SEL-SCHFOCUSOK in order for InBatch Wizards to function

properly.

Note The BTB-SEL-SCHFOCUSOK tag will automatically be included in the

InTouch Tagname Dictionary if the csv file created using the Tag Linker application

is loaded into the InTouch application. If not, the BTB-SEL-SCHFOCUSOK tag

must be manually created as an I/O Integer or remotely referenced.

The purpose of the script is to update the contents of all displayed information on

the active window to reflect the selected batch in the Active Batch List wizard. The

comments provided describe how the script functions.

For more information on the batch script add-on functions, see Chapter 18,

"InTouch Script Add-On Functions."

Data Change Script on BTB-SEL-SCHFOCUSOK

IF BTB-SEL-SCHFOCUSOK > 0 THEN

{Define SCHCLB as a Memory Message tag}

SCHCLB = ibRequestStr(IB_TIM_ACCESS_TAG, "BTB-SEL-SCHCLB",IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTR-FOCUS-CLB", SCHCLB,IB_RESULT_TAG);

Page 537: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Wizards 523

ibPokeStr(IB_TIM_ACCESS_TAG, "BTR-FOCUS-UNIT", "",IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 28, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Batch Messages Focus}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTM-FOCUS-CLB", SCHCLB,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTM-FOCUS-UNIT", "",IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 27, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Equipment Allocation Focus}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTE-FOCUS-CLB", SCHCLB,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTE-FOCUS-UNIT", "",IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 18, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Edit Phase and Parameter Focus (optional)}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTPE-FOCUS-CLB", SCHCLB,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 42, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{View/Force Transition Logic Focus}

IF IB_TIM_TAGS:SCHFOCUSOK > 2 THEN

{only change the focus when the batch is RUN, HELD,ABORTING}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTVT-FOCUS-CLB", SCHCLB,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 47, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

ENDIF;

ENDIF;

Page 538: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

524 Chapter 17

Data Change Scripts - Using List Boxes

By default, none of the items in a List Box are selected. Some lists have a parent-

child relationship. That is, whenever a selection is made within a parent list box, the

same item in a corresponding child list box is updated. Since this is NOT the default

behavior, child lists remain empty. It may, however, be desirable to have these child

list boxes update automatically. For example, the following script will

automatically select the first item in a phase list box.

Data Change Script on BTRP-PHASE-NUMITEMS

Note This script can be used for any TIM list. Just replace the "numitems" and

"select" tag with corresponding tags from any other TIM list.

IF BTRP-PHASE-NUMITEMS > 0 AND BTRP-SEL-PHASEITEM == 0 THEN

ibPokeInt (IB_TIM_ACCESS_TAG, "BTRP-SEL-PHASEITEM" ,1,IB_RESULT_TAG);

ENDIF;

Page 539: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Script Add-On Functions 525

C H A P T E R 1 8

InTouch Script Add-On

Functions

There are several InTouch Script Add-On Functions included with the InBatch

system. These functions provide the capability to enable the alarm and event

interface, as well as read and write (request and poke) InBatch tags from within

InTouch. These functions are faster than the standard WWPoke and WWRequest

functions and should be used for all pokes and requests to InBatch Tag Interface

Management (TIM) tags. Eighteen Script Add-On Functions are added to InTouch

during the Batch Runtime Client installation. Eleven of these are specific to the

current release of InBatch. The other seven are included for backward

compatibility.

For more information on InTouch scripting, see your InTouch User's Guide.

Contents

• Overview

• Script Add-On Function Descriptions

• Obsolete DDE Script Add-On Functions

• Script Add-On Function Error Reference

Page 540: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

526 Chapter 18

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

communication between InTouch and InBatch. The InBatch enabled

communication add-on functions provide the same capability as the built-in

WWPoke and WWRequest functions but will keep the conversation open between

successive calls. The functions are therefore faster when doing multiple pokes

and/or requests to the same application/topic.

Using Script Add-On Functions

The conversation necessary to perform a function is established on the first function

call (except for ibTermTopic). Subsequent function calls utilize the established

conversation. This conversation is applicable to all of the functions.

For example, once a conversation is established during an ibBatchAction function

call, a subsequent ibPokeDisc function call uses the same conversation.

Conversations terminate normally when an InTouch WindowViewer application

terminates. The ibTermTopic function can also be used to terminate any

conversation established by ibBatchAction, ibPoke or ibRequest function calls.

Caution! The Script Add-On Functions can be used in all types of InTouch

scripts, but should not be used in expressions for InTouch animation links.

Protocol Usage

By default, the script add-on functions provided by InBatch use a proprietary

protocol and communicate with the InBatch Information Manager (InfoMngr)

application. Therefore, by default, these functions cannot be used to communicate

with external applications using the DDE protocol. This protocol can be changed to

DDE by using the ibConfig add-on function.

Note Wonderware recommends that the default protocol be used for all

communication between InTouch and InBatch.

Script Add-On Function Descriptions

The following section describes how to use the InBatch Script Add-On Functions

with InTouch.

Page 541: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Script Add-On Functions 527

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:

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 21, "Client Alarm/Event Interface."

Syntax

ibAlarmEventInit( Host, Obsolete, Alarm_Node, Timer, Write,Warning, Toss, Event_Mask );

where:

HostName (String value or message tag)

Specifies the InBatch server host name.

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.

Page 542: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

528 Chapter 18

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 are still be logged to history.

Syntax

ibAlarmNode(Yes_No);

where:

Example

{Enable alarm logging for the node}

ibAlarmNode(1);

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.

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.

Page 543: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Script Add-On Functions 529

ibBatchAction

Performs a specific batch action. Refer to the Batch Action Reference table for

batch action values.

Syntax

ibBatchAction(App_Topic_Text, Action_Num, SecurityFlag,ResultTag);

where:

Important! This function will return immediately and InTouch script processing

will continue even if a security check is needed for the batch action.

Example

{Start the Selected Batch}

App_Topic_Text (Literal string in quotes or message tag)

Contains application and topic information in the form "\\node\application|topic".

The tag IB_TIM_ACCESS_TAG used by the InBatch wizards is placed in this

field by default when the function is inserted into a script. Any message tag or

literal string in quotes may be substituted.

Action_Num (Integer value or integer tag)

Contains the number of the Batch Action to perform. Refer to the Batch Action

Reference table.

SecurityFlag (Discrete value or discrete tag)

Enables or Disables Security. The tag IB_SEC_DIALOG_TAG used by the

InBatch wizards is placed in this field by default when the function is inserted into

a script. Any discrete tag or value may be substituted. A value of one (True)

enables security. A value of zero (False) disables security. If security is enabled

and the corresponding function of the Batch Client application is configured for

security, a security dialog is displayed which prompts the user for user name and

password information.

For more information on defining InBatch client security, see Chapter 20,

"InTouch Client Security."

ResultTag (Integer tag)

Contains the result code of the function call. A negative value indicates an error.

A Value of one indicates security is enabled for this action and a security check is

pending. In this case, the operator will be presented with a security dialog box to

enter their user name and password information.

Once the user enters this information or clicks Cancel on the security dialog,

InBatch will again update this tag. A value of zero (0) indicated the security check

is successful. A value of two (2) indicates the operator pressed the Cancel button.

A negative value (<0) indicates an error.

The tag IB_RESULT_TAG used by the InBatch wizards is placed in this field by

default when the function is inserted into a script. If security is not enabled, a

different integer tag may be substituted, otherwise IB_RESULT_TAG must be

used.

Page 544: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

530 Chapter 18

ibBatchAction("IBSERV|View1", 22, 1, ResultTag);

Page 545: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Script Add-On Functions 531

Batch Action Reference

Action # Batch Action Description Batch Client Function

1 Schedule Edit: Add Access Schedule

2 Schedule Edit: Multi-Add Access Schedule

3 Schedule Edit: Change Access Schedule

4 Schedule Edit: Delete Access Schedule

5 Schedule Edit: Clean-Up Access Schedule

6 Schedule Edit: Initialize Access Schedule

7 Schedule Edit: Initialize All Access Schedule

8 Schedule Edit: Move Up Access Schedule

9 Schedule Edit: Move Down Access Schedule

10 Schedule Edit: Exec In Order On Access Schedule

11 Schedule Edit: Exec In Order Off Access Schedule

12 Errors: Clear <none>

13 Equipment: Allocate Allocate Equip

14 Equipment: Release Release Equip

15 Equipment: Unit Abort Unit Abort

16 Equipment: Unit Hold Unit Hold

17 Equipment: Unit Restart Unit Restart

18 Focus Change: Equipment <none>

19 Batch Abort Abort Batch

20 Batch Hold Hold Batch

21 Batch Restart Restart Batch

22 Batch Start Start Batch

23 Batch Mode: Set to Auto Chg Batch Mode

24 Batch Mode: Set to Semi-Auto Chg Batch Mode

25 Batch Mode: Set to Manual Chg Batch Mode

26 Focus Change: Batch Schedule <none>

27 Focus Change: Batch Messages <none>

28 Focus Change: Recipe <none>

29 Phase Abort Abort Phase

30 Phase Hold Hold Phase

31 Phase Restart Restart Phase

32 Phase Start Start Phase

33 Phase: Ack on Entry

Phase: Ack on Exit

Ack to Enter

Ack to Exit

34 Phase Comment Enter Comment

35 Phase: Set Control Button #1 Control Buttons

36 Phase: Set Control Button #2 Control Buttons

37 Phase: Change Parameter Edit Phase Param

38 Batch Comment Enter Comment

Page 546: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

532 Chapter 18

ibConfig

This function allows you to choose the protocol to use for the communications

functions (i.e. ibPokeStr, etc.). By default, an internal InBatch proprietary protocol

is used and all communications go to the Information Manager (InfoMngr)

application on the Batch Server. This is a very reliable communications interface

and was implemented to provide an option to the DDE interface.

Note Wonderware recommends that the add-on script functions utilize the default

protocol and be used to communicate with InBatch only. However, for backward

compatibility, this function can be used to change to the DDE protocol.

Syntax

ibConfig(Protocol_Num);

where:

Example

{Enable the DDE protocol}

ibConfig(0);

39 Equipment: Select Select Equipment

40 Question: Answer Yes Answer Question

41 Question: Answer No Answer Question

42 Focus Chg: Edit Phase and Parm <none>

43 Edit Phase and Parm: Chg Phase Edit Phase

44 Edit Phase and Parm: Chg Parm Edit Phase

45 Save Recipe: Verify Save Recipe

46 Save Recipe: Overwrite Save Recipe

47 Focus Chg: View/Force Trans Logic <none>

48 Transition Logic: Force Force Transition

49 Document View: Button Enabled <none>

50 Document View: Button Acknowledged <none>

Protocol_Num (Integer value or integer tag)

Represents the protocol choice. A value of 0 enables the DDE interface. A value of

1 enables the InBatch internal protocol. The default is the InBatch internal protocol.

Action # Batch Action Description Batch Client Function

Page 547: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Script Add-On Functions 533

ibPokeDisc

This function pokes a discrete ( 0 or 1 ) value into the specified item.

Note By default, this function can only be used to communicate with InBatch. The

default protocol must be changed to DDE using the ibConfig function to

communicate with other tag servers (i.e. IO Servers, Excel, etc.).

Syntax

ibPokeDisc(App_Topic_Text, ItemName_Text, Value_Disc,ResultTag);

where:

Example

{Poke a value of 0 to a discrete tag}

ibPokeDisc("IBSERV|View1", "MyDiscreteTag", 0, IB_RESULT_TAG);

ibPokeInt

This function pokes an integer value into the specified item.

Note By default, this function can only be used to communicate with InBatch. The

default protocol must be changed to DDE using the ibConfig function to

communicate with other tag servers (i.e. IO Servers, Excel, etc.).

Syntax

ibPokeInt(App_Topic_Text, ItemName_Text, Value_Int,ResultTag);

where:

App_Topic_Text (Literal string in quotes or message tag)

Contains application and topic information in the form "\\node\application|topic".

The tag IB_TIM_ACCESS_TAG used by the InBatch wizards is placed in this

field by default when the function is inserted into a script. Any message tag or

literal string in quotes may be substituted.

ItemName_Text (Literal string in quotes or message tag)

Contains the item name on which to perform the poke.

Value_Disc (Discrete value or discrete tag)

Contains a discrete value to poke to the ItemName_Text item.

ResultTag (Integer tag)

Contains the result code of the function call. A value of zero (0) indicates success.

A negative value (<0) indicates an error. The tag IB_RESULT_TAG used by the

InBatch wizards is placed in this field by default when the function is inserted into

a script. A different integer tag may be substituted.

Page 548: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

534 Chapter 18

Example

{Poke a value of 5 to an integer tag}

ibPokeInt("IBSERV|View1", "MyIntegerTag", 5, IB_RESULT_TAG);

ibPokeStr

This function pokes a string value into the specified item.

Syntax

ibPokeStr(App_Topic_Text, ItemName_Text, Value_Text,ResultTag);

where:

Example

{Poke a value of "Hi There!" to a string tag}

ibPokeStr("IBSERV|View1", "MyStringTag", "Hi There!",IB_RESULT_TAG);

App_Topic_Text (Literal string or message tag)

Contains application and topic information in the form "\\node\application|topic".

The tag IB_TIM_ACCESS_TAG used by the InBatch wizards is placed in this

field by default when the function is inserted into a script. Any message tag or

literal string in quotes may be substituted.

ItemName_Text (Literal string in quotes or message tag)

Contains the item name on which to perform the poke.

Value_Int (Integer value or integer tag)

Contains an integer value to poke to the ItemName_Text item.

ResultTag (Integer tag)

Contains the result code of the function call. A value of zero (0) indicates success.

A negative value (<0) indicates an error. The tag IB_RESULT_TAG used by the

InBatch wizards is placed in this field by default when the function is inserted into

a script. A different integer tag may be substituted.

App_Topic_Text (Literal string or message tag)

Contains application and topic information in the form "\\node\application|topic".

The tag IB_TIM_ACCESS_TAG used by the InBatch wizards is placed in this

field by default when the function is inserted into a script. Any message tag or

literal string in quotes may be substituted.

ItemName_Text (Literal string in quotes or message tag)

Contains the item name on which to perform the poke.

Value_Text (Literal string in quotes or message tag)

Contains a string value to poke to the ItemName_Text item.

ResultTag (Integer tag)

Contains the result code of the function call. A value of zero (0) indicates success.

A negative value (<0) indicates an error. The tag IB_RESULT_TAG used by the

InBatch wizards is placed in this field by default when the function is inserted into

a script. A different integer tag may be substituted.

Page 549: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Script Add-On Functions 535

ibRequestDisc

This function returns the discrete data value of the specified item.

Syntax

DiscreteTag = ibRequestDisc(App_Topic_Text, ItemName_Text,ResultTag);

where:

Example

{Read a discrete tag value and write to another discrete tag}

AnotherDiscreteTag = ibRequestDisc("IBSERV|View1","MyDiscreteTag", IB_RESULT_TAG);

ibRequestInt

This function returns the integer data value of the specified item.

Syntax

IntegerTag = ibRequestInt(App_Topic_Text, ItemName_Text,ResultTag);

where:

App_Topic_Text (Literal string in quotes or message tag)

Contains application and topic information in the form "\\node\application|topic".

The tag IB_TIM_ACCESS_TAG used by the InBatch wizards is placed in this

field by default when the function is inserted into a script. Any message tag or

literal string in quotes may be substituted.

ItemName_Text (Literal string in quotes or message tag)

Contains the item name for the requested discrete data.

ResultTag (Integer tag)

Contains the result code of the function call. A value of zero (0) indicates success.

A negative value (<0) indicates an error. The tag IB_RESULT_TAG used by the

InBatch wizards is placed in this field by default when the function is inserted into

a script. A different integer tag may be substituted.

App_Topic_Text (Literal string in quotes or message tag)

Contains application and topic information in the form "\\node\application|topic".

The tag IB_TIM_ACCESS_TAG used by the InBatch wizards is placed in this

field by default when the function is inserted into a script. Any message tag or

literal string in quotes may be substituted.

Page 550: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

536 Chapter 18

Example

{Read an integer tag value and write to another integer tag}

AnotherIntegerTag = ibRequestInt("IBSERV|View1","MyIntegerTag", IB_RESULT_TAG);

ibRequestStr

This function returns the string data value of the specified item.

Syntax

MessageTag = ibRequestStr(App_Topic_Text, ItemName_Text,ResultTag);

where:

Example

{Read a string tag value and write to another string tag}

AnotherStringTag = ibRequestStr( "IBSERV|View1","MyStringTag", IB_RESULT_TAG);

ibTermTopic

This function terminates a connection.

Syntax

ibTermTopic(App_Topic_Text, ResultTag);

where:

ItemName_Text (Literal string in quotes or message tag)

Contains the item name for the requested integer data.

ResultTag (Integer tag)

Contains the result code of the function call. A value of zero (0) indicates success.

A negative value (<0) indicates an error. The tag IB_RESULT_TAG used by the

InBatch wizards is placed in this field by default when the function is inserted into

a script. A different integer tag may be substituted.

App_Topic_Text (Literal string in quotes or message tag)

Contains application and topic information in the form "\\node\application|topic".

The tag IB_TIM_ACCESS_TAG used by the InBatch wizards is placed in this

field by default when the function is inserted into a script. Any message tag or

literal string in quotes may be substituted.

ItemName_Text (Literal string in quotes or message tag)

Contains the item name for the requested string data.

ResultTag (Integer tag)

Contains the result code of the function call. A value of zero (0) indicates success.

A negative value (<0) indicates an error. The tag IB_RESULT_TAG used by the

InBatch wizards is placed in this field by default when the function is inserted into

a script. A different integer tag may be substituted.

Page 551: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Script Add-On Functions 537

Example

{Terminate a connection}

ibTermTopic("IBSERV|View1", IB_RESULT_TAG);

Obsolete DDE Script Add-On Functions

The following functions are considered obsolete and are being maintained for

backward compatibility only. They are simply stub functions which call directly

into the newer corresponding functions.

Note The DDE in the name does not mean the function is using DDE as its

communications protocol. These functions will still use the protocol defined by the

ibConfig function.

ibDdePokeDisc

Please refer to ibPokeDisc.

ibDdePokeInt

Please refer to ibPokeInt.

ibDdePokeStr

Please refer to ibPokeStr.

ibDdeRequestDisc

Please refer to ibRequestDisc.

ibDdeRequestInt

Please refer to ibRequestInt.

App_Topic_Text (Literal string in quotes or message tag)

Contains application and topic information in the form "\\node\application|topic".

The tag IB_TIM_ACCESS_TAG used by the InBatch wizards is placed in this

field by default when the function is inserted into a script. Any message tag or

literal string in quotes may be substituted.

ResultTag (Integer tag)

Contains the result code of the function call. A value of zero (0) indicates success.

A negative value (<0) indicates an error. The tag IB_RESULT_TAG used by the

InBatch wizards is placed in this field by default when the function is inserted into

a script. A different integer tag may be substituted.

Page 552: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

538 Chapter 18

ibDdeRequestStr

Please refer to ibRequestStr.

ibDdeTermTopic

Please refer to ibTermTopic.

Script Add-On Function Error Reference

Error # Error Description

0 No Error

1 No Error - Security Pending

2 No Error - Action Canceled

-10 DDE System Error

-11 DDE Post Message Error

-12 DDE Register Class Error

-13 DDE Create Window Error

-20 DDE Response: None

-21 DDE Response: No Acknowledge

-22 DDE Connection Response: None

-23 DDE Connection Response: Terminate

-30 DDE Unknown Application and/or Topic

-31 DDE Maximum Windows Exceeded

-101 Invalid Batch Action Number

-102 Invalid Interface

-103 Invalid Security Query

-111 Invalid Application|Topic string (check syntax)

-121 Security Dialog is active (displayed)

-122 Error Creating Security Dialog

-123 Invalid Security Function

-131 Error Creating Timer

-132 No Security Key

-133 Invalid Security Key

-201 IO Connection failed

-203 IO Poke failed

-204 IO Request failed

-300 General System Error

Page 553: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Tag Browsing and Referencing 539

C H A P T E R 1 9

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

Page 554: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

540 Chapter 19

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.

Page 555: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Tag Browsing and Referencing 541

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

Page 556: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

542 Chapter 19

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.

• 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).

Access Application Topic

IB_TIM_TAGS IBSERV Client Type Instance (e.g.

View1)

IB_CTRLSYS_TAGS IBSERV IB_TAGS

Tag Source Name Access Tag Source Type

TIMTags IB_TIM_TAGS InBatch - TIM

EquipmentTags IB_CTRLSYS_TAGS InBatch - Control System

Page 557: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Batch Tag Browsing and Referencing 543

5. Use the tags from each source in the InTouch application as required. Change

the Tag Source to view the different batch tags available.

Page 558: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

544 Chapter 19

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.

Page 559: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Client Security 545

C H A P T E R 2 0

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.

Page 560: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

546 Chapter 20

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.

Security Manager Batch Manager

Security

Database

Batch Server

InTouch

WindowViewer

(ibdde.dll)

Batch Runtime Client

InBatch Server

(IBServ)

TIM Security

Interface

TIM Batch

Interface

Page 561: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Client Security 547

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 );

Page 562: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

548 Chapter 20

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 18,

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

Page 563: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

InTouch Client Security 549

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.

Page 564: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

550 Chapter 20

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.

Page 565: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Client Alarm/Event Interface 551

C H A P T E R 2 1

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. This section is applicable to InTouch applications only.

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 Info ServerInBatch History

Database

InTouch

WindowViewer

(ibhist.dll)

Batch Runtime Client

History

Administration

InTouch

WindowViewer

(wwextalm.dll)

History Queue

Manager

Batch Server Node

HistQueue

Process Log

Manager

History Queue

Reader

Batch

Manager

Info Manager

Page 566: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

552 Chapter 21

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

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 18, "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.

For more information on the InBatch tag structure, see Chapter 4, "Process

Modeling."

Page 567: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Client Alarm/Event Interface 553

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.

Page 568: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

554 Chapter 21

Page 569: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 555

C H A P T E R 2 2

Tag Interface Management

(TIM) System

The Tag Interface Management (TIM) System is a tag based interface to the Batch

Management System and Security System from a Batch Server or Batch Runtime

Client environment.

Contents

• Overview

• Using TIM

• Batch Management System Interface

• Security System Interface

• Batch Function Interface

• Runtime TIM Operation

Page 570: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

556 Chapter 22

Overview

The Batch Management System provides several ways a user can interact with the

scheduling and execution of batches. One option is available that utilizes the Tag

Interface Management (TIM) System. The TIM system is designed to provide a tag

based interface to the functions available in the batch management system and

security system.

Tag Linker

TIMFunc

Unilink Manager

InBatch Server

(IBServ)

DevFunc

API

Batch

FunctionsInterface

TIM DB

Batch Manager Security Manager

BatchTalk

API

Security

API

TIMBatch TIMSee

Batch

ManagementSystem

Interface

Security

SystemInterface

InTouch Node

TagView

Page 571: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 557

When to Use the Tag Interface Management (TIM)

System

The TIM System should be used if custom logic is required in the control or HMI

system relative to interfacing with the Batch Manager to:

• Manipulate the Batch Schedule

• Monitor and Control Active Batches

• View and Adjust Allocation Queue

• Manipulate Recipe Focus

• Monitor and Respond to Batch Questions

• Enter Batch Comments

• Monitor and Control Active Phases

• Select Equipment for Allocation

• Monitor Batch Messages

• Edit Phases and Parameters

• Monitor and Control Equipment

• View/Force Transition Logic

• Save Control Recipe

• Monitor and Respond to Errors

• Interact with the Security System

• Phase Prepare/Complete

• Evaluate Equipment for Allocation

• Log Equipment Status

• Equipment Allocation Changes

Page 572: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

558 Chapter 22

Using TIM

In order to interface with the batch management and security systems, tags must be

created within both the server and client applications. Within the InBatch server,

TIM tags are created when an export is defined and performed in the Tag Linker

application. There are two check boxes that can be enabled to initiate the creation of

the various TIM tags. Within the InTouch client, TIM tags are available when an

InBatch wizard is used, after the .csv file generated by the Tag Linker has been

loaded, or via remote browsing of InBatch tags.

Once the TIM tags have been created, applications on the server and clients can be

used to manipulate the TIM tags and interface with the runtime InBatch system.

There are specific InBatch runtime applications that are required to properly use the

TIM tags. Also, there are specific rules governing the use of the TIM tags. This use

of the applications and tags is presented in this documentation.

For more information on using the Tag Linker application, see Chapter 5, "Tag

Linker."

Using TIM Tags

InBatch wizards have been designed to remotely reference TIM tags automatically.

However, if the situation arises in which the wizards do not provide the necessary

information or the presentation of the information must be altered, the TIM tags can

be accessed individually.

Page 573: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 559

Interfaces

There are three primary interface groups available for interacting with the runtime

InBatch system. Tags are available for providing access to the action groups

included within each interface. The table below summarizes the interface groups

and the action groups within each.

Batch Focus Versus Unit Focus

Many of the interface groups allow for two ways to view and manipulate

information. The two methods are referred to as batch-centric and unit-centric. The

batch-centric approach is used to view the information associated with a specific

batch. To enable this view, the user would write the appropriate batch value to the -

FOCUS-CLB tags and write a null string to the -FOCUS-UNIT tags. The unit-

centric approach is used to view the information associated with a specific unit. To

enable this view, the user would write the appropriate unit value to the -FOCUS-

UNIT tags and write a null string to the -FOCUS-CLB tags.

Note It is possible, but not recommended to combine both batch-centric and unit-

centric focusing within the same client. This requires extensive scripting using the

tags presented in this manual.

Interface Group Action Groups

Batch Management System Manipulate the Batch Schedule

Monitor and Control Active Batches

Manipulate Recipe Focus

Monitor and Respond to Batch Questions

Enter Batch Comments

Monitor and Control Active Phases

Select Equipment for Allocation

Monitor Batch Messages

Edit Phases and Parameters

Monitor and Control Equipment

View/Force Transition Logic

Save Control Recipe

Monitor and Respond to Errors

Security System Interact with InBatch Security System

Batch Functions Phase Prepare/Complete

Evaluate Equipment for Allocation

Log Equipment Status

Equipment Allocation Changes

Page 574: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

560 Chapter 22

Working with List Tags

TIM tags provide runtime InBatch information. Most of this information is

provided in lists. For example, the batches contained in the Batch Scheduler are

presented in a list. Also, the active phase display, active parameter display,

instruction display, and active question display all contain lists of data. A large

portion of the TIM tags have been defined to represent these lists of data. The other

TIM tags permit interaction with the data in the lists and allow selection and

alterations of this list data.

There are several list tags that are used to view a list, select an item in the list, and

to determine the attributes of the list. The example shown below illustrates the tags

used to manipulate a list of data in the InBatch Batch Scheduler. For all lists, there

will be tags that denote the number of items contained in the list, the first item

displayed in the list, the item that has been selected in the list, all of the individual

entries in the list, the fields contained in the selected item, and a handshake tag that

is used to communicate with the appropriate runtime TIM application.

The -NUMITEMS tag value defines the number of items that are in the list. The

value may exceed the number of items that can be displayed using the -ITEM# tags.

If the value is zero, there are no entries in the list.

Note Typically, the Tag Linker creates and exports 16 list tags. However, the client

application does not need to utilize all 16 tags. List tags that are not used in wizards

or manually with TIM may be deleted.

The -FIRSTITEM tag value defines the item number to be displayed first in the list.

Manipulation of this value allows for paging up and down or scrolling up and down

through the list.

The -ITEM# tags contain the data for the display lists. There are 16 item tags

created for each list, except for the Batch Function Interface, which has 99 tags.

BTS-SEL-SCHITEM

BTS-SCH-NUMITEMS

BTS-SCH-FIRSTITEM BTS-SCH-ITEM3

BTS-SEL-SCHCAMP

BTS-SEL-SCHLOT

BTS-SEL-SCHBATCH

BTS-SEL-SCHRECIPE

BTS-SEL-SCHSIZE

BTS-SEL-SCHTRAIN

BTS-SEL-SCHMODE

BTS-SEL-SCHTRAIN

Page 575: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 561

The -SEL- tag is used to select an item in the list. Whenever an item is selected and

it is not in the display list, the -FIRSTITEM tag value is changed so that the

selected item is brought into view.

The -HANDSHAKE tag is used to communicate with the runtime TIM application.

Values are written to the -HANDSHAKE tag to perform the functions permitted

with the list of data.

Note Wonderware recommends using the ibBatchAction script add-on function in

place of the Handshake option whenever possible. The ibBatchAction function

automatically uses security.

For more information on using the ibBatchAction add-on function, see Chapter 18,

"InTouch Script Add-On Functions."

Actions Requiring Security Clearance

Many actions within InBatch can have security defined for them. When utilizing

these actions from the InTouch client through the InBatch wizards, the security

clearance requests are automatically displayed by another application installed on

the client. Writing to TIM security tags is not required in this case. However, if an

application or function that is accessible from the InTouch client requires security

that has been added to the InBatch security system, there are TIM security tags that

are used to verify that an operator is allowed to perform the action. It is the

responsibility of the client application to obtain the operator's user identification

and password and apply them to the appropriate TIM security tags. If security is not

required for an action, the tags must be left blank. Two levels of security are

available. The DoneBy level by itself records who performed the action and

requires the -DONEBY and -DONEBYPWD tags to be written. The DoneBy and

CheckBy levels used together record who performed the action and who verified

the action was performed properly. This requires the -DONEBY, -DONEBYPWD, -

CHECKBY, and -CHECKBYPWD tags to be written.

For more information on defining the security system, see Chapter 13, "Security

System."

Batch Function Tags

There are several critical points in the execution of the InBatch batch management

system where the user can interact. These points are referred to as Batch Functions

and can be accessed via TIM Batch Function tags. Because of the direct interaction

that these tags allow with the batch management system, the tags are created only

upon demand from within the InBatch Tag Linker application and can only be

enabled as a group. The batch functions are called at the beginning of each phase,

the end of each phase, when equipment is evaluated for allocation, when equipment

allocation changes occur, and when equipment status changes are written to history.

Each function has its own set of TIM tags. After a Function is called the batch

management system waits for a response signal before continuing.

Note Caution must be exercised if the Batch Function Tags option is enabled.

Batch execution activity for all batches is put on hold until client responses are

provided.

Page 576: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

562 Chapter 22

Tag Generation

The following table provides a summary of the tags generated for each client type

instance if the TIM Tags option is enabled in the InBatch Tag Linker Export Editor.

There will be a complete set for each of the number of clients defined.

The following table provides a summary of the tags generated for each client type if

the Batch Function Tags option is enabled in the InBatch Tag Linker Export Editor.

There will be only one set defined for each InBatch server.

Batch Management System Interface

This section describes how to configure TIM tags with the Batch Management

System Interface.

TIM Action Group Tag PrefixNumber ofLists

Tags perNode

Manipulate the Batch Schedule BTS- 3 116

Monitor and Control Active Batches BTB- 1 36

Manipulate Recipe Focus BTR- 0 3

View and Adjust Allocation Queue BTAQ- 1 36

Monitor and Respond to Batch Questions BTRQ- 1 27

Enter Batch Comments BTRC- 0 6

Monitor and Control Active Phases BTRP- 4 102

Select Equipment for Allocation BTRS- 2 46

Monitor Batch Messages BTM- 1 23

Edit Phases and Parameters BTPE- 3 76

Monitor and Control Equipment BTE- 2 51

View/Force Transition Logic BTVT- 3 69

Save Control Recipe BTSR- 0 10

Monitor and Respond to Errors BTEE- 1 22

Interact with InBatch Security System SE- 0 10

TOTAL 22 633

Batch Function Action Group Tag PrefixNumber ofLists

Tags perNode

Phase Prepare/Complete FUP- 1 115

Evaluate Equipment for Allocation FUEA- 1 111

Log Equipment Status FULE- 0 17

Equipment Allocation Changes FUAC- 1 110

TOTAL 3 353

Page 577: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 563

Manipulate the Batch Schedule

This action group allows the user to perform all of the functions available from the

InBatch Batch Scheduler through tags. The tags can be used to add, delete, and

change batches in the schedule. Also, batches can be initialized and moved in the

list. The tags in this action group are used by the InBatch Scheduler/Dispatcher

wizard and can be used within a client to create a unique scheduling application.

Tag Name Type Size Access

BTS-SCH-NUMITEMS INTEGER 1 RO

BTS-SCH-FIRSTITEM INTEGER 1 R/W

BTS-SCH-ITEM1 TO BTS-SCH-ITEM16

Each list tag consists of multiple fields separated by two spaces.

CAMPAIGN ID

LOT ID

BATCH ID

RECIPE ID

MODE

STATUS

STRING 91

16

16

16

16

9

8

RO

BTS-RECIPE-NUMITEMS INTEGER 1 RO

BTS-RECIPE-FIRSTITEM INTEGER 1 R/W

BTS-RECIPE-ITEM1 TO BTS-RECIPE-ITEM16 STRING 70 RO

BTS-TRAIN-NUMITEMS INTEGER 1 RO

BTS-TRAIN-FIRSTITEM INTEGER 1 R/W

BTS-TRAIN-ITEM1 TO BTS-TRAIN-ITEM16 STRING 16 RO

BTS-TYPE-NUMITEMS INTEGER 1 RO

BTS-TYPE-FIRSTITEM INTEGER 1 R/W

BTS-TYPE-ITEM1 TO BTS-TYPE-ITEM16 STRING 16 RO

BTS-STATE-NUMITEMS INTEGER 1 RO

BTS-STATE-FIRSTITEM INTEGER 1 R/W

BTS-STATE-ITEM1 TO BTS-STATE-ITEM16 STRING 16 RO

BTS-SCH-EIO INTEGER 1 RO

BTS-SEL-SCHITEM INTEGER 1 R/W

BTS-SEL-SCHCAMP STRING 16 R/W

BTS-SEL-SCHLOT STRING 16 R/W

BTS-SEL-SCHBATCH STRING 16 R/W

BTS-SEL-SCHRECIPE STRING 16 R/W

BTS-SEL-SCHSIZE INTEGER 1 R/W

BTS-SEL-SCHTRAIN STRING 16 R/W

BTS-SEL-SCHMODE INTEGER 1 R/W

BTS-SEL-RECIPEITEM INTEGER 1 R/W

BTS-SEL-RECIPEID STRING 16 R/W

BTS-SEL-RECIPENAME STRING 16 R/W

BTS-SEL-RECIPETYPE STRING 16 R/W

BTS-SEL-RECIPESTATE STRING 16 R/W

Page 578: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

564 Chapter 22

Description

1. The BTS-SCH-NUMITEMS tag is an integer tag containing the number of

batches in the schedule.

2. The BTS-SCH-ITEM1 to BTS-SCH-ITEM16 tags are string tags used to

display the list of batches in the schedule. The first item in the list is defined by

the value in tag BTS-SCH-FIRSTITEM.

3. The BTS-RECIPE-NUMITEMS tag is an integer tag containing the number of

approved recipes available to be scheduled.

4. The BTS-RECIPE-ITEM1 to BTS-RECIPE-ITEM16 tags are string tags used

to display the list of recipes available. The first item in the list is defined by the

value in tag BTS-RECIPE-FIRSTITEM.

5. The BTS-TRAIN-NUMITEMS tag is an integer tag containing the number of

trains available on which batches can be scheduled.

6. The BTS-TRAIN-ITEM1 to BTS-TRAIN-ITEM16 tags are string tags used to

display the list of trains available. The first item in the list is defined by the

value in tag BTS-TRAIN-FIRSTITEM.

7. The BTS-TYPE-NUMITEMS tag is an integer tag containing the number of

recipe types defined in the recipe database.

8. The BTS-TYPE-ITEM1 to BTS-TYPE-ITEM16 tags are string tags used to

display the list of recipe types available. The first item in the list is defined by

the value in tag BTS-TYPE-FIRSTITEM.

9. The BTS-STATE-NUMITEMS tag is an integer tag containing the number of

recipe states defined in the recipe database.

10. The BTS-STATE-ITEM1 to BTS-STATE-ITEM16 tags are string tags used to

display the list of recipe states available. The first item in the list is defined by

the value in tag BTS-STATE-FIRSTITEM.

11. The BTS-SCH-EIO tag is an integer tag used to monitor or display the Execute

In Order Mode.

BTS-SEL-TRAINITEM INTEGER 1 R/W

BTS-SEL-TRAINNAME STRING 16 R/W

BTS-SEL-TYPEITEM INTEGER 1 R/W

BTS-SEL-TYPENAME STRING 16 R/W

BTS-SEL-STATEITEM INTEGER 1 R/W

BTS-SEL-STATENAME STRING 16 R/W

BTS-SEC-DONEBY STRING 12 R/W

BTS-SEC-DONEBYPWD STRING 12 R/W

BTS-SEC-CHECKBY STRING 12 R/W

BTS-SEC-CHECKBYPWD STRING 12 R/W

BTS-INFO INTEGER 1 RO

BTS-HANDSHAKE INTEGER 1 R/W

Tag Name Type Size Access

Page 579: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 565

12. The BTS-SEL-SCHITEM tag is an integer tag used to select the item in the list

that is the focus of the action being performed. This is equivalent to the

selection of the batch from the list with the mouse.

13. The following tags contain the specific schedule information corresponding to

the selected item from the list. Also, these tags would be written to in order to

add a new batch.

BTS-SEL-SCHCAMP - String tag containing the Campaign ID of the current

batch

BTS-SEL-SCHLOT - String tag containing the Lot ID of the current batch

BTS-SEL-SCHBATCH - String tag containing the Batch ID of the current

batch

BTS-SEL-SCHRECIPE - String tag containing the Recipe ID of the current

batch

BTS-SEL-SCHSIZE - Integer tag containing the Size of the current batch

BTS-SEL-SCHTRAIN - String tag containing the Train of the current batch

BTS-SEL-SCHMODE - Integer tag containing the Mode of the current batch

14. The BTS-SEL-RECIPEITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the recipe from the list with the mouse.

15. The following tags contain the specific recipe information corresponding to the

selected item from the list.

BTS-SEL-RECIPEID - String tag containing the selected Recipe ID

BTS-SEL-RECIPENAME - String tag containing the selected Recipe Name

BTS-SEL-RECIPETYPE - String tag containing the selected Recipe Type

BTS-SEL-RECIPESTATE - String tag containing the selected Recipe State

16. The BTS-SEL-TRAINITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the train from the list with the mouse.

17. The following tags contain the specific train information corresponding to the

selected item from the list.

BTS-SEL-TRAINNAME - String tag containing the selected Train Name

18. The BTS-SEL-TYPEITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the recipe type from the list with the mouse.

Value Execute In Order

0 Off

1 On

Value Mode

0 Automatic

1 Semi-Automatic

2 Manual

Page 580: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

566 Chapter 22

19. The following tags contain the specific recipe type information corresponding

to the selected item from the list.

BTS-SEL-TYPENAME - String tag containing the selected Recipe Type

20. The BTS-SEL-STATEITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the recipe state from the list with the mouse.

21. The following tags contain the specific train information corresponding to the

selected item from the list.

BTS-SEL-STATENAME - String tag containing the selected Recipe State

22. The BTS-SEC-DONEBY tag specifies the ID and the BTS-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

23. The BTS-SEC-CHECKBY tag specifies the ID and the BTS-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

24. The BTS-INFO tag is an integer tag used to monitor the working state of the

batch management system. This tag will be equal to one when the batch system

is busy. New TIM commands will not be immediately processed while this tag

is enabled. Operation can resume when the value of this tag is zero. The BTS-

HANDSHAKE tag will have a value of -118 when the BTS-INFO tag is

enabled.

25. The BTS-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTS-HANDSHAKE tag from an

InTouch client in a system with security defined. If security is enabled, use the

BTS-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

HandshakeValue ibBatchActionValue Description

1 1 Add the batch defined by the specific selection tags to

the schedule after the batch selected by the BTS-SEL-

SCHITEM tag. If no batch is selected, the new batch is

added to the bottom of the list. Same as the Add button

on the Batch Scheduler/Dispatcher wizard.

Page 581: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 567

2 2 Generate batches starting with batch number defined in

the specific selection tags. This action requires the

BTS-SEL-SCHSIZE tag to be greater than the

maximum batch size defined by the recipe. The default

recipe batch size will be used as the size for all of the

generated batches. Same as the Multi-Add button on

the Batch Scheduler/Dispatcher wizard.

3 3 Change the batch selected by the BTS-SEL-SCHITEM

tag to the batch data defined in specific selection tags.

Same as the Change button on the Batch

Scheduler/Dispatcher wizard.

4 4 Delete the batch selected by the BTS-SEL-SCHITEM

tag. Same as the Delete button on the Batch

Scheduler/Dispatcher wizard.

5 5 Remove all Done and Aborted batches from the

schedule list. Same as the Clean-up button on the Batch

Scheduler/Dispatcher wizard.

6 6 Initialize the batch selected by the BTS-SEL-

SCHITEM tag. Same as Init Batch button on the Batch

Scheduler/Dispatcher wizard.

7 7 Initialize all batches in the schedule. Same as the Init

All button on the Batch Scheduler/Dispatcher wizard.

8 8 Move the batch selected by the BTS-SEL-SCHITEM

tag up one position in the list. Same as the Move Up

button on the Batch Scheduler/Dispatcher wizard.

9 9 Move the batch selected by the BTS-SEL-SCHITEM

tag down one position in the list. Same as the Move

Down button on the Batch Scheduler/Dispatcher

wizard.

10 10 Sets the Execute in Order Mode On. Same as the EIO

On button on the Batch Scheduler/Dispatcher wizard.

11 11 Sets the Execute in Order Mode Off. Same as the EIO

Off button on the Batch Scheduler/Dispatcher wizard.

12 12 Refresh the list of recipes that are approved for

production and available for scheduling.

13 13 Refresh the list of trains that are available for

scheduling.

HandshakeValue ibBatchActionValue Description

Page 582: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

568 Chapter 22

InTouch Client Examples

The following action scripts provide examples of how to add a batch to the

schedule and how to delete a batch from the schedule from an InTouch client. The

InTouch script add-on functions should be used to preserve the order of the tag

writes.

Add a Batch Below the Second Batch in the List

{Select the appropriate batch}

ibPokeInt(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHITEM", 2,IB_RESULT_TAG);

{Define the new batch}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHCAMP", "New Camp",IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHLOT", "New Lot",IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHBATCH", "New Batch",IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHRECIPE", "Recipe",IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHSIZE", 1000,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHTRAIN", "Train Name",IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHMODE", 0,IB_RESULT_TAG);

{Add the batch}

ibBatchAction(IB_TIM_ACCESS_TAG, 1, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Delete the Third Batch in the List

{Select the appropriate batch}

ibPokeInt(IB_TIM_ACCESS_TAG, "BTS-SEL-SCHITEM", 3,IB_RESULT_TAG);

{Delete the batch}

ibBatchAction(IB_TIM_ACCESS_TAG, 4, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Monitor and Control Active Batches

This action group allows the user to perform all of the batch control functions

available from the InBatch Batch Display through tags. There are tags that can be

used to select and control active batches in the schedule. The tags in this action

group are used by the Active Batch List wizard as well as many of the Button

wizards and can be used within a client to create a unique batch control application.

Page 583: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 569

Description

1. The BTB-FOCUS-SCH tag is a string tag that defines the units that are used to

filter the list of batches and provide the focus for the action. Use of this tag is

optional. The system defaults to all batches in the schedule if no entry is

provided.

Tag Name Type Size Access

BTB-FOCUS-SCH

This tag consists of multiple fields separated by a "/".

UNIT1 TO UNITn

STRING 128

16

R/W

BTB-SCH-NUMITEMS INTEGER 1 RO

BTB-SCH-FIRSTITEM INTEGER 1 R/W

BTB-SCH-ITEM1 TO BTB-SCH-ITEM16

Each list tag consists of multiple fields separated by

two spaces.

CAMPAIGN ID

LOT ID

BATCH ID

RECIPE ID

STATUS

ACTION

STRING 84

16

16

16

16

8

2

RO

BTB-SEL-SCHITEM INTEGER 1 R/W

BTB-SEL-SCHCLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

RO

BTB-SEL-SCHRECIPE STRING 16 RO

BTB-SEL-SCHSIZE INTEGER 1 RO

BTB-SEL-SCHTRAIN STRING 16 RO

BTB-SEL-SCHMODE INTEGER 1 RO

BTB-SEL-SCHMODESTR STRING 16 RO

BTB-SEL-SCHSTATUS INTEGER 1 RO

BTB-SEL-SCHSTATUSSTR STRING 8 RO

BTB-SEL-SCHMASK INTEGER 1 RO

BTB-SEL-SCHFOCUSOK INTEGER 1 RO

BTB-SEC-DONEBY STRING 12 R/W

BTB-SEC-DONEBYPWD STRING 12 R/W

BTB-SEC-CHECKBY STRING 12 R/W

BTB-SEC-CHECKBYPWD STRING 12 R/W

BTB-INFO INTEGER 1 RO

BTB-HANDSHAKE INTEGER 1 R/W

Page 584: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

570 Chapter 22

2. The BTB-HANDSHAKE tag is an integer tag that is written to initiate an

update of the batches according to the values assigned to the focus tag. The

handshake values are provided in the table at the end of this procedure. There is

also an ibBatchAction command available for setting the appropriate focus.

This function is preferred to the handshake because it is designed to

automatically handle security requests.

3. The BTB-SCH-NUMITEMS tag is an integer tag containing the number of

batches in the schedule.

4. The BTB-SCH-ITEM1 to BTB-SCH-ITEM16 tags are string tags used to

display the list of batches in the schedule. The first item in the list is defined by

the value in tag BTB-SCH-FIRSTITEM.

5. The BTB-SEL-SCHITEM tag is an integer tag used to select the item in the list

that is the focus of the action being performed. This is equivalent to the

selection of the batch from the list with the mouse.

6. The following tags contain the specific schedule information corresponding to

the selected item from the list.

BTB-SEL-SCHCLB - String tag containing the identification of the selected

batch

BTB-SEL-SCHRECIPE - String tag containing the Recipe ID of the selected

batch

BTB-SEL-SCHSIZE - Integer tag containing the Size of the selected batch

BTB-SEL-SCHTRAIN - String tag containing the Train of the selected batch

BTB-SEL-SCHMODE - Integer tag containing the Mode value of the selected

batch

BTB-SEL-SCHMODESTR - String tag containing the Mode of the selected

batch

BTB-SEL-SCHSTATUS - String tag containing the Status value of the selected

batch

Value Mode

0 Automatic

1 Semi-Automatic

2 Manual

Page 585: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 571

BTB-SEL-SCHSTATUSSTR - String tag containing the Status of the selected

batch

BTB-SEL-SCHMASK - Integer tag containing the configuration of the

selected batch

The BTB-SEL-SCHMASK tag contains the composite value of all of the bit

offsets that pertain to the configuration settings of the selected batch. The value

of this tag will be the sum of all of the values in the table above for each

configuration item selected. For example, if the batch is in Held and can be

restarted or aborted, the tag value will be 12.

BTB-SEL-SCHFOCUSOK - Integer tag containing the focus status of the

selected batch

Value Status

0 Open

1 Ready

2 Wait

3 Run

4 Done

5 Interlock

6 Aborted

7 Held

8 Aborting

Bit Offset Value Action Permitted

0 1 Batch Start

1 2 Batch Hold

2 4 Batch Restart

3 8 Batch Abort

4 16 Edit Mode

5 32 Operator Action

Page 586: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

572 Chapter 22

7. The BTB-SEC-DONEBY tag specifies the ID and the BTB-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

8. The BTB-SEC-CHECKBY tag specifies the ID and the BTB-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

9. The BTB-INFO tag is an integer tag used to monitor the working state of the

batch management system. This tag will be equal to one when the batch system

is busy. New TIM commands will not be immediately processed while this tag

is enabled. Operation can resume when the value of this tag is zero. The BTB-

HANDSHAKE tag will have a value of -118 when the BTB-INFO tag is

enabled.

10. The BTB-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Value Description

0 There is no batch selected.

1 or 2 The selected batch has not yet been started or has been

completed, and should not be used to manipulate the

recipe focus. If two batches that match this criteria are

selected sequentially, this tag will toggle between one

and two. This will allow the user to define an InTouch

data change script on this value.

3 or 4 The selected batch is running, held, or aborting, and it

is permissible to manipulate the recipe focus. If two

batches that match this criteria are selected

sequentially, this tag will toggle between three and four.

This will allow the user to define an InTouch data

change script on this value.

Page 587: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 573

Note Caution should be used when writing to the BTB-HANDSHAKE tag from

an InTouch client in a system with security defined. If security is enabled, used the

BTB-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

InTouch Client Examples

The following action scripts provide examples of how to define the unit filter focus,

select a batch, and start a batch from an InTouch client. The InTouch script add-on

functions should be used to preserve the order of the tag writes.

Action Script to Set the Focus

{Set the unit focus}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTB-FOCUS-SCH", "UnitA/UnitB",IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 26, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

HandshakeValue

ibBatchActionValue Description

1 19 Abort the batch defined by the BTB-SEL-SCHITEM tag. Same as the

Abort button wizard.

2 20 Hold the batch defined by the BTB-SEL-SCHITEM tag. Same as the

Hold button wizard.

3 21 Restart the batch defined by the BTB-SEL-SCHITEM tag. Same as

the Restart button wizard.

4 22 Start the batch defined by the BTB-SEL-SCHITEM tag. Same as the

Start button wizard.

5 23 Change the mode of the batch defined by the BTB-SEL-SCHITEM

tag to Automatic. Same as the Batch Mode: Set to Automatic button

wizard.

6 24 Change the mode of the batch defined by the BTB-SEL-SCHITEM

tag to Semi-Automatic. Same as the Batch Mode: Set to Semi-

Automatic button wizard.

7 25 Change the mode of the batch defined by the BTB-SEL-SCHITEM

tag to Manual. Same as the Batch Mode: Set to Manual button wizard.

8 26 Re-evaluate the units defined in the BTB_FOCUS_SCH tag and

update the list according to the focus change.

9 N/A Starts Manual Operation.

Page 588: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

574 Chapter 22

Action Script to Select and Start the Batch

{Select the appropriate batch}

ibPokeInt(IB_TIM_ACCESS_TAG, "BTB-SEL-SCHITEM", 2,IB_RESULT_TAG);

{Start the batch}

ibBatchAction(IB_TIM_ACCESS_TAG, 22, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Two scripts were used because of the delay in setting the focus and the updating of

the list of batches. If this were put into a single script, the correct batch may not be

started.}

View and Adjust Allocation Queue

This action group allows the user to perform the functions associated with the

Equipment Allocation Queue in Batch Display and Batch View through tags. The

tags can be used to move a batch up or down in the allocation queue list.

Tag Name Type Size Access

BTAQ-ALLOC-NUMITEMS INTEGER 1 RO

BTAQ-ALLOC-FIRSTITEM INTEGER 1 R/W

BTAQ-ALLOC-ITEM 1 TO BTAQ-

ALLOC-ITEM 16

Each list tag consists of eight fields

separated by two spaces.

CAMPAIGN ID

LOT ID

BATCH ID

INSTANCE NAME

RECIPE ID

MODE

STATUS

ORDER

STRING

16 RO

16 RO

16 RO

16 RO

16 RO

9 RO

8 RO

8 RO

BTAQ-SCH-EIO INTEGER 1 RO

BTAQ-SEL-SCHITEM INTEGER 1 R/W

BTAQ-SEL-SCHCAMP STRING 16 RO

BTAQ-SEL-SCHLOT STRING 16 RO

BTAQ-SEL-SCHBATCH STRING 16 RO

BTAQ-SEL-SCHINSTANCE STRING 16 RO

BTAQ-SEL-SCHRECIPE STRING 16 RO

BTAQ-SEL-SCHSIZE INTEGER 1 RO

BTAQ-SEL-SCHTRAIN STRING 16 RO

BTAQ-SEL-SCHMODE INTEGER 1 RO

Page 589: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 575

Description

1. The BTAQ-ALLOC-NUMITEMS tag is an integer tag containing the number

of batches in the queue list.

2. The BTAQ-ALLOC-ITEM 1 TO BTAQ-ALLOC-ITEM 16 tags are string tags

used to display the list of batches in the queue list. The first item in the list is

defined by the value in tag BTAQ-ALLOC-FIRSTITEM

3. The BTAQ-SCH-EIO tag is an integer tag used to monitor or display the

Execute In Order mode.

4. The BTB-SEL-SCHITEM tag is an integer tag used to select the item in the list

that is the focus of the action being performed. This is equivalent to the

selection of the batch from the list with the mouse.

5. The following tags contain the specific schedule information corresponding to

the selected item from the list.

6. BTAQ-SEL-SCHCAMP - String tag containing the Campaign ID of the

current batch.

7. BTAQ-SEL-SCHLOT - String tag containing the Lot ID of the current batch.

8. BTAQ-SEL-SCHBATCH - String tag containing the Batch ID of the current

batch.

9. BTAQ-SEL-SCHINSTANCE - String tag containing the instance name of the

current batch.

10. BTAQ-SEL-SCHRECIPE - String tag containing the Recipe ID of the current

batch.

11. BTAQ-SEL-SCHSIZE - Integer tag containing the Size of the current batch.

12. BTAQ-SEL-SCHTRAIN - String tag containing the Train of the current batch.

BTAQ-SEL-SCHSEQ INTEGER 1 RO

BTAQ-SEC-DONEBY STRING 12 R/W

BTAQ-SEC-DONEBYPWD STRING 12 R/W

BTAQ-SEC-CHECKBY STRING 12 R/W

BTAQ-SEC-CHECKBYPWD STRING 12 R/W

BTAQ-FOCUS-EQUIP STRING 16 R/W

BTAQ-INFO INTEGER 1 RO

BTAQ-HANDSHAKE INTEGER 1 R/W

Value Execute In Order

0 Off

1 On

Tag Name Type Size Access

Page 590: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

576 Chapter 22

13. BTAQ-SEL-SCHMODE - Integer tag containing the Mode of the current

batch. Values for the Mode are shown here.

14. The BTAQ-SEL-SCHSEQ tag is an integer tag that contains the order

(sequence) of the batch in the allocation queue.

15. The BTAQ-SEC-DONEBY tag specifies the ID and the BTAQ-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values are required for these tags if

security has been configured for the Batch Client functions in the Security

Editor.

16. The BTAQ-SEC-CHECKBY tag specifies the ID and the BTAQ-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values are required for these tags if

security has been configured for the Batch Client functions in the Security

Editor.

17. The BTAQ-FOCUS-EQUIP tag is an string tag which contains the name of the

equipment from which the queue is being reviewed (that is, has the focus).

18. The BTAQ-INFO tag is an integer tag used to monitor the working state of the

batch management system. This tag is equal to one when the batch system is

busy. New TIM commands are not immediately processed while this tag is

enabled. Operation can resume when the value of this tag is zero. The BTAQ-

HANDSHAKE tag has a value of -118 when the BTAQ-INFO tag is enabled.

19. The BTAQ-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Value Mode

0 Automatic

1 Semi-Automatic

2 Manual

HandshakeValue

Description

5 Move the batch selected by the BTB-SEL-SCHITEM tag up

one row in the list. Same as the Move Up button on the

allocation queue dialog in Batch Display and Batch View

display.

6 Move the batch selected by the BTB-SEL-SCHITEM tag down

one row in the list. Same as the Move Down button on the

allocation queue dialog in Batch Display and Batch View

display.

7 Refresh the allocation queue list.

Page 591: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 577

Manipulate Recipe Focus

This is a very important action group that allows the user to define different criteria

that will be used for selecting the batch that will be monitored or changed through

tags. The tags in this action group are not used by any specific wizard, but are

required for getting the batch and phase related wizards to display the proper

information.

Description

1. The BTR-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and

Batch combination that is the batch focus for the action.

2. The BTR-FOCUS-UNIT tag is a string tag that defines the unit that is the unit

focus for the action. If an asterisk "*" is written to this tag, then the focus will

be on all equipment associated with the batch defined by the BTR-FOCUS-

CLB tag. If a null string "" is written to this tag, then the focus will be on the

batch defined by the BTR-FOCUS-CLB tag.

3. The BTR-HANDSHAKE tag is an integer tag that is written to initiate an

update of the batch and phase related interface groups according to the values

assigned to the focus tags. The handshake values and affected interface groups

are provided in the tables below.

Note Caution should be used when writing to the BTR-HANDSHAKE tag from

an InTouch client. The BTR-HANDSHAKE tag for monitoring responses only. The

ibBatchAction script add-on function should be utilized to initiate the action.

Interface Groups Affected by this Focus Setting:

• Monitor and Respond to Batch Questions

• Enter Batch Comments

• Monitor and Control Active Phases

• Select Equipment for Allocation

Tag Name Type Size Access

BTR-FOCUS-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

R/W

BTR-FOCUS-UNIT STRING 16 R/W

BTR-HANDSHAKE INTEGER 1 R/W

HandshakeValue

ibBatchActionValue Description

1 28 Change focus according to the values defined for the

batch and unit focus tags.

Page 592: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

578 Chapter 22

InTouch Client Example

The following data change script provides an example of how to set the recipe

focus whenever a batch is selected from an InTouch client. This script also utilizes

Monitor and Control Active Batches interface information. The InTouch script add-

on functions should be used to preserve the order of the tag writes.

Set Recipe Focus for the Selected Batch

Data Change Condition

BTB-SEL-SCHFOCUSOK

{Set the recipe focus}

IF BTB-SEL-SCHFOCUSOK > 0

THEN

ibPokeStr(IB_TIM_ACCESS_TAG, "BTR-FOCUS-CLB", BTB-SEL-SCHCLB,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTR-FOCUS-UNIT", "",IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 28, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

ENDIF;

Page 593: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 579

Monitor and Respond to Batch Questions

This action group allows the user to perform all of the functions available from the

question portion of the InBatch Batch Display through tags. There are tags that can

be used to view and answer questions for any active batch. The tags in this action

group are used by the Batch Questions wizard and can be used within a client to

create a unique question interface.

Description

1. The BTRQ-QUES-NUMITEMS tag is an integer tag containing the number of

question items currently in the list. The list will be determined by the focus that

is established using the Manipulate Recipe Focus action group described

earlier.

2. The BTRQ-QUES-ITEM1 to BTRQ-QUES-ITEM16 tags are string tags used

to display the list of questions. The first item in the list is defined by the value

in tag BTRQ-QUES-FIRSTITEM.

3. The BTRQ-SEL-QUESITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the question from the list with the mouse.

4. The following tags contain the specific question information corresponding to

the selected item from the list.

BTRQ-SEL-QUES - String tag containing the current selected question

BTRQ-SEL-QUESTYPE - Integer tag containing the type of the current

question

Tag Name Type Size Access

BTRQ-QUES-NUMITEMS INTEGER 1 RO

BTRQ-QUES-FIRSTITEM INTEGER 1 R/W

BTRQ-QUES-ITEM1

TO BTRQ-QUES-ITEM16

STRING 40 RO

BTRQ-SEL-QUESITEM INTEGER 1 R/W

BTRQ-SEL-QUES STRING 40 RO

BTRQ-SEL-QUESTYPE INTEGER 1 RO

BTRQ-SEL-SECURITY INTEGER 1 RO

BTRQ-SEC-DONEBY STRING 12 R/W

BTRQ-SEC-DONEBYPWD STRING 12 R/W

BTRQ-SEC-CHECKBY STRING 12 R/W

BTRQ-SEC-CHECKBYPWD STRING 12 R/W

BTRQ-HANDSHAKE INTEGER 1 R/W

Page 594: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

580 Chapter 22

BTRQ-SEL-SECURITY - Integer tag containing the type of the question

security required

5. The BTRQ-SEC-DONEBY tag specifies the ID and the BTRQ-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

6. The BTRQ-SEC-CHECKBY tag specifies the ID and the BTRQ-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

7. The BTRQ-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTRQ-HANDSHAKE tag from

an InTouch client in a system with security defined. If security is enabled, used the

BTRQ-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

Value Question Type

0 Loop Back

1 Transition Logic

Value Security Required

0 None

1 DoneBy Only

2 DoneBy and CheckBy

HandshakeValue

ibBatchActionValue Description

1 40 Answer Yes to the question selected by the BTS-

SEL-QUESITEM tag. Same as the Yes button on the

Question wizard.

2 41 Answer No to the question selected by the BTS-

SEL-QUESITEM tag. Same as the No button on the

Question wizard.

Page 595: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 581

InTouch Client Example

The following action script provides an example of how to select and answer "No"

to a loop back question from an InTouch client. This script assumes that the

appropriate focuses have already been set and that there is only one question active.

The InTouch script add-on functions should be used to preserve the order of the tag

writes.

Answer No to the Loop Back Question in the List

ibPokeInt(IB_TIM_ACCESS_TAG, "BTRQ-SEL-QUESITEM", 1,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 41, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Enter Batch Comments

This action group allows the user to enter comments that pertain to the execution of

batches through tags. There are tags that can be used to enter and submit comments

for any active batch. The tags in this action group are used by the Batch Comments

wizard and can be used within a client to create a unique batch comment interface.

Description

1. The BTRC-INP-COMMENT tag is a string tag used to enter the desired

comment. The comment will be assigned to the batch determined by the focus

that is established using the Manipulate Recipe Focus action group described

earlier.

2. The BTRC-SEC-DONEBY tag specifies the ID and the BTRC-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

3. The BTRC-SEC-CHECKBY tag specifies the ID and the BTRC-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

Tag Name Type Size Access

BTRC-INP-COMMENT STRING 80 R/W

BTRC-SEC-DONEBY STRING 12 R/W

BTRC-SEC-DONEBYPWD STRING 12 R/W

BTRC-SEC-CHECKBY STRING 12 R/W

BTRC-SEC-CHECKBYPWD STRING 12 R/W

BTRC-HANDSHAKE INTEGER 1 R/W

Page 596: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

582 Chapter 22

4. The BTRC-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTRC-HANDSHAKE tag from

an InTouch client in a system with security defined. If security is enabled, used the

BTRC-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

InTouch Client Example

The following action script provides an example of how to enter a batch comment

from an InTouch client. This script assumes that the appropriate focuses have

already been set. The InTouch script add-on functions should be used to preserve

the order of the tag writes.

Enter a Batch Comment

ibPokeStr(IB_TIM_ACCESS_TAG, "BTRC-INP-COMMENT", "BatchComment Text", IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 38, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Monitor and Control Active Phases

This action group allows the user to perform all of the phase monitor and control

functions available from the InBatch Batch Display through tags. There are tags

that can be used to select, view, and control active phases and associated

information for the selected batch. The tags in this action group are used by the

phase and parameter wizards as well as many of the Button wizards and can be used

within a client to create a unique phase monitoring and control application.

HandshakeValue

ibBatchActionValue Description

1 38 Enters the defined comment for the batch selected.

Tag Name Type Size Access

BTRP-PHASE-NUMITEMS INTEGER 1 RO

BTRP-PHASE-FIRSTITEM INTEGER 1 R/W

BTRP-PHASE-ITEM1 TO BTRP-PHASE-ITEM16

Each list tag consists of five fields separated by two spaces.

EQUIPMENT

OPERATION

PHASE

STATUS

ACTION

STRING 66

16

16

16

8

2

RO

BTRP-INSTR-NUMITEMS INTEGER 1 RO

BTRP-INSTR-FIRSTITEM INTEGER 1 R/W

BTRP-INSTR-ITEM1 TO BTRP-INSTR-ITEM16 STRING 40 RO

Page 597: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 583

BTRP-ILCK-NUMITEMS INTEGER 1 RO

BTRP-ILCK-FIRSTITEM INTEGER 1 R/W

BTRP-ILCK-ITEM1 TO BTRP-ILCK-ITEM16

Each list tag consists of two fields separated by two spaces.

TAG NAME

VALUE

STRING 59

49

8

RO

BTRP-PARAMEXT-NUMITEMS INTEGER 1 RO

BTRP-PARAMEXT-FIRSTITEM INTEGER 1 R/W

BTRP-PARAMEXT-ITEM1

TO BTRP-PARAMEXT-ITEM16

Each list tag consists of five fields separated by two spaces.

PARAMETER NAME

PARAMETER TYPE

EXTENSION

VALUE

EDIT STATUS

STRING 72

16

12

12

8

16

RO

BTRP-SEL-PHASEITEM INTEGER 1 R/W

BTRP-SEL-PHASEEQUIP STRING 16 RO

BTRP-SEL-PHASEOPER STRING 16 RO

BTRP-SEL-PHASENAME STRING 16 RO

BTRP-SEL-PHASELABEL STRING 8 RO

BTRP-SEL-PHASESTATUS INTEGER 1 RO

BTRP-SEL-PHASEMASK INTEGER 1 RO

BTRP-SEL-PHASELABEL1 STRING 8 RO

BTRP-SEL-PHASELABEL2 STRING 8 RO

BTRP-SEL-PHASEOPERMSGINT INTEGER 1 RO

BTRP-SEL-PHASEOPERMSG STRING 50 RO

BTRP-SEL-PHASEDOC STRING 128 RO

BTRP-SEL-PARAMEXTITEM INTEGER 1 R/W

BTRP-SEL-PARAMNAME STRING 16 RO

BTRP-SEL-PARAMTYPE INTEGER 1 RO

BTRP-SEL-PARAMEXT INTEGER 1 RO

BTRP-SEL-PARAMEDIT INTEGER 1 RO

BTRP-SEL-PARAMEXTVAL STRING 16 RO

BTRP-SEL-INSTRITEM INTEGER 1 R/W

BTRP-SEL-INSTR STRING 40 RO

BTRP-SEL-ILCKITEM INTEGER 1 R/W

BTRP-SEL-ILCKTAG STRING 84 RO

BTRP-SEL-ILCKSTATUS STRING 8 RO

BTRP-INP-PHASECOMMENT STRING 80 R/W

BTRP-INP-PARAMEXTVAL STRING 16 R/W

BTRP-SEC-DONEBY STRING 12 R/W

BTRP-SEC-DONEBYPWD STRING 12 R/W

Tag Name Type Size Access

Page 598: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

584 Chapter 22

Description

1. The BTRP-PHASE-NUMITEMS tag is an integer tag containing the number

of phase items currently in the list. The list will be determined by the focus that

is established using the Manipulate Recipe Focus action group described

earlier.

2. The BTRP-PHASE-ITEM1 to BTRP-PHASE-ITEM16 tags are string tags

used to display the list of active phases in the selected batch. The first item in

the list is defined by the value in tag BTRP-PHASE-FIRSTITEM.

3. The BTRP-SEL-PHASEITEM tag is an integer tag used to select the item in

the list that is the focus of the action being performed. This is equivalent to the

selection of the phase from the list with the mouse.

4. The following tags contain the specific schedule information corresponding to

the selected item from the list.

BTRP-SEL-PHASEEQUIP - String tag containing the unit or connection

associated with the selected phase

BTRP-SEL-PHASEOPER - String tag containing the operation running the

selected phase

BTRP-SEL-PHASENAME - String tag containing the name of the selected

phase

BTRP-SEL-PHASELABEL - String tag containing the label of the selected

phase

BTRP-SEL-PHASESTATUS - Integer tag containing the status of the selected

phase

BTRP-SEL-PHASEMASK - Integer tag containing the configuration of the

selected phase

BTRP-SEC-CHECKBY STRING 12 R/W

BTRP-SEC-CHECKBYPWD STRING 12 R/W

BTRP-HANDSHAKE INTEGER 1 R/W

Value Phase Status

1 Ready

2 Wait

3 Run

4 Done

5 Interlocked

6 Aborted

7 Held

Tag Name Type Size Access

Page 599: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 585

The BTRP-SEL-PHASEMASK tag contains the composite value of all of the

bit offsets that pertain to the configuration settings of the selected phase. The

value of this tag will be the sum of all of the values in the table above for each

configuration item set. For example, if the phase is in Held and can be restarted

or aborted and control button one is available, the tag value will be 4864.

BTRP-SEL-PHASELABEL1 - String tag containing the label of control button

1 label for the selected phase

BTRP-SEL-PHASELABEL2 - String tag containing the label of control button

2 label for the selected phase

BTRP-SEL-PHASEOPERMSGINT - Integer tag containing the value of the

message being displayed for the selected phase

BTRP-SEL-PHASEOPERMSG - String tag containing the Message being

displayed for the selected phase

BTRP-SEL-PHASEDOC - String tag containing the path of the Document

assigned to the selected phase.

Bit Offset Value Description

0 1 Ack On Entry Required

1 2 DoneBy Ack On Entry Required

2 4 CheckBy Ack On Entry Required

3 8 Ack On Exit Required

4 16 DoneBy Ack On Exit Required

5 32 CheckBy Ack On Exit Required

6 64 Comment Required

7 128 Hold Permitted

8 256 Restart Permitted

9 512 Abort Permitted

10 1024 Start Permitted

11 2048 Operator Action Required

12 4096 Control Button 1 Available

13 8192 Control Button 2 Available

14 16384 Partial Add Ack On Exit Required

Value Message

0 None

1 Waiting for Phase Start.

2 Waiting for entry acknowledge.

3 Waiting for exit acknowledge.

4 Waiting for Required Edits.

5 Waiting for Required Comment.

6 Waiting for Phase Status.

7 Waiting for Phase Start

8 Partial Add. Waiting for Exit Acknowledge.

Page 600: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

586 Chapter 22

5. The BTRP-INP-PHASECOMMENT tag is a string tag used to enter in a

comment for the selected phase.

6. The BTRP-PARAMEXT-NUMITEMS tag is an integer tag containing the

number of parameter items currently in the list.

7. The BTRP-PARAMEXT-ITEM1 to BTRP-PARAMEXT-ITEM16 tags are

string tags used to display the list of active parameters in the selected phase.

The first item in the list is defined by the value in tag BTRP-PARAMEXT-

FIRSTITEM.

8. The BTRP-SEL-PARAMEXTITEM tag is an integer tag used to select the item

in the list that is the focus of the action being performed. This is equivalent to

the selection of the parameter from the list with the mouse.

9. The following tags contain the specific schedule information corresponding to

the selected item from the list.

BTRP-SEL-PARAMNAME - String tag containing the name of the selected

phase

BTRP-SEL-PARAMTYPE - Integer tag containing the type of the selected

phase

BTRP-SEL-PARAMEXT - Integer tag containing the type of extension of the

selected phase

BTRP-SEL-PARAMEDIT - Integer tag containing the editing that is allowed

for the selected phase

Value Description

0 Input

9 Process Variable

12 Output

Value Description

1 Material ID

2 Material Name

3 Target

4 Actual

5 High Deviation

6 Low Deviation

7 Lot Code

8 Preact

10 High Limit

11 Low Limit

Page 601: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 587

BTRP-SEL-PARAMEXTVAL - String tag containing the value of the selected

parameter

10. The BTRP-INP-PARAMEXTVAL tag is a string tag used to enter in a new

value for the selected parameter.

11. The BTRP-INSTR-NUMITEMS tag is an integer tag containing the number of

instruction items currently in the list.

12. The BTRP-INSTR-ITEM1 to BTRP-INSTR-ITEM16 tags are string tags used

to display the list of active instruction for the selected phase. The first item in

the list is defined by the value in tag BTRP-INSTR-FIRSTITEM.

13. The BTRP-SEL-INSTRITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the instruction from the list with the mouse.

14. The following tag contains the specific schedule information corresponding to

the selected item from the list.

BTRP-SEL-INSTR - String tag containing the selected line of the instruction

15. The BTRP-ILCK-NUMITEMS tag is an integer tag containing the number of

interlock items currently in the list.

16. The BTRP-ILCK-ITEM1 to BTRP-ILCK-ITEM16 tags are string tags used to

display the list of active interlock tags for the selected phase. The first item in

the list is defined by the value in tag BTRP-ILCK-FIRSTITEM.

17. The BTRP-SEL-ILCKITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the interlock from the list with the mouse.

18. The following tag contains the specific schedule information corresponding to

the selected item from the list.

BTRP-SEL-ILCKTAG - String tag containing the tag associated with the

selected interlock

BTRP-SEL-ILCKSTATUS - String tag containing the value of the selected

interlock

19. The BTRP-SEC-DONEBY tag specifies the ID and the BTRP-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

Value Editing Permitted

0 None

1 Numeric Entry Allowed

2 Alphanumeric Entry Allowed

3 Numeric Entry Required

4 Alphanumeric Entry Required

Page 602: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

588 Chapter 22

20. The BTRP-SEC-CHECKBY tag specifies the ID and the BTRP-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

21. The BTRP-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTRP-HANDSHAKE tag from

an InTouch client in a system with security defined. If security is enabled, used the

BTRP-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

InTouch Client Examples

The following action scripts provide examples of how to put a phase on hold, enter

a phase comment, and change a phase parameter value from an InTouch client. This

script assumes that the appropriate focuses have already been set. The InTouch

script add-on functions should be used to preserve the order of the tag writes.

HandshakeValue

ibBatchActionValue Description

1 29 Abort the phase defined by the BTRP-SEL-

PHASEITEM tag. Same as the Phase Abort button

wizard.

2 30 Hold the phase defined by the BTRP-SEL-

PHASEITEM tag. Same as the Phase Hold button

wizard.

3 31 Restart the phase defined by the BTRP-SEL-

PHASEITEM tag. Same as the Phase Restart button

wizard.

4 32 Start the phase defined by the BTRP-SEL-

PHASEITEM tag. Same as the Phase Start button

wizard.

5 33 Acknowledge the phase defined by the BTRP-SEL-

PHASEITEM tag. Executes both the Ack On Entry

and Ack On Exit commands. Same as the Ack button

wizards.

6 34 Enter the comment to the phase defined by the

BTRP-SEL-PHASEITEM tag.

7 35 Performs the selection of control button 1.

8 36 Performs the selection of control button 2.

9 37 Change the value of the parameter defined by the

BTRP-SEL-PARAMEXTITEM tag.

10 49 Views the document assigned to the selected phase.

11 50 Acknowledges the document assigned to the selected

phase.

Page 603: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 589

Put a Phase on Hold

ibPokeInt(IB_TIM_ACCESS_TAG, "BTRP-SEL-PHASEITEM", 2,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 30, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Enter a Phase Comment

ibPokeInt(IB_TIM_ACCESS_TAG, "BTRP-SEL-PHASEITEM", 2,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTRP-INP-PHASECOMMENT", "CommentEntry", IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 34, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Change a Phase Target Parameter

ibPokeInt(IB_TIM_ACCESS_TAG, "BTRP-SEL-PHASEITEM", 2,IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "BTRP-SEL-PARAMEXTITEM", 2,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTRP-INP-PARAMEXTVAL", "300",IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 37, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Select Equipment for Allocation

This action group allows the user to perform all of the functions available from the

Equipment Selection dialog of the InBatch Batch Display through tags. There are

tags that can be used to select equipment for any active batch. The tags in this

action group are used by the Equipment Selection wizard and can be used within a

client to create a unique equipment selection interface.

Tag Name Type Size Access

BTRS-INST-NUMITEMS INTEGER 1 RO

BTRS-INST-FIRSTITEM INTEGER 1 R/W

BTRS-INST-ITEM1 TO BTRS-INST-ITEM16 STRING 16 RO

BTRS-UNIT-NUMITEMS INTEGER 1 RO

BTRS-UNIT-FIRSTITEM INTEGER 1 R/W

BTRS-UNIT-ITEM1 TO BTRS-UNIT-ITEM16

Each list tag consists of two fields separated by two spaces.

UNIT NAME

STATUS

STRING 34

16

16

RO

BTRS-SEL-INSTITEM INTEGER 1 R/W

BTRS-SEL-INSTNAME STRING 16 RO

BTRS-SEL-UNITITEM INTEGER 1 R/W

BTRS-SEL-UNITNAME STRING 16 RO

BTRS-SEL-UNITSTATUS STRING 16 RO

Page 604: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

590 Chapter 22

Description

1. The BTRS-INST-NUMITEMS tag is an integer tag containing the number of

instance items currently in the list. The list will be determined by the focus that

is established using the Manipulate Recipe Focus action group described

earlier.

2. The BTRS-INST-ITEM1 to BTRS-INST-ITEM16 tags are string tags used to

display the list of instances. The first item in the list is defined by the value in

tag BTRS-INST-FIRSTITEM.

3. The BTRS-SEL-INSTITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the instance from the list with the mouse.

4. The following tag contains the specific question information corresponding to

the selected item from the list.

BTRS-SEL-INSTNAME - String tag containing the name of the selected

instance

5. The BTRS-UNIT-NUMITEMS tag is an integer tag containing the number of

units available for selection and assignment to the selected instance.

6. The BTRS-UNIT-ITEM1 to BTRS-UNIT-ITEM16 tags are string tags used to

display the list of units and associated information. The first item in the list is

defined by the value in tag BTRS-UNIT-FIRSTITEM.

7. The BTRS-SEL-UNITITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the unit from the list with the mouse.

8. The following tags contain the specific question information corresponding to

the selected item from the list.

BTRS-SEL-UNITNAME - String tag containing the name of the selected unit

BTRS-SEL-UNITSTATUS - String tag containing the status of the selected

unit. The status values correspond to those defined in the InBatch Process

Model.

9. The BTRS-SEC-DONEBY tag specifies the ID and the BTRS-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

BTRS-SEC-DONEBY STRING 12 R/W

BTRS-SEC-DONEBYPWD STRING 12 R/W

BTRS-SEC-CHECKBY STRING 12 R/W

BTRS-SEC-CHECKBYPWD STRING 12 R/W

BTRS-HANDSHAKE INTEGER 1 R/W

Tag Name Type Size Access

Page 605: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 591

10. The BTRS-SEC-CHECKBY tag specifies the ID and the BTRS-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

11. The BTRS-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTRS-HANDSHAKE tag from

an InTouch client in a system with security defined. If security is enabled, used the

BTRS-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

InTouch Client Example

The following action script provides an example of how to select a unit when

requested by the active batch from an InTouch client. This script assumes that the

appropriate focuses have already been set and that there is only one instance to

assign. The InTouch script add-on functions should be used to preserve the order of

the tag writes.

Select a Unit to be Assigned to an Instance

ibPokeInt(IB_TIM_ACCESS_TAG, "BTRS-SEL-INSTITEM", 1,IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "BTRS-SEL-UNITITEM", 3,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 39, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Monitor Batch Messages

This action group allows the user to perform all of the functions available from the

InBatch Batch Messages dialog through tags. There are tags that can be used to

view and display all messages for active batches within a client environment. The

tags in this action group are used by the Batch Messages wizard and can be used

within a client to create a unique batch messaging application.

HandshakeValue

ibBatchActionValue Description

1 39 Assign the unit selected by the BTRS-SEL-UNITITEM tag to the

instance selected by the BTRS-SEL-INSTITEM tag.

Page 606: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

592 Chapter 22

Description

1. The BTM-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and

Batch combination that is the batch focus for the action.

2. The BTM-FOCUS-UNIT tag is a string tag that defines the unit that is the unit

focus for the action. If an asterisk "*" is written to this tag, then the focus will

be on all equipment associated with the batch defined by BTM-FOCUS-CLB

tag. If a null string "" is written to this tag, then the focus will be on the batch

defined by the BTM-FOCUS-CLB tag.

3. The BTM-HANDSHAKE tag is an integer tag that is written to initiate an

update of the message list according to the values assigned to the focus tags.

The handshake values are provided in the table below.

Note Caution should be used when writing to the BTS-HANDSHAKE tag from an

InTouch client. The BTS-HANDSHAKE tag for monitoring responses only. The

ibBatchAction script add-on function should be utilized to initiate the action.

4. The BTM-MSG-NUMITEMS tag specifies the number of pending Batch

Messages. The number of possible messages will not exceed the number of

messages that can be displayed. If the message list is full and a new message is

received, the oldest message will be removed from the list and the new

messages will be added. Messages will be maintained in chronological order

with BTM-MSG-ITEM1 being the oldest message.

5. The BTM-MSG-ITEM1 to BTM-MSG-ITEM16 tags are string tags used to

display the list of batch messages. The first item in the list is defined by the

value in tag BTM-MSG-FIRSTITEM.

Tag Name Type Size Access

BTM-FOCUS-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

R/W

BTM-FOCUS-UNIT STRING 16 R/W

BTM-MSG-NUMITEMS INTEGER 1 RO

BTM-MSG-FIRSTITEM INTEGER 1 R/W

BTM-MSG-ITEM1 TO BTM-MSG-ITEM16 STRING 80 RO

BTM-SEL-MSGITEM INTEGER 1 R/W

BTM-SEL-MSG STRING 80 RO

BTM-HANDSHAKE INTEGER 1 R/W

HandshakeValue

ibBatchActionValue Description

1 27 Change the batch or unit for which the focus for any

batch messages is being controlled.

Page 607: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 593

6. The BTM-SEL-MSGITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the message from the list with the mouse.

7. The following tag contains the specific message information corresponding to

the selected item from the list.

BTM-SEL-MSG - String tag containing the current selected message

InTouch Client Example

The following action scripts provide examples of how to focus in on a specific

batch and select and view the second batch message in the list. The InTouch script

add-on functions should be used to preserve the order of the tag writes.

Action Script to Set the Focus

{Set the batch messages focus}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTM-FOCUS-CLB","Campaign/Lot/Batch", IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 27, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Action Script to View the Second Message in the List

ibPokeInt(IB_TIM_ACCESS_TAG, "BTM-SEL-MSGITEM", 2,IB_RESULT_TAG);

{BTM-SEL-MSG will contain the value of the second message.}

{Two scripts were used because of the delay in setting the focus and the updating of

the list of messages. If this were put into a single script, the correct message may

not be selected.}

Page 608: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

594 Chapter 22

Edit Phases and Parameters

This action group allows the user to perform all of the functions available from the

Phase/Parameter Editor portion of the InBatch Batch Display through tags. There

are tags that can be used to view and change the parameters defined for any inactive

phase. The tags in this action group are used by the Phase and Parameter Editor

wizard and can be used within a client to create a unique phase and parameter editor

interface.

Tag Name Type Size Access

BTPE-FOCUS-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

R/W

BTPE-PHASE-NUMITEMS INTEGER 1 RO

BTPE-PHASE-FIRSTITEM INTEGER 1 R/W

BTPE-PHASE-ITEM1 TO BTPE-PHASE-ITEM16

Each list tag consists of four fields separated by two spaces.

INSTANCE NAME

OPERATION

LABEL

PHASE NAME

STRING 62

16

16

8

16

RO

BTPE-INSTR-NUMITEMS INTEGER 1 RO

BTPE-INSTR-FIRSTITEM INTEGER 1 R/W

BTPE-INSTR-ITEM1 TO BTPE-INSTR-ITEM16 STRING 40 RO

BTPE-PARAM-NUMITEMS INTEGER 1 RO

BTPE-PARAM-FIRSTITEM INTEGER 1 R/W

BTPE-PARAM-ITEM1 TO BTPE-PARAM-ITEM16

Each list tag consists of four fields separated by two spaces.

PARAMETER NAME

PARAMETER TYPE

MATERIAL ID

VALUE

STRING 62

16

16

16

8

RO

BTPE-SEL-PHASEITEM INTEGER 1 R/W

BTPE-SEL-PHASEINST STRING 16 RO

BTPE-SEL-PHASEOPER STRING 16 RO

BTPE-SEL-PHASELABEL STRING 8 RO

BTPE-SEL-PHASENAME STRING 16 RO

BTPE-SEL-PHASEMASK INTEGER 1 R/W

BTPE-SEL-INSTRITEM INTEGER 1 R/W

BTPE-SEL-INSTR STRING 40 RO

BTPE-SEL-PARAMITEM INTEGER 1 R/W

BTPE-SEL-PARAM STRING 16 RO

BTPE-SEL-PARAMTYPE INTEGER 1 RO

BTPE-SEL-PARAMMTRLID STRING 16 RO

Page 609: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 595

Description

1. The BTPE-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and

Batch combination that is the batch focus for the action.

2. The BTPE-PHASE-NUMITEMS tag is an integer tag containing the number

of active phases in the selected batch.

3. The BTPE-PHASE-ITEM1 to BTPE-PHASE-ITEM16 tags are string tags

used to display the list of active phases and associated information for the

selected batch. The first item in the list is defined by the value in tag BTPE-

PHASE-FIRSTITEM.

4. The BTPE-SEL-PHASEITEM tag is an integer tag used to select the phase

item in the list that is the focus of the action being performed. This is

equivalent to the selection of the phase from the list with the mouse.

5. The following tags contain the specific phase information corresponding to the

selected item from the list.

BTPE-SEL-PHASEINST - String tag containing the instance name of the

selected phase

BTPE-SEL-PHASEOPER - String tag containing the operation name of the

selected phase

BTPE-SEL-PHASELABEL - String tag containing the label of the selected

phase

BTPE-SEL-PHASENAME - String tag containing the name of the selected

phase

BTPE-SEL-PHASEMASK - Integer tag containing the configuration of the

selected phase.

BTPE-SEL-PARAMMTRLNAME STRING 40 RO

BTPE-SEL-PARAMVALUE STRING 16 RO

BTPE-INP-INSTR STRING 80 R/W

BTPE-INP-PARAMVALUE STRING 16 R/W

BTPE-SEC-DONEBY STRING 12 R/W

BTPE-SEC-DONEBYPWD STRING 12 R/W

BTPE-SEC-CHECKBY STRING 12 R/W

BTPE-SEC-CHECKBYPWD STRING 12 R/W

BTPE-HANDSHAKE INTEGER 1 R/W

Tag Name Type Size Access

Page 610: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

596 Chapter 22

The BTPE-SEL-PHASEMASK tag contains the composite value of all of the

bit offsets that pertain to the configuration settings of the current phase. The

value of this tag will be the sum of all of the values in the table above for each

configuration item selected. For example, if Ack On Entry and Comment

Required are selected, the tag value will be 65. This tag can be written to as

well to allow the current phase configuration settings to be changed.

6. The BTPE-INSTR-NUMITEMS tag is an integer tag containing the number of

lines of instructions for the selected phase.

7. The BTPE-INSTR-ITEM1 to BTPE-INSTR-ITEM16 tags are string tags used

to display the list of instructions for the selected phase. The first item in the list

is defined by the value in tag BTPE-INSTR-FIRSTITEM.

8. The BTPE-SEL-INSTRITEM tag is an integer tag used to select the instruction

item in the list that is the focus of the action being performed. This is

equivalent to the selection of the instruction from the list with the mouse.

9. The following tag contains the specific instruction information corresponding

to the selected item from the list.

BTPE-SEL-INSTR - String tag containing the selected instruction line of the

selected phase

10. The BTPE-INP-INSTR tag is a string tag used to enter in a new instruction line

that is to be appended to the current instruction for the selected phase.

11. The BTPE-PARAM-NUMITEMS tag is an integer tag containing the number

of parameters in the selected phase.

12. The BTPE-PARAM-ITEM1 to BTPE-PARAM-ITEM16 tags are string tags

used to display the list of active parameters and associated information for the

selected phase. The first item in the list is defined by the value in tag BTPE-

PARAM-FIRSTITEM.

13. The BTPE-SEL-PARAMITEM tag is an integer tag used to select the

parameter item in the list that is the focus of the action being performed. This is

equivalent to the selection of the parameter from the list with the mouse.

14. The following tags contain the specific phase information corresponding to the

selected item from the list.

BTPE-SEL-PARAM - String tag containing the name of the selected parameter

BTPE-SEL-PARAMTYPE - Integer tag containing the type of the selected

parameter

Bit Offset Value Description

0 1 Ack On Entry

1 2 DoneBy Ack On Entry

2 4 CheckBy Ack On Entry

3 8 Ack On Exit

4 16 DoneBy Ack On Exit

5 32 CheckBy Ack On Exit

6 64 Comment Required

Page 611: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 597

BTPE-SEL-PARAMMTRLID - String tag containing the material ID assigned

to the selected parameter

BTPE-SEL-PARAMMTRLNAME - String tag containing the material name

assigned to the selected parameter

BTPE-SEL-PARAMVALUE - String tag containing the value of the selected

parameter.

15. The BTPE-INP-PARAMVALUE tag is a string tag used to enter in a new value

for the selected parameter.

16. The BTPE-SEC-DONEBY tag specifies the ID and the BTPE-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

17. The BTPE-SEC-CHECKBY tag specifies the ID and the BTPE-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

18. The BTPE-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTS-HANDSHAKE tag from an

InTouch client in a system with security defined. If security is enabled, used the

BTS-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

Value Description

0 Input

9 Process Variable

12 Output

HandshakeValue

ibBatchActionValue Description

1 42 Change batch focus.

2 43 Change the phase configuration according to the phase

mask setting for the selected phase and append new

instructions.

3 44 Change the phase parameter value for the selected

parameter.

Page 612: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

598 Chapter 22

InTouch Client Examples

The following action scripts provide examples of how to select a phase, change the

phase configuration settings and change the value of a parameter from an InTouch

client. The script assumes that there is an active heat phase with a temperature

parameter. The InTouch script add-on functions should be used to preserve the

order of the tag writes.

Action Script to Set the Focus

{Select the appropriate batch}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTPE-FOCUS-CLB","Campaign/Lot/Batch", IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 42, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Action Script to Change the Configuration Settings and Parameter

Value for a Phase

{Select the appropriate phase and require a CheckBy Ack OnEntry and a DoneBy Ack On Exit}

ibPokeInt(IB_TIM_ACCESS_TAG, "BTPE-SEL-PHASEITEM", 1,IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "BTPE-SEL-PHASEMASK", 20,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 43, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Select the appropriate parameter and change the heat targetvalue to 300}

ibPokeInt(IB_TIM_ACCESS_TAG, "BTPE-SEL-PARAMITEM", 1,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTPE-SEL-PARAMVALUE", "300",IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 44, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Two scripts were used because of the delay in setting the focus and the updating of

the list of phases. If this were put into a single script, the correct phase and

parameter may not be selected.}

Monitor and Control Equipment

This action group allows the user to perform all of the functions available from the

Equipment Allocation dialog of the InBatch Batch Display through tags. There are

tags that can be used to view and change the allocation and statuses of equipment

for any active batch or unit. The tags in this action group are used by the Equipment

Allocation wizard and can be used within a client to create a unique equipment

interface.

Page 613: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 599

Description

1. The BTE-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and

Batch combination that is the batch focus for the action.

2. The BTE-FOCUS-UNIT tag defines the unit that is the unit focus for the

action. If an asterisk "*" is written to this tag, then the focus will be on all

equipment associated with the batch defined by BTE-FOCUS-CLB tag. If a

null string "" is written to this tag, then the focus will be on the batch defined

by the BTE-FOCUS-CLB tag.

3. The BTE-EQU-NUMITEMS tag is an integer tag containing the number of

pieces of equipment in the batch in focus.

Tag Name Type Size Access

BTE-FOCUS-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

R/W

BTE-FOCUS-UNIT STRING 16 R/W

BTE-EQU-NUMITEMS INTEGER 1 RO

BTE-EQU-FIRSTITEM INTEGER 1 R/W

BTE-EQU-ITEM1 TO BTE-EQU-ITEM16

Each list tag consists of five fields separated by two spaces.

EQUIPMENT NAME

EQUIPMENT TYPE

ALLOCATION

STATUS

STATE

STRING 82

16

10

16

16

16

RO

BTE-INST-NUMITEMS INTEGER 1 RO

BTE-INST-FIRSTITEM INTEGER 1 R/W

BTE-INST-ITEM1 TO BTE-INST-ITEM16 STRING 16 RO

BTE-SEL-EQUITEM INTEGER 1 R/W

BTE-SEL-EQUNAME STRING 16 RO

BTE-SEL-EQUTYPE INTEGER 1 RO

BTE-SEL-EQUALLOC STRING 16 RO

BTE-SEL-EQUSTATUS STRING 16 RO

BTE-SEL-EQUUNITCTRL INTEGER 1 RO

BTE-SEL-INSTITEM INTEGER 1 R/W

BTE-SEL-INSTNAME STRING 16 RO

BTE-SEC-DONEBY STRING 12 R/W

BTE-SEC-DONEBYPWD STRING 12 R/W

BTE-SEC-CHECKBY STRING 12 R/W

BTE-SEC-CHECKBYPWD STRING 12 R/W

BTE-HANDSHAKE INTEGER 1 R/W

Page 614: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

600 Chapter 22

4. The BTE-EQU-ITEM1 to BTE-EQU-ITEM16 tags are string tags used to

display the list of equipment in the batch defined by the focus. The first item in

the list is defined by the value in tag BTE-EQU-FIRSTITEM.

5. The BTE-SEL-EQUITEM tag is an integer tag used to select the item in the list

that is the focus of the action being performed. This is equivalent to the

selection of the equipment from the list with the mouse.

6. The following tags contain the specific equipment information corresponding

to the selected item from the list.

BTE-SEL-EQUNAME - String tag containing the name of the selected

equipment

BTE-SEL-EQUTYPE - Integer tag containing the type of the selected

equipment

BTE-SEL-EQUALLOC - String tag containing the allocation status of the

selected equipment

Possible Values - Ready, Allocated, Busy

BTE-SEL-EQUSTATUS - String tag containing the status of the selected

equipment. The status values correspond to those defined in the InBatch

Process Model.

BTE-SEL-EQUUNITCTRL - Integer tag indicating if unit control tags exist.

7. The BTE-INST-NUMITEMS tag is an integer tag containing the number of

instances of equipment for the selected batch.

8. The BTE-INST-ITEM1 to BTE-INST-ITEM16 tags are string tags used to

display the list of equipment instances in the batch defined by the focus. The

first item in the list is defined by the value in tag BTE-INST-FIRSTITEM.

9. The BTE-SEL-INSTITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the instance from the list with the mouse.

10. The following tag contains the specific equipment information corresponding

to the selected item from the list.

BTE-SEL-INSTNAME - String tag containing the name of the selected

instance

11. The BTE-SEC-DONEBY tag specifies the ID and the BTE-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

Value Equipment Type

0 Unit

1 Connection

Value Unit Control Tags Exist

0 Unit Control Tags exist

1 Unit Control Tags do not exist

Page 615: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 601

12. The BTE-SEC-CHECKBY tag specifies the ID and the BTE-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

13. The BTE-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTE-HANDSHAKE tag from

an InTouch client in a system with security defined. If security is enabled, used the

BTE-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

InTouch Client Examples

The following action scripts provide examples of how to allocate a connection to a

selected batch and how to put a unit on hold from an InTouch client. The InTouch

script add-on functions should be used to preserve the order of the tag writes.

Action Script to Set the Focus

{Select the appropriate batch}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTE-FOCUS-CLB","Campaign/Lot/Batch", IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 18, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Action Script to Allocate a Connection

{Select the appropriate connection and allocate}

ibPokeInt(IB_TIM_ACCESS_TAG, "BTE-SEL-EQUITEM", 7,IB_RESULT_TAG);

HandshakeValue

ibBatchActionValue Description

1 13 Allocate the piece of equipment selected by the BTE-

SEL-EQUITEM tag to the instance selected by the

BTE-SEL-INSTITEM tag.

2 14 Release the piece of equipment selected by the BTE-

SEL-EQUITEM tag.

3 15 Writes a value of one to the unit abort tag for the unit

selected by the BTE-SEL-EQUITEM tag.

4 16 Writes a value of one to the unit hold tag for the unit

selected by the BTE-SEL-EQUITEM tag.

5 17 Writes a value of one to the unit restart tag for the unit

selected by the BTE-SEL-EQUITEM tag.

6 18 Change the focus of equipment being monitored

according to the values for the batch and focus tags.

Page 616: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

602 Chapter 22

ibPokeInt(IB_TIM_ACCESS_TAG, "BTE-SEL-INSTITEM", 1,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 13, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Two scripts were used because of the delay in setting the focus and the updating of

the list of equipment. If this were put into a single script, the correct equipment may

not be selected.}

Action Script to Set the Focus

{Select the appropriate unit}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTE-FOCUS-UNIT", "Unit Name",IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 18, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Action Script to Put a Unit on Hold

{Select the appropriate unit and put on hold}

ibPokeInt(IB_TIM_ACCESS_TAG, "BTE-SEL-EQUITEM", 1,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 16, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Two scripts were used because of the delay in setting the focus and the updating of

the list of equipment. If this were put into a single script, the correct equipment may

not be selected.}

View/Force Transition Logic

This action group allows the user to perform all of the functions available from the

Transition Logic dialog of the InBatch Batch Display through tags. There are tags

that can be used to view and force transition logic expressions for any active batch.

The tags in this action group are used by the View/Force Transition Logic wizard

and can be used within a client to create a unique transition logic interface.

Tag Name Type Size Access

BTVT-FOCUS-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

R/W

BTVT-TRANS-NUMITEMS INTEGER 1 RO

BTVT-TRANS-FIRSTITEM INTEGER 1 R/W

Page 617: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 603

Description

1. The BTVT-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and

Batch combination that is the batch focus for the action.

2. The BTVT-HANDSHAKE tag is an integer tag that is written to initiate an

update of the transition logic list according to the values assigned to the focus

tag. The handshake values are provided in the table at the end of this

procedure.

3. The BTVT-TRANS-NUMITEMS tag is an integer tag containing the number

of active transition logic objects in the selected batch.

4. The BTVT-TRANS-ITEM1 to BTVT-TRANS-ITEM16 tags are string tags

used to display the list of transition logic objects in the batch defined by the

focus. The first item in the list is defined by the value in tag BTVT-TRANS-

FIRSTITEM.

BTVT-TRANS-ITEM1 TO BTVT-TRANS-ITEM16

Each list tag consists of two fields separated by two spaces.

TRANSITION NAME

LABEL

TIME REMAINING

STRING 37

16

8

9

RO

BTVT-EXP-NUMITEMS INTEGER 1 RO

BTVT-EXP-FIRSTITEM INTEGER 1 R/W

BTVT-EXP-ITEM1 TO BTVT-EXP-ITEM16 STRING 40 RO

BTVT-TAG-NUMITEMS INTEGER 1 RO

BTVT-TAG-FIRSTITEM INTEGER 1 R/W

BTVT-TAG-ITEM1 TO BTVT-TAG-ITEM16

Each list tag consists of two fields separated by two spaces.

TAG NAME

VALUE

STRING 67

49

16

RO

BTVT-SEL-TRANSITEM INTEGER 1 R/W

BTVT-SEL-TRANSNAME STRING 16 RO

BTVT-SEL-TRANSLABEL STRING 8 RO

BTVT-SEL-TRANSDESC STRING 120 RO

BTVT-SEL-EXPITEM INTEGER 1 R/W

BTVT-SEL-EXP STRING 40 RO

BTVT-SEL-TAGITEM INTEGER 1 R/W

BTVT-SEL-TAGNAME STRING 84 RO

BTVT-SEL-TAGVALUE STRING 16 RO

BTVT-SEC-DONEBY STRING 12 R/W

BTVT-SEC-DONEBYPWD STRING 12 R/W

BTVT-SEC-CHECKBY STRING 12 R/W

BTVT-SEC-CHECKBYPWD STRING 12 R/W

BTVT-HANDSHAKE INTEGER 1 R/W

Tag Name Type Size Access

Page 618: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

604 Chapter 22

5. The BTVT-SEL-TRANSITEM tag is an integer tag used to select the item in

the list that is the focus of the action being performed. This is equivalent to the

selection of the transition from the list with the mouse.

6. The following tags contain the specific transition object information

corresponding to the selected item from the list.

BTVT-SEL-TRANSNAME - String tag containing the name of the selected

transition

BTVT-SEL-TRANSLABEL - String tag containing the label for the selected

transition

BTVT-SEL-TRANSDESC - String tag containing the description for the

selected transition

7. The BTVT-EXP-NUMITEMS tag is an integer tag containing the number of

expressions comprising the active transition logic object.

8. The BTVT-EXP-ITEM1 to BTVT-EXP-ITEM16 tags are string tags used to

display the list of expressions in the selected transition logic object. The first

item in the list is defined by the value in tag BTVT-EXP-FIRSTITEM.

9. The BTVT-SEL-EXPITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the expression from the list with the mouse.

10. The following tags contain the specific transition object information

corresponding to the selected item from the list.

BTVT-SEL-EXP - String tag containing a line of the selected expression

11. The BTVT-TAG-NUMITEMS tag is an integer tag containing the number of

tags contained in the selected expression for the selected transition logic object.

12. The BTVT-TAG-ITEM1 to BTVT-TAG-ITEM16 tags are string tags used to

display the list of tags in the expression selected. The first item in the list is

defined by the value in tag BTVT-TAG-FIRSTITEM.

13. The BTVT-SEL-TAGITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the tag from the list with the mouse.

14. The following tags contain the specific equipment information corresponding

to the selected item from the list.

BTVT-SEL-TAGNAME - String tag containing the name of the selected tag

BTVT-SEL-TAGVALUE - String tag containing the value of the selected tag

15. The BTVT-SEC-DONEBY tag specifies the ID and the BTVT-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

16. The BTVT-SEC-CHECKBY tag specifies the ID and the BTVT-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

Page 619: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 605

17. The BTVT-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTVT-HANDSHAKE tag from

an InTouch client in a system with security defined. If security is enabled, used the

BTVT-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

InTouch Client Examples

The following action scripts provide examples of how to select a transition logic

object and force it to be true from an InTouch client. The InTouch script add-on

functions should be used to preserve the order of the tag writes.

Action Script to Set the Focus

{Select the appropriate batch}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTVT-FOCUS-CLB","Campaign/Lot/Batch", IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 47, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Action Script to Force a Transition Logic Expression

{Select the appropriate transition logic expression and force}

ibPokeInt(IB_TIM_ACCESS_TAG, "BTVT-SEL-TRANSITEM", 1,IB_RESULT_TAG);

ibBatchAction(IB_TIM_ACCESS_TAG, 48, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

{Two scripts were used because of the delay in setting the focus and the updating of

the list of transition logic expressions. If this were put into a single script, the

correct expression may not be selected.}

Save Control Recipe

This action group allows the user to perform all of the functions available from the

Save Control Recipe dialog of the InBatch Batch Display through tags. There are

tags that can be used to save the results of any completed batch. The tags in this

action group are used by the Save Control Recipe wizard and can be used within a

client to create a unique save recipe interface.

HandshakeValue

ibBatchActionValue Description

1 47 Change the focus of transition logic being monitored

according to the value for the batch focus tag.

2 48 Force the selected transition logic expression to be true

and allow the batch engine to continue beyond the

transition logic object.

Page 620: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

606 Chapter 22

Description

1. The BTSR-INP-CLB tag defines the Campaign, Lot, and Batch combination

that is the batch focus for the action.

2. The BTSR-INP-RECIPEID tag is a string tag containing the recipe ID that will

be used as the name under which the batch will be saved.

3. The BTSR-INP-AUTHOR tag is a string tag containing the author that will be

used as the individual under which the recipe for the batch will be saved.

4. The BTSR-INP-OPTMASK tag is an integer tag containing the configuration

under which the recipe of the selected batch will be saved.

The BTSR-INP-OPTMASK tag contains the composite value of all of the bit

offsets that pertain to the configuration settings of the current recipe. The value

of this tag will be the sum of all of the values in the table above for each

configuration item selected. For example, if Save Runtime Equipment and

Retain Recipe Approvals are selected, the tag value will be 3. This tag can be

written to as well to allow the current phase configuration settings to be

changed

5. The BTSR-INP-VERCOMMENT tag is a string tag containing any comment

that will be saved along with the recipe of the batch.

Tag Name Type Size Access

BTSR-INP-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

R/W

BTSR-INP-RECIPEID STRING 16 R/W

BTSR-INP-AUTHOR STRING 30 R/W

BTSR-INP-OPTMASK INTEGER 1 R/W

BTSR-INP-VERCOMMENT STRING 80 R/W

BTSR-SEC-DONEBY STRING 12 R/W

BTSR-SEC-DONEBYPWD STRING 12 R/W

BTSR-SEC-CHECKBY STRING 12 R/W

BTSR-SEC-CHECKBYPWD STRING 12 R/W

BTSR-HANDSHAKE INTEGER 1 R/W

Bit Offset Value Description

0 1 Save Runtime Equipment

1 2 Retain Recipe Approvals

Page 621: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 607

6. The BTSR-SEC-DONEBY tag specifies the ID and the BTSR-SEC-

DONEBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

7. The BTSR-SEC-CHECKBY tag specifies the ID and the BTSR-SEC-

CHECKBYPWD tag specifies the password for the user executing the action.

The user ID and password should be obtained from the operator once or

whenever an action is to be executed. Values will be required for these tags if

security has been configured for the Batch Client functions in the InBatch

Security Editor.

8. The BTSR-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note Caution should be used when writing to the BTSR-HANDSHAKE tag from

an InTouch client in a system with security defined. If security is enabled, used the

BTSR-HANDSHAKE tag for monitoring responses only. The ibBatchAction script

add-on function should be utilized to initiate the action.

InTouch Client Example

The following action script provides an example of how to select and save a recipe

that is assigned to completed batch from an InTouch client. This script will save the

recipe under a new name with all equipment and retained approvals. The InTouch

script add-on functions should be used to preserve the order of the tag writes.

Save a Control Recipe

{Select the appropriate mask options and save under a newname}

ibPokeStr(IB_TIM_ACCESS_TAG, "BTSR-INP-CLB","Campaign/Lot/Batch", IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "BTSR-INP-OPTMASK", 3,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTSR-INP-RECIPEID", "New RecipeName", IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTSR-INP-AUTHOR", "Author",IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "BTSR-INP-VERCOMMENT", "CommentText", IB_RESULT_TAG);

HandshakeValue

ibBatchActionValue Description

1 45 Save the recipe associated with the selected batch. This

handshake verifies that the recipe does not already

exist. If the recipe exists, a handshake value of -117 is

returned.

2 46 Save the recipe associated with the selected batch. This

handshake overwrites any existing recipe.

Page 622: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

608 Chapter 22

ibBatchAction(IB_TIM_ACCESS_TAG, 45, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Monitor and Respond to Errors

This action group allows the user to respond to all action and runtime errors that

may occur between the client and the TIM system through tags. There are tags that

can be used to view and acknowledge errors for any active batch. The tags in this

action group are used by the Batch Errors wizard and can be used within a client to

create a unique error interface.

Description

1. The BTEE-MSG-MAXITEMS tag is an integer tag that is written to specify

the maximum number of error messages to retain in the list. The default value

for this tag is 16.

2. The BTEE-MSG-NUMITEMS tag is an integer tag containing the number of

error items currently in the list.

3. The BTEE-MSG-ITEM1 to BTEE-MSG-ITEM16 tags are string tags used to

display the list of errors. The first item in the list is defined by the value in tag

BTEE-MSG-FIRSTITEM.

4. The BTEE-SEL-MSGITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the error from the list with the mouse.

5. The following tag contains the specific error information corresponding to the

selected item from the list.

BTEE-SEL-MSG - String tag containing the current selected error message

6. The BTEE-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

value will be negative if any error occurs in the system. Client applications

should be designed to monitor this tag for a negative value and take the

appropriate action. The handshake values are provided in the table below.

Tag Name Type Size Access

BTEE-MSG-MAXITEMS INTEGER 1 R/W

BTEE-MSG-NUMITEMS INTEGER 1 RO

BTEE-MSG-FIRSTITEM INTEGER 1 R/W

BTEE-MSG-ITEM1 TO BTEE-MSG-ITEM16 STRING 60 RO

BTEE-SEL-MSGITEM INTEGER 1 R/W

BTEE-SEL-MSG STRING 60 RO

BTEE-HANDSHAKE INTEGER 1 R/W

Page 623: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 609

Note Caution should be used when writing to the BTEE-HANDSHAKE tag from

an InTouch client. The BTEE-HANDSHAKE tag for monitoring responses only.

The ibBatchAction script add-on function should be utilized to initiate the action.

InTouch Client Example

The following action script provides an example of how to clear all error messages

in a list. This script assumes that the appropriate focuses have already been set. The

InTouch script add-on functions should be used to preserve the order of the tag

writes.

Clear All Error Messages

ibBatchAction(IB_TIM_ACCESS_TAG, 12, IB_SEC_DIALOG_TAG,IB_RESULT_TAG);

Batch Management System Interface Handshake

Errors

The handshake values that were provided for each interface are used to initiate an

action within the TIM batch interface. The handshake tags are also used to monitor

responses from the TIM applications. For the batch interfaces, the return handshake

values are presented in the table below. When a function is performed properly by

either a handshake or a batch action, the handshake value will be zero. When a

function fails from either a handshake or a batch action, the handshake value will be

negative according to the table. The handshake tag should be monitored if error

messages are to be displayed to the operator.

Note If security is enabled, and the number of retries is exceeded along with the

return of a negative handshake for a failed request, the handshake value will be as

described in the table plus a value of -256. For example, if Done By security is

enabled, and an invalid password is entered more times than permitted by the

number of retries configured in the Security Editor, the handshake value will be (-

1016 + (-256)) = -1272.

HandshakeValue

ibBatchActionValue Description

Value < 0 An error has occurred in the system.

1 12 Clear all errors.

HandshakeValue Description

0 Action successful

-100 Invalid or unselected entry (CLB)!

-101 Wrong batch status to perform action!

-102 Unable to access security tags!

-104 Failed to communicate with BatchMngr!

-105 Invalid or unselected equipment!

-106 Invalid or unselected equipment instance!

Page 624: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

610 Chapter 22

-107 Selected equipment type is invalid for action!

-108 No phase is selected!

-109 Wrong phase status to perform action!

-110 No acknowledge currently required!

-111 No parameter is selected!

-112 No question is selected!

-113 Invalid answer to selected question!

-114 Invalid schedule!

-115 Invalid handshake action!

-116 Unit Control is not available for this equipment!

-117 Recipe already exists!

-118 BatchMngr is busy!

-119 Quantity greater than recipe's maximum batch size!

-1002 DoneBy Security - Unknown User

-1003 DoneBy Security - Denied because of Operator Station

-1004 DoneBy Security - Unknown Operator Station

-1005 DoneBy Security - Denied because of Recipe

-1012 DoneBy Security - Additional Level Needed

-1014 DoneBy Security - Unknown Recipe

-1016 DoneBy Security - Invalid User Password

-1017 DoneBy Security - Denied because of improper DoneBy Clearance

-1018 DoneBy Security - Enter Password

-1020 DoneBy Security - Non-Reusable Password

-1022 DoneBy Security - Password Mismatch

-1024 DoneBy Security - Invalid Password Length

-1033 DoneBy Security - Denied because of improper CheckBy Clearance

-2002 CheckBy Security - Unknown User

-2003 CheckBy Security - Denied because of Operator Station

-2004 CheckBy Security - Unknown Operator Station

-2005 CheckBy Security - Denied because of Recipe

-2012 CheckBy Security - Additional Level Needed

-2014 CheckBy Security - Unknown Recipe

-2016 CheckBy Security - Invalid User Password

-2017 CheckBy Security - Denied because of improper DoneBy Clearance

-2018 CheckBy Security - Enter Password

-2020 CheckBy Security - Non-Reusable Password

-2022 CheckBy Security - Password Mismatch

-2024 CheckBy Security - Invalid Password Length

-2032 CheckBy Security - DoneBy and CheckBy User ID must be different

-2033 CheckBy Security - Denied because of improper CheckBy Clearance

HandshakeValue Description

Page 625: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 611

Security System Interface

This section describes how to configure TIM tags with the Security System

Interface.

Interact with InBatch Security System

This action group allows the user to perform functions associated with the InBatch

security system through tags. There are tags that can be used to obtain security

clearance and change security system settings. The security requests are built into

the functionality of the InBatch wizards. However, the tags in this action group can

be used within a client to create a unique security interface.

Description

1. The SE-INP-USERID tag is a string tag written to provide the security system

with the ID of the user attempting to initiate an application or function.

2. The SE-INP-PASSWORD tag is a string tag written to provide the security

system with the password of the user attempting to initiate an application or

function.

3. The SE-INP-NEWPASSWORD tag is a string tag written to provide the

security system with the new password for the user attempting to initiate an

application or function.

4. The SE-INP-VERIFYPASSWORD tag is a string tag written to provide the

security system with the verified password for the user attempting to initiate an

application or function.

5. The SE-INP-OPSTATION tag is a string tag written to provide the security

system with the name of the operator station from which the user is attempting

to initiate an application or function. Operator station values can be found in

the InBatch Security System User Accounts Editor.

6. The SE-INP-APPLICATION tag is an integer tag written to provide the

security system with the ID of the application that the user is attempting to

initiate. Application ID values can be found in the InBatch Security System

Application-Function Security Editor.

Tag Name Type Size Access

SE-INP-USERID STRING 12 R/W

SE-INP-PASSWORD STRING 12 R/W

SE-INP-NEWPASSWORD STRING 12 R/W

SE-INP-VERIFYPASSWORD STRING 12 R/W

SE-INP-OPSTATION STRING 16 R/W

SE-INP-APPLICATION INTEGER 1 R/W

SE-INP-FUNCTION INTEGER 1 R/W

SE-INP-RECIPEID STRING 16 R/W

SE-INP-SECURITYLEVEL INTEGER 1 R/W

SE-HANDSHAKE INTEGER 1 R/W

Page 626: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

612 Chapter 22

7. The SE-INP-FUNCTION tag is an integer tag written to provide the security

system with the ID of the function that the user is attempting to initiate.

Function ID values can be found in the InBatch Security System Application-

Function Security Editor.

8. The SE-INP-RECIPEID tag is a string tag written to provide the security

system with the name of the recipe in which the user is attempting to initiate an

application or function. Recipe ID values can be found in the InBatch Security

System User Accounts Editor.

9. The SE-INP-SECURITYLEVEL tag is an integer tag written to provide the

security system with the type of clearance that the user is attempting to satisfy.

10. The SE-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below. The input tags list those required in

order to perform the appropriate action.

Value Security Level

1 Done By

2 Check By

HandshakeValue Description Input Tags Required

PossibleReturnCodes

-1 Change the password for

the selected user.

SE-INP-USERIDSE-INP-PASSWORD

SE-INP-NEWPASSWORD

SE-INP-VERIFYPASSWORD

0, 2, 16,

20, 22, 24

-2 Request the security level

for the selected

application.

SE-INP-USERID

SE-INP-PASSWORD

SE-INP-OPSTATION

SE-INP-APPLICATION

0, 2, 3, 4, 6,

9, 16, 18,

256

-3 Request whether security

is enabled for the selected

application.

SE-INP-APPLICATION 0, 1, 4

-4 Request security

clearance for the selected

function.

SE-INP-USERID

SE-INP-PASSWORD

SE-INP-OPSTATION

SE-INP-APPLICATION

SE-INP-FUNCTION

SE-INP-RECIPEID

SE-INP-SECURITYLEVEL

0, 2, 3, 4, 5,

6, 8, 12,

14, 16, 18,

65, 129,

256

-5 Request the security level

for the selected function.

SE-INP-APPLICATION

SE-INP-FUNCTION

0, 1, 3, 4

-6 Assign a new password to

the selected user.

SE-INP-USERID

SE-INP-NEWPASSWORD

SE-INP-VERIFYPASSWORD

0, 2, 20,

22, 24

Page 627: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 613

InTouch Client Examples

The following action scripts provide examples of how to interact with the security

system from an InTouch client. The InTouch script add-on functions should be used

to preserve the order of the tag writes.

Reset Security Number of Retries

ibPokeInt(IB_TIM_ACCESS_TAG, "SE-HANDSHAKE", -7,IB_RESULT_TAG);

Obtain Application Security Status

ibPokeInt(IB_TIM_ACCESS_TAG, "SE-INP-APPLICATION", 5,IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "SE-HANDSHAKE", -3,IB_RESULT_TAG);

Obtain Function Security Status

ibPokeInt(IB_TIM_ACCESS_TAG, "SE-INP-APPLICATION", 2,IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "SE-INP-FUNCTION", 7,IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "SE-HANDSHAKE", -5,IB_RESULT_TAG);

Security System Interface Handshake Errors

The handshake values that were provided for each interface are used to initiate an

action within the TIM security interface. The handshake tags are also used to

monitor responses from the TIM applications. For the security interfaces, the return

handshake values are presented in the table below. When a function is performed

properly by either a handshake or a batch action, the handshake value will be zero.

When a function fails from a handshake, the handshake value will be positive

according to the table. The handshake tag should be monitored if error messages are

to be displayed to the operator.

-7 Reset the number of

retries that the user can

make for obtaining

security clearance. Used

when a function is

cancelled or a new

function is attempted.

None 0

-8 Verifies that the security

system is installed and

active.

None 0, 1

HandshakeValue Description Input Tags Required

PossibleReturnCodes

Page 628: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

614 Chapter 22

Note If the number of retries is exceeded along with the return of a positive

handshake for a failed request of handshake values -2 or -4, the handshake value

will be as presented in the table plus a value of 256. For example, if an invalid

function is entered more times than permitted by the number of retries configured

in the Security Editor, the handshake value will be (8 + 256) = 264.

Batch Function Interface

This section describes how to configure TIM tags with the Batch Function

Interface.

HandshakeValueReturned

HandshakeValueWritten Description

0 -1, -6 Password Changed

-2, -4 Security Granted

-3 Application Security is Off

-5 Function Security is Off

-7 Number of Retries has been Reset

-8 Security System is Installed and Running

1 -3 Application Security On

-5 Function has DoneBy Security

-8 Security System is Not Installed and Running

2 -1, -2, -4, -6 Unknown User

3 -2, -4 Denied because of Operator Station

-5 Function has CheckBy Security

4 -2, -4 Unknown Operator Station

-3, -5 Invalid Query

5 -4 Denied because of Recipe

6 -2, -4 Invalid Application

8 -4 Invalid Function

9 -2 Denied because of Application

12 -4 Additional Level Needed

14 -4 Unknown Recipe

16 -1, -2, -4 Invalid User Password

17 -4 Denied because of improper DoneBy Clearance

18 -2, -4 Enter Password

20 -1, -6 Non-Reusable Password

22 -1, -6 Password Mismatch

24 -1, -6 Invalid Password Length

32 -4 DoneBy and CheckBy User ID must be different

33 -4 Denied because of improper CheckBy Clearance

65 -4 Denied because did not receive Application Clearance

129 -4 Denied because did not receive DoneBy Clearance

Page 629: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 615

Phase Prepare/Complete

This action group allows the user to perform functions prior to or immediately

following the execution of a phase through tags. The tags in this action group can

be used within a client to create an interface with the batch management system.

Description

1. The FUP-INFO-CLB tag is a string tag that defines the Campaign, Lot, and

Batch combination that is the batch focus for the action.

2. The FUP-INFO-RECIPE tag is a string tag containing the recipe ID of the

batch selected.

3. The FUP-INFO-SIZE tag is an integer tag containing the size of the batch

selected.

4. The FUP-INFO-TRAIN tag is a string tag containing the train of the batch

selected.

Tag Name Type Size Access

FUP-INFO-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

RO

FUP-INFO-RECIPE STRING 16 RO

FUP-INFO-SIZE INTEGER 1 RO

FUP-INFO-TRAIN STRING 16 RO

FUP-INFO-MODE INTEGER 1 RO

FUP-INFO-STATUS INTEGER 1 RO

FUP-INFO-EQUIPMENT STRING 16 RO

FUP-INFO-PHASE STRING 16 RO

FUP-PARAMEXT-NUMITEMS INTEGER 1 RO

FUP-PARAMEXT-ITEM1

TO FUP-PARAMEXT-ITEM99

Each list tag consists of two fields separated by two spaces.

NAME

TYPE

EXTENSION

DATA CLASS

VALUE

STRING 72

16

12

12

8

16

RO

FUP-SEL-PARAMEXTITEM INTEGER 1 R/W

FUP-SEL-PARAMNAME STRING 16 RO

FUP-SEL-PARAMTYPE INTEGER 1 RO

FUP-SEL-PARAMEXT INTEGER 1 RO

FUP-SEL-PARAMCLASS INTEGER 1 RO

FUP-SEL-PARAMEXTVAL STRING 16 R/W

FUP-HANDSHAKE INTEGER 1 R/W

Page 630: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

616 Chapter 22

5. The FUP-INFO-MODE tag is an integer tag containing the mode of the batch

selected.

6. The FUP-INFO-STATUS tag is an integer tag containing the status of the batch

selected.

7. The FUP-INFO-EQUIPMENT tag is a string tag containing the unit or

connection being analyzed in the selected batch.

8. The FUP-INFO-PHASE tag is a string tag containing the current active phase

in the selected batch.

9. The FUP-PARAMEXT-NUMITEMS tag is an integer tag containing the

number of active parameters for the active phase in the selected batch.

10. The FUP-PARAMEXT-ITEM1 to FUP-PARAMEXT-ITEM99 tags are string

tags used to display the list of parameters for the active phase in the selected

batch.

11. The FUP-SEL-PARAMEXTITEM tag is an integer tag used to select the item

in the list that is the focus of the action being performed. This is equivalent to

the selection of the parameter from the list with the mouse.

12. The following tags contain the specific transition object information

corresponding to the selected item from the list.

FUP-SEL-PARAMNAME - String tag containing the name of the selected

parameter

FUP-SEL-PARAMTYPE - Integer tag containing the type of the selected

parameter

Value Mode

0 Automatic

1 Semi-Automatic

2 Manual

Value Status

1 Ready

2 Wait

3 Run

4 Done

5 Interlock

6 Aborted

7 Held

8 Aborting

Page 631: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 617

FUP-SEL-PARAMEXT - Integer tag containing the extension of the selected

parameter

FUP-SEL-PARAMCLASS - Integer tag containing the class of the selected

parameter

FUP-SEL-PARAMEXTVAL - String tag containing the value of the selected

parameter

13. The FUP-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Value Description

0 Input

9 Process Variable

12 Output

Value Description

1 Material ID

2 Material Name

3 Target

4 Actual

5 High Deviation

6 Low Deviation

7 Lot Code

8 Preact

10 High Limit

11 Low Limit

Value Description

0 Analog

1 Discrete

2 String

3 Enumeration

HandshakeValue Description

0 Value written to the batch management system to have

it continue with the normal execution.

-1 Value used by the batch management system to notify

the user that execution is at the beginning of the

selected phase and waiting for a response.

Page 632: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

618 Chapter 22

Note The batch manager will wait for the handshake to continue processing. All

batch processing activity is essentially put on hold until the signal to continue is

received. Therefore, it is vital to return the continue handshake as quickly as

possible.

InTouch Client Example

The following action script provides an example of how to change the value of a

parameter at the beginning of a phase from an InTouch client. The InTouch script

add-on functions should be used to preserve the order of the tag writes.

Change Parameter at Beginning of Phase

{The value of the FUP-HANDSHAKE tag will be -1 when the phaseprepare action is being evaluated.}

ibPokeInt(IB_TIM_ACCESS_TAG, "FUP-SEL-PARAMEXTITEM", 2,IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "FUP-SEL-PARAMEXTVAL", "300",IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "FUP-HANDSHAKE", 0,IB_RESULT_TAG);

Evaluate Equipment for Allocation

This action group allows the user to perform functions that will effect the allocation

of equipment by the batch management system through tags. The tags in this action

group can be used within a client to create an interface with the batch management

system.

-2 Value used by the batch management system to notify

the user that execution is at the end of the selected

phase and waiting for a response.

Tag Name Type Size Access

FUEA-INFO-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

RO

FUEA-INFO-RECIPE STRING 16 RO

FUEA-INFO-SIZE INTEGER 1 RO

FUEA-INFO-TRAIN STRING 16 RO

FUEA-INFO-MODE INTEGER 1 RO

FUEA-INFO-STATUS INTEGER 1 RO

FUEA-INFO-INSTANCE STRING 16 RO

FUEA-INFO-EQUIPMENT STRING 16 RO

HandshakeValue Description

Page 633: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 619

Description

1. The FUEA-INFO-CLB tag is a string tag that defines the Campaign, Lot, and

Batch combination that is the batch focus for the action.

2. The FUEA-INFO-RECIPE tag is a string tag containing the recipe ID of the

batch selected.

3. The FUEA-INFO-SIZE tag is an integer tag containing the size of the batch

selected.

4. The FUEA-INFO-TRAIN tag is a string tag containing the train of the batch

selected.

5. The FUEA-INFO-MODE tag is an integer tag containing the mode of the batch

selected.

6. The FUEA-INFO-STATUS tag is an integer tag containing the status of the

batch selected.

7. The FUEA-INFO-INSTANCE tag is a string tag containing the instance name

being analyzed in the selected batch.

8. The FUEA-INFO-EQUIPMENT tag is a string tag containing the unit or

connection being analyzed in the selected batch.

FUEA-SEG-NUMITEMS INTEGER 1 RO

FUEA-SEG-ITEM1 TO FUEA-SEG-ITEM99 STRING 16 RO

FUEA-SEL-SEGITEM INTEGER 1 R/W

FUEA-SEL-SEG STRING 16 RO

FUEA-HANDSHAKE INTEGER 1 R/W

Value Mode

0 Automatic

1 Semi-Automatic

2 Manual

Value Status

1 Ready

2 Wait

3 Run

4 Done

5 Interlock

6 Aborted

7 Held

8 Aborting

Tag Name Type Size Access

Page 634: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

620 Chapter 22

9. The FUEA-SEG-NUMITEMS tag is an integer tag containing the number of

segments defined for the active equipment in the selected batch.

10. The FUEA-SEG-ITEM1 to FUEA-SEG-ITEM99 tags are string tags used to

display the list of segments for the active equipment in the selected batch.

11. The FUEA-SEL-SEGITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the segment from the list with the mouse.

12. The following tags contain the specific transition object information

corresponding to the selected item from the list.

FUEA-SEL-SEG - String tag containing the name of the selected segment

13. The FUEA-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note The batch manager will wait for the handshake to continue processing. All

batch processing activity is essentially put on hold until the signal to continue is

received. Therefore, it is vital to return the continue handshake as quickly as

possible.

InTouch Client Example

The following action script provides an example of how to accept the selection of a

unit during batch management system allocation from an InTouch client. The

InTouch script add-on functions should be used to preserve the order of the tag

writes.

Accept Unit Selection

{The value of the FUP-HANDSHAKE tag will be -1 when theevaluation action is being evaluated.}

ibPokeInt(IB_TIM_ACCESS_TAG, "FUEA-HANDSHAKE", 1,IB_RESULT_TAG);

Log Equipment Status

This action group allows the user to perform functions as equipment status changes

are being written to the InBatch history database through tags. The tags in this

action group can be used within a client to obtain notification of a change of status

as well as write other data to the history database.

HandshakeValue Description

0 Reject the selected unit or connection for allocation to the particular instance.

1 Accept the selected unit or connection for allocation to the particular instance.

-1 Value used by the batch management system to notify the user that the system is

evaluating the selected unit for allocation and waiting for a response.

-2 Value used by the batch management system to notify the user that the system is

evaluating the selected connection for allocation and waiting for a response.

Page 635: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 621

Description

1. The FULE-INFO-UNITSEGMENT tag is a string tag that contains the unit or

segment name for which the status has changed.

2. The FULE-INFO-NEWSTATUS tag is a string tag containing the new status of

the unit or segment.

3. The FULE-INFO-OLDSTATUS tag is a string tag containing the old status of

the unit or segment.

4. The FULE-INFO-RECIPEID tag is a string tag containing the recipe ID

currently active in the unit or segment.

5. The FULE-INFO-LASTRECIPEID tag is a string tag containing the previous

recipe ID active in the unit or segment.

6. The FULE-INFO-DONEBY tag is an integer tag containing the ID of the user

that changed the unit or segment status.

7. The FULE-INFO-CHECKBY tag is a string tag containing the ID of the user

that verified the change of the unit or segment status.

8. The FULE-INFO-COMMENT tag is a string tag that can be written to enter a

comment that will be written to history along with the record of the change of

status for the unit or segment.

9. The FULE-INFO-FIELD1 tag is a string tag that can be written to with an

extraneous piece of data that the user would like to store in the history database

along with the record of the change of status for the unit or segment.

Tag Name Type Size Access

FULE-INFO-UNITSEGMENT STRING 16 RO

FULE-INFO-NEWSTATUS STRING 16 RO

FULE-INFO-OLDSTATUS STRING 16 RO

FULE-INFO-RECIPEID STRING 16 RO

FULE-INFO-LASTRECIPEID STRING 16 RO

FULE-INFO-DONEBY STRING 12 R/W

FULE-INFO-CHECKBY STRING 12 R/W

FULE-INFO-COMMENT INTEGER 32 R/W

FULE-INFO-FIELD1 STRING 8 R/W

FULE-INFO-FIELD2 STRING 8 R/W

FULE-INFO-FIELD3 STRING 8 R/W

FULE-INFO-FIELD4 STRING 8 R/W

FULE-INFO-FIELD5 STRING 16 R/W

FULE-INFO-FIELD6 STRING 16 R/W

FULE-INFO-FIELD7 STRING 16 R/W

FULE-INFO-FIELD8 STRING 16 R/W

FULE-HANDSHAKE INTEGER 1 R/W

Page 636: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

622 Chapter 22

10. The FULE-INFO-FIELD2 tag is a string tag that can be written to with an

extraneous piece of data that the user would like to store in the history database

along with the record of the change of status for the unit or segment.

11. The FULE-INFO-FIELD3 tag is a string tag that can be written to with an

extraneous piece of data that the user would like to store in the history database

along with the record of the change of status for the unit or segment.

12. The FULE-INFO-FIELD4 tag is a string tag that can be written to with an

extraneous piece of data that the user would like to store in the history database

along with the record of the change of status for the unit or segment.

13. The FULE-INFO-FIELD5 tag is a string tag that can be written to with an

extraneous piece of data that the user would like to store in the history database

along with the record of the change of status for the unit or segment.

14. The FULE-INFO-FIELD6 tag is a string tag that can be written to with an

extraneous piece of data that the user would like to store in the history database

along with the record of the change of status for the unit or segment.

15. The FULE-INFO-FIELD7 tag is a string tag that can be written to with an

extraneous piece of data that the user would like to store in the history database

along with the record of the change of status for the unit or segment.

16. The FULE-INFO-FIELD8 tag is a string tag that can be written to with an

extraneous piece of data that the user would like to store in the history database

along with the record of the change of status for the unit or segment.

17. The FULE-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Note The batch manager will wait for the handshake to continue processing. All

batch processing activity is essentially put on hold until the signal to continue is

received. Therefore, it is vital to return the continue handshake as quickly as

possible.

InTouch Client Example

The following action script provides an example of how to write miscellaneous

information to history when a unit status change is written to history from an

InTouch client. The InTouch script add-on functions should be used to preserve the

order of the tag writes.

Write Data when the Equipment Status Change is Logged to History

{The value of the FULE-HANDSHAKE tag will be -1 when theevaluation action is being evaluated.}

HandshakeValue Description

0 Value written to the handshake tag to notify the batch management system to

continue.

-1 Value used by the batch management system to notify the user that the system is

logging a unit or segment status change to history and waiting for a response.

Page 637: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 623

ibPokeStr(IB_TIM_ACCESS_TAG, "FULE-INFO-FIELD1", "Data 1",IB_RESULT_TAG);

ibPokeStr(IB_TIM_ACCESS_TAG, "FULE-INFO-FIELD5", "Data 2",IB_RESULT_TAG);

ibPokeInt(IB_TIM_ACCESS_TAG, "FUEA-HANDSHAKE", 1,IB_RESULT_TAG);

Equipment Allocation Changes

This action group allows the user to perform functions as equipment allocation

changes are made by the batch management system through tags. The tags in this

action group can be used within a client to obtain notification of a change of

allocation.

Description

1. The FUAC-INFO-CLB tag is a string tag that contains the Campaign, Lot, and

Batch combination that is the batch focus for the action.

2. The FUAC-INFO-RECIPE tag is a string tag containing the recipe ID of the

batch selected.

3. The FUAC-INFO-SIZE tag is an integer tag containing the size of the batch

selected.

4. The FUAC-INFO-TRAIN tag is a string tag containing the train of the batch

selected.

5. The FUAC-INFO-MODE tag is an integer tag containing the mode of the

batch selected.

Tag Name Type Size Access

FUAC-INFO-CLB

This tag consists of three fields separated by a "/".

CAMPAIGN ID

LOT ID

BATCH ID

STRING 50

16

16

16

RO

FUAC-INFO-RECIPE STRING 16 RO

FUAC-INFO-SIZE INTEGER 1 RO

FUAC-INFO-TRAIN STRING 16 RO

FUAC-INFO-MODE INTEGER 1 RO

FUAC-INFO-STATUS INTEGER 1 RO

FUAC-INFO-EQUIPMENT STRING 16 RO

FUAC-SEG-NUMITEMS INTEGER 1 RO

FUAC-SEG-ITEM1 TO FUAC-SEG-ITEM99 STRING 16 RO

FUAC-SEL-SEGITEM INTEGER 1 R/W

FUAC-SEL-SEG STRING 16 RO

FUAC-HANDSHAKE INTEGER 1 R/W

Page 638: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

624 Chapter 22

6. The FUAC-INFO-STATUS tag is an integer tag containing the status of the

batch selected.

7. The FUAC-INFO-EQUIPMENT tag is a string tag containing the unit or

connection whose allocation is changing in the selected batch.

8. The FUAC-SEG-NUMITEMS tag is an integer tag containing the number of

segments defined for the active equipment in the selected batch.

9. The FUAC-SEG-ITEM1 to FUAC-SEG-ITEM99 tags are string tags used to

display the list of segments for the active equipment in the selected batch.

10. The FUAC-SEL-SEGITEM tag is an integer tag used to select the item in the

list that is the focus of the action being performed. This is equivalent to the

selection of the segment from the list with the mouse.

11. The following tags contain the specific transition object information

corresponding to the selected item from the list.

FUAC-SEL-SEG - String tag containing the name of the selected segment

12. The FUAC-HANDSHAKE tag is an integer tag that is written to initiate a

specified action and read to monitor the results of the action. The handshake

values are provided in the table below.

Value Mode

0 Automatic

1 Semi-Automatic

2 Manual

Value Status

1 Ready

2 Wait

3 Run

4 Done

5 Interlock

6 Aborted

7 Held

8 Aborting

HandshakeValue Description

0 Value written to the handshake tag to notify the batch management system to

continue.

-1 Value used by the batch management system to notify the user that the system is

allocating a unit and waiting for a response.

-2 Value used by the batch management system to notify the user that the system is

allocating a connection and waiting for a response.

Page 639: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Tag Interface Management (TIM) System 625

Note The batch manager will wait for the handshake to continue processing. All

batch processing activity is essentially put on hold until the signal to continue is

received. Therefore, it is vital to return the continue handshake as quickly as

possible.

InTouch Client Example

The following action script provides an example of how to accept the release of a

unit from an InTouch client. The InTouch script add-on functions should be used to

preserve the order of the tag writes.

Accept Unit Release

{The value of the FULE-HANDSHAKE tag will be -3 when the unitis to be released.}

ibPokeInt(IB_TIM_ACCESS_TAG, "FULE-HANDSHAKE", 0,IB_RESULT_TAG);

Runtime TIM Operation

The TIM runtime system contains the applications necessary to interact with the

TIM interface groups. There is also an application that allows the user to monitor

and write to the TIM tags from within the InBatch server application.

Runtime TIM Applications

Each TIM interface group requires a unique runtime TIM application to be started

before the tags from that group can be monitored or written. The table below

illustrates the runtime application that is associated with each interface group. The

Environment Editor is used to include the appropriate runtime TIM application in

the system start-up.

-3 Value used by the batch management system to notify the user that the system is

releasing a unit and waiting for a response.

-4 Value used by the batch management system to notify the user that the system is

releasing a connection and waiting for a response.

Interface GroupRuntime TIM ApplicationRequired

Batch Management System TIMBatch

Security System TIMSec

Batch Functions TIMFunc

HandshakeValue Description

Page 640: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

626 Chapter 22

Note In a typical client system using InBatch wizards and miscellaneous scripting,

the TIMBatch and TIMSec applications should be configured and started in the

Environment System. TIMFunc should only be started if the Batch Function Tags

option has been enabled and the tags exported in the Tag Linker application.

Page 641: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Redundancy 627

C H A P T E R 2 3

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

Page 642: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

628 Chapter 23

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.

Page 643: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Redundancy 629

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

Page 644: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

630 Chapter 23

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

Page 645: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Redundancy 631

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.

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.

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.

Page 646: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

632 Chapter 23

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)

Master Server

‘cabezon’

Backup Server

‘bonito’

BatchRuntimeClient

BatchDevelopment

Client

Control System

Primary Network

10.40.20.75

10.199.199.9

10.40.20.55

10.199.199.8

BatchInformationServer

10.40.20.6710.40.20.6610.40.20.65

Page 647: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Redundancy 633

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.

Page 648: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

634 Chapter 23

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.

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

Page 649: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Redundancy 635

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.

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.

Master Server

Backup System

Backup Server

Batch System

(Dormant)

Master

Batch System

Databases

Backup

Batch System

Databases

Page 650: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

636 Chapter 23

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.

Page 651: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Redundancy 637

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.

Page 652: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

638 Chapter 23

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.

Page 653: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Redundancy 639

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.

Page 654: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

640 Chapter 23

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 18, "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 actingMASTER server}

IF MASTER_ID == "bonito" THENMASTER_ID = "cabezon";BACKUP_ID = "bonito";

ELSEMASTER_ID = "bonito";BACKUP_ID = "cabezon";

ENDIF;

{ Switch IB_TIM_TAGS Access name to new master - for TIMwizards }

IOSetAccessName("IB_TIM_TAGS", MASTER_ID, "IBSERV",TIM_TOPIC);

{ Switch the IB_TIM_ACCESS_TAG to use new server - for scriptfunctions }

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 AccessName }

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”

Page 655: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Redundancy 641

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 21, "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 18,

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

Page 656: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

642 Chapter 23

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.

Page 657: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 643

C H A P T E R 2 4

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

Page 658: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

644 Chapter 24

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.

Page 659: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 645

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.

Page 660: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

646 Chapter 24

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, useMicrosoft 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.

Page 661: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 647

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

Page 662: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

648 Chapter 24

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.

Page 663: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 649

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.

Page 664: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

650 Chapter 24

2. Enter the information as described in the following table

Page 665: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 651

.

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.

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 DataAfter Archive

Enable this check box if you want the archive task to delete the data

(defined by the start and end dates) from the history database when

it executes archive task.

Page 666: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

652 Chapter 24

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.

Page 667: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 653

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 theHistory Archive - Add

Restore page.

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

Item Description

Page 668: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

654 Chapter 24

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.

Page 669: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 655

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.

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.

Item Description

Page 670: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

656 Chapter 24

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.

Page 671: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 657

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.

Page 672: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

658 Chapter 24

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.

Page 673: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 659

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 Startmenu 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 Startmenu 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. UnderMy Computer, expand the HKEY_LOCAL_MACHINE branch

10. Expand the SOFTWARE branch, selectWonderware 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.

Page 674: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

660 Chapter 24

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. UnderMy Computer, expand theHKEY_LOCAL_MACHINE branch

4. Expand the SOFTWARE branch, selectWonderware 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, selectWonderware 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.

Page 675: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 661

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.

Page 676: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

662 Chapter 24

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

all batch warm restart

data files.

Created by install and no

modifications are made

to directory.

.batchwr\alloc_req.wr InBatch\cfg\config_A Current equipment

allocation table across

all batches.

Changes made by Batch

Manager during batch

execution.

.batchwr\system.wr InBatch\cfg\config_A Current value of system

tags across all

equipment.

Changes made by Batch

Manager during batch

execution.

Page 677: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 663

.batchwr\[clb].wr InBatch\cfg\config_A File for each batch in the

schedule database.

Structure of file name is

CampaignID.LotID.Batc

hID.wr.

Files added and removed

by Batch Manager

during batch execution.

.F2.lock InBatch\cfg\config_A Batch warm restart lock

file created on master

server by backup server

during redundancy

startup. Redundancy

only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

.F2.sync InBatch\cfg\config_A Batch warm restart

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

.RedState InBatch\cfg\config_A Contains the current

state of the server in a

redundant configuration.

Redundancy only.

Created and modified by

RedMngr during

redundancy operation.

Redundancy only.

BatchDB.dat InBatch\cfg\config_A Batch schedule database

data file.

Changes as batches are

added and removed from

the Batch Scheduler.

BatchDB.dbd InBatch\cfg\config_A Batch schedule database

schema file.

Does not change.

BatchDB.key InBatch\cfg\config_A Batch schedule database

index file.

Changes as batches are

added and removed from

the Batch Scheduler.

BatchDB.lock InBatch\cfg\config_A Batch schedule database

lock file created on

master server by backup

server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

BatchDB.sync InBatch\cfg\config_A Batch schedule database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

Configuration File Location Description Usage

Page 678: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

664 Chapter 24

[hostname][pid].log InBatch\cfg\config_A Raima Data Manager

transaction log file(s).

Each application creates

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

TagLinker database data

file.

Changes as

modifications are made

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

TagLinker database

schema file.

Does not change.

CfgLinkDB.key InBatch\cfg\config_A Configuration

TagLinker database

index file.

Changes as

modifications are made

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

TagLinker database lock

file created on master

server by backup server

during redundancy

startup. Redundancy

only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

Configuration File Location Description Usage

Page 679: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 665

CfgLinkDB.sync InBatch\cfg\config_A Configuration

TagLinker database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

CfgModelDB.dat InBatch\cfg\config_A Configuration Process

Model database data

file.

Changes as

modifications are made

with the Process Model

Editor or by selecting

the Update

Configuration menu

option within

Environment Display.

CfgModelDB.dbd InBatch\cfg\config_A Configuration Process

Model database schema

file.

Does not change.

CfgModelDB.key InBatch\cfg\config_A Configuration Process

Model database index

file.

Changes as

modifications are made

with the Process Model

Editor or by selecting

the Update

Configuration menu

option within

Environment Display.

CfgModelDB.lock InBatch\cfg\config_A Configuration Process

Model database lock file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

CfgModelDB.sync InBatch\cfg\config_A Configuration Process

Model database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

CfgTIMDB.dat InBatch\cfg\config_A Configuration TIM

database data file.

Changes as

modifications are made

with TagLinker or by

selecting the Update

Configuration menu

option within

Environment Display.

CfgTIMDB.dbd InBatch\cfg\config_A Configuration TIM

database schema file.

Does not change.

Configuration File Location Description Usage

Page 680: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

666 Chapter 24

CfgTIMDB.key InBatch\cfg\config_A Configuration TIM

database index file.

Changes as

modifications are made

with TagLinker or by

selecting the Update

Configuration menu

option within

Environment Display.

CfgTIMDB.lock InBatch\cfg\config_A Configuration TIM

database lock file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

CfgTIMDB.sync InBatch\cfg\config_A Configuration TIM

database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

EnvDB.dat InBatch\cfg\config_A Environment Editor

database data file.

Changes as

modifications are made

with the Environment

Editor.

EnvDB.dbd InBatch\cfg\config_A Environment Editor

database schema file.

Does not change.

EnvDB.key InBatch\cfg\config_A Environment Editor

database index file.

Changes as

modifications are made

with the Environment

Editor.

EnvDB.lock InBatch\cfg\config_A Environment Editor

database lock file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

EnvDB.sync InBatch\cfg\config_A Environment Editor

database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

hinfo.dat InBatch\cfg\config_A Storage location for

History Admin details.

Changes as

modifications are made

with the History Admin

tool.

Configuration File Location Description Usage

Page 681: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 667

host.dat InBatch\cfg\config_A Permits tag browsing

from client applications.

Modified by

Environment Manager

when started.

LinkDB.dat InBatch\cfg\config_A Runtime TagLinker

database data file.

Changed only by

selecting the Update

Runtime menu option

within Environment

Display.

LinkDB.dbd InBatch\cfg\config_A Runtime TagLinker

database schema file.

Does not change.

LinkDB.key InBatch\cfg\config_A Runtime TagLinker

database index file.

Changed only by

selecting the Update

Runtime menu option

within Environment

Display.

LinkDB.lock InBatch\cfg\config_A Runtime TagLinker

database lock file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

LinkDB.sync InBatch\cfg\config_A Runtime TagLinker

database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

LoggerDB.dat InBatch\cfg\config_A Process Logger Editor

database data file.

Changes as

modifications are made

with the Process Logger

Editor.

LoggerDB.dbd InBatch\cfg\config_A Process Logger Editor

database schema file.

Does not change.

LoggerDB.key InBatch\cfg\config_A Process Logger Editor

database index file.

Changes as

modifications are made

with the Process Logger

Editor.

LoggerDB.lock InBatch\cfg\config_A Process Logger Editor

database lock file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

Configuration File Location Description Usage

Page 682: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

668 Chapter 24

LoggerDB.sync InBatch\cfg\config_A Process Logger Editor

database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

MaterialDB.dat InBatch\cfg\config_A Materials Editor

database data file.

Changes as

modifications are made

with the Materials

Editor.

MaterialDB.dbd InBatch\cfg\config_A Materials Editor

database schema file.

Does not change.

MaterialDB.key InBatch\cfg\config_A Materials Editor

database index file.

Changes as

modifications are made

with the Materials

Editor.

MaterialDB.lock InBatch\cfg\config_A Materials Editor

database lock file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

MaterialDB.sync InBatch\cfg\config_A Materials Editor

database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

ModelDB.dat InBatch\cfg\config_A Process Model database

data file.

Changed only by

selecting the Update

Runtime menu option

within Environment

Display.

ModelDB.dbd InBatch\cfg\config_A Process Model database

schema file.

Does not change.

ModelDB.key InBatch\cfg\config_A Process Model database

index file.

Changed only by

selecting the Update

Runtime menu option

within Environment

Display.

ModelDB.lock InBatch\cfg\config_A Process Model database

lock file created on

master server by backup

server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

Configuration File Location Description Usage

Page 683: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 669

ModelDB.sync InBatch\cfg\config_A Process Model database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

RecipeDB.dat InBatch\cfg\config_A Recipe Editor database

data file.

Changes as

modifications are made

with the Recipe Editor

or changed by Batch

Manager during batch

execution.

RecipeDB.dbd InBatch\cfg\config_A Recipe Editor database

schema file.

Does not change.

RecipeDB.key InBatch\cfg\config_A Recipe Editor database

index file.

Changes as

modifications are made

with the Recipe Editor

or changed by Batch

Manager during batch

execution.

RecipeDB.lock InBatch\cfg\config_A Recipe Editor database

lock file created on

master server by backup

server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

RecipeDB.sync InBatch\cfg\config_A Recipe Editor database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

RedCfg InBatch\cfg\config_A Redundancy

configuration file.

Redundancy only.

Created by install. May

be changed manually.

Configuration changes

not required during

normal operation.

Redundancy only.

RedStats.date.txt InBatch\cfg\config_A Redundancy statistics

files that provide

information of the status

of batch redundancy.

Structure of file name is

RedStats.current_date.tx

t. Redundancy only.

Created by RedMngr

during redundancy

operation. Redundancy

only.

SecurityDB.dat InBatch\cfg\config_A Security Editor database

data file.

Changes as

modifications are made

with the Security Editor.

Configuration File Location Description Usage

Page 684: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

670 Chapter 24

SecurityDB.dbd InBatch\cfg\config_A Security Editor database

schema file.

Does not change.

SecurityDB.key InBatch\cfg\config_A Security Editor database

index file.

Changes as

modifications are made

with the Security Editor.

SecurityDB.lock InBatch\cfg\config_A Security Editor database

lock file created on

master server by backup

server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

SecurityDB.sync InBatch\cfg\config_A Security Editor database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

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

file.

Does not change.

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 on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

TIMDB.sync InBatch\cfg\config_A TIM database

synchronization file

created on master server

by backup server during

redundancy startup.

Redundancy only.

Created by RedMngr

when the backup batch

server is started.

Redundancy only.

Configuration File Location Description Usage

Page 685: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 671

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.

vista.taf InBatch\cfg\config_A Raima Data Manager

Transaction Activity

File.

If it does not exist,

Raima Data Manager

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

data file.

Changed by the History

Queue Manager.

HistQDB.dbd InBatch\HistQ History queue database

schema file.

Does not change.

histq.taf InBatch\HistQ History Queue

Transaction Activity

File.

If it does not exist,

Raima Data Manager

automatically creates it.

dflt_HistQ InBatch\HistQ Folder containing

Default HistQDB

database

Does not change.

Configuration File Location Description Usage

Page 686: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

672 Chapter 24

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:

Page 687: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 673

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.

Page 688: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

674 Chapter 24

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.

Page 689: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 675

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 exceededmaximum of %d events within %d minutes. Last user: %s,Station: %s'

Page 690: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

676 Chapter 24

,@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 unsuccessfulsecurity 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_AuditEventAddScript 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

Page 691: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 677

, @Op_Station Op_Station

, @Recipe_ID Recipe_ID

, @Reason Reason_Desc

AS

/*

** Declarations.

*/

DECLARE @Retcode INT

DECLARE @MaxSecurityAttempt_CT INT -- maximum securityattempts allowed within an interval of time

DECLARE @MaxSecurityInterval_CT INT -- the interval inminutes that MaxAttemtps can occur without being enunciated

DECLARE @ViolationReason VARCHAR(100)

DECLARE @DateCalc DATETIME

SET @MaxSecurityAttempt_CT = 3 -- set using XP_regread fromregistry

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

Page 692: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

678 Chapter 24

, @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 forexcessive access violations', 11, 1) WITH LOG

ROLLBACK TRAN AuditEventAdd

END

ELSE

COMMIT TRAN AuditEventAdd

END

ELSE

Page 693: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

System Administration 679

COMMIT TRAN AuditEventAdd

END

DONE:

RETURN (@Retcode)

Page 694: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

680 Chapter 24

Page 695: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 681

Index

Symbols

**, in Phase List 341**, in schedule list 327.rcp extension 220, 221

A

Abort a Batch 349Abort, Phase Command 463Abort, Unit Command 459Aborted 321Aborted, Phase Status 465Aborted, Unit Status 460Aborting 321Access Editor 176Access Mode 86Access Name 63, 176AcknowledgeOn Entry 290On Exit 290

Acknowledge Addition of Material 354, 357Acknowledge on Entry 160Activate Jump Mode 325Active Transition Objects 344Active Transitions, viewing 331Active-XGUI Controls 473

ActiveX 10Actual Element, Process Phase 116Actual Element, Transfer Phase 141Actual Value 199Actual Value, Assigning for Unit Assignment 201Actual, Parameter Extension 467Add Archive Job 649Add Attributes to a Train 304Add Batch to list 322Add Daily Schedule 398, 399Add Materials From List, check box 243, 247Add Monthly Schedule 398, 400Add Operation 260, 269Add Operation Branch 258, 260Add Operation Loop 258, 260Add Operation Transition 258, 260Add Phase 262Add Phase Branch 262Add Phase Loop 262Add Phase Transition 262Add Purge Job 651Add Restore Job 653Add Units to a Train 303Add Weekly Schedule 398, 399Adding Applications to Environment 57Adding Process Classes 101Adding Units 97Advanced Planning Systems (APS) 10alarm limits 142Alarms 469alarms 451Allocate Phasein recipes 208

Allocation 7Allocation Queue 330analog input parameters 142analog process variable 142analog process variable, using with Hi and LowLimit 117analog tag 86API, Security 423ApplicationSuiteLink or DDE 176

application ID, in security 436Application ParametersTable of 61

Application Security Requests 440ApplicationsAdding Instances of 58Adding to Environment 58Assigning Parameters to 60, 61Assigning Values to Parameters 61Automatic Start-up/Shutdown of 67Available for Termination Timeout 66Deleting Parameters 64Instance Names 59Starting All

Automatically 67with Environment Display 53

Starting Single Runtime 54Stopping All

Automatically 68with Environment Display 53

Stopping Single Runtime 54Timeout 49User-Defined 64

Adding 64Assigning Parameters to 65Configuring Parameters for 66

Viewing Status of 51Applications-Functions Editor 435Approvals 217Approved for Production 217approved for production, recipe security 433Approved for Test 217approved for test, recipe security 433APS, Advanced Planning Systems 10Archive Job 649Ask 446AskCheckBy 446AskDoneBy 446Assign a Material to a Unit 200Assign Application Parameter Values 61Assign Destination Instances 238Assign Lot Tracking Information 201Assign Process Classes 230Assign Source Instances 238Assign Tags to Process and Transfer Classes, additionalinformation 158Assign Tags, additional information 155Assign Units, Process Class Instances 233Assigning a Material to a Unit 198Assigning Application Parameters 61Assigning Attributes to Trains 304

Page 696: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 682

Assigning Connections to Transfers 129Assigning Segments 125Assigning Units to a Process Class 103Assigning Units to Trains 303Assinging Application Parameters 60attribute range 234AttributesProcess Class 104Trains 304

Attributes, Process Class Instances 234Automatic Allocation, unit 345Automatic Batch Execution 321Automatic Batch Mode 347Automatic Phase 75, 114automatic phase 108, 132Automatic Phase, Description of 114automatic phasesexamples of 115

Automatic Process Phases 352, 355Automatic Process Phases with Material InputParameters 353Automatic Start-up 68Automatic Start-up and Shutdown of RuntimeApplications 67Automatic Start-up/ShutdownConsiderations 68

Automatic Tag Creation and Assignment 161Automatic Tag Creation and Assignment, additionalinformation 155Automatic Tagnames, Naming Convention 157Automatic to Manual 351Automatic to Semi-automatic mode change 351Automatic to Semi-automatic mode change after phaseabort 351Automatic Transfer Phase 138, 139Automatic Transfer Phase, Examples of 139Automatic Transfer Phases 355automatic transfer phases 198Automatic Unit Selection 352Automatically Generated Tagnames 85Available for Terminiation, Timeout Value 66

B

Backing Up Configuration Databases 661Backup a Database with DBCOPY 661Batch 199Batch Alarms 10Batch and Unit ManagementDescription of 308

Batch Configuration ClientInstalled Components 11

Batch Configuration Client, security 430Batch Control 339Batch Control Buttons 337Batch Display 15, 322Actions Menu 324Description of 322File Menu 323Help Menu 334Menus

Actions/Activate Jump Mode 325Actions/Manual Operation 324Actions/Save Control Recipe 324File/Exit 324View/Errors 332Windows/Batch Messages 327Windows/Equipment Allocation 328Windows/Phase Parameter Editor 331Windows/Schedule 327Windows/Transition Logic 331

Phantom Batch Considerations 366Using 322View Menu 331Windows Menu 327

Batch Display Functionality 338Batch Display Layout 334Batch Display Toolbar 335Batch Display, control buttons 155Batch ErrorsRuntime 361Schedule 362

Batch Execution 345Batch Execution Mode 321, 339Batch Execution Mode Changes 351Batch Execution, Warm Restart 364Batch Function Interface Type Libraries 16Batch History 4Description of 8

Batch ID 89, 319Batch Identification 319, 337Batch Information ServerInstalled Components 12

Batch Information Server web page 643Batch LoggerTrain Names 92

Batch ManagementDescription of 7Materials Usage 198

batch managementmaterial tracking 198

Batch Management System 307Batch Manager 7, 15Process Tag to Unit Tag Resolution 89Starting 344Unit Control Tag usage 102Unit State Tag usage 102Warm Restart 363

Batch Messages 327Batch Reporting 13Batch Reporting SystemStarting 388

Batch Reporting web page 389Batch Reports 405Description of 8

Batch Restart Mode 364Batch Runtime ClientInstalled Components 12

Batch Runtime Errors 361Batch ScheduleCLB filtering 314Mode/Status 315

Page 697: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 683

Recipe Status 314Train 315

Batch Schedule Errors 362Batch Schedule List, modifying 322Batch Scheduler 15, 310Edit Menu 312File Menu 311Help Menu 319Initialize Menu 317Menus

Edit/Cleanup 312, 313File/Exit 312File/Print 311File/Print Preview 312File/Print Setup 312Initialize/All 317Initialize/Batch 317Options/Execute in Order 319View/Errors 316View/Filters 314View/Status Bar 316View/Undo Sorting 314

Options Menu 319View Menu 313

Batch ServerChanging Assignment on an Information Server 660

Batch Server, security 430Batch StatusDescriptions 339

Batch Talk ActiveX Control 16Batch, Defining 319BatchAction 529Reference Table 531

BatchAdmin 643BatchDspl 15Parameters of 62

BatchMngr 15Parameters of 62

BATCHOBJSRV.DLL 16BatchReport 13BatchSched 15BATCHVBSERVER.DLL 16BHQ_HOST 659Branch 258, 260, 262Branch Execute Types 274Branch Leg, Deleting 280Branch Object, Insert 273Branch Objects 273Branch Types, All 273Branch Types, One 273Branch, Deleting 282Building a Recipe Procedure 257bulk ingredients 187By-Product, Defining 196By-Products 187by-products 203

C

Campaign 199Campaign ID 89, 319

CfgModelDB 46, 91Change Application Parameter Values 61Change Batch list 322Change Operation Name 285, 286Change Password 17Change Process Class Name 101Change Unit Name 97Changing Information Server Assignment on a BatchServer 659Changing Passwords 440Changing Process Class Names 101Changing the Batch Schedule List 322Changing the Batch Server Assignment on anInformation Server 660Characteristic Name 199Characteristics 5, 199check-by security 435ChgPwd 17, 440CLB 319CLB filtering in Batch Scheduler 314Colors, meaning in Batch Display 338Comma 447Comment 204Comments, entering for phases 340Comparison of Model Approaches 72Completed Archives 655Complimentary Process Phase 71Comprehensive Model 70config_A folder 10ConfigurationSecurity System 428Update 50

Configuration ProgramsSummary of 12

ConfigurationsManaging 10

Configure Formula Parameters, additionalinformation 161Connection 70, 178Connection TagDescription of 81Guideline 83

Connection Tags 126connection tags 81Connectionless Model 71Connections 122Description of 74

Connections, Assigning to Transfers 129Connections, Editing 123Contention for Shared Equipment 358ControlPhase 7, 462Unit 458

Control Buttons 468Configuring for Process Class Phase 110Configuring for Transfer Class Phase 134Description of 78

control buttons 451Control Buttons, additional configuration 155control inputs 451control outputs 451

Page 698: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 684

Control RecipeDescription of 203

Control System 5, 461Control System Code Structure 454Control System Memory Configuration, withphases 454Control System Synchronization 365Control/Status Activity 109, 133ControlSystem Access Name 176Copying Procedure Objects 277create trains 303Creating Reports 405Crystal Reports 8Predefined 405

CSV FileFormat of Tag Linker Export 171

Cutting Procedure Objects 277

D

Data Class 86data points 5DatabaseBackup utility 661Process Log 407, 408

Database ManagerViewing Status of 51

Date Received 199DBCOPY utility 661DDE 9, 14Default Batch Size 204Default Values for Process Parameters 161Define Lot Tracking Information 199Define Materials 197Defining a Batch 319Defining Materials 196Delete Application Parameters 64Delete Operation Object 259, 261Delete Phase Object 263Delete Process Class 102Delete Unit 98Delete Units from a Train 304Deleting a Branch 282Deleting a Branch Leg 280Deleting a Loop 283Deleting a Phase 278Deleting a Transition 278Deleting an Operation 278Deleting Connections, effect of 92Deleting Model Components, Warning 92Deleting Procedure Objects 278Deleting Process Classes 102Deleting Process Classes, effect of 92Deleting Recipes 215deleting reports 659Deleting Transfer Classes, effect of 92Deleting Units, effect of 92Delimiters 447Destination Class Charge Phase 71Destination Instance, Assigining 239Destination Process Class, Assigning 128

Destination Unit, Assigning 124dflt_cfg folder 10Diagram 358Batch Management Overview 310Function Block 451Parts of a Recipe 203Process Instances in recipes 229Process Logging 407Process Modeling 87Recipe Formula 205Transfer Instances in recipes 229

discrete tag 86Discrete TagsUsing with Control Buttons 78

Distributed Control System (DCS) 4, 14Done 321Done By, as Recipe Author 214Done, Phase Status 465done-by security 435Download Phases 76drag operation 263, 265Dynamic Data Exchange (DDE) 9

E

Edit Connections 122Edit Equipment Status 149Edit Formula Inputs 241Edit Formula Outputs 245Edit Formula Parameters 342Edit Formula Parameters, additional information 159Edit Phase Configuration 288Edit Phase Properties 287Edit Segments 148Edit System Parameters 55Edit Transfers 127Edit Units 96Editing an Expression 444EditorProcess Modeling 69

End Of Batch Operation 361Enterprise Resource Planning (ERP) 10Enumeration DataDescription of 79

enumeration tag 86EnvDspl 14EnvEdit 12EnvironmentUpdate 50

Environment Display 14, 45, 47File Menu 48Help Menu 51Menus

File/Exit 48File/Exit and Shutdown 49File/Terminate App 48UpdateConfiguration 50

Environment 49Runtime 50

Page 699: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 685

View/Status 51Starting Runtime Applications 53Stopping Runtime Applications 53Update Configuration 91Update Menu 49Using 47View Menu 51

Environment Editor 12, 45, 198Adding Applications to the Environment 57Application Parameters 60Description of 46Edit Menu 55File Menu 55Help Menu 56Instances, Configuring 58Menus

Edit/System Parms 55File/Exit 55Help/About Environment Editor 57Help/Help Topics 56

Phase/Batch Status parameter 330, 348, 349, 350Starting 55System Parameters Table 56Unit States parameter 330Using 55

Environment Editor, Batch Manager 355Environment Management System 45Description of 46

Environment Manager 13, 45, 47Description of 46Process Log Manager, Configuring 421Starting 66Using 66

Environment SystemApplication Timeout 66Command line interface (etcmds.exe) 67

Environment System Parameters (Default) 56EnvMngr 13, 47Equipment Allocation Queue 330Equipment Allocation window 329equipment dependent recipe 204, 205, 229, 233equipment dependent recipes, unit assignments 229equipment independent recipe 204, 205, 229Equipment Management 4Equipment Requirements 203Description of 204, 228

Equipment Requirements Editor, Using 228, 230Equipment Selection 340Equipment Status 149Description of 79

ERP 10ErrorUnexpected Status 347

Error Queue Administration 646ErrorsBatch Runtime 361Batch Schedule 362Batch Schedule, Viewing 316Script Add-On Functions 538

ExampleProcess Model 87

Example Equipment Requirements 235Example Plant, Process Model 90Example Transfer Instance Selection 240ExamplesFormula Parameter 162

execute multiple operation 273execute multiple phases 273Execute Type 273Execute Type One, Description of 275Exercising Phases 472Export Recipes 220Export Units of Measure 152ExpressionEditing 444Operators 445

Expression Building Rules 447Expression Editor 443Defining Process Log Criteria 408Description of 443Edit Buttons 444Using 443

Expression Editor, Question Length 273Expression Editor, using for transitions 271Expression Elements 445Expression Examples 448Expression Functions 446expressionsviewing during batch execution 344

Extensibility 10

F

Factory Suite Licensing 256FactorySuite 4Integration 9

FIFO 355FIFO Materials Parameter 198Filter Recipes 213FilteringBatch Schedule List 314, 315

Find 213Find Button, Materials Editor 197Finished Goods 187finished goods 203Finished Goods, Defining 196Flexibility 4Flexible Batch Management 3Force System to Master 638Force to True 344Formula 203Formula ParameterAutomatic and Semi-Automatic Transfer Phases 140Description of 159

Formula Parameter ConfigurationManual Transfer Phases 147

Formula Parameter Examples 162Formula Parameters 465Automatic Process Phases 116Configuring for Process Class Phases 114Configuring for Transfer Class Phases 138Description of 77

Page 700: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 686

Manual Process Phases 122Types 77, 140types 116

formula parameters 451Formula Parameters, Description of 208Formula, Defining 241Formula, RecipeDescription of 205

Function Block Diagram 451Function Security Requests 441Function Security, enabling 437FunctionsDescription of 446

Functions, inserting in expressions 445

G

General High Deviation 196General Low Deviation 196General Tolerances, in Recipes 245GuidelineControl System Memory Configuration 454Creating a Process Log Group 415creating a train 303, 304Expression Building 447Phase Block Design 449Phase Block Memory 454Process Modeling 5Recipe Procedure Development 210

GuidleineBatch Manager system interactions 309

H

Header 203Header, Description of 204Held 321Held, Phase Status 464Held, Unit Status 460HelpEnvironment Display 51Environment Editor 56Materials Status 195Process Modeling 96Recipe Editor 256

high deviation element 142High Deviation Element, Process Phase 117High Deviation Element, Transfer Phase 142High Deviation, Material 196High Deviation, Parameter Extension 467High Limit Element, Process Phase 117High Limit Element, Transfer Phase 142High Limit, Parameter Extension 467HistoryLogging Process Data 409Viewing for a Recipe 218

History Administration 644History and Batch ManagerDescription of 309

History Archiving 648History Queue

Viewing status of 51HistQMngr 47Hold a Batch 348Hold Propagation 462Hold Propagation Modes 330Hold, Phase Command 463Hold, Unit Command 459Host 527Hybrid Model 71

I

ibAlarmEventHost 527ibAlarmEventInit 527ibAlarmNode 528ibBatchAction 529IBCli 14Parameters of 63

ibConfig 532ibDdePokeDisc 537ibDdePokeInt 537ibDdePokeStr 537ibDdeRequestDisc 537ibDdeRequestInt 537ibDdeRequestStr 538ibDdeTermTopic 538IBFServ 15Parameters of 64

ibPokeDisc 533ibPokeInt 533ibPokeStr 534ibRequestDisc 535ibRequestInt 535ibRequestStr 536IBServ 14Parameters of 64

ibTermTopic 536Import Recipes 220, 221Import Units of Measure 152InBatchredundancy 628

InBatch Client (IBCli) 14InBatch Function Server 15InBatch Server 14Installed Components 11

INBATCHSFC.OCX 16InfoMngr 14InfoMngr_ _See Information Manager 421Information ManagerDescription of 421

Information Manager (InfoMngr) 14Information ServerChanging Assignment on the Batch Server 659

Information Server Administration 643Information Server Configuration 647Ingredient, Defining 196Ingredients 187ingredients 203InitializationDescription of 308

initializing batches, train 265, 268

Page 701: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 687

Input and Output Control 469input formula parameters 198Input Material Settings, Editing for Recipes 244Input Materials, Adding to Recipe 242Input Materials, Changing in Recipe 243input parameter elements 116Input parameters 141Insert a Function 445Insert a Phase 269Insert an Operation 268, 269Insert Branch Object 273Insert Loop Object 276Insert Transition Object 270Inserting Procedure Objects 268InstallationOverview 19

InstanceApplication 57

InstancesAdding Application Instances to Environment 59Adding Applications 57Application 57Error Message 57Naming Applications 60

Instruction List 337Instrument Society of America (ISA) 3S88.01 Standard 3, 6

Interlocked, Phase Status 465Interlocks 468, 472Configuring for Process Class Phases 112Configuring for Transfer Class Phases 136Description of 78

interlocks 451Interlocks, additional information 157interlocks, viewing with Phase Logic Testing Tool 472Intermediate, Defining 196Intermediates 187intermediates 203InTouch 177Access Name 176Wizards 505

ISA S88.01 3ItemDefinition in Tag Linker 178SuiteLink or DDE 178Use Tag Name 178

J

Jump ModeDescription of 360

L

Library, Operations 250, 251LicensingViewing 56, 256

LIFO 355LIFO Materials Parameter 198LIFO Materials parameter 355lm_tcp 47, 66

Load Operation 260, 266Loading an Operation 264, 266Locked 322Locking 321Log IntervalDescription of 408Process Log Group Editor 408

Log TriggerDescription of 408Process Logger Group Editor 408

LogEdit 13LogMngr 15Parameters of 62

LogMngr_ _See Process Log Manager 421Loop 258, 260, 262Loop Object, Insert 276Loop Objects 276Loop, Deleting 283Lot 199Lot Code Element, Process Phase 118Lot Code Element, Transfer Phase 142Lot Code, Parameter Extension 468Lot ID 89, 319Lot Tracking 199, 201low deviation element 142Low Deviation Element, Process Phase 117Low Deviation Element, Transfer Phase 142Low Deviation, Parameter Extension 467Low Limit Element, Process Phase 117Low Limit Element, Transfer Phase 142Low Limit, Parameter Extension 467

M

Managing Configurations 10Manual Addition using a connected Scale 353, 356Manual Addition using an unconnected Scale 353, 356Manual Addition, with Scale and without Scale 354,357Manual Allocation and Release, unit 346Manual Batch Execution 321Manual Batch Mode 350Manual Operation, phase execution 324manual operation, precautions 366Manual Operation, Warm Restart 366Manual Phase 75, 76manual phase 108, 132Manual Process Phase 120Manual Process Phases 353, 355Manual Process Phases with Material InputParameters 353Manual Tag Creation and Assignment 157, 161Manual to Automatic mode change 351Manual to Semi-automatic mode change 351Manual Transfer Phase 138, 145Manual Transfer Phase, Examples of 145Manual Transfer Phases 356Manual Unit Selection 352Master Recipe 8Description of 203

Material Automation Server 16

Page 702: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 688

Material Characteristics 196, 197Material Description 196Material Genealogy 3Material ID 196Material ID Element, Process Phase 118Material ID Element, Transfer Phase 143Material ID, Parameter Extension 468Material Location Assignment EditorStarting 199Using 198

Material Locations 5Material Name 196Material Resource Planning (MRP) 6Material StatusViewing 189

Material Tracking 4material tracking 198MaterialEdit 13MaterialsDefining 196

Materials Editor 13, 187Defining Materials 197Defining Materials for 197Description of 187Printing Materials Status 191Starting 196Using 196

Materials StatusFiltering the Unit Assignment List 194Help Menu 195Menus

Edit/Material Locations 193Edit/Materials Editor 193File/Exit 192File/Print 191File/Print Preview 191File/Print Setup 192File/Validate 190View/Assigned Units 193View/Find 194View/Full List 194View/Partial List 194

Reports 191Materials Status WindowStarting 189Using 189

Materials TrackingManagement of 5

Materials, Adding to Recipe 246Materials, Process Variables 241MATERIALSVR.EXE 16Max Attribute 234Maximum Batch Size 204Memory Tag Manager 14MemTagMngr 14MenuI/A Batch Program 11

Min Attribute 234Minimum Batch Size 204Mode/Status filtering in Batch Scheduler 315Model Approach Comparisons 72

Model Editor 91Connections Tab 122Edit Equipment Status Tab 149Edit Menu 95Edit Segments Tab 148File Menu 93Menus

Edit/Connections 95Edit/Equipment Status 96Edit/Processes 95Edit/Segments 96Edit/Transfers 95Edit/Units 95Edit/Units of Measure 96File/Exit 95File/Print 94File/Print Preview 95File/Print Setup 95File/Validate 93

Starting 92Transfers Tab 127Units Tab 96

ModelDB 91ModelEdit 12Modeling 92Modeling_ _Model Editor 92Moving Procedure Objects 284MRP, Material Resource Planning 6multiple instances, in recipes 205multiple operation execution 273multiple phase execution 273Multiple process instances 232

N

nesting branches 274Nesting Procedure Objects 284Not 447

O

OCXBATCH.OCX 16OLE for Process Control (OPC) 9One Time Schedule 398, 399OPC 9, 14Open 321OperandsDescription of 446

OperationDescription of 206

Operation Branch, Insert 273Operation Loop, Insert 276Operation Name, Changing 285, 286Operation Properties 286Operation Transition 258, 260Operation Transition, Insert 270Operation, insert 268, 269Operation, Loading 264, 266Operation, Save 285, 286Operation, Storing 265operation, validity of 264, 267

Page 703: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 689

Operations Library 250, 251Operations Library, Using 251Operations Toolbar 260Operations, Examples of 206Operator Display and Edit Configuration 161operator station, description of 430Operator Stations 434Operator Stations Editor 434Operator Stations, security 430OperatorsExpressions 445

Other Material, Defining 196Other Materials 187output formula parameters 198Output Material Settings, Editing for Recipes 248Output Materials, Changing in Recipe 247output parameter elements 116Output parameters 141, 208

P

P&ID,Using for Process Model 69Parameter ExtensionsDescription of 467

Parameter Status 109, 133Parameter Type Extensions 466Parameter Types 466ParametersApplication Parameters 61Applications, Assigning with Environment Editor 60Assigning Values to Application 61Deleting from Applications 64Formula 77Phase 77Requiring in User-Defined Applications 66

Parentheses 447Password 425, 432password encryption 432Password Reuse 428Password Timeout 428, 432Password, changing 425password, changing 432Password, security editor 425PasswordsChanging 17

phantom batch, description of 324phantom batch, displaying 335Phase 108, 132Process 75

Phase Abort Command 463Phase Aborted Status 465Phase Block 7Components of 455Description of 450Operational Flow Chart 452Rules of Operation 450

Phase Block Design Guideline 449Phase Block Memory Guidelines 454Phase Branch 262Phase Branch, Insert 273Phase Comments 340

Phase Configuration, additional information 153Phase Control 7, 462Phase Control and Status 341Phase Control and Status BitsDescription of 77

phase control bits 451Phase Control Buttons 338Phase Control/Status BitsConfiguring for Process Class Phases 111Configuring for Transfer Class Phases 135

Phase Control/Status Bits, additional information 155Phase Done Status 465Phase Held Status 464Phase Hold Command 463phase interlock tags 159Phase Interlocked Status 465Phase Interlocks 340Phase List 337, 341Phase Logic 75, 76Description of 76

phase logicautomatic phases 114

Phase Logic Blocks 76Phase Logic Testing Tool 17, 470Description of 470File Menu 471Help Menu 472Menus

File/Exit 471Using 470

Phase Loop 262Phase Loop, Insert 276Phase param tag read timeout 362Phase Parameter EditorUsing during Batch Execution 342

Phase Parameter List 337Phase ParametersDescription of 77

Phase Parameters, Automatic and Semi-AutomaticTransfer Phases, Examples of 140Phase Properties 287Phase Ready Status 464Phase Reset Command 464Phase Restart Command 463Phase Run Status 464Phase Start Command 463Phase Status 464phase status bits 451Phase Status, system shutdown 365Phase Tab, Phase Properties 288Phase Transition 262Phase Transition, Insert 270Phase TypesDescription of 75Process Class 108, 132

Phase Types, Description of 270Phase, insert 269Phase/Batch Status parameter 330PhaseLogic 9, 17PhasesConnectionless Model 71

Page 704: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 690

in Recipe Procedures 206in Recipes 207

Phases Toolbar 262Power FailureAutomatic Start-up after 67

Preact Element, Process Phase 117Preact Element, Transfer Phase 142Preact, Description of 123Preact, Parameter Extension 468premix 244Premixes 187Previewing Reports from Model Editor 95PrintingRecipes 223

Printing from Model Editor 94Procedure 203Procedure Layout 257Procedure Objects 258Procedure, RecipeDescription of 205

Procees and Transfer Tagswhen to use 83

Process and Instrumentation Diagrams 69Process and Transfer Capabilities 75process and transfer instances 265, 268Process and Transfer Instances, in Recipes 204process and transfer phasesin recipes 208

Process CapabilitiesDefining 75Description of 75

Process ClassAssign Units to Processes 103Assigning 100Attributes 104Description of 74Edit Process Class Phases 108Edit Process Class Tags 106Phase Types 108, 132Unit Attribute Values 105Unit Control Tags 102Unit State Tags 102

Process Class Attributes, in Recipes 234Process Class Instance Editor 231, 233Process Class Instances, Assign Units 233Process Class Instances, Attributes 234Process Class Instances, Unit Selection 234Process Class PhaseControl Buttons 110Formula Parameters 114Interlocks 112Phase Control/Status Bits 111Save History 109

Process Class Tag 106Process Class, Deleting from Recipe 230Process ClassesAssign to Recipe 231

Process Classes and Generic Phases in Recipe Editor 88Process Classes, Assigning in Recipes 230process classes, in recipes 204, 228process instance, assign to operation 269

Process Instance, Deleting from Recipe 232process instance, in recipes 228Process Instances 231Assign to Recipe 232, 233

Process Instances, Defining for Recipes 231Process Instances, in recipes, example 229Process Log ConfigurationCreating 415Description of 407, 408

Process Log DatabaseDescription of 407, 408

Process Log Editor 13, 407Configuring Process Logs 414Creating Log Configuration 410Deleting Log Configuration 412File Menu 410Group Editor 414Menus

Edit/Groups 414File/Exit 414File/New 410File/Open 411File/Print 412File/Print Preview 413File/Print Setup 413File/Save 411File/Validate 411

Menus File/Delete 412Printing Log Configuration 412Reports 413Starting 410Using 410Using Expression Editor 443Validating Log Configuration 411

Process Log GroupCreating 415

Process Log Group EditorLog Interval 408Logging to a Printer 409Logging to History 409

Process Log Manager 407Configuring 421Description of 421Information Manager 421Restarting 410Runtime 421Starting 421Stopping 421Using 421

Process Logger Group EditorGeneral Logging Criteria 408Log Trigger 408

Process Logger Manager 15Process Logging 407Description of 407

Process ModelComprehensive 70Connection Tag 81Connectionless 71Example 87Hybrid 71

Page 705: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 691

Process Tag 81System Tag 81Transfer Tag 81Unit Tag 80

process model database 249process model database, trains 299Process Model Editor 91, 100Starting 92

process model editorformula parameters 208

Process Model Tag, Description of 79Process Model, Example Plant 90Process Modeling 69, 70, 91Adding Process Classes 101Adding Units 97Change Process Class Name 101Change Unit Name 97Deleting a Process Class 102Deleting a Units 98Description of 4Diagram of 87Edit Connection Tags 126Edit Connections 122Edit Equipment Status 149Edit Processes 100Edit Segments 148Edit Transfer Tags 130Edit Transfers 127Edit Unit Tags 98Edit Units 96Editing Connections 123Editing Transfers 128Editor 69Guideline 5Help Menu 96Phase Logic 76Process Classes, Unit Control Tags 102Process Classes, Unit State Tags 102

Process Modeling Editor 12process modeling editor 248Process Modeling Editor, Process Class Attributes 234Process Modeling Steps, Guideline 73Process PhaseDescription of 75

Process Phase TypesAutomatic 75Manual 75Semi-Automatic 76

Process Phases 352, 354Process Phases with Material Input Parameters 353Process Phases with Material Output Parameters 354process phases, entering as process tags 98Process TagGuideline 83

Process Tag to Unit Tag Resolution by BatchManager 89Process Tag, Description of 81Process TagsExample of 88

process variable editor 241process variable elements 116

Process variable parameters 140process variable parameters, changing 248process variable parameters, description of 116Process Variables 248Process variables 141process variables 249Processes_ _See Process Class 74processing capabilities 4Product ID 204Product Name 204production tracking record 198Program MenuI/A Batch 11

Programmable Logic Controller (PLC) 4, 14Programs, Configuration and RuntimeSummary of 12

proprietary format, recipe 221Purge Job 651

Q

Quantity 199Quantity Assignment, Batch Size 320Question List 337Quotes 447

R

Raw Materials 187Read/Write tags 86Read-only tags 86Ready 321Ready, Phase Status 464Ready, Unit Status 459Reassigning a Valid Unit 190RecipeApproval 217Approved for Production 217Approved for Test 217Creating 257Deleting 215Done By as Author 214equipment dependent 205equipment independent 205Saving 215Validate 216

Recipe Allocation and Release, unit 346recipe approval levels 217Recipe Approvals 217Recipe Assignment to a Batch 320Recipe Automation Server 16Recipe Editor 13, 203Edit Menu 225File Menu 211Help Menu 256Menus

Edit/Equipment Requirements 228Edit/Formula Inputs 241, 245Edit/Operations Library 251Edit/Process Variables 249Edit/Recipe Header 225

Page 706: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 692

Edit/Recipe States 252Edit/Recipe Types 253Edit/Zoom In Operations 255, 333Edit/Zoom In Phases 256, 333Edit/Zoom Out Operations 255, 333Edit/Zoom Out Phases 256, 333, 334File/Approvals 217File/Delete Recipes 215File/Exit 225File/History 218File/Import/Export 220File/New 212File/Open 212File/Print 223File/Print Preview 224File/Print Setup 224File/Save 214File/Sync and Validate Recipes 221File/Validate 216

Printing Recipes 223Process Classes and Generic Phases 88Reports 224Starting 210Using 210Using Expression Editor 443View Menu 253

Recipe Editor, Hi and Low Elements 142Recipe filtering in Batch Scheduler 314Recipe Header, Editing 225Recipe History, Viewing 218Recipe ID 89, 204Recipe ManagementDescription of 6

Recipe Name 204Recipe Procedure Creation, Basic Steps 210Recipe Procedure Mechanics 268Recipe Procedure SFC Active X Control 16Recipe State 204Recipe State, Defining 252Recipe Synchronization 221Recipe Type 204Recipe Type, Assigning 227Recipe Types, Defining 253recipe, parts of 203RecipeEdit 13, 16, 210RecipesCopying 220Moving 220

recipessecurity for saving 214

Recipes, security options for 433Redundancy 4redundancy 628Redundancy Manager 66RegistryEditing the Batch Server name 660Editing the Information Server name 659

Release Phasein Recipes 208

Removing a Unit Assignment 190Report 289

Report Configuration 390Report LogAdministration 658

Report Schedule Properties 397Report Scheduling 394Report Triggering during batch execution 361Report Viewing 402Reporting System 385ReportsPredefined 405

reportsdeleting 659Train Editor 302

Reset, Phase Command 464Restart a Batch 349Restart, Phase Command 463Restart, Unit Command 459RestartingProcess Log Manager 410

Restore Job 653restrict access to applications 435Retain Recipe Approvals 325Retries 428Run 321Run, Phase Status 464Run, Unit Status 460RuntimeUpdate 50

Runtime ProgramsSummary of 13

Runtime Recipe Procedure Jumps 308Runtime Recipe Procedure Jumps, Description of 360Runtime Security 439

S

S88.01 Batch Control Standard 3, 6S88.01 Standard 203Save Control Recipe 324Save History, Process Class Phase 109Save History, Transfer Class Phase 133Save Operation 265, 285, 286Save Runtime Equipment 325SCADA 81Scaling of Batches 6Schedule window 327Scheduling 4, 7Description of 308External Systems 10

Script Add-On FunctionsDescriptions of 526Error Reference 538Obsolete DDE 537Overview 526Protocol 526Using 526

SecEdit 13, 424SecMngr 15, 47SecurityAdding a New Function 437Adding Applications 436

Page 707: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 693

Application Security Requests 440Applications-Functions 435Checked 437Done By 437Enabling Application 436Enabling Function Security 437Function Security Requests 441

securityrecipe approvals 217

Security API 423, 436, 437, 441Security Application Program Interface 423Security Clearance Request 425Security Editor 13, 423Edit Menu 427File Menu 426Help Menu 428Menus

Edit/Applications-Functions 427Edit/Operator Stations 427Edit/Security Levels 427Edit/User Accounts 427File/Exit 426, 427File/Print 426File/Print Preview 427File/Print Setup 427

security editor, default password 425Security Editor, using for the first time 425Security Level 432Security Levels, Assigning 429Security Manager 15, 66, 423, 439Security System 423Description of 423Viewing Status of 51

Security System Configuration 428security system, recipe author 214Security, disable 428Security, enable 428security, saving recipes 214Segment 71, 178Description of 79

Segments 148Segments, Assigning 125Semi-Auto On Abort 351Semi-Automatic Batch Execution 321Semi-Automatic Batch Mode 350Semi-Automatic Phase 76Semi-automatic to Automatic mode change 351Semi-automatic to Manual Mode mode change 351Semi-Automatic Transfer Phase 138, 139Semi-automatic Transfer Phases 356Sequence of Operations 257, 338Sequence of Phases 257, 338Services, Windows NT 53SFC Toolbar 336Shared Equipment Contention 358ShutdownAutomatic 68

Shutting Down Environment Display 49SimMngr 14Parameters of 62

Simulation 3

Simulation Manager 14sleep, for delaying batch file execution 68Source Class Discharge Phase 71Source Instance, Assigining 239Source Process Class, Assigning 128Source Unit, Assigning 124space character, in Recipe Find 213Start, Phase Command 463StartingEnvironment Editor 55Material Location Assignment Editor 199Materials Editor 196Materials Status Window 189Model Editor 92Process Log Editor 410Recipe Editor 210

Starting and Stopping Applicationsfrom Environment Display 52

Starting the Expression Editor 443Starting the Security Manager 439Start-upAutomatic 67, 68

State, find recipes by 213State, Recipe 252Station Types 20StatusPhase 464Unit 461

Status, of a batch 321Storing an Operation 265string tag 86naming 86

SuiteLink 9, 14Synchronization, Control System 365System Class tags 81System Connection tags 81System ParametersEditing 55Table of 56

System Segment tags 81System Shutdown, phase status 365System TagDescription of 81

system tag, equipment status 150System Unit tags 81

T

TagAccess Mode 86Configuration 177Connection Tag 81Data Class 86Data Classes 178Definition 84Description of 5, 79Entering a Description for 86InBatch Memory Tag 178Initial Value 178Item Definition 178Process Model 79

Page 708: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 694

Process Tag 81Selection 177System Tag 81Transfer Tag 81Unit Tag 80Using with Control Buttons 110, 134

Tag Interface Management 15Tag Interface Management, when to use 557Tag LinkerEdit Menu 175File Menu 170Help Menu 176Menus

Edit/Access 175Edit/Export 175File/Export Tags 171File/Import Tags 172File/Print 173File/Print Preview 173File/Print Setup 174File/Runtime Export 170File/Simulation Export 170File/Validate 173Help/About Tag Linker 176Help/Help Topics 176View/Filter 175View/Multiple Selection 176View/Single Selection 176

View Menu 175Tag Linker Editor 13Tag Types and Useage 80tag, equipment status 150TagLinker 5, 13, 92TagnameAutomatically Generated 85Definition 84Delimiters 84Description of 84Naming Convention 84Structure 84

TagsAssigning Links to 178Creating 5Phase Control/Status 111, 135Using with Phase Logic, Guideline 83

tagsphase interlock 159

Tags, assigning to control buttons 155TagView 9, 17Target Element, Process Phase 116Target Element, Transfer Phase 141Target, Parameter Extension 467Templates, Crystal Reports 405Terminating an Application 48TIM, when to use 557TIMBatch 15Parameters of 64

time remaining, active transition 344TimeoutChanging Application Timeout 67System Variable 67

Timeout exceeded allowable value 362TIMEOUT variable 67TIMFunc 16TIMSec 16Tolerances, in Recipes 245TopicSuiteLink or DDE 176, 177

Train 6, 89Multiple Path Issues 318

Train Assignment to a Batch 320train attributes 304train creationguideline 303, 304

Train Editor 13, 92, 299, 300Description of 299File Menu 302Menus

File/Exit 302, 303File/Print 302File/Print Setup 303Help Menu 303Help/About Train Editor 303Help/Help Topics 303

Using 300Train filtering in Batch Scheduler 315train, additional units 232train, in a recipe 232Train, in Recipes 203TrainEdit 13TrainsAssigning Units to 303, 304

Trains, Deleting Units from 98trains, in recipes 228Transfer CapabilitiesDefining 75Description of 75

Transfer ClassDescription of 75, 127Edit Phases 132

Transfer Class Instance Editor 237Transfer Class PhaseControl Buttons 134Formula Parameters 138Interlocks 136Phase Control/Status Bits 135Save History 133

Transfer Classes 127Transfer Instance, Deleting from Recipe 237transfer instance, in recipes 228Transfer Instances 237Assign to Recipe 237

Transfer Instances, Defining for Recipes 237Transfer Instances, in Recipes 238Transfer Instances, in recipes, example 229Transfer PhaseConfiguration 138Types 138

Transfer Phases with Material Input Parameters 355Transfer Phases with Material Output Parameters 357transfer phases, in recipes 228Transfer Tag

Page 709: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 695

Description of 81Guideline 83

Transfer Tags 130Transfers, Editing 128Transfers_ _See Transfer Class 75Transition 258, 260, 262Transition Expression, Examples 272Transition Logicin Recipes 209

transition logic operators 209Transition Logic, in objects 270Transition Object, Description of 270Transition Object, Insert 270Transition Objects 270Transition Properties, loops 276transition wait, displayed in Batch Display 344Type, Assigning 227Type, Defining for Materials 196Type, find recipes by 213Types, Recipe 253

U

Undo 259, 261, 263Undo, Objects 278Unexpected Status Error 347Unilink Manager 14UnilinkMngr 14Uninteruptable Power Supply (UPS) 68Graceful Shutdown using 67, 68

Unit 70, 74, 178Assign Materials to 200Assigning a Material to 198Description of 74

unitassigning for material tracking 198

Unit Abort Command 459Unit Abort Tag 102Unit Aborted Status 460Unit and Connection Tagswhen to use 83

Unit Attribute Values 105Unit Control 330, 458Unit Control Tag 102Unit Control TagsDescription of 102

Unit Control/State Tags 102Unit Held Status 460Unit Hold Command 459Unit Hold Tag 102Unit of Measure 248Unit of Measure, Material 196Unit Procedures Library 250Unit Ready Status 459Unit Restart Command 459Unit Restart Tag 102Unit Run Status 460unit selection 234Unit Selection Mode and Allocation 345, 352unit selection, at runtime 234Unit Selection, Process Class Instances 234

Unit State system tags 330Unit State TagsDescription of 102

Unit Status 461Unit TagGuideline 83

Unit Tag, Description of 80Unit Tags 98Units of MeasureDescription of 79

UOM_IN.txt 152UOM_OUT.txt 152UpdateConfiguration 50Environment 49, 50Runtime 50

Update Runtime, Materials Editor Unit Selection 201URLBatch Administration 643Batch Reporting 389

User Accounts 646Configuring for SQL Server 646

User Accounts, security 431User-Defined Applications 64Assigning Parameters to 65Configuring Parameters for 66

UsingEnvironment Display 47Phase Logic Testing Tool 470Train Editor 300

Using Batch Display 322Using Batch Scheduler 310Using Expression Editor 443Using Security Editor 424Using the Phase Logic Testing Tool 470UtilitiesChange Password 17Phase Logic Testing Tool 17TagView 17

Utility Programs 17

V

Valid Characters for Tagnames 84validatesecurity configuration 426

Validate Recipes 221ValidationMaterials Database 190of Tags 9Process Model 93Recipe 7, 216

Validation ErrorsCorrecting for Materials Database 190

Verification, Batch Initialization 317Version Historyof Recipes 6

ViewSystem Application Status 51

View Doc/Ack Doc Button 338View Partial List check box, Materials Editor 197

Page 710: Wonderware ® FactorySuite™ [InBatch Premier User's Guide]

Index 696

Viewing Material Status 189

W

Wait 344WaitHour 447WaitMin 447WaitSec 447Warm Restart 363WarningBatch Client Security 437Batch Manager and Trains 318Deleting Model Components 92Phase Logic Testing Tool 471Process Log Manager, Stopping 421Restarting Batches 365

Wonderware Logger 14Work In Process (WIP) 5WWLogger 14

Z

Zoom In 259, 261, 263Zoom Out 259, 261, 263