You are on page 1of 701

Wonderware FactorySuite InBatch

User Guide s
Revision B October, 1999

Wonderware Corporation

All rights reserved. No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the Wonderware Corporation. No copyright or patent liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this documentation, the publisher and 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. 1999 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.

iii

Contents
CHAPTER 1 - WELCOME TO INBATCH .............................................................1-1
System Requirements..................................................................................................................................... 1-2 Microsoft SQL Server .................................................................................................................................. 1-2 InBatch Server.............................................................................................................................................. 1-2 Batch Runtime Client ................................................................................................................................... 1-2 Batch Development Client ........................................................................................................................... 1-2 InBatch Program Menus ............................................................................................................................... 1-3 InBatch Server.............................................................................................................................................. 1-3 InBatch Batch Development Client.............................................................................................................. 1-3 InBatch Batch Runtime Client...................................................................................................................... 1-4 Overview of Capabilities................................................................................................................................ 1-5 Flexible Recipes and Process Lines ............................................................................................................. 1-5 Process Modeling ......................................................................................................................................... 1-5 Process Modeling Guideline .................................................................................................................... 1-6 Materials Tracking Management.................................................................................................................. 1-7 Recipe Management ..................................................................................................................................... 1-7 Batch Management....................................................................................................................................... 1-8 Batch History................................................................................................................................................ 1-9 Batch Reports ............................................................................................................................................... 1-9 Extensibility .................................................................................................................................................. 1-10 Managing InBatch Configurations ............................................................................................................. 1-10 InBatch Programs ........................................................................................................................................ 1-11 Configuration Programs ............................................................................................................................. 1-11 Environment Editor (EnvEdit) ............................................................................................................... 1-11 Process Modeling Editor (ModelEdit).................................................................................................... 1-11 Tag Linker Editor (TagLinker)............................................................................................................... 1-11 Train Editor (TrainEdit) ......................................................................................................................... 1-11 Materials Editor (MaterialEdit) .............................................................................................................. 1-11 Recipe Editor (RecipeEdit) .................................................................................................................... 1-11 Report Editor (ReportEdit)..................................................................................................................... 1-11 Process Log Editor (LogEdit)................................................................................................................. 1-12 Security Editor (SecEdit) ....................................................................................................................... 1-12 Runtime Programs...................................................................................................................................... 1-13 Environment Manager (EnvMngr) ......................................................................................................... 1-13 Environment Display (EnvDspl) ............................................................................................................ 1-13 Unilink Manager (UnilinkMngr)............................................................................................................ 1-13 InBatch Client (IBCli) ............................................................................................................................ 1-13 Memory Tag Manager (MemTagMngr)................................................................................................. 1-13 Simulation Manager (SimMngr) ............................................................................................................ 1-13 Information Manager (InfoMngr)........................................................................................................... 1-13 InBatch Server (IBServ)......................................................................................................................... 1-13 InBatch Function Server (IBFServ)........................................................................................................ 1-13 Batch Manager (BatchMngr).................................................................................................................. 1-14 Batch Scheduler (BatchSched) ............................................................................................................... 1-14 Batch Display (BatchDspl)..................................................................................................................... 1-14 Report Manager (ReportMngr) .............................................................................................................. 1-14 Process Logger Manager (LogMngr) ..................................................................................................... 1-14 Security Manager (SecMngr) ................................................................................................................. 1-14

Table Of Contents

iv

Tag Interface Management (TIM) System Batch Process (TIMBatch).................................................. 1-14 Tag Interface Management (TIM) System Function Library Process (TIMFunc) ................................. 1-14 Tag Interface Management (TIM) System Security Process (TIMSec) ................................................. 1-15 Utility Programs ......................................................................................................................................... 1-15 Phase Logic Testing Tool (PhaseLogic)................................................................................................. 1-15 Change Password (ChgPwd) .................................................................................................................. 1-15 Tag View (TagView).............................................................................................................................. 1-15 InBatch Configuration Architecture .......................................................................................................... 1-16 InBatch Runtime Architecture.................................................................................................................... 1-17

CHAPTER 2 - INSTALLATION AND ADMINISTRATION ....................................2-1


InBatch Installation Options ......................................................................................................................... 2-2 Before Installing Components...................................................................................................................... 2-3 Installing an InBatch Server ......................................................................................................................... 2-4 Installing an InBatch Development Client ................................................................................................... 2-7 Installing an InBatch Runtime Client ........................................................................................................... 2-9 Installing Crystal Reports........................................................................................................................... 2-10 Installing SQL Server Databases................................................................................................................ 2-10 Configuring ODBC for InBatch History.................................................................................................... 2-12 Backing Up InBatch Databases................................................................................................................... 2-16 Using the DBCOPY Utility ........................................................................................................................ 2-16 InBatch Database Conversions ................................................................................................................... 2-17 Using CvtMaster ........................................................................................................................................ 2-19 Before Converting Databases ................................................................................................................. 2-19 InBatch History Database Conversions...................................................................................................... 2-22

CHAPTER 3 - ENVIRONMENT MANAGEMENT SYSTEM ..................................3-1


Overview ......................................................................................................................................................... 3-2 Using Environment Display........................................................................................................................... 3-3 File Menu ..................................................................................................................................................... 3-4 File/Exit.................................................................................................................................................... 3-4 File/Terminate App .................................................................................................................................. 3-4 File/Exit and Shutdown ............................................................................................................................ 3-5 Update Menu ................................................................................................................................................ 3-6 Update/Environment ................................................................................................................................ 3-6 Update/Runtime ....................................................................................................................................... 3-6 View Menu................................................................................................................................................... 3-8 View/Status .............................................................................................................................................. 3-8 Help Menu.................................................................................................................................................... 3-9 Help/Help Topics ..................................................................................................................................... 3-9 Help/About Environment Display............................................................................................................ 3-9 Starting Applications from Environment Display..................................................................................... 3-10 Application Icons ....................................................................................................................................... 3-10 Runtime Applications................................................................................................................................. 3-10 Using Environment Editor .......................................................................................................................... 3-12 File Menu ................................................................................................................................................... 3-13

Table Of Contents

File/Exit.................................................................................................................................................. 3-13 Edit Menu................................................................................................................................................... 3-13 Edit/System Parms ................................................................................................................................. 3-13 Help Menu.................................................................................................................................................. 3-15 Help/Help Topics ................................................................................................................................... 3-15 Help/About Environment Editor ............................................................................................................ 3-15 Adding Applications to the Environment................................................................................................... 3-16 Adding Applications .................................................................................................................................. 3-16 Assigning Application Parameters.............................................................................................................. 3-19 Assign Application Parameters .................................................................................................................. 3-19 Assign Application Parameter Values........................................................................................................ 3-20 Application Parameter Descriptions........................................................................................................... 3-21 Deleting Application Parameters................................................................................................................ 3-24 User Defined (Other) Applications ............................................................................................................. 3-25 User Defined Application Parameters ........................................................................................................ 3-27 Using Environment Manager ...................................................................................................................... 3-28

CHAPTER 4 - PROCESS MODELING .................................................................4-1


Overview ......................................................................................................................................................... 4-2 Comprehensive Model ................................................................................................................................. 4-2 Connectionless Model .................................................................................................................................. 4-2 Hybrid Model ............................................................................................................................................... 4-3 Model Approach Comparisons..................................................................................................................... 4-4 Process Modeling Steps................................................................................................................................ 4-5 Units................................................................................................................................................................. 4-6 Process Classes (Processes)............................................................................................................................ 4-6 Connections..................................................................................................................................................... 4-7 Transfer Classes (Transfers) ......................................................................................................................... 4-7 Define Process and Transfer Capabilities .................................................................................................... 4-8 Phases........................................................................................................................................................... 4-8 Phase Types.................................................................................................................................................. 4-8 Phase Logic .................................................................................................................................................. 4-9 Phase Parameters........................................................................................................................................ 4-10 Formula Parameters................................................................................................................................ 4-10 Phase Control and Status Bits ................................................................................................................ 4-10 Interlocks................................................................................................................................................ 4-10 Control Buttons ...................................................................................................................................... 4-11 Segments........................................................................................................................................................ 4-12 Equipment Status ......................................................................................................................................... 4-12 Tags ............................................................................................................................................................... 4-12 Tag Types and Usage ................................................................................................................................. 4-13 Unit Tags.................................................................................................................................................... 4-14 Process Tags............................................................................................................................................... 4-14 Connection Tags......................................................................................................................................... 4-14 Transfer Tags ............................................................................................................................................. 4-14

Table Of Contents

vi

System Tags ............................................................................................................................................... 4-15 Using Process and Transfer Tags versus Unit and Connection Tags ......................................................... 4-17 Tag Definition ............................................................................................................................................... 4-18 Tagname..................................................................................................................................................... 4-18 Tagname Structure ................................................................................................................................. 4-18 Valid Characters for Tagnames .............................................................................................................. 4-18 Invalid Characters for Tagnames............................................................................................................ 4-18 Delimiters............................................................................................................................................... 4-18 Automatically Generated Tagnames ...................................................................................................... 4-19 Tag Description .......................................................................................................................................... 4-20 Data Class................................................................................................................................................... 4-20 Access Mode .............................................................................................................................................. 4-20 Process Modeling Summary ........................................................................................................................ 4-21 Example: Process Phases and Tags............................................................................................................. 4-22 Ramp Heat Phase Logic ............................................................................................................................. 4-22 Process Tags and Unit Tags ....................................................................................................................... 4-22 Process Classes and Generic Phases in Recipe Editor................................................................................ 4-23 Batch Manager Resolves Process Tags into Unit Tags .............................................................................. 4-23 Example Plant ........................................................................................................................................ 4-24 Example Phase Logic ............................................................................................................................. 4-25 Model Editor................................................................................................................................................. 4-27 Deleting Model Components...................................................................................................................... 4-28 Using Model Editor.................................................................................................................................... 4-29 File Menu ................................................................................................................................................... 4-30 File/Validate ........................................................................................................................................... 4-30 File/Print................................................................................................................................................. 4-31 File/Print Preview................................................................................................................................... 4-32 File/Print Setup....................................................................................................................................... 4-32 File/Exit.................................................................................................................................................. 4-32 Edit Menu................................................................................................................................................... 4-33 Edit/Units ............................................................................................................................................... 4-33 Edit/Processes ........................................................................................................................................ 4-33 Edit/Connections .................................................................................................................................... 4-33 Edit/Transfers ......................................................................................................................................... 4-33 Edit/Segments......................................................................................................................................... 4-33 Edit/Equipment Status............................................................................................................................ 4-33 Help Menu.................................................................................................................................................. 4-34 Help/Help Topics ................................................................................................................................... 4-34 Help/About Process Modeling ............................................................................................................... 4-34 Edit Units Tab............................................................................................................................................... 4-35 Edit Unit Tags ............................................................................................................................................ 4-37 Assigning Attributes to Unit Tags.......................................................................................................... 4-38 Edit Processes Tab ....................................................................................................................................... 4-39 Unit Control/State Tags.............................................................................................................................. 4-41 Assign Units ............................................................................................................................................... 4-42 Process Class Attributes ............................................................................................................................. 4-44 Edit Process Class Tags.............................................................................................................................. 4-46 Assign Attributes to Process Tags.......................................................................................................... 4-48 Edit Process Class Phases........................................................................................................................... 4-49 Save History ........................................................................................................................................... 4-50 Control Buttons ...................................................................................................................................... 4-50 Phase Control/Status Bits ....................................................................................................................... 4-52 Interlocks................................................................................................................................................ 4-53

Table Of Contents

vii

Formula Parameters................................................................................................................................ 4-55 Automatic Process Phases ...................................................................................................................... 4-56 Formula Parameter Configuration of Automatic Process Phases ........................................................... 4-57 Manual Process Phases........................................................................................................................... 4-62 Formula Parameter Configuration of Manual Process Phases................................................................ 4-62 Edit Connections Tab................................................................................................................................... 4-63 Assign Source and Destination Units ..................................................................................................... 4-64 Assign Segments to Connections ............................................................................................................... 4-66 Edit Connection Tags ................................................................................................................................. 4-67 Assigning Attributes to Connection Tags............................................................................................... 4-68 Edit Transfers Tab ....................................................................................................................................... 4-69 Assign Source and Destination Process Classes......................................................................................... 4-70 Assign Connections.................................................................................................................................... 4-72 Edit Transfer Tags...................................................................................................................................... 4-73 Assigning Attributes to Transfer Tags ................................................................................................... 4-74 Edit Transfer Class Phases ......................................................................................................................... 4-75 Save History ........................................................................................................................................... 4-77 Control Buttons ...................................................................................................................................... 4-77 Phase Control/Status Bits ....................................................................................................................... 4-78 Interlocks................................................................................................................................................ 4-80 Formula Parameters................................................................................................................................ 4-82 Transfer Phase Configuration..................................................................................................................... 4-83 Automatic and Semi-Automatic Transfer Phases................................................................................... 4-83 Formula Parameter Configuration of Automatic and Semi-Automatic Transfer Phases........................ 4-85 Manual Transfer Phases ......................................................................................................................... 4-91 Formula Parameter Configuration of Manual Transfer Phases .............................................................. 4-92 Edit Segments Tab ....................................................................................................................................... 4-94 Edit Equipment Status Tab ......................................................................................................................... 4-95 Additional Phase Configuration.................................................................................................................. 4-97 Edit Control Buttons................................................................................................................................... 4-97 Assign Tags to Buttons........................................................................................................................... 4-97 Phase Control/Status Bits ........................................................................................................................... 4-98 Automatic Tag Creation and Assignment .............................................................................................. 4-99 Manual Tag Creation and Assignment ................................................................................................. 4-101 Edit Interlocks .......................................................................................................................................... 4-102 Assign Tags .......................................................................................................................................... 4-102 Edit Formula Parameters .......................................................................................................................... 4-104 Enter and Configure Formula Parameters ............................................................................................ 4-106 Formula Parameter Examples .............................................................................................................. 4-107

CHAPTER 5 - MATERIALS EDITOR....................................................................5-1


Overview ......................................................................................................................................................... 5-2 Using the Materials Status Window ............................................................................................................. 5-3 Starting the Materials Status Window .......................................................................................................... 5-3 File Menu ..................................................................................................................................................... 5-4 File/Validate ............................................................................................................................................. 5-4 File/Print................................................................................................................................................... 5-5 File/Print Preview File/Print Preview....................................................................................................... 5-6 File/Print Setup......................................................................................................................................... 5-6 File/Exit.................................................................................................................................................... 5-6 Edit Menu..................................................................................................................................................... 5-7

Table Of Contents

viii

Edit/Materials Editor ................................................................................................................................ 5-7 Edit/Material Locations............................................................................................................................ 5-7 View Menu................................................................................................................................................... 5-8 View/Assigned Units................................................................................................................................ 5-8 View/Partial List ...................................................................................................................................... 5-8 View/Full List .......................................................................................................................................... 5-9 View/Find................................................................................................................................................. 5-9 Help Menu.................................................................................................................................................. 5-10 Help/Help Topics ................................................................................................................................... 5-10 Help/About Materials Status .................................................................................................................. 5-10 Using the Materials Editor .......................................................................................................................... 5-11 Defining Materials...................................................................................................................................... 5-11 Using the Material Location Assignment Editor ....................................................................................... 5-14 Assign a Material to a Unit......................................................................................................................... 5-14 Define Lot Tracking Information ............................................................................................................... 5-14

CHAPTER 6 - RECIPE EDITOR ...........................................................................6-1


Overview ......................................................................................................................................................... 6-2 Header .......................................................................................................................................................... 6-2 Equipment Requirements ............................................................................................................................. 6-2 Process and Transfer Instances................................................................................................................. 6-2 Formula ........................................................................................................................................................ 6-3 Procedure...................................................................................................................................................... 6-4 Operations ................................................................................................................................................ 6-4 Phases....................................................................................................................................................... 6-5 Parameters ................................................................................................................................................ 6-6 Transition Logic ....................................................................................................................................... 6-7 Using Recipe Editor ....................................................................................................................................... 6-8 File Menu ................................................................................................................................................... 6-10 File/New ................................................................................................................................................. 6-10 File/Open................................................................................................................................................ 6-10 File/Save................................................................................................................................................. 6-13 File/Delete Recipes ................................................................................................................................ 6-14 File/Validate ........................................................................................................................................... 6-15 File/Approvals........................................................................................................................................ 6-16 File/History ............................................................................................................................................ 6-18 File/Import/Export.................................................................................................................................. 6-19 File/Print................................................................................................................................................. 6-21 File/Print Setup....................................................................................................................................... 6-21 File/Exit.................................................................................................................................................. 6-21 Edit Menu................................................................................................................................................... 6-22 Header ........................................................................................................................................................... 6-22 Edit/Recipe Header ................................................................................................................................ 6-22 Equipment Requirements ............................................................................................................................ 6-25 Edit/Equipment Requirements................................................................................................................ 6-25 Assign Process Classes............................................................................................................................... 6-27 Edit Process Instances ................................................................................................................................ 6-28 Process Instances.................................................................................................................................... 6-28 Assign Units to Process Class Instances................................................................................................. 6-30 Unit Selection Mode............................................................................................................................... 6-31 Attributes................................................................................................................................................ 6-31 Example Equipment Requirements ........................................................................................................ 6-33

Table Of Contents

ix

Edit Transfer Instances............................................................................................................................... 6-35 Transfer Instances .................................................................................................................................. 6-35 Assign Source and Destination Instances............................................................................................... 6-37 Formula......................................................................................................................................................... 6-40 Edit/Formula Inputs................................................................................................................................ 6-41 Edit/Formula Outputs ............................................................................................................................. 6-45 Process Variables ....................................................................................................................................... 6-48 Edit/Process Variables............................................................................................................................ 6-49 Operations Library ..................................................................................................................................... 6-50 Edit/Operations Library.......................................................................................................................... 6-50 Edit/Recipe States ...................................................................................................................................... 6-51 Edit/Recipe Types ...................................................................................................................................... 6-52 View Menu................................................................................................................................................. 6-53 View/Zoom In Operations...................................................................................................................... 6-53 View/Zoom Out Operations ................................................................................................................... 6-53 View/Zoom In Phases ............................................................................................................................ 6-53 View/Zoom Out Phases.......................................................................................................................... 6-53 Help Menu.................................................................................................................................................. 6-54 Help/Help Topics ................................................................................................................................... 6-54 Help/About Recipe Editor ...................................................................................................................... 6-54 Recipe Procedure.......................................................................................................................................... 6-55 Procedure Layout ....................................................................................................................................... 6-56 Sequence of Operations.......................................................................................................................... 6-56 Sequence of Phases ................................................................................................................................ 6-56 Procedure Objects ...................................................................................................................................... 6-57 Operations Toolbar................................................................................................................................. 6-57 Phases Toolbar ....................................................................................................................................... 6-58 Storing an Operation .............................................................................................................................. 6-59 Loading an Operation............................................................................................................................. 6-61 Operation Validity.................................................................................................................................. 6-62 Recipe Procedure Mechanics ..................................................................................................................... 6-63 Inserting Procedure Objects ................................................................................................................... 6-63 Deleting Procedure Objects.................................................................................................................... 6-73 Moving and Nesting Procedure Objects................................................................................................. 6-75 Operation Properties............................................................................................................................... 6-76 Phase Properties ..................................................................................................................................... 6-77 Building Recipes in a Connectionless Process Model................................................................................ 6-85 Recipe Procedure Summary ....................................................................................................................... 6-86 Operation and Phases ............................................................................................................................. 6-86 Operation Library................................................................................................................................... 6-87 Branch and Transition Objects ............................................................................................................... 6-88 Phase Properties ..................................................................................................................................... 6-89

CHAPTER 7 - TRAIN EDITOR..............................................................................7-1


Overview ......................................................................................................................................................... 7-2 Using Train Editor ......................................................................................................................................... 7-3 File Menu ..................................................................................................................................................... 7-4 File/Print................................................................................................................................................... 7-4 File/Print Preview..................................................................................................................................... 7-5 File/Print Setup......................................................................................................................................... 7-5 File/Exit.................................................................................................................................................... 7-5 Help Menu.................................................................................................................................................... 7-6 Help/Help Topics ..................................................................................................................................... 7-6 Help/About Train Editor .......................................................................................................................... 7-6

Table Of Contents

Assigning Units to Trains............................................................................................................................... 7-7

CHAPTER 8 - BATCH MANAGEMENT SYSTEM................................................8-1


Overview ......................................................................................................................................................... 8-2 Batch Management Diagram........................................................................................................................ 8-4 Using Batch Scheduler ................................................................................................................................... 8-5 File Menu ..................................................................................................................................................... 8-6 File/Print................................................................................................................................................... 8-6 File/Print Preview..................................................................................................................................... 8-6 File/Print Setup......................................................................................................................................... 8-6 File/Exit.................................................................................................................................................... 8-6 Edit Menu..................................................................................................................................................... 8-7 Edit/Delete................................................................................................................................................ 8-7 Edit/Cleanup............................................................................................................................................. 8-7 Edit/Move Up........................................................................................................................................... 8-7 Edit/Move Down ...................................................................................................................................... 8-7 View Menu................................................................................................................................................... 8-8 View/Batch Editor.................................................................................................................................... 8-8 View/Undo Sorting .................................................................................................................................. 8-8 View/Filters.............................................................................................................................................. 8-8 View/Errors ............................................................................................................................................ 8-10 View/Toolbar ......................................................................................................................................... 8-10 View/Status Bar...................................................................................................................................... 8-10 Initialize Menu ........................................................................................................................................... 8-11 Initialize/Batch ....................................................................................................................................... 8-11 Initialize/All ........................................................................................................................................... 8-11 Options Menu............................................................................................................................................. 8-13 Options/Execute in Order....................................................................................................................... 8-13 Help Menu.................................................................................................................................................. 8-13 Help/Help Topics ................................................................................................................................... 8-13 Help/About Batch Scheduler.................................................................................................................. 8-13 Defining a Batch......................................................................................................................................... 8-14 Batch Identification ................................................................................................................................ 8-14 Recipe Assignment................................................................................................................................. 8-14 Quantity Assignment.............................................................................................................................. 8-15 Train Assignment ................................................................................................................................... 8-15 Batch Execution Mode ........................................................................................................................... 8-16 Status ...................................................................................................................................................... 8-16 Default Editor Settings ........................................................................................................................... 8-16 Changing the Batch Schedule List ............................................................................................................. 8-17 Add......................................................................................................................................................... 8-17 Change.................................................................................................................................................... 8-17 Clear All ................................................................................................................................................. 8-17 Using Batch Display ..................................................................................................................................... 8-18 File Menu ................................................................................................................................................... 8-19 File/Exit.................................................................................................................................................. 8-19 Actions Menu ............................................................................................................................................. 8-19 Actions/Manual Operation ..................................................................................................................... 8-19 Actions/Save Control Recipe ................................................................................................................. 8-20 Windows Menu .......................................................................................................................................... 8-21 Windows/Schedule................................................................................................................................. 8-21 Windows/Batch Messages...................................................................................................................... 8-22 Windows/Equipment Allocation ............................................................................................................ 8-23 Windows/Phase Parameter Editor .......................................................................................................... 8-25 Windows/Transition Logic..................................................................................................................... 8-25

Table Of Contents

xi

View Menu................................................................................................................................................. 8-26 View/Errors ............................................................................................................................................ 8-26 View/Toolbar ......................................................................................................................................... 8-26 View/SFC Toolbar ................................................................................................................................. 8-26 View/Status Bar...................................................................................................................................... 8-26 View/Zoom In Operations...................................................................................................................... 8-26 View/Zoom Out Operations ................................................................................................................... 8-26 View/Zoom In Phases ............................................................................................................................ 8-26 View/Zoom Out Phases.......................................................................................................................... 8-27 View/Large Icons ................................................................................................................................... 8-27 Help Menu.................................................................................................................................................. 8-27 Help/Help Topics ................................................................................................................................... 8-27 Help/About Batch Display ..................................................................................................................... 8-27 Batch Display Layout................................................................................................................................. 8-28 Batch Display Toolbar ........................................................................................................................... 8-29 SFC Toolbar ........................................................................................................................................... 8-29 Batch Identification ................................................................................................................................ 8-30 Phase List ............................................................................................................................................... 8-30 Question List .......................................................................................................................................... 8-30 Batch Control Buttons ............................................................................................................................ 8-30 Phase Parameter List .............................................................................................................................. 8-30 Instruction List ....................................................................................................................................... 8-30 View Doc/Ack Doc Button .................................................................................................................... 8-30 Phase Control Buttons ............................................................................................................................ 8-30 Sequence of Operations.......................................................................................................................... 8-31 Sequence of Phases ................................................................................................................................ 8-31 Batch Display Functionality ....................................................................................................................... 8-32 Batch Control ......................................................................................................................................... 8-32 Batch Execution Mode ........................................................................................................................... 8-33 Phase Comments .................................................................................................................................... 8-33 Phase Interlocks...................................................................................................................................... 8-33 Equipment Selection .............................................................................................................................. 8-34 Phase Control and Status........................................................................................................................ 8-35 Edit Formula Parameters ........................................................................................................................ 8-35 Answering Questions ............................................................................................................................. 8-36 Phase Acknowledgment ......................................................................................................................... 8-36 Phase Parameter Editor .......................................................................................................................... 8-37 Active Transition Objects....................................................................................................................... 8-38 Starting Batch Manager .............................................................................................................................. 8-39 Starting Batch Manager.............................................................................................................................. 8-39 Batch Execution............................................................................................................................................ 8-40 Equipment Allocation................................................................................................................................. 8-40 Automatic Allocation and Release ......................................................................................................... 8-40 Recipe Allocation and Release............................................................................................................... 8-41 Manual Allocation and Release.............................................................................................................. 8-41 Batch Execution Modes.............................................................................................................................. 8-42 Automatic Batch Mode .......................................................................................................................... 8-42 Semi-Automatic Batch Mode................................................................................................................. 8-45 Manual Batch Mode ............................................................................................................................... 8-45 Batch Execution Mode Changes ............................................................................................................ 8-45 Unit Selection Modes ................................................................................................................................. 8-47 Automatic Unit Selection ....................................................................................................................... 8-47 Manual Unit Selection............................................................................................................................ 8-47 Process Phases............................................................................................................................................ 8-48 Automatic Phases ................................................................................................................................... 8-48 Manual Phases........................................................................................................................................ 8-48 Process Phases with Material Input Parameters ..................................................................................... 8-48

Table Of Contents

xii

Process Phases with Material Output Parameters................................................................................... 8-50 Transfer Phases .......................................................................................................................................... 8-51 Automatic Transfer Phases..................................................................................................................... 8-51 Manual Transfer Phases ......................................................................................................................... 8-51 Transfer Phases with Material Input Parameters .................................................................................... 8-51 Transfer Phases with Material Output Parameters ................................................................................. 8-53 Continue Mode Execution.......................................................................................................................... 8-54 Contention for Shared Equipment .............................................................................................................. 8-55 Report Triggering....................................................................................................................................... 8-56 End Of Batch Operation ............................................................................................................................. 8-56 Batch Runtime Errors................................................................................................................................. 8-57 Batch Schedule Errors................................................................................................................................ 8-58 Warm Restart ............................................................................................................................................... 8-59 Starting Batch Manager with Warm Restart Function ............................................................................... 8-59 Batch Execution ......................................................................................................................................... 8-60 Batch Restart Mode.................................................................................................................................... 8-61 Control System Synchronization................................................................................................................ 8-62 Manual Operation....................................................................................................................................... 8-63

CHAPTER 9 - HISTORY AND ARCHIVING .........................................................9-1


Overview ......................................................................................................................................................... 9-2 History Database Structure........................................................................................................................... 9-3 Entity-Relationship Diagram........................................................................................................................ 9-3 Tables ........................................................................................................................................................... 9-4 AuditEvent ............................................................................................................................................... 9-4 BatchAdmin ............................................................................................................................................. 9-4 BatchDetail............................................................................................................................................... 9-5 BatchIdLog............................................................................................................................................... 9-5 BatchQuestion .......................................................................................................................................... 9-6 CodeTable ................................................................................................................................................ 9-6 DocViewEvent ......................................................................................................................................... 9-8 EquipStatus .............................................................................................................................................. 9-8 Event ........................................................................................................................................................ 9-9 MaterialChar ............................................................................................................................................ 9-9 MaterialInput.......................................................................................................................................... 9-10 MaterialInputChange.............................................................................................................................. 9-10 MaterialOutput ....................................................................................................................................... 9-11 OperatorComment.................................................................................................................................. 9-11 PhaseInstruction ..................................................................................................................................... 9-12 ProcessLog ............................................................................................................................................. 9-12 ProcessVar.............................................................................................................................................. 9-13 ProcessVarChange ................................................................................................................................. 9-13 Transition ............................................................................................................................................... 9-14 TransitionExpression.............................................................................................................................. 9-14 UserProfile ............................................................................................................................................. 9-14 Using the History Administration Program............................................................................................... 9-15 History Archive Operation .......................................................................................................................... 9-16 File Menu ................................................................................................................................................... 9-17 File/Print................................................................................................................................................. 9-17 File/Print Preview................................................................................................................................... 9-18 File/Print Setup....................................................................................................................................... 9-18 File/Exit.................................................................................................................................................. 9-18 Edit Menu................................................................................................................................................... 9-18

Table Of Contents

xiii

Edit/Add Entry ....................................................................................................................................... 9-18 Edit/Edit Entry........................................................................................................................................ 9-18 Edit/Delete Entry.................................................................................................................................... 9-18 Edit/Restore Archive .............................................................................................................................. 9-19 Edit/Purge Data ...................................................................................................................................... 9-19 View Menu................................................................................................................................................. 9-19 View/Refresh.......................................................................................................................................... 9-19 Help Menu.................................................................................................................................................. 9-20 Help/Help Topics ................................................................................................................................... 9-20 Help/About History Archive .................................................................................................................. 9-20 Archiving Historical Data............................................................................................................................ 9-21 Add a New Archive.................................................................................................................................... 9-21 Edit an Archive........................................................................................................................................... 9-25 Delete an Archive....................................................................................................................................... 9-25 Restore an Archive ..................................................................................................................................... 9-26 Purge Data.................................................................................................................................................. 9-27

CHAPTER 10 - REPORTING SYSTEM ..............................................................10-1


Overview ....................................................................................................................................................... 10-2 Using Report Editor ..................................................................................................................................... 10-3 File Menu ................................................................................................................................................... 10-4 File/New ................................................................................................................................................. 10-4 File/Open................................................................................................................................................ 10-4 File/Save................................................................................................................................................. 10-5 File/Validate ........................................................................................................................................... 10-5 File/Delete .............................................................................................................................................. 10-5 File/Print................................................................................................................................................. 10-6 File/Print Preview................................................................................................................................... 10-7 File/Print Setup....................................................................................................................................... 10-7 File/Exit.................................................................................................................................................. 10-7 Edit Menu................................................................................................................................................... 10-8 Edit/Control Criteria............................................................................................................................... 10-8 Edit/Destination Criteria......................................................................................................................... 10-8 Edit/Reset Data....................................................................................................................................... 10-8 Help Menu.................................................................................................................................................. 10-9 Help/Help Topics ................................................................................................................................... 10-9 Help/About Report Editor ...................................................................................................................... 10-9 Crystal Report Assignment ....................................................................................................................... 10-10 Predefined Crystal Reports....................................................................................................................... 10-11 Control Criteria.......................................................................................................................................... 10-13 Auto Batch End ........................................................................................................................................ 10-13 Expression ................................................................................................................................................ 10-14 Time ......................................................................................................................................................... 10-15 Time Options........................................................................................................................................ 10-16 Destination Criteria.................................................................................................................................... 10-17 Reset Data ................................................................................................................................................... 10-18 Using Report Manager............................................................................................................................... 10-19 Starting Report Manager .......................................................................................................................... 10-19 Using Report Display ................................................................................................................................. 10-20

Table Of Contents

xiv

File Menu ................................................................................................................................................. 10-21 File/Open.............................................................................................................................................. 10-21 File/Export Report................................................................................................................................ 10-21 File/Refresh Report Data...................................................................................................................... 10-22 File/Close ............................................................................................................................................. 10-22 File/Print............................................................................................................................................... 10-22 File/Print Setup..................................................................................................................................... 10-22 File/Exit................................................................................................................................................ 10-22 View Menu............................................................................................................................................... 10-23 Window Menu.......................................................................................................................................... 10-23 Help Menu................................................................................................................................................ 10-23 Help/Help Topics ................................................................................................................................. 10-23 Help/About Report Display.................................................................................................................. 10-23 Generating Reports................................................................................................................................... 10-24

CHAPTER 11- PROCESS LOGGING.................................................................11-1


Process Log Criteria..................................................................................................................................... 11-2 General Logging Criteria............................................................................................................................ 11-2 Log Trigger ............................................................................................................................................ 11-2 Log Interval ............................................................................................................................................ 11-3 Data Destination..................................................................................................................................... 11-3 Tags............................................................................................................................................................ 11-3 Using Process Log Editor............................................................................................................................. 11-4 File Menu ................................................................................................................................................... 11-5 File/New ................................................................................................................................................. 11-5 File/Open................................................................................................................................................ 11-6 File/Save................................................................................................................................................. 11-6 File/Validate ........................................................................................................................................... 11-6 File/Delete .............................................................................................................................................. 11-8 File/Print................................................................................................................................................. 11-8 File/Print Preview................................................................................................................................... 11-9 File/Print Setup....................................................................................................................................... 11-9 File/Exit.................................................................................................................................................. 11-9 Edit Menu................................................................................................................................................. 11-10 Edit/Groups .......................................................................................................................................... 11-10 Creating a Process Log Group .................................................................................................................. 11-10 Using Process Log Manager ...................................................................................................................... 11-15 Starting Process Log Manager ................................................................................................................. 11-15 Runtime Logging Criteria ........................................................................................................................ 11-15

CHAPTER 12 - SECURITY SYSTEM .................................................................12-1


Overview ....................................................................................................................................................... 12-2 Using Security Editor................................................................................................................................... 12-3 Using Security Editor for the First Time .................................................................................................... 12-4 File Menu ................................................................................................................................................... 12-5 File/Validate ........................................................................................................................................... 12-5 File/Print................................................................................................................................................. 12-5 File/Print Preview................................................................................................................................... 12-6 File/Print Setup....................................................................................................................................... 12-6 File/Exit.................................................................................................................................................. 12-6 Edit Menu................................................................................................................................................... 12-7

Table Of Contents

xv

Edit/Security Levels ............................................................................................................................... 12-7 Edit/Operator Stations ............................................................................................................................ 12-7 Edit/User Accounts ................................................................................................................................ 12-7 Edit/Applications-Functions................................................................................................................... 12-7 Help Menu.................................................................................................................................................. 12-8 Help/Help Topics ................................................................................................................................... 12-8 Help/About Security Editor.................................................................................................................... 12-8 Security System Configuration ................................................................................................................... 12-9 Security Enabled ........................................................................................................................................ 12-9 Retries ........................................................................................................................................................ 12-9 Password Timeout ...................................................................................................................................... 12-9 Password Reuse.......................................................................................................................................... 12-9 Comment .................................................................................................................................................... 12-9 Security Levels............................................................................................................................................ 12-10 Operator Stations ....................................................................................................................................... 12-11 User Accounts ............................................................................................................................................. 12-12 Security Level .......................................................................................................................................... 12-13 Password .................................................................................................................................................. 12-13 Recipes ..................................................................................................................................................... 12-14 Operator Stations...................................................................................................................................... 12-14 Applications-Functions .............................................................................................................................. 12-15 Adding a New Application....................................................................................................................... 12-16 Enabling Application Security ................................................................................................................. 12-17 Adding a New Function ........................................................................................................................... 12-18 Enabling Function Security ...................................................................................................................... 12-18 Runtime Security........................................................................................................................................ 12-19 Starting the Security Manager .................................................................................................................. 12-19 Changing Passwords ................................................................................................................................ 12-19 Application Security Requests ................................................................................................................. 12-20 Function Security Requests ...................................................................................................................... 12-21

CHAPTER 13 - EXPRESSION EDITOR .............................................................13-1


Using Expression Editor .............................................................................................................................. 13-2 Starting the Expression Editor.................................................................................................................... 13-2 Editing an Expression................................................................................................................................. 13-3 Edit Buttons............................................................................................................................................ 13-3 Expression Elements .................................................................................................................................... 13-5 Operators .................................................................................................................................................... 13-5 Operands .................................................................................................................................................... 13-6 Functions .................................................................................................................................................... 13-6 Delimiters................................................................................................................................................... 13-7 Expression Building Rules........................................................................................................................... 13-8 Expression Examples ................................................................................................................................... 13-9

CHAPTER 14 - PHASE LOGIC DEVELOPMENT AND TESTING .....................14-1


Phase Block Design Guideline ..................................................................................................................... 14-2

Table Of Contents

xvi

Definition of a Phase Block........................................................................................................................ 14-2 Phase Block Rules of Operation................................................................................................................. 14-3 Function Block Diagram ............................................................................................................................ 14-4 Operational Flow Chart .............................................................................................................................. 14-4 Control System Memory Configuration ................................................................................................. 14-6 Phase Block Memory Guidelines ........................................................................................................... 14-6 Control System Code Structure .................................................................................................................. 14-7 General ................................................................................................................................................... 14-7 Phase Block............................................................................................................................................ 14-7 Complete Program.................................................................................................................................. 14-9 Unit Control Bits ...................................................................................................................................... 14-11 General ................................................................................................................................................. 14-11 Phase Control ........................................................................................................................................... 14-13 General ................................................................................................................................................. 14-13 Phase Status.............................................................................................................................................. 14-14 General ................................................................................................................................................. 14-14 Formula Parameters.................................................................................................................................. 14-16 General ................................................................................................................................................. 14-16 Parameter Types................................................................................................................................... 14-16 Parameter Type Extensions .................................................................................................................. 14-16 Definition of Parameter Extensions...................................................................................................... 14-17 Control Buttons .................................................................................................................................... 14-18 Interlocks.............................................................................................................................................. 14-18 Alarms ...................................................................................................................................................... 14-18 Input and Output Control ......................................................................................................................... 14-19 Using the Phase Logic Testing Tool .......................................................................................................... 14-19 Starting the Phase Logic Testing Tool ..................................................................................................... 14-19 File Menu ................................................................................................................................................. 14-20 File/Exit................................................................................................................................................ 14-20 Help Menu................................................................................................................................................ 14-20 Help/Help Topics ................................................................................................................................. 14-20 Help/About Phase Logic ...................................................................................................................... 14-21 Exercising Phases ....................................................................................................................................... 14-21

CHAPTER 15 - TAG LINKER .............................................................................15-1


Overview ....................................................................................................................................................... 15-2 When to Use Tag Linker.............................................................................................................................. 15-4 Using Tag Linker.......................................................................................................................................... 15-5 File Menu ................................................................................................................................................... 15-6 File/Runtime Export............................................................................................................................... 15-6 File/Simulation Export ........................................................................................................................... 15-6 File/Export Tags..................................................................................................................................... 15-6 File/Import Tags..................................................................................................................................... 15-8 File/Validate ........................................................................................................................................... 15-8 File/Print................................................................................................................................................. 15-8 File/Print Preview................................................................................................................................... 15-9 File/Print Setup....................................................................................................................................... 15-9 File/Exit.................................................................................................................................................. 15-9 Edit Menu................................................................................................................................................... 15-9 Edit/Access............................................................................................................................................. 15-9 Edit/Export ............................................................................................................................................. 15-9 View Menu............................................................................................................................................... 15-10 View/Filter ........................................................................................................................................... 15-10

Table Of Contents

xvii

View/Single Selection .......................................................................................................................... 15-10 View/Multiple Selection....................................................................................................................... 15-10 Help Menu................................................................................................................................................ 15-10 Help/Help Topics ................................................................................................................................. 15-10 Help/About Tag Linker ........................................................................................................................ 15-10 Access Editor .............................................................................................................................................. 15-11 Tag Configuration ...................................................................................................................................... 15-12 Tag Selection............................................................................................................................................ 15-12 Assign Tag Links ..................................................................................................................................... 15-12 Item Definition ..................................................................................................................................... 15-13 Access Assignment .............................................................................................................................. 15-13 Export Tag............................................................................................................................................ 15-13 Scaling Options .................................................................................................................................... 15-14 Data Type Selection ............................................................................................................................. 15-14 Export Editor.............................................................................................................................................. 15-15 Simulation Export Procedure ................................................................................................................... 15-18 Runtime Export Procedure ....................................................................................................................... 15-18 Control System Interfacing Example ....................................................................................................... 15-20 Guidelines for Control System Interfacing............................................................................................... 15-20 Setting Up the Control System ................................................................................................................. 15-20

CHAPTER 16 - INTOUCH BATCH WIZARDS....................................................16-1


Overview ....................................................................................................................................................... 16-2 InBatch Wizard Access Names and Support Tags .................................................................................... 16-3 Using InBatch Wizards ................................................................................................................................ 16-4 InBatch Wizard Descriptions ...................................................................................................................... 16-6 Batch Scheduler/Dispatcher ....................................................................................................................... 16-7 Active Batch List........................................................................................................................................ 16-8 Batch Messages .......................................................................................................................................... 16-9 Change Batch Mode ................................................................................................................................. 16-10 Batch Questions with Close ..................................................................................................................... 16-11 Batch Questions........................................................................................................................................ 16-12 Button....................................................................................................................................................... 16-13 Batch Comments ...................................................................................................................................... 16-16 View/Force Transition Logic ................................................................................................................... 16-17 Active Phase List...................................................................................................................................... 16-18 Phase Parameter List ................................................................................................................................ 16-19 Phase and Parameter Editor...................................................................................................................... 16-20 Phase Instructions..................................................................................................................................... 16-21 Phase Interlocks........................................................................................................................................ 16-22 Phase Comments ...................................................................................................................................... 16-23 Phase Message Information...................................................................................................................... 16-24 Equipment Allocation............................................................................................................................... 16-25 Equipment Selection ................................................................................................................................ 16-26 Save Control Recipe................................................................................................................................. 16-27 Batch Errors ............................................................................................................................................. 16-28 InBatch Wizard Data Change Script........................................................................................................ 16-29 Data Change Scripts - Using List Boxes .................................................................................................. 16-30

Table Of Contents

xviii

CHAPTER 17 - INTOUCH SCRIPT ADD-ON FUNCTIONS ...............................17-1


Overview ....................................................................................................................................................... 17-2 Using Script Add-On Functions ................................................................................................................. 17-2 Protocol Usage ........................................................................................................................................... 17-2 Script Add-On Function Descriptions ........................................................................................................ 17-3 ibAlarmEventInit........................................................................................................................................ 17-3 Syntax..................................................................................................................................................... 17-3 Example.................................................................................................................................................. 17-4 ibAlarmNode.............................................................................................................................................. 17-4 Syntax..................................................................................................................................................... 17-4 Example.................................................................................................................................................. 17-4 ibBatchAction............................................................................................................................................. 17-5 Syntax..................................................................................................................................................... 17-5 Example.................................................................................................................................................. 17-6 Batch Action Reference.......................................................................................................................... 17-7 ibConfig...................................................................................................................................................... 17-9 Syntax..................................................................................................................................................... 17-9 Example.................................................................................................................................................. 17-9 ibPokeDisc ............................................................................................................................................... 17-10 Syntax................................................................................................................................................... 17-10 Example................................................................................................................................................ 17-10 ibPokeInt .................................................................................................................................................. 17-11 Syntax................................................................................................................................................... 17-11 Example................................................................................................................................................ 17-11 ibPokeStr .................................................................................................................................................. 17-12 Syntax................................................................................................................................................... 17-12 Example................................................................................................................................................ 17-12 ibRequestDisc........................................................................................................................................... 17-13 Syntax................................................................................................................................................... 17-13 Example................................................................................................................................................ 17-13 ibRequestInt ............................................................................................................................................. 17-14 Syntax................................................................................................................................................... 17-14 Example................................................................................................................................................ 17-14 ibRequestStr ............................................................................................................................................. 17-15 Syntax................................................................................................................................................... 17-15 Example................................................................................................................................................ 17-15 ibTermTopic............................................................................................................................................. 17-16 Syntax................................................................................................................................................... 17-16 Example................................................................................................................................................ 17-16 Obsolete DDE Script Add-On Functions.................................................................................................. 17-17 ibDdePokeDisc......................................................................................................................................... 17-17 ibDdePokeInt............................................................................................................................................ 17-17 ibDdePokeStr ........................................................................................................................................... 17-17 ibDdeRequestDisc.................................................................................................................................... 17-17 ibDdeRequestInt....................................................................................................................................... 17-17 ibDdeRequestStr....................................................................................................................................... 17-17 ibDdeTermTopic ...................................................................................................................................... 17-17 Script Add-On Function Error Reference ............................................................................................... 17-18

CHAPTER 18 - INTOUCH BATCH TAG BROWSING AND REFERENCING ....18-1


Overview ....................................................................................................................................................... 18-2 Define Batch Tag Sources............................................................................................................................ 18-3

Table Of Contents

xix

Remote Referencing Batch Tags ................................................................................................................. 18-7

CHAPTER 19 - INBATCH CLIENT SECURITY ..................................................19-1


Overview ....................................................................................................................................................... 19-2 Configuring InBatch Client Security.......................................................................................................... 19-3 Batch Server Security Configuration.......................................................................................................... 19-3 Batch Client Security Configuration .......................................................................................................... 19-4 InBatch Client Security Operation ............................................................................................................. 19-5 DoneBy Security ........................................................................................................................................ 19-5 DoneBy and CheckBy Security.................................................................................................................. 19-6 New/Verify DoneBy Password .................................................................................................................. 19-6 New/Verify CheckBy Password................................................................................................................. 19-7

CHAPTER 20 - CLIENT ALARM/EVENT INTERFACE......................................20-1


Overview ....................................................................................................................................................... 20-2 Required Configuration............................................................................................................................... 20-3

CHAPTER 21 - TAG INTERFACE MANAGEMENT (TIM) SYSTEM..................21-1


Overview ....................................................................................................................................................... 21-2 When to Use the Tag Interface Management (TIM) System...................................................................... 21-3 Using TIM ..................................................................................................................................................... 21-4 Using TIM Tags ......................................................................................................................................... 21-5 Interfaces ................................................................................................................................................ 21-5 Batch Focus Versus Unit Focus ............................................................................................................. 21-6 Working with List Tags.......................................................................................................................... 21-6 Actions Requiring Security Clearance ................................................................................................... 21-8 Batch Function Tags............................................................................................................................... 21-8 Tag Generation....................................................................................................................................... 21-9 Batch Management System Interface....................................................................................................... 21-10 Manipulate the Batch Schedule ................................................................................................................ 21-10 Description ........................................................................................................................................... 21-11 InTouch Client Examples..................................................................................................................... 21-15 Monitor and Control Active Batches........................................................................................................ 21-16 Description ........................................................................................................................................... 21-17 InTouch Client Examples..................................................................................................................... 21-21 Manipulate Recipe Focus ......................................................................................................................... 21-22 Description ........................................................................................................................................... 21-22 InTouch Client Example ...................................................................................................................... 21-23 Monitor and Respond to Batch Questions................................................................................................ 21-24 Description ........................................................................................................................................... 21-24 InTouch Client Example ...................................................................................................................... 21-25 Enter Batch Comments............................................................................................................................. 21-26 Description ........................................................................................................................................... 21-26 InTouch Client Example ...................................................................................................................... 21-27 Monitor and Control Active Phases ......................................................................................................... 21-28 Description ........................................................................................................................................... 21-30 InTouch Client Examples..................................................................................................................... 21-36 Select Equipment for Allocation .............................................................................................................. 21-37

Table Of Contents

xx

Description ........................................................................................................................................... 21-37 InTouch Client Example ...................................................................................................................... 21-39 Monitor Batch Messages .......................................................................................................................... 21-40 Description ........................................................................................................................................... 21-40 InTouch Client Example ...................................................................................................................... 21-41 Edit Phases and Parameters...................................................................................................................... 21-42 Description ........................................................................................................................................... 21-43 InTouch Client Examples..................................................................................................................... 21-46 Monitor and Control Equipment .............................................................................................................. 21-47 Description ........................................................................................................................................... 21-48 InTouch Client Examples..................................................................................................................... 21-50 View/Force Transition Logic ................................................................................................................... 21-51 Description ........................................................................................................................................... 21-52 InTouch Client Examples..................................................................................................................... 21-54 Save Control Recipe................................................................................................................................. 21-55 Description ........................................................................................................................................... 21-55 InTouch Client Example ...................................................................................................................... 21-57 Monitor and Respond to Errors ................................................................................................................ 21-58 Description ........................................................................................................................................... 21-58 InTouch Client Example ...................................................................................................................... 21-59 Batch Management System Interface Handshake Errors ......................................................................... 21-60 Security System Interface .......................................................................................................................... 21-62 Interact with InBatch Security System ..................................................................................................... 21-62 Description ........................................................................................................................................... 21-62 InTouch Client Examples..................................................................................................................... 21-64 Security System Interface Handshake Errors ......................................................................................... 21-65 Batch Function Interface ........................................................................................................................... 21-67 Phase Prepare/Complete........................................................................................................................... 21-67 Description ........................................................................................................................................... 21-68 InTouch Client Example ...................................................................................................................... 21-70 Evaluate Equipment for Allocation .......................................................................................................... 21-71 Description ........................................................................................................................................... 21-71 InTouch Client Example ...................................................................................................................... 21-73 Log Equipment Status .............................................................................................................................. 21-74 Description ........................................................................................................................................... 21-74 InTouch Client Example ...................................................................................................................... 21-76 Equipment Allocation Changes................................................................................................................ 21-77 Description ........................................................................................................................................... 21-77 InTouch Client Example ...................................................................................................................... 21-79 Runtime TIM Operation ........................................................................................................................... 21-80 Runtime TIM Applications ...................................................................................................................... 21-80

CHAPTER 22 - REDUNDANCY..........................................................................22-1
Overview ....................................................................................................................................................... 22-2 Example of a Redundant Server Configuration ........................................................................................ 22-3 Setting Up a Redundant InBatch Server.................................................................................................... 22-4 Network Configuration............................................................................................................................... 22-4 Installing a Redundant Batch System......................................................................................................... 22-5 Batch Client - Redundancy Configuration ................................................................................................. 22-6 Server Configuration .............................................................................................................................. 22-6

Table Of Contents

xxi

Batch Client Configuration .................................................................................................................... 22-6 Redundancy Configuration ......................................................................................................................... 22-7 RedCfg File Structure................................................................................................................................. 22-7 RedCfg and Lmhosts File Examples .......................................................................................................... 22-8 RedCfg File Example ............................................................................................................................. 22-9 Lmhosts File........................................................................................................................................... 22-9 Redundancy Switch-Over Configuration................................................................................................. 22-10 Redundancy Operation.............................................................................................................................. 22-11 Directory Configuration ........................................................................................................................... 22-12 Initial System Start-up.............................................................................................................................. 22-12 RedMngr Startup Procedure..................................................................................................................... 22-13 Typical Redundant Sequence of Operation ............................................................................................. 22-14 Initial Start-up .......................................................................................................................................... 22-14 Normal Runtime Operation ...................................................................................................................... 22-14 Backup System Failure............................................................................................................................. 22-14 Master System Failure.............................................................................................................................. 22-14 Master System Failure while Backup System is Failed............................................................................ 22-15 Failed System Recovery........................................................................................................................... 22-15 Manual Switch-Over to Backup System .................................................................................................. 22-15 Shutting Down a Redundant System ........................................................................................................ 22-15 Batch Clients ............................................................................................................................................ 22-16 Batch Client (InTouch) Condition Script ................................................................................................. 22-16 Batch Development and Batch Runtime Clients ...................................................................................... 22-17 Configuring InTouch Client Alarms for Redundancy .............................................................................. 22-17 InTouch Startup Script ............................................................................................................................. 22-18 Redundant System Points of Interest ....................................................................................................... 22-19

1-1

C H A P T E R

Welcome to InBatch

InBatch is a flexible Batch management system that is designed to be quickly and easily configured once fundamental concepts are understood. It is extremely important to read this section of the manual before attempting to use InBatch. Once InBatch concepts are understood, you should be able to quickly build and edit configurations 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 InBatch and how to apply features that may not be obvious. This manual is written for the individuals who will be configuring and applying the batch control system. This includes process and control engineers, and experienced technicians who are very knowledgeable about control system programming and process control. InBatch system configuration does not require computer programming. However, as part of implementing and deploying a batch system, control system programming is required. The batch system is a very complex, yet configurable software product that requires a fundamental working knowledge of the Microsoft Windows NT 4.0 operating system, an understanding of computer networking, programmable logic controller (PLC) programming, and process control concepts. The scope of this section does not include server and client licensing.

Contents
n n n n n n n n

System Requirements InBatch Program Menus Overview of Capabilities Extensibility Managing InBatch Configurations InBatch Programs InBatch Configuration Architecture InBatch Runtime Architecture

1-2

Chapter 1

System Requirements
The system requirements for InBatch are the same as those for InTouch with additional requirements as described below. For more information on InBatch and other FactorySuite System Requirements, see your FactorySuite System Administrator Guide. s

Microsoft SQL Server


InBatch utilizes Microsoft SQL Server 7.0 for database storage and retrieval. You can install SQL Server on the same computer that has batch components or you can install it on a different computer. In addition to Microsoft SQL Server system requirements, allow an additional s 200-300 MB free hard disk space for your InBatch databases.

InBatch Server
InBatch Server (only) - 40 MB free hard disk space InBatch Server with a Batch Runtime Client - 70 MB free hard disk space SVGA(1024X768) display and adapter w/2MB VRAM

Batch Runtime Client


Wonderware InTouch 7.1 or higher Microsoft Windows 95 or NT 4.0 Client requires 30 MB free hard disk space SVGA(1024X768) display and adapter w/2MB VRAM

Batch Development Client


Microsoft Windows NT 4.0, Service Pack 4 (or higher) SVGA(1024X768) display and adapter w/2MB VRAM.

Welcome to InBatch

1-3

InBatch Program Menus


InBatch software is comprised of batch 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 your FactorySuite System Guide. s

InBatch Server
When you install an InBatch Server, the Wonderware FactorySuite menu is created which gives you access to the InBatch Server submenu. The following summary describes these menu items.

Environment Display - starts the Environment Display and initializes the background processes necessary to access InBatch configuration and runtime applications. History Admin. - starts History Administration utility Use for setting up user account privileges in the historical database. History Archive - starts the History Archive utility - Use for setting the interval at which the historical database is archived. Release Notes - displays a Windows Help file that contains a summary of enhancements, user documentation issues, and known issues and solutions for InBatch. unInstallShield starts the unInstallShield program which allows you to completely remove the InBatch server from your computer.

InBatch Batch Development Client


When you install an Batch Development Client, the Wonderware FactorySuite menu is created which contains the InBatch Development Client submenu. The following summary describes these menu items. Process Modeling Editor - starts the InBatch Process Modeling Editor on the client. Tag Linker - starts the InBatch Tag Linker on the client. Train Editor - starts the InBatch Train Editor on the client. Material Editor - starts InBatch Material Editor program on the client.

1-4

Chapter 1 Recipe Editor - starts InBatch Recipe Editor program on the client. Report Editor - starts the InBatch Report Editor on the client. Security Editor - starts InBatch Security Editor program on the client. Process Log Editor - starts InBatch Process Log Editor program on the client. unInstallShield - starts the unInstallShield program which allows you to completely remove the InBatch Development Client from your computer.

InBatch Batch Runtime Client


When you install an Batch Development Client, the Wonderware FactorySuite menu is created which contains the InBatch Runtime Client submenu. The following summary describes these menu items. Note You must install InTouch on your computer before you install a Batch Runtime Client. Batch Display - starts InBatch Batch Display on the client. Batch Scheduler - starts InBatch Batch Schedule on the client Report Display - starts InBatch Report Display on the client. unInstallShield - starts the unInstallShield program which allows you to completely remove the InBatch Development Client from your computer. When you install a Batch Runtime Client, the following components are added to your computer. These components allow you development custom client applications from within InTouch and other COM-based environments. ActiveX Objects installs the Batch and SFC ActiveX objects on the client system for InTouch and COM-based applications. For more information on using ActiveX, see your InBatch COM Reference Guide. InBatch Wizards installs InBatch wizards for use within InTouch. Alarm/Event Interface copies wwextalm.dll and the ibhist.dll for use with InTouch. Script Add-On Functions installs InTouch script add-on functions for use within InTouch. For more information on using InTouch, see your InTouch User Guide. s

Welcome to InBatch

1-5

Overview of Capabilities
Wonderware InBatch is flexible batch management software designed to automate and provide a complete production history for batch processes. Consistent with the Instrument Society of America (ISA) S88.01 standard, InBatch allows you to quickly and easily create recipes and simulate their execution against a model of the process all before writing one line of control code. InBatch also provides complete production history and materials genealogy. InBatch's powerful batch engine, combined with its integration with FactorySuite, means that you can reduce the cost and time to implement your batch-related processes by up to 40 to 60% over competitive solutions. InBatch provides out-of-the-box batch management functionality that eliminates the need for unsustainable custom code in the PLC or DCS and dramatically reduces the life-cycle engineering effort. The sophisticated batch engine is responsible for Unit-toUnit Material Tracking, Short Term Scheduling, Dynamic Batch and Equipment Management, and Batch History and Reporting. The batch management system also supports redundancy for mission-critical applications.

Flexible Recipes and Process Lines


In 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 will make a plant more competitive. Improvements will 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 is 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 flow meters, that are necessary for transferring a product from one unit to another. Some plants have units that are connected between multiple units while other plants may have multiple connections between the same two units. 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

1-6

Chapter 1 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 a 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. 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 guideline describes the basic steps that you would use to develop a process model.

Process Modeling Guideline


1. 2. 3. 4. 5. 6. 7. 8. 9. Identify each unit and its attributes. Group units into process classes. Identify all connections between units. Define all equipment segments and assign to connections. Group connections into transfer classes. Define the processing capabilities of each process class (phases and parameters). Define the transferring capabilities of each transfer class (phases and parameters). Define equipment statuses. 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 tags that you can have in your batch system.

Welcome to InBatch

1-7

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 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. 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
The batch control system manages and constructs recipes according to the guidelines outlined in the ISA S88.01 Flexible Batch Specification. 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; 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 as the units defined in the train are dynamically allocated and used in producing a batch. A master recipe is not size specific, but is scalable to the batch size defined by production scheduling. All formula quantities for ingredients, intermediates, byproducts, 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 revision control system provides an accurate time stamped history of all changes and revisions that have been made to the recipe.

1-8

Chapter 1

Batch Management
Batch Management consists of batch scheduling, batch initialization, coordination of batch execution with the control system, interfacing with operators, and storing batch activity. These concepts are further described below. Batch Management functionality is achieved through the Batch Manager, Batch Scheduler, and Batch Display programs. The final result is a flexible, reliable, and intuitive approach to the management of a batch process.

Scheduling
The Batch Manager scheduling capability is that of dispatching batches that are ready s to run to plant floor operators. Scheduling involves the manual entry of the batch identification, master recipe, batch size, and Train (Process Line) into the Batch Scheduler. Once entered, the batch can be initialized.

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 equipment s requirements are satisfied by the Train, and verifying that the Process Model database is compatible with the recipe.

Batch and Unit Management


Batch Manager directs and supervises the execution of each batch. Batch Manager interprets recipes and enables the control system. Based on the recipe procedure, s blocks of control software referred to as phase blocks, are signalled for execution by Batch Manager. Phase block control logic, located in the control system, is responsible for controlling the process. Prior to enabling 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 programs which provide 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 coordinates 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 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.

Welcome to InBatch

1-9

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, and equipment used to produce the associated batch.

Batch Reports
InBatch uses Seagate Crystal Reports Professional for report development. This is a very flexible and open approach and allows you to easily build custom reports. InBatch also includes a set of predefined reports. Historical Reports are available during runtime. They be configured to trigger automatically during batch execution or at the end of a batch.

1-10

Chapter 1

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 ERP and Advanced Planning Systems, allowing InBatch to be a key link in successful supply chain management initiatives.

Managing InBatch Configurations


When the InBatch Server is installed, the folder structure shown is created. You should never modify this structure except for one notable exception; the configuration folder. The InBatch configuration that you create is located in the /FactorySuite/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.

Welcome to InBatch

1-11

InBatch Programs
The following section summarizes the programs that are available from 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) Provides the capability for a user to create a process model database. Only one Process Modeling Editor can run in a system at a time.

Tag Linker Editor (TagLinker)


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

Train Editor (TrainEdit)


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

Materials Editor (MaterialEdit)


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

Report Editor (ReportEdit)


(Optional) The Report Editor is used to create, edit, and print report configurations.

1-12

Chapter 1

Process Log Editor (LogEdit)


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

Security Editor (SecEdit)


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

Welcome to InBatch

1-13

Runtime Programs
The following runtime programs are used by the batch system during batch execution.

Environment Manager (EnvMngr)


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

Environment Display (EnvDspl)


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

Unilink Manager (UnilinkMngr)


(Required) Manages inter-process communications between all of the batch system applications.

InBatch Client (IBCli)


(Required for Runtime) Runtime client application which allows InBatch to access tag data from SuiteLink and DDE Servers.

Memory Tag Manager (MemTagMngr)


(Required) The Memory Tag Manager is responsible for generating all of the tags configured as InBatch Memory Tags in the Tag Linker application.

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

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.

1-14

Chapter 1

Batch Manager (BatchMngr)


(Required) 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 Manager, and triggers reports.

Batch Scheduler (BatchSched)


(Optional) 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 of the runtime information concerning the execution of a single batch. Multiple Batch Displays can run in a system.

Report Manager (ReportMngr)


(Optional) The Report Manager interfaces with the Batch Manager for report triggers. In addition, the Report Manager will retrieve historical data from the Historical Database. Only one Report Manager can be 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 computers and/or controllers defined in the system.

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.

Welcome to InBatch

1-15

Utility Programs
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 the user to interact with the security system from the command line in order to change a user password. The s Change Password utility is part of the security system.

Tag View (TagView)


(Optional) The Tag View application permits monitoring and changing any of the InBatch equipment or TIM tags.

1-16

Chapter 1

InBatch Configuration Architecture


ModelEdit TrainEdit MaterialEdit RecipeEdit ReportEdit

CfgModelDB

MaterialDB

RecipeDB

ReportDB

TagLinker

EnvEdit

SecEdit

LogEdit

LinkDB Imp/Exp

CfgLinkDB

CfgTIMDB

DBLoad Files

EnvDB

SecurityDB

LogDB

Welcome to InBatch

1-17

InBatch Runtime Architecture


RecipeEdit MaterialEdit EnvMngr EnvDB

Lock Manager (lm_tcp) RecipeDB MaterialDB BatchDB .BatchWR

BatchSched (OCXBatch) InfoMngr BatchDspl (OCXBatch, SFCOCX) TIMBatch TIMSec TIMFunc TrainEdit ModelDB UnilinkMngr SysTagMngr LogDB BatchMngr LogMngr

InSQL

SQLServer

IBHist

SimMngr

IBCli LinkDB

IBServ TIMDB

WindowMaker/Viewer IO Server InControl SFC ActiveX Object Batch ActiveX Object InBatch Wizards InBatch Tag Alarm/Event and Script Browser Interface (.dlls) Functions Server

2-1

C H A P T E R

Installation and Administration

This section describes how to install and administer your InBatch components. The FactorySuite CD ROMs contain all of the software that you will need for all of your batch server, batch client, batch historian (Microsoft SQL Server), and reporting (Seagate Crystal Reports Professional) requirements.

Contents
n n n n n

InBatch Installation Options Configuring ODBC for InBatch History Backing Up InBatch Databases InBatch Database Conversions InBatch History Database Conversions

2-2

Chapter 2

InBatch Installation Options


All InBatch installations are started from the FactorySuite Master Installation Program on the FactorySuite CD ROM. During the installation, you will choose options from the InBatch Installation Options window.

InBatch Server - includes all of the configuration and runtime applications required to store and manage all batch-related data. InBatch Client Options: InBatch Development Client is made up of the batch configuration editors that are used to define the batch production process. This includes modeling, materials, recipes, reports, security, and process logging. InBatch Runtime Client - includes the applications used by the plant floor operator to interact with the batch process in real-time. This includes InBatch scheduling, monitoring, control, and reporting applications. The InBatch Runtime Client includes components (e.g. Batch Wizards) that make InTouch batch aware. Seagate Crystal Reports Professional - third party reporting tool used to develop and execute batch reports. SQL Server creates and configures SQL Server databases for historical batch information.

Note If you are installing any of the options and are implementing Redundancy, please see Chapter 22, Redundancy, of this User Guide. s

Installation and Administration

2-3

Before Installing Components


Before installing any components: Close any applications that you are currently running (highly recommended). You must shutdown all InBatch applications that are running in your system. You must be logged onto the computer as an administrator or as a user with administrative privileges. Note During the installation, you may be required to upgrade and/or install other FactorySuite components before you can complete the installation. For more information on other FactorySuite components, see your FactorySuite Administrator Guide. s

2-4

Chapter 2

Installing an InBatch Server


To Install an InBatch Server with no other FactorySuite Components Installed: This section describes the installation of an InBatch server with no other FactorySuite components installed. During the installation, all of the FactorySuite common components that are required will be installed in addition to the InBatch Server software. 1. After starting the installation from the FactorySuite CD, you will see the Welcome window. Review the information shown. When you click Next, you will be prompted to enter a User Name and Company and then confirm your entries. When you click Next, you will be prompted to confirm the entries. If the information is correct, you will click Yes. You will be prompted to read release notes for all of the FactorySuite products. Wonderware recommends that you read the release note as they may contain important information about the installation of the FactorySuite components. Review the release notes as necessary, and then close the window. On the FS2000 Products Install window, select InBatch to begin the InBatch software installation. You will be prompted to read release notes for InBatch. Wonderware recommends that you read the release note as they may contain important information about the installation of InBatch. Review the release notes as necessary, and then close the window. To begin the InBatch Server installation, you will select the InBatch Server button on the InBatch Installation Options. After selecting this option, your system requirements will be tested. Since this the first installation of a FactorySuite component, the installation program will install all of the common components required. This will take several moments to complete. On the FS2000 Common Components Location window, you can accept the default Destination Folder or you can specify one as you require. After specifying a location for the installation click Next The installation program displays the Setup Not Complete window. The changes to your system will not talk effect until you restart your computer. When you click OK, your system will be forced to restart. When your system restarts, you will be prompted again to read release notes for InBatch. Review the release notes as necessary, and then close the window. On the InBatch Installation Options window, select InBatch Server and then on the Welcome window, click Next to continue with the installation.

2.

3. 4.

5.

6.

7.

8. 9.

10. Review the Wonderware Corporation License Agreement on the FactorySuite 2000 License Agreement, and click Yes to accept it. 11. On the FS2000 Common Components window you will enter the Domain/Machine name, a User Name and Password, and then click Next. All of the Windows NT Services for FactorySuite will then be installed on your system. 12. When you see the Welcome window for the Adobe Acrobat 3.0 Setup, click Next. Adobe Acrobat Reader is required so that you can use the online documentation provided with FactorySuite 2000.

Installation and Administration

2-5

13. Review the Software License Agreement window for Adobe Acrobat and then click Yes to accept it. 14. On the Choose Destination Location window, accept the default Destination Directory or specify a different location as required. When you click Next, the Adobe Acrobat Reader software will be installed. After the installation you will be prompted to review the Acrobat Reader 3.0 Readme file. Click Finish to complete the Acrobat setup. 15. On the InBatch Installation Location window, accept the default location or change it as required. 16. The Installation Options window allows you to install InBatch with redundancy. 17. If you are not installing InBatch with redundancy option, ensure that the Redundancy check box is disabled and then click Next. All of the required software for the InBatch server is installed. Note For more information on installing InBatch with redundancy, see Chapter 22, Redundancy, of this User Guide. s 18. The InBatch Setup Complete window will appear requiring you to restart your system. To Install or Reinstall an InBatch Server with FactorySuite Components Installed: This section provides an outline of the installation of an InBatch server on a system that has a previous installation of InBatch or other FactorySuite components. 1. After starting the installation from the FactorySuite CD, you will see the Welcome window. Review the information shown. When you click Next, you will be prompted to read release notes for all of the FactorySuite products. Wonderware recommends that you read the release note as they may contain important information about the installation of the FactorySuite components. Review the release notes as necessary, and then close the window. On the FS2000 Products Install window, select InBatch to begin the InBatch software installation. You will be prompted to read release notes for InBatch. Wonderware recommends that you read the release note as they may contain important information about the installation of InBatch. Review the release notes as necessary, and then close the window. To begin the InBatch Server installation, you will select the InBatch Server button on the InBatch Installation Options. After selecting this option, you will be prompted to delete the previous InBatch Installation. If you click Yes, all of the files associated with the previous installation will be removed from your system except for the Config_A directory. The files in this directory will NOT be overwritten when you reinstall InBatch. The Installation Options window allows you to install InBatch with redundancy. If you are not installing InBatch with redundancy option, ensure that the Redundancy check box is disabled and then click Next. All of the required software for the InBatch server is installed.

2. 3.

4.

5. 6.

2-6

Chapter 2 Note For more information on installing InBatch with redundancy, see Chapter 22, Redundancy, of this User Guide. s 7. After installing the InBatch software, the installation program displays the Setup Complete window. The changes to your system will not talk effect until you restart your computer. When you click OK, your system will be forced to restart.

Installation and Administration

2-7

Installing an InBatch Development Client


This section provides an outline of the installation of an InBatch Development Client. Before you can install a development client, you must map drives so that the InBatch Client can access the InBatch Server data. You MUST map these drives BEFORE you attempt the installation. You cannot install an InBatch Development Client on the same computer as the InBatch Server. Note During the installation, you may be required to upgrade and/or install other FactorySuite components before you can complete the installation. For more information on other FactorySuite components, see your FactorySuite Administrator Guide. s To Install an InBatch Development Client: 1. On the computer that contains your InBatch Server, share the folder that contains the batch server software and databases. For example, share the folder (C:\Program Files\FactorySuite\InBatch). Map a drive letter (e.g. F: ) on your client to the InBatch folder on the InBatch Server that you shared in the previous step. After starting the installation from the FactorySuite CD, you will see the Welcome window. Review the information shown. When you click Next, you will be prompted to read release notes for FactorySuite. Wonderware recommends that you read the release note as they may contain important information about the installation. Review the release notes as necessary, and then close the window. On the FS2000 Products Install window, select InBatch to begin the InBatch software installation. You will be prompted to read release notes for InBatch. Wonderware recommends that you read the release note as they may contain important information about the installation of InBatch. Review the release notes as necessary, and then close the window. To begin the InBatch Runtime Client installation, you will select the InBatch Client Options button on the InBatch Installation Options window. On the InBatch Client Options window, enable the InBatch Development Client radio button. When you click Next, the installation program will transfer the InBatch Development Client software to your computer. Use the InBatch Develop Client Configuration Data window to enter a Host Name, Remote Dir, and Local Dir described. Host Name Name of the remote computer on which the InBatch Server is running. Remote Dir The drive letter (on this computer) that is mapped to the folder of the remote computer where the InBatch Server is installed. This folder must be shared on the batch server and must be accessible to other computers on the network. To establish a connection from the InBatch client computer, map a network drive

2. 3.

4. 5.

6. 7.

8.

2-8

Chapter 2 letter to the InBatch Server directory using Windows Explorer. Enter this drive letter in the Remote Dir box. For example, share the folder (C:\Program Files\FactorySuite\InBatch) on the Batch Server. Map the drive letter F: on your client to the InBatch folder on the InBatch Server. Enter F: in the Remote Dir box. Local Dir The folder in which the InBatch client files will be installed. You can select the default directory that is shown or you may enter a different one. Note Remember to enter the IP network address of the batch server in the Hosts file of the InBatch Development Client. 9. After you have entered the configuration data, and click Next, you will see the Installation Options window. You can choose to install the redundancy option.

Note If you are installing any of the options and are implementing Redundancy, please see Chapter 22, Redundancy, of this User Guide. s 10. If you are not installing InBatch with the redundancy option, ensure that the Redundancy check box is disabled and then click Next to copy all of the required application files and program folders. 11. The Setup Complete window will appear and will require you to restart your system.

Installation and Administration

2-9

Installing an InBatch Runtime Client


This section provides an outline of the installation of an InBatch Runtime Client You must install InTouch prior to installing an InBatch Runtime Client. When you select the InBatch Runtime Client option, batch wizards and required extensions are copied to the directory in which InTouch is installed. During the installation you will have to enter the Host Name (network computer name) of the computer that contains the InBatch Server. Note During the installation, you may be required to upgrade and/or install other FactorySuite components before you can complete the installation. For more information on other FactorySuite components, see your FactorySuite Administrator Guide. s To Install an InBatch Runtime Client: 1. After starting the installation from the FactorySuite CD, you will see the Welcome window. Review the information shown. When you click Next, you will be prompted to read release notes for FactorySuite. Wonderware recommends that you read the release note as they may contain important information about the installation. Review the release notes as necessary, and then close the window. On the FS2000 Products Install window, select InBatch to begin the InBatch software installation. You will be prompted to read release notes for InBatch. Wonderware recommends that you read the release note as they may contain important information about the installation of InBatch. Review the release notes as necessary, and then close the window. To begin the InBatch Runtime Client installation, you will select the InBatch Client Options button on the InBatch Installation Options window. On the InBatch Client Options window, enable the InBatch Runtime Client radio button. When you click Next, the installation program will transfer the InBatch Runtime Client software to your computer. On the InBatch Runtime Client Configuration window, enter a Host Name. The Host Name is the computer that has the Batch Server. On the InBatch Installation Location window, you can accept the default location or change it as required. When you click Next, The Installation Options window will appear which allows you to install redundancy.

2. 3.

4. 5.

6. 7.

Note If you are installing any of the options and are implementing Redundancy, please see Chapter 22, Redundancy, of this User Guide. s 8. If you are not installing InBatch with the redundancy option, ensure that the Redundancy check box is disabled and then click Next to copy all of the required files. The Setup Complete window will appear and will require you to restart your system.

9.

2-10

Chapter 2

Installing Crystal Reports


Choosing the Crystal Reports Installation initiates a series of menu driven prompts that you will supply appropriate information to concerning your system. Carefully follow all of the prompts as you proceed with the installation. Specific instructions for Seagate Crystal Reports are not provided.

Installing SQL Server Databases


InBatch uses Microsoft SQL Server 7.0 for storing historical batch information. Before you can install the default SQL Server Databases, you must first install an InBatch Server, and must also have Wonderware InSQL installed. The SQL Server Database creation process may take ten or more minutes to complete once you initiate it. For more information on installing InSQL, see your Factory Suite Administrator s Guide. When you select the SQL Server option, the SQL Server Login window will appear.

1.

Select or enter a Server name.

Note The Server field must NOT be empty. If it is empty, the SQL Server Login will fail. 2. To log on to the SQL Server using the same user name and password that you logged on to Windows NT with, enable the Use Windows NT authentication radio button. Use of this option assumes that your SQL Server has been properly configured to accept the Windows NT login name and password. If you are not using Windows NT authentication for the login, enable the User SQL Server authentication radio button and then enter a valid Login Name and Password for the specified server. 3. 4. Click OK. The History Database Creation window will appear.

Installation and Administration

2-11

The History Database and Log File names that initially appear are default names. If you change the names, ensure that you use them as you continue to configure the History Database.

5.

Click Create Database. The BatchHistory database is created on the specified server. This may take several minutes. After the database is created, the Archive Database Creation window will appear. The Archive Database and Log File names that initially appear are default names. If you change the names, ensure that you use them as you continue to configure the Archive Database.

6.

Click Create Database. The BatchArchive database is created on the specified server. This may take several minutes.

2-12

Chapter 2

Configuring ODBC for InBatch History


Microsoft ODBC is an industry standard API that provides a universal data access interface to a variety of client/server databases. An application written for the ODBC API can be used to access any database management system, given the appropriate ODBC drivers. To use ODBC, three components are involved: the ODBC client, the ODBC database application, and the ODBC driver. An ODBC client is a desktop application that writes and/or retrieves information from a database. Examples are InTouch and InBatch Clients. An ODBC Database Management System (DBMS) is the application that resides on a computer used to store data for access by several users. Examples are Microsoft SQL Server, Oracle, Microsoft Access, InBatch Server, or any DBMS for which an ODBC driver exists. The ODBC driver facilitates communications between the ODBC client and the ODBC database application, and is loaded on the ODBC client computer. Any ODBC client can access any DBMS for which there is an ODBC driver. InBatch uses ODBC to transfer database information across networks between all of your InBatch server, InBatch clients and Microsoft SQL Server. You must install Wonderware InSQL and have installed the Batch History database before you can configure ODBC.

Installation and Administration

2-13

To Configure ODBC: 1. 2. 3. In Control Panel, double-click the ODBC Data Sources icon. The ODBC Data Source Administrator window appears. Select the System DSN tab. By default, the Batch History MDB 7.1 Microsoft Access driver and the Batch History Server 7.1 SQL Server driver are listed. If you changed the default entries, you will see them listed.

4.

Double-click the Batch History Server 7.1 Name.

2-14

Chapter 2 The Microsoft SQL Server DSN Configuration window appears.

5. 6. 7. 8.

By default, Batch History Server 7.1 is entered in the name field. If you have a different name assigned, it will be shown. Click the Server drop-down arrow, and select the name of the system that contains your SQL Server. Click Next. The Microsoft SQL Server DSN Configuration window appears.

9.

Enable the With SQL Server authentication using a login ID and password entered by the user radio button.

10. Enable the Connect to SQL Server to obtain default settings for the additional configuration options check box. 11. In the Login ID field, enter BatchAdminUser. 12. In the Password field, enter wildcatfalls (lower case with no spaces). 13. Click the Client Configuration button.

Installation and Administration The Edit Network Library Configuration window appears.

2-15

14. Enable TCP/IP and click OK. On the Microsoft SQL Server DSN Configuration window, click Next.

15. Enable the Change the default database to check box, and then choose BatchHistory. If you entered a different name for the database, select it. 16. Click Next. 17. When you have finished, click OK on the ODBC Data Source Administrator window.

2-16

Chapter 2

Backing Up InBatch 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. DBCOPY is located in <drive:>\ProgramFiles\FactorySuite\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: <path1>dbcopy [-L] <db_ name> <path2> \ <backup_db_name> Where:
<path1> is the location of the dbcopy utility -L (enables database locking. This is required.) <db_name> is the source database that you want to backup (e.g. ModelDB) <path2> is the destination location (e.g. \bak) <backup_db_name> is the backup database name (e.g. ModelDB)

Example:
dbcopy -L ModelDB bak\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.

Installation and Administration

2-17

InBatch Database Conversions


This section describes how to convert databases from InBatch 4.2 and InBatch 7.0 for use with InBatch 7.1 If you are upgrading from InBatch 4.2 to InBatch 7.1, you will use the CvtMaster utility to convert all of your databases (including the History Database). If you are upgrading from InBatch 7.0 to InBatch 7.1, you will also use Microsoft SQL Server Enterprise Manager. Before you perform any database conversions, review and follow these guidelines. 1. 2. 3. 4. 5. 6. 7. Backup all of your databases before you perform any conversions. Install your InBatch 7.1 Server software as described earlier in this section. Copy your old (version 4.2 or version 7.0) databases to a working directory on the version 7.1 batch server as described later in this section. Create the SQL Server 7.0 databases as described earlier in this section. Configure ODBC for History as described later in this section. Use the CvtMaster application to upgrade your version 4.2 or version 7.0 databases as described later in this section. If you are upgrading from InBatch 7.0 to InBatch 7.1, use the History Conversion utility as described later in this section.

2-18

Chapter 2

Upgrading to InBatch 7.1


The following table summarizes the databases that were included as part of InBatch 4.2 and InBatch 7.0 that are affected by the conversions required for InBatch 7.1. Database Environment Conversion Requirement Note InBatch 7.1 contains several Environment Parameters that are not a part of version 4.2 or version 7.0. You are not required to update the Environment Database. If you do upgrade the Environment Database, you will have to manually reenter all of your Environment settings. If you do not upgrade the Environment Database, you will not be able to use the additional parameters. No Conversion Required. Note You should perform a Validation from Model Editor after you upgrade your software and databases. No Conversion Required No Conversion Required Note You should perform and Export from Tag Linker after you upgrade your software and databases. No Conversion Required Conversion Required using CvtMaster No Conversion Required No Conversion Required. Conversion Required using CvtMaster Conversion Required. For InBatch 4.2 upgrades: Use CvtMaster. For InBatch 7.0 upgrades: Use CvtMaster and Enterprise Manager. See InBatch History Database Conversions later in this section.

Process Model

Tag Linker Tag Interface Management (TIM)

Materials Recipe Process Logger Report Security History

Installation and Administration

2-19

Using CvtMaster
Use the CvtMaster application to convert InBatch 4.2 and InBatch 7.0 databases for use with InBatch 7.1. Upgrading from InBatch 4.2 to InBatch 7.1 Use CvtMaster to convert your databases (including History Database) as described. Upgrading from InBatch 7.0 to InBatch 7.1 Use CvtMaster to convert your databases as described. You will then upgrade your History Database to version 7.1 as described in History Database Conversions later in this section.

Before Converting Databases


Proper conversion of databases using the CvtMaster utility requires that you follow these guidelines. Backup your configuration folders. All SQL Server databases and connections MUST be properly configured and accessible. Upgrade your InBatch Server software to version 7.1. Close all InBatch Runtime and Client applications. Perform an Exit and Shutdown from Environment Display.

2-20

Chapter 2

To Convert Databases: 1. Using Windows Explorer, create a temporary working folder in the <drive:>..\FactorySuite\InBatch\cfg\ folder on your batch server. For example: C:\FactorySuite\InBatch\cfg\temp_folder Note The folder MUST be created in the cfg folder. If it is not, the conversions can not be performed. All of the converted databases will be written to the <drive:>..\FactorySuite\InBatch\cfg\config_A folder. 2. 3. 4. Copy the databases that you want to convert (version 4.2 or 7.0) into the working folder that you created in the previous step. Using Windows Explorer, locate the <drive:>..\FactorySuite\InBatch\bin directory on your batch server. Double-click the CvtMaster application icon. The InBatch Database Conversion Utility appears.

If you are converting InBatch 4.2 Databases: 1. 2. 3. Enable the Version 4.2 radio button. Click the Configuration button and then select the folder that contains the configuration databases that you want to convert. If you want to convert History Databases, disable the Skip History Conversions check box. Enable the All 4.2 History DB if there are multiple databases (i.e. archival s databases) that you want to convert. The 4.2 History DB field will display the History Database. If there are multiple History Databases in the folder, they will not be displayed. 4. 5. Click the Convert button to begin the conversions. You will be prompted to update your environment database. You do not have to update your environment databases. However, if you do not, you will not be able to use the additional environment parameters that are included with InBatch 7.1. If you do want to update your environment database, you should first make a note of all of your previous settings, and then proceed with the update. The upgrade

Installation and Administration

2-21

creates a default environment database (version 7.1), it does not convert older versions of the database. During the conversion process, you will notice pop-up windows. In some cases, you may be required to answer questions and acknowledge these windows. If you are converting InBatch 7.0 Databases: 1. 2. 3. 4. 5. Enable the Version 7.0 radio button. Click the Configuration button and then select the folder that contains the configuration databases that you want to convert. Enable the Skip History Conversions check box. History databases for InBatch 7.0 are converted as described in History Database Conversions later in this section. Click the Convert button. You will be prompted to update your environment database. You do not have to update your environment databases. However, if you do not, you will not be able to use the additional environment parameters that are included with InBatch 7.1. If you do want to update your environment database, you should first make a note of all of your previous settings, and then proceed with the update. The upgrade creates a default environment database (version 7.1), it does not actually convert older versions of the database. During the conversion process, you will notice pop-up windows. In some cases, you may be required to answer questions and acknowledge these windows. 6. Upgrade your History Databases to version 7.1 as described in History Database Conversions later in this section.

2-22

Chapter 2

InBatch History Database Conversions


This section describes the steps necessary to upgrade your InBatch 7.0 History Databases for use with InBatch 7.1. To convert your History Databases from InBatch 7.0 to InBatch 7.1 you must use Microsoft SQL Server Enterprise Manager. Enterprise s Manager is available from the computer on which SQL Server 7.0 is installed. IMPORTANT InBatch 7.0 utilized SQL Server 6.5 while InBatch 7.1 uses SQL Server 7.0. In order to upgrade your History databases from SQL Server 6.5 to SQL Server 7.0, you MUST have both versions of SQL Server installed and running on different computers. Wonderware recommends that these conversions be performed by a network administrator with a strong knowledge of Microsoft SQL Server and using the Enterprise Manager. Note Before you perform the conversions, it is essential that you determine the size of your existing History Databases and ensure that your system has at least four times that amount of free hard disk space. If you do not have sufficient drive space, the conversions will fail. This section assumes that you have installed the required SQL Server tools and that you know the locations of your InBatch History and SQL Server Databases. To Convert History Databases from InBatch 7.0 to InBatch 7.1: 1. Start Microsoft SQL Server Enterprise Manager.

2.

On the Tools menu, select Data Transformation Services and then point to Import Data.

Installation and Administration 3. The DTS Import Wizard main window will appear.

2-23

4.

Click Next.

2-24

Chapter 2 5. Click the Source drop-down arrow and select Microsoft ODBC Driver for SQL Server.

6. 7.

Select the Server that contains the InBatch 7.0 History Database that you want to convert. Click the Database drop-down arrow, and select the database that you want to convert.

Note InBatch 7.0 databases names were typically named IBHistory. 8. 9. Enable the Use SQL Server authentication radio button, and enter the Username and Password as required. Click Next.

Installation and Administration

2-25

10. Click the Destination drop-down arrow and select Microsoft OLE DB Provider for SQL Server. 11. Select the Server that contains your InBatch 7.1 database. 12. Click the Database drop-down arrow, and select BatchHistory. This is the default name that was created when you installed your SQL Server database for the InBatch 7.1. 13. Click Next.

14. Enable Copy table(s ) from the source database. 15. Click Next.

2-26

Chapter 2

16. Enable all of the Source Table check boxes except for CodeTable. IMPORTANT! If you select CodeTable, errors will be generated when you attempt to process the conversion. 17. In the Source Table column, select InBatchAdmin, click the Destination Table drop-down arrow, and then select BatchAdmin.

Installation and Administration 18. In the Source Table Column, select the BatchIDLog table. 19. In the Transform column, click the ellipses button for BatchLogID.

2-27

InBatch 7.1 History Databases contain fields that are not found in InBatch 7.0. The purpose of this section is to mark these fields so that they are ignored when the conversion is initiated. 20. On the Column Mappings tab, select the Recipe_Type in the Destination column and set the Source to <ignore>. 21. Repeat the previous step for Recipe_State.

22. Ensure that each Source and Destination names (except for Recipe_Type and Recipe_State) match. 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.

2-28

Chapter 2 23. Click OK on the Columns Mapping and Transformations window and then click Next on the Select Source Tables window.

24. Enable the Run Immediately and Save DTS Package check boxes. 25. Click Next.

26. A default Name and Description are provided. You can modify these entries. 27. Enable the Use SQL Server authentication radio button and enter an appropriate Username and Password if required.

Installation and Administration 28. Click Next.

2-29

29. You can review the summary provided and make corrections to your configuration. 30. Click Finish.

31. The Executing DTS Package window will indicate the progress of your database conversions. 32. If you have carefully selected all of the SQL Server configuration parameters and table mappings, a message will displayed indicating that the conversion was successful. If there are errors, a descriptive error message will be displayed. If such an error occurs, carefully examine the results, and then attempt the conversion again.

3-1

C H A P T E R

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
n n n n n n n n

Overview Using Environment Display Starting Applications from Environment Display Using Environment Editor Adding Applications to the Environment Assigning Application Parameters User Defined (Other) Applications Using Environment Manager

3-2

Chapter 3

Overview
You can use Environment Editor to define the applications that run on an InBatch server. The Environment is configured by selecting the applications from a list of standard InBatch 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 InBatch 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 InBatch 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 InBatch Process Model database (CfgModelDB). This capability allows you to edit an off-line copy of the model while InBatch continues normal runtime operation. After you complete your changes to the model, you can shutdown the runtime system, update the configuration process model database with the runtime process model database, and then restart the system.

Environment Management System Architecture


Environment Editor Configuration Model Database Environment Database Configuration Link Database Configuration TIM Database Environment Display Environment Manager Runtime TIM Database InBatch GUI Applications InBatch System and Runtime Applications Runtime Link Database Runtime Model Database

Environment Management System

3-3

Using Environment Display


Environment Display is the graphical user interface between operators and the InBatch applications running in the system. Use the Environment Display for starting the InBatch applications, configuring the environment system and viewing the status of background applications. To start Environment Display: 1. On the Windows Start menu, click Programs, point to Wonderware FactorySuite, InBatch Server, and then point to Environment Display.

2.

The Environment Display window will appear.

Note When Environment Display is started, the Environment Manager, Lock Manager (lm_tcp) and Security Manager (SecMngr) applications are started in the background.

3-4

Chapter 3

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.

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

Environment Management System

3-5

File/Exit and Shutdown


Use the File/Exit and Shutdown menu to stop the Environment Display, Environment Manager, Security Manager, database Lock Manager (lm_tcp), all active InBatch applications (e.g. Model Editor, Recipe Editor) and all active runtime applications. To Exit and Shutdown InBatch: 1. 2. Click File and then Exit and Shutdown. 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 Windows NT with administration privileges, you willnot 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 InBatch Security System. For more information on configuring InBatch security, see Chapter 12, Security System.

3-6

Chapter 3

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.

To Update the Environment: 1. 2. 3. From the Environment Display file menu, select Update and then click Environment. The Environment Display message box will appear, prompting you to proceed with the update. 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. 2. From the Environment Display file menu, select Update and then click Runtime. The Environment Display warning message will appear, advising you to backup the runtime databases before you proceed.

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 on the message box to update the runtime databases.

Environment Management System

3-7

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. 2. From the Environment Display file menu, select Update and then click Runtime. The Environment Display warning message will appear, advising you to backup the runtime databases before you proceed.

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. 3. Click Yes to update the configuration databases.

3-8

Chapter 3

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

View/Status
Use the View/Status menu to display the System Application Status window. This window displays the current status of the background applications that were automatically started with the Environment Display. Each application listed in the window must be running in order to initiate any of the associated configuration and runtime applications. To View the Status of System Applications: 1. 2. From the Environment Display file menu, select View and then click Status. The System Application Status window appears.

The Database Manager entry refers to the database lock manager (lm_tcp). 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. 3. Click Close.

Environment Management System

3-9

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

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Environment Display. To View the Help Topics for Environment Display: 1. 2. From the Environment Display file menu, select Help and then click Help Topics. The Help Topics:InBatch window will appear.

Help/About Environment Display


Use the Help./About command to view Version and FactorySuite Licensing information. To View Help About Topics for Environment Display: 1. 2. 3. From the Environment Display file menu, select Help and then click Help About Environment Display. The About InBatch Environment Display window will appear. Click OK to close the About InBatch Environment Display window.

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

Note Using the License utility is beyond the scope of this User Guide. s For more information on Factory Suite Licensing, see your FactorySuite Administrator Guide. s

3-10

Chapter 3

Starting Applications from Environment Display


Use Environment Display to configure the start up of GUI-based and runtime applications.

Application Icons
Configuration and runtime applications that a have a user interface, 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 server is not started, an error message will be displayed. s

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. 2. On the Environment Display, click the Runtime button. The Runtime Application Display appears.

3.

Click Start All.

Environment Management System 4.

3-11

All of the runtime applications are started in the same order in which they are listed. When an application is started, a message indicating the application status is s 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. 2. 3. 4. On the Environment Display, click the Runtime button. The Runtime Application Display appears. Click Stop All. All of the runtime applications are stopped in the same order in which they were started. When an application is stopped, a message indicating the application status is s 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 an interdependent client application running. To Start a Single Runtime Application: 1. 2. 3. 4. On the Environment Display, click the Runtime button. The Runtime Application Display appears. From the Application list, select the application that you want to start. Click Start App. When the application is started, a message indicating the application status is s 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. 2. 5. 3. On the Environment Display, click the Runtime button. The Runtime Application Display appears. From the Application list, select the application that you want to start. Click Stop App. When the application is stopped, a message indicating the application status is s 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.

3-12

Chapter 3

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. 2. On the Environment Display window, click the Environment button. The Environment Editor window will appear.

Environment Management System

3-13

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

File/Exit
Use the File/Exit menu to close Environment Editor. To Close Environment Editor: On the Environment Editor menu bar, click File and then select Exit.

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

Edit/System Parms
Use the Edit/System Parms menu to modify the parameter values assigned to background service applications (e.g. Lock Manager and Redundancy Manager) that are started prior to all applications. To Edit System Parameters: 1. 2. On the Environment Editor menu bar, click Edit and then select System Parms. The Edit System Parameters window will appear.

3.

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

3-14

Chapter 3 4. In the Value field, enter the required value in accordance with the table below. Description The maximum number of database files under lock manager control. Default is 256. The maximum size of the file lock request queue. Default is 128. The maximum number of users lock manager may control. Default is 32. 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) 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.

Parameter Max locked files Max locks in queue Max users Redundancy Time-out

User Id Time-out

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.

Environment Management System

3-15

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

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Environment Editor. To View Help Topics for Environment Editor: 1. 2. From the Environment Editor file menu, select Help and then click Help Topics. The Help Topics:InBatch window will appear.

Help/About Environment Editor


Use the Help/About command to view Version and FactorySuite Licensing information for InBatch. To View About Help Topics for Environment Editor: 1. 2. 3. From the Environment Editor file menu, select Help and then click Help About Environment Editor. The About Environment Editor window will appear. Click OK to close the About Environment Editor window.

To View FactorySuite Licensing Information: 1. 2. 3. 4. From the Environment Display file menu, select Help and then click Help About Environment Editor. The About Environment Display window will appear. Click View License. The License Utility window will appear.

Note Using the License utility is beyond the scope of this User Guide. s For more information on Factory Suite Licensing, see your FactorySuite Administrator Guide. s

3-16

Chapter 3

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. 2. On the Environment Editor window, click the Add button. The Add Application window will appear.

The Applications list contains all of the InBatch and user defined applications that can be added.

Environment Management System 3. 4. In the Applications list, select the item that you want to add.

3-17

Click Apply to add your selection to the Environment Editor Application list. s 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. 2. On the Environment Editor window, click the Add button. The Add Application window will appear.

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

3-18

Chapter 3 6. The default instance name will appear in the Environment Editor Application list and in the Instance name field.

7. 8. 9.

In the Instance field, enter an appropriate name for the application. Click Change. The new Instance name will appear in the Instance list of the Environment Editor.

Environment Management System

3-19

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.

2.

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

3.

The Assign Application Parameters window will appear.

3-20

Chapter 3 4. 5. From the Parameters list, select the appropriate parameter(s). 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 later in this section.

4.

Click Change to update the value.

Environment Management System

3-21

Application Parameter Descriptions


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

Simulation Manager (SimMngr)


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

Batch Manager (BatchMngr)


Parameters Restarting Batches Phase/Batch Status Init Status Tags Description All batches are resumed in their previous state upon system restart. Batch Manager controls all active phases upon a single batch phase becoming held or restarted. The Batch Manager sets all unit and segment status tags to the default value defined in the Process Model. Material consumption uses LIFO instead of the default FIFO method. Enables the use of Unit State System tags by Batch Manager. Enables the use of COM for Batch Hooks in Batch Manager. The project and class names used in the creation of the server are required for this parameter. Sets Batch Server Unique Identifier. Allows multiple batch servers to use a single history database. (Use only the characters A thru Z to define the ID) Disables loading and saving of warm restart information. Batches will be lost when application stops. 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. 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.

LIFO Materials Unit States COM Interface

Server Node ID

Disable Warm Restart

Parm Time (msecs)

Parm Timeout (secs)

3-22

Chapter 3

Batch Display (BatchDspl)


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

InBatch Client (IBCli)


Parameters Access Name Backup Node Description Access name for which IBCli will obtain values for the assigned tags Secondary workstation from which IBCli will look for tag values if there is a communications failure. Secondary application from which IBCli will look for tag values if there is a communications failure. Secondary topic from which IBCli will look for tag values if there is a communications failure. Enables extensive messaging for IBCli information and application errors. Time after which IBCli will attempt to reestablish communications with the I/O server. Time after which an IBCli connect to the I/O server will time-out. Time after which an IBCli request to the I/O server will time-out. Time after which an IBCli poke to the I/O server will time-out. Time after which an IBCli advise to the I/O server will time-out. Time after which IBCli will ping the I/O server to detect a connection loss. Use tag name instead of the defined item name. Connect to simulation I/O server instead of real I/O server. Disable end-of-phase timestamp feature for this topic. Performs an Advise All on initialization. Allow faster writes by not waiting for write confirmation.

Backup App

Backup Topic Verbose Mode Recon Time (sec) Connect Time (sec) Request Time (sec) Poke Time (sec) Advise Time (sec) Ping Time (sec) Force Use Tag Name Simulation Disable Timestamp Advise All No Poke Acks

Process Log Manager (LogMngr)


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

Environment Management System

3-23

InBatch Function Server (IBFServ)


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

InBatch Server (IBServ)


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

3-24

Chapter 3

Deleting Application Parameters


To Delete Application Parameters: 1. From Environment Editor, select an application from the Application list.

2. 3.

Click the Delete button. The Application Parameter is no longer assigned to the application.

Environment Management System

3-25

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 feature 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. 2. On the Environment Editor window, click the Add button. The Add Applications window will appear.

6. 7.

Click Other. The User Defined Applications window will appear.

3-26

Chapter 3

8.

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

Type Editor Single Runtime Multiple Runtime

Description Designates the application as a configuration application within the Environment system. Designates the application as a runtime application that can only be added once to the Environment system. Designates the application as a runtime application that can be added more than once to the Environment system.

The Client Of and Server To selections define the list item location in the Add Applications list. The selection of this location is important since the custom application will also appear in the Runtime Applications Display. The order that the applications are listed is essential for proper batch system operation. Editors do not appear in the Runtime Application Display and are placed at the end of the Applications list in the Add Applications window.

Environment Management System

3-27

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.

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.

3-28

Chapter 3

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 a shut-down and exit from InBatch, Environment Manager will be restarted when Environment Display is initiated.

4-1

C H A P T E R

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 process, and achieving the desired level of flexibility. s Obtaining accurate Process and Instrumentation Diagrams (P&IDs) of the process before configuring the process model is very important. You will use the P&IDs to determine the components and capabilities of the process.

Contents
n n n n n n n n n n n n n n n n n n n n

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 Edit Units Tab Edit Processes Tab Edit Connections Tab Edit Transfers Tab Edit Segments Tab Edit Equipment Status Tab Additional Phase Configuration

4-2

Chapter 4

Overview
Batch processing facilities are typically comprised of a variety of vessels, and the equipment necessary to move materials and products between the vessels. Use the Process Modeling Editor to configure a batch control system in a manner that facilitates recipe creation and the execution of recipes within batches. 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. 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. A connection is a group of equipment that transfers product between units. Examples of connections are pumps, valves, etc. Some plants have single units with connections to multiple units while others have multiple connections between two units. 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. A connectionless model approach also provides complete material tracking.

Process Modeling

4-3

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 requirements A phase can be s 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. 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 later in this section. The hybrid approach most beneficial advantage is that it can minimize the overall s number of connections and associated tags in the model, while preserving all of the connections for paths that are constant.

4-4

Chapter 4

Model Approach Comparisons


This table summarizes the benefits, liabilities and recommended usage for the comprehensive, connectionless and hybrid model approaches. Approach Comprehensive Model Benefits 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 Complete material genealogy Eliminates many connections and connection tags for flexible paths Liabilities Possibility of many connections and associated connection tags for flexible paths Usage Totally Fixed Process

Connectionless Model

Totally Requires complementary process Flexible phases in recipes for all material Process 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 Liabilities of comprehensive and connectionless models are present for areas defined with and without connections Partially Fixed and Partially Flexible Process

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

Process Modeling

4-5

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. Modeling Steps 1. Define units 2. 3. 4. 5. 6. 7. 8. 9. Group units into process classes and define attributes Define all connections between units Define all fixed connections between units Group connections into transfer classes Define the phases of each process class Define the phases of each transfer class Define the segments and assign to connections Define the possible equipment statuses that units and/or segments can assume X X X Optional X X X X X Comprehensive Connectionless X X X X X X X X Optional X X X Hybrid X X

10. Define Tags for transferring the specific phase data points between the batch and control systems 11. Develop phase logic

4-6

Chapter 4

Units
A unit is a group of processing equipment that performs one of the following. 1. 2. The unit processes materials; examples are reactors, mixers, blenders, and retorts. The unit holds materials; examples are manual add stations, hold tanks, bulk storage vessels, and filling stations.

Units can have unique attributes, such as capacity or material of construction, which define the processing capabilities or limitations of the unit.

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 5 blenders, each of which has the same processing capability. The only difference between the blenders might be capacity and blending efficiency. All 5 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.

Process Modeling

4-7

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.

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.

4-8

Chapter 4

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 two types of process phases and three types of transfer phases. Process phases are classified as either automatic or manual, and transfer phases are classified as either automatic, semi-automatic, or manual. 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 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. Semi-automatic phases 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. Class BulkBlnd DrumBlnd Blenders BlndCook Cookers Class Type Transfer Transfer Process Transfer Process Phase BulkAdd DrumAdd Blend Discharg AgitOn AgitOff Heat Cool Soak Sample Discharg Phase Type Automatic Semi-automatic Automatic Automatic Automatic Automatic Automatic Automatic Automatic Manual Automatic

CookHold

Transfer

Process Modeling

4-9

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 semiautomatic. 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.
Formula Parameters Interlocks

Control Buttons

Start Hold Phase Control Restart Abort Reset

Ready Run Held

Phase Logic

Phase Status

Done Interlocked Aborted

Control Buttons

Control Outputs

This diagram shows the structured interface between phase logic and the batch management system.

4-10

Chapter 4

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.

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 Chapter 14, Phase Logic Development and Testing.

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.

Process Modeling

4-11

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. Parameter Type Formula Input Elements Target Actual High Deviation (%) Low Deviation (%) Lot Code Preact Lot Code Material Id Target Actual High Deviation (%) Low Deviation (%) High Limit Low Limit Target Actual Material Id Start Hold Restart Abort Reset Ready Run Held Done Aborted Interlocked Application Specific Button #1 Button #2

Process Variable

Output

Phase Control

Phase Status

Interlocks Control Buttons

4-12

Chapter 4

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.

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.

Process Modeling

4-13

Tag Types and Usage


Tag Type Use Value from Control System Comments Unit Process Modeling: Transfer and Process Phase Interlocks All SCADA Applications Process Modeling: Process Phase Control Buttons Process Phase Control Bits Process Phase Status Bits Process Phase Formula Parameters Recipes: Transition Logic Process Modeling: Transfer and Process Phase Interlocks All SCADA Applications Process Modeling: Transfer Phase Control Buttons Transfer Phase Control Bits Transfer Phase Status Bits Transfer Phase Formula Parameters Recipes: Transition Logic Process Modeling: Process Phase Formula Parameters Transfer Phase Formula Parameters Recipes: Transition Logic Yes

Process

No

Note 1: For each process tag, Modeling Editor automatically creates one unit tag for each unit in the process class. Note 2: For each process class, Modeling Editor automatically creates a set of System Class Tags. Note 3: For each unit in the process class, Modeling Editor automatically creates a set of System Unit Tags.

Connection

Yes

Transfer

No

Note 1: For each transfer tag, Modeling Editor automatically creates one connection tag for each connection in the transfer.

System Class

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. Note 1: System Unit tags are automatically created for each unit assigned to a process class. Note 1: System Connection tags are automatically created for each connection assigned to a transfer class. Note 1: System Segment tags are automatically created for each defined segment.

System Unit All SCADA Applications

No

System Connection System Segment

All SCADA Applications

No

All SCADA Applications

No

4-14

Chapter 4

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

Process Tags
Process tags define all of the data points that are common to all of the units associated with a process class. Each automatically defined process tag generates a set of unit tags for each member in the process class. For example, if there are three units in a process class and one process tag is entered, three unit tags are created: one for each unit in the process class. Each of these unit tags may correspond to a specific address in a control system. Process tags are indirectly associated to the control system by way of the unit tags that they create. Process tags have an abstract nature; that is, they are not directly associated with the control system. They represent a set of unit tags. Process tags become unit tags when a batch is executed in a process. 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.

Process Modeling

4-15

System Tags
System tags are automatically created by the Process Modeling 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.

Description
Unit Information

System Class Tagname


Allocation

Data/Information
Possible Values: Ready Allocated Assigned Batch ID of batch within unit. Possible Values: Automatic Semi-Auto Manual Assigned batch size of batch within unit. Possible Values: Open Ready Run Held Aborting Aborted Done Assigned Campaign ID of batch within unit. ID of last recipe produced within unit. Assigned Lot ID of batch within unit. ID of recipe assigned to batch within unit. Name of recipe assigned to batch within unit. Current status of unit. Possible values are defined by user in the Equipment Status tab within the process model editor. Current state of unit. Possible values are Ready, Run, Held, and Alarm.

Batch_ID Batch_Mode

Batch_Size Batch_Status

Campaign_ID Last_Recipe_ID Lot_ID Recipe_ID Recipe_Name Status State

4-16

Chapter 4

Description
Connection Information

System Class Tagname


Allocation

Data/Information
Possible Values: Ready Allocated Possible Values: Available Unavailable Assigned Batch ID of batch within connection. Assigned Campaign ID of batch within connection. ID of last recipe produced within connection. Assigned Lot ID of batch within connection. Possible Values: Ready Allocated Assigned Batch ID of batch within segment. Assigned Campaign ID of batch within segment. ID of last recipe produced within segment. Assigned Lot ID of batch within segment. Current status of segment. Possible values are defined by user in the Equipment Status tab within the process model editor.

Availability

Batch_ID Campaign_ID Last_Recipe_ID Lot_ID Segment Information Allocation

Batch_ID Campaign_ID Last_Recipe_ID Lot_ID Status

Process Modeling

4-17

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. 2. 3. 4. 5. 6. Any data point that is common to all units in a process class can be entered as a process tag. Any data point that is common to all connections in a transfer class can be entered as a transfer tag. Any data point that is not common to all units in a process class must be entered as a unit tag. Any data point that is not common to all connections in a transfer class must be entered as a connection tag. Any data point that is to be used in recipe transition logic must be entered as either a process or transfer tag. Any critical phase logic data point must be entered as a process or transfer tag. The critical phase logic data points are required by the batch management system to control, monitor, and configure a phase based on a recipe requirements. The s following table lists the critical phase logic data points. Item
Phase Control Bits

Data Point
Start Hold Restart Abort Reset Ready Run Held Done Interlocked Aborted Control Button #1 Control Button #2 Target Actual High Deviation (%) Low Deviation (%) High Limit Low Limit Target Actual High Deviation (%) Low Deviation (%) Preact Lot Code Material ID Target Actual Material ID

Phase Status Bits

Control Buttons Formula Parameter Elements - Process Variable

Formula Parameter Elements - Input

Formula Parameter Elements - Output

4-18

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, Element, and Attribute.

Tagname Structure
Name Unit or Connection Name Process or Transfer Class Name Phase Name Parameter Name Element Name Attribute Name Number of Characters 8 8 8 5 16 Comments

InTouch .Field

Valid Characters for Tagnames


You can use the following characters in a tagname. A through Z, a through z, 0 through 9, !,@,?,#,$,%,_ and &

Invalid Characters for Tagnames


The following characters are not valid as part of a tagname. - (dash), (space), and . (period)

Delimiters
Item Between Tagnames Before Attribute Delimiter - (dash) . (period)

Process Modeling

4-19

Automatically Generated Tagnames


Tag Classification Parameter Name
not used

Automatically Appended Element Name


ALLOC BATCH BATMD BATST BATSZ CAMPN LASTR LOTID RECID RECNM USTAT USTATE ALLOC AVAIL BATCH CAMPN LASTR LOTID ALLOC BATCH CAMPN LASTR LOTID USTAT START HOLD RSTRT ABORT RESET READY HELD RUN DONE ABRTD INTLK UHOLD URSTR UABRT ACT TAR HIDEV LODEV HILMT LOLMT PRACT LOTCD MATID

Description

Unit System Tags

Connection System Tags

not used

Segment System Tags

not used

Phase Control Tags

CS

Phase Status Tags

CS

Unit Control Tags

not used

Phase Parameter Tags

Parameter Name

Unit Allocation Batch ID Batch Mode Batch Status Batch Size Campaign ID Last Recipe ID Lot ID Recipe ID Recipe Name Unit Status Unit State Connection Allocation Connection Availability Batch ID Campaign ID Last Recipe ID Lot ID Segment Allocation Batch ID Campaign ID Last Recipe ID Lot ID Segment Status Start Hold Restart Abort Reset Ready Held Run Done Aborted Interlocked Unit Hold Unit Restart Unit Abort Actual Target High Deviation Low Deviation High Limit Low Limit Preact Lot Code Material ID

4-20

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, or string. 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 contain a 16-character (max) alphanumeric value.

Access Mode
Access Mode defines whether a tag is Read-only or Read/Write. A check box is used to select the access mode for a tag.

Process Modeling

4-21

Process Modeling Summary


Trains
A group of units on which a recipe is executed.

Units
Equipment that can hold and/or process materials.

Connections
Each connection consists of a source unit and a destination unit.

Equipment Status
User defined state of a unit or segment.

Process Classes
A group of units that have the same processing capability or function.

Transfer Classes
A group of connections where the source units are in same class and the destination units are in the same class.

Segments
A division of a connection.

Process Tags
Tags that define process phase control, status, control button, and formula parameters for a process class. Process tags are unit independent.

Process Capabilities
Capabilities defined by phases and parameters.

Transfer Capabilities
Capabilities defined by phases and parameters.

Transfer Tags
Tags that define transfer phase control, status, control button, and formula parameters for a transfer. Transfer tags are connection independent.

Unit Tags
Unit tags are created for each unit when a process tag is entered. All other data points associated with a unit are defined as unit tags.

Segment Tags
Segment tags are created for each segment defined in the process model.

Connection Tags
Connection tags are created for each connection when a transfer tag is entered. All other data points associated with a connection are defined as connection tags.

Control System
Unit and Connection Tags are linked to control system addresses.

4-22

Chapter 4

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.

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.

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 Modeling

4-23

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 6, Recipe Editor.

Batch Manager Resolves Process Tags into Unit Tags


Process tags and process classes are of an abstract nature. This means that they are not associated with a specific piece of process equipment. Rather, their association with actual equipment occurs when a batch is defined, scheduled and then executed. Batches are defined by specifying the following: 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.

4-24

Chapter 4

Example Plant
Bulk Tank 1 Bulk Tank 2 Bulk Tank 3

Water Supply Manual Add Station #1 Manual Add Station #2

Reactor A

Condenser #1

Reactor B

Condenser #2

Liquid/Oil Separator #1

Liquid/Oil Separator #2

Mix Tank #1

Mix Tank #2

Receiving Tank #1

Receiving Tank #2

Fill Station # 1

Fill Station #2

Example Plant

Process Modeling

4-25

Example Phase Logic


Reactor A Heat Phase Logic
Interlocks ]\[ Control Button ]\[ 140 110

]\[

141

Start Hold Phase Control Restart Abort Reset

][ ][ ][ ][ ][

100 101 101 103 104

150 Formula Parameters 151 Target Temp 170 Actual Temp 171 181 180 Actual Rate 154 155 Target Rate 152 153

() () () () () ()

Ready Run Held Done Interlocked Aborted Phase Status

Control Inputs ]

190

195

( ) Control Outputs

Reactor A Heat Phase Logic


Interlocks ]\[ Control Button ]\[ 240 210

]\[

241

Start Hold Phase Control Restart Abort Reset

][ ][ ][ ][ ][

200 201 202 203 204

250 Formula Parameters 251 Target Temp 270 Actual Temp 271 281 280 253 Actual Rate 254 255 Target Rate 252

() () () () () ()

Ready Run Held Done Interlocked Aborted Phase Status

Control Inputs

][ [

290

295 291

( ) Control Outputs

Pressure Probe

4-26

Chapter 4

Process Tag Reactors-Heat-CS-START Reactors-Heat-CS-HOLD Reactors-Heat-CS-RSTRT Reactors-Heat-CS-ABORT Reactors-Heat-CS-RESET Reactors-Heat-CS-READY Reactors-Heat-CS-RUN Reactors-Heat-CS-HELD Reactors-Heat-CS-DONE Reactors-Heat-CS-INTLK Reactors-Heat-CS-ABORT Reactors-Heat-Temp-TAR Reactors-Heat-Temp-ACT Reactors-Heat-Rate-TAR Reactors-Heat-Rate-ACT Reactors-Heat-CB-One Reactors-Heat-Ilock-One Reactors-Heat-Ilock-Two Reactors-Heat-Input-One Reactors-Heat-Output-One

Unit Tag ReactorA-Heat-CS-START ReactorB-Heat-CS-START ReactorA-Heat-CS-HOLD ReactorB-Heat-CS-HOLD ReactorA-Heat-CS-RSTRT ReactorB-Heat-CS-RSTRT ReactorA-Heat-CS-ABORT ReactorB-Heat-CS-ABORT ReactorA-Heat-CS-RESET ReactorB-Heat-CS-RESET ReactorA-Heat-CS-READY ReactorB-Heat-CS-READY ReactorA-Heat-CS-RUN ReactorB-Heat-CS-RUN ReactorA-Heat-CS-HELD ReactorB-Heat-CS-HELD ReactorA-Heat-CS-DONE ReactorB-Heat-CS-DONE ReactorA-Heat-CS-INTLK ReactorB-Heat-CS-INTLK ReactorA-Heat-CS-ABORT ReactorB-Heat-CS-ABORT ReactorA-Heat-Temp-TAR ReactorB-Heat-Temp-TAR ReactorA-Heat-Temp-ACT ReactorB-Heat-Temp-ACT ReactorA-Heat-Rate-TAR ReactorB-Heat-Rate-TAR ReactorA-Heat-Rate-ACT ReactorB-Heat-Rate-ACT ReactorA-Heat-CB-One ReactorB-Heat-CB-One ReactorA-Heat-Ilock-One ReactorB-Heat-Ilock-One ReactorA-Heat-Ilock-Two ReactorB-Heat-Ilock-Two ReactorA-Heat-Input-One ReactorB-Heat-Input-One ReactorA-Heat-Output-One ReactorB-Heat-Output-One

Control System Address 100 200 101 201 102 202 103 203 104 204 150 250 151 251 152 252 153 253 154 254 155 255 170 270 171 271 180 280 181 281 110 210 140 240 141 241 190 290 195 295

Process Modeling

4-27

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 responsibility to accurately define the process s 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 (ModelDB). 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.

Process Modeling Editor

Runtime Batch Management System

Environment Display
Configuration Model Database Runtime Model Database

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

4-28

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. Wonderware always recommends that you always back-up your work before making changes. The following table describes the effect of deleting model components. Element Deleted Unit Related Deletions 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 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 All connection tags associated with the connection All connection tags associated with the Transfer Class to which the connection is assigned All transfer tags associated with the transfer All connection tags resulting from the transfer tags All transfer phases associated with the class

Process Class

Connection

Transfer Class

Note You cannot delete a Unit that is assigned to a train until you remove the unit from each train. When you delete a unit that is assigned to a train(s), the train names in which the unit has been assigned will be displayed in the Wonderware Logger. For more information on creating trains, see Chapter 7, Train Editor.

Process Modeling

4-29

Using Model Editor


Use Process Modeling Editor to define and edit your process model. To start Model Editor: 1. On Environment Display, double-click the ModelEdit icon.

Note Model Editor will not start if you are running Train Editor or Tag Linker. You cannot start more than one instance of Model Editor. 2. The Process Modeling Editor window will appear.

4-30

Chapter 4

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. To Validate the Process Model: 1. 2. Click File on the Process Modeling Editor and then select Validate. The Validate window will appear.

If the validation is successful, the Validation window 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. Note In Process Model databases that are converted from InBatch 7.0 to InBatch 7.1, the first time the validate option is selected, new unit state tags will be created for each unit assigned to a process class with the Use Unit Control/State Tags option enabled. 3. Click Close to close the Validate window.

Process Modeling

4-31

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. 2. Click File on the Process Modeling Editor and then select Print. The Print window will appear.

3. 4. 5. 6. 7. 8.

In the Select Report list box, select one or more reports. If you want to select a different printer than the one listed, click the Printer Name drop down box and specify a printer. If you want to change any printer settings, click the Properties button and enter your changes. 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. If you want to print multiple copies of the report(s), enter the quantity in the Number of Copies combo-box. Click OK to print the report(s).

4-32

Chapter 4

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. 2. Click File on the Process Modeling Editor and then select Print Preview. The Select Reports window will appear.

3. 4.

Select one or more reports from the list box. Click OK. If you want to close the Select Reports window without viewing, click Cancel.

5.

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

Process Modeling

4-33

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

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

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

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

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

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

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

4-34

Chapter 4

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

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Process Modeling Editor. To View the Help Topics for the Process Modeling Editor: 1. 2. From the Process Modeling Editor file menu, select Help and then click Help Topics. The Help Topics: InBatch Help window will appear.

Help/About Process Modeling


This command is used to view the Version and FactorySuite Licensing information for InBatch. To View Help About Topics for Process Modeling: 1. 2. 3. From the Process Modeling Editor file menu, select Help and then click Help About Process Modeling. The About Model Editor window will appear. Click OK to close the About InBatch Model Editor window.

To View FactorySuite Licensing Information: 1. 2. 3. 4. From the Process Modeling Editor file menu, select Help and then click Help About Process Modeling. The About Model Editor window will appear. Click View License. The License Utility window will appear.

Note Using the License utility is beyond the scope of this User Guide, For more s information on Factory Suite Licensing, see your FactorySuite Administrator Guide. s

Process Modeling

4-35

Edit 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. 2. On the Process Modeling Editor window, click the Units tab. The Units tab will appear.

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.

4-36

Chapter 4

Adding Units
To Add a Unit: 1. 2. 3. In the Name box, enter a name for the unit (8-char max). In the Description box, you can optionally enter text describing the unit (120-char max). 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. 2. 3. 4. From the Units list, select the Unit that you want to change. In the Name box, enter a name for the unit (8-char max). In the Description box, you can optionally enter text describing the unit (120-char max). 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. Wonderware recommends that you always back-up your work before making changes. 1. 2. From the Units list, select the Unit that you want to delete. Click Delete. If you attempt to delete a unit that is part of a train, the following Process Modeling Editor warning will appear, and the unit will not be deleted. In this case, you must first delete the unit(s) from the train, and then delete the unit from the model.

Process Modeling

4-37

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

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, or String) Access Mode (Required, Either Read Only or Read/Write) Attributes (Optional, Select from available InTouch .fields)

To Edit Unit Tags: 1. 2. On the Process Modeling Editor tab, click the Tags button. The Edit Unit Tags window will appear.

4-38

Chapter 4

Assigning Attributes to Unit Tags


Use the Assign Attribute Tags window to assign Attributes to Unit Tags. The Assign Attribute Tags window contains a list of the available InTouch .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. 2. On the Edit Unit Tags window, click the Attributes button. If the tags have an Analog Data Class, the following Assign Attribute Tags window will appear.

If the tags that have a Discrete Data Class, the following Assign Attribute Tags window will appear.

3. 4. 5.

In the applicable Assign Attribute Tags Name list, select the required Attribute(s). Click Apply to associate the selected Attribute with the Unit Tag. Click Close to close the Assign Attribute Tags window.

Process Modeling

4-39

Edit Processes Tab


Use the Processes tab to define and edit process classes units for the processing vessels in the plant. To display the Processes Tab: 1. 2. On the Process Modeling Editor window, click the Processes tab. The Processes tab will appear.

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 Unit appears in the Description box.

4-40

Chapter 4

Adding Process Classes


To Add a Process Class: 1. 2. 3. In the Name box, enter a name for the process (8-char max). In the Description box, you can optionally enter text describing the process (120char max). 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. 2. 3. From the Process Classes list, select the Process that you want to change. In the Description box, you can optionally enter text describing the process (120char max). 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. Wonderware recommends that you always backup your work before making changes. 1. 2. 3. From the Process Classes list, select the Process that you want to delete. Click Delete. 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.

Process Modeling

4-41

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 Batch Manager to inform the control system 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/Status Tags check box. To Enable Unit Control/State Tags for a Process Class: 1. 2. 3. From the Process Classes list, select the required Process. Enable the Unit Control/State Tags check box. Click Change to associate the unit control and unit state tags with the Process Class.

4-42

Chapter 4

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. 3. 4.

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

Process Modeling

4-43

5.

The Assign Units to Process window will appear.

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. 6. 7. 8. In the Units list, select the appropriate items. Click Apply. The selected units will appear in the Units list on the Processes tab.

4-44

Chapter 4

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. 2. On the Processes tab, click the Attributes button. The Edit Attributes window will appear.

3. 4. 5.

If Attributes have already been created for the process class, they will be appear in the Process Attributes list. If you are adding a new Attribute, enter a name in the Name box (16-char max). Click Add. When you Add or Change an attribute Name, it is checked to ensure validity and uniqueness.

6.

The Process Attributes list will display the attribute.

Process Modeling

4-45

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.

2. 3. 4.

In the Value field, enter a value in accordance with your requirements. Click the Change button. The value will appear in the unit Attribute/Value list. s

4-46

Chapter 4

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

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, or String) Access Mode (Required, Either Read-Only or Read/Write) Attributes (Optional, Select from available InTouch .fields)

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.

Process Modeling

4-47

To Edit a Process Class Tag: 1. 2. 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.

3. 4. 5.

Enter/Edit the Phase Name, Parameter Name, Element Name, Description, Data Class and Access mode as described earlier in this section. Click Add if you are creating a new tag or click Change if you are modifying an existing tag. Click Close to close the Edit Process Tags window.

4-48

Chapter 4

Assign 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. 2. 3. On the Edit Process Tags window, click the Attributes button. The Assign Process Tags window will appear. If the tags have an Analog Data Class, the following Assign Attribute Tags window will appear.

If the tags have a Discrete Data Class, the following Assign Attribute Tags window will appear.

4. 5. 6.

From the applicable Assign Attribute Tags Name list, select the required Attribute(s). Click Apply to associate the selected Attribute with the Process Class Tag. Click Close to close the Assign Attribute Tags window.

Process Modeling

4-49

Edit 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 while manual phases are executed by the batch management system. Defining a process class phase requires the entry of the following information.
l l l l l l l

Phase Name (Optional, 8-char max) Description (Optional, 120-char max) Phase Type (Required, Automatic or Manual) Control Buttons (Optional, 2 available buttons) Interlocks (Optional, Available for all tags) Formula Parameters (Optional, Assign as required for the Process Class) Save History (Optional, Save Control/Status Activity, and/or Parameter Status)

To Edit a Process Class Phase: 1. 2. On the Process Modeling Editor Processes tab, click the Phases button. The Edit Phases window will appear. All Phases previously assigned to the Process Class will be listed.

3. 4. 5. 6.

Enter/Edit the appropriate Name and Description as described earlier in this section. Click the Phase Type drop down arrow, and select Automatic or Manual as required. Click Add to include the phase in the list or click Change if you have edited an existing phase. Configure additional phase options as described in the following text.

4-50

Chapter 4

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.

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. 2. On the Edit Phases window, click Control Buttons. The Edit Phase Control Buttons window will appear.

3. 4. 5.

Enable Button 1 or Button 2 as required. In the Label box, enter the text (8-char max) that you want to appear on the button. 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 process model.

Process Modeling

4-51

6.

The Tag Selection window will appear.

7.

Select a tag from the list. You can sort list items by clicking a column heading.

8.

Click OK to assign the tag to the control button, and close the Tag Selection window.

4-52

Chapter 4

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

3.

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.

Process Modeling

4-53

Interlocks
Use the Edit Process Interlocks window 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. 2. 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.

3.

Click the Assign Tags button.

4-54

Chapter 4

4.

The Tag Selection window will appear.

5. 6.

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

Process Modeling

4-55

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. 2. 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 Process Class and Phase. For detailed information on configuring Formula Parameters, see Process Phase Configuration and Additional Phase Configuration later in this section.

4-56

Chapter 4

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. For more information on material location assignments, see Chapter 5, Materials Editor. The batch control system can be configured to handle many different automatic process phases. The following examples describe several types 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: Discharg 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.

Process Modeling

4-57

Possible phase parameter configurations for these automatic process phase examples are shown below. Phase Name Phase Logic Phase Formula Interlocks and Required Control/Status Parameters Control Buttons Parameters Required
Heat Cool Soak Agitate AgitOn AgitOff Charge Discharg Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Rate Temp Rate Temp Time Temp Time None None Quantity Quantity As Needed As Needed As Needed As Needed As Needed As Needed As Needed As Needed

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, and String. 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 you can achieve for different parameter configurations.

4-58

Chapter 4

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. If the operator is allowed to modify the target, enable the Edit Allowed check box. If the operator must modify the target, enable the Edit Required check box. A Default Value can be assigned to the target element for process variable parameters of any data class.

2. 3. 4.

Actual Element
The actual element is available for all parameter and data class combinations and is configured as follows: 1. Set 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. If the operator is allowed to modify the actual value, enable the Edit Allowed check box. If the operator must modify the actual value, enable the Edit Required check box.

2. 3.

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. If the operator is allowed to modify either of the deviation values, then enable the Edit Allowed check box. If the operator must modify either of the deviation values, then enable the Edit Required check box. A Default Value can be assigned to the high and low deviation elements for analog process variable parameters only.

2. 3. 4.

Process Modeling

4-59

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. 2. Select the appropriate Enable Display if either of the element values are to be displayed during the runtime execution of the phase. 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. 2. Select the Enable Display if the preact value is to be displayed during the runtime execution of the phase. 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. 2. 3. 4. Select the Enable Display if the lot code value is to be displayed during the runtime execution of the phase. If the operator is allowed to modify the lot code, enable the Edit Allowed check box. If the operator must modify the lot code, enable the Edit Required check box. 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. 2. 3. Select the Enable Display if the material id value is to be displayed during the runtime execution of the phase. If the operator is allowed to modify the material id, enable the Edit Allowed check box. If the operator must modify the material id, enable the Edit Required check box.

4-60

Chapter 4

Phase Name

Formula parameter configurations for the automatic process phase examples given earlier are shown below. Parameter Parameter Assign Tag Enable/ Edit Edit Name Type Display Allowed Required Target Element
Speed Time N/A Speed Quantity Temp Rate Quantity Temp Rate Temp Time Process Variable Process Variable N/A Process Variable Input Process Variable Process Variable Output Process Variable Process Variable Process Variable Process Variable Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes No No N/A No No No No No No No No No

a) Agitate b) AgitOff c) AgitOn d) Charge e) Cool f) Discharg g) Heat h) Soak

Actual Element
a) Agitate b) AgitOff c) AgitOn d) Charge e) Cool f) Discharg g) Heat h) Soak Speed Time N/A Speed Quantity Temp Rate Quantity Temp Rate Temp Time Process Variable Process Variable N/A Process Variable Input Process Variable Process Variable Output Process Variable Process Variable Process Variable Process Variable Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes No No N/A No No No No No No No No No No No N/A No No No No No No No No No

High and Low Deviation Element


a) Agitate b) AgitOff c) AgitOn d) Charge e) Cool f) Discharg g) Heat h) Soak Speed Time N/A Speed Quantity Temp Rate Quantity Temp Rate Temp Time Process Variable Process Variable N/A Process Variable Input Process Variable Process Variable Output Process Variable Process Variable Process Variable Process Variable Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes No No N/A No No No No No No No No No No No N/A No No No No No No No No No

High and Low Limit Element


a) Agitate b) AgitOff c) AgitOn d) Charge e) Cool f) Discharg g) Heat h) Soak Speed Time N/A Speed Quantity Temp Rate Quantity Temp Rate Temp Time Process Variable Process Variable N/A Process Variable Input Process Variable Process Variable Output Process Variable Process Variable Process Variable Process Variable Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A

Process Modeling

4-61

Preact Element
a) Agitate b) AgitOff c) AgitOn d) Charge e) Cool f) Discharg g) Heat h) Soak N/A N/A N/A Quantity (LBS) N/A N/A N/A N/A N/A N/A N/A Input N/A N/A N/A N/A N/A N/A N/A No N/A N/A N/A N/A N/A N/A N/A No N/A N/A N/A N/A N/A N/A N/A No N/A N/A N/A N/A N/A N/A N/A No N/A N/A N/A N/A

Lot Code Element


a) Agitate b) AgitOff c) AgitOn d) Charge e) Cool f) Discharg g) Heat h) Soak N/A N/A N/A Quantity (LBS) N/A N/A N/A N/A N/A N/A N/A Input N/A N/A N/A N/A N/A N/A N/A Yes N/A N/A N/A N/A N/A N/A N/A Yes N/A N/A N/A N/A N/A N/A N/A Yes N/A N/A N/A N/A N/A N/A N/A Yes N/A N/A N/A N/A

Material Id Element
a) Agitate b) AgitOff c) AgitOn d) Charge e) Cool f) Discharg g) Heat h) Soak N/A N/A N/A Quantity (LBS) N/A Quantity (LBS) N/A N/A N/A N/A N/A Input N/A Output N/A N/A N/A N/A N/A Yes N/A Yes N/A N/A N/A N/A N/A Yes N/A Yes N/A N/A N/A N/A N/A No N/A No N/A N/A N/A N/A N/A No N/A No N/A N/A

4-62

Chapter 4

Manual Process Phases


Manual process phases are primarily used to provide operator instructions. 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. Manual 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 and Formula Parameters are optional. Manual 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 requirements have been satisfied. The batch control system can be configured to handle many different manual process phases. Described below are several examples that can be configured. The phase names are used only for example purposes. 1. Phase Name: QASample The instruction will be given to the operator to take a sample of product to QA for testing. 2. Phase Name: OpAction 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 The operator will be instructed to manually start the agitator, a timer, and adjust the agitator speed. Possible phase parameter configurations for the manual process phase examples are shown below. Phase Name Phase Logic Phase Formula Interlocks and Required Control/Status Parameters Control Buttons Parameters Required
QASample OpAction Agitate No No No No No No none none Time Speed N/A N/A N/A

Formula Parameter Configuration of Manual Process Phases


The formula parameters available for manual 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 Process Phases, see Formula Parameter Configuration of Automatic Process Phases, earlier in this section.

Process Modeling

4-63

Edit Connections Tab


Use the Connections tab to define all the material and product paths in the plant. To display the Units Tab: 1. 2. On the Process Modeling Editor window, click the Connections tab. The Connections tab will appear.

All of the available Connections in your process model are listed.

4-64

Chapter 4

Editing Connections
To Edit a Connection: 1. 2. 3. In the Name box, enter a name for the connection (8-char max). In the Description box, you can optionally enter text describing the connection (120-char max). In the Preact box, enter the required 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.

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. 2. Click the Source Unit button. The Select Source Unit window appears.

3. 4.

From the Units list, select an appropriate source unit. Click OK.

Process Modeling 5. 6. Click the Destination Unit button. The Select Destination Unit window appears.

4-65

7. 8.

From the Units list, select an appropriate destination unit. Click OK.

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

4-66

Chapter 4

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 segments have not been created, the Segments list will be empty. 1. 2. On the Connections tab, click the Assign Segments button. The Assign Segments to Connection window will appear.

3.

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. Select the appropriate Segment(s) from the list. Click OK.

4. 5.

Process Modeling

4-67

Edit 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.
l l l l l l l

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, or String) Access Mode (Required, Either Read Only or Read/Write) Attributes (Optional, Select from available InTouch .fields)

To Edit Connection Tags: 1. 2. On the Process Modeling Editor tab, click the Tags button. The Edit Connection Tags window will appear.

3. 4.

Define the elements as described above. Click Add to add the tag to the list. If you are making changes to a tag, you must click the Change button.

4-68

Chapter 4

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. 2. On the Edit Connection Tags window, click the Attributes button. If the tags have an Analog Data Class, the following Assign Attribute Tags window will appear.

If the tags that have a Discrete Data Class, the following Assign Attribute Tags window will appear.

3. 4. 5.

From the applicable Assign Attribute Tags Name list, select the required Attribute(s). Click Apply to associate the selected Attribute with the Connection Tag. Click Close to close the Assign Attribute Tags window.

Process Modeling

4-69

Edit 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. 2. On the Process Modeling Editor window, click the Transfers tab. The Transfers tab will appear.

All of the available Transfers in your process model are listed.

4-70

Chapter 4

Editing Transfers
To Edit a Transfer: 1. 2. In the Name box, enter a name for the transfer (8-char max). In the Description box, you can optionally enter text describing the transfer (120char 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. To Assign Source and Destination Process Classes: 1. 2. Click the Source Process Class button. The Select Source Process Class window appears.

3. 4. 5.

From the Process Class list, select an appropriate process class. Click OK. Click the Destination Process Class button.

Process Modeling

4-71

6.

The Select Destination Process Class window appears.

7. 8.

From the Process Class list, select an appropriate process class. Click OK.

4-72

Chapter 4

Assign Connections
Each transfer class can have one or more connections assigned to it. To Assign Connections to a Transfer: 1. 2. On the Transfers tab, click the Assign Connections button. The Assign Connections to Transfer window will appear.

All unassigned connections, and any connections previously assigned to a transfer that have source and destination units belonging to the transfer source and s destination process class assignments, will be displayed in the list. All previously assigned connections will be selected. 3. 4. Select the appropriate connection(s) from the list. 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.

Process Modeling

4-73

Edit 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.
l l l l l l l

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, or String) Access Mode (Required, Either Read Only or Read/Write) Attributes (Optional, Select from available InTouch .fields)

To Edit Transfer Tags: 1. 2. On the Process Modeling Editor Transfers tab, click the Tags button. The Edit Transfer Tags window will appear.

4-74

Chapter 4

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 Unit Tags: 1. 2. On the Edit Transfer Tags window, click the Attributes button. If the tags have an Analog Data Class, the following Assign Attribute Tags window will appear.

If the tags have a Discrete Data Class, the following Assign Attribute Tags window will appear.

3. 4. 5.

From the applicable Assign Attribute Tags Name list, select the required Attribute(s). Click Apply to associate the selected Attribute with the Transfer Tag. Click Close to close the Assign Attribute Tags window.

Process Modeling

4-75

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. Process phase types Phase Type can be automatic or manual. Automatic phases require control system phase logic while manual 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.
l l l l l l l l

Phase Name (Optional, 8-char max) Description (Optional, 120-char max) Phase Type (Required, Automatic or Manual) Control Buttons (Optional, 2 available buttons) Interlocks (Optional, Available for all tags) Formula Parameters (Optional, Assign as required for the Process Class) Save History (Optional, Save Control/Status Activity, and/or Parameter Status) Phase Control/Status (Optional, Select/Assign tags to the phase)

4-76

Chapter 4

To Edit a Transfer Class Phase: 1. 2. On the Process Modeling Editor window, click the Phases button. The Edit Phases window will appear.

All Phases previously assigned to the Transfer Class will be listed. 3. 4. 5. 6. Enter/Edit the appropriate Name and Description as described earlier in this section. Click the Phase Type drop down arrow, and select Automatic or Manual as required. Click Add to include the phase in the list or click Change if you have edited an existing phase. Configure additional phase options as described in the following text.

Process Modeling

4-77

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.

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. For more information on Control Buttons, see Transfer Phase Configuration and Additional Phase Configuration later in this section. To Configure Control Buttons 1. 2. On the Edit Phases window, click Control Buttons. The Edit Phase Control Buttons window will appear.

3. 4. 5.

Enable Button 1 or Button 2 as required. In the Label box, enter the text (8-char max) that you want to appear on the button. 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 process model.

4-78

Chapter 4

6.

The Tag Selection window will appear.

7.

Select a tag from the list. You can sort list items by clicking a column heading.

8.

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

Process Modeling

4-79

2.

The Edit Phase Control/Status window will appear.

The window shows the configuration for the selected Transfer Class and Phase. 3. 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.

4-80

Chapter 4

Interlocks
Use the Edit Transfer Interlocks window to configure interlocks for a transfer phase. For more information on configuring Interlocks, see Transfer Phase Configuration and Additional Phase Configuration later in this section. To Configure Interlocks: 1. 2. 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 process class and any tags (process class/transfer) assigned to the selected unit.

3.

Click the Assign Tags button.

Process Modeling

4-81

4.

The Tag Selection window will appear.

5. 6.

Select the required tag(s) from the list. Click OK to assign the selected tag(s) to the Tags list on the Edit Transfer Interlocks window.

4-82

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. 2. On the Edit Phases window, click the Formula Parameters button. The Edit Formula Parameters window will appear.

The window shows 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.

Process Modeling

4-83

Transfer Phase Configuration


There are three types of transfer phases; Automatic, Semi-Automatic, and Manual. The following section describes the phase types and provides several examples to help you understand how to configure transfer phases.

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 5, 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 drum add and load bulk 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.

4-84

Chapter 4

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. 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. Type Phase Logic Phase Formula Interlocks and Required Control/Status Parameters Control Buttons Parameters Required
Automatic Automatic Automatic Yes Yes Yes Yes Yes Yes Quantity Quantity Quantity Size Count None None Quantity Quantity As Needed As Needed As Needed

Phase Name

BulkAdd Separate Package

Condense Transfer LoadBulk DrumAdd

Automatic Automatic Automatic Semi-Automatic

Yes Yes Yes Yes

Yes Yes Yes Yes

As Needed As Needed As Needed As Needed

Process Modeling

4-85

Formula Parameter Configuration of Automatic and SemiAutomatic 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, and String. 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. 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. 3. 4. If the operator is allowed to modify the target, enable the Edit Allowed check box. If the operator must modify the target, enable the Edit Required check box. A default value can be assigned to the target element for process variable parameters of any data class.

4-86

Chapter 4

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. 3. If the operator is allowed to modify the actual value, enable the Edit Allowed check box. If the operator must modify the actual, enable the Edit Required check box.

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. 3. 4. If the operator is allowed to modify either of the deviation values, enable the Edit Allowed check box. If the operator must modify either of the deviation values, enable the Edit Required check box. A Default Value can be assigned to the high and low deviation elements for analog process variable parameters only.

Process Modeling

4-87

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.

4-88

Chapter 4

Lot Code Element


The lot code element is available for analog input parameters and is configured as follows: 1. Set the Enable Display if the lot code value is to be displayed during the runtime execution of the phase. 2. 3. 4. If the operator is allowed to modify the lot code, enable the Edit Allowed check box. If the operator must modify the lot code, enable the Edit Required check box. 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. 3. If the operator is allowed to modify the material id, enable the Edit Allowed check box. If the operator must modify the material id, enable the Edit Required check box.

Process Modeling

4-89

Phase Name

Formula parameter configurations for the automatic and semi-automatic transfer phase examples presented earlier are shown in the following table. Parameter Parameter Assign Tag Enable/ Edit Edit Name Type Display Allowed Required Target Element
Quantity Quantity Quantity Size Count N/A N/A Quantity Rate Input Output Output Process Variable Process Variable N/A N/A Output Process Variable Yes No Yes Yes No N/A N/A Yes Yes Yes Yes Yes Yes Yes N/A N/A Yes Yes Yes Yes Yes Yes Yes N/A N/A Yes Yes No No No No No N/A N/A No No

a) BulkAdd b) Separate c) Package

d) Condense e) Transfer f) LoadBulk g) DrumAdd

Actual Element
a) BulkAdd b) Separate c) Package Quantity Quantity Quantity Size Count N/A N/A Quantity Rate Input Output Output Process Variable Process Variable N/A N/A Output Process Variable Yes No Yes Yes Yes N/A N/A Yes Yes Yes No Yes Yes Yes N/A N/A Yes Yes Yes No No No No N/A N/A No No No No No No No N/A N/A No No

d) Condense e) Transfer f) LoadBulk g) DrumAdd

High and Low Deviation Elements


a) BulkAdd b) Separate c) Package Quantity Quantity Quantity Size Count N/A N/A Quantity Rate Input Output Output Process Variable Process Variable N/A N/A Output Process Variable Yes Yes Yes Yes Yes N/A N/A Yes Yes Yes Yes Yes Yes Yes N/A N/A Yes Yes No No No No No N/A N/A No No No No No No No N/A N/A No No

d) Condense e) Transfer f) LoadBulk g) DrumAdd

High and Low Limit Elements


a) BulkAdd b) Separate c) Package Quantity Quantity Quantity Size Count N/A N/A Quantity Rate Input Output Output Process Variable Process Variable N/A N/A Output Process Variable N/A N/A N/A Yes Yes N/A N/A N/A Yes N/A N/A N/A Yes Yes N/A N/A N/A Yes N/A N/A N/A N/A N/A N/A N/A N/A Yes N/A N/A N/A N/A N/A N/A N/A N/A No

d) Condense e) Transfer f) LoadBulk g) DrumAdd

4-90

Chapter 4

Preact Element
a) BulkAdd b) Separate c) Package Quantity Quantity Quantity Size Count N/A N/A Quantity Rate Input Output Output Process Variable Process Variable N/A N/A Output Process Variable Yes No N/A N/A N/A N/A N/A N/A N/A Yes No N/A N/A N/A N/A N/A N/A N/A No No N/A N/A N/A N/A N/A N/A N/A No No N/A N/A N/A N/A N/A N/A N/A

d) Condense e) Transfer f) LoadBulk g) DrumAdd

Lot Code Element


a) BulkAdd b) Separate c) Package Quantity Quantity Quantity Size Count N/A N/A Quantity Rate Input Output Output Process Variable Process Variable N/A N/A Output Process Variable No No N/A N/A N/A N/A N/A N/A No Yes No N/A N/A N/A N/A N/A N/A No Yes No N/A N/A N/A N/A N/A N/A No Yes No N/A N/A N/A N/A N/A N/A No

d) Condense e) Transfer f) LoadBulk g) DrumAdd

Material Id Element
a) BulkAdd b) Separate c) Package Quantity Quantity Quantity Size Count N/A N/A Quantity Rate Input Output Output Process Variable Process Variable N/A N/A Output Process Variable Yes No Yes Yes Yes N/A N/A N/A Yes Yes No Yes Yes Yes N/A N/A N/A Yes Yes No No No No N/A N/A N/A No No No No No No N/A N/A N/A No

d) Condense e) Transfer f) LoadBulk g) DrumAdd

Process Modeling

4-91

Manual Transfer Phases


Manual transfer phases are primarily used to provide operator instructions. Many processes are not completely automated and may require an operator to perform manual operations or actions according to the phase being executed, and to acknowledge the completion of the phase. Manual 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 and Formula Parameters are optional with manual phases. Manual 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. Acknowledgment can only be accomplished once all of the phase edit requirements have been satisfied. The batch control system can be configured to handle many different manual transfer phases. The following examples demonstrate several manual phase configurations. The phase names are used only for example purposes. 1. Phase Name: ScaleAdd 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 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. 3. Phase Name: AckAdd 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 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 Material is transferred from a bulk source to a finished goods container where the operator manually controls the transfer.

4-92

Chapter 4

The following table shows the valid phase parameter configurations for the manual transfer phase examples described in this section. Phase Name Phase Logic Phase Formula Interlocks and Required Control/Status Parameters Control Buttons Parameters Required
ScaleAdd ManAdd AckAdd PartsAdd Fill No No No No No No No No No No Quantity Quantity Quantity Quantity Quantity No Interlocks Control Buttons As Needed No Interlocks Control Buttons As Needed No Interlocks Control Buttons As Needed No Interlocks Control Buttons As Needed No Interlocks Control Buttons As Needed

Formula Parameter Configuration of Manual Transfer Phases


The formula parameters that are available for manual 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 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, and manual transfer phases. Formula parameter configurations for the manual transfer phase examples given earlier are shown in the following table.

Process Modeling
Phase Name Parameter Name
Quantity Quantity Quantity Quantity N/A Quantity Quantity Quantity Quantity N/A Quantity Quantity Quantity Quantity N/A N/A N/A N/A N/A N/A Quantity Quantity Quantity Quantity N/A Quantity Quantity Quantity Quantity N/A Quantity Quantity Quantity Quantity N/A

4-93

Parameter Assign Tag Type Target Element


Input Input Input Input N/A Input Input Input Input N/A Input Input Input Input N/A N/A N/A N/A N/A N/A Input Input Input Input N/A Input Input Input Input N/A Input Input Input Input N/A No No No No N/A Yes No No No N/A No No No No N/A N/A N/A N/A N/A N/A No No No No N/A No No No No N/A No No No No N/A

Enable/ Display
Yes Yes Yes Yes N/A Yes No Yes No N/A Yes Yes Yes Yes N/A N/A N/A N/A N/A N/A No No No No N/A Yes Yes No Yes N/A No No No No N/A

Edit Edit Allowed Required


No No No No N/A Yes No No No N/A No No No No N/A N/A N/A N/A N/A N/A No No No No N/A Yes No No No N/A No No No No N/A No No No Yes N/A No Yes No Yes N/A No No No No N/A N/A N/A N/A N/A N/A No No No No N/A Yes Yes No Yes N/A No No No No N/A

a) ScaleAdd b) ManAdd c) AckAdd d) PartsAdd e) Fill a) ScaleAdd b) ManAdd c) AckAdd d) PartsAdd e) Fill a) ScaleAdd b) ManAdd c) AckAdd d) PartsAdd e) Fill a) ScaleAdd b) ManAdd c) AckAdd d) PartsAdd e) Fill a) ScaleAdd b) ManAdd c) AckAdd d) PartsAdd e) Fill a) ScaleAdd b) ManAdd c) AckAdd d) PartsAdd e) Fill a) ScaleAdd b) ManAdd c) AckAdd d) PartsAdd e) Fill

Actual Element

High and Low Deviation Elements

High and Low Limit Elements

Preact Element

Lot Code Element

Material Id Element

4-94

Chapter 4

Edit 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. 2. On the Process Modeling Editor window, click the Segments tab. The Segments tab will appear.

All of the segments that have been defined for the process model will appear in the Segments list. 3. 4. Enter/Edit a Name (8-char max) and an optional Description (120-char max). 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 Connectionsearlier in this section.

Process Modeling

4-95

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

4-96

Chapter 4

To Display the Equipment Status Tab: 1. 2. 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. 3. 4. Enter/Edit a Name (16-char max) and an optional Description (120-char max). Click the Available and/or Default check box(es) as required. You must define one default status. 5. Click Add to include the segment in the process model or click Change if you are editing an existing Name or Description.

Process Modeling

4-97

Additional Phase Configuration


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 the Assign 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.

4-98

Chapter 4

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.

Process Modeling

4-99

Automatic Tag Creation and Assignment


There are several ways to automatically create phase control and status tags. The options are described in this section.

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

4-100

Chapter 4

Example Automatic Tagnames


Process Class: Phase Name: Reactors Heat

Given the above Process Class and Phase Names, the tagnames shown in the following table will be created. Process Class Reactors Reactors Reactors Reactors Reactors Reactors Reactors Reactors Reactors Reactors Reactors Phase Heat Heat Heat Heat Heat Heat Heat Heat Heat Heat Heat Tagname Reactors-Heat-CS.START Reactors-Heat-CS.HOLD Reactors-Heat-CS.RSTRT Reactors-Heat-CS.ABORT Reactors-Heat-CS.RESET Reactors-Heat-CS.READY Reactors-Heat-CS.RUN Reactors-Heat-CS.HELD Reactors-Heat-CS.DONE Reactors-Heat-CS.ABRTD Reactors-Heat-CS.INTLK

Process Modeling

4-101

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.

4-102

Chapter 4

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.

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.

Process Modeling

4-103

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

4-104

Chapter 4

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 be defined as a formula parameter. Formula parameter configurations consist of the following information: 1. 2. 3. Name (Required, 8-char max) Description (Optional, 120-char max). Type (Required, Input, Output, or Process Variable) Process and Transfer phases can have any number of input, output, or process variable formula parameters. 4. Data Class (Required, Analog, Discrete, or String) 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, or string. Input and output parameters can only be defined as analog. Parameter Type Process Variable Input Output Assignable Data Classes Analog, Discrete, String Analog Analog

Process Modeling

4-105

5.

Parameter Elements (Optional) Each type of formula parameter has associated elements as shown in this table.

Parameter Type Process Variable

Input

Elements (Analog Data Class) Target Actual High Deviation % Low Deviation % High Limit Low Limit Target Actual High Deviation % Low Deviation % Preact

Elements (Discrete Data Class) Target Actual

Elements (String Data Class) Target Actual

Not Allowed

Not Allowed

Output

Target Actual

Not Allowed

Lot Code Material Id Not Allowed Material Id

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. 6. Element Default Values (Optional) Default values can only be defined for process variable formula parameter elements. If a default value is not defined, zero is used. 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.

4-106

Chapter 4

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 box 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 appropriate 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 on the Apply button. The defaults are displayed as default values for when the phase is used in a recipe procedure.

Process Modeling

4-107

Formula Parameter Examples


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

4-108

Chapter 4

The following example is a Discrete Process Variable parameter.

Process Modeling

4-109

The following example is a String Process Variable parameter.

4-110

Chapter 4

The following example is an Input parameter.

Process Modeling

4-111

The following example is an Output parameter.

5-1

C H A P T E R

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
n n n n

Overview Using the Materials Status Window Using the Materials Editor Using the Material Location Assignment Editor

5-2

Chapter 5

Overview
The Materials Editor provides a graphical user interface to InBatch Materials s Database. All of the materials that will be used during recipe creation must be defined within this database. Use the Materials Editor to define the following material types: Ingredients (Raw Materials) Intermediates (Premixes) Finished Goods By-Products Other You can also use the Materials Editor to essentially track 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. The Materials Editor can also be used to track material quantities. When materials are received, the shipment information and quantity can be entered into the materials database by plant personnel. The batch management system updates the database when ingredients are used and when intermediates and finished goods are produced. The database provides for easy access to work-in-progress information and can be used to update higher level material management and (MRP) 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 over view of the Material Editor and its relationship with other system components. Materials Editor

Materials Editor

Materials Status

Materials Location Assignment Editor

Materials Database

MRP System

Recipe Editor

Batch Manager

Materials Editor

5-3

Using the Materials Status Window


Managing materials requires three components; the Materials Status window, the Materials Editor, and the Material Location Assignment Editor. The Materials Status window is used for viewing the name, unit of measure, total quantity, and characteristics of all materials defined in the database. The Materials Editor window is used to define and/or edit materials in the database. The Material 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. 2. Double-click the MtlEdit icon in Environment Display. The Materials Status window will appear.

The status of all of the materials in the Materials Database will be displayed. If there are no materials defined in the database, the list will be empty. To View Material Status: 1. Click the Materials drop-down arrow and select the material type that you want to view. The five material types will be listed. These are Ingredients, Intermediates, Finished Goods, By Products, and Other. The default material type is Ingredients. 2. From the Materials list, select a Material ID. The Material ID, Material Name, Unit of Measure and Total Quantity will be displayed. The material characteristic and default value are also displayed.

5-4

Chapter 5

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. If the validation is successful, a Validate message window will be displayed. If validation errors exist, the associated tags will be displayed along with a validation 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.

Reassigning a Valid Unit


1. 2. Select the Material ID from the Materials Status window. Use the Edit/Materials Locations menu to access the Material Location Assignment Editor. When the invalid unit is selected, you will see a Record Not Found! error message. Acknowledge the error. Click the Delete button to remove the invalid unit assignment. Click the Add button and then select a valid unit from the Unit Selection window. If other materials have invalid unit assignments, perform the above steps for each material.

3. 4. 5. 6.

Removing a Unit Assignment


1. 2. Select the Material ID from the Materials Status window. Use the Edit/Materials Locations menu to access the Material Location Assignment Editor. When the invalid unit is selected, you will see a Record Not Found! error message. Acknowledge the error. Click the Delete button to remove the invalid unit assignment.

3. 4.

Materials Editor

5-5

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. 2. On the menu bar, click File and select Print. The Print window will appear.

3. 4. 5.

In the Select Reports list, select item(s) that you want. Select other printer options as required. 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.

5-6

Chapter 5

File/Print Preview 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. 2. On the menu bar, click File and select Print Preview. The Select Reports window will appear.

3. 4.

Select the report(s) from the list 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 documentation for more information. s To Setup your Printer: 1. 2. On the menu bar, click File and select Print Setup. 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.

Materials Editor

5-7

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

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

Edit/Material Locations
Use the Edit/Material Locations command to display the Material Location Assignment Editor window. For more information on editing Material Locations, see Using the Material Location Assignment Editor later in this section.

5-8

Chapter 5

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. 2. On the menu bar, click View and select Assigned Units. The Assigned Units window will appear.

All of the Unit assignments, material Type and Material ID are listed. 3. Click Close to close the Assigned Units window.

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 Materials IDs for a given ingredient type. To Filter a Unit Assignments List: 1. 2. On the menu bar, click View and select Partial List. The View Partial Filter window will appear.

3. 4. 5.

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. Click OK. The Material ID list will now show all of the Material IDs that include the filter.

Materials Editor

5-9

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. 2. On the menu bar, click View and select Full List. 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 a the Unit Assignments List: 1. 2. On the menu bar, click View and select Find. The Find Material window will appear.

3. 4. 5.

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

5-10

Chapter 5

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

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Materials Status. To View the Help Topics for Materials Status: 1. 2. From the Materials Status Display file menu, select Help and then click Help Topics. The Help Topics: InBatch window will appear.

Help/About Materials Status


Use the Help/About command to view Version and FactorySuite Licensing information for InBatch. To View Help About Topics for Materials Status: 1. 2. 3. On the Materials Status menu bar, select Help and then click Help About Material Editor. The About Material Editor window will appear. Click OK to close the About Material Editor window.

To View FactorySuite Licensing Information: 1. 2. 3. 4. On the Materials Status menu bar, select Help and then click Help About Material Editor. The About InBatch Material Status window will appear. Click View License. The License Utility window will appear.

Note: Using the License utility is beyond the scope of this User Guide. s For more information on Factory Suite Licensing, see your FactorySuite Administrator Guide. s

Materials Editor

5-11

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

5-12

Chapter 5

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

Materials Editor

5-13

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

To Define Characteristics for a Material: 1. 2. 3. In the Materials Editor, select a Material Type and Material ID. In the Characteristics pane, enter a Name and Default Value as described earlier in this section. Click Add to associate the characteristic with the material.

5-14

Chapter 5

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. The information displayed on the Materials Location Assignment Editor is for a specific Material ID which is selected from the Materials Status window. The 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. This information can then be consumed by further 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.

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

Materials Editor

5-15

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.

5-16

Chapter 5

To Start the Material Location Assignment Editor: 1. 2. On the Materials Status menu bar, click Edit, and then select Material Locations. The Material Location Assignment Editor window will appear.

To Assign a Material to a Unit: 1. 2. 3. On the Materials Status window, select a Material ID. On the Material Location Assignment Editor, click the Unit Assignments Add button. The Unit Selection window will appear.

Materials Editor 4. Select a Unit from the list.

5-17

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 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. 3. Enter the Date Rcvd and Quantity. 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.

6-1

C H A P T E R

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. The batch control system provides a recipe management system that enables Master Recipes to be constructed and edited. Master recipes are not process line specific. They can be assigned to any process line that has the classes of process equipment defined in the recipe. A master recipe becomes a Control Recipe when it is assigned to a Train and it is initialized by the batch management system. A control recipe is process line specific. A master recipe may or may not be size specific. All formula quantities for ingredients, intermediates, by-products, and finished goods are entered as either actual quantities or as a percent of the batch size. Quantities expressed as percentages are scaled by the batch management system when the batch is scheduled and initialized. The batch control system provides several table driven and graphical editors to construct and edit recipes. Recipes can be saved, retrieved, and printed. Recipes can also be imported and exported. A revision history capability enables users to enter, save, and review the change history for each recipe.

Contents
n n n n n n

Overview Using Recipe Editor Header Equipment Requirements Formula Recipe Procedure

6-2

Chapter 6

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

Header

Equipment Requirements

Formula

Procedure

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 instances when your recipe procedure uses more than one unit of the same class. Each unit is defined as an process instance. A process instances are equipment independent. 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.

Recipe Editor

6-3

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

Inputs

Outputs

Process Variables

Ingredients

Setpoints

Finished Products

Intermediates

By-Products

6-4

Chapter 6

Procedure
Procedures define the sequence of process actions needed to execute one batch of a recipe. A procedure is constructed using operations, phases, transition logic, branch objects, and loop objects. Operations are associated with a process class and defined in the recipe. Phases are defined when you create the process model. Phases are defined with parameters. A parameter is assigned a value when the recipe formula is entered. Parameter types are either input, output, or process variable. When the recipe is executed by the batch management system, the values assigned to the parameters are written to the control system. Transition Logic provides the ability to redirect the execution of a procedure based on the result of a Boolean expression. Expressions can be constructed using 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. Branch Objects allow the recipe builder to execute simultaneous operations and phases, execute one of many operations or phases, and execute operations simultaneously on two or more units within the same process class. Loop Objects allow the recipe builder to re-execute operations and phases based on an evaluated transition logic expression. Recipe procedures are constructed with user-defined operations and process and transfer phases associated with the process classes and/or instances defined in the equipment requirements.

Operations
An Operation is an independent process action consisting of one or more phases. The operation names are defined by the recipe builder. A process class instance must be assigned to each operation created. All process phases associated with the assigned process class instance, and all transfer phases associated with a transfer class instance that has the assigned process class as either its source or destination class, can be used to define the operation. Some examples of operations and associated process class instances are provided in the following table. Operation Name Blend Process Process Sample Sample Manual Addition Bulk Addition Liquid Addition Discharge Process Class Instance Assignment Blenders Reactors ReactorA Reactors ReactorA Mix Tanks Bulk Tanks Blenders Pack Stations

Recipe Editor

6-5

Phases
A phase is an independent processing action. Automatic and semi-automatic phases are executed by the control system and are referred to as 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 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. 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. Class Category Phase Type
Blenders Reactors Process Process Blend Heat Cool Soak Agitate Q/A Test ManAdd MixerOn MixerOff MixerTimed ManualAdd DrumAdd BulkAdd Pack Automatic Automatic Automatic Automatic Automatic Manual Manual Automatic Automatic Automatic Manual Semi-Automatic Automatic Automatic

Mix Tanks

Process

ManAdd-Reactors Drums-Reactors Bulks-Reactors Reactors-Pack

Transfer Transfer Transfer Transfer

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. All process and transfer classes and/or instances defined in the recipe equipment requirements can be allocated or released. There are no parameters associated with allocate and release phases.

6-6

Chapter 6

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. Parameters act as mailboxes for data. Input parameters will hold ingredient quantities based on the formula. Process variable parameters will hold process variable values. Output parameters will hold output quantities based on the formula. As a procedure is constructed, each element of the formula is assigned to a parameter. Class Category Phase Parameters Type
Blenders Reactors Process Process Process Process Process Process Process Mix Tanks Process Process Process Process Transfer Transfer Transfer Blend Heat Cool Soak Agitate Q/A Test ManAdd MixerOn MixerOff MixerTimed Q/A Test DrumAdd BulkAdd Pack Speed Time Rate Temp Rate Temp Time Temp Time Speed None Qty_Lbs None None Time None Quantity Quantity Quantity Process Variable Process Variable Process Variable Process Variable Process Variable Process Variable Process Variable Process Variable Process Variable Process Variable N/A Input N/A N/A Process Variable N/A Input Input Output

Sample Drums-Reactors Bulks-Reactors Reactors-Pack

Recipe Editor

6-7

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. 2. 3. 4. Process Class and/or Instance Tags Transfer Class and/or Instance Tags Pre-defined Functions (Ask, AskDoneBy, AskCheckBy, Not, WaitSec, WaitMin, WaitHour) Constants

The following table shows all of the available transition logic operators. For more information on building expressions, see Chapter 13, Expression Editor. Operator Negate Multiply Divide Modulus Add Subtract Less Than Greater Than Less Than or Equal To Greater Than or Equal To Equal To Not Equal To AND Or Assign Not Symbol * / % + < > <= >= = <> & | := Not

6-8

Chapter 6

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. 2. 3. 4. 5. 6. 7. 8. Enter Header Information. Define Equipment Requirements. Define Formula Inputs. Define Formula Outputs. Create a Procedure. Validate the Recipe. Save the Recipe. Approve the Recipe.

Recipe Editor

6-9

To Start the Recipe Editor: 1. Double-click the RecipeEdit icon in the Environment Display.

2.

The Recipe Editor window will appear.

6-10

Chapter 6

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

File/New
Use the File/New command to create a new recipe and clear an open recipe from memory. If prior editing had been done and not saved, a message box will be displayed providing the option to discard the changes before clearing the recipe. To Create a New Recipe: Click File, and then select New. You can also click the New icon in the Recipe Editor 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 2. icon in the Recipe Editor Toolbar.

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. 4. Select a Recipe from the list and then click Open or double-click list item. The recipe that you selected will appear in the Recipe Editor window.

Recipe Editor

6-11

Using Recipe Find and Filter


If your facility uses many recipes that causes 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. 2. Click the Find button. The Recipe Find window will appear

3. 4. 5. 6.

In the Search For text box, enter the text that you want to search for. 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. Enable the Case Sensitive check box as required. 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. 8.

When you identify the recipe that you want, click Open on the Recipes Open window. Recipe Editor will display the selected recipe

6-12

Chapter 6

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

3. 4. 5. 6. 7.

Select as many States and/or Types as required. Click OK. The Recipes Open list will now display only those recipes that match the States and/or Types that you specified. When you identify the recipe that you want, click Open on the Recipes Open window. Recipe Editor will display the selected recipe.

Recipe Editor

6-13

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, securityclearance will be required whenever the save menu option is selected. The corresponding Done By user entered in the security clearance request will be automatically assigned to the Author field. This field may not be changed. To Save a Recipe: 1. Click File, and then select Save. You can also click the Save 2. icon in the Recipe Editor Toolbar.

The Save Recipe window will appear.

3. 4.

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

6-14

Chapter 6

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. 2. Click File, and then select Delete Recipe. The Recipes Delete window will appear.

3. 4.

Select a recipe from the list. Click Delete.

Recipe Editor

6-15

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 reports triggered by phases exist in the reporting database. Verify that all transition logic, including loop logic, is valid. Note The validation procedure 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.

To Validate a Recipe: 1. Click File, and then select Validate. You can also click the Validate 2. icon in the Recipe Editor Toolbar.

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.

6-16

Chapter 6

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 window and satisfying the various security request dialogs that may be displayed. 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 12, Security System.

Recipe Editor

6-17

To Approve a Recipe: 1. Click File, and then select Approvals. You can also click the Approvals 2. The Approvals window will appear. icon in the Recipe Editor Toolbar.

3.

Select the required options as described earlier.

For more information on configuring security, See Chapter 12, Security System. 4. Click Close.

6-18

Chapter 6

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 2. The History window will appear. icon in the Recipe Editor Toolbar.

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, Wonderware recommends putting the version identification in the Recipe ID. 3. Click Close when you are finished viewing.

Recipe Editor

6-19

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. 2. Click File, and then select Import/Export. The Import/Export window will appear.

Recipes available for Export from the Recipe Database.

All Recipes (*.rcp) available for Import in the selected directory.

Path associated with the Import or Export (Default is config_A).

Displays the currently selected path and allows keyboard entry.

The Import/Export window is described above.

6-20

Chapter 6

To Export a Recipe: 1. 2. 3. In the Import/Export window, enter a directory or select it from the Directories list. From the Recipe IDs list, select the required recipe(s). 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 to overwrite the existing file. Acknowledge the prompt as required. You can also specify a different file name in the text box.

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. 2. 3. In the Import/Export window, enter a directory or select it from the Directories list. From the Recipe IDs list, select the required recipe(s). 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.

Recipe Editor

6-21

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 Recipe: 1. On the menu bar, click File and select Print. You can also click the Print 2. The Print window will appear. icon in the Recipe Editor Toolbar.

3.

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

File/Print Setup
Use the File/Print Setup command to select and configure a printer. Refer to your printer manufacturer documentation for more information. s To Setup your Printer: 1. 2. 3. On the menu bar, click File and select Print Setup. The Print Setup window will appear. 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.

6-22

Chapter 6

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

Header
The following section descibes how to create and edit a Recipe Header.

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 Type (Optional, Defaults to the default Type defined in the Recipe Type Editor) Recipe State (Required, Defaults to the default State defined in the Recipe State 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 is defined when the recipe is saved.

Recipe Editor

6-23

To Edit a Recipe Header: 1. Click Edit, and then select Recipe Header. You can also click the Header 2. icon in the Recipe Editor Toolbar.

The Recipe Header window will appear.

3.

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

To Assign a Recipe State: 1. 2. Click the States button. The Assign Recipe States window will appear.

6-24

Chapter 6 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. 5. Click OK. The State will appear in the Recipe Editor window.

To Assign a Recipe Type: 1. 2. Click the Types button. The Assign Recipe Types window will appear.

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

Click OK. The State will appear in the Recipe Editor window.

Recipe Editor

6-25

Equipment Requirements
The following section descibes how to create and edit Equipment Requirements.

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) Transfer Instances (Optional) 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 is associated with process classes. An equipment dependent recipe is associated with specific units assigned to one or more process classes. 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. Process instances must be defined when more than one unit from a process class is needed for producing the product defined in the recipe. If only one unit from each process class is needed, the process instance name defaults to the process class name. However, if multiple units from the same process class are required, the appropriate number of process instances must be defined. Likewise, the appropriate transfer instances must be defined so that there is a differentiation between the resulting transfer instances. Note It is very important for you to remember that defining an instance 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

6-26

Chapter 6 transfer instances automatically default to the class name. In example 2, four process class instances are defined and four transfer instances must be defined.
Reactor (Reactor) Reactor (Reactor A) Reactor (Reactor B)

Rx_HT(Rx_HT)

Rx_HT(RxA_HT A)

Rx_HT(RxB_HT B)

Transfer Instances
HoldTk (HoldTk) HoldTk (HoldTkA) HoldTk (HoldTkB)

HT_FT(HT_FT)

HT_FT(HTA_FT)

HT_FT(HTB_FT) FinTk(FinTk)

FinTk(FinTk)

Example 1
Note: Class (Instance)

Example 2

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

All previously assigned Process Classes will be listed.

Recipe Editor

6-27

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.

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

All of the Process Classes in your process model will be listed. 3. Select the Process Class(es) and then click OK.

6-28

Chapter 6

Edit Process Instances


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. A process class instance consists of the following: 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. Note Deleting a process instance will also remove all transfer instances that were defined using the deleted process instance. If you delete all of the instances for a process class, there will be 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, 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.

Recipe Editor

6-29

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

The Name box in the Process Class Instance Editor window 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. 4. 5. In the Name box, enter an appropriate Process Instance name. Click Add. Click the Selection Mode drop-down arrow and select the Automatic or Manual mode as required.

6-30

Chapter 6

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.. Making a specific unit assignment for a process instance requires that the selected unit be allocated at runtime. The recipe builder uses the instance name when building the procedure. The specific unit is allocated when the recipe is assigned and then executed as part of a batch. 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. 2. 3. On the Process Class Instance Editor, enter a Name (16-char max) for the process instance. Click Assign Unit. 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

Recipe Editor

6-31

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 is executed.

Attributes
Use the Attributes list and, Min and Max text boxes, to provide additional equipment requirements for a recipe. Note: Use of Attributes is optional. The batch management system uses attributes to allocate units in the train assigned to a batch only if the unit attribute values satisfy the corresponding recipe attribute requirements. Attributes are defined for the process class in the Process Modeling Editor For more information on Process Class Attributes, see Chapter 4, Process Modeling Editor of this User Guide. s The assigned attributes are valid only for the selected process instance and the recipe that you are creating. The attribute range consists of a minimum value (Min) and a maximum value (Max). If you do not define a range, the attribute will be ignored by the batch management system. If a recipe requires a unit with an attribute range, the minimum and maximum attribute values must be entered to include the value range needed for the recipe. If the attribute must be a specific value, the minimum and maximum values must be the same. Several examples of attribute range definitions are presented in the following table. Included with each definition is the action on the part of the batch management system.

6-32

Chapter 6 Minimum Value 0 10 Maximum Value 0 100 Batch Management Action Attribute ignored by the batch management system. 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. Only units in the process class that have an attribute value of 50 can be used by the batch management system.

50

50

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.

Recipe Editor

6-33

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.

Bulk Tank

First_Reactor 500 LBS

Second_Reactor 2000 LBS

The Process Class Instance Editor window shown below represents a possible configuration for this example.

6-34

Chapter 6 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 a variety of scenarios and the result of the batch management system for the previous example. Assigned Unit Minimum Maximum Resultant Unit Selected Units Selection Capacity Capacity Mode Attribute Attribute Value Value
None None None None Automatic Automatic Automatic Automatic 0 0 0 2001 0 2000 1000 3000 Reactor A or Reactor B Reactor A or Reactor B Reactor A Batch cannot be initialized because train does not contain an acceptable unit. User selects Reactor A or Reactor B User selects Reactor A or Reactor B Reactor A is automatically selected because it is the only reactor satisfying the attribute range. Reactor A Reactor B Reactor A or Reactor B Reactor A or Reactor B Reactor A or Reactor B selected for the First_Reactor instance. The other reactor would be selected for the Second_Reactor instance. 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. Reactor A is allocated for the First_Reactor instance. Reactor B is allocated for the Second_Reactor instance. Reactor A is allocated for the First_Reactor instance. Reactor B is allocated for the Second_Reactor instance.

Process Instances Defined


Reactors Reactors Reactors Reactors

Reactors Reactors Reactors

None None None

Manual Manual Manual

0 0 0

0 2000 1000

Reactors Reactors First_Reactor First_Reactor First_Reactor Second_Reactor

ReactorA ReactorB None None None None

N/A N/A Automatic Manual Manual Manual

N/A N/A 0 0 0 0

N/A N/A 2000 2000 2000 2000

First_Reactor Second_Reactor

None None

Manual Manual

0 0

2000 2000

First_Reactor Second_Reactor

ReactorA None

N/A Automatic

N/A 0

N/A 2000

First_Reactor Second_Reactor

ReactorA ReactorB

N/A N/A

N/A N/A

N/A N/A

Recipe Editor

6-35

Edit Transfer Instances


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.

6-36

Chapter 6

To Assign Transfer Instances: 1. 2. On the Equipment Requirements Editor, click the Transfer Instances button. 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.

Recipe Editor

6-37

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.

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. 2. On the Transfer Class Instance Editor window, click the Source Instance button. The Source Instances window will appear.

3. 4.

Select the required Source Instance from the list. Click OK.

6-38

Chapter 6

To Assign a Destination Instance: 1. 2. On the Transfer Class Instance Editor window, click the Destination Instance button. The Destination Instances window will appear.

3. 4.

Select the required Source Instance from the list. Click OK.

Recipe Editor

6-39

Example Transfer Instance Selection


The window display shows how you would use two transfer instances for the bulk-toreactor 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.

6-40

Chapter 6

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. Input and output materials are assigned from the materials 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.

Recipe Editor

6-41

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 2. icon in the Recipe Editor Toolbar.

The Formula Inputs Editor window will appear.

6-42

Chapter 6

To Add Input Materials: 1. 2. On the Formula Inputs Editor window, click the Add Inputs button. The Materials window will appear.

All of the materials in the materials database of the selected Type, will be listed. The material types include Ingredients, Intermediates, Finished Goods, ByProducts, and Other. 3. 4. 5. Click the Type drop-down arrow, and select the applicable material type. Select the required Material(s) from the list. Click OK.

Recipe Editor

6-43

To Change Input Materials: 1. 2. On the Formula Inputs Editor window, click the Change Inputs button. The Materials window will appear.

All of the materials in the materials database of the selected Type, will be listed. The material types include Ingredients, Intermediates, Finished Goods, ByProducts, and Other. 3. 4. 5. Click the Type drop-down arrow, and select the applicable material type. Select the required Material from the list. Click OK. The new material will retain the values and phase assignments that were assigned to previous input. To Add or Change Input Materials- Alternate Method: In the event that the materials database grows very large, you may notice an increasing delay when opening the Materials window. To avoid this, you can use an alternate method to add or change input materials. 1. 2. 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. When you click the Add Inputs or Change Input button the Material window will appear.

3.

In the Material ID text box, enter the required Material ID and then click OK or Apply. If the material is located in the materials database, then the material is added to the list in the Formula Inputs Editor window. If the material does not exist in the materials database, an error message is displayed.

6-44

Chapter 6

To Edit Input Material Settings: 1. On the Formula Inputs Editor window, in the Material Settings pane, enter a quantity in the Value text box. For each material assigned as a recipe formula input, you can define a Value which represents the material quantity. This value is entered as either a percentage of the total batch size or as an actual value. 2. 3. Click the Type drop-down arrow and select Percent or Actual as required for the entered value. 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 in the 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. 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. 6. 7. If you specified Recipe as the Tolerance, enter a High Deviation and Low Deviation. In the Unit of Measure text box, enter an appropriate term (16-char max). (e.g. Kgs, Liters, Gallons, etc.) Click Change.

Recipe Editor

6-45

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 2. icon in the Recipe Editor Toolbar.

The Formula Outputs Editor window will appear.

6-46

Chapter 6

To Add Output Materials: 1. 2. On the Formula Outputs Editor window, click the Add Outputs button. The Materials window will appear.

All of the materials in the materials database of the selected Type, will be listed. The material types include Ingredients, Intermediates, Finished Goods, ByProducts, and Other. 3. 4. 5. Click the Type drop-down arrow, and select the applicable material type. Select the required Material(s) from the list. Click OK.

Recipe Editor

6-47

To Change Output Materials: 1. 2. On the Formula Outputs Editor window, click the Change Output button. The Materials window will appear.

All of the materials in the materials database of the selected Type, will be listed. The material types include Ingredients, Intermediates, Finished Goods, ByProducts, and Other. 3. 4. 5. Click the Type drop-down arrow, and select the applicable material type. Select the required Material from the list. Click OK. The new material will retain the values and phase assignments 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 the Materials window. To avoid this, you can use an alternate method to add or change input materials. 1. 2. Disable the Add Materials From List check box in the Formula Outputs Editor window. When enabled, materials are entered as described earlier in this section. When you click the Add Outputs or Change Output button the Material window will appear.

3.

In the Material ID text box, enter the required Material ID and then click OK or Apply. 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.

6-48

Chapter 6

To Edit Output Material Settings: 1. On the Formula Outputs Editor window, in the Material Settings pane, enter a quantity in the Value text box. For each material assigned as a recipe formula output, you can define a Value which represents the material quantity. This value is entered as either a percentage of the total batch size or as an actual value. 2. 3. Click the Type drop-down arrow and select Percent or Actual as required for the entered value. Enable the Total check box if you want the value to be included as part of the input total in the Inputs Summary list. s 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. 5. In the Unit of Measure text box, enter an appropriate term (16-char max). (e.g. Kgs, Liters, Gallons, etc.) 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. When you construct a procedure, you can use the same phase more than once. If you do this, the associated process variable parameters will be used as many times as the phase is used. Because of this, the parameter names will be listed in the Process Variables window more than once. To prevent confusion when viewing the list, you can change the process variable names so that they are more descriptive. Changing the name in this way only affects the specific instance of the parameter in the recipe. Also, as you build the procedure, you can change the names

Recipe Editor

6-49

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 2. The Process Variables window is displayed. icon in the Recipe Editor Toolbar.

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. 4. 5. Select a Process Variable from the list. In the Name text box, enter an appropriate name (16-char max). In the Value text box, enter an appropriate value. The Value must be within the range of the High and Low Limit values defined for the parameter in the process model database. 6. 7. 8. Click the Tolerances drop-down arrow and select General, Recipe, or None as required. In the High Deviation and Low Deviation text boxes, enter values that are consistent with the Tolerance that you specified. Click Change.

6-50

Chapter 6

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. A stored operation consists of an 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 2. The Operations Library window will appear. icon in the Recipe Editor Toolbar.

All of the operations that have been previously saved will appear in the list. 3. 4. 5. In the Operation Name text box, enter an appropriate name. In the Comments box, enter a description for the Operation (optional). Click Change and then Close.

Recipe Editor

6-51

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 Add or Edit a Recipe State: 1. 2. On the Recipe Editor menu, click Edit and then select Recipe States. The Edit Recipe States window will be displayed.

3. 4. 5. 6.

Select the required State from the list. In the Name text box, enter a name for the State. In the Description box, enter text describing the state (optional). 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.

6-52

Chapter 6

Edit/Recipe Types
Use the Edit/Recipe States 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. Using the Recipe Type Editor, you can essentially create categories that you can assign to the recipe header. Examples of recipe Types might include CIP, Barbecue, Salad Dressing, etc. Once defined, recipe Types are available for every recipe in the recipe management system. A Recipe Type consists of a Name (16-char max) and an optional description. The assignment of a Type to a recipe is optional and will not prevent validation or approval of a recipe. Recipe Types can be changed at any time by a user. To Add or Edit a Recipe Type: 1. 2. On the Recipe Editor menu, click Edit and then select Recipe Types. The Edit Recipe Types window will be displayed.

3. 4. 5. 6.

Select the required Type from the list. In the Name text box, enter a name for the type (16-char max). In the Description box, enter text describing the type (optional). 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. Click Add if you creating a new Type or click Change if you are editing an existing Type.

7.

Recipe Editor

6-53

View Menu
Use the Recipe Editor View menu to modify the layout of the Recipe Editor Toolbar and Status, and change to change the magnification (zoom-in or zoom-out) of the recipe operation and phase displays.

View/Zoom In Operations
To Zoom In on Recipe Operations: Click View and then select the Zoom In Operations command to increase the displayed size of objects in the recipe operation pane. You can also use the Zoom In Operations icon in the Main Toolbar.

View/Zoom Out Operations


To Zoom Out of Recipe Operations: Click View and then select the Zoom Out Operations command to decrease the displayed size of objects in the recipe operation pane. You can also use the Zoom Out Operations icon in the Main Toolbar.

View/Zoom In Phases
To Zoom In on Recipe Phases: Click View and then select the Zoom In Phases command to increase the displayed size of phases in the recipe phase pane. You can also use the Zoom In Phases icon in the Main Toolbar.

View/Zoom Out Phases


To Zoom Out of Recipe Phases: Click View and then select the Zoom Out Phases command to decrease the displayed size of phases in the recipe phase pane. You can also use the Zoom Out Phases icon in the Main Toolbar.

6-54

Chapter 6

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

Help/Help Topics
Use the Help/Help Topics command to display the help contents for Recipe Editor. To View the Help Topics for Recipe Editor: 1. 2. From the Recipe Editor menu, select Help and then click Help Topics. The Help Topics:InBatch Help window will appear.

Help/About Recipe Editor


Use the Help/About Recipe Editor command to view Version and FactorySuite Licensing information for InBatch. To View Help About Topics for Recipe Editor: 1. 2. 3. From the Recipe Editor menu, select Help and then click Help About Recipe Editor. The Help Topics:InBatch Help window will appear. Click OK to close the window.

To View FactorySuite Licensing Information: 1. 2. 3. 4. From the Recipe Editor bar, select Help and then click About Recipe Editor. The About Recipe Editor window will appear. Click View License. The License Utility window will appear. Using the License utility is beyond the scope of this User Guide. s

Note:

For more information on Factory Suite Licensing, see your FactorySuite Administrator Guide. s

Recipe Editor

6-55

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 sequence of events. An overview of s the Recipe Editor window and all of the major components is shown below. Each of these items is described in more detail in this section.

Sequence of Operations

Sequence of Phases

6-56

Chapter 6

Procedure Layout
The Recipe Editor Procedure window is divided into two sections:The left side contains the Sequence of Operations while the right side contains the Sequence of Phases associated with each Operation.

Sequence of Operations
The Sequence of Operations section of the Procedure window 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.

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.

Recipe Editor

6-57

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 the dockable toolbars.

Operations Toolbar

Add Operation icon is used to enter a user-defined operation. The The Add Operation operation name and the associated process instance name are displayed on the object. Load Operation The Load Operation Operation Library. Add Operation Transition The Add Operation Transition into the sequence of operations. Add Operation Branch The Add Operation Branch sequence of operations. Add Operation Loop The Add Operation Loop of operations. Delete Operation Object The Delete Operation Object icon is used to delete an operation, transition logic, branch, or loop object from the sequence of operations. Undo The Undo icon is used to undo the most recent change. icon is used to enter a loop object into the sequence icon is used to enter a branch object into the icon is used to enter a transition logic object icon is used to load a pre-defined operation from the

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.

6-58

Chapter 6

Phases Toolbar

Add Phase The Add Phase icon is used to enter a phase into the procedure. The phases that are available are read from the process model corresponding to the equipment assigned to the operation. The phase name and the associated process or transfer instance name are displayed on the object. Add Phase Transition The Add Phase Transition the sequence of phases. Add Phase Branch The Add Phase Branch of phases. Add Phase Loop The Add Phase Loop phases. Delete Phase Object icon is used to delete a phase, transition logic, The Delete Phase Object branch, or loop object from the sequence of phases. Undo The Undo icon is used to reverse the previous command. icon is used to enter a loop object into the sequence of icon is used to enter a branch object into the sequence icon is used to enter a transition logic object into

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.

Recipe Editor

6-59

Storing an Operation
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 Save Operation button to store the operation. s

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. For more information on operation properties, see Operation Properties. later in this section

6-60

Chapter 6 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.

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.

Recipe Editor

6-61

Loading an Operation
As you create your recipe you can use one of two methods to load an operation from the operations library. To Load an Operation: 1. 2. On the Recipe Editor toolbar, click the Load Operation The Load Operation window will appear. icon.

3. 4.

Select the Operation that you want to load from the list. 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 then dragging the target operation into the recipe procedure. icon and

6-62

Chapter 6

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

6-63

Recipe Procedure Mechanics


Inserting Procedure Objects
The Sequence of Operations and the Sequence of Phases panes of the Recipe Editor window contain a cursor which is displayed as a highlighted rectangle. Whenever you add an Object, it is always inserted below the cursor. Thus, when inserting objects, always position the cursor immediately above where the object is to be inserted. The only exception to this is 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 an Operation: 1. 2. On the Recipe Editor toolbar, click the Add Operation The Add Operation window will appear. icon.

The Process Instances in the list correspond to the process class selections and instance definitions that you defined using the Equipment Requirements Editor. For more information on Equipment Requirements, see Equipment Requirements Editor earlier in this section. 3. 4. 5. Select a Process Instance from the list. Enter a Name (16-char max). Click OK to insert the operation object into to the sequence of operations.

6-64

Chapter 6

To Insert a Phase: 1. 2. On the Recipe Editor toolbar, click the Add Phase The Add Phases window will appear. icon.

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 Phase Type correspond to the process class instance selection made for the corresponding operation. There are six types of phases available, which are described in the following table. Phase Type Process Description 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. 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. This option displays and allows the user to Recipe Allocate any process instance defined in the recipe Equipment Requirements Editor. This option displays and allows the user to Recipe Release any process instance defined in the recipe Equipment Requirements Editor. This option displays and allows the user to Recipe Allocate any transfer instance defined in the recipe Equipment Requirements Editor. This option displays and allows the user to Recipe Release any transfer instance defined in the recipe Equipment Requirements Editor.

Transfer

Allocate Process

Release Process

Allocate Transfer

Release Transfer

4.

Click OK to add the phase operation object.

Recipe Editor

6-65

Transition Objects
icons to insert a Use the Add Operation Transition and Add Phase Transition 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 an Operation or Phase Transition Object: 1. In the Recipe Editor window click the Operation or Phase to which you want to add a transition. Click the Add Operation Transition or Add Phase Transition Operation or Phase that you selected above. The Transition will be added to the procedure. 3. Double-click the Transition object. icon for the

2.

6-66

Chapter 6 4. 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 Operation Transition or Add Phase Transition icon. This will insert the transition object and then immediately open the Transition Properties window.

5.

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.

Recipe Editor 6. 7. On the Expression tab, click the Expression Editor button. The Expression Editor window will appear.

6-67

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 13, Expression Editor of this User Guide. s 8. 9. After you have entered the required expression, close the Expression Editor window. On the Transition Properties window, click Close.

6-68

Chapter 6

Transition Expression Examples


Expression {TAG A} Not({TAG A}) {TAG A}>100 {TAG A}&{TAG B} Ask(Continue?) Result TRUE if TAG A is greater than 0. FALSE if TAG A is 0. TRUE if TAG A is 0. FALSE if TAG A is greater than 0. TRUE if TAG A is greater than 100. FALSE if TAG A is less than 101. TRUE if TAG A and TAG B are both greater than 0. FALSE if TAG A or TAG B is 0. 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. Same as the Ask question except that the question can only be answered by a user with the proper security clearance. 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. Batch execution will be delayed the specified amount of seconds. Batch execution will be delayed the specified amount of minutes. Batch execution will be delayed the specified amount of hours.

AskDoneBy(Continue?)

AskCheckBy(Continue?)

WaitSec(s) WaitMin(m) WaitHour(h)

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.

Recipe Editor

6-69

Branch Objects
icons insert a branch object The Add Operation Branch and Add Phase Branch 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. There are two types of branches:All and One. To Insert a Branch Object: 1. In the Recipe Editor window click the Operation or Phase to which you want to add a branch. Click the Add Operation Branch or Add Phase Branch Operation or Phase that you selected above. The branch will be added to the procedure. 3. Double-click the Branch. icon for the

2.

6-70

Chapter 6 4. 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 Branch Transition or Add Branch Transition This will insert the branch object and then immediately open the Branch Properties window. icon.

5.

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.

6.

Click the Execute Type drop-down arrow and select All or One. For more information on Branch Types, see Branch Execute Types later in this section.

7. 8.

Click Change and then Close. The branch will be inserted into the recipe procedure.

Note Branches cannot be added around an existing operation or phase. However, existing objects can be dragged-and-dropped into a branch object.

Recipe Editor

6-71

Branch Execute Types Execute Type - All


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

Execute Type:All

Branch Return Object Execute Type:One

Branch Return Object

6-72

Chapter 6

Loop Objects
The 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 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. 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 Operation or Phase to which you want to add a branch. Click the Add Operation Loop or Add Phase Loop Phase that you selected above. The loop will be added to the procedure. 3. 4. Double-click the lower portion (transition) of the loop object. The Transition Properties window will appear. For more information on using the Transition Properties window, see Transition Objects earlier in this section. 5. Define the transition using a unique Label (8-char max), Name (16-char max), an optional description (120-char max), and an Expression. By default, all new loop objects are automatically assigned a 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 13, 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. icon for the Operation or

2.

Recipe Editor

6-73

Deleting Procedure Objects


icons to remove Use the Delete Operation Object and Delete Phase Object objects from the respective procedure sequence. Deleting an operation, phase, branch, loop, or transition object is done by selecting the object and then selecting the appropriate 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 is provided.

icon to undo the most recent deletion. Only one level of undo

To Delete an Operation, Phase, or Transition Object: 1. 2. Single-click the object that you want to delete (operation or phase). Click the appropriate operation or phase Delete This example shows the deletion of the Heat Phase. icon.

6-74

Chapter 6

To Delete a Branch Leg: 1. Single-click the top of the branch object that you want to delete (Operation or Phase). Click the appropriate operation or phase Delete This example shows the deletion a ManAdd Phase. icon.

2.

To Delete the Entire Branch 1. Single-click the bottom of the branch object that you want to delete (Operation or Phase). Click the appropriate operation or phase Delete icon.

2.

This example shows the deletion of an entire branch that includes one BulkAdd and two ManAdd Phases.

Recipe Editor

6-75

To Delete a Loop 1. 2. Position the cursor on the Loop Return object of the loop that is to be deleted. Click the appropriate operation or phase Delete icon.

This example shows the deletion of loop which includes a Heat phase, an Agitate phase, and two phase transitions.

Moving and Nesting Procedure Objects


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 drag any existing operations or phases into the appropriate legs. You can also nest Branch and Loop objects to create very complex procedures.

6-76

Chapter 6

Operation Properties
Use the Operation Properties window to edit the properties of any operation object. To Edit Operation Properties: 1. 2. Double-click an operation object. 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. 2. On the Operation Properties window, click the Save Operation button. The Save Operation window is displayed.

3.

Enter an Operation Name (16-cha max) and an optional Comments (unlimited length). For more information on the use of the operation library, see Operation Library earlier in this section.

Recipe Editor

6-77

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. 2. In the Recipe Editor phase display, double-click the phase that you want to edit s The Phase Properties window will appear.

The Phase Properties window initially displays the Phase tab.

6-78

Chapter 6

Phase Tab
Use the Phase Tab to configure how the phase will interact with the batch system and operators. To Edit Phase Configuration: 1. 2. On the Phase Properties window, click the Phase tab. The Phase tab will appear.

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 a report to be generated at the end of the phase, click the Report button, and select a report. You can only select one report. For more information on reports, see Chapter 10, Reporting System.

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 prior to the start of the phase. The Acknowledge command button is part of the Batch Display. For more information on the Batch Display, see Chapter 8, 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, this 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

Recipe Editor

6-79

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 12, Security System. 6. In the On Exit 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 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 8, 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 12, Security System. 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 8, 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 or Held 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 8, Batch Management System. 9. Click Change and then Close.

6-80

Chapter 6

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. 2. On the Phase Properties window, click the Instructions tab. The Instructions tab will appear.

3.

Enter Instructions as required. 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 many 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. Click Change and then Close.

5.

Recipe Editor

6-81

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. 2. On the Phase Properties window, click the Parameters tab. 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. An example of each type is provided in the following sections. 3. Configure the phase parameter as required. The settings for each parameter can be edited from this dialog. In addition, the Sync Params button will become available when a difference is detected between the recipe phase and the definition of the phase in the Process Model. Selecting this button will update the recipe phase parameters with those defined in the model. Previously configured parameters will be unaffected.

Input Phase Parameters:

For more information on Input Parameters, see Edit/Formula Inputs earlier in this section.

6-82

Chapter 6

Output Phase Parameters:

For more information on Output Parameters, see Edit/Formula Outputs earlier in this section.

Process Variable Parameters:

For more information on Process Variable Parameters, see Edit/Process Variables earlier in this section.

Recipe Editor

6-83

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 execution. s To Edit Phase Documents 1. 2. On the Phase Properties window, click the Document tab. The Document tab will appear.

3.

Enter or Browse for the Document. Enter the document to be displayed when the phase is executed. The Document button permits browsing the file system for a document.

4. 5.

Define the Document Description as required. Define the Acknowledgement Requirements. Acknowledgment can be specified to occur at the start of the phase (On Entry) or as the last step (Prior to 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. 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 8, Batch Management System.

6-84

Chapter 6 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 Exit 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 the View Doc and View Doc Ack button on the Batch Display. You can configure the buttons to require the entry of security identification numbers and passwords as the first step of the phase. Configuration of the appropriate Done By and Check By security levels is performed in the Security Editor. For more information on the configuring security, see Chapter 12, Security System.

Recipe Editor

6-85

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 operation procedure with the source and destination instances assigned to the appropriate operations. 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. 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.

6-86

Chapter 6

Recipe Procedure Summary


You construct recipe procedures by combining operation and phase objects, and setting configuration options as described earlier in this section. The following summary shows the fundamental associations between the various editors and how you might use them as you create a recipe. These diagrams server as road maps which you can reference as you construct recipe procedures.

Operation and Phases

Recipe Editor

6-87

Operation Library

6-88

Chapter 6

Branch and Transition Objects

Recipe Editor

6-89

Phase Properties

7-1

C H A P T E R

Train Editor

Use Train Editor to create and edit lines of production that will be used when you schedule batches.

Contents
n n n

Overview Using Train Editor Assigning Units to Trains

7-2

Chapter 7

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.

Train Editor

Configuration Process Model Database (CfgModelDB)

Runtime Process Model Database (ModelDB)

Process Model Editor

Batch Manager

Train Editor

7-3

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. To Start Train Editor

1.

In the Environment Display, double-click the TrainEdit The Train Editor window will appear.

icon.

7-4

Chapter 7

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.

File Menu
Use the File menu to access system functions for Train Editor.

File/Print
Use this command to display the Print window to appear. 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.

Train Editor

7-5

File/Print Preview
Use this command to display the Select Reports window.

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.

7-6

Chapter 7

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 view Version and Licensing information for InBatch.

Train Editor

7-7

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. 2. In the Train Editor window, define a train Name (16-char max) and an optional Description (120-char max). Click Add. The train will be added to the Trains list. 3. Click Assign Units. The Assign Units to Train window will appear.

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.

8-1

C H A P T E R

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
n n n n n n

Overview Using Batch Scheduler Using Batch Display Starting Batch Manager Batch Execution Warm Restart

8-2

Chapter 8

Overview
Scheduling: Batch Scheduler prepares all of the batches that are ready to run for operators. 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, and 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. 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. 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.

Batch Management System

8-3

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 9, History and Archiving. 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 started. The Process Model Database is used to transform the Master Recipe to a Control Recipe. The Materials Database is used to retrieve the location and Tracking IDs of materials that are stored in units. The Materials Database is updated by Batch Manager when materials are used and when materials are produced. All batch execution events and operator activity are logged to the Historical Database. Batch Scheduler manipulates the Batch Database through Batch Manager. Several Batch Schedulers can be running in a system, but there is only one schedule database. Batch Runtime Clients and Batch Display provide a window into Batch Manager. From these, operators can select a batch, start a batch, put a batch in hold, restart a batch, and abort a batch. All information needed to monitor and interact with the process during the execution of a batch is provided. Batch Manager interacts with 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.

8-4

Chapter 8

Batch Management Diagram


Batch Client

Batch Display Recipe Editor


Recipe Database

Batch Manager

Batch Scheduler

Materials Editor
Materials Database

Batch Database

Process Modeling Editor Batch Control System Control System Phase Logic
Process Model Database

Historical Database

Batch Management System

8-5

Using Batch Scheduler


Use Batch Scheduler to manually schedule and dispatch batches that will be executed by Batch Manager. Batch Scheduler is not intended to operate as a complex scheduling package. 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. The batch system supports the operation of multiple instances of Batch Scheduler. 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 Scheduler: 1. In Environment Display, double-click the BatchSched The Batch Scheduler window will appear. Use this window to schedule, initialize and monitor batches. Use the toolbar and menu bar to access system functions and options for Batch Scheduler. icon.

8-6

Chapter 8

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.

File/Print Preview
Use this command to select a one or more reports and then preview the report(s) on the screen. This command 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.

Batch Management System

8-7

Edit Menu
Use this menu to access commands that you can use to modify the schedule list in Batch Scheduler.

Edit/Delete
Use this command to remove the selected batch from the schedule list. 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 Batch Toolbar. icon in the Batch Scheduler

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 Toolbar. icon in the Batch Scheduler

Edit/Move Up
Use this 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. Note If you sorted the Batch Schedule list, batches will be listed in the order defined by your sort preference. In this case, the Move Up option is not available.

This option is also available from the Move Up Toolbar.

icon in the Batch Scheduler

Edit/Move Down
Use this command to 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. Note If you sorted the Batch Schedule list, batches will be listed in the order defined by your sort preference. In this case, the Move Down option is not available.

This option is also available from the Move Down Toolbar.

icon in the Batch Scheduler

8-8

Chapter 8

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 show or hide the batch editing fields. This option is also available from the Batch Editor Toolbar. icon in the Batch Scheduler

View/Undo Sorting
By default, batches are listed in the order that they were initially scheduled. Sorting of batches can be done by selecting the top of the list control for the column on which to sort the list of batches. The Batch Scheduler status bar will indicate that the list of batches has been sorted. Use this command to undo any sorting that has been applied to the Batch Schedule list.

View/Filters
Use this command to display the Schedule Filters window. The Batch Scheduler status bar will indicate that the list of batches has been filtered This option is also available from the Filter icon in the Batch Scheduler Toolbar.

CLB
Use the CLB tab to sort the list of scheduled batches based on any combination of campaign, lot and batch.

Batch Management System

8-9

Recipe
Use the Recipe tab to sort the list of scheduled batches based on any combination of Recipe IDs, Types and States.

Train
Use the Train tab to sort the list of scheduled batches based on one or more train assignments.

8-10

Chapter 8

Mode/Status
Use the Mode/Status tab to sort the list of scheduled batches based on any combination of batch execution mode and status.

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 toolbar. s

View/Status Bar
Use this command to enable or disable Batch Scheduler status bar. s

Batch Management System

8-11

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. This option is also available from the Initialize Batch Scheduler Toolbar. icon in the Batch

Initialize/All
Use this command to initialize all of the batches in the schedule that have an Open status. This option is also available from the Initialize All Toolbar. icon in the Batch Scheduler

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.

8-12

Chapter 8

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.

Unit 1

Process Class A

Unit 4

Unit 2

Process Class B

Unit 5

Unit 3

Process Class C

Unit 6

Train 1

Train 2

Therefore, it is extremely important, when multiple paths are possible through a train, to determine if the recipe will execute properly for all possible paths. If not, a change in the train must be made.

Batch Management System

8-13

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.

This option is also available from the Execute in Order Scheduler Toolbar.

icon in the Batch

Help Menu
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 the Version information.

8-14

Chapter 8

Defining a Batch
A batch is defined by a Campaign ID (16-chars max), Lot ID (16-char max), Batch ID (16-char max), Recipe, Quantity (8-char max), Train, and Mode of operation. The scheduler will verify all new batch names to ensure validity and uniqueness.

Batch Identification
Each batch is identified by a unique three-part hierarchical name. The highest level is the Campaign ID, followed by the Lot ID, and finally the Batch ID. The Batch ID must be entered manually by an operator. It is not necessary to use all three of the identification fields. The Campaign field is required. The Lot and Batch fields are optional. All historical information about a batch is logged to history using the batch identification. If the batch identification is not unique, duplicates will 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 the ID, Name, State or Type. After you select a recipe, it appears in the Recipe field the of 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 are no longer applicable.

Batch Management System

8-15

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 doubleclicking on the desired entry in the list. The selected train name will be displayed in the train field of the Batch Scheduler window.

8-16

Chapter 8

Batch Execution Mode


Use the Mode combo-box to define the mode of batch operation when the batch is started. There are three modes of execution available for starting batches: Automatic, Semi-Automatic, and Manual. The mode can be changed at any time during batch execution from the Batch Display application. More information concerning changing batch modes is presented in a later section. Mode Automatic Semi-Automatic Description The recipe procedure is executed exactly as defined in the recipe. Each phase must be acknowledged by the operator before it is executed. Prior to acknowledging the phase, phase parameter values can be edited. Any phase in the recipe defined for equipment that is allocated to the batch can be manually executed.

Manual

For more information on dynamically changing the batch mode, see Batch Execution Mode Changes in this section.

Status
Each batch in the schedule list has a Status. The status shows the current state of the batch. There are seven different statuses. Status Open Ready Run Held Done Aborting Aborted Description Batch has been added to the schedule list, but has not been initialized. Batch has been successfully initialized. Batch has been started and is running. Batch has been held. Batch has completed normally. Batch is in the process of being aborted. Batch has been aborted.

Default Editor Settings


The Batch Scheduler will allow you to save the defined field entries for future use. The Save button will store the values entered for the Campaign ID, Lot ID, Batch ID, Recipe, Quantity, Train, and Mode fields. The Restore button will overwrite the current field entries with the saved values.

Batch Management System

8-17

Changing the Batch Schedule List


Use the buttons on the bottom of the Batch Scheduler 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. The batch ID field for the automatically generated batches is comprised of the entry made by the user with an instance number appended. For example, if the batch ID field were defined as test, the ten batches would have batch ID values of test1, test2, , test10. If No is selected, no batches will be added to the list. If no quantity is specified, the default batch size is used. Note If a batch ID value of more than 16 characters would have to be automatically created, then Batch Scheduler will remove characters from the end of the ID as required. For example, if the batch ID value were "16 char batch id" and 10 batches were automatically created, the batch ID values would be "16 char batch i1", "16 char batch i2", , "16 char batch 10".

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.

8-18

Chapter 8

Using Batch Display


Batch Display is a batch server and Batch Runtime Client application that provides an operator interface to Batch Manager. Batch Manager is responsible for managing the execution of the recipes, and also provides information, instructions, and the statuses of all batch activity in the system. It 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. 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. 2. On Environment Display, double-click the BatchDspl The Batch Display window will appear. icon.

3. 4.

Use the Batch Display window to monitor and modify batch execution. Batch Display displays the execution of a single batch. Use the menu bar to access system functions for Batch Display.

Batch Management System

8-19

File Menu
The Batch Display File menu provides system functions for Batch Display.

File/Exit
Use this command to close Batch Display.

Actions Menu
The Batch Display Actions menu contains the commands that are used to access Batch Display options.

Actions/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. Field Campaign ID Lot ID Batch ID Mode Value <MANUAL OPER> <MANUAL OPER> <MANUAL OPER> Manual

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. The Manual Operation option is available only when Batch Display is configured to use the Manual Operations application parameter in the Environment Editor. The execution mode for the 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.

8-20

Chapter 8

Actions/Save Control Recipe


Use this command to display the Save Control Recipe window.

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.

Batch Management System

8-21

Windows Menu
Use the Batch Display Windows menu to access the batch configuration windows.

Windows/Schedule
Use this command to display the Schedule window. The Schedule window provides a list of all batches that are scheduled and active in the system. Any batch with a status of Ready, Run, Held, Done, Aborting or Aborted is considered active. The list also indicates which batch requires action by displaying double-asterisks (**) in the Action column of the list. 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 Toolbar. icon in the Batch Display

8-22

Chapter 8

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. 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 to view or acknowledge a document. 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 Toolbar. icon in the Batch Display

Batch Management System

8-23

Windows/Equipment Allocation
Use this command to display the Equipment Allocation window. This option is also available from the Equipment Allocation icon in the Batch Display Toolbar.

Use this window to view the status and availability of the units 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.

8-24

Chapter 8 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. The View 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. Note Hold Propagation Mode 1 is enabled by default. In order to enable Hold Propagation Mode 2, you must set the Phase/Batch Status parameter name in Environment Editor. Hold Propagation Mode 1 (Default mode of operation) This mode allows unit allocation only when the unit 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 the batch is put in Held by an operator, Unit Hold is set for all of the units that are allocated by the batch. In this case, batch Status changes to Held. The operator can Restart the batch only when all unit states are in Held. When all unit states are Held, then all of the unit control Restarts are set. If any unit has an Alarm state, the Restart command is ignored. After a Restart command is written, 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 2 This mode allows unit allocation only when the unit is Unallocated, has an Available Status and has a Ready state. During normal execution, if the unit state changes to Alarm or Held, if an active phase status changes to Held, or if the batch is held by the operator, Unit Hold is set for all units allocated by the batch. In this case, a Phase Hold is set for all active phases and the batch state changes to Held. The operator can Restart the batch at only when all unit states are Held. When all unit states are in Held, then all of the Unit Restarts are set. If any unit has an Alarm state, the Restart command is ignored. After a Restart command is accepted, 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.

Batch Management System

8-25

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 in this section. This option is also available from the Offline Phase Editor Display Toolbar. icon in the Batch

Windows/Transition Logic
Use this command to display the Active Transitions window. For more information on viewing active transitions, see Active Transition Objects in this section. This option is also available from the Active Transitions Display Toolbar. icon in the Batch

8-26

Chapter 8

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 operation and phase display. The pertinent View menu options are described below.

View/Errors
Use this command to display the Errors window. All batch errors will be contained in this list. This option is also available from the Errors icon in the Batch Display Toolbar.

View/Toolbar
Use this command to display or hide the Batch Display toolbar.

View/SFC Toolbar
Use this command to display or hide the SFC toolbar.

View/Status Bar
Use this command to display or hide the Batch Display status bar.

View/Zoom In Operations
Use this command to enlarge the sequence of operations display. There are 10 levels of magnification available. This option is also available from the Zoom In icon in the SFC Toolbar.

View/Zoom Out Operations


Use this command to reduce the sequence of operations display. There are 10 levels of reduction available. This option is also available from the Zoom Out icon in the SFC Toolbar.

View/Zoom In Phases
Use this command to enlarge the sequence of phases display. There are 10 levels of magnification available. This option is also available from the Zoom In icon in the SFC Toolbar.

Batch Management System

8-27

View/Zoom Out Phases


Use this command to reduce the sequence of phases display. There are 10 levels of reduction available. This option is also available from the Zoom Out icon in the SFC Toolbar.

View/Large Icons
Use this command to change the size of the Batch Display toolbar icons.

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.

8-28

Chapter 8

Batch Display Layout


The Batch Display window is divided into several functions as illustrated below. Batch Display Toolbar SFC Toolbar Batch Identification Question List Batch Control Buttons Phase List Phase Control Buttons

Phase Parameter List

View/Ack Document Viewing

Sequence of Operations

Instruction List

Sequence of Phases

Batch Management System

8-29

Batch Display Toolbar

Manual Operation The Manual Operation icon is used to display a phantom batch. Save Recipe The Save Recipe icon is used to display the Save Control Recipe window. 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 The Offline 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.

SFC Toolbar

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

8-30

Chapter 8

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 parameter for active phases, as well as the ability to change parameters.

Instruction List
The Phase List provides a list of instructions associated with the phase selected in the Phase List.

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.

Batch Management System

8-31

Sequence of Operations
The Sequence of Operations dynamically shows the current operations being executed in the selected batch. The status of each operation in the SFC is represented with colors. Color Cyan Gray Green Yellow Description Continue Mode Execution Inactive Active Completed

Sequence of Phases
The Sequence of Phases dynamically shows the current phases being executed in the selected batch for the selected operation. The status of each phase in the SFC is represented with colors. Color Gray Green Red Yellow Description Inactive Active Interlocked, Held, or Waiting for Operator Action Completed

8-32

Chapter 8

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. 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 document viewing. 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 Status Ready Run Held Aborting Aborted Done Description Batch is ready to be Started. Batch is executing; Batch can be put in Hold. Batch is in Hold; Batch can be Re-started or Aborted. Batch is being aborted. Batch was aborted. Batch is finished. Active Button(s) Batch Start Batch Hold Batch Restart Batch Abort N/A N/A N/A

Batch Management System

8-33

Batch Execution Mode


The Edit Mode button displays the Batch Mode window. Selecting the desired mode with the combo box changes the Batch Execution Mode.

For more information on dynamically changing the batch mode, see Batch Execution Mode Changes in this section.

Phase Comments
The Edit Comment button displays the Comment window.

The Comment window can be used at any time. 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 enter, 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.

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.

8-34

Chapter 8

Equipment Selection
The Select Equipment button displays the Equipment Selection window.

This window contains a list of possible units that can be allocated for a particular recipe instance. Whenever Manual Unit Selection is configured for a process instance in the recipe Equipment Requirements Editor, the operator must select the equipment that will be allocated and used by the current batch. In the Equipment Selection window shown, the operator must choose from two units which one is to be allocated for the first reactor process instance. The Equipment Selection window is dynamic. The current status of units that are available for selection is displayed in the window. If the status of any equipment changes while the window is displayed, the status displayed will update accordingly. The status of units displayed in the Equipment Selection window corresponds to those statuses defined in the process model. As long as the new unit status represents an available status, the unit will remain displayed in the list.

Batch Management System

8-35

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.
Phase Status
Wait Wait

Description
Phase is waiting for operator action. Message line will indicate whether a comment or an acknowledge is required. Phase is currently running. Phase can be run after acknowledging the message. Batch Manager will wait until the phase is Ready. Phase is executing. Phase is in Hold; Phase can be Re-started or Aborted. Phase execution is complete. Interlocks are preventing the phase from executing. Phase has been Aborted.

Action
Acknowledge or Edit Comment. Acknowledge Unexpected Status Window. Phase Hold Phase Restart or Phase Abort N/A Select Interlocks button. N/A

Run Held Done Interlocked Aborted

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.

8-36

Chapter 8

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.

Batch Management System

8-37

Phase Parameter Editor


The 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.
l l l l l l

Add an Instruction to a phase. 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 not displayed in the list.

8-38

Chapter 8

Active Transition Objects


Use the Active Transitions window used to view the expressions associated with all active transition objects. The display provides a 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 Management System

8-39

Starting 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. The application executes as an operating system service.

8-40

Chapter 8

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

Batch Management System

8-41

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 in which the connection and segment(s) were allocated to execute 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. 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.

8-42

Chapter 8

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.

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

Batch Management System

8-43

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.

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.

8-44

Chapter 8

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

Batch Management System

8-45

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.

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.

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

8-46

Chapter 8 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.

Batch Management System

8-47

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.

8-48

Chapter 8

Process Phases
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.

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.

Batch Management System

8-49

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

8-50

Chapter 8

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.

Batch Management System

8-51

Transfer Phases
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.

8-52

Chapter 8

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. 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. 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 reexecute the phase. This will occur until the original target is achieved.

Batch Management System

8-53

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.

8-54

Chapter 8

Continue Mode Execution


As was described earlier, under normal circumstances the 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, the operation 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.

Batch Management System

8-55

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. Unit 1 Unit 2

Pump 1

Unit 3

Unit 4

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.

8-56

Chapter 8 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. 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.

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 in the Report Editor, Batch Manager will signal the Report Manager upon completion of the batch. Batch Manager will pass to the Report Manager 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 Management System

8-57

Batch Runtime Errors


The following errors may be displayed during batch execution. In all cases, when an error occurs, an error window similar to the one shown below will be displayed. Error: Reason: Operation. Cannot change mode of <MANUAL OPERATION> batch! Manual Mode is the only valid Batch Execution Mode when in Manual Acknowledge Error Window.

Corrective Action: Error: Error: Error: Error: Error:

Unexpected phase status of READY! Unexpected phase status of RUN! Unexpected phase status of HELD! Unexpected phase status of DONE/ABORTED! 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: Error: Restart. Manually reset the phase and restart Batch Manager.

Cannot access material material id! - Hold Batch; Correct Problem;

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. 2. Make the appropriate material-unit assignment using the Material Editor. Cannot access transfer transfer name! - Hold Batch; Correct Problem; #1 - A connection associated with the transfer cannot be found in the train.

Error: Restart. Reason:

Corrective Action: Put the batch in Hold. Modify the Train to include the appropriate unit that would support the transfer. Restart the batch. Reason: recipe. #2 - The batch is assigned to a train that cannot properly execute the Make sure the batch is assigned to a train that can properly

Corrective Action: execute the recipe. Reason:

#3 - The connection has not been entered in the process model.

8-58

Chapter 8 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: Restart. Cannot access process process name! - Hold Batch; Correct Problem;

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.

Batch Schedule Errors


The following errors may be displayed during batch scheduling. In all cases, when an error occurs, an error window will be displayed. Corrective action must be taken and the window acknowledged by the operator before the batch execution will return to normal. Error: Entry is not next in schedule!

Reason: Schedule Execution mode is set for Execute in Order and the selected batch is not the next READY batch in the schedule. Corrective Action: Error: Select the next batch that is READY in the schedule.

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: Error: Select another batch.

Batch Status is not READY!

Reason: You are attempting to Start a batch that appears to have a status of READY. Just prior to starting the batch, another operator either Started it from another Batch Display or the status of the batch was changed to OPEN, using the Batch Scheduler. Corrective Action: Error: Select another batch.

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.

Batch Management System

8-59

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

Batch Manager Warm Restart Data Files

Control System Phase Logic

8-60

Chapter 8

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. 2. 3. 4. Upon the occurrence of a system failure, the batch control system must be completely shutdown if the failure did not automatically accomplish this. The batch control system must then be restarted. All equipment allocated by any of the previously active batches will remain allocated. All batches previously in the Batch Scheduler will be returned to the scheduler with their previous status. The exceptions to this are that the Execute in Order option in the Batch Scheduler will not be set upon restarting the system and all batches that were in the run state prior to the failure will be in the held state when the system is restarted.

For more information on changing the mode in which batches are resumed, see Batch Restart Mode. 5. The statuses of all 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. The mode of all batches and the value of all phase parameters will be unchanged following the restart of a failed system.

6.

Batch Management System

8-61

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

8-62

Chapter 8

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.
Last Known Phase Status as Viewed by Batch Manager Current Control System Phase Status Ready Run Held Interlock None

Ready Interlock Run Held Done Aborted

Valid Valid Valid Valid Valid Valid

Re-Sync Re-Sync Valid Valid Valid Valid

Re-Sync Re-Sync Valid Valid Valid Valid

Valid Valid Re-Sync Re-Sync Re-Sync Re-Sync

Valid Valid Re-Sync Re-Sync Valid Valid

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.

Batch Management System

8-63

Manual Operation
The use of Manual Operation and Warm Restart presents the possibility of some unusual phase states. 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 following a system failure. If Manual Operation is being utilized and a system failure occurs, the following sequence of event will occur. Operator actions are required to rectify the manual operation status. 1. 2. 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. 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. 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. 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. The operator can continue manual operation as normal.

3.

4.

5.

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. For more information on Manual Operation, see Actions/Manual Operation.

9-1

C H A P T E R

History and Archiving

The InBatch History and Archiving databases utilize Microsoft SQL Server 7.0 to store and archive all information related to the production of a batch. This includes events, process data, production information, material usage, operator comments, operator actions, and equipment used. Note This documentation does not describe how to use Microsoft SQL Server 7.0. However, it does reference SQL Server applications. Wonderware strongly recommends that only qualified SQL Server personnel configure and maintain the InBatch databases. Following proper installation, this chapter can be used as a reference for understanding how InBatch historical information gets put into the history database, the structure of the history tables, and for information on using the History Administration and History Archive applications. For more information on installing InBatch and configuring history, see Chapter 2, Installation and Administration in this user guide. s For more information on Microsoft SQL Server 7.0, please consult the Microsoft SQL Server documentation.

Contents
n n n n n

Overview History Database Structure Using the History Administration Program History Archive Operation Archiving Historical Data

9-2

Chapter 9

Overview
InBatch historical batch information is stored in a Microsoft SQL Server database. There are three applications that log data to InBatch history: Batch Manager, Process Log Manager, and InTouch. SQL Server can be installed on either the Batch Server or a separate system. In addition, there is a Microsoft Access formatted database on the Batch server and Batch Runtime Client platforms. This database is used by the appropriate applications if the connection to SQL Server is interrupted. When the connection is restored, the InBatch MdbToServer application automatically runs and moves the history data stored locally to the SQL Server database. Integrated InBatch reporting is disabled when information is being written to the local Access database. Note In the case of a redundant InBatch installation, SQL Server must be installed on a third system which is shared between the master and backup InBatch servers. By using the third system, history data is available to both the master and backup servers without the need for any type of synchronization. For more information on redundant configurations, see Chapter 22, Redundancy in this user guide. s
Batch Server History Administration InTouch (wwextalm.dll) (ibhist.dll)
Local Access Database

Batch Runtime Client

Batch Manager

Process Log Manager

Information Manager

Local Access Database

MdbToServer

MdbToServer

History Archive

SQL Server

InBatch History Database

InBatch Archive Database

Archive Dump Files (*.dmp)

SQL Executive

History and Archiving

9-3

History Database Structure


The InBatch history and archive databases contain many components. There are Tables, Views, Stored Procedures, Rules, Defaults, and User Defined Data Types. Much of this is beyond the scope of this User Guide. However, a database relationship diagram and s the history table structures are presented in the next sections. This information should be used to understand the history data structure and facilitate custom report generation.

Entity-Relationship Diagram
ProcessVarChange Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label DoneBy_User_ID Parameter_ID CheckBy_User_ID Old_Target_Value New_Target_Value MaterialOutput Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Material_Parameter Phase_Label Material_ID Material_Name UnitOfMeasure Actual_Qty Target_Qty MaterialChar Batch_Log_ID Material_Characteristic Material_Char_Value Material_ID Material_Instance_ID MaterialInputChange Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label Material_Parameter Material_ID DoneBy_User_ID CheckBy_User_ID Old_Target_Qty New_Target_Qty MaterialInput Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Material_Parameter Phase_Label Material_ID Material_Instance_ID Material_Name UnitOfMeasure Mtrl_Campaign_ID Mtrl_Lot_ID Mtrl_Batch_ID Actual_Qty Target_Qty BatchDetail Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID DoneBy_User_ID Phase_Label CheckBy_User_ID Action_CD

ProcessVar Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label Parameter_ID Actual_Value Target_Value

Transition Batch_Log_ID DateTime UnitOrConnection Operation_ID Transition_ID Transition_Instance_ID Transition_Label Transition_Description TransitionExpression Batch_Log_ID DateTime UnitOrConnection Operation_ID Transition_ID Transition_Instance_ID Transition_Label Transition_Description Seq_Num Expression_Text

DocViewEvent Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label DoneBy_User_ID CheckBy_User_ID Doc_Loc Doc_Desc

BatchIdLog Batch_Log_ID Campaign_ID Lot_ID Batch_ID Product_ID Product_Name Recipe_ID Recipe_Name Recipe_Version Recipe_Approval_CD Train_ID Batch_Size Archive_CD Log_Open_DT Log_Close_DT

BatchAdmin BatchAdmin_ID Create_DT Start_DT End_DT Completion_CD Completion_DT Scheduled_by_User Archive_Desc Archive_Device Archive_FileName Purge_IND Restore_IND Archive_IND Status_CD Target_DB Status_Desc Schedule_DT

CodeTable Code Description

ProcessLog AuditEvent Audit_Event_ID User_Name App_Name Func_Name Func_Lvl DateTime Op_Station Recipe_ID Reason Batch_Log_ID DateTime UnitOrConnection Tag_Value Tag_Name Data_Class

UserProfile User_ID Effective_TS User_Name

EquipStatus UnitOrSegment DateTime New_Status Old_Status Recipe_ID Last_Recipe_ID DoneBy_User_ID CheckBy_User_ID Operator_Comment ESField1 ESField2 ESField3 ESField4 ESField5 ESField6 ESField7 ESField8

Event Batch_Log_ID DateTime UnitOrConnection Event_CD Alarm_Type Operator_ID Priority Tag_Name Tag_Group Group_Name Tag_Value_Limit Engineering_Units Event_Comment Alarm_State OperatorComment Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_Instance_ID Phase_ID Phase_Label DoneBy_User_ID CheckBy_User_ID Operator_Comment SeqNum PhaseInstruction BatchQuestion Batch_Log_ID DateTime DoneBy_User_ID CheckBy_User_ID Question Answer Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label SeqNum Instruction

9-4

Chapter 9

Tables
AuditEvent
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 Audit_Event_ID User_Name App_Name Func_Name Func_Lvl DateTime Op_Station Recipe_ID Reason Data Type varchar[16] varchar[30] varchar[16] varchar[16] varchar[8] datetime[8] varchar[16] varchar[16] varchar[100]

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 BatchAdmin_ID Create_DT Start_DT End_DT Completion_CD Completion_DT Scheduled_by_User Archive_Desc Archive_Device Archive_FileName Purge_IND Restore_IND Archive_IND Status_CD Target_DB Status_Desc Schedule_DT Data Type char[10] datetime[8] datetime[8] datetime[8] char[1] datetime[8] varchar[16] varchar[64] varchar[30] varchar[254] char[1] char[1] char[1] char[1] varchar[30] varchar[255] datetime[8]

History and Archiving

9-5

BatchDetail
The BatchDetail table contains a record for every event in the execution of a batch. Events are defined using an Action Code. The Action Codes are defined in the CodeTable table. Batch Manager is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID DoneBy_User_ID Phase_Label CheckBy_User_ID Action_CD Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[16] varchar[10] varchar[16] varchar[8] varchar[16] smallint[2]

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 Batch_Log_ID Campaign_ID Lot_ID Batch_ID Product_ID Product_Name Recipe_ID Recipe_Name Recipe_Version Recipe_State Recipe_Type Recipe_Approval_CD Train_ID Batch_Size Archive_CD Log_Open_DT Log_Close_DT Data Type varchar[10] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16] varchar[8] varchar[16] varchar[16] smallint[2] varchar[16] int[4] char[1] datetime[8] datetime[8]

9-6

Chapter 9

BatchQuestion
The BatchQuestion table contains a record for every question displayed and answered by the operator during the execution of a batch. Batch Manager is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime DoneBy_User_ID CheckBy_User_ID Question Answer Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[40] smallint[2]

CodeTable
The CodeTable table contains the codes and descriptions that are used in 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 Code Description Code 201 202 203 204 205 206 207 208 209 210 211 221 222 223 224 225 226 227 228 229 230 231 232 Data Type smallint[2] varchar[64] Description Batch received Start Batch received Hold Batch received Restart Batch received Abort Batch set Done Batch set Closed Batch Warm Restart Batch Redundancy Switchover Batch Set Aborted Allocate Release Phase wait for Allocate Phase received Allocate Phase wait for Entry Ack Phase received Entry Ack Phase received Interlock Phase received Ready Phase set Start Phase received Run Phase set Hold Phase received Held Phase set Restart Phase set Abort

History and Archiving Code 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 260 261 262 265 266 270 271 272 275 276 277 278 279 300 301 305 306 400 401 Description Phase received Aborted Phase received Done Phase set Reset Phase received Bad Ready Phase received Bad Run Phase received Bad Held Phase received Bad Done Aborted Phase received Bad Interlock Phase wait for Req Edits Phase received Req Edits Phase wait for Req Cmmt Phase received Req Cmmt Phase wait for Exit Ack Phase received Exit Ack Phase wait for Start Phase received Start Phase resync Phase wait for Entry Doc View Phase received Entry Doc View Phase wait for Entry Doc Ack Phase received Entry Doc Ack Phase wait for Exit Doc View Phase received Exit Doc View Phase wait for Exit Doc Ack Phase received Exit Doc Ack Batch mode changed to Automatic Batch mode changed to Semi-Automatic Batch mode changed to Manual Phase set Control Button1 Phase set Control Button2 Unit Hold set Unit Restart set Unit Abort set Force Transition True Transition Start Transition Stop Transition True Transition False Yes No Approved for Production Approved for Test Batch set Run Batch set Held

9-7

9-8

Chapter 9 402 410 411 412 413 Batch set Aborting Unit received Ready Unit received Run Unit received Held Unit received Alarm

DocViewEvent
The DocViewEvent table contains a record Field Batch_Log_ID UnitORConnection_ID Operation_ID Phase_ID Phase_Instance_ID Phase_Label DoneBy_User_ID CheckBy_User_ID DateTime Doc_Loc Doc_Desc Data Type char[10] varchar [16] varchar [16] varchar [16] varchar [10] varchar [8] varchar [16] varchar [16] datetime[8] varchar [254] varchar [120]

EquipStatus
The EquipStatus table contains a record for every unit or segment status transition. Batch Manager is responsible for the data in this table. The structure of this table is presented below. Field UnitOrSegment DateTime New_Status Old_Status Recipe_ID Last_Recipe_ID DoneBy_User_ID CheckBy_User_ID Operator_Comment ESField1 ESField2 ESField3 ESField4 ESField5 ESField6 ESField7 ESField8 Data Type varchar[16] datetime[8] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16] varchar[40] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16]

History and Archiving

9-9

Event
The Event table contains a record for every event in InTouch for which a batch can be associated. The event is either an operator action or an alarm event. InTouch WindowViewer is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime UnitOrConnection Event_CD Alarm_Type Operator_ID Priority Tag_Name Tag_Value Group_Name Tag_Value_Limit Engineering_Units Event_Comment Alarm_State Data Type char[10] datetime[8] varchar[16] char[3] varchar[4] varchar[16] smallint[2] varchar[84] varchar[16] varchar[32] varchar[16] varchar[16] varchar[50] varchar[10]

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 Batch_Log_ID Material_Characteristic Material_Char_Value Material_ID Material_Instance_ID Data Type char[10] varchar[16] float[8] varchar[16] varchar[10]

9-10

Chapter 9

MaterialInput
The MaterialInput table contains a record for every material consumed in a batch. Batch Manager is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Material_Parameter Phase_Label Material_ID Material_Instance_ID Material_Name UnitOfMeasure Mtrl_Campaign_ID Mtrl_Lot_ID Mtrl_Batch_ID Actual_Qty Target_Qty Data Type char[10] datetime[8] varchar16 varchar16 varchar16 varchar[10] varchar[16] varchar[8] varchar[16] varchar[10] varchar[40] varchar[12] varchar[16] varchar[16] varchar[16] float[8] float[8]

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 Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label Material_Parameter Material_ID DoneBy_User_ID CheckBy_User_ID Old_Target_Qty New_Target_Qty Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[16] varchar[10] varchar[8] varchar[16] varchar[16] varchar[16] varchar[16] float[8] float[8]

History and Archiving

9-11

MaterialOutput
The MaterialOutput table contains a record for every material produced in a batch. Batch Manager is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Material_Parameter Phase_Label Material_ID Material_Name UnitOfMeasure Actual_Qty Target_Qty Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[16] varchar[10] varchar[16] varchar[8] varchar[16] varchar[40] varchar[12] float[8] float[8]

OperatorComment
The OperatorComment table contains a group of one or more records for every comment entered by an operator during a batch. Each record contains a portion (40 characters) of the comment. The SeqNum field defines the comment sequence. Batch Manager is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_Instance_ID Phase_ID Phase_Label DoneBy_User_ID CheckBy_User_ID Operator_Comment SeqNum Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[10] varchar[16] varchar[8] varchar[16] varchar[16] varchar[40] int[4]

9-12

Chapter 9

PhaseInstruction
The PhaseInstruction table contains a group of one or more records for every phase instruction presented to an operator during a batch. Each record contains a portion (40 characters) of the instruction. The SeqNum field defines the instruction sequence. Batch Manager is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label SeqNum Instruction Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[16] varchar[10] varchar[8] int[4] varchar[40]

ProcessLog
The ProcessLog table contains a record for every data sample logged. Process Log Manager is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime UnitOrConnection Tag_Value Tag_Name Data_Class Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[84] varchar[12]

History and Archiving

9-13

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. Field Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label Parameter_ID Actual_Value Target_Value Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[16] varchar[10] varchar[8] varchar[16] varchar[16] varchar[16]

ProcessVarChange
The ProcessVarChange table contains a record for every change made to a phase process variable parameter by an operator during a batch. Batch Manager is responsible for the data in this table. The structure of this table is presented below. Field Batch_Log_ID DateTime UnitOrConnection Operation_ID Phase_ID Phase_Instance_ID Phase_Label DoneBy_User_ID Parameter_ID CheckBy_User_ID Old_Target_Value New_Target_Value Data Type char[10] datetime[8] varchar[16] varchar[16] varchar[16] varchar[10] varchar[8] varchar[16] varchar[16] varchar[16] varchar[16] varchar[16]

9-14

Chapter 9

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. The structure of this table is presented below. Field Batch_Log_ID DateTime Operation_ID Transition_ID Transition_Instance_ID Transition_Label Transition_Desc Data Type char[10] datetime[8] varchar[16] varchar[16] char[10] char[9] char[120]

TransitionExpression
The structure of this table is presented below. Field Batch_Log_ID DateTime Operation_ID Transition_ID Transition_Instance_ID Transition_Label Seq_Num Expression_Text Data Type char[10] datetime[8] varchar[16] varchar[16] char[10] varchar[8] int[4] varchar[40]

UserProfile
The UserProfile table contains a record The structure of this table is presented below. Field User_ID Effective_TS User_Name Data Type varchar[16] datetime[8] varchar[30]

History and Archiving

9-15

Using the History Administration Program


The History Administration utility is used to record the user that will used for the Batch Manager to logon to SQL Server. This application should be run only one time from each of the Batch Server and Batch Runtime Client nodes in order to establish an account for historical information to be written to SQL Server. Note InBatch 7.1 is delivered with a default configuration for History Administration. This can be used in most systems. The exception is when tight security is required on the batch history database. In this case, Wonderware recommends that the system administrator controls the user names and passwords for SQL Server access.

To Start the History Administration Program: 1. Point to the History Admin icon in the InBatch Server program folder. The History Administration window will appear.

2.

Enter the appropriate user account information that InBatch will use to connect to the SQL Server history databases. Administration information consists of a User Name, which should correspond to the user InBatch will use to connect to SQL Server, the Password for the user entered, and the Domain on which the node is registered. If acting as a stand-alone system, the computer name should be entered as the Domain.

3.

After entering the required information, click OK button. The History Administration information that is stored within the batch system is encrypted.

9-16

Chapter 9

History Archive Operation


Use the History Archive utility to create and execute archiving jobs that are registered with the Microsoft SQL Server history database. To Start the History Archive Utility: 1. Select the History Archive application from the InBatch Server program folder. The Logon to SQL Server window appears.

Note To gain access to the History Archive application, a user must successfully logon to SQL Server. Only valid SQL Server database owner (dbo) users can gain access to History Archive. For more information on setting up InBatch history security, see Chapter 2, Installation and Administration in this user guide. s 2. Enter a valid User Name and Password, and then click OK. The History Archive window will appear. The window lists all archive tasks along with their current status.

History and Archiving

9-17

File Menu
The History Archive File menu provides system functions for the History Archive utility.

File/Print
Use this command to display the Print window. The Print window contains a Select Reports list box with several pre-formatted reports, and also allows you to specify other printer options. This option is also available from the Print icon in the History Archive Toolbar.

9-18

Chapter 9

File/Print Preview
Use this command to select, and then preview report(s). You can preview several reports by holding down the Control (or shift) key while clicking and selecting a list item.

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

File/Exit
Use this command to close History Archive.

Edit Menu
The History Archive Edit menu contains the commands that you will use to configure archive parameters.

Edit/Add Entry
Use this command to open the Add New Archive window. The archiving operation is described in more detail in a later section. This option is also available from the Add icon in the History Archive Toolbar.

Edit/Edit Entry
Use this command to open the Edit Archive window. The archiving operation is described in more detail in a later section. This option is also available from the Edit icon in the History Archive Toolbar.

Edit/Delete Entry
Use this command to delete the selected archive entry. The archiving operation is described in more detail in a later section. This option is also available from the Delete Toolbar. icon in the History Archive

History and Archiving

9-19

Edit/Restore Archive
Use this command to open the Restore Archive window. The archiving operation is described in more detail in a later section. This option is also available from the Restore Toolbar. icon in the History Archive

Edit/Purge Data
Use this command to open the Purge Data window. The archiving operation is described in more detail in a later section. This option is also available from the Purge Toolbar. icon in the History Archive

View Menu
The History Archive 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 display.

View/Refresh
Use this command to open the Refresh Archive window. The archiving operation is described in more detail in a later section. This option is also available from the Refresh Toolbar. icon in the History Archive

9-20

Chapter 9

Help Menu
The History Archive 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 the History Archive to appear.

Help/About History Archive


Use this command to view the Version and Licensing information for InBatch.

History and Archiving

9-21

Archiving Historical Data


Add a New Archive
Use the Add New Archive window to define new archiving tasks. An archive record consists of the information that follows.

Item (10-characters) The item entry is defined by the SQL Server and cannot be modified by the user. This field represents a unique entry specific to each archive task. The same item entry is stored in the InBatchAdmin history database table in SQL Server. This field will be blank when a new task is defined. Task Name The task name is defined by the SQL Server and cannot be modified by the user. This field represents a unique entry specific to each archive task and includes the unique item entry. This field will be blank when a new task is defined. Description (64-characters maximum) The description can be any text you want to use to describe the archive entry. An error message will be displayed if the entry is blank. Dump Device Name (30-characters maximum) The dump device can be any 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 (255-characters maximum) The file name represents the complete path and name that will be created by Archive History when the archive entry is executed. An error message will be displayed if the entry is blank.

9-22

Chapter 9 Scheduled Date/Time The scheduled date and time represents when the Microsoft SQL Executive will perform the archive task. Many formats, including those shown below, can be used to represent the date and time. An error message will be displayed if the entry is invalid. -MM/DD/YYYY -DD/MM/YYYY -MM/DD/YY -DD/MM/YY -Month Day, Year -Day Month Year Archive Database Name This name represents the Microsoft SQL Server archive database name defined upon installation and setup of InBatch history. History Data Start Date The start date represents the starting point for archiving history data. Many formats, including those shown below, can be used to represent the date. An error message will be displayed if the entry is invalid. -MM/DD/YYYY -DD/MM/YYYY -MM/DD/YY -DD/MM/YY -Month Day, Year -Day Month Year Note This date is inclusive. All batches completed on or after this date will be archived. A batch is considered completed when it had obtained a status of Done or Aborted and has been removed from the Batch Scheduler.

History and Archiving History Data End Date

9-23

The end date represents the ending point for archiving history data. Many formats, including those shown below, can be used to represent the date. An error message will be displayed if the entry is invalid. -MM/DD/YYYY -DD/MM/YYYY -MM/DD/YY -DD/MM/YY -Month Day, Year -Day Month Year Note This date is inclusive. All batches completed on or before this date will be archived. A batch is considered completed when it had obtained a status of Done or Aborted and has been removed from the Batch Scheduler. Archive Data The Archive Data check box is selected if the archive task is to create a data file for the batch history defined by the start and end dates. This option can be selected with the Purge Data option, but not concurrently with the Restore Archive option. Restore Archive The Restore Archive check box is selected if the archive task is to restore batch history information from a data file into the archive database. If this option is selected, the Archive Data and Purge Data options cannot be selected. Purge Data The Purge Data check box is selected if the archive task is to delete the data defined by the start and end dates from the history database upon execution of the archive task. This option can be selected with the Archive Data option, but not concurrently with the Restore Archive option. Warning Extreme caution should be used when purging batch historical information. Always make sure the data to be purged has been successfully archived. Wonderware recommends that data is archived and verified first, then, if required, purged at a later date and time. When an archive task has been successfully added, an entry is made in the History Archive task list, the InBatchAdmin table in the SQL Server history database, and registered with the SQL Executive. The task will be executed at the specified date and time. Note SQL Executive must be running to execute archive tasks and only one archive task can be executed at a time.

9-24

Chapter 9 When the archive task is executed by the SQL Executive, the history data included within the start and end dates inclusively will be copied (if Archive Data selected) or copied and deleted (if Archive Data and Purge Data options are selected) to the InBatch Archive database and to the Dump File Name. Note The archive task will overwrite the contents of the Archive database. The current status of the archive task is displayed in the History Archive main window. The following list contains the valid codes. Status Code R C E Description Archive task Running. Archive task Completed. Archive task Error. These errors pertain to user-induced archive operation only. No attempt is made to report SQL Server or SQL Executive errors. An example of an error would be trying to execute two archive tasks at the same time.

Note The History Archive system does report all errors. Some system level errors are beyond recognition of the History Archive application. It is possible for History Archive to show a completed task that actually failed. The application should be used primarily to schedule archive tasks. Microsoft SQL Server Enterprise Manager should be used to check for failed tasks. In the event of failed tasks, check the SQL Server error log for diagnostic information

History and Archiving

9-25

Edit an Archive
Use the Edit Archive window to modify the parameters associated with an archive task. The same fields described earlier are displayed in the window. In addition, the Item and Task Name fields will contain the appropriate identifiers.

Delete an Archive
An archive entry can be deleted at any time. A message box will appear requiring confirmation of the deletion.

9-26

Chapter 9

Restore an Archive
Use the Restore Archive window to copy the contents of an archive dump file to the Archive database defined in SQL Server. Only the Description field can be modified when a restore is performed. The restore option will only be available for achieve entries that have a Completed (C) status code.

Note The Restore Archive option will perform the restoration immediately and will overwrite the contents of the Archive database. If a restoration must be scheduled then it should be added as another archive task.

History and Archiving

9-27

Purge Data
Use the Purge Data window to delete historical data as defined by the task start and end dates. Only the Description and Scheduled Date/Time fields can be modified when a purge is performed. The purge option will only be available for achieve entries that have a Completed (C) status code.

Warning The Purge Data option will perform the data deletion immediately. Extreme caution should be used when purging batch historical information. Always make sure the data to be purged has been previously and successfully archived.

10-1

C H A P T E R

1 0

Reporting System

The Reporting System consists of a Report Editor, Report Manager and a Report Display. The Report Editor is used to create reports and define when they are to be generated. The Report Manager has the responsibility of triggering and printing runtime reports as defined by the report configuration. Report Display provides the ability to s generate demand reports. The reporting system is based on Crystal Reports Professional 6.0. Detailed information on how to create reports using Crystal Reports is not provided in this manual. However, information that is specific to using Crystal Reports with InBatch is described. Reports can include historical batch information such as materials usage, production output, and logged data. Wonderware has provided several predefined reports that are described later in this section.

Contents
n n n n n n n n

Overview Using Report Editor Crystal Report Assignment Control Criteria Destination Criteria Reset Data Using Report Manager Using Report Display

10-2

Chapter 10

Overview
The Report Editor is used to create reports. A report consists of control criteria, destination criteria, data reset information, and a Crystal Report reference. When a report is generated, its destination can be either a file or a printer. The Report Manager uses the defined reports to determine which reports are to be generated and what information is to be included in each report. The Reports Display is used to trigger demand reports.

Report Editor

Report Database

Crystal Reports

Batch Manager

Triggers

Report Manager

Reports Display

File Printer Display

Reporting System

10-3

Using Report Editor


Use the Report Editor to define reports that contain historical batch data. A set of predefined reports is provided. You can develop your own reports with Crystal Reports Professional. You can define as many reports as you require. To Start Report Editor:

1.

From Environment Display, double-click the RptEdit The Report Editor window will appear.

icon.

The Report Editor main window is used to define new reports. A report consists of a Report Name (16-char max), an optional Description (120-char max), and the full path and filename for a Crystal Report reference. The editor verifies new report names to ensure that they are unique. The File, Edit and Help menus provide to access the system functions for Report Editor. A set of sample reports is provided as part of InBatch. These reports are described later in this section.

10-4

Chapter 10

File Menu
Use the File menu to access system functions for the Report Editor.

File/New
Use this command to clear the current report from memory. If prior editing had been made and not saved, a message box will be displayed providing the option to discard the changes before clearing the report.

File/Open
Use this command to display the Reports window of the available reports in the database. Open the appropriate report by double-clicking the name or selecting the report and pressing the OK command button. 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 report.

Reporting System

10-5

File/Save
Use this command to save the changes that you have made to a report. Reports are saved in the report database. If you do not make any changes to a report after opening it, the Save menu item will not be available.

File/Validate
This command initiates a validation of the current report. The validation process consists of the following verifications. The report name is properly defined. A Crystal Report has been assigned. Control criteria have been properly defined. Destination criteria have been properly defined. All tags selected in the report exist in the process model. If the validation is successful, a message window will appear. If validation errors exist, the associated tags will be displayed along with a validation error message.

File/Delete
Use this command to remove the currently loaded report from the database. When you attempt to delete a report, a window will appear asking for confirmation of the deletion.

10-6

Chapter 10

File/Print
Use this command to display the Print window. The Print window contains a Select Reports list with several pre-formatted reports, and also allows you to output to a printer or a file, as well as select number of copies that you want to print.

Reporting System

10-7

File/Print Preview
Use this command to display the Select Reports window. You can select as many reports as you need from the list. If you want to preview several reports, press the Control (or shift) key while making your selections.

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

File/Exit
Use this command close the Report Editor. If have edited a report and did not save it, a message box will be displayed providing the option to discard the changes before exiting.

10-8

Chapter 10

Edit Menu
Use the Report Editor Edit menu to access the to access the report configuration and definition windows. Each menu option is described in detail following this section.

Edit/Control Criteria
Use this command to display the Control Criteria window.

Edit/Destination Criteria
Use this command to display the Destination Criteria window.

Edit/Reset Data
Use this command to display the Reset Data window.

Reporting System

10-9

Help Menu
Use the Report Editor Help to access the online help and information about the program version and licensing.

Help/Help Topics
Use this command to display the Report Editor help system.

Help/About Report Editor


Use this command to display the Report Editor version and licensing information.

10-10

Chapter 10

Crystal Report Assignment


Use the Crystal Report field on the Report Editor window to assign a Crystal Report to the configuration. The attached report is executed by the Report Manager according to the control and destination criteria defined within the report. You can enter a report name (and path) in the File name box. You can also click the Browse button to locate existing reports. If you click the Browse button, the Open window will appear.

Note This document does not describe how to create reports using Crystal Reports Professional 6.0.See your Crystal Reports user documentation for more information.

Reporting System

10-11

Predefined Crystal Reports


There are several reports that are provided with the reporting system. A summary of each report is provided below. The B_ designator refers to batch specific reports. The M_ designator refers to summary material reports. The S_ designator refers to summary batch reports. These reports can be executed as is, or modified using Crystal Reports Professional 6.0 to produce the desired information. Report Name B_BatchDetail.rpt Description

Provides a summary of all batch execution activity for a batch. B_BatchEvents.rpt Provides a summary of all batch client alarm and event activity for a batch. B_BatchQuestion.rpt Provides a summary of all questions for a batch. B_DocViewEvents.rpt Provides a summary of all document viewing events for a batch. B_Journal.rpt Provides a comprehensive journal report of a batch. B_MatlChar.rpt Provides a summary of all material characteristics for a campaign, lot and batch. B_MatlInChgs.rpt Provides a summary of the changes made by operators to the original formula inputs quantities for a batch. B_MatlInputs.rpt Provides a summary of all materials consumed in a batch. B_MatlOutputs.rpt Provides a summary of all materials produced by a batch. B_MatlOutTotals.rpt Totalizes all materials produced for a batch. B_OpComments.rpt Provides a summary of all operator comments for a batch. B_PhaseInstrs.rpt Provides a summary of all recipe phase instructions for a batch. B_ProcessLog1.rpt Provides a summary of all process log values for a batch. B_ProcessLog2.rpt Provides statistical information of all process log values recorded for a specific tag. B_ProcessLog3.rpt Provides a graphical representation of all process log values recorded for a specific tag. B_ProcVar.rpt Provides a summary of all process variable target and actual values for a batch. B_ProcVarChgs.rpt Provides a summary of changes made by operators to the original formula process variables for a batch. B_Transitions.rpt Provides a summary of all transition logic events and transition logic details for a batch. M_BatchesByMatl.rpt Provides a list of batches that used a specific material or material from a specific vendor. S_BatchListing.rpt Provides a summary report of all batches produced.

10-12

Chapter 10 S_EquipStatus.rpt S_ProductByLot.rpt S_Production.rpt Provides a summary report of all equipment status changes. Provides a summary of all of the finished products produced. Provides a summary report that includes number of finished products produced, number of lots, number of batches and total quantity produced. Provides a summary report that includes all security system clearance requests as well as whether the request was granted or denied.

S_SecurityListing.rpt

Reporting System

10-13

Control Criteria
The Control Criteria window is used to define the report triggers; that is, how and when a report will be generated. The trigger options include Auto Batch End, Expression, and Time. Also, each report can be triggered outside of the report configuration definition by assigning the report to be generated at the end of a phase in the Recipe Editor. One or more of the triggers may be defined for a report. The trigger options are enabled by selecting the appropriate check box.

Auto Batch End


Selecting the Auto Batch End check box in the Triggers pane allows you to generate reports at the completion of every batch. The Batch Manager will notify the Report Manager after a batch becomes done or aborted. Selecting the Reset check box for the Auto Batch End trigger will cause the tags defined in the Reset Data window to be written after the report is generated.

10-14

Chapter 10

Expression
Selecting the Expression check box in the Triggers pane allows you to generate reports based on a user defined expression. The expression is defined with the Expression Editor by selecting the Edit Expression button. Any expression that can be stated as a logical true or false can be defined. Unit and connection tags can be used in the expression.

For more information on building expressions, see Chapter 13, Expression Editor of this user guide. s The Period combo box allows you to set how much of the historical data you want to include based on a fixed period of time. The available selections are as follows.
l l l l l l l l l l

Last 15 Minutes Last 30 Minutes Last Hour Last 2 Hours Last 4 Hours Last 8 Hours Last 12 Hours Last 24 Hours Last Week Last Month

Selecting the Reset check box for the expression trigger will cause the tags defined in the Reset Data window to be written after the report is generated.

Reporting System

10-15

Time
Selecting the Time check box in the Triggers pane allows you to generate reports based on a user-defined time interval. Time triggers are defined by clicking the Assign button in the Time Triggers pane. From the Assign Time Triggers window, you can select the time trigger by enabling the Hourly, Daily, Weekly, or Monthly radio buttons. You can also set the trigger to occur on a specific day, hour, and/or minute by entering the appropriate information in the Day, Hour and Min fields. The Period combo box allows you to set how much of the historical data you want to include based on a fixed period of time. The options are described earlier in this section.

When you have entered the time trigger information, click Apply. The time data will be displayed in the Time Triggers pane of the Control Criteria window. Selecting the Reset check box for the Time trigger will cause the tags defined in the Reset Data window to be written after the report is generated.

10-16

Chapter 10

Time Options
Hourly Selecting the Hourly radio button generates the report at the specified minute of every hour. The acceptable minute value range is 0 to 59. Zero (0) represents the top of the hour and 59 represents one minute before the top of the hour. If a value outside of this range is entered, an error message is displayed. Daily Selecting the Daily radio button generates the report at the specified hour and minute of every day. The acceptable hour value range is 0 to 23. Zero (0) represents 12:00 AM and 23 represents 11:00 PM. The acceptable minute value range is 0 to 59. Zero (0) represents the top of the hour and 59 represents one minute before the top of the hour. For example, zero (0) hours and zero (0) minutes represents midnight, 12 hours and zero (0) minutes represents noon, and 18 hours and 30 minutes represents 6:30 PM. If a value outside of this range is entered, an error message is displayed. Weekly Selecting the Weekly radio button generates the report at the specified day, hour, and minute of every week. The acceptable day value range is 1 to 7. One (1) represents Sunday and seven (7) represents Saturday. The acceptable hour value range is 0 to 23. Zero (0) represents 12:00 AM and 23 represents 11:00 PM. The acceptable minute value range is 0 to 59. Zero (0) represents the top of the hour and 59 represents one minute before the top of the hour. If a value outside of this range is entered, an error message is displayed. Monthly Selecting the Monthly radio button generates the report at the specified day, hour, and minute of every month. The acceptable day value range is 1 to 28. This value represents the day of the month. The acceptable hour value range is 0 to 23. Zero (0) represents 12:00 AM and 23 represents 11:00 PM. The acceptable minute value range is 0 to 59. Zero (0) represents the top of the hour and 59 represents one minute before the top of the hour. If a value outside of this range is entered, an error message is displayed.

Reporting System

10-17

Destination Criteria
Use the Destination Criteria window to direct reports to a printer and/or a file.

If you want to output the report to a printer, you must select a printer from the list. If you want to print the report to a file, you must specify an Output Path and a Report Type. When you have entered the required information click Change. The destination options are enabled by selecting the appropriate check box. The Output Path of the report defaults to the InBatch configuration directory (config_A). However, any valid patch can be entered. This includes a full path including a drive letter (i.e. D:\directory1\directory2), as well as any valid UNC reference (i.e. \\node\directory1\directory2). There are several Report Types supported in the reporting system. These formats determine the structure of the report generated. The supported types include the following. Crystal Reports Word for Windows Comma Separated Values ASCII Text Excel HTML HTML2 Internet Explorer HTML2 Netscape

10-18

Chapter 10

Reset Data
Use the Reset Data window to define all of the tags and their respective values that will be written following report generation. Reset Data consists of a tag list containing the names of all of the tags to be reset and a value for each of the tags that is to be written.

Note You must select the Reset check box in the Control Criteria window if you want tags to be written upon completion of the generated report. To assign tags, click the Assign Tags button to display the Tag Selection window. Select all of the required tags from the list box and then click OK to add them to the Reset Data window Tags list box. The value for each tag is set to zero by default. If you want to enter a different value, select the tag in the Reset Data window Tags list box and enter a value in the Reset Value box. Click Change to update the value. Note The user is responsible for the validity of the Reset Value. Entered values are not validated by the system. Invalid values are not written to the control system.

Reporting System

10-19

Using Report Manager


Report Manager is a background application that is responsible for generating reports. It constantly monitors the Control Criteria for each report and then automatically generates a report when the criteria are satisfied.

Starting Report Manager


Report Manager is configured in the Environment Editor. It is started and stopped from the Runtime Application Display window within the Environment Display. Note If Report Manager is running and a named report is modified with Report Editor, the Report Manager application must be stopped and then restarted in order for the modifications to become active. Warning Wonderware strongly recommends that you shutdown Report Manager only during times of minimal reporting activity. Data loss can result if you shutdown Report Manager while it is either in the process of generating a report(s), or if there is batch activity that will trigger the creation of a report.

10-20

Chapter 10

Using Report Display


Report Display is used to execute previously created reports on demand. A set of predefined reports is provided. The reports are created using Crystal Reports Professional. The results of the report can be exported to a number of locations including a file or mail recipient. To Start the Report Display:

1.

On the Environment Display, double-click the ReportDspl The Report Display window will appear.

icon.

You can use this window to open and execute reports. You access system functions from the File, View and Help menus.

Reporting System

10-21

File Menu
The Report Display File menu provides system functions for the Report Display. The File menu items are described below.

File/Open
Use this command to display a standard Windows file system browser window. By default it will open to the InBatch Crystal directory (Batch Server only) that contains the pre-defined batch reports. This window can be used to browse the network for other Crystal Reports.

File/Export Report
Use this command to display the Export window.

Reports can be exported in a variety of formats and to a number of destinations. The File/Export Report menu option will only be available when a report is open. Some of the available export formats are: Common-separated values, ASCII text, Excel, Word for Windows, HTML. Other formats are available and are not described in this user guide. s The Destination path can be set to one of the following choices. Disk file Exchange Folder Microsoft Mail (MAPI)

10-22

Chapter 10

File/Refresh Report Data


Use this command to execute the current report again using the most up-to-date data. The report search criteria can be modified if defined for the report. The menu option is only be available when a report is open.

File/Close
Use this command to close the current report. The menu option will only be available when a report is open.

File/Print
Use this command to print the report to the device that you configured using the File/Print Setup menu.

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

File/Exit
Use this command to close the Report Display.

Reporting System

10-23

View Menu
Use the Report Display View menu to enable or disable the display of the Report Display toolbar and status bar.

Window Menu
Use the Report Display Window menu to arrange one or more open reports within the display. The Window menu will only be available when a report is open.

Help Menu
The Report 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 system for the Report Display.

Help/About Report Display


Use this command to view the Version and Licensing information for InBatch.

10-24

Chapter 10

Generating Reports
A report can be executed on demand from the Report Display simply by opening it. All reports must be compatible with Crystal Reports Professional 6.0. To generate, export, refresh, and print a report:

1.

From the File menu, select Open or click the The Open window will appear.

button.

2.

Select the report to be executed. If the report contains search criteria information, the following window will appear within the Report Display window. The arrow buttons can be used to scroll through the available fields.

Note The reports that are provided with InBatch contain various search criteria information. All of the search criteria fields will contain a wildcard character (*) or a default value. These defaults can be used or changed to a more appropriate value.

Reporting System 3.

10-25

Define the appropriate search criteria and then click OK to execute the report. The report will be generated and displayed in the Report Display window. The report itself also contains a number of icons that can be used to move from page to page in the report, print the report, export the report, and change the view of the report.

To Export a Report:

1.

From the File menu, select Export Report or click the The Export window appears.

button.

2.

Select the appropriate Format and Destination and click OK.

To Refresh Report Data:

1.

From the File menu, select Refresh Report Data or click the

button.

The search criteria window will appear (if defined), and the report can be updated with the latest historical information. To Print a Report: 1. From the File menu, select Print or click the The report will be printed. button.

11-1

C H A P T E R

1 1

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
n n n n n

Overview Process Log Criteria Using Process Log Editor Creating a Process Log Group Using Process Log Manager

11-2

Chapter 11

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. Real-time Data

Process Log Editor Process Log Database

Process Log Manager

Printer

Historical Database

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


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 13, Expression Editor.

Process Logging

11-3

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. Also, data is not logged when Process Log Manager is first started.

This example shows a simple Boolean expression that initiates logging whenever ReactorA is allocated. For more information on building expressions, see Chapter 13, 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.

11-4

Chapter 11

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. 2. Double-click the LogEdit icon in the Environment Display. The Process Log Editor window will appear.

3.

Enter a Configuration Name (16-char max) and optionally, a Description (120char 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.

Process Logging

11-5

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. 2. Click File and then select New. 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 (120char max).

11-6

Chapter 11

File/Open
Use the File/Open command to open an existing process log configuration. To Open a Configuration: 1. 2. On the menu bar, click File and select Open. 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. 4. From the Configurations window, select the configuration that you want to open. Click Open.

File/Save
Use the File/Save command to save a process log configuration. To Save a Configuration: On the menu bar, click File and select Save. 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: On the menu bar, click File and select Validate.

Process Logging

11-7

The Validate window will appear. If the validation is successful, the window will display the message:Process Log configuration is valid. If the configuration contains errors, all invalid tagnames will be listed.

11-8

Chapter 11

File/Delete
Use the File/Delete command to delete a process log configuration from the database. To Delete a Configuration 1. 2. On the menu bar, click File and select Delete. 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. 2. On the menu bar, click File and select Print. The Print window will appear.

3. 4. 5.

In the Select Reports list, select item(s) that you want. Select other printer options as required. 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.

Process Logging

11-9

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. 2. On the menu bar, click File and select Print Preview. The Select Reports window will appear.

3. 4.

Select the report(s) from the list 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 documentation for more information. s To Setup your Printer: 1. 2. On the menu bar, click File and select Print Setup. The Print Setup window will appear.

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.

11-10

Chapter 11

Edit Menu
Use the Edit menu to access system functions to define the criteria for your process log configuration.

Edit/Groups
Use the Edit/Groups menu to define the criteria for your process log configurations. For each group that you define, you must configure the general logging criteria and tags. General logging criteria consists of configuring a Log Trigger, Log Interval, and a destination for the logged data. The tags that are available for selection are those that exist in the process model. For more information on configuring logging criteria, see General Logging Criteria later in this section. For more information on creating Process Log Groups, see Creating Process Log Groups later in this section.

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

Process Logging 3. Click Edit and then select Groups. The Process Logger Group Editor window will appear.

11-11

4. 5. 6.

Enter a Group Name, Name (16-char max) and an optional Description (120-char max). Click Add. The Group Name that you entered will appear in the Process Logger Group Editor Group Names list. All Group Names are verified for uniqueness when you click Add or Change.

Note:

11-12

Chapter 11

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. 3. Click the Expression button to open the Expression Editor. 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. 5.

Click OK to close the Expression Editor. 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 13, Expression Editor. For more information on configuring logging criteria, see General Logging Criteria later in this section.

Process Logging

11-13

To Select a Data Destination (Printer and/or Historian): 1. 2. If you want to log process data to the history database, enable the Historian check box in the Process Logger Group Editor. 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.

3.

Select the printer that you want from the list and then click OK.

To Select Tags: 1. 2. On the Process Logger Group Editor, click Select Tags. The Tag Selection window will appear.

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.

11-14

Chapter 11 4. 5. Click OK. The Tag Selection window will close and the tags that you selected will appear in the Process Logger Group Editor.

6.

On the Process Logger Group Editor, click Close.

To Validate and Save the Configuration: 1. 2. 3. 4. On the Process Log Editor, click File and then select Validate. The Validate window will appear. Ensure that the window does not indicate an error, and then click Close. Click File and then select Save.

Note: If you have not entered a Configuration name, you will be prompted to do so. If you have made changes to an existing configuration, you will be prompted to overwrite the configuration. If you have not made any changes to the configuration, the Save option is unavailable.

Process Logging

11-15

Using Process Log Manager


Process Log Manager (LogMngr) is a runtime program that is responsible for retrieving and passing the data to the historian or the printer. Data is sampled and stored only when the conditions specified for the log triggers and log intervals are met. Process Log Manager continuously monitors all of the log triggers and log intervals in order to provide the required logging for each group.

Starting Process Log Manager


Process Log Manager is a runtime application that is configured using the Environment Editor It is started from the Runtime Application Display window in Environment Display. A Configuration application parameter corresponding to the configuration name defined in the Process Log Editor is required. Warning If you stop the Process Log Manager while it is in the process of logging data at a fast interval, or if there is batch activity that will result in data logging, data loss can result. Wonderware strongly recommends 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.

12-1

C H A P T E R

1 2

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
n n n n n n n n

Overview Using Security Editor Security System Configuration Security Levels Operator Stations User Accounts Applications-Functions Runtime Security

12-2

Chapter 12

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. Recipe Database

Security Editor

Security Database

Security Manager

Security API

Applications

Security System

12-3

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. To Start Security Editor:

1.

In the Environment Display, double-click the SecEdit

icon.

The Security Editor window will appear.

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.

12-4

Chapter 12

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 a New Password in the New Password and Verify Password window. Passwords must be at least six characters in length.

Security System

12-5

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, a Validate message be displayed. 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.

12-6

Chapter 12

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.

Security System

12-7

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.

12-8

Chapter 12

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

12-9

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.

Comment
This optional field can be used to document or comment on the security system configuration.

12-10

Chapter 12

Security Levels
Use the Security Levels Editor window to add, delete, and change security levels in the system.

A security level consists of a Name (16-chars max) and an optional Description (120char max). 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. 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.

Security System

12-11

Operator Stations
The Operator Stations Editor dialog is used to add, delete, and change operator stations in the system.

An operator station consists of a Name (16-chars max) and an optional Description (120-char max). Operator station names are verified to ensure uniqueness. 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 Configuration 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.

12-12

Chapter 12

User Accounts
Use the User Accounts window to add, delete, and change users in the system.

A user account consists of a Name (30-chars max), User ID (12-chars max), and a Security Level assignment. User accounts 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.

Security System

12-13

Security Level
Security Levels typically define a user job function, such as Operator, Supervisor, Lab s Technician, Mixer Operator, Boiler Operator, Control Engineer, etc. Assign security levels by clicking Security Level button. This displays the Assign Security Levels window

Use this window to select the required level. You can only assign one security level to a user.

Password
A password can be assigned to a user be selecting the Password button. This displays the Change Password window. A password must contain between 6 and 12 characters inclusive. Also, the new password must be entered and verified in order for it to be accepted. 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.

12-14

Chapter 12

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. This displays the Recipe Access assignment window

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.

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. This displays the Operator Stations window.

All operator stations that have been defined using the Operator Stations Editor are available. You can assign all stations by enabling the All Station Access check box.

Security System

12-15

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.

12-16

Chapter 12

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 120character 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.

Security System

12-17

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 ApplicationsFunctions Editor and define at least one level of security Access. 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.

12-18

Chapter 12

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.

Security System

12-19

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 window will indicate the current status of the security system.

Changing Passwords
Use the Change Password (ChgPwd) window to change user passwords whenever required. Use the Change Password window enter a New Password. To confirm the password change, you must also enter it in the Verify Password field. If all of the information has been entered correctly, the password will be changed.

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.

12-20

Chapter 12

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 password has not yet been defined or the password has expired, the New s Password window will be displayed. This will require the user to enter their current User ID and Password, and then enter and verify a new password.

Security System

12-21

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 password has not yet been defined or the password has expired, the user s 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 functions, 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.

13-1

C H A P T E R

1 3

Expression Editor

The Expression Editor is used within the Recipe Editor, Report Editor, and Process Log Editor to construct expressions. An expression can consist of mathematical operators (+,-...) and/or operands (tags, constants...). For each application, the expression normally returns a logical true or false result. It is possible to assign values to tags under certain circumstances in the Expression Editor, but caution must be used. 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 Report Editor uses the Expression Editor for Expression triggers. 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
n n n n

Using Expression Editor Expression Elements Expression Building Rules Expression Examples

13-2

Chapter 13

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. Typically, an expression consists of one or more operands, such as tags and constants, and one or more operators. It is not mandatory for an expression to have an operator. Only when two or more operands are used is an operator required.

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.

Expression Editor

13-3

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 and that the cursor is positioned near or immediately after the error.

Edit Area

Numeric Keypad

Operators Delimiters

Formatting Commands

Tags Functions

Formatting Commands

Edit Buttons
The Formatting Commands (Space, Back Space, New Line, Tab, Store, Recall, Clear, and Reset) are available to assist you in constructing expressions. The Store and Recall are two buttons that are especially helpful for reusing expressions. 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. Next, select the new target object. Upon selecting, the Edit Area will be cleared. Click Recall to retrieve the expression. Modify the expression as needed, then Apply the expression to the new object.

2. 3. 4.

Tag operands and 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 operand and function are described in the following pages.

13-4

Chapter 13

To Insert a Tag Operand: 1. 2. 3. Click inside Edit Area at the desired position. Click Tags. The appropriate Tag Selection window will appear. Select the desired tag. This will insert the tag, with the appropriate delimiters, into the Edit Area.

To Insert a Function: 1. 2. Click inside the Edit Area at the desired position. 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 Editor

13-5

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. Operator Negate Multiply Divide Modulus Add Subtract Less Than Less Than or Equal To Greater Than Greater Than or Equal To Symbol * / % + < <= > >= Description Negates value of next operand. Multiplies values of previous and next operands. Divides value of previous operand by next operand. Remainder of division between previous operand and next operand. Adds values of previous and next operands. Subtracts value of previous operand by next operand. TRUE if previous operand is less than next operand; else FALSE. TRUE if previous operand is less than or equal to next operand; else FALSE. TRUE if previous operand is greater than next operand; else FALSE. TRUE if previous operand is greater than or equal to next operand; else FALSE. TRUE if previous operand is equal to next operand; else FALSE. TRUE if previous operand is not equal to next operand; else FALSE. TRUE if previous operand and next operand are TRUE; else FALSE. TRUE if previous operand or next operand is TRUE; else FALSE. No usable return value. Writes next operand to previous operand.

Equal To Not Equal To And Or Assignment

= <> & | :=

13-6

Chapter 13

Operands
Operands can be of type Boolean (True or False; also referred to as Discrete), Numeric (any positive or negative number) and String (alpha-numeric string of any length). Below is a list of valid operands. Operand Tag Type Description

Boolean, Numeric, String Batch control system tag- defined in the Process Model database. (e.g. {ReactorA-Heat-CS-RUN}) Numeric String Numeric Values. (e.g. 123.456) String of characters within double quotes. (e.g. Allocated)

Numeric Constant String Constant

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 Report Editor and the Process Log Editor applications. Function Ask AskDoneBy Example Ask (Continue?) AskDoneBy (Continue?) Description Used only in the Recipe Editor to ask yes/no type questions of operators. Used only in the Recipe Editor to ask yes/no type questions that require confirmation that the question has been answered. Used only in the Recipe Editor to ask yes/no type questions that require confirmation and verification that the question has been answered. 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. Used only in the Recipe Editor. When encountered, execution will be delayed the specified number of seconds. Used only in the Recipe Editor. When encountered, execution will be delayed the specified number of minutes. Used only in the Recipe Editor. When encountered, execution will be delayed the specified number of hours.

AskCheckBy

AskCheckBy (Continue?)

Not

Not({TagName1})

WaitSec

WaitSec(10)

WaitMin

WaitMin(30)

WaitHour

WaitHour(1)

Expression Editor

13-7

Delimiters
There are five delimiters that are used to identify operands and to build expressions within expressions (recursive expressions). Delimiter Braces - {...} Parentheses - (...) Example(s) {TagName1} ((10 + 1) * 20) Not ({TagName1}) ({Tag1}+(Tag2*3)) Index - [...] Quotes ... Comma - , Not currently used Text String N/A Description Braces are used to identify tags. Used for setting precedence. Used to define a function argument. Used to nest expressions. Used to access an offset value, in an operand greater than size zero. Quotes are used to identify a string. Used to separate function parameters which can be operands or expressions.

13-8

Chapter 13

Expression Building Rules


The following rules must be followed when defining expressions. 1. 2. 3. 4. 5. 6. The operand to the left of the Assign operator (:=) must be a Tag operand. Dividing by zero will return a result of zero. Negate is only valid on numeric operands. Add, Subtract, Multiply, and Divide are valid only when used with numeric operands. Modulus can only be used with numeric integer values. 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. AND and OR operators are only valid when evaluating Boolean operands and/or expressions that have a Boolean result. Tag assignments can be made but require a special format so that the overall expression results in a Boolean value. Assignment expressions must be defined with the following format. Examples of tag assignment expressions are provided later in this chapter. ({Tag}:=Value)=1 Warning Tag assignments can be constructed in the Expression Editor. However, caution must be used in defining these expressions. Only tags with an Access of Read/Write can be used in an assignment expression. Attempting to create assignment expressions using Read Only tags will result in runtime errors. The assignment of tags in Transition logic is supported; however, the following restrictions must be observed in order for the assignment to work properly. Tags used in the expression must not be used in any other parallel branches at that same level, nor can the tags be in an active log group or viewed using the TagView utility during the time that the transition is active. Essentially, when the transition is active the tags cannot be in use elsewhere in the system. Wonderware recommends that you create special Process Tags specifically for transition assignments as needed.

7. 8.

Expression Editor

13-9

Expression Examples
The following tags are used in the examples listed below. Tag Tag1 Tag2 Tag3 Tag4 Tag5 Tag6 Type Numeric Numeric Numeric Boolean Boolean String Value 100 50 5.5 0 1 String1

The following examples are included to illustrate the types of expressions that can be created as well as expressions that are invalid. Expression {Tag1}+{Tag2} {Tag2}/{Tag1} {Tag1}=>{Tag2} (Tag5} {Tag1} | {Tag5} {Tag6} | {Tag4} {Tag6}:=String2 {Tag4} {Tag5} {Tag1}<{Tag3} {Tag1}>{Tag3} {Tag6}=String1 {Tag6}<>String1 {Tag4} & {Tag5} {Tag4} | {Tag5} ({Tag6}:=String2)=1 Result Invalid Invalid Invalid Invalid Invalid Invalid Invalid Valid Valid Valid Valid Valid Valid Valid Valid Valid Description Tags cannot be directly modified. The result must be Boolean. Tags cannot be directly modified. The result must be Boolean. Invalid operator; should be >=. Invalid delimiter { instead of (. Tag1 has invalid data type. Both tags must be Boolean. Tag6 has invalid data type. Both tags must be Boolean. Tags cannot be directly modified. The result must be Boolean. FALSE TRUE FALSE TRUE TRUE FALSE FALSE TRUE Putting parentheses around the assignment and evaluating it equal to one makes this valid.

14-1

C H A P T E R

1 4

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

Contents
n n n

Phase Block Design Guideline Using the Phase Logic Testing Tool Exercising Phases

14-2

Chapter 14

Phase Block Design Guideline


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 Logic Development and Testing

14-3

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

14-4

Chapter 14

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.
Formula Parameters Interlocks Control Buttons Ready Run Held

Start Hold

Phase Control

Restart

Phase Logic
Abort Reset Done Interlocked Aborted Control Inputs Control Outputs

Phase Status

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 status mode and executes the block logic. During the remainder of this operation, the block can be put into the held status mode via the batch control system phase control hold command, or by the occurrence of a critical alarm condition. From the held status mode, 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 status mode 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 status mode. 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 mode. This sequence of events is followed each time the phase block is included in the current batch control system recipe configuration.

Phase Logic Development and Testing

14-5

Block Start

# Ready Bit Y N *Start Bit Y

# Interlock N Abnormal Condition Exists

* Denotes Phase Control Bit # Denotes Phase Status Bit

#Run Bit Y

Executing Program N #Held Bit N N #Done Bit Y Y Alarm Bit N *Hold Bit N Abnormal Condition Exist Y Y Alarm Reset Bit N Y Abort Bit Y Set *Abort Bit N *Restart Bit Y

* Reset Bit Y Block Stop

14-6

Chapter 14

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.

Phase Logic Development and Testing

14-7

Control System Code Structure


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

14-8

Chapter 14 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. Phase Status The phase status section includes the logic necessary to place the phase block into any one of the possible status modes. 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 semiautomatic 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. Phase Control

Control Buttons

Interlocks

Alarm Handling

Phase Status

Functional Logic General Phase Block Structure

Phase Logic Development and Testing

14-9

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 destination process class section of the control system program. Within s 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.

14-10

Chapter 14 System Outputs Start of Control System Program

System Alarms

Unit Control and Status Words

Process 1 Transfer From Process 1 to Process 2 Process 2 Transfer From Process 2 to Process 3 . . .

Unit 1 Unit 2
. . .

Phase 1 Phase 2
. . .

Unit P

Phase Q

Connection 1 Connection 2
. . .

Phase 1 Phase 2
. . .

Process N

Connection R

Phase S

System Outputs

End of Control System Program

Complete Control System Program Structure 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.

Phase Logic Development and Testing

14-11

Unit Control Bits


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 below. Hold The unit hold command is enabled by the batch management system for all units that are booked 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 booked 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 booked 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.

14-12

Chapter 14 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.

Phase Logic Development and Testing

14-13

Phase Control
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 mode. 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 mode. 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 mode. 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 mode. 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 mode.

14-14

Chapter 14 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 mode. 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 mode. 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 mode. 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 mode.

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 status mode 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 mode. 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 mode. 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

Phase Logic Development and Testing

14-15

places the block in the held mode. However, the actual operation of the phase logic while in the held mode 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 mode. 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 mode. 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 mode. Aborted
Normal Abnormal

Logic

Ready
Logic

Interlocked

Ini tial

Start Hold Reset Reset Logic Run Restart Abort Held

Ac tiv e

Done

Aborted

Te rm ina l

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

14-16

Chapter 14

Formula Parameters
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. They are 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 High Limit Low Limit

Phase Logic Development and Testing

14-17

Definition of 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 status mode, 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 status mode, an alarm will be generated. High Limit The high limit extension is a batch control system configured value that corresponds to the maximum value that can be entered in the recipe for a parameter target. Low Limit The low limit extension is a batch control system configured value that corresponds to the minimum value that can be entered in the recipe for a parameter target. Preact The preact extension value corresponds to the addition of bulk ingredients, and it is defined as the amount of an ingredient that is discharged from a source after the command has been given to stop the flow. An example of a preact would be the extra quantity of an ingredient that is being fed to a scale from a conveyor. When the desired weight is reached and the conveyor is turned off, there remains some extra quantity of the ingredient that falls from the conveyor to the scale. The quantity of this extra amount of an ingredient is called the preact. Automatic adjustments of the preact must be done in the control system. Lot Code The lot code extension is a batch control system configured value that corresponds to the lot code entered by the operator for an input material.

14-18

Chapter 14 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.

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.

Phase Logic Development and Testing

14-19

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.

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


To Start the Phase Logic Testing Tool:

1.

In the Environment Display, double-click the PhaseLogic

icon.

Note The Phase Logic testing tool is not included in the Environment Display by default. You must add the application using Environment Editor. For more information on editing the environment system, see Chapter 3, Environment Management System.

14-20

Chapter 14 The Phase Logic window will appear.

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.

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.

Phase Logic Development and Testing

14-21

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 Operation Flow Chart. 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.

15-1

C H A P T E R

1 5

Tag Linker

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

Contents
n n n n n n n

Overview When to Use Tag Linker Using Tag Linker Access Editor Tag Configuration Export Editor Control System Interfacing Example

15-2

Chapter 15

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

Model Editor

Configuration Model Database

Configuration Link Database

InTouch

Tag Linker

Export

XXX.csv File

DBLOAD (Optional)

InTouch Tagname Dictionary

InBatch
InTouch

For more information on browsing and referencing remote InBatch tags from InTouch, see Chapter 18, InTouch Batch Tag Browsing and Referencing.

Tag Linker

15-3

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. 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 21, 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 21, Tag Interface Management (TIM) System.

15-4

Chapter 15

When to Use Tag Linker


Wonderware recommends that you perform your application development in the following order: 1. 2. 3. Develop your InBatch process model. Use Tag Linker to assign required tags to appropriate control systems and/or InTouch node(s). 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.

Tag Linker

15-5

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.

To Start Tag Linker:

1.

Double-click the TagLinker

icon in the Environment Display.

The Tag Linker window will appear.

2.

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.

15-6

Chapter 15

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.

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

Tag Linker

15-7

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. Range/ Column Identity Length Type Description
1 2 3 4 5 Tag ID Tag Name Data Class Data Access Link Type long_min, long_max 85 characters Analog, Discrete String ReadOnly, ReadWrite Item, TagName, Memory 128 characters 131 characters long string enum enum enum InBatch internal tag id (READ-ONLY) InBatch tag name (READ-ONLY) Tag data class (READ-ONLY) Tag read/write characteristics (READONLY) Link type specifier (READ-WRITE)

6 7

Item Initial Value

string string

Access

15 characters

string

9 10

Export Flag Min Raw

NoExport, Export long_min, long_max long_min, long_max long_min, long_max long_min, long_max Float, Integer, or empty

enum double

Tag corresponding Item. Applicable to Link Type of Link (READ-WRITE) Tag initial value. Applicable to link type = Memory. NOTE: Can represent a numeric value conversion based on tag actual data type (READ-WRITE) The Access Name that owns this tag. The Access Name must exist in TagLinker. Assigned a value for Link Type = Memory. (READ-WRITE) Tag export flag. (READ-WRITE) Tag minimum raw value. Applicable to tags with Data Class = Analog. Value = 0 if not relevant. (READ-WRITE) Tag maximum raw value. Applicable to tags with Data Class = Analog. Value = 0 if not relevant. (READ-WRITE) Tag minimum scaled raw value. Applicable to tags with Data Class = Analog. Value = 0 if not relevant. (READ-WRITE) Tag maximum scaled raw value. Applicable to tags with Data Class = Analog. Value=0 if not relevant. (READ-WRITE) Tag actual data type. Applicable to tags with Data Class =Analog. Empty if not relevant. (READ WRITE)

11

Max Raw

double

12

Min Scaled

double

13

Max scaled

double

14

Data Type

enum

15-8

Chapter 15

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.

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.

Tag Linker

15-9

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

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

File/Exit
Use this command to close the Tag Linker. Note Your work is dynamically saved in the configuration link database as you edit and make changes to the linker configuration. Therefore, you do not have to be concerned with saving your work.

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

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

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

15-10

Chapter 15

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

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

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

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

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

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

Help/About Tag Linker


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

Tag Linker

15-11

Access Editor
Use the Access Editor to define Access Names. An Access Name represents a data source for InBatch tags. An Access consists of an

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

15-12

Chapter 15

Tag Configuration
Tag Selection
The Tag Linker window list is, by default, initially empty. This indicates that no tags have been selected. Use the View Filter Selection window to make modify this display.

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

Tag Linker

15-13

Item Definition

The Item Defintion 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.

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

Export Tag

The Export Tag check box allows you to enable or disable the export of the associated tag. Not all tags from the InBatch model are necessarily required for an InTouch application. If a tag is going to be used within the InTouch application and contained in the InTouch tagname dictionary, you must select the option. If a tag is not required, it can be de-selected. Note Exporting tags that are not required in InTouch is acceptable and perhaps convenient. However, batch utilities constantly monitor and manage InBatch and InTouch processes. A high quantity of unnecessary tags can degrade overall system performance. For more information on alternatives to exporting tags from InBatch and loading the tags into InTouch, see Chapter 18, InTouch Batch Tag Browsing and Referencing.

15-14

Chapter 15

Scaling Options

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

Data Type Selection


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

Tag Linker

15-15

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.

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.

15-16

Chapter 15 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.

Tag Linker

15-17

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. Hook Phase Prepare Phase Prepare Evaluate Equipment for Allocation Log Equipment Status Equipment Allocation Changes Description Called at the beginning of every phase. Called at the end of every phase. Called before units and connections are allocated. Called when the status of a unit or segment changes. Called whenever a unit or connection becomes allocated or released.

For more information on how to use the Batch Function Tags, see Chapter 21, 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. 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. Application TIDIR IBSERV IBSERV IBFSERV Topic TI_TOPIC IB_TAGS View1 View Description Accesses for imported tags following a Runtime Export. Accesses for imported tags following a Simulation Export. Access for imported TIM Tags. Access for imported Batch Function Tags.

15-18

Chapter 15

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. 3. 4. 5. 6. 7. Define a Client Type name. Select the ControlSystem access in the Export Access as InTouch IO Tags list. Select TIM Tags for export to the client. Define an Output Path/Filename. Add the Client Type. 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.

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. 3. Define the appropriate accesses for the tags in the process model. From the Tag Linker main window, select the View/Filter menu option. This displays the View Filter Selection dialog. 4. 5. Select the appropriate tags and define using the tag configuration options available in the Tag Linker main window. Select the Edit/Export menu option. This displays the Export Editor dialog. 6. 7. 8. 9. Define a Client Type name. Select the ControlSystem access in the Export Access as InTouch IO Tags list. Select TIM Tags for export to the client. Define an Output Path/Filename.

10. Add the Client Type. 11. Select the File/Validate menu option.

Tag Linker 12. This validates the list of tags to be exported. 13. Select the File/Runtime Export menu option.

15-19

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.

15-20

Chapter 15

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. 2. 3. 4. 5. 6. 7. 8. 9. Select PLC and develop the required phase logic. Select a Wonderware IO Server for your PLC (Available from your Distributor). Use the Tag Linker Access Editor to define an Access Name for the IO Server. Use the Tag Linker View Filter Selection dialog to select tags. Assign the appropriate Item Names to the tags. Configure parameters if necessary (i.e. scaling, etc.). Perform Tag Linker Validation. Perform Tag Linker Runtime Export. 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: Protocol TI_TOPIC SuiteLink

All of the tags assigned to this Access Name are now associated with the TIDIR IO Server located on plcnode. If you have multiple topics for the TIDIR I/O Server, or if you are using multiple IO servers, you will need to add a new Access Name for each.

Tag Linker

15-21

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 View Filter Selection dialog, select the required tags or groups of tags and s 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 Environment Editor. For each instance of IBCli you need to configure several application parameters. For the purpose of our example, we need to configure one instance as follows: Access Name: 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. The Simulation Manager (SimMngr) is only used during simulation. Use Environment Editor to remove this from the Runtime Application Display list in the Environment Display. Lastly, you will need to select the Update/Environment and Update/Runtime menu options in that order from the Environment Display. TI_Tags

16-1

C H A P T E R

1 6

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 Guide. s Note You must have the appropriate client licensing in order to successfully use the InBatch wizards.

Contents
n n n n n

Overview InBatch Wizard Access Names and Support Tags Using InBatch Wizards InBatch Wizard Descriptions InBatch Wizard Data Change Script

16-2

Chapter 16

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

InTouch Batch Wizards

16-3

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 15, Tag Linker. The tags automatically created when an InBatch wizard is used are listed below along with a description of each. Tag IB_TIM_ACCESS_TAG Description Used by the TIM tags in the InTouch application. Initial value should refer to the InBatch Server, \\batchserver\IBServ|View1. Used to enable client security. Contains results of using the batch script-addon functions.

IB_SEC_DIALOG_TAG IB_RESULT_TAG

For more information on configuring client security, see Chapter 19, InBatch Client Security. For more information on using the batch script add-on functions, see Chapter 17, InTouch Script Add-On Functions.

16-4

Chapter 16

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

InTouch Batch Wizards

16-5

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 the Button Wizard section of this chapter.) 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.

16-6

Chapter 16

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.

InTouch Batch Wizards

16-7

Batch Scheduler/Dispatcher

Provides the necessary tags and user interface for batch scheduling and initialization. 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 21, Tag Interface Management (TIM) System.

16-8

Chapter 16

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.

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 described at the end of this chapter) update all windows to reflect the currently selected batch.

InTouch Batch Wizards

16-9

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 as described at the end of this chapter in order for these wizards to properly function.

16-10

Chapter 16

Change Batch Mode

Allows the user to change the current batch mode. Batch mode can be set to Automatic, Semi-Automatic or Manual.

InTouch Batch Wizards

16-11

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 as described at the end of this chapter in order for these wizards to properly function.

16-12

Chapter 16

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 as described at the end of this chapter in order for these wizards to properly function.

InTouch Batch Wizards

16-13

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 17, InTouch Script-Add-On Functions.

16-14

Chapter 16 Button Configuration Name Batch Abort Batch Comment Batch Hold Batch Mode: Set to Automatic Batch Mode: Set to Manual Batch Mode: Set to Semi-Automatic Batch Restart Batch Start Edit Phase and Parameter: Change Parameter Edit Phase and Parameter: Change Phase Equipment: Allocate Equipment: Release Equipment: Select Equipment: Unit Abort Equipment: Unit Hold Equipment: Unit Restart Errors: Clear Focus Change: Batch Messages Focus Change: Batch Schedule Focus Change: Edit Phase and Parameter Focus Change: Equipment Focus Change: Recipe Focus Change: View/Force Transition Logic Phase Abort Phase Comment Phase Hold Phase Restart Phase Start Phase: Ack Document Phase: Ack On Entry Phase: Ack On Exit Phase: Change Parameter Phase: Set Control Button #1 Phase: Set Control Button #2 Phase: View Document * Animation When Inactive * Animation When Active or Inactive * Animation When Inactive * Animation When Inactive * Animation When Inactive * Animation When Active or Inactive * Animation When Inactive * Animation When Active or Inactive * Animation When Inactive * Animation When Inactive * Animation When Inactive * Animation When Active or Inactive Parameters *Animation When Inactive * *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive *Animation When Inactive Batch Action 19 38 20 23 25 24 21 22 44 43 13 14 39 15 16 17 12 27 26 42 18 28 47 29 34 30 31 32 50 33 33 37 35 36 49

InTouch Batch Wizards Name Question: Answer No Question: Answer Yes Save Recipe: Overwrite Save Recipe: Verify Schedule Edit: Add Schedule Edit: Change Schedule Edit: Clean-up Schedule Edit: Delete Schedule Edit: Initialize Schedule Edit: Initialize All Schedule Edit: Move Down Schedule Edit: Move Up Schedule Edit: Multi-Add Schedule Edit: Set Execute In Order Mode to OFF Schedule Edit: Set Execute In Order Mode to ON Transition Logic: Force Window Hide: HideSelf Window Show: Batch Messages Wizard Window Show: Batch Questions Wizard Window Show: Equipment Selection Wizard Window Show: Error Wizard Window Show: Phase Comment Wizard Window Show: Phase Interlocks Wizard Window Show: Show Window Name Window Name Required, Animation When Active Window Name Required, Animation When Active Window Name Required, Animation When Active Window Name Required, Animation When Active Window Name Required Window Name Required Window Name (optional) Animation When Inactive Animation When Inactive * Animation When Inactive Animation When Inactive Animation When Inactive Animation When Inactive Animation When Inactive Parameters * Animation When Inactive * Animation When Inactive

16-15 Batch Action 41 40 46 45 1 3 5 4 6 7 9 8 2 11 10 48

* 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 shown at the end of this chapter.

16-16

Chapter 16

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 as described at the end of this chapter in order for these wizards to properly function.

InTouch Batch Wizards

16-17

View/Force Transition Logic

Allows pending batch phase logic to be viewed. Also provides the ability to force the state of transition logic expressions.

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 as described at the end of this chapter in order for these wizards to properly function.

16-18

Chapter 16

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 as described at the end of this chapter in order for these wizards to properly function.

InTouch Batch Wizards

16-19

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 as described at the end of this chapter in order for these wizards to properly function.

16-20

Chapter 16

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 as described at the end of this chapter in order for these wizards to properly function.

InTouch Batch Wizards

16-21

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 as described at the end of this chapter in order for these wizards to properly function.

16-22

Chapter 16

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 as described at the end of this chapter in order for these wizards to properly function.

InTouch Batch Wizards

16-23

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 as described at the end of this chapter in order for these wizards to properly function.

16-24

Chapter 16

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 as described at the end of this chapter in order for these wizards to properly function.

InTouch Batch Wizards

16-25

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 as described at the end of this chapter in order for these wizards to properly function.

16-26

Chapter 16

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 as described at the end of this chapter in order for these wizards to properly function.

InTouch Batch Wizards

16-27

Save Control Recipe

Saves a control recipe to the recipe database. Provides radio buttons to optionally Save Runtime Equipment and Retain Recipe Approvals.

Refer to Chapter 6, Recipe Editor, for more information

16-28

Chapter 16

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.

InTouch Batch Wizards

16-29

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 17, 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); {Recipe Focus; which includes: Batch Comments, Batch Questions, Equipment Selection, Active Phase List, Phase Instructions, Phase Interlocks, Phase Parameter List, Phase Comments, Phase Message Display, Associated Buttons (Equipment: Allocate, Equipment: Release, Equipment Unit Abort, Equipment: Unit Hold, Equipment: Unit Restart, Phase Abort, Phase Hold, Phase Restart, Phase Start, Phase: Ack On Entry, Phase : Ack On Exit, Phase Comment, Phase: Set Control Button #1, Phase: Set Control Button #2, Phase: Change Parameter, Batch Comment, Equipment: Select, Question: Answer Yes, Question: Answer No)} ibPokeStr(IB_TIM_ACCESS_TAG, "BTR-FOCUS-CLB", 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);

{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);

16-30

Chapter 16
{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;

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;

17-1

C H A P T E R

1 7

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 Guide. s

Contents
n n n n

Overview Script Add-On Function Descriptions Obsolete DDE Script Add-On Functions Script Add-On Function Error Reference

17-2

Chapter 17

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 described in this chapter 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.

InTouch Script Add-On Functions

17-3

Script Add-On Function Descriptions


ibAlarmEventInit
This function initializes the batch-oriented alarm and event logging of a client node. Before this function is called, any alarms or events that occur will be cached. They will be logged after initialization has been done. Alarms and events that occur after initialization are also cached and written to history on a timer. This routine does let you set the behavior of the cache but this feature should be used with care. You can enter a 0 value for the Timer, Write, Warning, and Toss arguments to get the default cache behavior. The Event_Mask argument allows you to selectively determine which events will be logged. SYS events are never logged. For more information on the InBatch and InTouch alarm/event interface, see Chapter 20, Client Alarm/Event Interface.

Syntax
ibAlarmEventInit( Host, Obsolete, Alarm_Node, Timer, Write, Warning, Toss, Event_Mask ); where: Host (Literal string in quotes or message tag) Contains the host name where the Batch Server is running. The alarming system will connect to this Batch Server to get required batch information. Obsolete (Literal string in quotes or message tag) The value of this field is no longer used by the alarming system. It's old purpose was to set the hostname of the backup Batch Server. This functionality is now under the client applications control using ibAlarmEventHost . Alarm_Node (Discrete value or discrete tag) TRUE enables alarm logging. FALSE disables alarm logging. This value can also be set using ibAlarmNode. Timer (Integer value or integer tag) Number of seconds between alarm and event cache flush. This value should normally be set to 0, which uses the default of 10 seconds. Write (Integer value or integer tag) Number of alarms and events to be written each time the cache is flushed. This value should normally be set to 0, which specifies that the entire cache should be logged. Warning (Integer value or integer tag) Number of alarms and events that can exist in the cache before a warning message is dumped to the Wonderware Logger. This value should normally be set to 0, which uses the default of 100 entries. Toss (Integer value or integer tag) Number of alarms and events that can exist in the cache before new alarms and events will be thrown away. This value should normally be set to 0, which uses the default of 1000 entries. Event_Mask (Integer value or integer tag) If value is 1, all events are logged. If value is 0, only operator (OPR) events are logged. These values are compatible with older versions of this function. To selectively choose the events you want logged, you can pass a bit mask which uses bits 2, 3, and 4. If bit 2 is set, operator (OPR) events are logged. If bit 3 is set, logic (LGC) events are logged. If bit 4 is set, DDE (DDE) events

17-4

Chapter 17 are logged. For example, passing a value of 6 will set bits 2 and 3 and cause OPR and LGC events to be logged.

Example
The following script initializes alarm and event logging for the node:
ibAlarmEventInit( "hostA", "", 0, 0, 0, 0, 0 );

ibAlarmNode
This function enables/disables alarm logging for a node. Typically, only one client node will enable alarm logging. However, if you have several alarm sources then you may want to enable alarm logging on several client nodes. Even with alarm logging disabled, operator action events are still be logged to history.

Syntax
ibAlarmNode(Yes_No); where: Yes_No (Discrete value or discrete tag) Enables or disables alarm logging. A value of True enables alarm logging. A value of False disables alarm logging.

Example
{Enable alarm logging for the node} ibAlarmNode(1);

InTouch Script Add-On Functions

17-5

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: 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. Note The application component of this string is only changed if you are using the DDE protocol (see ibConfig). If you are not using the DDE protocol, this should be set to IBSERV. 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 18, InBatch 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. Important This function will return immediately and InTouch script processing will continue even if a security check is needed for the batch action.

17-6

Chapter 17

Example
{Start the Selected Batch} ibBatchAction("IBSERV|View1", 22, 1, ResultTag);

InTouch Script Add-On Functions

17-7

Batch Action Reference


Action # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Batch Action Description Schedule Edit: Add Schedule Edit: Multi-Add Schedule Edit: Change Schedule Edit: Delete Schedule Edit: Clean-Up Schedule Edit: Initialize Schedule Edit: Initialize All Schedule Edit: Move Up Schedule Edit: Move Down Schedule Edit: Exec In Order On Schedule Edit: Exec In Order Off Errors: Clear Equipment: Allocate Equipment: Release Equipment: Unit Abort Equipment: Unit Hold Equipment: Unit Restart Focus Change: Equipment Batch Abort Batch Hold Batch Restart Batch Start Batch Mode: Set to Auto Batch Mode: Set to Semi-Auto Batch Mode: Set to Manual Focus Change: Batch Schedule Focus Change: Batch Messages Focus Change: Recipe Phase Abort Phase Hold Phase Restart Batch Client Function Access Schedule Access Schedule Access Schedule Access Schedule Access Schedule Access Schedule Access Schedule Access Schedule Access Schedule Access Schedule Access Schedule <none> Allocate Equip Release Equip Unit Abort Unit Hold Unit Restart <none> Abort Batch Hold Batch Restart Batch Start Batch Chg Batch Mode Chg Batch Mode Chg Batch Mode <none> <none> <none> Abort Phase Hold Phase Restart Phase

17-8

Chapter 17 Action # 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 Batch Action Description Phase Start Phase: Ack on Entry Phase: Ack on Exit Phase Comment Phase: Set Control Button #1 Phase: Set Control Button #2 Phase: Change Parameter Batch Comment Equipment: Select Question: Answer Yes Question: Answer No Focus Chg: Edit Phase and Parm Edit Phase and Parm: Chg Phase Edit Phase and Parm: Chg Parm Save Recipe: Verify Save Recipe: Overwrite Focus Chg: View/Force Trans Logic Transition Logic: Force Document View: Button Enabled Document View: Button Acknowledged Batch Client Function Start Phase Ack to Enter Ack to Exit Enter Comment Control Buttons Control Buttons Edit Phase Param Enter Comment Select Equipment Answer Question Answer Question <none> Edit Phase Edit Phase Save Recipe Save Recipe <none> Force Transition <none> <none>

InTouch Script Add-On Functions

17-9

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

Example
{Enable the DDE protocol} ibConfig(0);

17-10

Chapter 17

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: 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. Note The application component of this string is only changed if you are using the DDE protocol (see ibConfig). If you are not using the DDE protocol, this should be set to IBSERV. 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.

Example
{Poke a value of 0 to a discrete tag} ibPokeDisc("IBSERV|View1", "MyDiscreteTag", 0, IB_RESULT_TAG);

InTouch Script Add-On Functions

17-11

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 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. Note The application component of this string is only changed if you are using the DDE protocol (see ibConfig). If you are not using the DDE protocol, this should be set to IBSERV. 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.

Example
{Poke a value of 5 to an integer tag} ibPokeInt("IBSERV|View1", "MyIntegerTag", 5, IB_RESULT_TAG);

17-12

Chapter 17

ibPokeStr
This function pokes a string 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
ibPokeStr(App_Topic_Text, ItemName_Text, Value_Text, ResultTag); where: 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. Note The application component of this string is only changed if you are using the DDE protocol (see ibConfig). If you are not using the DDE protocol, this should be set to IBSERV. 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.

Example
{Poke a value of "Hi There!" to a string tag} ibPokeStr("IBSERV|View1", "MyStringTag", "Hi There!", IB_RESULT_TAG);

InTouch Script Add-On Functions

17-13

ibRequestDisc
This function returns the discrete data value of 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
DiscreteTag = ibRequestDisc(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. Note The application component of this string is only changed if you are using the DDE protocol (see ibConfig). If you are not using the DDE protocol, this should be set to IBSERV. 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.

Example
{Read a discrete tag value and write to another discrete tag} AnotherDiscreteTag = ibRequestDisc("IBSERV|View1", "MyDiscreteTag", IB_RESULT_TAG);

17-14

Chapter 17

ibRequestInt
This function returns the integer data value of 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
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. Note The application component of this string is only changed if you are using the DDE protocol (see ibConfig). If you are not using the DDE protocol, this should be set to IBSERV. 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.

Example
{Read an integer tag value and write to another integer tag} AnotherIntegerTag = ibRequestInt("IBSERV|View1", "MyIntegerTag", IB_RESULT_TAG);

InTouch Script Add-On Functions

17-15

ibRequestStr
This function returns the string data value of 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
MessageTag = ibRequestStr(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. Note The application component of this string is only changed if you are using the DDE protocol (see ibConfig). If you are not using the DDE protocol, this should be set to IBSERV. 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.

Example
{Read a string tag value and write to another string tag} AnotherStringTag = ibRequestStr( "IBSERV|View1", "MyStringTag", IB_RESULT_TAG);

17-16

Chapter 17

ibTermTopic
This function terminates a connection. 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
ibTermTopic(App_Topic_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. Note The application component of this string is only changed if you are using the DDE protocol (see ibConfig). If you are not using the DDE protocol, this should be set to IBSERV. 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.

Example
{Terminate a connection} ibTermTopic("IBSERV|View1", IB_RESULT_TAG);

InTouch Script Add-On Functions

17-17

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.

ibDdeRequestStr
Please refer to ibRequestStr.

ibDdeTermTopic
Please refer to ibTermTopic.

17-18

Chapter 17

Script Add-On Function Error Reference


Error # 0 1 2 -10 -11 -12 -13 -20 -21 -22 -23 -30 -31 -101 -102 -103 -111 -121 -122 -123 -131 -132 -133 -201 -203 -204 -300 Error Description No Error No Error - Security Pending No Error - Action Canceled DDE System Error DDE Post Message Error DDE Register Class Error DDE Create Window Error DDE Response: None DDE Response: No Acknowledge DDE Connection Response: None DDE Connection Response: Terminate DDE Unknown Application and/or Topic DDE Maximum Windows Exceeded Invalid Batch Action Number Invalid Interface Invalid Security Query Invalid Application|Topic string (check syntax) Security Dialog is active (displayed) Error Creating Security Dialog Invalid Security Function Error Creating Timer No Security Key Invalid Security Key IO Connection failed IO Poke failed IO Request failed General System Error

18-1

C H A P T E R

1 8

InTouch Batch Tag Browsing and Referencing

InTouch client applications frequently utilize InBatch information. The InBatch data is accessed by way of tags. These tags typically exist in the InTouch Tagname Dictionary and are used in the appropriate scripts and animation links. This can result in a large number of batch tags in the InTouch application. There is an alternative to maintaining the batch tags in the InTouch Tagname Dictionary. InBatch tags can be remotely referenced within the InTouch application. All InBatch tags can be browsed from InTouch and do not have to be defined in the local tagname dictionary. This results in smaller and easier to manage InBatch client applications. Note Batch Runtime Client software must be installed on an InTouch client in order to browse and reference batch tags.

Contents
n n n

Overview Define Batch Tag Sources Remote Referencing Batch Tags

18-2

Chapter 18

Overview
There are three general categories of InBatch tags: Equipment Tags, TIM Tags, and Batch Function Tags. The equipment tags refer to the phase control and status tags and the phase formula parameter tags. The TIM tags are used by the InBatch wizards to provide batch management information on the client. The batch function tags provide access to the batch management system hooks. In order to use any of these tags in an InTouch client application, the tag must be accessible to the application. There are three methods available for making these tags available in the InTouch application. 1. 2. Manually define the tags in InTouch. Use the Tag Linker to export a .csv file that is imported into InTouch using the DBLOAD utility.

For more information on exporting tags using Tag Linker, see Chapter 15, 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. 2. Define the batch tag sources in InTouch. Use the batch tags in the InTouch application.

Note Batch Function Tags are not accessible through the InTouch tag browser.

InTouch Batch Tag Browsing and Referencing

18-3

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.

18-4

Chapter 18 3. Click New. The Define Tag Source dialog box appears.

A tag source consists of the following items. Tag Source Name The tag source name can be any user-defined name. Access Name The access name corresponds to those defined for the InTouch application. InBatch access names can be defined manually or loaded from the export file from Tag Linker. The following table contains the two default InBatch accesses. Access IB_TIM_TAGS IB_CTRLSYS_TAGS Tag Source Type The tag sources for InBatch tags are InBatch TIM and InBatch Control System. These sources are created by the Batch Runtime Client installation program. Location The location points to the directory containing the InBatch databases ( \InBatch\cfg\config_A). Application IBSERV IBSERV Topic Client Type Instance (e.g. View1) IB_TAGS

InTouch Batch Tag Browsing and Referencing 4.

18-5

Define the following tag sources. These sources are for the default accesses. The source names are examples only. Any name can be substituted. The location for each is the InBatch configuration directory (config_A). Tag Source Name TIMTags EquipmentTags Access Tag Source Type IB_TIM_TAGS IB_CTRLSYS_TAGS InBatch TIM InBatch Control System

18-6

Chapter 18 5. Use the tags from each source in the InTouch application as required. Change the Tag Source to view the different batch tags available.

InTouch Batch Tag Browsing and Referencing

18-7

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.

19-1

C H A P T E R

1 9

InBatch 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 12, Security System.

Contents
n n n

Overview Configuring InBatch Client Security InBatch Client Security Operation

19-2

Chapter 19

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. Batch Runtime Client InTouch WindowViewer (ibdde.dll)

Batch Server InBatch Server (IBServ)

TIM Security Interface

TIM Batch Interface

Security Manager

Batch Manager

Security Database

InBatch Client Security

19-3

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. Perform the appropriate Runtime or Simulation Export from the Tag Linker File menu to create the required client tags.

3.

For more information on using the InBatch Tag Linker, see Chapter 15, Tag Linker. 4. In the InBatch Security Editor, select the Edit/Operator Stations menu option. This displays the Operator Stations Editor window. 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.

19-4

Chapter 19

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. 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 ); 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 17, InTouch Script Add-On Functions.

3.

InBatch Client Security

19-5

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.

19-6

Chapter 19

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.

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

InBatch Client Security

19-7

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

20-1

C H A P T E R

2 0

Client Alarm/Event Interface

Within the InBatch and InTouch client/server architecture, all InTouch alarms, events, and operator actions can be recorded in the InBatch History Database and included in batch reporting.

Contents
n n

Overview Required Configuration

20-2

Chapter 20

Overview
The following diagram illustrates the software components that are used to record InTouch alarms and events in the InBatch history database. When the Batch Runtime Client installation option is selected, a modified wwextalm.dll and an ibhist.dll are installed. These files contain programs that receive and filter all InTouch alarms, event, and operator actions. Batch Server History Administration Batch Runtime Client InTouch WindowViewer (wwextalm.dll) InTouch WindowViewer (ibhist.dll)
Local Access Database

Information Manager SQL Server Node


InBatch History Database

MdbToServer

The wwextalm.dll acts as a pass through to call the ibhist.dll. The ibhist.dll takes the event and communicates with the Information 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 written directly to the InBatch history database. In the event of a communications failure between the Batch Runtime Client and the InBatch history database, all alarm and event information is stored locally on the client in a Microsoft Access database located in the configuration directory ( \cfg\config_A). When communications are re-established, the MdbToServer application is automatically started on the client and all event information is written to the InBatch history database. Note The Batch Runtime Client installation option loads a modified wwextalm.dll to enable the historical storage of client alarms and events. If changes have been made to the wwextalm.dll prior to installing InBatch, these changes will be lost when the new wwextalm.dll is installed. Please contact Wonderware for appropriate instructions on how to incorporate the alarm and event logging along with any previous changes made to the wwextalm.dll.

Client Alarm/Event Interface

20-3

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

2.

3.

4.

For more information on using the script add-on functions provided with InBatch, see Chapter 17, 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.

For more information on the InBatch tag structure, see Chapter 4, Process Modeling Editor. 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.

21-1

C H A P T E R

2 1

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 an InBatch Server or Batch Runtime Client environment.

Contents
n n n n n n n

Overview Using TIM Batch Management System Interface Security System Interface Security System Interface Handshake Errors Batch Function Interface Runtime TIM Operation

21-2

Chapter 21

Overview
There are several locations through which the user can interact with the execution of batches within the InBatch and InTouch environments. The InBatch server can be used to view and execute batches. Wizards can be utilized on an InTouch client to manipulate batches. These methods utilize pre-configured displays or graphical objects to allow quick and easy access to the runtime batch management system. Another, more flexible, option is available that utilizes the Tag Interface Management (TIM) System included with InBatch. 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 Batch Manager Security Manager

DevFunc API

BatchTalk API

Security API

TIM DB

TIMFunc

TIMBatch

TIMSee

Batch Functions Interface

Batch Management System Interface

Security System Interface

TagView

Unilink Manager

InBatch Server (IBServ)

InTouch Node

Tag Interface Management (TIM) System

21-3

When to Use the Tag Interface Management (TIM) System


The TIM System may be utilized if any one of the following is true. 1. 2. An InTouch client has been configured to use one or more of the InBatch wizards. An InTouch application is developed that requires a custom graphical and/or script interface to one or more of the batch management system or security system functions.

21-4

Chapter 21

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 the remainder of this chapter. For more information on using the Tag Linker application, see Chapter 15, Tag Linker. For more information on browsing InBatch tags from within InTouch, see Chapter 18, InTouch Batch Tag Browsing and Referencing.

Tag Interface Management (TIM) System

21-5

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.

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. Interface Group Batch Management System Action Groups 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 Interact with InBatch Security System Phase Prepare/Complete Evaluate Equipment for Allocation Log Equipment Status Equipment Allocation Changes

Security System Batch Functions

21-6

Chapter 21

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 unitcentric focusing within the same client. This requires extensive scripting using the tags presented in this manual.

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. BTS-SCH-FIRSTITEM BTS-SCH-ITEM3 BTS-SEL-SCHITEM

BTS-SCH-NUMITEMS

BTS-SEL-SCHMODE BTS-SEL-SCHCAMP BTS-SEL-SCHLOT BTS-SEL-SCHBATCH BTS-SEL-SCHRECIPE BTS-SEL-SCHSIZE BTS-SEL-SCHTRAIN BTS-SEL-SCHTRAIN

Tag Interface Management (TIM) System

21-7

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. 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 17, InTouch Script Add-On Functions.

21-8

Chapter 21

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 user identification and password and apply them to the s 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. Refer to the Security System chapter for more information on defining InBatch security. For more information on defining the security system, see Chapter 12, 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.

Tag Interface Management (TIM) System

21-9

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. TIM Action Group Tag Prefix Number of Tags per Node Lists Manipulate the Batch Schedule BTS3 116 Monitor and Control Active Batches BTB1 36 Manipulate Recipe Focus BTR0 3 Monitor and Respond to Batch Questions BTRQ1 27 Enter Batch Comments BTRC0 6 Monitor and Control Active Phases BTRP4 102 Select Equipment for Allocation BTRS2 46 Monitor Batch Messages BTM1 23 Edit Phases and Parameters BTPE3 76 Monitor and Control Equipment BTE2 51 View/Force Transition Logic BTVT3 69 Save Control Recipe BTSR0 10 Monitor and Respond to Errors BTEE1 22 Interact with InBatch Security System SE0 10 TOTAL 21 597 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 Function Action Group Tag Prefix Number of Lists Tags per Node Phase Prepare/Complete FUP1 115 Evaluate Equipment for Allocation FUEA1 111 Log Equipment Status FULE0 17 Equipment Allocation Changes FUAC1 110 TOTAL 3 353

21-10

Chapter 21

Batch Management System Interface


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 STRING 91 RO
Each list tag consists of multiple fields separated by two spaces.

CAMPAIGN ID LOT ID BATCH ID RECIPE ID MODE STATUS BTS-RECIPE-NUMITEMS BTS-RECIPE-FIRSTITEM BTS-RECIPE-ITEM1 TO BTS-RECIPE-ITEM16 BTS-TRAIN-NUMITEMS BTS-TRAIN-FIRSTITEM BTS-TRAIN-ITEM1 TO BTS-TRAIN-ITEM16 BTS-TYPE-NUMITEMS BTS-TYPE-FIRSTITEM BTS-TYPE-ITEM1 TO BTS-TYPE-ITEM16 BTS-STATE-NUMITEMS BTS-STATE-FIRSTITEM BTS-STATE-ITEM1 TO BTS-STATE-ITEM16 BTS-SCH-EIO BTS-SEL-SCHITEM BTS-SEL-SCHCAMP BTS-SEL-SCHLOT BTS-SEL-SCHBATCH BTS-SEL-SCHRECIPE BTS-SEL-SCHSIZE BTS-SEL-SCHTRAIN BTS-SEL-SCHMODE BTS-SEL-RECIPEITEM BTS-SEL-RECIPEID BTS-SEL-RECIPENAME BTS-SEL-RECIPETYPE BTS-SEL-RECIPESTATE BTS-SEL-TRAINITEM BTS-SEL-TRAINNAME BTS-SEL-TYPEITEM BTS-SEL-TYPENAME BTS-SEL-STATEITEM

INTEGER INTEGER STRING INTEGER INTEGER STRING INTEGER INTEGER STRING INTEGER INTEGER STRING INTEGER INTEGER STRING STRING STRING STRING INTEGER STRING INTEGER INTEGER STRING STRING STRING STRING INTEGER STRING INTEGER STRING INTEGER

16 16 16 16 9 8 1 1 70 1 1 16 1 1 16 1 1 16 1 1 16 16 16 16 1 16 1 1 16 16 16 16 1 16 1 16 1

RO R/W RO RO R/W RO RO R/W RO RO R/W RO RO R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

Tag Interface Management (TIM) System BTS-SEL-STATENAME BTS-SEC-DONEBY BTS-SEC-DONEBYPWD BTS-SEC-CHECKBY BTS-SEC-CHECKBYPWD BTS-INFO BTS-HANDSHAKE STRING STRING STRING STRING STRING INTEGER INTEGER 16 12 12 12 12 1 1

21-11 R/W R/W R/W R/W R/W RO R/W

Description
1. 2. The BTS-SCH-NUMITEMS tag is an integer tag containing the number of batches in the schedule. 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. The BTS-RECIPE-NUMITEMS tag is an integer tag containing the number of approved recipes available to be scheduled. 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. The BTS-TRAIN-NUMITEMS tag is an integer tag containing the number of trains available on which batches can be scheduled. 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. The BTS-TYPE-NUMITEMS tag is an integer tag containing the number of recipe types defined in the recipe database. 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. The BTS-STATE-NUMITEMS tag is an integer tag containing the number of recipe states defined in the recipe database.

3. 4.

5. 6.

7. 8.

9.

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. Value 0 1 Execute In Order Off On

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.

21-12

Chapter 21 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 Value 0 1 2 Mode Automatic Semi-Automatic Manual

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

Tag Interface Management (TIM) System

21-13

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-SECCHECKBYPWD 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. Handshake Value ibBatchAction Value 1 1 Add the batch defined by the specific selection tags to the schedule after the batch selected by the BTS-SELSCHITEM 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. 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. Change the batch selected by the BTSSEL-SCHITEM tag to the batch data defined in specific selection tags. Description

21-14

Chapter 21 Same as the Change button on the Batch Scheduler/Dispatcher wizard. 4 4 Delete the batch selected by the BTSSEL-SCHITEM tag. Same as the Delete button on the Batch Scheduler/Dispatcher wizard. Remove all Done and Aborted batches from the schedule list. Same as the Clean-up button on the Batch Scheduler/Dispatcher wizard. Initialize the batch selected by the BTS-SEL-SCHITEM tag. Same as Init Batch button on the Batch Scheduler/Dispatcher wizard. Initialize all batches in the schedule. Same as the Init All button on the Batch Scheduler/Dispatcher wizard. Move the batch selected by the BTSSEL-SCHITEM tag up one position in the list. Same as the Move Up button on the Batch Scheduler/Dispatcher wizard. Move the batch selected by the BTSSEL-SCHITEM tag down one position in the list. Same as the Move Down button on the Batch Scheduler/Dispatcher wizard. Sets the Execute in Order Mode On. Same as the EIO On button on the Batch Scheduler/Dispatcher wizard. Sets the Execute in Order Mode Off. Same as the EIO Off button on the Batch Scheduler/Dispatcher wizard. Refresh the list of recipes that are approved for production and available for scheduling. Refresh the list of trains that are available for scheduling.

10

10

11

11

12

12

13

13

Tag Interface Management (TIM) System

21-15

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

21-16

Chapter 21

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. Tag Name Type Size Access BTB-FOCUS-SCH STRING 128 R/W
This tag consists of multiple fields separated by a /.

UNIT1 TO UNITn BTB-SCH-NUMITEMS BTB-SCH-FIRSTITEM BTB-SCH-ITEM1 TO BTB-SCH-ITEM16


Each list tag consists of multiple fields separated by two spaces.

INTEGER INTEGER STRING

16 1 1 84 16 16 16 16 8 2 1 50 16 16 16 16 1 16 1 16 1 8 1 1 12 12 12 12 1 1

RO R/W RO

CAMPAIGN ID LOT ID BATCH ID RECIPE ID STATUS ACTION BTB-SEL-SCHITEM BTB-SEL-SCHCLB


This tag consists of three fields separated by a /.

INTEGER STRING

R/W RO

CAMPAIGN ID LOT ID BATCH ID BTB-SEL-SCHRECIPE BTB-SEL-SCHSIZE BTB-SEL-SCHTRAIN BTB-SEL-SCHMODE BTB-SEL-SCHMODESTR BTB-SEL-SCHSTATUS BTB-SEL-SCHSTATUSSTR BTB-SEL-SCHMASK BTB-SEL-SCHFOCUSOK BTB-SEC-DONEBY BTB-SEC-DONEBYPWD BTB-SEC-CHECKBY BTB-SEC-CHECKBYPWD BTB-INFO BTB-HANDSHAKE

STRING INTEGER STRING INTEGER STRING INTEGER STRING INTEGER INTEGER STRING STRING STRING STRING INTEGER INTEGER

RO RO RO RO RO RO RO RO RO R/W R/W R/W R/W RO R/W

Tag Interface Management (TIM) System

21-17

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. 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. The BTB-SCH-NUMITEMS tag is an integer tag containing the number of batches in the schedule. 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. 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. 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 Value 0 1 2 Mode Automatic Semi-Automatic Manual

2.

3. 4.

5.

6.

21-18

Chapter 21 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 0 1 2 3 4 5 6 7 8 Status Open Ready Wait Run Done Interlock Aborted Held Aborting

BTB-SEL-SCHSTATUSSTR - String tag containing the Status of the selected batch BTB-SEL-SCHMASK - Integer tag containing the configuration of the selected batch Bit Offset 0 1 2 3 4 5 Value 1 2 4 8 16 32 Action Permitted Batch Start Batch Hold Batch Restart Batch Abort Edit Mode Operator Action

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.

Tag Interface Management (TIM) System

21-19

BTB-SEL-SCHFOCUSOK - Integer tag containing the focus status of the selected batch Value 0 1 or 2 Description There is no batch selected. 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. 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.

3 or 4

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. The BTB-SEC-CHECKBY tag specifies the ID and the BTB-SECCHECKBYPWD 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. 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.

8.

9.

21-20

Chapter 21 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. 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. Handshake Value ibBatchAction Value 1 19 Abort the batch defined by the BTBSEL-SCHITEM tag. Same as the Abort button wizard. Hold the batch defined by the BTBSEL-SCHITEM tag. Same as the Hold button wizard. Restart the batch defined by the BTBSEL-SCHITEM tag. Same as the Restart button wizard. Start the batch defined by the BTBSEL-SCHITEM tag. Same as the Start button wizard. 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. 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. 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. Re-evaluate the units defined in the BTB_FOCUS_SCH tag and update the list according to the focus change. Starts Manual Operation. Description

20

21

22

23

24

25

26

N/A

Tag Interface Management (TIM) System

21-21

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

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

21-22

Chapter 21

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. Tag Name Type Size Access BTR-FOCUS-CLB STRING 50 R/W
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID BTR-FOCUS-UNIT BTR-HANDSHAKE

STRING INTEGER

16 16 16 16 1

R/W R/W

Description
1. 2. 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. 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. 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. Handshake Value ibBatchAction Value 1 28 Description Change focus according to the values defined for the batch and unit focus tags.

3.

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 Interface Management (TIM) System

21-23

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;

21-24

Chapter 21

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

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. 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. 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. 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 Value 0 1 Question Type Loop Back Transition Logic

2.

3.

4.

BTRQ-SEL-SECURITY - Integer tag containing the type of the question security required Value 0 1 2 Security Required None DoneBy Only DoneBy and CheckBy

Tag Interface Management (TIM) System 5.

21-25

The BTRQ-SEC-DONEBY tag specifies the ID and the BTRQ-SECDONEBYPWD 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. The BTRQ-SEC-CHECKBY tag specifies the ID and the BTRQ-SECCHECKBYPWD 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. 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. Handshake Value ibBatchAction Value 1 40 Description

6.

7.

Answer Yes to the question selected by the BTS-SEL-QUESITEM tag. Same as the Yes button on the Question wizard. Answer No to the question selected by the BTS-SEL-QUESITEM tag. Same as the No button on the Question wizard.

41

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

21-26

Chapter 21

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

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. The BTRC-SEC-DONEBY tag specifies the ID and the BTRC-SECDONEBYPWD 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. The BTRC-SEC-CHECKBY tag specifies the ID and the BTRC-SECCHECKBYPWD 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. 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. Handshake Value ibBatchAction Value 1 38 Description

2.

3.

4.

Enters the defined comment for the batch selected.

Tag Interface Management (TIM) System

21-27

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, Batch Comment Text, IB_RESULT_TAG); ibBatchAction(IB_TIM_ACCESS_TAG, 38, IB_SEC_DIALOG_TAG, IB_RESULT_TAG);

21-28

Chapter 21

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. 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 STRING 66 RO
Each list tag consists of five fields separated by two spaces.

EQUIPMENT OPERATION PHASE STATUS ACTION BTRP-INSTR-NUMITEMS BTRP-INSTR-FIRSTITEM BTRP-INSTR-ITEM1 TO BTRP-INSTR-ITEM16 BTRP-ILCK-NUMITEMS BTRP-ILCK-FIRSTITEM BTRP-ILCK-ITEM1 TO BTRP-ILCK-ITEM16
Each list tag consists of two fields separated by two spaces.

INTEGER INTEGER STRING INTEGER INTEGER STRING

16 16 16 8 2 1 1 40 1 1 59 49 8 1 1 72

RO R/W RO RO R/W RO

TAG NAME VALUE BTRP-PARAMEXT-NUMITEMS BTRP-PARAMEXT-FIRSTITEM BTRP-PARAMEXT-ITEM1 TO BTRP-PARAMEXT-ITEM16


Each list tag consists of five fields separated by two spaces.

INTEGER INTEGER STRING

RO R/W RO

PARAMETER NAME PARAMETER TYPE EXTENSION VALUE EDIT STATUS BTRP-SEL-PHASEITEM BTRP-SEL-PHASEEQUIP BTRP-SEL-PHASEOPER BTRP-SEL-PHASENAME BTRP-SEL-PHASELABEL BTRP-SEL-PHASESTATUS

INTEGER STRING STRING STRING STRING INTEGER

16 12 12 8 16 1 16 16 16 8 1

R/W RO RO RO RO RO

Tag Interface Management (TIM) System Tag Name BTRP-SEL-PHASEMASK BTRP-SEL-PHASELABEL1 BTRP-SEL-PHASELABEL2 BTRP-SEL-PHASEOPERMSGINT BTRP-SEL-PHASEOPERMSG BTRP-SEL-PHASEDOC BTRP-SEL-PARAMEXTITEM BTRP-SEL-PARAMNAME BTRP-SEL-PARAMTYPE BTRP-SEL-PARAMEXT BTRP-SEL-PARAMEDIT BTRP-SEL-PARAMEXTVAL BTRP-SEL-INSTRITEM BTRP-SEL-INSTR BTRP-SEL-ILCKITEM BTRP-SEL-ILCKTAG BTRP-SEL-ILCKSTATUS BTRP-INP-PHASECOMMENT BTRP-INP-PARAMEXTVAL BTRP-SEC-DONEBY BTRP-SEC-DONEBYPWD BTRP-SEC-CHECKBY BTRP-SEC-CHECKBYPWD BTRP-HANDSHAKE Type INTEGER STRING STRING INTEGER STRING STRING INTEGER STRING INTEGER INTEGER INTEGER STRING INTEGER STRING INTEGER STRING STRING STRING STRING STRING STRING STRING STRING INTEGER Size 1 8 8 1 50 128 1 16 1 1 1 16 1 40 1 84 8 80 16 12 12 12 12 1

21-29 Access RO RO RO RO RO RO R/W RO RO RO RO RO R/W RO R/W RO RO R/W R/W R/W R/W R/W R/W R/W

21-30

Chapter 21

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. 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. 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. 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 Value 1 2 3 4 5 6 7 Phase Status Ready Wait Run Done Interlocked Aborted Held

2.

3.

4.

Tag Interface Management (TIM) System

21-31

BTRP-SEL-PHASEMASK - Integer tag containing the configuration of the selected phase Bit Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Value 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 Description Ack On Entry Required DoneBy Ack On Entry Required CheckBy Ack On Entry Required Ack On Exit Required DoneBy Ack On Exit Required CheckBy Ack On Exit Required Comment Required Hold Permitted Restart Permitted Abort Permitted Start Permitted Operator Action Required Control Button 1 Available Control Button 2 Available Partial Add Ack On Exit Required

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

21-32

Chapter 21 BTRP-SEL-PHASEOPERMSGINT - Integer tag containing the value of the message being displayed for the selected phase Value 0 1 2 3 4 5 6 7 8 Message None Waiting for Phase Start. Waiting for entry acknowledge. Waiting for exit acknowledge. Waiting for Required Edits. Waiting for Required Comment. Waiting for Phase Status. Waiting for Phase Start Partial Add. Waiting for Exit Acknowledge.

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. 5. 6. 7. The BTRP-INP-PHASECOMMENT tag is a string tag used to enter in a comment for the selected phase. The BTRP-PARAMEXT-NUMITEMS tag is an integer tag containing the number of parameter items currently in the list. 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. 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. 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 Value 0 9 12 Description Input Process Variable Output

8.

9.

Tag Interface Management (TIM) System

21-33

BTRP-SEL-PARAMEXT - Integer tag containing the type of extension of the selected phase Value 1 2 3 4 5 6 7 8 10 11 Description Material ID Material Name Target Actual High Deviation Low Deviation Lot Code Preact High Limit Low Limit

BTRP-SEL-PARAMEDIT - Integer tag containing the editing that is allowed for the selected phase Value 0 1 2 3 4 Editing Permitted None Numeric Entry Allowed Alphanumeric Entry Allowed Numeric Entry Required Alphanumeric Entry Required

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

21-34

Chapter 21 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-SECDONEBYPWD 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. 20. The BTRP-SEC-CHECKBY tag specifies the ID and the BTRP-SECCHECKBYPWD 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 Interface Management (TIM) System

21-35

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. Handshake Value ibBatchAction Value 1 29 Description

Abort the phase defined by the BTRPSEL-PHASEITEM tag. Same as the Phase Abort button wizard. Hold the phase defined by the BTRPSEL-PHASEITEM tag. Same as the Phase Hold button wizard. Restart the phase defined by the BTRP-SEL-PHASEITEM tag. Same as the Phase Restart button wizard. Start the phase defined by the BTRPSEL-PHASEITEM tag. Same as the Phase Start button wizard. 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. Enter the comment to the phase defined by the BTRP-SELPHASEITEM tag. Performs the selection of control button 1. Performs the selection of control button 2. Change the value of the parameter defined by the BTRP-SELPARAMEXTITEM tag. Views the document assigned to the selected phase. Acknowledges the document assigned to the selected phase.

30

31

32

33

34

7 8 9

35 36 37

10 11

49 50

21-36

Chapter 21

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.

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, Comment Entry, 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);

Tag Interface Management (TIM) System

21-37

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 STRING 34 RO
Each list tag consists of two fields separated by two spaces.

UNIT NAME STATUS BTRS-SEL-INSTITEM BTRS-SEL-INSTNAME BTRS-SEL-UNITITEM BTRS-SEL-UNITNAME BTRS-SEL-UNITSTATUS BTRS-SEC-DONEBY BTRS-SEC-DONEBYPWD BTRS-SEC-CHECKBY BTRS-SEC-CHECKBYPWD BTRS-HANDSHAKE

INTEGER STRING INTEGER STRING STRING STRING STRING STRING STRING INTEGER

16 16 1 16 1 16 16 12 12 12 12 1

R/W RO R/W RO RO R/W R/W R/W R/W R/W

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

2.

3.

21-38

Chapter 21 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. 6. The BTRS-UNIT-NUMITEMS tag is an integer tag containing the number of units available for selection and assignment to the selected instance. 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. 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. 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-SECDONEBYPWD 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.

8.

10. The BTRS-SEC-CHECKBY tag specifies the ID and the BTRS-SECCHECKBYPWD 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. Handshake Value ibBatchAction Value 1 39 Description

Assign the unit selected by the BTRSSEL-UNITITEM tag to the instance selected by the BTRS-SELINSTITEM tag.

Tag Interface Management (TIM) System

21-39

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

21-40

Chapter 21

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. Tag Name Type Size Access BTM-FOCUS-CLB STRING 50 R/W
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID BTM-FOCUS-UNIT BTM-MSG-NUMITEMS BTM-MSG-FIRSTITEM BTM-MSG-ITEM1 TO BTM-MSG-ITEM16 BTM-SEL-MSGITEM BTM-SEL-MSG BTM-HANDSHAKE

STRING INTEGER INTEGER STRING INTEGER STRING INTEGER

16 16 16 16 1 1 80 1 80 1

R/W RO R/W RO R/W RO R/W

Description
1. 2. 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. 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. 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. Handshake Value ibBatchAction Value 1 27 Description

3.

Change the batch or unit for which the focus for any batch messages is being controlled.

Tag Interface Management (TIM) System 4.

21-41

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 BTMMSG-ITEM1 being the oldest message. 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. 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. 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

5.

6.

7.

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

21-42

Chapter 21

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 STRING 50 R/W
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID BTPE-PHASE-NUMITEMS BTPE-PHASE-FIRSTITEM BTPE-PHASE-ITEM1 TO BTPE-PHASE-ITEM16


Each list tag consists of four fields separated by two spaces.

INTEGER INTEGER STRING

16 16 16 1 1 62 16 16 8 16 1 1 40 1 1 62 16 16 16 8 1 16 16 8 16 1 1 40 1 16 1 16 40 16 80

RO R/W RO

INSTANCE NAME OPERATION LABEL PHASE NAME BTPE-INSTR-NUMITEMS BTPE-INSTR-FIRSTITEM BTPE-INSTR-ITEM1 TO BTPE-INSTR-ITEM16 BTPE-PARAM-NUMITEMS BTPE-PARAM-FIRSTITEM BTPE-PARAM-ITEM1 TO BTPE-PARAM-ITEM16
Each list tag consists of four fields separated by two spaces.

INTEGER INTEGER STRING INTEGER INTEGER STRING

RO R/W RO RO R/W RO

PARAMETER NAME PARAMETER TYPE MATERIAL ID VALUE BTPE-SEL-PHASEITEM BTPE-SEL-PHASEINST BTPE-SEL-PHASEOPER BTPE-SEL-PHASELABEL BTPE-SEL-PHASENAME BTPE-SEL-PHASEMASK BTPE-SEL-INSTRITEM BTPE-SEL-INSTR BTPE-SEL-PARAMITEM BTPE-SEL-PARAM BTPE-SEL-PARAMTYPE BTPE-SEL-PARAMMTRLID BTPE-SEL-PARAMMTRLNAME BTPE-SEL-PARAMVALUE BTPE-INP-INSTR

INTEGER STRING STRING STRING STRING INTEGER INTEGER STRING INTEGER STRING INTEGER STRING STRING STRING STRING

R/W RO RO RO RO R/W R/W RO R/W RO RO RO RO RO R/W

Tag Interface Management (TIM) System BTPE-INP-PARAMVALUE BTPE-SEC-DONEBY BTPE-SEC-DONEBYPWD BTPE-SEC-CHECKBY BTPE-SEC-CHECKBYPWD BTPE-HANDSHAKE STRING STRING STRING STRING STRING INTEGER 16 12 12 12 12 1

21-43 R/W R/W R/W R/W R/W R/W

Description
1. 2. 3. 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. The BTPE-PHASE-NUMITEMS tag is an integer tag containing the number of active phases in the selected batch. 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. 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. 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. Bit Offset 0 1 2 3 4 5 6 Value 1 2 4 8 16 32 64 Description Ack On Entry DoneBy Ack On Entry CheckBy Ack On Entry Ack On Exit DoneBy Ack On Exit CheckBy Ack On Exit Comment Required

4.

5.

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.

21-44

Chapter 21 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. 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. 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-PARAMFIRSTITEM. 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 Value 0 9 12 Description Input Process Variable Output

8.

9.

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.

Tag Interface Management (TIM) System

21-45

16. The BTPE-SEC-DONEBY tag specifies the ID and the BTPE-SECDONEBYPWD 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-SECCHECKBYPWD 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. Handshake Value ibBatchAction Value 1 2 42 43 Description

Change batch focus. Change the phase configuration according to the phase mask setting for the selected phase and append new instructions. Change the phase parameter value for the selected parameter.

44

21-46

Chapter 21

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 On Entry 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 target value 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.}

Tag Interface Management (TIM) System

21-47

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. Tag Name Type Size Access BTE-FOCUS-CLB STRING 50 R/W
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID BTE-FOCUS-UNIT BTE-EQU-NUMITEMS BTE-EQU-FIRSTITEM BTE-EQU-ITEM1 TO BTE-EQU-ITEM16


Each list tag consists of five fields separated by two spaces.

STRING INTEGER INTEGER STRING

16 16 16 16 1 1 82 16 10 16 16 16 1 1 16 1 16 1 16 16 1 1 16 12 12 12 12 1

R/W RO R/W RO

EQUIPMENT NAME EQUIPMENT TYPE ALLOCATION STATUS STATE BTE-INST-NUMITEMS BTE-INST-FIRSTITEM BTE-INST-ITEM1 TO BTE-INST-ITEM16 BTE-SEL-EQUITEM BTE-SEL-EQUNAME BTE-SEL-EQUTYPE BTE-SEL-EQUALLOC BTE-SEL-EQUSTATUS BTE-SEL-EQUUNITCTRL BTE-SEL-INSTITEM BTE-SEL-INSTNAME BTE-SEC-DONEBY BTE-SEC-DONEBYPWD BTE-SEC-CHECKBY BTE-SEC-CHECKBYPWD BTE-HANDSHAKE

INTEGER INTEGER STRING INTEGER STRING INTEGER STRING STRING INTEGER INTEGER STRING STRING STRING STRING STRING INTEGER

RO R/W RO R/W RO RO RO RO RO R/W RO R/W R/W R/W R/W R/W

21-48

Chapter 21

Description
1. 2. 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. 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-FOCUSCLB tag. The BTE-EQU-NUMITEMS tag is an integer tag containing the number of pieces of equipment in the batch in focus. 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. 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. 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 Value 0 1 Mode Unit Connection

3. 4.

5.

6.

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. Value 0 1 7. 8. Unit Control Tags Exist Unit Control Tags exist Unit Control Tags do not exist

The BTE-INST-NUMITEMS tag is an integer tag containing the number of instances of equipment for the selected batch. 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.

Tag Interface Management (TIM) System 9.

21-49

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. 12. The BTE-SEC-CHECKBY tag specifies the ID and the BTE-SECCHECKBYPWD 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. Handshake Value ibBatchAction Value 1 13 Description

Allocate the piece of equipment selected by the BTE-SEL-EQUITEM tag to the instance selected by the BTE-SEL-INSTITEM tag. Release the piece of equipment selected by the BTE-SEL-EQUITEM tag. Writes a value of one to the unit abort tag for the unit selected by the BTESEL-EQUITEM tag. Writes a value of one to the unit hold tag for the unit selected by the BTESEL-EQUITEM tag. Writes a value of one to the unit restart tag for the unit selected by the BTESEL-EQUITEM tag. Change the focus of equipment being monitored according to the values for the batch and focus tags.

14

15

16

17

18

21-50

Chapter 21

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

Tag Interface Management (TIM) System

21-51

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 STRING 50 R/W
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID BTVT-TRANS-NUMITEMS BTVT-TRANS-FIRSTITEM BTVT-TRANS-ITEM1 TO BTVT-TRANS-ITEM16


Each list tag consists of two fields separated by two spaces.

INTEGER INTEGER STRING

16 16 16 1 1 37 16 8 9 1 1 40 1 1 67 49 16 1 16 8 120 1 40 1 84 16 12 12 12 12 1

RO R/W RO

TRANSITION NAME LABEL TIME REMAINING BTVT-EXP-NUMITEMS BTVT-EXP-FIRSTITEM BTVT-EXP-ITEM1 TO BTVT-EXP-ITEM16 BTVT-TAG-NUMITEMS BTVT-TAG-FIRSTITEM BTVT-TAG-ITEM1 TO BTVT-TAG-ITEM16
Each list tag consists of two fields separated by two spaces.

INTEGER INTEGER STRING INTEGER INTEGER STRING

RO R/W RO RO R/W RO

TAG NAME VALUE BTVT-SEL-TRANSITEM BTVT-SEL-TRANSNAME BTVT-SEL-TRANSLABEL BTVT-SEL-TRANSDESC BTVT-SEL-EXPITEM BTVT-SEL-EXP BTVT-SEL-TAGITEM BTVT-SEL-TAGNAME BTVT-SEL-TAGVALUE BTVT-SEC-DONEBY BTVT-SEC-DONEBYPWD BTVT-SEC-CHECKBY BTVT-SEC-CHECKBYPWD BTVT-HANDSHAKE

INTEGER STRING STRING STRING INTEGER STRING INTEGER STRING STRING STRING STRING STRING STRING INTEGER

R/W RO RO RO R/W RO R/W RO RO R/W R/W R/W R/W R/W

21-52

Chapter 21

Description
1. 2. 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. 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. The BTVT-TRANS-NUMITEMS tag is an integer tag containing the number of active transition logic objects in the selected batch. 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. 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. 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. 8. The BTVT-EXP-NUMITEMS tag is an integer tag containing the number of expressions comprising the active transition logic object. 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. 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.

3. 4.

5.

6.

9.

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.

Tag Interface Management (TIM) System

21-53

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-SECDONEBYPWD 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-SECCHECKBYPWD 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 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. Handshake Value ibBatchAction Value 1 47 Description

Change the focus of transition logic being monitored according to the value for the batch focus tag. Force the selected transition logic expression to be true and allow the batch engine to continue beyond the transition logic object.

48

21-54

Chapter 21

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

Tag Interface Management (TIM) System

21-55

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. Tag Name Type Size Access BTSR-INP-CLB STRING 50 R/W
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID BTSR-INP-RECIPEID BTSR-INP-AUTHOR BTSR-INP-OPTMASK BTSR-INP-VERCOMMENT BTSR-SEC-DONEBY BTSR-SEC-DONEBYPWD BTSR-SEC-CHECKBY BTSR-SEC-CHECKBYPWD BTSR-HANDSHAKE

STRING STRING INTEGER STRING STRING STRING STRING STRING INTEGER

16 16 16 16 30 1 80 12 12 12 12 1

R/W R/W R/W R/W R/W R/W R/W R/W R/W

Description
1. 2. 3. 4. The BTSR-INP-CLB tag defines the Campaign, Lot, and Batch combination that is the batch focus for the action. 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. 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. The BTSR-INP-OPTMASK tag is an integer tag containing the configuration under which the recipe of the selected batch will be saved. Bit Offset 0 1 Value 1 2 Description Save Runtime Equipment Retain Recipe Approvals

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

21-56

Chapter 21 5. 6. The BTSR-INP-VERCOMMENT tag is a string tag containing any comment that will be saved along with the recipe of the batch. The BTSR-SEC-DONEBY tag specifies the ID and the BTSR-SECDONEBYPWD 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. The BTSR-SEC-CHECKBY tag specifies the ID and the BTSR-SECCHECKBYPWD 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. 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. Handshake Value ibBatchAction Value 1 45 Description

7.

8.

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. Save the recipe associated with the selected batch. This handshake overwrites any existing recipe.

46

Tag Interface Management (TIM) System

21-57

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 addon 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 new name} 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 Recipe Name, IB_RESULT_TAG); ibPokeStr(IB_TIM_ACCESS_TAG, BTSR-INP-AUTHOR, Author, IB_RESULT_TAG); ibPokeStr(IB_TIM_ACCESS_TAG, BTSR-INP-VERCOMMENT, Comment Text, IB_RESULT_TAG); ibBatchAction(IB_TIM_ACCESS_TAG, 45, IB_SEC_DIALOG_TAG, IB_RESULT_TAG);

21-58

Chapter 21

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

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. The BTEE-MSG-NUMITEMS tag is an integer tag containing the number of error items currently in the list. 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. 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. 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

2. 3.

4.

5.

Tag Interface Management (TIM) System 6.

21-59

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. 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. Handshake Value ibBatchAction Value Value < 0 1 12 Description

An error has occurred in the system. Clear all errors.

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

21-60

Chapter 21

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. Handshake Value Description 0 -100 -101 -102 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -1002 -1003 -1004 -1005 -1012 Action successful Invalid or unselected entry (CLB)! Wrong batch status to perform action! Unable to access security tags! Failed to communicate with BatchMngr! Invalid or unselected equipment! Invalid or unselected equipment instance! Selected equipment type is invalid for action! No phase is selected! Wrong phase status to perform action! No acknowledge currently required! No parameter is selected! No question is selected! Invalid answer to selected question! Invalid schedule! Invalid handshake action! Unit Control is not available for this equipment! Recipe already exists! BatchMngr is busy! Quantity greater than recipe maximum batch size! s DoneBy Security - Unknown User DoneBy Security - Denied because of Operator Station DoneBy Security - Unknown Operator Station DoneBy Security - Denied because of Recipe DoneBy Security - Additional Level Needed

Tag Interface Management (TIM) System -1014 -1016 -1017 -1018 -1020 -1022 -1024 -1033 -2002 -2003 -2004 -2005 -2012 -2014 -2016 -2017 -2018 -2020 -2022 -2024 -2032 -2033

21-61

DoneBy Security - Unknown Recipe DoneBy Security - Invalid User Password DoneBy Security - Denied because of improper DoneBy Clearance DoneBy Security - Enter Password DoneBy Security - Non-Reusable Password DoneBy Security - Password Mismatch DoneBy Security - Invalid Password Length DoneBy Security - Denied because of improper CheckBy Clearance CheckBy Security - Unknown User CheckBy Security - Denied because of Operator Station CheckBy Security - Unknown Operator Station CheckBy Security - Denied because of Recipe CheckBy Security - Additional Level Needed CheckBy Security - Unknown Recipe CheckBy Security - Invalid User Password CheckBy Security - Denied because of improper DoneBy Clearance CheckBy Security - Enter Password CheckBy Security - Non-Reusable Password CheckBy Security - Password Mismatch CheckBy Security - Invalid Password Length CheckBy Security - DoneBy and CheckBy User ID must be different CheckBy Security - Denied because of improper CheckBy Clearance

21-62

Chapter 21

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

Description
1. 2. 3. 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. 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. 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. 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. 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. 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 ApplicationFunction Security Editor. 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.

4.

5.

6.

7.

Tag Interface Management (TIM) System 8.

21-63

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. 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. Value 1 2 Security Level Done By Check By

9.

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. Handshake Value -1 Description Input Tags Required Possible Return Codes (Page 21-64) 0, 2, 16, 20, 22, 24

Change the password for the selected user.

-2

Request the security level for the selected application.

-3

Request whether security is enabled for the selected application. Request security clearance for the selected function.

SE-INP-USERID SE-INP-PASSWORD SE-INP-NEWPASSWORD SE-INP-VERIFYPASSWORD SE-INP-USERID SE-INP-PASSWORD SE-INP-OPSTATION SE-INP-APPLICATION SE-INP-APPLICATION

0, 2, 3, 4, 6, 9, 16, 18, 256

0, 1, 4

-4

-5 -6

Request the security level for the selected function. Assign a new password to the selected user. 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. Verifies that the security system is installed and active.

SE-INP-USERID SE-INP-PASSWORD SE-INP-OPSTATION SE-INP-APPLICATION SE-INP-FUNCTION SE-INP-RECIPEID SE-INP-SECURITYLEVEL SE-INP-APPLICATION SE-INP-FUNCTION SE-INP-USERID SE-INP-NEWPASSWORD SE-INP-VERIFYPASSWORD None

0, 2, 3, 4, 5, 6, 8, 12, 14, 16, 18, 65, 129, 256

0, 1, 3, 4 0, 2, 20, 22, 24

-7

-8

None

0, 1

21-64

Chapter 21

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

Tag Interface Management (TIM) System

21-65

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. 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. Handshake Value Returned 0 Handshake Value Written -1, -6 -2, -4 -3 -5 -7 -8 1 -3 -5 -8 2 3 4 5 6 8 9 12 14 16 17 18 20 -1, -2, -4, -6 -2, -4 -5 -2, -4 -3, -5 -4 -2, -4 -4 -2 -4 -4 -1, -2, -4 -4 -2, -4 -1, -6 Description Password Changed Security Granted Application Security is Off Function Security is Off Number of Retries has been Reset Security System is Installed and Running Application Security On Function has DoneBy Security Security System is Not Installed and Running Unknown User Denied because of Operator Station Function has CheckBy Security Unknown Operator Station Invalid Query Denied because of Recipe Invalid Application Invalid Function Denied because of Application Additional Level Needed Unknown Recipe Invalid User Password Denied because of improper DoneBy Clearance Enter Password Non-Reusable Password

21-66

Chapter 21 22 24 32 33 65 129 -1, -6 -1, -6 -4 -4 -4 -4 Password Mismatch Invalid Password Length DoneBy and CheckBy User ID must be different Denied because of improper CheckBy Clearance Denied because did not receive Application Clearance Denied because did not receive DoneBy Clearance

Tag Interface Management (TIM) System

21-67

Batch Function Interface


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. Tag Name Type Size Access FUP-INFO-CLB STRING 50 RO
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID FUP-INFO-RECIPE FUP-INFO-SIZE FUP-INFO-TRAIN FUP-INFO-MODE FUP-INFO-STATUS FUP-INFO-EQUIPMENT FUP-INFO-PHASE FUP-PARAMEXT-NUMITEMS FUP-PARAMEXT-ITEM1 TO FUP-PARAMEXT-ITEM99
Each list tag consists of two fields separated by two spaces.

STRING INTEGER STRING INTEGER INTEGER STRING STRING INTEGER STRING

16 16 16 16 1 16 1 1 16 16 1 72

RO RO RO RO RO RO RO RO RO

NAME TYPE EXTENSION DATA CLASS VALUE FUP-SEL-PARAMEXTITEM FUP-SEL-PARAMNAME FUP-SEL-PARAMTYPE FUP-SEL-PARAMEXT FUP-SEL-PARAMCLASS FUP-SEL-PARAMEXTVAL FUP-HANDSHAKE

INTEGER STRING INTEGER INTEGER INTEGER STRING INTEGER

16 12 12 8 16 1 16 1 1 1 16 1

R/W RO RO RO RO R/W R/W

21-68

Chapter 21

Description
1. 2. 3. 4. 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. The FUP-INFO-RECIPE tag is a string tag containing the recipe ID of the batch selected. The FUP-INFO-SIZE tag is an integer tag containing the size of the batch selected. The FUP-INFO-TRAIN tag is a string tag containing the train of the batch selected.

5. The FUP-INFO-MODE tag is an integer tag containing the mode of the batch selected. Value 0 1 2 Mode Automatic Semi-Automatic Manual

6. The FUP-INFO-STATUS tag is an integer tag containing the status of the batch selected. Value 1 2 3 4 5 6 7 8 7. 8. 9. Status Ready Wait Run Done Interlock Aborted Held Aborting

The FUP-INFO-EQUIPMENT tag is a string tag containing the unit or connection being analyzed in the selected batch. The FUP-INFO-PHASE tag is a string tag containing the current active phase in the selected batch. 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.

Tag Interface Management (TIM) System

21-69

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 0 9 12 Description Input Process Variable Output

FUP-SEL-PARAMEXT - Integer tag containing the extension of the selected parameter Value 1 2 3 4 5 6 7 8 10 11 Description Material ID Material Name Target Actual High Deviation Low Deviation Lot Code Preact High Limit Low Limit

FUP-SEL-PARAMCLASS - Integer tag containing the class of the selected parameter Value 0 1 2 Status Analog Discrete String

FUP-SEL-PARAMEXTVAL - String tag containing the value of the selected parameter

21-70

Chapter 21 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. Handshake Value 0 -1 Description Value written to the batch management system to have it continue with the normal execution. 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. 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.

-2

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 addon 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 phase prepare 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);

Tag Interface Management (TIM) System

21-71

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. Tag Name Type Size Access FUEA-INFO-CLB STRING 50 RO
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID FUEA-INFO-RECIPE FUEA-INFO-SIZE FUEA-INFO-TRAIN FUEA-INFO-MODE FUEA-INFO-STATUS FUEA-INFO-INSTANCE FUEA-INFO-EQUIPMENT FUEA-SEG-NUMITEMS FUEA-SEG-ITEM1 TO FUEA-SEG-ITEM99 FUEA-SEL-SEGITEM FUEA-SEL-SEG FUEA-HANDSHAKE

STRING INTEGER STRING INTEGER INTEGER STRING STRING INTEGER STRING INTEGER STRING INTEGER

16 16 16 16 1 16 1 1 16 16 1 16 1 16 1

RO RO RO RO RO RO RO RO RO R/W RO R/W

Description
1. 2. 3. 4. 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. The FUEA-INFO-RECIPE tag is a string tag containing the recipe ID of the batch selected. The FUEA-INFO-SIZE tag is an integer tag containing the size of the batch selected. 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. Value 0 1 2 Mode Automatic Semi-Automatic Manual

21-72

Chapter 21 6. The FUEA-INFO-STATUS tag is an integer tag containing the status of the batch selected. Value 1 2 3 4 5 6 7 8 7. 8. 9. Status Ready Wait Run Done Interlock Aborted Held Aborting

The FUEA-INFO-INSTANCE tag is a string tag containing the instance name being analyzed in the selected batch. The FUEA-INFO-EQUIPMENT tag is a string tag containing the unit or connection being analyzed in the selected batch. 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

Tag Interface Management (TIM) System

21-73

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. Handshake Value 0 1 -1 Description Reject the selected unit or connection for allocation to the particular instance. Accept the selected unit or connection for allocation to the particular instance. 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. 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.

-2

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 the evaluation action is being evaluated.} ibPokeInt(IB_TIM_ACCESS_TAG, FUEA-HANDSHAKE, 1, IB_RESULT_TAG);

21-74

Chapter 21

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

Description
1. 2. 3. 4. 5. 6. 7. 8. The FULE-INFO-UNITSEGMENT tag is a string tag that contains the unit or segment name for which the status has changed. The FULE-INFO-NEWSTATUS tag is a string tag containing the new status of the unit or segment. The FULE-INFO-OLDSTATUS tag is a string tag containing the old status of the unit or segment. The FULE-INFO-RECIPEID tag is a string tag containing the recipe ID currently active in the unit or segment. The FULE-INFO-LASTRECIPEID tag is a string tag containing the previous recipe ID active in the unit or segment. The FULE-INFO-DONEBY tag is an integer tag containing the ID of the user that changed the unit or segment status. 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. 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.

Tag Interface Management (TIM) System 9.

21-75

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.

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. Handshake Value 0 -1 Description Value written to the handshake tag to notify the batch management system to continue. 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.

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.

21-76

Chapter 21

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 the evaluation action is being evaluated.} 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);

Tag Interface Management (TIM) System

21-77

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. Tag Name Type Size Access FUAC-INFO-CLB STRING 50 RO
This tag consists of three fields separated by a /.

CAMPAIGN ID LOT ID BATCH ID FUAC-INFO-RECIPE FUAC-INFO-SIZE FUAC-INFO-TRAIN FUAC-INFO-MODE FUAC-INFO-STATUS FUAC-INFO-EQUIPMENT FUAC-SEG-NUMITEMS FUAC-SEG-ITEM1 TO FUAC-SEG-ITEM99 FUAC-SEL-SEGITEM FUAC-SEL-SEG FUAC-HANDSHAKE

STRING INTEGER STRING INTEGER INTEGER STRING INTEGER STRING INTEGER STRING INTEGER

16 16 16 16 1 16 1 1 16 1 16 1 16 1

RO RO RO RO RO RO RO RO R/W RO R/W

Description
1. 2. 3. 4. 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. The FUAC-INFO-RECIPE tag is a string tag containing the recipe ID of the batch selected. The FUAC-INFO-SIZE tag is an integer tag containing the size of the batch selected. 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. Value 0 1 2 Mode Automatic Semi-Automatic Manual

21-78

Chapter 21 6. The FUAC-INFO-STATUS tag is an integer tag containing the status of the batch selected. Value 1 2 3 4 5 6 7 8 7. 8. 9. Status Ready Wait Run Done Interlock Aborted Held Aborting

The FUAC-INFO-EQUIPMENT tag is a string tag containing the unit or connection whose allocation is changing in the selected batch. The FUAC-SEG-NUMITEMS tag is an integer tag containing the number of segments defined for the active equipment in the selected batch. 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

Tag Interface Management (TIM) System

21-79

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. Handshake Value 0 -1 Description Value written to the handshake tag to notify the batch management system to continue. Value used by the batch management system to notify the user that the system is allocating a unit and waiting for a response. Value used by the batch management system to notify the user that the system is allocating a connection and waiting for a response. Value used by the batch management system to notify the user that the system is releasing a unit and waiting for a response. Value used by the batch management system to notify the user that the system is releasing a connection and waiting for a response.

-2

-3

-4

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 unit is to be released.} ibPokeInt(IB_TIM_ACCESS_TAG, FULE-HANDSHAKE, 0, IB_RESULT_TAG);

21-80

Chapter 21

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. Interface Group Batch Management System Security System Batch Functions Runtime TIM Application Required TIMBatch TIMSec TIMFunc

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.

22-1

C H A P T E R

2 2

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 InBatch servers. InTouch Development Clients and InBatch Runtime Clients can be configured to operate with redundant servers. Redundancy is initially configured as part of the InBatch 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. If you are installing a redundant system, you must configure your system as described in this section before you install InBatch.

Contents
n n n n n n n n n

Overview Example of a Redundant Server Configuration Setting Up a Redundant InBatch Server Installing a Redundant Batch System Redundancy Configuration Redundancy Switch-Over Configuration Redundancy Operation Typical Redundant Sequence of Operation Redundant System Points of Interest

Redundancy

22-2

Overview
Redundancy refers to the capability of InBatch 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 InBatch system. The two servers must each be equipped with two network interface cards (NIC). 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 is be exclusively dedicated for the purpose of InBatch 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 InBatch redundancy. Redundancy, by design, is intolerant of unreliable network communications, and this constraint must be taken into account when designing and deploying a redundant InBatch 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.

Redundancy

22-3

Example of a Redundant Server Configuration


The following example provides a typical configuration for redundancy. Note that the secondary network connection between the Master Server and Backup Server is a direct connection using a standard Ethernet crossover cable. The computer names and IP addresses shown are used in the descriptions later in this section. Secondary Network crossover cable
(No connections to an external network)

10.199.199.9 Master Server cabezon

10.199.199.8 Backup Server bonito

10.40.20.75 Primary Network

10.40.20.55

Batch Runtime Clients

Batch Development Client

Control System

Redundancy

22-4

Setting Up a Redundant InBatch Server


Redundancy is an option when installing InBatch 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. 2. 3. Establish a valid network configuration. Install redundant InBatch Servers. Install and configure InBatch clients.

Network Configuration
Before installing redundant InBatch 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. Primary NICs are connected to the Local Area Network (LAN), the secondary NICs are directly connect by a single crossover network cable. By establishing two independent network paths between the servers, the InBatch 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. Protocol - Each server must be configured for the TCP network protocol. Hostnames - Each server must be configured with two host names, one for each NIC. 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 you the IP addresses and system names associated with the re computers in your redundant setup. You must edit these files as described later in this section to properly configure redundancy. Verification - Communication between both servers and both paths must be tested and verified.

Redundancy

22-5

Installing a Redundant Batch System


Redundancy is an optional feature of InBatch. It is installed on BOTH servers using the InBatch installation program. You will be presented with a series of dialog boxes that will prompt you for specific information about your network. To install InBatch with redundancy, follow these guidelines: 1. 2. 3. 4. 5. 6. 7. 8. 9. Insert the proper FactorySuite CD into the CD-ROM drive. Run the setup program (setup.exe) on the Suite CD. Select InBatch from the Factory Suite installation menu. When you see the InBatch Installation Options dialog box, click the InBatch Server button. Proceed through the installation until you see the dialog box containing the Redundancy check box. Click the Redundancy check box and then click Next>. Enter the hostname and alternate (hostname) of the other redundant system in the dialog box. Click Next>. Follow the remaining installation instructions.

10. Setup will automatically create a program group with icons for the InBatch Server. 11. Repeat these steps on the other server, substituting the appropriate hostname and alternate hostname for the redundant system.

Redundancy

22-6

Batch Client - Redundancy Configuration


A Batch Client is configured for redundancy using the InBatch installation program. You will be presented with a series of dialog boxes that will prompt you for specific information about your network. Important Before you begin configuring a Client for redundancy, you must first have valid network connections between your servers and each Client. If you are going to install Batch Development clients, you must then configure each of the

Server Configuration
1. On each of the redundant batch servers, create a share of the directory in which the InBatch applications are located. For example, the default installation folder is C:\Program Files\FactorySuite\InBatch On each Batch Development Client, map two network drives. Each drive must correspond (that is, point to) to the appropriate Batch Server. 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.

2. 3.

Batch Client Configuration


1. 2. 3. 4. 5. 6. Insert the proper FactorySuite CD into the CD-ROM drive. Run the setup program (setup.exe) on the Suite CD. Select InBatch from the Factory Suite installation menu. When you see the InBatch Installation Options window, click the InBatch Client Options button. Select the Client type. When prompted, enter the hostname of the Primary Batch server. If you are installing a Batch Development Client, enter the local drive letter that is mapped to the appropriate Batch server InBatch folder. Continue to the next dialog. s Click the Redundancy check box and then click Next>. Enter the host name of the other batch server. Again, if you are installing a Batch Development Client, you must enter the local drive letter that maps to the other batch server InBatch folder. s 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.

7. 8.

9.

Redundancy

22-7

Redundancy Configuration
You must edit the RedCfg and Lmhosts files 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 network name. The only place that the network names should be used is in s the host file.

RedCfg File Structure


The RedCfg file contains the structure described below. Line 1: Line 2: Line 3: Line 4: Line 5: Line 6: Line 7: Line 8: Line 9: The remote computer name. Blank, not used. The path to the remote computer config_A directory. Blank, not used. The local hostname for primary network (cannot be a computer name). The local hostname for secondary network. (blank if not used) The remote hostname for primary network (cannot be a computer name). The remote hostname for secondary network. (blank if not used) Blank, not used.

Note The last line of the RedCfg file must be blank (i.e. carriage return.) The line numbers shown are for reference only. They are not actually entered in the file.

Redundancy

22-8

RedCfg and Lmhosts File Examples


In the example, two computers, "bonito" and "cabezon" 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.

Secondary Network crossover cable


(No connections to an external network)

10.199.199.9 Master Server cabezon

10.199.199.8 Backup Server bonito

10.40.20.75 Primary Network

10.40.20.55

Redundancy

22-9

RedCfg File Example


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> 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> In this example, the names "bony1", "bony2", "caby1", and "caby2" 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 faster performance. 10.40.20.75 10.40.20.75 10.199.199.8 10.40.20.55 10.40.20.55 10.199.199.9 cabezon caby1 caby2 bonito bony1 bony2 #PRE #PRE #PRE #PRE #PRE #PRE

Redundancy

22-10

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 InBatch 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. Editor For more information on Environment Manager, see Chapter 3, Environment Management System in this User Guide. s 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 an InBatch Redundant 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 InBatch server can be determined by opening the status window on the Environment Display. When a switch-over occurs, the server currently acting as the backup will switch-over and become a "Master with Invalid Backup." The server currently acting as the master, will switch-over to a "Master with Invalid Backup." The expectation is that a system failure on one of the servers has triggered the switch-over event; therefore, normally after a switch-over, only one server is acting as the Master. 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 InBatch 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, Wonderware strongly recommends 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

Redundancy

22-11

servers must be assessed, and a reasonable assurance of adequate resources for InBatch 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.

Master Server Backup System

Backup Server Batch System (Dormant)

Master Batch System Databases

Backup Batch System Databases

Redundancy

22-12

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

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 Message Display 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.

Redundancy

22-13

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. 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. 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. If the state file on the remote system indicates that it last state was a master, then s 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. If the time in state file on the remote system is more recent, then the interrogating system changes its state to backup and starts.

2.

3.

4.

5.

Environment Display provides a method to force either system to operate as the master, regardless of the state of the state files on each system. In a redundant system the Environment Display application file pull-down menu appears as shown NOTE: Extreme caution is recommended when using the Force System to Master option. When the system starts as a backup, it synchronizes all of the configuration databases with those located on the master system. Therefore, if the system was previously operating as the master, then the data generated during the previous execution would be overwritten by the synchronization process.

Redundancy

22-14

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.

Redundancy

22-15

Master System Failure while Backup 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

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.

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. IBCli, 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. Wonderware recommends that you follow the guideline below in order to avoid the above problem. 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.

Redundancy

22-16

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. The following condition script provides this functionality.

Batch Client (InTouch) Condition Script


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 Guide. s For more information on script functions, see Chapter 17, InTouch Script Add-On Functions. The batch control system supplies a tag named IBSERV_RED_MASTER. You will need to monitor the value of this tag. Within InTouch you will need to create a Condition Script which is set up as follows: Condition: IBSERV_RED_MASTER = = 1 Condition Type: On True The example script is:
IF SERVER_ID = = MAIN THEN IOSetAccessName(IB_TIM_TAGS, BKUPNODE, BKUPSERVER,JP1); IB_TIM_ACCESS_TAG=\\+BKUPNODE+\+BKUPSERVER+|JP1 IOSetAccessName(IBSERV_RED, MAINNODE, MAINSERVER,IB_TAGS); SERVER_ID = BKUP; ELSE IOSetAccessName(IB_TIM_TAGS, MAINNODE, MAINSERVER,JP1); IB_TIM_ACCESS_TAG=\\+MAINNODE+\+MAINSERVER+|JP1 IOSetAccessName(IBSERV_RED, BKUPNODE, BKUPSERVER,IB_TAGS); SERVER_ID = = MAIN; ENDIF;

Redundancy

22-17

The example script uses the following memory message tags that are created and assigned initial values in the InTouch Tagname Dictionary: Variable Name SERVER_ID MAINNODE MAINSERVER BKUPNODE BKUPSERVER Initial Value MAIN RAT IBSERV RAM IBSERV

NOTE: The value assigned to the variables MAINNODE and BKUPNODE (IBSERV) is the actual name of the application that provides tag access for the batch system. The variables MAINNODE and BKUPNODE are assigned initial values that represent the actual names of two network nodes. The variable, SERVER_ID, is dynamically reassigned, as the master-backup relationship between the two systems changes.

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. Note: For more information on the InTouch Client Alarms, see Chapter 20, Client Alarm/Event Interface of this User Guide. s 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.

Redundancy

22-18

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 19, Client Alarm/Event Interface. Condition Type: On Startup The example script consists of the following line:
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 that all alarms and events (other than operator events) will be discarded.

Redundancy

22-19

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

Never perform an edit operation on the backup system. Changes made on the backup system will be overwritten when the databases are re-synchronized. All editing of the batch control system databases must be performed on the active master. The size of the batch control system databases must be monitored. This is particularly important with the history database. The synchronization programs lock the particular databases as the backup system is updated. Thus, the master system cannot access the databases while the sync is taking place. Normally, this condition will only slow the batch system temporarily while the databases are being copied. Therefore, the databases should be managed properly and kept to a minimum in order to quicken the synchronization process. 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.

I-1

Index
*
**, in Phase List, 8-35 **, in schedule list, 8-21

.
.csv file, export with Tag Linker, 15-1 .fields InTouch, 4-37, 4-38, 4-67, 4-68, 4-73, 4-74 .rcp extension, 6-20

A
Abort a Batch, 8-44 Aborted, 8-16 Aborting, 8-16 Access Assignment, in Tag Linker, 15-13 Access Editor, Tag Linker, 15-11 Access Mode, 4-20 Access Name, 16-3 Access Name Parameter, 3-22 Access Names, defining with Tag Linker, 15-11 Acknowledge Addition of Material, 8-49, 8-53 Acknowledge on Entry, 4-105 Active Batch List Wizard, 16-8 Active Phase List Wizard, 16-18 Active Transition Objects, 8-38 Active Transitions, viewing, 8-25 ActiveX, 1-4, 1-10 Actual Element, Process Phase, 4-58 Actual Element, Transfer Phase, 4-86 Actual Value, 5-15 Actual Value, Assigning for Unit Assignment, 5-17 Add Batch to list, 8-17 Add Materials From List, check box, 6-43, 6-47 Add Operation, 6-57, 6-63 Add Operation Branch, 6-57 Add Operation Loop, 6-57 Add Operation Transition, 6-57 Add Phase, 6-58 Add Phase Branch, 6-58 Add Phase Loop, 6-58 Add Phase Transition, 6-58 Add Units to a Train, 7-7 Adding Process Classes, 4-40 Adding Units, 4-36 administrative privileges installation, 2-3 Advanced Planning Systems, 1-10 Advise All, 3-22 Advise Time Parameter, 3-22 alarm limits, 4-86 alarms, 14-4 Alarms, configuring, 20-3 Allocate Phase in recipes, 6-5 Analog Data Class, 4-38, 4-48, 4-68, 4-74 analog input parameters, 4-86 analog process variable, 4-86, 4-87

analog process variable, using with Hi and Low Limit, 459 analog tag, 4-20 API, Security, 12-2 application ID, in security, 12-16 Application Parameters Table of, 3-21 Application Security Requests, 12-20 Application Status, Viewing, 3-8 Applications-Functions Editor, 12-15 Approvals, 6-16 Approved for Production, 6-16 approved for production, recipe security, 12-14 Approved for Test, 6-16 approved for test, recipe security, 12-14 Architecture InBatch Runtime System, 1-17 Archiving History Database, 9-1 ASCII Text, report format, 10-17 Ask, 13-6 AskCheckBy, 13-6 AskDoneBy, 13-6 Assign a Material to a Unit, 5-16 Assign Application Parameter Values, 3-20 Assign Application Parameters, 3-19 Assign Attributes to Process Tags, 4-48 Assign Destination Instances, 6-37 Assign Lot Tracking Information, 5-17 Assign Process Classes, 6-27 Assign Source Instances, 6-37 Assign Tag Links, in Tag Linker, 15-12 Assign Tags to Process and Transfer Classes, additional information, 4-102 Assign Tags, additional information, 4-97 Assign Units, Process Class Instances, 6-30 Assigning a Material to a Unit, 5-14 Assigning Attributes to Connection Tags, 4-68 Assigning Attributes to Transfer Tags, 4-74 Assigning Attributes to Unit Tags, 4-38 Assigning Connections to Transfers, 4-72 Assigning Segments, 4-66 Assigning Units to a Process Class, 4-42 Assigning Units to Trains, 7-7 attribute range, 6-31 Attributes Process Class, 4-44 Attributes, Process Class Instances, 6-31 Auto Batch End, 10-13 Automatic Allocation, unit, 8-40 Automatic Batch Execution, 8-16 Automatic Batch Mode, 8-42 automatic phase, 4-49, 4-75 Automatic Phase, 4-8, 4-56 Automatic Phase, Description of, 4-56 automatic phases examples of, 4-56 Automatic Process Phases, 8-48 Automatic Process Phases with Material Input Parameters, 8-48 Automatic Tag Creation and Assignment, 4-106 Automatic Tag Creation and Assignment, additional information, 4-99 Automatic Tagnames, Naming Convention, 4-100 Automatic to Manual mode change, 8-45 Automatic to Semi-automatic mode change, 8-45

Index
Automatic Transfer Phase, 4-83 Automatic Transfer Phase, Examples of, 4-83 automatic transfer phases, 5-14 Automatic Transfer Phases, 8-51 Automatic Unit Selection, 8-47 Automatically Generated Tagnames, 4-19 Batch History Description of, 1-9 Batch Hooks, 3-21 Batch ID, 4-23, 8-14 Batch Identification, 8-14, 8-30 batch management material tracking, 5-14 Batch Management Description of, 1-8 Materials Usage, 5-14 Batch Management System, 8-1 Batch Manager Process Tag to Unit Tag Resolution, 4-23 Starting, 8-39 Unit Control Tag usage, 4-41 Unit State Tag usage, 4-41 Warm Restart, 8-59 Batch Messages, 8-22 Batch Messages Wizard, 16-9 Batch Questions with Close Wizard, 16-11 Batch Questions Wizard, 16-12 Batch Reports Description of, 1-9 Batch Restart Mode, 8-61 Batch Runtime Client, 1-2 Installed Components, 1-4 Requirements, 1-2 Batch Runtime Errors, 8-57 Batch Schedule CLB filtering, 8-8 Mode/Status, 8-10 Recipe Status, 8-9 Train, 8-9 Batch Schedule Errors, 8-58 Batch Schedule List, modifying, 8-17 Batch Scheduler, 8-5 Menus Edit/Cleanup, 8-7 Edit/Delete, 8-7 Edit/Move Down, 8-7 Edit/Move Up, 8-7 File/Exit, 8-6 File/Print, 8-6 File/Print Preview, 8-6 File/Print Setup, 8-6 Batch Scheduler Edit Menu, 8-7 File Menu, 8-6 Help Menu, 8-13 Initialize Menu, 8-11 Menus Initialize/All, 8-11 Initialize/Batch, 8-11 Options/Execute in Order, 8-13 View/Batch Editor, 8-8 View/Errors, 8-10 View/Filters, 8-8 View/Status Bar, 8-10 View/Toolbar, 8-10 View/Undo Sorting, 8-8 Options Menu, 8-13 View Menu, 8-8 Batch Scheduler/Dispatcher Wizard, 16-7 Batch Server Security Configuration, 19-3 Batch Server, security, 12-11 batch specific reports, 10-11

I-2

B
Backing Up Configuration Databases, 2-16 Backup a Database with DBCOPY, 2-16 Backup App Parameter, 3-22 Backup Node Parameter, 3-22 Backup Topic Parameter, 3-22 Batch, 5-14 Batch Action Reference, 17-7 Batch and Unit Management Description of, 8-2 Batch Comments Wizard, 16-16 Batch Configuration Client, security, 12-11 Batch Control, 8-32 Batch Control Buttons, 8-30 Batch Development Client Installed Components, 1-3 Requirements, 1-2 Batch Display, 8-18 Actions Menu, 8-19 Description of, 8-18 File Menu, 8-19 Help Menu, 8-27 Menus Actions/Manual Operation, 8-19 Actions/Save Control Recipe, 8-20 File/Exit, 8-19 View/Errors, 8-26 View/Large Icons, 8-27 View/SFC Toolbar, 8-26 View/Status Bar, 8-26 View/Toolbar, 8-26 View/Zoom-In Operation, 8-26 View/Zoom-In Phases, 8-26 View/Zoom-Out Operation, 8-26 View/Zoom-Out Phases, 8-27 Windows/Batch Messages, 8-22 Windows/Equipment Allocation, 8-23 Windows/Phase Parameter Editor, 8-25 Windows/Schedule, 8-21 Windows/Transition Logic, 8-25 Using, 8-18 View Menu, 8-26 Windows Menu, 8-21 Batch Display Functionality, 8-32 Batch Display Layout, 8-28 Batch Display Toolbar, 8-29 Batch Display, control buttons, 4-97 Batch Errors Runtime, 8-57 Schedule, 8-58 Batch Errors Wizard, 16-28 Batch Execution, 8-40 Batch Execution Mode, 8-16, 8-33 Batch Execution Mode Changes, 8-45 Batch Execution, Warm Restart, 8-60 Batch function tags, 15-17 Batch Function Tags, 15-3, 18-2

Index
Batch Status Descriptions, 8-32 Batch Tag Remote Referencing, 18-7 Batch Tag Sources, defining, 18-3 Batch, Defining, 8-14 BatchDspl Application Parameters, 3-22 BatchMngr Application Parameters, 3-21 Braces, 13-7 Branch, 6-57, 6-58 Branch Execute Types, 6-71 Branch Leg, Deleting, 6-74 Branch Object Description of, 6-4 Branch Object, Insert, 6-69 Branch Objects, 6-69 branch types, 6-69 Branch Types, All, 6-69 Branch Types, One, 6-69 Branch, Deleting, 6-74 BTB-, 21-9 BTB-SEL-SCHFOCUSOK, in data change script, 16-29 BTE-, 21-9 BTEE-, 21-9 BTM-, 21-9 BTPE-, 21-9 BTR-, 21-9 BTRC-, 21-9 BTRP-, 21-9 BTRQ-, 21-9 BTRS-, 21-9 BTS-, 21-9 BTSR-, 21-9 BTVT-, 21-9 Building a Recipe Procedure, 6-55 Building Recipes, Connectionless Process Model, 6-85 bulk ingredients, 5-2 Button Wizard, 16-13 By-Product, Defining, 5-11 by-products, 6-1 By-Products, 5-2

I-3

C
Campaign, 5-14 Campaign ID, 4-23, 8-14 Capabilities Overview of InBatch, 1-5 CfgLinkDB, 15-6 CfgModelDB, 3-2, 4-27 Change Application Parameter Values, 3-20 Change Batch list, 8-17 Change Batch Mode Wizard, 16-10 Change Operation Name, 6-76 Change Process Class Name, 4-40 Change Unit Name, 4-36 Changing Passwords, 12-19 Changing Process Class Names, 4-40 Changing the Batch Schedule List, 8-17 Characteristic Name, 5-15 Characteristics, 5-15 CheckBy, 19-6 check-by security, 12-15 ChgPwd, 12-19 CLB, 8-14 CLB filtering in Batch Scheduler, 8-8

Clear All Schedule entries, 8-17 Client Security, 19-1 Client Type, 15-15 Colors, meaning in Batch Display, 8-31 COM, 1-4 COM Interface Parameter, 3-21 Comma, 13-7 Comma Separated Values, report format, 10-17 Comment, 6-2 Comments, entering for phases, 8-33 Comparison of Model Approaches, 4-4 complementary process phase, 6-85 Complimentary Process Phase, 4-3 Comprehensive Model, 4-2 config_A folder, 1-10 Configuration Update, 3-7 Configuration Security System, 12-9 Configuration and Runtime Programs Summary of, 1-11 Configuration Parameter, 3-22 Configuration Programs Summary of, 1-11 Configurations Managing, 1-10 Configure Formula Parameters, additional information, 4-106 Connect Time Parameter, 3-22 Connection, 4-2 Connection Tag Description of, 4-14 Guideline, 4-17 connection tags, 4-14 Connection Tags, 4-67 Connectionless Model, 4-2 Connectionless Process Model, Building Recipes, 6-85 connectionless transfer, 6-85 Connections Description of, 4-7 Connections, 4-63 Connections, Assigning to Transfers, 4-72 Connections, Editing, 4-64 Contention for Shared Equipment, 8-55 Continue Mode, 6-79 Continue Mode Execution, 8-54 control buttons, 14-4 Control Buttons, 14-18 Configuring for Process Class Phase, 4-50 Configuring for Transfer Class Phase, 4-77 Description of, 4-11 Control Buttons, additional configuration, 4-97 control criteria, 10-2 Control Criteria Description of, 10-13 control inputs, 14-4 control outputs, 14-4 Control Recipe Description of, 6-1 Control System Code Structure, 14-7 Control System Interfacing, 15-20 Control System Memory Configuration, with phases, 146 Control System Synchronization, 8-62 Control/Status Activity, 4-50, 4-77 Conversions

Index
History Database, 2-22 create trains, 7-7 Crystal Report Assignment, 10-10 Crystal Reports Predefined, 10-11 Crystal Reports, 10-1 Crystal Reports , Installing, 2-10 Crystal Reports, report format, 10-17 CSV File Format, in Tag Linker, 15-7 Reports, 10-17 Destination Instance, Assigining, 6-38 Destination Process Class, Assigning, 4-70 Destination Unit, Assigning, 4-64 dflt_cfg folder, 1-10 Diagram Batch Management Overview, 8-4 Branch Execute Types, 6-71 Environment Management System, 3-2 Example of Recipe Procedure, 6-86 Function Block, 14-4 InBatch Runtime System, 1-17 InBatch Configuration System, 1-16 Parts of a Recipe, 6-2 Process Instances in recipes, 6-25 Process Logging, 11-2 Process Modeling, 4-21 Recipe Formula, 6-3 Transfer Instances in recipes, 6-25 Diagram:, 8-55 Disable Timestamp Parameter, 3-22 Disable Warm Restart, 3-21 Discrete Data Class, 4-38, 4-48, 4-68, 4-74 discrete tag, 4-20 Discrete Tags Using with Control Buttons, 4-11 Document Tab, Phase Properties, 6-83 Document Viewing, Description of, 6-83 Done, 8-16 Done By, as Recipe Author, 6-13 DoneBy, 19-6 done-by security, 12-15 DoneBy Security, 19-5 drag operation, 6-60

I-4

D
Data Change Script, List Boxes, 16-30 data class, 4-38, 4-68, 4-74 Data Class, 4-20 data points, 1-6 data reset information, 10-2 data sources configuring, 2-12 Data Type Selection, when exporting tags, 15-14 Database Backup utility, 2-16 Process Log, 11-2 Database Conversions History, 2-22 Database Manager Viewing Status of, 3-8 Database Structure, History, 9-3 Date Received, 5-14 DBCOPY utility, 2-16 DBLOAD, with Tag Linker, 15-2 Default Batch Size, 6-2 Default Editor Settings, 8-16 Default Environment System Parameters, 3-14 Default Values for Process Parameters, 4-106 Define Lot Tracking Information, 5-14 Define Materials, 5-13 Defining a Batch, 8-14 Defining Materials, 5-11 Delete Application Parameters, 3-24 Delete Operation Object, 6-57 Delete Phase Object, 6-58 Delete Process Class, 4-40 Delete Unit, 4-36 Delete Units from a Train, 7-7 Deleting a Branch, 6-74 Deleting a Branch Leg, 6-74 Deleting a Loop, 6-75 Deleting a Phase, 6-73 Deleting a Transition, 6-73 Deleting an Operation, 6-73 Deleting Connections, effect of, 4-28 Deleting Model Components, Warning, 4-28 Deleting Procedure Objects, 6-73 Deleting Process Classes, 4-40 Deleting Process Classes, effect of, 4-28 Deleting Recipes, 6-14 Deleting Transfer Classes, effect of, 4-28 Deleting Units, effect of, 4-28 Delimiters, 13-7 demand reports, 10-2 Destination Class Charge Phase, 4-3 destination criteria, 10-2 Destination Criteria Description of, 10-17

E
Edit Comment Button, Batch Display, 6-79 Edit Connections, 4-63 Edit Equipment Status, 4-95 Edit Formula Inputs, 6-41 Edit Formula Outputs, 6-45 Edit Formula Parameters, 8-35 Edit Formula Parameters, additional information, 4-104 Edit Phase Configuration, 6-78 Edit Phase Documents, 6-83 Edit Phase Instructions, 6-80 Edit Phase Parameters, 6-81 Edit Phase Properties, 6-77 Edit Phases and Parameters, 21-42 Edit Segments, 4-94 Edit Transfers, 4-69 Edit Units, 4-35 Editing an Expression, 13-3 Editor Process Modeling, 4-1 End Of Batch Operation, 8-56 Enterprise Manager, 2-22 Environment Update, 3-6 Environment Display, 3-1, 3-3, 9-15 Description of, 3-2 File Menu, 3-4 Help Menu, 3-9 Menus

Index
File/Exit, 3-4 File/Exit and Shutdown, 3-5 File/Terminate App, 3-4 Update Configuration, 3-7 Environment, 3-6 Runtime, 3-6 View/Status, 3-8 Starting Applications from, 3-10 Starting Runtime Applications, 3-10 Stopping Runtime Applications, 3-10 Update Configuration, 4-27 Update Menu, 3-6 Using, 3-3 View Menu, 3-8 Environment Editor, 3-1 Adding Applications to the Environment, 3-16 Application Parameters, 3-19 Description of, 3-2 Edit Menu, 3-13 File Menu, 3-13 Help Menu, 3-15 Instances, Configuring, 3-17 LIFO Materials Parameter, 5-14 Menus Edit/System Parms, 3-13 File/Exit, 3-13 Phase/Batch Status parameter, 8-24 Phase/Batch Status parameter, 8-42, 8-43, 8-44 Report Manager, 10-19 Starting, 3-12 Environment Editor, Batch Manager, 8-51 Environment Management System, 3-1 Architecture, 3-2 Description of, 3-2 Environment Manager, 3-1, 3-3 Description of, 3-2 Process Log Manager, Configuring, 11-15 Starting, 3-28 Starting Report Manager, 10-19 Environment System Parameters, 3-13 Equipment Allocation window, 8-23 Equipment Allocation Wizard, 16-25 equipment dependent recipe, 6-2, 6-25, 6-30 equipment dependent recipes, unit assignments, 6-25 equipment independent recipe, 6-2, 6-25 Equipment Requirements, 6-2 Equipment Requirements Editor, Using, 6-25, 6-26 Equipment Requirements, Description of, 6-2, 6-25 Equipment Selection, 8-34 Equipment Selection Wizard, 16-26 Equipment Status Description of, 4-12 Equipment Status, 4-95 Equipment Tags, 15-3, 18-2 ERP, 1-10 Error Unexpected Status, 8-42 Error Reference Script Add-On Function, 17-18 Errors Batch Runtime, 8-57 Batch Schedule, 8-58 Batch Schedule, Viewing, 8-10 Errors wizard, 19-7 Example

I-5

Process Model, 4-22 Example Equipment Requirements, 6-33 Example Phase Logic, Process Model Example Plant, 425 Example Plant, Process Model, 4-24 Example Transfer Instance Selection, 6-39 Examples Formula Parameter, 4-107 Excel, report format, 10-17 Exchange Folder, Sending Reports to, 10-21 execute multiple operation, 6-69 execute multiple phases, 6-69 Execute Type, 6-69 Execute Type All, Description of, 6-71 Execute Type One, Description of, 6-71 Exercising Phases, 14-21 Export a Report, 10-25 Export Editor, Tag Linker, 15-15 Export Recipes, 6-19, 6-20 Export Tag, in Tag Linker, 15-13 Export Tags, 15-6 exporting reports, 10-24 Exporting Reports, 10-21 Expression Editing, 13-3 Operators, 13-5 Expression Building Rules, 13-8 Expression Editor, 13-1 Defining Process Log Criteria, 11-2 Description of, 13-2 Edit Buttons, 13-3 Using, 13-2 Expression Editor, Question Length, 6-68 Expression Editor, using for transitions, 6-67 Expression Elements, 13-5 Expression Examples, 13-9 Expression Functions, 13-6 expressions viewing during batch execution, 8-38 Expressions in reports, 10-14 Extensibility, 1-10

F
Factory Suite Licensing, 3-15, 4-34, 5-10, 6-54 FIFO, 8-51 FIFO Materials Parameter, 5-14 Filter Recipes, 6-11 Filtering Batch Schedule List, 8-8, 8-9, 8-10 Find Button, Materials Editor, 5-13 Find Recipes, 6-11 finished goods, 6-1 Finished Goods, 5-2 Finished Goods, Defining, 5-11 Flexibility, 1-5 Flexible Batch Management, 1-1 Force to True, 8-38 Force Use Tag Name Parameter, 3-22 Formula, 6-2 Formula Parameter Automatic and Semi-Automatic Transfer Phases, 4-85 Formula Parameter Configuration Manual Transfer Phases, 4-92

Index
Formula Parameter Examples, 4-107 Formula Parameter, detailed description of, 4-104 formula parameters, 6-81, 14-4 Formula Parameters, 14-16 Automatic Process Phases, 4-57 Configuring for Process Class Phases, 4-55 Configuring for Transfer Class Phases, 4-82 Description of, 4-10 Manual Process Phases, 4-62 types, 4-57 Types, 4-10, 4-85 Formula Parameters, Description of, 6-6 formula quantities, 6-1 Formula, Defining, 6-40 Formula, Recipe, Description of, 6-3 FUAC-, 21-9 FUEA-, 21-9 FULE-, 21-9 Function Block Diagram, 14-4 Function Security Requests, 12-21 Function Security, enabling, 12-18 Functions Description of, 13-6 Functions, inserting in expressions, 13-4 FUP-, 21-9 Logging Process Data, 11-3 Viewing for a Recipe, 6-18 History Admin, 9-15 History Administration Program Starting, 9-15 History and Archiving, 9-1 History and Batch Manager Description of, 8-3 History Archive Delete Archive, 9-25 Edit Archive, 9-25 Menus Edit/Add Entry, 9-18 Edit/Delete Entry, 9-18 Edit/Edit Entry, 9-18 Edit/Purge Data, 9-19 Edit/Restore Archive, 9-19 File/Exit, 9-18 File/Print Preview, 9-18 File/Print Setup, 9-18 Help, 9-20 View/Refresh, 9-19 Purge Data, 9-27 Restore Archive, 9-26 History Archive Application, 9-1 History Archive utility, 9-16 History Archiving Add New Archive, 9-21 History Database Conversions, 2-22 History Database Structure, 9-3 Hold a Batch, 8-42 Hold Propagation Modes, 8-24 hook points, batch tags, 15-17 hooks, 18-2 HTML, report format, 10-17 Hybrid Model, 4-3

I-6

G
General High Deviation, 5-11 General Low Deviation, 5-11 General Tolerances, in Recipes, 6-44 Generating Reports, 10-24 Guideline Control System Interfacing, 15-20 Control System Memory Configuration, 14-6 Creating a Process Log Group, 11-10 creating a train, 7-7 Expression Building, 13-8 Phase Block Design, 14-2 Phase Block Memory, 14-6 Recipe Procedure Development, 6-8 When to use Tag Linker, 15-4 When to Use the Tag Interface Management (TIM) System, 21-3 Guidleine Batch Manager system interactions, 8-3

I
I/O Server, 15-1 IB_TIM_TAGS, using with wizards, 16-3 ibAlarmEventInit, 17-3 ibAlarmEventInit, using with alarms, 20-3 ibAlarmNode, 17-4 ibAlarmNode, using with alarms, 20-3 ibBatchAction, 17-5, 19-4 IBCli, 15-21 IBCli Application Parameters, 3-22 ibConfig, 17-9 ibDdePokeDisc, 17-17 ibDdePokeInt, 17-17 ibDdePokeStr, 17-17 ibDdeRequestDisc, 17-17 ibDdeRequestInt, 17-17 ibDdeRequestStr, 17-17 ibDdeTermTopic, 17-17 IBFServ Application Parameters, 3-23 ibhist.dll, 1-4, 20-2 ibPokeInt, 17-11 ibPokeStr, 17-12 ibRequestDisc, 17-13 ibRequestInt, 17-14 ibRequestStr, 17-15 IBServ Application Parameters, 3-23 ibTermTopic, 17-16

H
Header, 6-2 Header, Description of, 6-2 Held, 8-16 Help Environment Display, 3-9 Environment Editor, 3-15 Materials Status, 5-10 Process Modeling, 4-34 Recipe Editor, 6-54 high deviation element, 4-86 High Deviation Element, Process Phase, 4-58 High Deviation Element, Transfer Phase, 4-86 High Deviation, Material, 5-11 High Limit Element, Process Phase, 4-59 High Limit Element, Transfer Phase, 4-87 History

Index
Import Recipes, 6-19, 6-20 Import Tags, 15-8 InBatch Overview of Capabilities, 1-5 redundancy, 22-4 InBatch Client Security, 19-1 InBatch Client Security Operation, 19-5 InBatch Development Client, 2-2 InBatch History, configuring ODBC, 2-12 InBatch Runtime Client, 2-2 InBatch Server, 2-2 Installed Components, 1-3 Requirements, 1-2 InBatch wizards, 21-3 InBatch Wizards, 15-2, 16-1 Index, 13-7 InfoMngr, 17-2, 20-2. See Information Manager Information Manager Description of, 11-15 Ingredient, Defining, 5-11 ingredients, 6-1 Ingredients, 5-2 Init Status Tags Parameter, 3-21 Initialization Description of, 8-2 initializing batches, train, 6-62 Input and Output Control, 14-19 input formula parameters, 5-14 Input Material Settings, Editing for Recipes, 6-44 Input Materials, Adding to Recipe, 6-42 Input Materials, Changing in Recipe, 6-43 input parameter elements, 4-57 Input parameters, 4-85 Input Phase Parameters, 6-81 Insert a Function, 13-4 Insert a Phase, 6-64 Insert a Tag Operand, 13-4 Insert an Operation, 6-63 Insert Branch Object, 6-69 Insert Loop Object, 6-72 Insert Transition Object, 6-65 Inserting Procedure Objects, 6-63 Installation InBatch Components, 2-2 Installing Crystal Reports, 2-10 Installing SQL Server, 2-10 Instance Description of, 3-16 Instances, 3-16, 3-17 Adding, 3-16 Error Message, 3-16 Instruction List, 8-30 Instructions Tab, Phase Properties, 6-80 Instrument Society of America, 1-5 interface runtime system, 21-5 interlocks, 14-4 Interlocks, 14-18 Configuring for Process Class Phases, 4-53 Configuring for Transfer Class Phases, 4-80 Description of, 4-10 Interlocks, additional information, 4-102 interlocks, viewing with Phase Logic Testing Tool, 1421 Intermediate, Defining, 5-11 intermediates, 6-1

I-7

Intermediates, 5-2 Internet Explorer, report format, 10-17 InTouch .fields, 4-37, 4-38, 4-67, 4-68, 4-73, 4-74 .fields, 4-46 Batch Tag Browsing, 18-1 Batch Tag Referencing, 18-1 DBLoad, 15-1 Script Add-On Functions, 17-1 tagname dictionary, 15-13 using security, 19-4 InTouch alarms, 20-1 InTouch alarms, in InBatch database, 20-3 InTouch Applications Creating Tags, 15-1 InTouch applications, creating tags for, 15-2 InTouch client, 21-3 InTouch Client Examples, using TIM Tags, 21-21, 2123, 21-25, 21-27, 21-36, 21-39, 21-41, 21-46, 21-50, 21-54, 21-57, 21-59, 21-64, 21-70, 21-73, 21-76, 2179 InTouch events, 20-1 InTouch operator actions, 20-1 InTouch scripts, batch function hooks, 15-17 InTouch tags, 15-1 InTouch, Guidelines for Using Tag Linker, 15-15 InTouch.fields, 4-48 ISA S88.01, 1-5, 1-7 Item Definition, in Tag Linker, 15-13

L
Library, Operations, 6-50 Licensing Viewing, 4-34, 5-10 Viewing, 3-9, 3-15, 6-54 LIFO, 8-51 LIFO Materials parameter, 8-51 LIFO Materials Parameter, 3-21, 5-14 Linking InBatch tags, 15-1 lm_tcp, 3-3 lm_tcp, Starting and Stopping, 3-28 Load Operation, 6-57, 6-61 Loading an Operation, 6-61 Log Interval Description of, 11-3 Process Log Group Editor, 11-3 Log Trigger Description of, 11-2 Process Logger Group Editor, 11-2 LogMngr. See Process Log Manager LogMngr Application Parameters, 3-22 Loop, 6-57, 6-58 Loop Object Description of, 6-4 Loop Object, Insert, 6-72 Loop Objects, 6-72 Loop, Deleting, 6-75 Lot, 5-14 Lot Code Element, Process Phase, 4-59 Lot Code Element, Transfer Phase, 4-88 Lot ID, 4-23, 8-14 Lot Tracking, 5-14, 5-17 low deviation element, 4-86 Low Deviation Element, Process Phase, 4-58

Index
Low Deviation Element, Transfer Phase, 4-86 Low Limit Element, Process Phase, 4-59 Low Limit Element, Transfer Phase, 4-87 Help Menu, 5-10 Menus Edit Edit/Material Locations, 5-7 Edit/Materials Editor, 5-7 File File/Print, 5-5 File/Print Setup, 5-6 File/Validate, 5-4 View View/Assigned Units, 5-8 View/Find, 5-9 View/Full List, 5-9 View/Partial List, 5-8 Reports, 5-5 Materials Status Window Starting, 5-3 Using, 5-3 Materials Tracking Management Description of, 1-7 Materials, Adding to Recipe, 6-46 Materials, Formula Inputs, 6-40 Materials, Formula Outputs, 6-40 Materials, Process Variables, 6-40 Max Attribute, 6-31 Max locked files Parameter, 3-14 Max locks in queue Parameter, 3-14 Max users Parameter, 3-14 Maximum Batch Size, 6-2 MdbToServer, 20-2 MdbToServer application, 9-2 Menu InBatch Program, 1-3 Microsoft Access, 20-2 Microsoft Mail, Sending Reports to, 10-21 Microsoft SQL Server, 2-2 Min Attribute, 6-31 Minimum Batch Size, 6-2 Mode/Status filtering in Batch Scheduler, 8-10 Model Approach Comparisons, 4-4 Model Editor, 4-27, 4-29 Connections Tab, 4-63 Edit Equipment Status Tab, 4-95 Edit Menu, 4-33 Edit Segments Tab, 4-94 File Menu, 4-30 Menus Edit/Connections, 4-33 Edit/Equipment Status, 4-33 Edit/Processes, 4-33 Edit/Segments, 4-33 Edit/Transfers, 4-33 Edit/Units, 4-33 File/Exit, 4-32 File/Print, 4-31 File/Print Preview, 4-32 File/Print Setup, 4-32 File/Validate, 4-30 Starting, 4-29 Transfers Tab, 4-69 Units Tab, 4-35 ModelDB, 4-27 Modeling. See Process Modeling. Model Editor Monitor Batch Messages, 21-40 Moving Procedure Objects, 6-75 MRP, 1-7, 5-2

I-8

M
Managing InBatch Configurations, 1-10 Manual Addition using a connected Scale, 8-49, 8-52 Manual Addition using an unconnected Scale, 8-49, 8-52 Manual Addition, with Scale and without Scale, 8-50, 853 Manual Allocation and Release, unit, 8-41 Manual Batch Execution, 8-16 Manual Batch Mode, 8-45 Manual Operation, phase execution, 8-19 Manual Operation, Warm Restart, 8-63 Manual Operations Parameter, 3-22 manual phase, 4-49, 4-75 Manual Phase, 4-8, 4-9 Manual Process Phase, 4-62 Manual Process Phases, 8-48 Manual Process Phases with Material Input Parameters, 8-49 Manual Tag Creation and Assignment, 4-101, 4-106 Manual to Automatic mode change, 8-46 Manual to Semi-automatic mode change, 8-46 Manual Transfer Phase, 4-83, 4-91 Manual Transfer Phase, Examples of, 4-91 Manual Transfer Phases, 8-51, 8-52 Manual Unit Selection, 8-47 MAPI, 10-21 Master Recipe Description of, 6-1 Material Characteristics, 5-11, 5-13 Material Description, 5-11 Material ID, 5-11 Material ID Element, Process Phase, 4-59 Material ID Element, Transfer Phase, 4-88 Material Location Assignment Editor Starting, 5-16 Using, 5-14 Material Name, 5-11 material reports, 10-11 material resource planning, 1-7 Material Status Viewing, 5-3 material tracking, 5-14 material tracking, connectionless model, 6-85 Materials Defining, 5-11 Materials Editor Defining Materials, 5-13 Defining Materials for, 5-13 Description of, 5-2 Printing Materials Status, 5-5 Starting, 5-12 Using, 5-11 Materials Editor, 5-1 Materials Status Menus File File/Exit, 5-6 File/Print Preview, 5-6 Materials Status Filtering the Unit Assignment List, 5-8

Index
multiple instances, in recipes, 6-2 multiple operation execution, 6-69 multiple phase execution, 6-69 Multiple process instances, 6-28

I-9

N
nesting branches, 6-70 Nesting Procedure Objects, 6-75 Netscape, report format, 10-17 New/Verify CheckBy Password, 19-7 New/Verify DoneBy Password, 19-6 No Poke Acks, 3-22 Not, 13-6

O
Obsolete DDE Script Add-On Functions, 17-17 ODBC, 2-13 configuring, 2-12 ODBC Data Source Administrator, 2-13 OK, 16-4 Open, 8-16 Open Database Connectivity, 2-12 Operands Description of, 13-6 Operation Description of, 6-4 Operation Branch, Insert, 6-69 Operation Loop, Insert, 6-72 Operation Name, Changing, 6-76 Operation Properties, 6-76 Operation Transition, 6-57 Operation Transition, Insert, 6-65 Operation, insert, 6-63 Operation, Loading, 6-61 Operation, Save, 6-76 Operation, Storing, 6-59 operation, validity of, 6-62 Operations Library, 6-50 Operations Library, Using, 6-50 Operations Toolbar, 6-57 Operations, Examples of, 6-4 operations, recipe, 6-4 Operator Display and Edit Configuration, 4-106 operator station, description of, 12-11 Operator Stations, 12-14 Operator Stations Editor, 12-14 Operator Stations, security, 12-11 Operators Expressions, 13-5 Other Applications, 3-25 Other Material, Defining, 5-11 Other Materials, 5-2 output formula parameters, 5-14 Output Material Settings, Editing for Recipes, 6-48 Output Materials, Changing in Recipe, 6-47 output parameter elements, 4-57 Output parameters, 4-85, 6-6 Output Phase Parameters, 6-82

P
P&ID,Using for Process Model, 4-1 Parallel operations, 6-85

Parameter Extensions Description of, 14-17 Parameter Status, 4-50, 4-77 Parameter Type Extensions, 14-16 Parameter Types, 14-16 Parameters Application Parameters, 3-21 Parameters Applications, Assigning with Environment Editor, 319 Formula, 4-10 Phase, 4-10 Parameters Tab, Phase Properties, 6-81 Parentheses, 13-7 Parm Time (msecs), 3-21 Parm Timeout (secs), 3-21 Password, 12-4, 12-13 password encryption, 12-13 Password Reuse, 12-9 Password Timeout, 12-9, 12-13 password, changing, 12-13 Password, changing, 12-4 Password, security editor, 12-4 Period, 10-14 phantom batch, description of, 8-19 phantom batch, displaying, 8-29 Phase, 4-49, 4-75 Process, 4-8 Phase and Parameter Editor Wizard, 16-20 Phase Block Components of, 14-7 Description of, 14-2 Operational Flow Chart, 14-4 Rules of Operation, 14-3 Phase Block Design Guideline, 14-2 Phase Block Memory Guidelines, 14-6 Phase Branch, 6-58 Phase Branch, Insert, 6-69 Phase Comments, 8-33 Phase Comments Wizard, 16-23 Phase Configuration, additional information, 4-97 Phase Control, 14-13 Phase Control and Status, 8-35 Phase Control and Status Bits Description of, 4-10 phase control bits, 14-4 Phase Control Buttons, 8-30 Phase Control/Status Bits Configuring for Process Class Phases, 4-52 Configuring for Transfer Class Phases, 4-78 Phase Control/Status Bits, additional information, 4-98 Phase Instructions, 6-80 Phase Instructions Wizard, 16-21 phase interlock tags, 4-103 Phase Interlocks, 8-33 Phase Interlocks Wizard, 16-22 Phase List, 8-30, 8-35 phase logic automatic phases, 4-56 Phase Logic, 4-8, 4-9 Description of, 4-9 Phase Logic Blocks, 4-9 Phase Logic Testing Tool Menus File/Exit, 14-20 Phase Logic Testing Tool, 14-19

Index
Description of, 14-19 File Menu, 14-20 Help Menu, 14-20 Using, 14-19 Phase Loop, 6-58 Phase Loop, Insert, 6-72 Phase Message Information Wizard, 16-24 Phase Parameter Editor Using during Batch Execution, 8-37 Phase Parameter List, 8-30 Phase Parameter List Wizard, 16-19 Phase Parameters Description of, 4-10 Phase Parameters, Automatic and Semi-Automatic Transfer Phases, Examples of, 4-84 Phase Properties, 6-77 Phase Status, 14-14 phase status bits, 14-4 Phase Status, system shutdown, 8-62 Phase Tab, Phase Properties, 6-78 Phase Transition, 6-58 Phase Transition, Insert, 6-65 Phase Types Description of, 4-8 Process Class, 4-49, 4-75 Phase Types, Description of, 6-64 Phase, insert, 6-64 Phase/Batch Status parameter, 8-24 Phase/Batch Status Parameter, 3-21 Phases Connectionless Model, 4-3 in Recipe Procedures, 6-4 in Recipes, 6-5 Phases Toolbar, 6-58 Ping Time Parameter, 3-22 Poke Time Parameter, 3-22 Preact Element, Process Phase, 4-59 Preact Element, Transfer Phase, 4-87 Preact, Description of, 4-64 Predefined Crystal Reports, 10-11 premix, 6-44 Premixes, 5-2 Previewing Reports from Model Editor, 4-32 Printing Recipes, 6-21 Printing a Report, 10-25 Printing from Model Editor, 4-31 printing reports, 10-24 Printing reports to a file, 10-17 Procedure, 6-2 Procedure Layout, 6-56 Procedure Objects, 6-57 Procedure Summary, 6-86 Procedure, Recipe, Description of, 6-4 Procees and Transfer Tags when to use, 4-17 Process and Instrumentation Diagrams, 4-1 Process and Transfer Capabilities, 4-8 process and transfer instances, 6-62 Process and Transfer Instances, in Recipes, 6-2 process and transfer phases in recipes, 6-5 Process Capabilities Defining, 4-8 Description of, 4-8 Process Class

I-10

Assign Attributes to Process Tags, 4-48 Assign Units to Processes, 4-42 Assigning, 4-39 Attributes, 4-44 Description of, 4-6 Edit Process Class Phases, 4-49 Edit Process Class Tags, 4-46 Phase Types, 4-49, 4-75 Unit Attribute Values, 4-45 Unit Control Tags, 4-41 Unit State Tags, 4-41 Process Class Attributes, in Recipes, 6-31 Process Class Instance Editor, 6-28, 6-30 Process Class Instances, Assign Units, 6-30 Process Class Instances, Attributes, 6-31 Process Class Instances, Unit Selection, 6-31 Process Class Phase Control Buttons, 4-50 Formula Parameters, 4-55 Interlocks, 4-53 Phase Control/Status Bits, 4-52 Save History, 4-50 Process Class Tag, 4-46 Process Class, Deleting from Recipe, 6-27 process classes in recipe operations, 6-4 Process Classes Assign to Recipe, 6-27 Process Classes and Generic Phases in Recipe Editor, 423 Process Classes, Assigning in Recipes, 6-27 process classes, in recipes, 6-2, 6-25 process instance, assign to operation, 6-63 Process Instance, Deleting from Recipe, 6-28 process instance, in recipes, 6-25 Process Instances Assign to Recipe, 6-29, 6-30 Process Instances, 6-28 Process Instances, Defining for Recipes, 6-28 Process Instances, in recipes, example, 6-25 Process Log Configuration Creating, 11-10 Description of, 11-2 Process Log Database Description of, 11-2 Process Log Editor, 11-2 Configuring Process Logs, 11-10 Creating Log Configuration, 11-5 Deleting Log Configuration, 11-8 File Menu, 11-5 Group Editor, 11-10 Menus Edit/Groups, 11-10 File/Delete, 11-8 File/Exit, 11-9 File/New, 11-5 File/Open, 11-6 File/Print, 11-8 File/Print Preview, 11-9 File/Print Setup, 11-9 File/Save, 11-6 File/Validate, 11-6 Printing Log Configuration, 11-8 Reports, 11-8 Starting, 11-4 Using, 11-4

Index
Using Expression Editor, 13-1 Validating Log Configuration, 11-6 Process Log Group Creating, 11-10 Process Log Group Editor Log Interval, 11-3 Logging to a Printer, 11-3 Logging to History, 11-3 Process Log Manager, 11-2 Configuring, 11-15 Description of, 11-15 Information Manager, 11-15 Restarting, 11-4 Runtime, 11-15 Starting, 11-15 Stopping, 11-15 Using, 11-15 Process Logger Group Editor General Logging Criteria, 11-2 Log Trigger, 11-2 Process Logging, 11-1 Description of, 11-1 Process Model Comprehensive, 4-2 Connection Tag, 4-14 Connectionless, 4-2 Example, 4-22 Hybrid, 4-3 Process Tag, 4-14 System Tag, 4-15 Transfer Tag, 4-14 Unit Tag, 4-14 process model database, 6-49 process model database, trains, 7-2 process model editor formula parameters, 6-6 Process Model Editor, 4-27, 4-39 Starting, 4-29 Process Model Tag, Description of, 4-12 Process Model Tags, 15-3 Process Model, Example Plant, 4-24 Process Modeling, 4-1, 4-2, 4-27 Adding Process Classes, 4-40 Adding Units, 4-36 Assigning Attributes to Connection Tags, 4-68 Assigning Attributes to Transfer Tags, 4-74 Assigning Attributes to Unit Tags, 4-38 Change Process Class Name, 4-40 Change Unit Name, 4-36 Deleting a Process Class, 4-40 Deleting a Units, 4-36 Description of, 1-5 Diagram of, 4-21 Edit Connection Tags, 4-67 Edit Connections, 4-63 Edit Equipment Status, 4-95 Edit Processes, 4-39 Edit Segments, 4-94 Edit Transfer Tags, 4-73 Edit Transfers, 4-69 Edit Unit Tags, 4-37 Edit Units, 4-35 Editing Connections, 4-64 Editing Transfers, 4-70 Guideline, 1-6 Help Menu, 4-34

I-11

Phase Logic, 4-9 Process Classes, Unit Control Tags, 4-41 Process Classes, Unit State Tags, 4-41 Process Modeling Editor:, 4-1 process modeling editor, 6-48 Process Modeling Editor, Process Class Attributes, 6-31 Process Modeling Steps, Guideline, 4-5 Process Phase Description of, 4-8 Process Phase Types Automatic, 4-8 Manual, 4-8 Semi-Automatic, 4-8 Process Phases, 8-48 Process Phases with Material Input Parameters, 8-48 Process Phases with Material Output Parameters, 8-50 process phases, entering as process tags, 4-37 Process Tag Guideline, 4-17 Process Tag to Unit Tag Resolution by Batch Manager, 4-23 Process Tag, Description of, 4-14 Process Tags Example of, 4-23 process variable editor, 6-40 process variable elements, 4-57 Process variable parameters, 4-85, 6-6 Process Variable Parameters, 6-82 process variable parameters, changing, 6-48 process variable parameters, description of, 4-57 process variables, 6-49 Process variables, 4-85 Process Variables, 6-48 Processes. See Process Class processing capabilities, 1-5 Product ID, 6-2 Product Name, 6-2 production tracking record, 5-14 Program Menu InBatch, 1-3 proprietary format, recipe, 6-20 Protocol Usage, script add-on functions, 17-2 ProtTimer Parameter, 3-23

Q
Quantity, 5-15 Quantity Assignment, Batch Size, 8-15 Question List, 8-30 Quotes, 13-7

R
Raw Materials, 5-2 Read/Write tags, 4-20 Read-only tags, 4-20 Ready, 8-16 Reassigning a Valid Unit, 5-4 Recipe Approval, 6-17 Approved for Production, 6-16 Approved for Test, 6-16 Creating, 6-55 Deleting, 6-14

Index
Done By as Author, 6-13 equipment dependent, 6-2 equipment independent, 6-2 Saving, 6-13 Validate, 6-15 Recipe Allocation and Release, unit, 8-41 recipe approval levels, 6-16 Recipe Approvals, 6-16 Recipe Assignment to a Batch, 8-14 Recipe Editor Starting, 6-9 Recipe Editor Edit Menu, 6-22 File Menu, 6-10 Help Menu, 6-54 Menus Edit Edit/Equipment Requirements, 6-25 Edit/Formula Inputs, 6-41, 6-45 Edit/Operations Library, 6-50 Edit/Process Variables, 6-49 Edit/Recipe Header, 6-22 Edit/Recipe States, 6-51 Edit/Recipe Types, 6-52 Edit/Zoom In Operations, 6-53 Edit/Zoom In Phases, 6-53 Edit/Zoom Out Operations, 6-53 Edit/Zoom Out Phases, 6-53 File File/Approvals, 6-16 File/Delete Recipes, 6-14 File/Exit, 6-21 File/History, 6-18 File/Import/Export, 6-19 File/New, 6-10 File/Open, 6-10 File/Print, 6-21 File/Print Setup, 6-21 File/Save, 6-13 File/Validate, 6-15 Printing Recipes, 6-21 Process Classes and Generic Phases, 4-23 Reports, 6-21 Using, 6-8 Using Expression Editor, 13-1 View Menu, 6-53 Recipe Editor, 6-1 Recipe Editor, Hi and Low Elements, 4-87 Recipe filtering in Batch Scheduler, 8-9 Recipe Header, Editing, 6-23 Recipe History, Viewing, 6-18 Recipe ID, 4-23, 6-2 Recipe Management Description of, 1-7 Recipe Name, 6-2 Recipe Procedure Creation, Basic Steps, 6-8 Recipe Procedure Mechanics, 6-63 Recipe State, 6-2 Recipe State, Assigning, 6-23 Recipe State, Defining, 6-51 Recipe Type, 6-2 Recipe Type, Assigning, 6-24 Recipe Types, Defining, 6-52 Recipe, Example Procedure, 6-86 recipe, parts of, 6-2 RecipeEdit, 6-9 recipes security for saving, 6-13 Recipes Copying, 6-19 Moving, 6-19 Recipes, security options for, 12-14 Recon Time Parameter, 3-22 redundancy, 22-4 Redundancy Manager, Starting and Stopping, 3-28 Redundancy Time-out Parameter, 3-14 Refresh Report Data, 10-25 Refreshing report data, 10-22 refreshing reports, 10-24 Release Phase in Recipes, 6-5 Remote Referencing Batch Tags, 18-7 Removing a Unit Assignment, 5-4 report, 6-78 Report Display, 10-20 Description of, 10-20 File Menu, 10-21 Help Menu, 10-23 Menus File/Close, 10-22 File/Exit, 10-22 File/Export Report, 10-21 File/File Open, 10-21 File/Print, 10-22 File/Print Setup, 10-22 File/Refresh Report Data, 10-22 Help/About Report Display, 10-23 Help/Help Topics, 10-23 Using, 10-20 View Menu, 10-23 Window Menu, 10-23 Report Editor, 10-3 Using, 10-3 Report Editor, 10-2 Edit Menu, 10-8 File Menu, 10-4 Help Menu, 10-9 Menus Edit/ Destination Criteria, 10-8 Edit/Control Criteria, 10-8 Edit/Reset Data, 10-8 File/Delete, 10-5 File/Exit, 10-7 File/New, 10-4 File/Open, 10-4 File/Print, 10-6 File/Print Preview, 10-7 File/Print Setup, 10-7 File/Save, 10-5 File/Validate, 10-5 Help/About Report Editor, 10-9 Help/Help Topics, 10-9 Using Expression Editor, 13-1 Report Manager, 10-2, 10-10, 10-19 Description of, 10-19 Starting, 10-19 Using, 10-19 Report Triggering during batch execution, 8-56 report validation, 10-5 Reporting System, 10-1 reports Train Editor, 7-4

I-12

Index
Reports Exporting, 10-21 Reports, Summary, 10-11 Request Time Parameter, 3-22 Requirements Batch Development Client, 1-2 Batch Runtime Client, 1-2 InBatch Server, 1-2 SQL Server, 1-2 System, 1-2 Reset Data Description of, 10-18 Restart a Batch, 8-43 Restarting Process Log Manager, 11-4 Restarting Batches Parameter, 3-21 restrict access to applications, 12-15 Retain Recipe Approvals, 8-20 Retries, 12-9 Run, 8-16 Runtime Update, 3-6 Runtime Export, 15-6 Runtime Export Procedure, 15-18 Runtime Programs Summary of, 1-13 Runtime Security, 12-19 Runtime TIM Operation, 21-80

I-13

S
S88.01 Standard, 1-5, 1-7, 6-1 Save Control Recipe, 21-55 Save Control Recipe, 8-20 Save Control Recipe Wizard, 16-27 Save History, Process Class Phase, 4-50 Save History, Transfer Class Phase, 4-77 Save Operation, 6-59, 6-76 Save Runtime Equipment, 8-20 SCADA, 4-15 Scaling Options, when exporting tags, 15-14 Schedule window, 8-21 Scheduling Description of, 8-2 Script Data Change, 16-29 Script Add-On Function Error Reference, 17-18 Script Add-On Functions, 17-1 Descriptions, 17-3 Obselete DDE, 17-17 script add-on functions, security, 19-4 SE-, 21-9 Seagate Crystal Reports Professional, 2-2 SecEdit, 12-3 SecMngr, 3-3 Seconds per Phase, Parameter, 3-21 security recipe approvals, 6-16 Security Adding a New Function, 12-18 Adding Applications, 12-16 Application Security Requests, 12-20 Applications-Functions, 12-15 Checked, 12-18 Done By, 12-18

Enabling Application, 12-17 Enabling Function Security, 12-18 Function Security Requests, 12-21 Security API, 12-2, 12-16, 12-18, 12-21 Security Application Program Interface, 12-2 Security Clearance Request, 12-3, 19-5, 19-6 Security Configuration Batch Server, 19-3 Security Editor, 12-2 Edit Menu, 12-7 File Menu, 12-5 Help Menu, 12-8 Menus Edit/Applications-Functions, 12-7 Edit/Operator Stations, 12-7 Edit/Security Levels, 12-7 Edit/User Accounts, 12-7 File/Exit, 12-5, 12-6 File/Print, 12-5 File/Print Preview, 12-6 File/Print Setup, 12-6 security editor, default password, 12-4 Security Editor, using for the first time, 12-4 Security Level, 12-13 Security Levels, Assigning, 12-10 Security Manager, 12-2, 12-19 Security Manager, Starting and Stopping, 3-28 Security System, 12-1 Description of, 12-1 Viewing Status of, 3-8 Security System Configuration, 12-9 Security System Interface TIM, 21-62 security system, recipe author, 6-13 Security, disable, 12-9 Security, enable, 12-9 security, saving recipes, 6-13 Security, View Document, 6-84 Segment, 4-2 Description of, 4-12 Segments, 4-94 Segments, Assigning, 4-66 Select Equipment for Allocation, 21-37 Semi-Automatic Batch Execution, 8-16 Semi-Automatic Batch Mode, 8-45 Semi-Automatic Phase, 4-8 Semi-automatic to Automatic mode change, 8-45 Semi-automatic to Manual Mode mode change, 8-45 Semi-Automatic Transfer Phase, 4-83 Semi-automatic Transfer Phases, 8-52 Sequence of Operations, 6-56, 8-31 Sequence of Phases, 6-56, 8-31 Server Node ID Parameter, 3-21 Services, Windows NT, 3-10 Set Recipe Focus for Selected Batch, 21-23 SFC, 1-4 SFC Toolbar, 8-29 Shared Equipment Contention, 8-55 Shutting Down Environment Display, 3-5 SimMngr Application Parameters, 3-21 Simulation Export, 15-6 Simulation Export Procedure, 15-18 Simulation Manager, 15-21 Simulation Parameter, 3-22 Source Class Discharge Phase, 4-3 Source Instance, Assigining, 6-37

Index
Source Process Class, Assigning, 4-70 Source Unit, Assigning, 4-64 SQL Database, lost connection, 9-2 SQL Server Requirements for InBatch, 1-2 SQL Server Databases, installing, 2-10 SQL Server Enterprise Manager, 2-22 SQL Server tools, 2-22 Start a Batch, 8-42 Starting Environment Editor, 3-12 Environment Manager, 3-28 History Administration, 9-15 Material Location Assignment Editor, 5-16 Materials Editor, 5-12 Materials Status Window, 5-3 Model Editor, 4-29 Process Log Editor, 11-4 Recipe Editor, 6-9 Tag Linker, 15-5 Starting Applications from Environment Display, 3-10 Starting Report Manager, 10-19 Starting the Expression Editor, 13-2 Starting the Security Manager, 12-19 State, Assigning, 6-23 State, find recipes by, 6-11 State, Recipe, 6-51 Status, of a batch, 8-16 Storing an Operation, 6-59 string tag, 4-20 naming, 4-20 SuiteLink, 15-2 summary batch reports, 10-11 Synchronization, Control System, 8-62 System Class tags, 4-15 System Connection tags, 4-15 System Parameters, 3-13 System Requirements, 1-2 System Segment tags, 4-15 System Shutdown, phase status, 8-62 System Tag Description of, 4-15 system tag, equipment status, 4-95 System Tags, 15-3 System Unit tags, 4-15 Edit Edit/Access, 15-9 Edit/Export, 15-9 File File/Exit, 15-9 File/Export Tags, 15-6 File/Import Tags, 15-8 File/Print Preview, 15-9 File/Print Setup, 15-9 File/Runtime Export, 15-6 File/Simulation Export, 15-6 File/Validate, 15-8 Print, 15-8 View Multiple Selection, 15-10 Single Selection, 15-10 View/Filter, 15-10 Starting, 15-5 Using, 15-5 Using with TIM, 21-4 Tag Linker database, 15-6 Tag Operand, 13-4 Tag Selection, in Tag Linker, 15-12 Tag Types and Useage, 4-13 tag, equipment status, 4-95 Tagname Automatically Generated, 4-19 Definition, 4-18 Delimiters, 4-18 Description of, 4-18 Invalid Characters, 4-18 Naming Convention, 4-18 Structure, 4-18 tagname dictionary, 15-13 Tagname Dictionary, 16-3, 18-1 tags phase interlock, 4-103 selecting for reports, 10-18 Tags Phase Control/Status, 4-52, 4-78 Using with Phase Logic, Guideline, 4-17 Tags, assigning to control buttons, 4-97 Target Element, Process Phase, 4-58 Target Element, Transfer Phase, 4-85 Terminating an Application, 3-4 the History Administration, 9-1 The SuiteLink protocol, for wizards, 16-3 TIM, 15-5, 16-2, 17-1, 21-1 Actions Requiring Security Clearance, 21-8 Batch and Unit Focus, 21-6 Batch Function Interface, 21-67 Batch Function Tags, 21-8 Batch Management System Interface, 21-10 Batch Management System Interface Handshake Errors, 21-60 Enter Batch Comments, 21-26 Equipment Allocation Changes, 21-77 Evaluate Equipment for Allocation, 21-71 Log Equipment Status, 21-74 Manipulate Batch Schedule, 21-10 Manipulate Recipe Focus, 21-22 Monitor and Control Active Batches, 21-16 Monitor and Control Active Phases, 21-28 Monitor and Control Equipment, 21-47 Monitor and Respond to Batch Questions, 21-24 Monitor and Respond to Errors, 21-58

I-14

T
Tag Access Mode, 4-20 Connection Tag, 4-14 Data Class, 4-20 Definition, 4-18 Description of, 1-6, 4-12 Entering a Description for, 4-20 Process Model, 4-12 Process Tag, 4-14 System Tag, 4-15 Transfer Tag, 4-14 Unit Tag, 4-14 Using with Control Buttons, 4-50, 4-77 Tag Interface Management (TIM) System, Description of, 21-1 Tag Linker, 4-29, 15-1, 19-3 Menus

Index
Runtime Applications, 21-80 Runtime Operation, 21-80 script to select and start a batch, 21-21 script to set focus, 21-21 Security System Interface, 21-62 Security System Interface Handshake Errors, 21-65 Tag Generation, 21-9 Using, 21-4 Using with InTouch Client, 21-15 Working with List Tags, 21-6 TIM functions, 19-4 TIM Tags, 15-3, 18-2 Using, 21-5 time remaining, active transition, 8-38 Time, report triggering, 10-15 Tolerances, in Recipes, 6-44 Train, 4-23 Multiple Path Issues, 8-12 Train Assignment to a Batch, 8-15 train creation guideline, 7-7 Train Editor, 4-29, 7-3 Description of, 7-2 File Menu, 7-4 Menus File/Exit, 7-4, 7-5 File/Print, 7-4, 7-5 File/Print Setup, 7-5 Help Menu, 7-6 Help/About Train Editor, 7-6 Help/Help Topics, 7-6 Using, 7-3 Train filtering in Batch Scheduler, 8-9 train, additional units, 6-28 train, in a recipe, 6-28 Train, in Recipes, 6-1 Trains Assigning Units to, 7-7 Trains, Deleting Units from, 4-36 trains, in recipes, 6-25 Transfer Capabilities Defining, 4-8 Defining, 4-8 Description of, 4-8 Transfer Class Description of, 4-7, 4-69 Edit Phases, 4-75 Transfer Class Instance Editor, 6-35 Transfer Class Phase Control Buttons, 4-77 Formula Parameters, 4-82 Interlocks, 4-80 Phase Control/Status Bits, 4-78 Save History, 4-77 Transfer Classes, 4-69 Transfer Instance, Deleting from Recipe, 6-35 transfer instance, in recipes, 6-25 Transfer Instances Assign to Recipe, 6-36 Transfer Instances, 6-35 Transfer Instances, Defining for Recipes, 6-35 Transfer Instances, in Recipes, 6-37 Transfer Instances, in recipes, example, 6-25 Transfer Phase Configuration, 4-83 Types, 4-83

I-15

Transfer Phases, 8-51 Transfer Phases with Material Input Parameters, 8-51 Transfer Phases with Material Output Parameters, 8-53 transfer phases, in recipes, 6-25 Transfer Tag Description of, 4-14 Guideline, 4-17 Transfer Tags, 4-73 Transfers. See Transfer Class Transfers, Editing, 4-70 Transition, 6-57, 6-58 Transition Expression, Examples, 6-68 Transition Logic in Recipe Procedures, 6-4 in Recipes, 6-7 transition logic operators, 6-7 Transition Logic, in objects, 6-65 Transition Object, Description of, 6-65 Transition Object, Insert, 6-65 Transition Objects, 6-65 Transition Properties, loops, 6-72 transition wait, displayed in Batch Display, 8-38 trigger options, reports, 10-13 Type, Assigning, 6-24 Type, Defining for Materials, 5-11 Type, find recipes by, 6-11 Types, Recipe, 6-52

U
UNC reference, 10-17 Undo, 6-57, 6-58 Undo, Objects, 6-73 Unexpected Status Error, 8-42 unit assigning for material tracking, 5-14 Unit, 4-2, 4-6 Assign Materials to, 5-16 Assigning a Material to, 5-14 Description of, 4-6 Unit Abort Tag, 4-41 Unit and Connection Tags when to use, 4-17 Unit Attribute Values, 4-45 Unit Control, 8-24 Unit Control Bits, 14-11 Unit Control Tag, 4-41 Unit Control Tags Description of, 4-41 Unit Control/State Tags, 4-41 Unit Hold Tag, 4-41 Unit of Measure, 6-48 Unit of Measure, Material, 5-11 Unit Restart Tag, 4-41 unit selection, 6-31 Unit Selection Mode and Allocation, 8-40, 8-47 unit selection, at runtime, 6-31 Unit Selection, Process Class Instances, 6-31 Unit State Tags Description of, 4-41 Unit States Parameter, 3-21 Unit Tag Guideline, 4-17 Unit Tag, Description of, 4-14 Unit Tags, 4-37

Index
Update Configuration, 3-7 Environment, 3-6 Runtime, 3-6 Update Runtime, Materials Editor Unit Selection, 5-17 User Accounts, security, 12-12 User Defined Applications, 3-25 User Id Time-out Parameter, 3-14 Using Environment Display, 3-3 Phase Logic Testing Tool, 14-19 Report Display, 10-20 Report Manager, 10-19 TIM, 21-4 Train Editor, 7-3 Using Batch Display, 8-18 Using Batch Scheduler, 8-5 Using Expression Editor, 13-2 Using InBatch Wizards, 16-4 Using Report Editor, 10-3 Using Security Editor, 12-3 Using Tag Linker, 15-5 Using the Phase Logic Testing Tool, 14-19 Using TIM Tags, 21-5 Utility Programs, 1-15 DBCOPY, 2-16 Deleting Model Components, 4-28 Phase Logic Testing Tool, 14-20 Restarting Batches, 8-61 Shutting down Report Manager, 10-19 Tags in Expressions, 13-8 Warning Message Process Log Manager, Stopping, 11-15 Update Configuration, 3-7 Update Runtime, 3-6 WindowMaker, 16-1 Wizard Active Batch List, 16-8 Active Phase List, 16-18 Batch Comments, 16-16 Batch Errors, 16-28 Batch Messages, 16-9 Batch Questions, 16-12 Batch Questions with Close, 16-11 Batch Scheduler/Dispatcher, 16-7 Button, 16-13 Change Batch Mode, 16-10 Data Change Script, 16-29 Equipment Allocation, 16-25 Equipment Selection, 16-26 Phase and Parameter Editor, 16-20 Phase Comments, 16-23 Phase Instructions, 16-21 Phase Interlocks, 16-22 Phase Message Information, 16-24 Phase Parameter List, 16-19 Save Control Recipe, 16-27 View/Force Transition Logic, 16-17 wizard scaling, 16-4 Wizard, description of, 16-2 Wizards, 1-4, 15-2, 16-1 breaking apart, 16-2 Using, 16-4 Wonderware Logger Train Names, 4-28 Word for Windows, report format, 10-17 Write R/O Tags, Parameter, 3-21 wwextalm.dll, 1-4, 20-2 WWPoke, 17-1 WWRequest, 17-1

I-16

V
Valid Characters for Tagnames, 4-18 validate security configuration, 12-5 Validate Tags, in Tag Linker, 15-8 validation report editor, 10-5 Validation Materials Database, 5-4 Process Model, 4-30 Recipe, 6-15 Validation Errors Correcting for Materials Database, 5-4 validation process report, 10-5 Verbose Mode Parameter, 3-22, 3-23 Verification, Batch Initialization, 8-11 View System Application Status, 3-8 View Doc/Ack Doc Button, 8-30 View Document Ack Button, Batch Display, 6-83 View Document Button, Batch Display, 6-83 View Document, Security, 6-84 View Partial List check box, Materials Editor, 5-13 View/Force Transition Logic, 21-51 View/Force Transition Logic Wizard, 16-17 Viewing Material Status, 5-3

Z
Zoom In, 6-57, 6-58 Zoom Out, 6-57, 6-58

W
Wait, 8-38 WaitHour, 13-6 WaitMin, 13-6 WaitSec, 13-6 Warm Restart, 8-59 Warning Batch Client Security, 12-17 Batch Manager and Trains, 8-12

You might also like