industrial 800xa - production management batch · pdf filebatch management licensing.....28...

470
Industrial IT 800xA - Production Management Batch Management System Version 4.1 Configuration

Upload: voanh

Post on 06-Mar-2018

247 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

IndustrialIT800xA - Production Management

Batch ManagementSystem Version 4.1

Configuration

Page 2: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 3: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuration

IndustrialIT800xA - Production Management

Batch ManagementSystem Version 4.1

Page 4: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

NOTICEThe information in this document is subject to change without notice and should not beconstrued as a commitment by ABB. ABB assumes no responsibility for any errors thatmay appear in this document.

In no event shall ABB be liable for direct, indirect, special, incidental or consequentialdamages of any nature or kind arising from the use of this document, nor shall ABB beliable for incidental or consequential damages arising from use of any software or hard-ware described in this document.

This document and parts thereof must not be reproduced or copied without written per-mission from ABB, and the contents thereof must not be imparted to a third party nor usedfor any unauthorized purpose.

The software or hardware described in this document is furnished under a license andmay be used, copied, or disclosed only in accordance with the terms of such license.

This product meets the requirements specified in EMC Directive 89/336/EEC and in LowVoltage Directive 72/23/EEC.

Copyright © 2003-2005 by ABB. All rights reserved.

Release: May 2005Document number: 3BUA000146R4101

TRADEMARKSAll rights to trademarks reside with their respective owners.

Page 5: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 5

TABLE OF CONTENTS

About This BookGeneral ............................................................................................................................21

Use of Warning, Caution, Information, and Tip Icons ....................................................21

Document Conventions ...................................................................................................22

Terminology.....................................................................................................................23

Related Documentation ...................................................................................................23

Section 1 - IntroductionOverview .........................................................................................................................25

Intended User...................................................................................................................26

ISA S88 Compliance .......................................................................................................27

Instruction Contents.........................................................................................................27

Batch Management Licensing .........................................................................................28

Section 2 - Description and OperationIntroduction .....................................................................................................................29

Flexible Batch Processing ...............................................................................................29

Configuration Overview..................................................................................................30

Batch Management Configuration .......................................................................30

Equipment Database Configuration ....................................................31

Procedure Configuration .....................................................................31

Miscellaneous Batch Configuration....................................................32

Batch Management Run Time.........................................................................................33

Sample Batch Management PFC .........................................................................34

Special Instructions to the Operator .....................................................................35

Messages ......................................................................................35

Page 6: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

6 3BUA000146R4101

SOP ...................................................................................... 36

Operator Changes to Procedures and Values .......................................................36

Version Control ....................................................................................................36

Synchronized Batch Operations........................................................................... 37

Parameters, Variables, and Expressions .......................................................................... 37

Parameters............................................................................................................ 37

Phase Parameters in the Controller Configuration ............................. 38

Phase Parameters in Equipment Database Configuration...................39

Viewing and Changing Phase Parameters at Run Time...................... 39

Procedure Parameters and Procedure Specific Values........................ 41

Creation of Procedure Parameters ......................................................42

Assignment of Procedure Specific Values ..........................................44

Procedure Parameters Accessible When a Batch Is Scheduled ..........46

Viewing and Changing Procedure Parameters at Run Time...............47

Passing Parameter Values to a Nested Subprocedure .........................49

Extension Action Parameters and Specific Values ............................. 51

Parameter Summary.............................................................................................51

Output Parameters................................................................................................ 51

Expressions and Variables ...................................................................................53

Changes to a Private Parameter ........................................................................... 55

Abnormal Conditions in Flexible Batch Processes ......................................................... 56

Detection and Correction ..................................................................................... 57

Regulatory Control Logic Interlocks ................................................................... 58

Equipment Phase Logic .......................................................................................58

Exception Logic ...................................................................................................58

Audit Trail ....................................................................................................................... 59

Alarm and Event Lists..................................................................................................... 62

Security ...........................................................................................................................64

Security Definition Aspect...................................................................................64

Batch Cell Definition Aspect ............................................................................... 65

Batch Equipment Aspect ..................................................................................... 73

Other Aspects....................................................................................................... 74

Page 7: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

3BUA000146R4101 7

3BUA000146R4101 7

Permissions Tab....................................................................................................76

Examples .............................................................................................................76

Example 1 ......................................................................................77

Example 2 ......................................................................................77

Example 3 ......................................................................................77

Batch Operation Access Levels ...........................................................................77

Special Batch Security Features...........................................................................78

Permission to Assign Phase Parameter Values....................................78

Permission to Change Procedure Parameters......................................78

Process and Batch Cells .......................................................................................80

Batch Cell Unrelated to Equipment Used ...........................................81

Procedures Not Associated with Any Batch Cell ...............................82

Authentication ......................................................................................................82

Section 3 - Equipment Configuration (Batch Advanced Templates)Introduction .....................................................................................................................87

Overview .........................................................................................................................87

Phase Types .....................................................................................................................87

Equipment Phase Logic ...................................................................................................94

Batch Equipment .............................................................................................................95

Shared Equipment Communication Modules..................................................................99

Equipment Logic .............................................................................................................99

Control Module Instances..............................................................................................101

Tasks ............................................................................................................................102

Controller Settings.........................................................................................................103

AE Max No of Named Value Items ...................................................................104

Actual Memory Allocation ...............................................................104

Example Calculation .........................................................................105

AE Max Percent of Log Strings .........................................................................106

Download Project ..........................................................................................................106

Equipment Groups.........................................................................................................106

Page 8: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

8 3BUA000146R4101

Section 4 - Equipment Configuration (EPT Control Modules)Introduction ................................................................................................................... 109

Overview ....................................................................................................................... 109

Equipment Phase Logic................................................................................................. 109

Phases ........................................................................................................................... 110

Batch Equipment........................................................................................................... 113

Equipment Phases ......................................................................................................... 116

Equipment Groups ........................................................................................................ 119

Section 5 - ProceduresIntroduction ................................................................................................................... 121

PFC Types ..................................................................................................................... 122

Recipe Procedure ............................................................................................... 123

Unit Procedure ................................................................................................... 123

Operation .......................................................................................................... 124

Exception Procedure .......................................................................................... 124

Layered Procedure......................................................................................................... 124

Procedure Handling....................................................................................................... 128

Version Control .................................................................................................. 128

Create .......................................................................................................... 129

Edit .......................................................................................................... 130

Approve .......................................................................................................... 131

Cut, Copy, Delete, and Paste.............................................................................. 131

Compare .......................................................................................................... 131

Cross-References ............................................................................................... 132

Version History .................................................................................................. 133

Procedure Configuration ............................................................................................... 134

Batch Cells ......................................................................................................... 134

Control Recipes.................................................................................................. 135

Procedure Configuration Windows.................................................................... 137

File Menu .................................................................................... 137

Select Menu .................................................................................... 139

Page 9: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

3BUA000146R4101 9

3BUA000146R4101 9

Options Menu....................................................................................141

Procedure Object Control Panel.........................................................................144

Start ....................................................................................144

End ....................................................................................145

Phase ....................................................................................145

Procedure ....................................................................................145

BMA ....................................................................................146

Extension Action...............................................................................146

Connector ....................................................................................146

Parallel Start ....................................................................................146

Parallel End ....................................................................................146

Branch Start ....................................................................................146

Branch End ....................................................................................147

Transition ....................................................................................147

Procedure Header ..........................................................................................................147

Header Configuration Window ..........................................................................148

Description ....................................................................................148

Procedure Header Text ......................................................................149

Procedure SOP...............................................................................................................149

Configuration .....................................................................................................150

Find a Text String in SOP Text ..........................................................................150

Replace a Text String in SOP Text.....................................................................151

Top and Bottom Buttons ....................................................................................152

Line Button.........................................................................................................152

Index Button.......................................................................................................153

Import Button .....................................................................................................153

Procedure Parameters ....................................................................................................153

Expressions and Variables..................................................................................154

varput, varget, varputs, vargets .........................................................155

bvarput, bvarget, bvarputs, bvargets .................................................155

gvarput, gvarget, gvarputs, gvargets .................................................155

Configuration of Procedure Parameters .............................................................156

Page 10: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

10 3BUA000146R4101

Adding a Parameter ........................................................................................... 156

Float Type Parameters....................................................................... 159

Integer Type Parameter ..................................................................... 160

String Type Parameters ..................................................................... 160

List Type Parameters......................................................................... 161

Equipment List Type Parameters ...................................................... 163

Changing a Procedure Parameter....................................................................... 165

Creating a Procedure Parameter ........................................................................ 166

Deleting a Procedure Parameter ........................................................................ 166

Checks - Defining Parameter Relationships ...................................................... 166

Configuring the PFC ..................................................................................................... 168

Procedure Objects .............................................................................................. 169

Assigning Procedure Boundaries - Start and End Objects ................................ 169

Balancing Procedure Elements and Actions ...................................................... 170

Assigning Restart Points.................................................................................... 170

Allocating and Deallocating Batch Equipment ................................................. 171

Configuring PFC Block Labels.......................................................................... 172

Acquiring Equipment for Immediate Use.......................................................... 174

Releasing Equipment ......................................................................................... 176

Reserving Equipment......................................................................................... 178

Unreserving Equipment ..................................................................................... 179

Selecting Equipment .......................................................................................... 180

Deselecting Equipment ...................................................................................... 182

Configuring PFC Function Blocks................................................................................ 183

Configuring Procedure Blocks........................................................................... 183

Configuring Phase Blocks ................................................................................. 188

Configuring Extension Action Blocks ............................................................... 193

Counting Phase Parameters ............................................................................... 196

Simultaneous Processing ................................................................................... 197

Defining Multiple Procedure Paths.................................................................... 197

Configuring Transition Blocks........................................................................... 198

Other Batch Management Actions ................................................................................ 198

Page 11: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

3BUA000146R4101 11

3BUA000146R4101 11

Providing and Requesting Information Within a Procedure ..............................198

Message BMA Color Configuration .................................................199

Message BMA Response Access Level Configuration ....................202

Message BMA Optional Verification................................................202

Message Configuration .....................................................................202

Deleting Configured Messages .........................................................206

Previewing the Message Presentation Window ................................206

Reordering Messages in the Message Presentation Window............206

Creating Reusable Message Templates .............................................207

Copying Messages ............................................................................207

Collecting Data From a PFC ..............................................................................208

Printing a Report From a PFC............................................................................210

Scheduling Jobs From a PFC .............................................................................211

Assigning Values and Evaluating Expressions From a PFC..............................214

Issuing Operating System Commands from a PFC............................................215

Correlating the PFC and the SOP.......................................................................218

Connecting Objects on a PFC ............................................................................219

Exception Handling .......................................................................................................220

Configuring an Exception Procedure ............................................................................221

Add an Exception Procedure to a Procedure......................................................222

Configure an Exception Procedure ....................................................................223

Runtime Characteristics of the Exception Procedure.........................................225

Exception Logic Considerations ........................................................................227

Monitoring for Multiple Conditions...................................................................228

Batch Data Collection....................................................................................................229

Section 6 - Automatic Batch ID GenerationIntroduction ...................................................................................................................233

Create Pattern ................................................................................................................233

Configure Sequence Number ........................................................................................235

Find Text........................................................................................................................235

Replace Patterns and Text..............................................................................................236

Save or Cancel Aspect Changes ....................................................................................236

Page 12: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

12 3BUA000146R4101

Print Patterns ................................................................................................................. 236

Appendix A - Configuring Batch Variables and ExpressionsIntroduction ................................................................................................................... 237

Batch Expression Structure ........................................................................................... 237

Operators ....................................................................................................................... 238

Punctuation ........................................................................................................ 240

IF/ELSE Syntax ................................................................................................. 240

Constants .......................................................................................................... 241

Text Entry Format .............................................................................................. 241

Rules for Evaluating Expressions ................................................................................. 242

Rule 1 .......................................................................................................... 242

Rule 2 .......................................................................................................... 242

Rule 3 .......................................................................................................... 242

Rule 4 .......................................................................................................... 242

Rule 5 .......................................................................................................... 243

Rule 6 .......................................................................................................... 243

Rule 7 .......................................................................................................... 243

Rule 8 .......................................................................................................... 243

Rule 9 .......................................................................................................... 243

Rule 10 .......................................................................................................... 244

Examples .......................................................................................................... 245

Built-In Functions ......................................................................................................... 247

Batch .......................................................................................................... 247

DBA .......................................................................................................... 253

General .......................................................................................................... 255

Variables .......................................................................................................... 258

Batch Management Function Wizard............................................................................ 259

Custom Functions with the Function Wizard................................................................ 262

Add .......................................................................................................... 262

Configure .......................................................................................................... 263

Save and Cancel................................................................................................. 264

Using Functions within Functions ..................................................................... 264

Page 13: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

3BUA000146R4101 13

3BUA000146R4101 13

Parameters and Test Variables............................................................................264

Test a Custom Function......................................................................................267

Edit ...........................................................................................................268

Delete ...........................................................................................................268

Views ...........................................................................................................268

Search and Replace ............................................................................................269

Appendix B - Report Configuration Using Excel SpreadsheetsIntroduction ...................................................................................................................271

fpbget( ) Function ..........................................................................................................272

fpbgetd( ) Function ........................................................................................................272

fpbtget( ) Function.........................................................................................................273

fpbevtfile( ) Function.....................................................................................................274

fpubid Function .............................................................................................................275

Appendix C - Configuring a GraphicIntroduction ...................................................................................................................277

View a PFC....................................................................................................................277

View Messages ..............................................................................................................277

View Batch Status..........................................................................................................278

Batch Equipment Information .......................................................................................278

Appendix D - Batch Command InterfaceIntroduction ...................................................................................................................279

batch_cbatch ..................................................................................................................279

batch_chgunit ................................................................................................................282

batch_sbatch ..................................................................................................................283

Appendix E - Batch UtilitiesIntroduction ...................................................................................................................287

Miscellaneous Batch Configuration ..............................................................................287

Batch Settings.....................................................................................................288

History Options ..................................................................................................289

Page 14: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

14 3BUA000146R4101

Event Settings .................................................................................................... 291

Select Batch Colors............................................................................................ 292

Text, Block, and Blink Color Attributes ........................................... 292

Blink Rate Attribute.......................................................................... 294

Manage Batch IDs ............................................................................................. 294

Default Procedure Configuration .................................................................................. 294

Backup Procedure Versions Retained ................................................................ 296

Default Batch Cell ............................................................................................. 296

Strict S88 Option ............................................................................................... 296

Back Up and Restore..................................................................................................... 297

800xA Import and Export .................................................................................. 297

800xA Backup and Restore ............................................................................... 297

Batch Management Restore ............................................................................... 297

Report Configuration .................................................................................................... 298

Add a Report Configuration .............................................................................. 299

Title Option ........................................................................................................ 300

Introduction Option............................................................................................ 300

Option Configuration Dump Option.................................................................. 300

Output Procedures Option ................................................................................. 301

Add a Procedure................................................................................ 301

Add All Procedures........................................................................... 302

Select Procedure Version .................................................................. 302

Delete Procedure............................................................................... 302

Reset and Default Buttons ................................................................ 302

Exiting the Recipe Options Editor Window ..................................... 302

Reset and Default Buttons ................................................................................. 302

Print a Report ..................................................................................................... 303

View a Report .................................................................................................... 303

Edit a Report Configuration............................................................................... 303

Delete a Report Configuration........................................................................... 303

Copy a Report Configuration............................................................................. 304

Language Localization .................................................................................................. 305

Page 15: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

3BUA000146R4101 15

3BUA000146R4101 15

Batch Localization Tool Procedure ....................................................................306

Files ....................................................................................307

Creating Language Files ...................................................................308

Editing/Translating Language Files ..................................................308

Offline String File Editing.................................................................309

Selecting a Language ........................................................................310

Updating a Language Directory ........................................................311

Native Language Support Procedure .................................................................312

Batch Toolbar ................................................................................................................312

Appendix F - External HistoriansIntroduction ...................................................................................................................313

800xA System ...............................................................................................................313

Information Management ..............................................................................................313

Batch Management and Custom Arguments .................................................................315

Appendix G - AC 800M/C Controller (Batch Advanced Templates)Introduction ...................................................................................................................317

Example Controller Configuration ................................................................................318

Custom Library ..................................................................................................318

Equipment Phases ..............................................................................................319

Equipment ..........................................................................................................319

Example Control System Configuration .......................................................................319

Control System Process .................................................................................................324

Segmenting the Process .................................................................................................325

Raw Material Feeder Configuration .................................................................326

Feed Tank 1 Configuration ................................................................................327

Feed Tank 2 Configuration ................................................................................328

Reactor 1 Configuration ....................................................................................329

Reactor 2 Configuration ....................................................................................330

Mix Feeder 1 Configuration .............................................................................331

Mix Feeder 2 Configuration ..............................................................................332

Page 16: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

16 3BUA000146R4101

Product Feeder Configuration ........................................................................... 333

Catch Tank 1 Configuration ............................................................................. 334

Catch Tank 2 Configuration .............................................................................. 335

Catch Tank 3 Configuration .............................................................................. 336

Catch Tank 4 Configuration .............................................................................. 337

Appendix H - AC 800M/C Controller (EPT Control Modules)Introduction ................................................................................................................... 339

Example Controller Configuration................................................................................ 340

Equipment Phases .............................................................................................. 340

AttemptAt_Drain .............................................................................. 340

SampleTest_Charge .......................................................................... 341

ExampleTestEquip_Agitate .............................................................. 341

Recipe Phases .................................................................................................... 341

Agitate .................................................................................... 341

Charge .................................................................................... 342

Drain .................................................................................... 342

Equipment.......................................................................................................... 343

Example Control System Configuration ....................................................................... 344

Control System Process................................................................................................. 349

Segmenting the Process................................................................................................. 350

Raw Material Feeder Configuration ................................................................ 351

Feed Tank 1 Configuration ............................................................................... 352

Feed Tank 2 Configuration ............................................................................... 353

Reactor 1 Configuration .................................................................................... 354

Reactor 2 Configuration .................................................................................... 355

Mix Feeder 1 Configuration ............................................................................ 356

Mix Feeder 2 Configuration ............................................................................. 357

Product Feeder Configuration ........................................................................... 358

Catch Tank 1 Configuration ............................................................................. 359

Catch Tank 2 Configuration .............................................................................. 360

Catch Tank 3 Configuration .............................................................................. 361

Page 17: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

3BUA000146R4101 17

3BUA000146R4101 17

Catch Tank 4 Configuration ..............................................................................362

Appendix I - Function Phase DriverIntroduction ...................................................................................................................363

General Procedure .........................................................................................................363

Configuration Data ........................................................................................................365

Example .........................................................................................................................366

Appendix J - Batch Schedule InterfaceIntroduction ...................................................................................................................373

Attributes .......................................................................................................................373

Read Messages ..............................................................................................................374

ReadActiveBatches ............................................................................................375

Request Format .................................................................................375

Example Return.................................................................................375

ReadBatchDetails ...............................................................................................375

Request Format .................................................................................376

Example Return.................................................................................376

ReadBatchOverview ..........................................................................................380

Request Format .................................................................................380

Example Return.................................................................................380

ReadProcedureDetails ........................................................................................382

Request Format .................................................................................382

Example Return.................................................................................382

ReadProcedures..................................................................................................383

Request Format .................................................................................383

Example Return.................................................................................383

ReadTagkeyData ................................................................................................385

Request Format (Return All Tag Key Data For Batch).....................385

Request Format (Return Specified Tag Key Data)............................385

Example Return.................................................................................386

ReadEquipmentDetails.......................................................................................387

Request Format (Read Details of All Equipment) ............................387

Page 18: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

18 3BUA000146R4101

Request Format (Read Details of Specified Equipment).................. 387

Example Return ................................................................................ 387

Write Messages ............................................................................................................. 389

Batch_Change_Info ........................................................................................... 389

Request Format ................................................................................. 389

Example Return ................................................................................ 389

Batch_Schedule_Info......................................................................................... 390

Request Format ................................................................................. 390

Example Return ................................................................................ 390

Equipment_Change............................................................................................ 390

Request Format ................................................................................. 391

Example Return ................................................................................ 391

XML Schema ................................................................................................................ 391

Server Internet Site........................................................................................................ 404

Security ......................................................................................................................... 408

Appendix K - BatchML XML InterfaceIntroduction ................................................................................................................... 409

Exporting Procedures .................................................................................................... 410

Importing Procedures .................................................................................................... 410

Functional Mapping ...................................................................................................... 410

Parameters.......................................................................................................... 411

String Parameters .............................................................................. 411

Float Parameters ............................................................................... 412

Integer Parameters ............................................................................ 413

List Parameters ................................................................................. 414

Equipment Parameters ...................................................................... 415

Header .......................................................................................................... 416

Standard Operating Procedure ........................................................................... 417

Recipe Elements ................................................................................................ 418

Start Element .................................................................................... 418

End Element .................................................................................... 419

Transition Element............................................................................ 420

Page 19: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Table of Contents

3BUA000146R4101 19

3BUA000146R4101 19

Recipe Procedure Element ................................................................420

Unit Procedure Element ....................................................................421

Operation Element ............................................................................422

Phase Element ...................................................................................423

Exception Procedure Element ...........................................................424

Links (Arrows) ..................................................................................425

Parallel Divergent/Convergent ..........................................................427

Serial Divergent/Convergent.............................................................429

Select Equipment BMA ....................................................................431

Deselect Equipment BMA ................................................................432

Acquire Equipment BMA .................................................................433

Release Equipment BMA..................................................................434

Reserve Equipment BMA .................................................................435

Unreserve Equipment BMA..............................................................436

Message BMA...................................................................................436

Data Collection BMA .......................................................................440

Set SOP Section BMA ......................................................................442

Compute BMA ..................................................................................443

Command BMA ................................................................................444

Print Report BMA .............................................................................445

Schedule Job BMA ...........................................................................446

Extension Action Element.................................................................447

Parameter Mapping ............................................................................................448

XML Schema.................................................................................................................450

Simple Example.............................................................................................................456

Page 20: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 21: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 21

About This Book

GeneralThis instruction describes how to configure the Batch Management system software. Use this section as a guide to the conventions used throughout this instruction. For a list of documentation related to the product described in this instruction, refer to Related Documentation on page 23.

Use of Warning, Caution, Information, and Tip IconsThis publication includes Warning, Caution, and Information where appropriate to point out safety related or other important information. It also includes Tip to point out useful hints to the reader. The corresponding symbols should be interpreted as follows:

Electrical warning icon indicates the presence of a hazard which could result in electrical shock.

Warning icon indicates the presence of a hazard which could result in personal injury.

Caution icon indicates important information or warning related to the concept discussed in the text. It might indicate the presence of a hazard which could result in corruption of software or damage to equipment/property.

Information icon alerts the reader to pertinent facts and conditions.

Tip icon indicates advice on, for example, how to design your project or how to use a certain function

Page 22: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Document Conventions About This Book

22 3BUA000146R4101

Although Warning hazards are related to personal injury, and Caution hazards are associated with equipment or property damage, it should be understood that operation of damaged equipment could, under certain operational conditions, result in degraded process performance leading to personal injury or death. Therefore, comply fully with all Warning and Caution notices.

Document ConventionsThe following conventions are used for the presentation of material:

• The words in names of screen elements (for example, the title in the title bar of a window, the label for a field of a dialog box) are initially capitalized.

• Capital letters are used for the name of a keyboard key if it is labeled on the keyboard. For example, press the ENTER key.

• Lowercase letters are used for the name of a keyboard key that is not labeled on the keyboard. For example, the space bar, comma key, and so on.

• Press CTRL+C indicates that you must hold down the CTRL key while pressing the C key (to copy a selected object in this case).

• Press ESC E C indicates that you press and release each key in sequence (to copy a selected object in this case).

• The names of push and toggle buttons are boldfaced. For example, click OK.

• The names of menus and menu items are boldfaced. For example, the File menu.

– The following convention is used for menu operations: MenuName > MenuItem > CascadedMenuItem. For example: choose File > New > Type.

– The Start menu name always refers to the Start menu on the Windows® 2000 Task Bar.

• System prompts/messages are shown in the Courier font, and user responses/input are in the boldfaced Courier font. For example, if you enter a value out of range, the following message is displayed:

Entered value is not valid. The value must be 0 to 30.

Page 23: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

About This Book Terminology

3BUA000146R4101 23

You may be told to enter the string TIC132 in a field. The string is shown as follows in the procedure:

TIC132

Variables are shown using lowercase letters.

sequence name

TerminologyThe following is a list of terms associated with Batch Management that you should be familiar with. The list contains terms and abbreviations that are unique to ABB or have a usage or definition that is different from standard industry usage.

Related DocumentationThe following is a listing of documentation related to the configuration of Batch Management systems.

Term Description

BMA Batch manager action

PDL Production data log

PFC Procedure function chart

SEM Shared equipment module

SOP Standard operating procedure

Thread A procedure execution path

Category Title Description

Software Operation, Batch Management 3BUA000145R????

800xA System Configuration 3BDS011222R????

Page 24: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 25: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 25

Section 1 Introduction

OverviewBatch Management, the batch management add-on for the 800xA System Version 4.1, is powerful, flexible software used to configure, run, and manage batch operations. This instruction describes the configuration aspects of Batch Management.

Batch configuration consists of planning, organizing and designing a batch process control system.

Managing batch operations consists of tasks such as making sure that equipment needed by one batch is not being used by another batch, sending instructions to the controller about which phases to run next (the procedure) and sending values that will be used for various parameters in the recipe (the formula) to the controller. All these tasks are performed by the batch manager within Batch Management. Operation details are provided in the Batch Management Operation instruction.

The batch manager of Batch Management is integrated with the 800xA system, Information Management, Manufacturing Management, and controller subsystems (AC 800M/C). Batch Management performs the following tasks:

• Allocate and de-allocate batch processing equipment.

• Store information about the resources available at the site for flexible batch processing in the equipment database.

• Store procedures and formula values in the recipe database.

• Schedule batches.

• Download the phase name to the control system.

• Download phase parameter values, such as temperature or ingredient weight, to the control system.

Page 26: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Intended User Section 1 Introduction

26 3BUA000146R4101

• Send instructions to the control system to start a phase.

• Store batch data in the batch database.

Information Management performs the following tasks:

• Provide hierarchical history of batch data and events.

• Allow custom organization, storage, archival, and retrieval of batch data and events.

• Generate batch reports.

• Allow easy batch to batch analysis of trend data.

The AC 800M/C controller performs the following functions:• Store phase logic.• Execute phase logic, interlocking, and process control.• Send transaction messages to the batch manager at the end of phases.• React to abnormal conditions.• Generate exception messages, event messages, and alarms.

Intended UserThis instruction contains information specific to the configuration of Batch Management to perform flexible batch operations. This instruction is directed towards:

• Process engineers who plan and implement control strategies for a batch processing plant. They perform controller configuration and equipment database configuration.

• Product specialists who create recipes.

It is assumed that the engineers and specialists:

• Know how to use engineering tools to configure the AC 800M/C controller.

• Are familiar with equipment phase logic configuration.

• Are familiar with the 800xA system operator interface.

• Know how to access controller configuration functions.

Page 27: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 1 Introduction ISA S88 Compliance

3BUA000146R4101 27

ISA S88 ComplianceInstructions on adhering to S88.01 are described in Strict S88 Option on page 296. When the option is enabled, the system limits the flexibility available so that the procedures conform to the S88.01 guidelines.

Instruction ContentsThis instruction consists of the following sections:

Introduction Provides information needed before beginning to configure either the controller or Batch Management for flexible batch processing.

Description and Operation

Provides an overview of flexible batch processing and the steps involved in configuration of Batch Management.

Equipment Configuration (Batch Advanced Templates)

Provides step-by-step instructions for configuring batch equipment using the advanced unit and phase control modules.

Equipment Configuration (EPT Control Modules)

Provides step-by-step instructions for configuring batch equipment using the EPT control modules.

Procedures Provides step-by-step instructions for creating batch procedures and subprocedures.

Automatic Batch ID Generation

Provides step-by-step instructions for configuring the automatic generation of batch IDs when scheduling batches.

Appendices Includes information on batch expressions, the batch interface to the Excel spreadsheet and batch utilities available for use with Batch Management. Also contains guidelines for configuring the AC 800M/C controller, function phase drivers, and graphics.

Page 28: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Management Licensing Section 1 Introduction

28 3BUA000146R4101

Batch Management LicensingBatch Management licensing is based on:• Batch server.• Batch server redundancy.• Number of batch equipment.• Number of advanced batch phases.• Number of batch procedures.• Number of concurrent batch clients.• Batch schedule interface.

The number of batch equipment instances includes each piece of equipment configured in Batch Management including both units and shared equipment modules. The number of batch procedures includes each procedure configured in Batch Management including master recipe procedures, unit procedures, operations, and exception procedures.

The number of batch advanced phases represents the total number of phase instances in all units in the entire project (Control Structure). This feature also includes access to batch advanced templates control modules for phases, units, and shared equipment modules. Phases defined with the Equipment Procedure Template (EPT) method do not count against this license feature.

If the appropriate license is obtained, every 800xA system node on the system can be a Batch Management client. The clients can be used to initiate batch operations and to view batch displays.

The batch manager only runs on the Batch Management server. There is only one server (which can be redundant) in a system.

Page 29: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 29

Section 2 Description and Operation

IntroductionThis section provides an overview of flexible batch processing and the steps involved in configuration of Batch Management.

Flexible Batch ProcessingFlexible batch processing permits control logic and resources such as equipment to be used in a variety of ways to produce different products.

Flexibility is built into the Batch Management approach to configuring recipes. The master recipe is created by drawing a flowchart of the process using an object oriented approach. This flowchart is called a procedure function chart (PFC).

The objects used in the PFC represent:

• Batch manager actions such as allocating an equipment resource, sending the operator a message, or collecting data to be used later in a batch report.

• Phase operations (created during controller configuration) specifically for the requirements of a customer.

• A subprocedure.

These objects can be combined in any sequence supported by the batch resources. The system permits configuration of procedures consisting of a single thread of processing, branched logic, or parallel operations. At run time, the operator monitors the progress of the batch run while viewing a copy of the diagram created during procedure configuration.

Flexibility of formulas used to create batch products is enabled in a number of ways:

• The equipment phase logic can find parameters specified by name.

Page 30: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuration Overview Section 2 Description and Operation

30 3BUA000146R4101

• Values can be assigned to parameters in a number of ways, including by the operator at run time (if the recipe is so configured).

• The values assigned to parameters can be logical expressions, as well as fixed values.

Configuration OverviewThe tasks required to take advantage of the benefits of the Batch Management flexible batch subsystem are:

• Planning resource use.

• Writing equipment phase control logic.

• Configuring the controller modules required to handle input and output data, control loops, and execution of sequence logic.

• Configuring the equipment database that describes the hardware and software resources available at the site. Refer to Section 3, Equipment Configuration (Batch Advanced Templates) and Section 4, Equipment Configuration (EPT Control Modules).

• Creating recipes that can include both subprocedures and formulas, using reusable logic components. Refer to Section 5, Procedures.

The controller and Batch Management can be configured simultaneously. Within Batch Management, equipment must be configured before it can be referenced by procedures.

Batch Management Configuration

Batch Management configuration tools (accessed various ways) provide access to the:

• Equipment database configuration - Batch Management records information about the resources available for flexible batch processing in the equipment database.

• Procedure configuration - Batch Management stores procedures in the recipe database.

Page 31: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Batch Management Configuration

3BUA000146R4101 31

• Miscellaneous and default batch configuration.

Information on batch utilities, tools, and functions is provided in Appendix E, Batch Utilities.

Equipment Database Configuration

The equipment database is a collection of interrelated definitions of phases, equipment, and equipment groups. Equipment must be configured before procedures can reference it (although changes can be made later). Complete instructions to configure the equipment database are provided in Section 3, Equipment Configuration (Batch Advanced Templates) and Section 4, Equipment Configuration (EPT Control Modules).

The steps to configure the equipment database are:

1. Configure phase definitions, including the phase parameters, default values, and access levels.

2. Verify the phases match the equipment phases defined for the controller (EPT control modules only).

3. Configure equipment names.

4. Specify equipment attributes. Identify characteristics of the equipment that could have an effect on which equipment should be used for a particular batch.

5. Specify which phases can run on which equipment.

6. Define equipment groups.

Procedure Configuration

Once the equipment has been configured, procedures can be created that reference the equipment. Complete instructions on configuring procedures are provided in Section 5, Procedures.

Batch Management procedures are configured by creating PFCs (procedure function charts). Procedures are drawn using an object oriented approach. The PFC created

Prior to procedure configuration, the designer may want to specify batch cells.

Page 32: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Management Configuration Section 2 Description and Operation

32 3BUA000146R4101

during procedure configuration will also be used at run time by the operator to monitor the progress of a batch.

The steps to create a procedure are:

1. Configure the procedure header providing information about the procedure.

2. If desired, configure the standard operating procedure (SOP), which is a textual representation of the procedure.

3. Configure procedure parameters.

4. Create the PFC.

a. Add objects representing batch manager actions to acquire equipment.

b. Add objects representing phases, subprocedures, compute batch manager actions, message batch manager actions, etc., which includes defining each object. Procedure specific values for procedure and phase parameters can be included.

c. Add objects representing batch manager actions to release equipment.

d. Add connector objects linking objects on the PFC.

Miscellaneous Batch Configuration

Additional batch configuration activities are performed using various methods. Refer to Appendix E, Batch Utilities. These activities include defining message priorities, specifying the number of backup versions of procedures to be retained, and the option to change the colors used in PFCs. The retention limit for display of completed batches is also specified using these methods.

The Batch Management batch manager runs under the 800xA system. When the software is installed, a node is designated as a primary server. A second node can optionally be designated as a redundant server.

Page 33: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Batch Management Run Time

3BUA000146R4101 33

Batch Management Run TimeAn operator schedules a batch by:

• Assigning a unique batch ID to schedule a single batch or multiple IDs to schedule a batch campaign. A batch campaign uses the same master procedure for all the batches in the campaign.

• Assigning the batch to a lot (optional).

• Specifying the recipe to be used.

• Configuring a start time.

• Specifying the mode of operation (automatic, semi-automatic, and manual).

• Making last minute checks of values assigned to parameters (optional).

The operator can monitor the progress of the batch process by watching the colors and symbols on the PFC. The operator can also monitor using an online standard operating procedure (SOP) and an equipment phase faceplate. Pending messages and requests for operator input will be indicated through a predefined color of the PFC batch manager action block (default is yellow). The operator has the option of opening a dialog box to view the message and, if needed, provide the input.

Batch Management will send instructions to the controller to run particular phase logic programs as specified in the procedure. Values of phase parameters being used in the procedure can be made available to the equipment phase in the controller.

The batch manager is running under the 800xA system, but it is the controller that is actually controlling the process. If communication between the 800xA system and the controller is severed while a batch is running, the controller can continue to run the current phase.

A redundant Batch Management server can be installed on the network. If the primary Batch Management server fails, the backup would take over batch management operations automatically.

While installing the Batch Management software on a workstation, the installer will specify whether it is to be a primary server, a redundant server, or a client.

The node designated as server (both primary and redundant) will have on its hard drive the Batch Management database which includes:• Recipes.

Page 34: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Sample Batch Management PFC Section 2 Description and Operation

34 3BUA000146R4101

• Equipment.• Historical data on batches that have already run.

Any client node can be used to access information stored in the Batch Management database.

Sample Batch Management PFC

Figure 1 shows a sample PFC. It is a flowchart of the procedure. Many procedures are too complex to fit clearly on a single diagram and would be configured with layered PFCs. An object on the top layer would represent another PFC. The depth of nested PFCs is configurable.

TC02131B

Figure 1. Sample Procedure Function Chart (PFC)

Page 35: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Special Instructions to the Operator

3BUA000146R4101 35

Objects that can be used on a PFC represent:

• Batch manager actions used for data collection, message display, computations, allocation of hardware, etc.

• Phases.

• Procedures.

• Transitions that test for a condition.

• Branch starts and branch ends used to represent the start and end of a logical branch in the process.

• Parallel starts and parallel ends used in parallel processing.

A special type of procedure, called an exception procedure, can be configured as part of a normal procedure to define exception logic. This type of procedure provides the option of defining product related exception triggers and the appropriate responses on a product basis.

A copy of the procedure PFC is displayed for the operator at run time. Changing colors and symbols on the PFC help the operator monitor the progress of the batch process. The colors and symbols are configurable, and graphics can be included on a PFC.

Special Instructions to the Operator

As the operator monitors the progress of a batch using the PFC, there are several ways in which special instructions can be displayed.

Messages

A type of procedure object called the message batch manager action is available to the configurer. When this object is included in a procedure, continuation of the batch processing requires that the operator read and respond to a message. Operator responses are made a permanent part of the records in the history associated with this batch. Refer to Other Batch Management Actions on page 198 for further details.

Page 36: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Operator Changes to Procedures and Values Section 2 Description and Operation

36 3BUA000146R4101

SOP

A standard operating procedure can be configured. The operator input can also be included in the SOP associated with the batch. This input is also made part of the permanent record associated with the batch.

Operator Changes to Procedures and Values

It is possible to configure the batch management subsystem so that an operator can or can not make changes to the procedure and formula at run time. What the operator can change at run time depends on the access level assigned to the operator and the minimum access level needed to make a change. An access level is specified during configuration for all possible changes.

In addition, security can be configured on Batch Management so that individual operators are limited to cells in the process to which they have access.

Operators having the appropriate permissions can make runtime edits to control recipes.

Version Control

All procedures are version controlled with revision histories. In addition to approved versions, additional versions can be stored by Batch Management. Revision histories include date/time stamps with comments about the changes made. A version update is forced each time a procedure is approved.

Information associated with a specific batch is identified in the batch database with a unique batch ID. Once data has been entered in the batch history, it can not be changed, although all the data for a particular batch can be archived and deleted by a qualified user. Even if the data associated with a batch is removed from the system following archiving of the data to the 800xA system historian, the record of the batch ID is retained. The batch ID can never be reused.

Information is placed in the batch database when it is:

• Recorded automatically by the system. This includes information such as the recipe procedure name and version used, the batch (and phase) start time, end time, status, parameter values, etc.

The master recipe is not changed by these runtime edits, only the control recipe for the current batch.

Page 37: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Synchronized Batch Operations

3BUA000146R4101 37

• Recorded by the system in response to instructions in the procedure (data collection batch manager action). This can include tag key collected data which is collected once per batch.

• Entered by the operator in response to a message or in the SOP.

Information in the batch database can be included in a custom Excel spreadsheet that can be printed in response to an operator instruction. Refer to Appendix B, Report Configuration Using Excel Spreadsheets for further details.

Synchronized Batch Operations

Procedures can be synchronized using the flexible batch management subsystem. The PFC can include objects representing the start and end of parallel processing, as well as transition blocks. They will test for a condition and only permit processing to continue when the condition has been met. Synchronization between procedure blocks in two different PFCs is accomplished using transition and compute blocks.

Parameters, Variables, and ExpressionsTo permit flexibility when configuring phase logic and creating procedures, Batch Management uses parameters and variables to represent values, and permits the use of logical expressions when specifying the procedure and batch specific values of a parameter. It is important to understand the options available to a configurer before beginning to plan for implementation of control strategies using Batch Management. Details on editing parameters and expressions are provided in the configuration sections in this instruction. Details of expression structure, functions, and variables are provided in Appendix A, Configuring Batch Variables and Expressions.

Parameters

A parameter is a named value. Examples of values that it might be useful to name in flexible batch processing are the temperature of a reactor, a quantity of an ingredient, and the state of a device such as an agitator.

Three types of parameters (phase, procedure, and extension action) are used in Batch Management flexible batch processing.

Page 38: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Section 2 Description and Operation

38 3BUA000146R4101

Phase parameters are associated with the equipment phase logic configured in the controller. Each phase parameter is configured in both the controller and in the equipment database in Batch Management.

Procedure parameters are associated with using control logic in a specific procedure, or within a procedure for process management. Procedure parameters are configured during procedure configuration and are stored in Batch Management.

Extension action parameters are associated with a configured action. Extension action parameters are configured on any extension action block.

Phase Parameters in the Controller Configuration

Phase parameters are named values used by equipment phase logic. A phase parameter name can consist of up to 32 ASCII characters. The same parameter name can be used by more than one phase.

There are three types of phase parameters: integer, floating point, and string (80 character text string).

The access level needed to assign a procedure specific or batch specific value to the phase parameter when configuring a procedure or running a batch is stored in the equipment database as described in Security on page 64.

The value for each parameter written at run time to the controller can come from one of two sources:

The default configured for the phase parameter during configuration of the equipment database. The default in the equipment database must be a constant.

- or -

The procedure specific phase parameter value that is used instead of the default if a procedure specific value was assigned to the phase parameter during procedure configuration as described in Assignment of Procedure Specific Values on page 44. This procedure specific value can be a constant, an expression (which can contain variables), or a procedure parameter.

In addition, it is possible to permit operators to make batch specific changes to phase parameter values right up until the time that the instructions to run a phase or sequence are sent to the controller. Refer to Viewing and Changing Procedure Parameters at Run Time on page 47.

Page 39: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Parameters

3BUA000146R4101 39

If a parameter value is configured directly in phase logic during equipment phase logic configuration, the configured value will be overwritten by the appropriate value from Batch Management.

Phase Parameters in Equipment Database Configuration

During configuration of the equipment database the resources available for flexible batch processing at the site are described. Part of this process is specifying what phases can run on a particular piece of equipment such as a reactor or a mixing tank. The names of the parameters used by each phase must also be specified. In addition to naming the phase parameters, the specification process also includes entering:

• The type of value the parameter represents (integer, floating point, string, list).

• A default value that must be a constant.

• A description of the parameter.

• The minimum access level required to assign a custom value to the parameter. Refer to Security on page 64 for more information about permissions and access levels.

It is recommended that the name used for a phase parameter in the equipment database be the same as that configured in the equipment phase in the controller. Failure to use the same name will result in a runtime error of that phase in some controllers.

Figure 2 shows a parameter list in which several parameters have already been entered. For example, the list shows that the default value assigned to phase parameter A1 in the equipment database is floating point 1.000000.

The phase parameter A3 has been assigned the floating point value 3.000000 (representing a certain amount). The phase parameter S2 has been assigned String S2. The phase parameter S3 has been assigned String S3.

Viewing and Changing Phase Parameters at Run Time

Clicking any block (object) in a PFC for a scheduled batch will display a block status window. The block status window for a phase object contains a Parameter button that opens a Batch Phase Parameters window shown in Figure 3.

Page 40: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Section 2 Description and Operation

40 3BUA000146R4101

The parameters listed on the left are phase parameters followed by their descriptions. The first time this window is opened following the scheduling of a batch, the text entry boxes on the right contain the assignments made during phase operation assignment in procedure configuration as described in Assignment of Procedure Specific Values on page 44. The values displayed in the center of the window the first time the window is opened following the scheduling of a batch are the defaults assigned during configuration of the equipment database. These

TC02203C

Figure 2. Parameter Sheet (Batch Phase Window)

TC02525B

Figure 3. Phase Parameters Accessible From Block Status Window

Page 41: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Parameters

3BUA000146R4101 41

defaults will immediately be overwritten by the result of the evaluation of the assignments shown in the text entry boxes. To signal the viewer that the displayed values are the result of an evaluation, each value will be preceded by an asterisk.

The assignment of the value can be changed for this instance of the phase if:

• Instructions to run the phase have not yet been sent to the controller by the batch manager.

• The parameter was defined in the equipment database.

• The operator has a high enough access level.

To assign a new value for that specific parameter, the operator would click on the expand button and type the new value or expression. The results will be displayed in the right side of the window in place of the previous assignments. Clicking Compute will result in the expressions being evaluated and the window being closed.

If this window is opened again, the text entry boxes will continue to display the batch specific assignment, instead of the assignment made during procedure configuration, and the center of the screen will contain asterisks followed by the evaluation of these batch specific assignments.

In contrast to the Parameter button on the block status window for a phase object that provides access to phase parameters, the Parameter button on the block status window for a procedure block provides access to another window used to change procedure parameters for the subprocedure as described in Passing Parameter Values to a Nested Subprocedure on page 49.

Procedure Parameters and Procedure Specific Values

Procedure parameters are associated with a specific procedure. A procedure parameter value is specified during procedure configuration using a constant. The value of a procedure parameter can, in turn, be used to specify the value of a phase parameter for this procedure. Procedure parameters are extremely valuable in many environments.

A procedure can be configured in such a way that an operator with the appropriate access level will easily be able to enter a custom value for procedure parameters at the time a batch is scheduled to be run. This value can be specified using a constant

Page 42: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Section 2 Description and Operation

42 3BUA000146R4101

or an expression. The expression can contain variables as described in Expressions and Variables on page 53.

Procedure parameters are also useful for procedure management operations. Not only can a procedure parameter be used to represent a value such as a quantity of a material or the temperature of a reactor, one could be used in a procedure object to represent an operand in a conditional operation. To provide a simple example, suppose each time a batch was run the configurer wanted the operator to decide, based on a visual inspection of a tank, whether or not the tank cleaning phase of the procedure should be executed. The configurer could define a procedure parameter called Clean and then cause the system to test for the value of Clean by including an object in the procedure called a transition object. If the value assigned to clean by the operator at run time was Yes, the cleaning phase of the procedure would be included in the process when the execution of the batch reached the transition object. If the operator entered No, the tank would not be cleaned for that batch.

Creation of Procedure Parameters

A Procedure menu, available from the title bar of the Procedure Configuration window, contains an item Define parameters used to create procedure parameters and to assign a description, data type, and default value to each. Procedure parameters are stored in the batch database. Procedure parameters and their values are not written to the controller. To send a procedure parameter to the controller, the procedure parameter must be assigned to a phase parameter, since only phase parameters are sent to the controller.

The data types available for a procedure parameter are floating point, string, list, and equipment list. In the case of list and equipment list, the possible values that could be used are configured in the form of a list, permitting the configurer to limit the choices available to an operator at run time.

The default value must be a constant, not an expression. Part of the process of defining procedure parameters is to specify whether it is a private parameter for which the default will always be used, or a public parameter for which the value can be changed by a user with the correct access level (and to specify the minimum access level). Private parameters are not displayed when a batch is scheduled.

Refer to Changes to a Private Parameter on page 55 for information about the special circumstances under which the default value of a private parameter is not used.

Page 43: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Parameters

3BUA000146R4101 43

When scheduling a batch, the operator can enter a custom value for a public parameter. This custom value can be a constant or an expression. When a batch is scheduled, the operator will be able to view the public procedure parameters assigned to the top level of the procedure being used to run the batch. Procedures can contain nested subprocedures that in turn can contain other subprocedures. At run time the operator will be presented with the list of procedure parameters for the top level procedure only. Therefore, if a subprocedure contains a procedure parameter that the operator needs to assign a special value at run time, during procedure configuration the configurer must make the link between procedure parameters on various procedure levels as discussed in Passing Parameter Values to a Nested Subprocedure on page 49.

The procedure parameters defined here can be used to specify a value for phase parameters for this procedure. This specification of values for phase parameters used by this procedure is done during procedure configuration as described in Assignment of Procedure Specific Values on page 44.

Select Procedure > Define parameters to open the window shown in Figure 4.

This window contains no parameters when it is first opened for a new procedure. Figure 4 shows the window after procedure parameters have already been configured using the windows accessed with Add and Edit buttons.

TC02270B

Figure 4. Procedure Parameters Window

Page 44: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Section 2 Description and Operation

44 3BUA000146R4101

The procedure parameters can be integers, floating point data, string, lists or equipment lists. During configuration, a high and low limit, and a unit of measure for each can be configured. At run time, an operator with appropriate permissions could change one of these public parameters to any value in the range.

The public/private designation and the access level required to change a public parameter are only seen on the pop-up window opened using the Edit button. However, if a parameter is configured as private, a -L will be included in the Type column. For example, a private float parameter would be shown as type F-L.

If the creator of the procedure wanted to restrict the operator to assigning only certain values to a procedure parameter, the list data type would have been used. At run time, the operator could only select batch specific values selected from the predefined list.

The configurer can also specify checks to be used to validate procedure parameter values before the values are used by the procedure when a batch is run.

Assignment of Procedure Specific Values

During creation of a procedure, objects are drawn on the procedure function chart. Among the objects available to the procedure configurer are objects for batch manager action (BMA), procedure, and phase. Each object of these types must be assigned. In other words, the system must be told which BMA, procedure, or phase the object represents. Specifying what an object represents is performed using a window accessed from the Procedure menu in the Procedure Configuration window. The window used to assign an object varies, depending on the type of object being defined. Once an object representing a phase is added to a PFC, the Assign object option on the Procedure menu opens a window used to specify the phase the object represents. Once the phase has been specified, the window will be updated to show the list of phase parameters associated with that phase as configured in the equipment database. The left side of the window lists the phase parameters, followed by their descriptions and equipment database defaults. Text entry boxes are provided for the assignment of procedure specific values to these phase parameters. Figure 5 shows a Phase Operation Assignment window in which procedure specific values have been entered.

The default value assigned to phase parameter Agitator in the equipment database is 0.000000 (representing off). However, the value assigned here is represented by

Page 45: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Parameters

3BUA000146R4101 45

agit, a procedure parameter defined in the procedure parameter configuration step described in Creation of Procedure Parameters on page 42. Remember that when a batch is scheduled, the operator will be able to see all procedure parameters for the top level procedure. Therefore, if a procedure parameter (agit) is used to represent the value of a phase parameter (agitator), the operator may be able to change the value of the phase parameter at run time by changing the value of the procedure parameter used to specify the value of the phase parameter. Whether the operator will be able to make the change will depend on whether the procedure parameter was defined as a public parameter, and whether the operator has a high enough access level. (Although it is also possible for an operator to change the value of a phase parameter directly at run time, it can not be done from the Batch Schedule window.)

The value assigned to phase parameter FtType is also represented by a procedure parameter.

The value of phase parameter RmAmount has been specified by an expression containing procedure parameters and a constant. Expressions are discussed in Expressions and Variables on page 53.

TC02204B

Figure 5. Phase Operation Assignment Window

Page 46: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Section 2 Description and Operation

46 3BUA000146R4101

The value specified for phase parameter RmType is a string RM1. The fact that it is a string is indicated by the double quotation marks (") enclosing RM1.

The values assigned to the phase parameters here will be the defaults any time a copy of this batch (master) procedure is used as a control procedure to run a batch. However, each time the procedure is used, phase parameter values specific to that instance of the procedure for a batch can be assigned. Refer to Viewing and Changing Procedure Parameters at Run Time on page 47.

Procedure Parameters Accessible When a Batch Is Scheduled

When an operator schedules a batch to run, there is an opportunity for custom values to be assigned to public procedure parameters. The operator uses a batch scheduler window to assign a batch ID, select a procedure to be used for the batch, schedule a start time for the batch, etc. Click Parameters in the Batch Schedule window and the window shown in Figure 6 will open.

The parameters listed are the procedure parameters for the top level procedure. To the right of the procedure parameter name is its description and the default value assigned during the procedure configuration step described in Creation of Procedure Parameters on page 42. The operator can accept these values for the batch or assign new ones using the text entry boxes, if the operator has the appropriate access level.

TC02205B

Figure 6. Batch Parameters Window

Page 47: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Parameters

3BUA000146R4101 47

When specifying values, the operator can use an expression as described in Expressions and Variables on page 53.

Once new values have been entered, click Compute to cause the system to attempt to check the expressions. Range checks will be performed for constants. Equipment names will be checked for validity. In addition, if any special checks were configured for the parameters during procedure configuration, these checks will be executed.

If the check is successful, the newly entered values will be displayed in the center of the window in place of the defaults. Each checked value will be preceded by an asterisk, to distinguish it from a default value. Clicking OK will result in the entries being checked and the window being closed.

Not only can the procedure be configured to permit the operator to assign custom values to procedure parameters at run time, a means has also been provided for making last minute changes to public phase parameters under certain circumstances as described in Viewing and Changing Procedure Parameters at Run Time on page 47.

Viewing and Changing Procedure Parameters at Run Time

An object on an PFC can represent another procedure, commonly called a subprocedure. This nested procedure may contain procedure parameters. The Parameter button on the block status window for a procedure block representing a subprocedure provides access to the window (Figure 7) used to change procedure parameters created when the nested subprocedure was configured. Additional information about passing parameter values between layers of a procedure is provided in Passing Parameter Values to a Nested Subprocedure on page 49.

This window will contain the public procedure parameters for the subprocedure PFC represented by the block on the higher level procedure that was clicked on to display this window. The procedure parameters are followed by their descriptions. The first time this window is opened following the scheduling of a batch, the text

The function of scheduling a batch is also protected through the Batch Management security system. Refer to Security on page 64.

True computation of the expressions may be impossible at this point because the value of variables that do not exist until run time may be needed.

Page 48: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Section 2 Description and Operation

48 3BUA000146R4101

entry boxes on the right contain the assignments made during the assign object configuration of the procedure block representing the subprocedure. The values displayed initially in the center of the window the first time the window is opened following the scheduling of a batch are the defaults from the lower level procedure. These values will immediately be overwritten by the result of the evaluation of the assignments shown in the text entry boxes. To signal to the viewer that the displayed values are the result of an evaluation, each value will be preceded by an asterisk.

The assignment of the value can be changed for this instance of the PFC if the operator has a high enough access level.

The operator would use the text entry boxes to assign new values. Once new values have been assigned, click Compute to cause the system to evaluate the expressions. The results will be displayed in the center of the window in place of the previous assignments. Click OK to cause the expressions to be evaluated and the window being closed.

If this window is opened again, the text entry boxes will continue to display the batch specific assignment instead of the assignment made during procedure configuration, and the center of the screen will contain asterisks followed by the evaluation of these batch specific assignments.

TC2526B

Figure 7. Procedure Parameters Window

Page 49: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Parameters

3BUA000146R4101 49

Passing Parameter Values to a Nested Subprocedure

An important aspect of Batch Management flexible batch processing is the ease with which procedure elements can be reused. Procedures contain phases that can be reused within one procedure, as well as being used by any number of procedures. Procedures also can contain nested subprocedures. Thus, a procedure can be thought of as consisting of a number of layers. As the diagram in Figure 8 shows, an object on a top level PFC can represent another procedure that is at a lower level.

This hierarchical decomposition of a complex procedure not only facilitates configuration by permitting reuse of tested subprocedures, but also maximizes clarity of presentation of the process to the operator. The operator can monitor the

Figure 8. Passing Procedure Parameter Values From the Top Down

Page 50: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Section 2 Description and Operation

50 3BUA000146R4101

progress of a batch process through a series of PFCs, instead of being confronted with one PFC crammed with information.

When assigning an object on a higher level procedure to represent a lower level procedure, the lower level procedure must already exist. Each subprocedure is configured as if it were a stand alone procedure, with a start and end in its PFC. In addition, each procedure, regardless of whether it is meant to be a top level procedure, or be nested within another procedure, will have its own set of procedure parameters configured in the window accessed by selecting Procedure > Define parameters from the title bar of the screen used to draw the PFC.

At run time, only the procedure parameters for the top level procedure will appear on the window displayed using the Parameter button on the Batch Schedule window. If the operator needs to enter a custom value for a procedure parameter in a nested procedure on the second level, the configurer must create a procedure parameter on the top level procedure, then define the value of the procedure parameter at the lower level to be the upper level procedure parameter.

For example, assume a top level procedure called VegSupreme is being created. VegSupreme is a soup procedure that includes a subprocedure that has already been created called CondenseSoup. CondenseSoup uses a procedure parameter called vat_temp. The product specialist wants the operator to be able to manually enter a temperature at run time. However, at run time the Batch Schedule window Parameter button will display only the VegSupreme parameters, so vat_temp will not be included because it is a procedure parameter for the lower level procedure, CondenseSoup. The solution is to create a VegSupreme procedure parameter called Vat_Temp, and to define the value of the CondenseSoup procedure parameter vat_temp as being Vat_Temp, the VegSupreme procedure parameter. This assignment is made using assign object for the CondenseSoup procedure block during the configuration of VegSupreme.

When the operator enters a value for Vat_Temp in the top level procedure, the value will be passed down to vat_temp in the lower level procedure. Refer to Figure 8.

There is nothing stopping the procedure parameters, at all levels, having the same name. However, to avoid confusion until the operators become familiar with the concept of parameter value passing, the configurer might want to differentiate between top level procedure parameters and lower level parameters using upper and lower case, or some other system that seems useful locally.

Page 51: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Parameter Summary

3BUA000146R4101 51

There is no limit to the number of procedure levels through which a value can be passed, as long as the value definition of a procedure parameter on each level points to a procedure parameter on the level above it. A subprocedure will only get a value from the level immediately above it.

So far only the description of passing a value down through layers has been discussed. Values can be passed both up and down between PFC layers through the use of expressions and variables.

Extension Action Parameters and Specific Values

Extension action parameters are associated with a specific extension action. An extension action parameter value is specified during extension action configuration using a constant. The value of an extension action parameter can, in turn, be used to specify the value of another parameter. Extension action parameters are extremely valuable in many environments.

A procedure can be configured in such a way that an operator with the appropriate access level will easily be able to enter a custom value for extension action parameters at the time a batch is scheduled to be run. This value can be specified using a constant or an expression. The expression can contain variables as described in Expressions and Variables on page 53.

Parameter Summary

A summary of phase, procedure, and extension action parameters are shown in Table 1, Table 2, and Table 3.

Output Parameters

Batch advanced phase parameters with the direction of out and in/out (Refer to Section 3, Equipment Configuration (Batch Advanced Templates).) send parameter values to the PDL database. One use of this database is to provide parameter values for reports.

An out direction parameter does not receive a value from Batch Management. At phase completion, Batch Management retrieves the value of the OutValue controller variable (Figure 9) and sends it to the PDL database. The control logic must be configured to write the appropriate output value to the OutValue variable. The

Page 52: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Output Parameters Section 2 Description and Operation

52 3BUA000146R4101

output value will be equal to the default value of the data type if the logic does not write a value to the OutValue variable.

An in/out direction parameter receives a value from Batch Management. At phase completion, Batch Management retrieves value of the OutValue controller variable and provides both the parameter starting value (provided by Batch Management) and value of the OutValue variable to the PDL database. The control logic must be configured to write the appropriate output value to the OutValue variable. The output value will be equal to the starting value if the logic does not write a value to the OutValue variable.

Table 1. Phase Parameters

NodeConfigured

ByValue Applies To Considerations

Controller Equipment phase definition

Parameter name

N/A It is recommended that the name match the name of the recipe phase parameter.

Batch Management

Equipment database

Parameter name, default value, access level

All uses of parameter in all procedures unless procedure or batch specific values are assigned

It is recommended that the name match the name in controller equipment phase.

PFC configuration phase object assignment

Procedure specific value

All uses of the parameter in this instance of this phase in this PFC

Value can be specified using a constant or an expression

Batch PFC phase object block status window

Batch specific value for this phase

This instance of this phase in this batch

Value can be specified using a constant or an expression; can not be changed once instructions to run the phase have been sent to the controller by the batch manager

Page 53: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Expressions and Variables

3BUA000146R4101 53

Expressions and Variables

To provide maximum flexibility, the value to be represented by a procedure parameter on a lower level procedure can be specified using an expression when the procedure is used by a higher level procedure. An expression can also be used to specify the procedure specific or batch specific value of a phase parameter. The procedure and phase parameter default must be a constant. Details concerning the structure, operators, and syntax of batch expressions are provided in Appendix A, Configuring Batch Variables and Expressions.

A number of operators are available for use in batch expressions. Batch expressions can be used in place of a constant numeric or text value in many configurable items. Some of the uses for the operators are discussed in Table 4.

Table 2. Procedure Parameters

Node Configured In Value Applies To Considerations

Top Level Procedure

Batch Management

PFC procedure parameter configuration

Parameter name, default value, public/private, access level

All uses of parameter in this PFC unless a batch specific value is assigned

Default must be a constant

Batch parameter window from batch schedule window

Batch specific value

All uses of the parameter in this instance of the procedure (PFC)

Value can be specified using a constant or an expression

Lower Level Procedure

Batch Management

PFC procedure parameter configuration

Parameter name, default value, public/private, access level

All uses of parameter in this PFC unless a batch specific value is assigned

Default must be a constant

Block status window for object on higher level procedure representing lower level procedure

Batch specific value

All uses of the parameter in the lower level PFC for the batch

Value can be specified using a constant or an expression

Page 54: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Expressions and Variables Section 2 Description and Operation

54 3BUA000146R4101

Table 3. Extension Action Parameters

Node Configured In Value Applies To Considerations

Batch Management

Extension action parameter configuration

Parameter name, default value, public/private, access level

All uses of parameter in this extension action unless a batch specific value is assigned

Default must be a constant

Block status window for object on higher level procedure representing lower level extension action

Batch specific value

All uses of the parameter in the lower level extension action for the batch

Value can be specified using a constant or an expression

TC06384A

Figure 9. Controller Variables Tab

Page 55: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Changes to a Private Parameter

3BUA000146R4101 55

The operations include arithmetic and trigonometric functions, comparison operations, string and file functions, and functions to put and get tag data, and batch database data. Custom functions can also be created. Operators are also available to store data as a named variable, and to retrieve the data using the variable name. It is not necessary to declare these variables. Simply using an expression putting data to the variable creates it. The value is put into a storage space from which it can be retrieved. A window is also available for editing variables. These variables are not the same as equipment phase controller variables. There are three sets of get and put commands for batch variables, each set with a different scope. Refer to Table 5.

Changes to a Private Parameter

There is one circumstance that can result in the value of a private parameter being changed from the default assigned during configuration. The user can take advantage of the auto equipment scheduling function. To use this function a special object must be added to the PFC for a procedure. This object represents the select equipment batch manager action described in Section 5, Procedures. When this object is used in a PFC the batch manager will automatically select the equipment to

Table 4. Operator Usages

Usage Description

Compute BMA Compute batch manager action is an object on a PFC that performs a computation.

Select equipment BMA

Select equipment batch manager action is an object on a PFC that selects a piece of equipment.

Transition object Transition object is an object on a PFC that tests a condition before allowing batch processing to continue.

Procedure parameter value

The specification of a procedure parameter value.

Extension action object

Extension action is an object on a PFC that performs an action.

The bvarput and bvarget commands are extremely useful for making a value available to all layers of a procedure.

Page 56: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Abnormal Conditions in Flexible Batch Processes Section 2 Description and Operation

56 3BUA000146R4101

be used at run time based on the attributes and selection criteria that have been configured.

If the same procedure also contains a procedure parameter relating to the equipment, the default value assigned to the procedure parameter by the configurer will be overwritten at run time even if the procedure parameter is a private parameter. A procedure equipment parameter can be overwritten as a result of a select BMA action.

This can also have an effect on the value of a phase parameter. In Assignment of Procedure Specific Values on page 44 it was stated that a procedure parameter can be used to specify the value of a phase parameter. If the procedure parameter is overwritten as a result of the select equipment batch manager action, then the batch manager action will result in the value of the phase parameter being changed as a result of the change to the procedure parameter.

Abnormal Conditions in Flexible Batch ProcessesAbnormal conditions can be divided into three categories. Refer to Table 6.

When the system detects abnormal process conditions, alarm messages and event messages are broadcast to operators. The equipment phase logic can support preconfigured corrective actions and abnormal condition detection, in addition to

Table 5. Get and Put Commands for Variables

Command Description

varput, varget, varputs, vargets

The varput command is used to create a variable and store a numeric value where it is accessible to a varget command within the same PFC. The varputs and vargets commands are used for strings.

bvarput, bvarget, bvarputs, bvargets

The bvarput command is used to create a variable and store the numeric value where it is accessible to a bvarget command in any PFC within a single batch. The bvarputs and bvargets commands are used for strings.

gvarput, gvarget, gvarputs, gvargets

The gvarput command is used to create a variable and store the numeric value where it is accessible to a gvarget command in any PFC in any batch on the system. The gvarputs and gvargets commands are used for strings.

Page 57: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Detection and Correction

3BUA000146R4101 57

the ability of setting alarms and messages. The 800xA system provides many ways to alert operators of abnormal conditions:• Alarm annunciator display bar.• Alarm and event lists.• Point and group displays (faceplates).• Graphics.

Monitoring of the process using these displays is facilitated by the ability of the 800xA system to have multiple operator windows open simultaneously.

Detection and Correction

There are multiple levels in every process where abnormal conditions and corrective actions are taken. In the design of a building, walls are designed to blow out in case of an explosion. Process lines have blow out disks in them to minimize the possibility of the line bursting if a sudden pressure hammer occurs.

Things are no different in the control system. As part of the control system there are likely to be relays that take valves to a safe state in the event of a power failure or controller card removal, and an uninterruptable power supply is probably installed on the DCS control system to allow for an orderly shutdown.

Table 6. Abnormal Conditions

Condition Description

Unexpected conditions

Unexpected process conditions such as a temperature exceeding normal ranges, the level of liquid in a tank dropping below a certain level, the pressure dropping in a steam line. Unexpected process conditions are manifested to the 800xA System through the values of tag atoms.

Device failures Device failures such as a pump failing to start, a solenoid valve failing to open, a thermocouple burning out.

These are process device failures. The control system provides redundancy in many areas to guard against failures: multiple 800xA workstations, redundant Batch Management servers, redundant controllers, redundant data highway, redundant I/O boards in the controller.

Unexpected status

Unexpected device statuses such as a controller going into manual mode during a ramp phase, a motor control valve opening during a hold phase.

Page 58: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Regulatory Control Logic Interlocks Section 2 Description and Operation

58 3BUA000146R4101

In a batch process there are still all the concerns of a nonbatch process, but batch has the additional concern of multiple product types that have their own abnormal conditions that affect the quality of the batch. These abnormal conditions are the ones focused on in this section.

Regulatory Control Logic Interlocks

The first line of abnormal condition detection and corrective actions in the control system is located in the regulatory control logic in the controller. Control logic interprets the signals from the process and outputs signals to control process equipment. Interlocks constantly check for a certain condition and automatically take corrective actions, or prevent unsafe or potentially damaging actions from occurring and notify the operator of the abnormal conditions. In a batch process, interlocks should be used for abnormal conditions that can occur whether a batch is active or inactive. Typical interlocks include high pressure, high level or low level interlocks in a vessel preventing an agitator from starting or running, etc.

Equipment Phase Logic

The equipment phase logic can detect problems, inform the operator and take corrective actions. This logic should be used for conditions that only occur while a batch is active. Usually these interlocks affect product quality, such as a high temperature in a cook cycle, or corrective actions needed if an agitator fails to start during a blend phase.

Exception Logic

Another tool for detecting and handling abnormal conditions during procedure execution is the exception procedure.

An exception procedure is a special type of subprocedure that is executed in parallel with a normal procedure thread. The exception procedure is configured to monitor for one or more abnormal conditions. A transition object is configured for each condition to be monitored. If the expression for the transition object becomes true (the condition occurs), the exception handling logic is executed.

Because exception procedures are configured at the procedure level, and presented with the same type of graphical user interface as a PFC, there are a number of benefits.

Page 59: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Audit Trail

3BUA000146R4101 59

• Because the exception logic is associated with a particular procedure, the exception logic is specific to a particular product.

• Monitoring for abnormal conditions is independent of procedure phase and procedure blocks, and can span several objects in a procedure.

• When an exception procedure is configured to span multiple blocks in a procedure, monitoring continues during the intervals between procedure block execution, as well as during the execution of procedure blocks. Refer to Configuring an Exception Procedure on page 221 for further details.

• The procedure can be monitoring for multiple conditions for different durations.

• Configuration uses the same tools and building blocks as those used during regular procedure configuration.

Audit TrailThe 800xA system audit trail function can be configured to collect and display the audit events corresponding to the execution of batch runtime operations. Refer to Table 11 for a list of the batch operations that generate audit events.

To configure an audit trail of batch audit events:

1. Select the Admin Structure\Administrative Objects\Domains\ domain_name\Audit Trail Config aspect.

2. Enable the Audit Trail Active option in the Audit Trail Config aspect window (Figure 10).

3. Configure the filter options as desired in the Audit Event Filtering area.

4. Click Apply.

5. Right click the object that will contain the audit trail list.

6. Select New Aspect on the pop-up menu.

7. Select Alarm and Event List in the New Aspect window.

8. Enter a name and, if desired, description of the list.

9. Click Create.

Page 60: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Audit Trail Section 2 Description and Operation

60 3BUA000146R4101

10. Select the created aspect.

11. Select the configuration view of the aspect.

12. Select Common Audit List in the Configuration Name field of the alarm and event list window (Figure 11).

13. Click Apply. The alarm and event list window should now resemble that shown in Figure 12.

14. Click the view configuration button.

15. Select the Filter tab.

16. Enable Batch Operator Action Audit in the Categories area of the Alarm and Event List Configuration window (Figure 13).

17. Configure the remaining filter options as desired.

TC05142B

Figure 10. Audit Trail Configuration Aspect Window

Page 61: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Audit Trail

3BUA000146R4101 61

18. Select the Column tab.

19. Configure the column layout as desired. Refer to Figure 14.

20. Click Apply.

TC05141B

Figure 11. Alarm and Event List Aspect Window

TC05143B

Figure 12. Example Audit Trail Listing

Page 62: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Alarm and Event Lists Section 2 Description and Operation

62 3BUA000146R4101

Alarm and Event Lists

Batch alarms and events can be included in 800xA alarm and event lists in the same manner as 800xA alarms and events are included. Refer to the appropriate 800xA system instruction for more information. While configuring the filter options, select the batch categories that contain the alarms and events to be included. Table 7 describes the batch related categories.

Refer to Batch Settings on page 288 for information about appending alarms and events generated by equipment acquired by a batch with batch information such as batch ID, campaign ID, lot ID, and procedure path.

The Procedure Path column on alarm and event list displays show the name of the recipe procedure for events and alarms generated by the controller. For batch related events and alarms, the Procedure Path column shows the name of the recipe procedure and block (in the format recipename.blocknumber) that generated the events and alarms.

TC05140B

Figure 13. Alarm and Event List Configuration (Filter Tab) Window

Page 63: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Alarm and Event Lists

3BUA000146R4101 63

TC05139A

Figure 14. Alarm and Event List Configuration (Column Tab) Window

Table 7. Batch Categories

Categories Description

Batch alarm Batch alarms (condition events) generated during the execution of batch recipes such as:

System events (batch system failovers and security violations)Message pendingBreakpoint reachedBatch errors

Batch block status message History of events generated during the execution of a batch recipe. These events include start times, end times, and parameter values.

Batch operator action Requests to execute batch related actions such as start, stop, skip block, restart at a given point, change mode, etc. This is not the same thing as operator actions on batch related equipment such as changing a set point or opening a valve. (audit event)

Page 64: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Security Section 2 Description and Operation

64 3BUA000146R4101

Security

Batch objects are configured in the 800xA system structures in same manner as all other 800xA objects. 800xA security protocols control batch objects and all other objects the same way. 800xA security provides a security definition by default. However, it is recommended that a more comprehensive security definition be established.

A security definition is established through the use of many aspects but the three most important aspects are security definition, batch cell definition, and batch equipment.

Security Definition Aspect

The security definition aspect links users to permissions. Nineteen permissions (by default) can be allowed or denied:• Administrate.• Approve.

Batch operator comment Events generated when a block comment is entered using the block status window. (audit event)

Batch operator schedule The person who scheduled the batch. (audit event)

Batch procedure exported Notification of snap shots of control recipes (at start, end, and edit points) being collected by PDL (if enabled)

Batch remote job schedule Events generated when the job schedule BMA block is executed. The event contains the information required to schedule a job on a remote node.

Batch resource transaction Events generated when equipment is acquired, released, reserved, unreserved, selected, and unselected.

Batch start log association and batch end log association

The time the data collection BMA starts and stops the collection of batch history data.

Batch tag change Changes to batch tag key data.

Table 7. Batch Categories (Continued)

Categories Description

Page 65: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Batch Cell Definition Aspect

3BUA000146R4101 65

• Batch configure.• Configure.• Create synchronization package.• Download.• Enter.• First signature.• Force I/O.• Load synchronization package.• Modify alarm hiding.• Modify history.• Operate.• Read.• Second signature.• Security configure.• Shutdown.• Supervise.• Tune.

This aspect establishes this linking for the object it is added to and all objects below it down to the next security definition aspect. Refer to the appropriate 800xA system security instruction for more information.

Batch Cell Definition Aspect

The batch cell definition aspect also links permissions to the batch operations that can be performed.

To change the permission required for an operation (for the whole batch system) controlled by the batch cell definition aspect:

1. Log on as an administrator (or other user that has access to the Aspect System Structure).

2. Select Aspect System Structure\Aspect System Structure, Aspect Category\Batch Management Procedures, Aspect System\Batch Cell, Aspect Type\Batch Cell Definition, Aspect Category\Aspect Category Definition.

3. Select the Permissions tab.

4. Select the operation. Table 8 describes the operations unique to the batch cell definition aspect.

Page 66: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Cell Definition Aspect Section 2 Description and Operation

66 3BUA000146R4101

Table 8. Batch-Specific Operations

Aspect Category Operation DescriptionDefault

Permission

Batch ID Edit Batch ID Pattern Change the pattern used to generate batch IDs for this procedure.

Configure

Edit Batch ID Sequence Number

Change the sequence number associated with this procedure.

Supervise

Batch cell definition BatchRT Delete Delete batches that have not yet been started.

Operate

BatchRT 2ndDelete Second approval to delete batches that have not yet been started.

Supervise

BatchRT Schedule Schedule batches. Operate

BatchRT 2ndSchedule Second approval to schedule batches.

Supervise

BatchRT Terminate Terminate batch execution. Operate

BatchRT 2ndTerminate Second approval to terminate batch execution.

Supervise

BatchRT ChangeMode_Auto Change batch or block execution mode to automatic.

Operate

BatchRT 2ndChangeMode_Auto

Second approval to change batch or block execution mode to automatic.

Supervise

BatchRT ChangeMode_Manual

Change batch or block execution mode to manual.

Operate

BatchRT 2ndChangeMode_Manual

Second approval to change batch or block execution mode to manual.

Supervise

Page 67: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Batch Cell Definition Aspect

3BUA000146R4101 67

Batch cell definition (continued)

BatchRT ChangeMode_SemiAuto

Change batch or block execution mode to semiautomatic.

Operate

BatchRT 2ndChangeMode_SemiAuto

Second approval to change batch or block execution mode to semiautomatic.

Supervise

BatchRT Abort Abort batch or block execution. Operate

BatchRT 2ndAbort Second approval to abort batch or block execution.

Supervise

BatchRT Continue Continue block execution. Operate

BatchRT 2ndContinue Second approval to continue block execution.

Supervise

BatchRT Hold Hold batch or block execution. Operate

BatchRT 2ndHold Second approval to hold batch or block execution.

Supervise

BatchRT Pause Pause batch or block execution.

Operate

BatchRT 2ndPause Second approval to pause batch or block execution.

Supervise

BatchRT Restart Restart batch or block execution.

Operate

BatchRT 2ndRestart Second approval to restart batch or block execution.

Supervise

BatchRT Resume Resume batch or block execution.

Operate

BatchRT 2ndResume Second approval to resume batch or block execution.

Supervise

Table 8. Batch-Specific Operations (Continued)

Aspect Category Operation DescriptionDefault

Permission

Page 68: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Cell Definition Aspect Section 2 Description and Operation

68 3BUA000146R4101

Batch cell definition (continued)

BatchRT Start Start block execution. Operate

BatchRT 2ndStart Second approval to start block execution.

Supervise

BatchRT Stop Stop batch or block execution. Operate

BatchRT 2ndStop Second approval to stop block execution.

Supervise

BatchRT ChangeParameter Change batch or block parameters.

Operate

BatchRT 2ndChangeParameter

Second approval to change batch or block parameters.

Supervise

BatchRT ChangePriority Change the priority of a batch. Operate

BatchRT 2ndChangePriority Second approval to change the priority of a batch.

Supervise

BatchRT ChangeVariable Change batch variable. Operate

BatchRT 2ndChangeVariable

Second approval to change batch variable.

Supervise

BatchRT ConfigureBMA Configure BMA and transition blocks.

Configure

BatchRT 2ndConfigureBMA Second approval to configure BMA and transition blocks.

Supervise

BatchRT EditPFC Runtime edit of procedure. Configure

BatchRT 2ndEditPFC Second approval to runtime edit a procedure.

Supervise

BatchRT PFCBlockComment

Enter first PFC block dialog comment.

Operate

Table 8. Batch-Specific Operations (Continued)

Aspect Category Operation DescriptionDefault

Permission

Page 69: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Batch Cell Definition Aspect

3BUA000146R4101 69

Batch cell definition (continued)

BatchRT 2ndPFCBlockComment

Enter second PFC block dialog comment.

Supervise

BatchRT PFCSOPComment Enter first PFC SOP comment. Operate

BatchRT 2ndPFCSOPComment

Enter second SOP comment. Supervise

BatchRT PickRestartPoint Pick restart points. Operate

BatchRT 2ndPickRestartPoint

Second approval to pick restart points.

Supervise

BatchRT ScheduleHistoryOptions

Change option on History Options tab of Miscellaneous Configuration aspect.

Operate

BatchRT 2ndScheduleHistoryOptions

2nd approval of change option on History Options tab of Miscellaneous Configuration aspect.

Supervise

BatchRT SetBreakPoints Set breakpoints on blocks. Operate

BatchRT 2ndSetBreakPoints Second approval to set breakpoints on blocks.

Supervise

BatchRT SkipBlocks Skip blocks. Operate

BatchRT 2ndSkipBlocks Second approval to skip blocks.

Supervise

BatchRT AccessMessage Respond to batch messages. Individual messages can also be restricted during BMA message configuration.

Operate

Table 8. Batch-Specific Operations (Continued)

Aspect Category Operation DescriptionDefault

Permission

Page 70: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Cell Definition Aspect Section 2 Description and Operation

70 3BUA000146R4101

Batch cell definition (continued)

BatchRT 2ndApproveMessage

Second approval of batch message. Individual messages can also be restricted during BMA message configuration.

Supervise

BatchRT Add Add a batch. Operate

BatchRT Engineer1 Batch runtime access level. Configure

BatchRT Engineer2

BatchRT Engineer3

BatchRT Operate1 Batch runtime access level. Operate

BatchRT Operate2

BatchRT Operate3

BatchRT Supervise1 Batch runtime access level. Supervise

BatchRT Supervise2

BatchRT Supervise3

BatchRT View View batch runtime activities from Batch Overview, PFCs, and status displays. Additional access to issue commands in accordance with other runtime functions is required.

Operate

Batch equipment BatchRT ReserveEquipment Change batch equipment status to reserved.

Operate

BatchRT 2ndReserveEquipment

Second approval to change batch equipment status to reserved.

Supervise

BatchRT ReleaseEquipment Change batch equipment status to released.

Operate

Table 8. Batch-Specific Operations (Continued)

Aspect Category Operation DescriptionDefault

Permission

Page 71: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Batch Cell Definition Aspect

3BUA000146R4101 71

Batch Equipment (continued)

BatchRT 2ndReleaseEquipment

Second approval to change batch equipment status to released.

Supervise

BatchRT DisableEquipment Change batch equipment status to disabled.

Operate

BatchRT 2ndDisableEquipment

Second approval to change batch equipment status to disabled.

Supervise

BatchRT EnableEquipment Change batch equipment status to enabled.

Operate

BatchRT 2ndEnableEquipment

Second approval to change batch equipment status to enabled.

Supervise

BatchRT DiscardEquipment Empties the pending batch list or queue.

Operate

BatchRT 2ndDiscardEquipment

Second approval to empty the pending batch list or queue.

Supervise

BatchRT ChangeEquipmentAttributes

Change batch equipment attributes.

Operate

BatchRT 2ndChangeEquipmentAttribute

Second approval to change batch equipment attributes.

Supervise

BatchRT ViewEquipment View equipment in the Equipment Overview window.

Operate

BatchRT Engineer1 Batch runtime access level. Configure

BatchRT Engineer2

BatchRT Engineer3

Table 8. Batch-Specific Operations (Continued)

Aspect Category Operation DescriptionDefault

Permission

Page 72: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Cell Definition Aspect Section 2 Description and Operation

72 3BUA000146R4101

Batch equipment (continued)

BatchRT Operate1 Batch runtime access level. Operate

BatchRT Operate2

BatchRT Operate3

BatchRT Supervise1 Batch runtime access level. Supervise

BatchRT Supervise2

BatchRT Supervise3

Modify Modify aspect in any way. Configure

Batch function Edit Function Edit the batch function. Configure

Batch history archive

Archive Batch History Archive the batch history. Administrate

Modify Modify aspect in any way. Configure

Batch history restore

Restore Batch History Restore the batch history. Administrate

Modify Modify aspect in any way. Configure

Development procedure and version procedure

Approve Procedure1 First approval of procedure. Operate

2ndApprove Procedure1 Second approval of procedure. Supervise

Edit Procedure Edit the procedure that has been copied to development.

Configure

Modify Modify aspect in any way. Configure2

Approved procedure Edit Procedure Edit the procedure that has been copied to development.

Configure

Modify Modify aspect in any way. Configure2

Table 8. Batch-Specific Operations (Continued)

Aspect Category Operation DescriptionDefault

Permission

Page 73: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Batch Equipment Aspect

3BUA000146R4101 73

5. Select the desired security permission in the Permissions field.

6. Click Apply.

If the Batch Management system is being operated with security enabled and the default security configuration has been changed so that the Library Structure is protected from access by nonprivileged users, use of the Default Batch Cell object located in that structure can cause problems since its permission access is determined by its location.

This problem can be avoided by not using the Default Batch Cell object or by placing the Default Batch Cell object under the control of another Security Definition aspect. For example, a Security Definition aspect with object scope could be placed on the Default Cell object itself. The Default Batch Cell object could also be inserted into another structure where Batch runtime operations are permitted.

Batch Equipment Aspect

The batch equipment aspect performs several functions. It identifies equipment as being batch enabled. Batch enabled means that the equipment can be acquired, selected, etc. by batch procedures. The phases that can be executed by this equipment are specified using this aspect. This aspect also links permissions to some of the batch operations that can be performed.

To change the permission required for an operation (for the whole batch system) controlled by the batch equipment aspect:

1. Log on as an administrator (or other user that has access to the Aspect System Structure).

Remaining Batch aspect categories

Modify Modify aspect in any way. Configure

NOTES: 1. Users must have permission to utilize the Modify operation in order to approve a procedure because the Name

aspect of the procedure is changed during the approval process.2. The default procedure configuration aspect has a default permission of Administrate.

Table 8. Batch-Specific Operations (Continued)

Aspect Category Operation DescriptionDefault

Permission

Page 74: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Other Aspects Section 2 Description and Operation

74 3BUA000146R4101

2. Select Aspect System Structure\Aspect System Structure, Aspect Category\Batch Management Equipment, Aspect System\Batch Equipment, Aspect Type\Batch Equipment, Aspect Category\Aspect Category Definition.

3. Select the Permissions tab.

4. Select the operation. Table 8 describes the operations.

5. Select the desired security permission in the Permissions field.

6. Click Apply.

Other Aspects

The Batch Cell Definition and Batch Equipment aspects are not the only aspects that link batch operations to permission. The following information lists all the aspects (located in the Aspect System Structure) used to define batch security.

Batch Management Equipment, Aspect SystemBatch Equipment, Aspect Type

Batch Equipment, Aspect CategoryBatch Phase, Aspect Type

Batch Phase, Aspect CategoryEquipment Group, Aspect Type

Equipment Group, Aspect Category

Batch Management Miscellaneous, Aspect SystemMiscellaneous Configuration, Aspect Type

Miscellaneous Configuration, Aspect Category

Batch Management Overviews, Aspect SystemBatch History Archive, Aspect Type

Batch History Archive, Aspect CategoryBatch History Information, Aspect Type

Batch History Information, Aspect CategoryBatch History Overview, Aspect Type

Batch History Overview, Aspect CategoryBatch History Restore, Aspect Type

Batch History Restore, Aspect CategoryBatch Information, Aspect Type

Batch Information, Aspect Category

Page 75: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Other Aspects

3BUA000146R4101 75

Batch Overview, Aspect TypeBatch Overview, Aspect Category

Batch PFC, Aspect TypeBatch PFC, Aspect Category

Batch Schedule, Aspect TypeBatch Schedule, Aspect Category

Block Status, Aspect TypeBlock Status, Aspect Category

Equipment Information, Aspect TypeEquipment Information, Aspect Category

Equipment Overview, Aspect TypeEquipment Overview, Aspect Category

PFC Header, Aspect TypePFC Header, Aspect Category

Batch Management Procedures, Aspect SystemBatch Cell, Aspect Type

Batch Cell Definition, Aspect CategoryBatch ID, Aspect Type

Batch ID, Aspect CategoryBatch Migration Tool, Aspect Type

Batch Migration Tool, Aspect CategoryDefault Procedure Configuration, Aspect Type

Default Procedure Configuration, Aspect CategoryProcedure Configuration, Aspect Type

Procedure Configuration, Aspect CategoryProcedure Xrefs, Aspect Type

Procedure Xrefs, Aspect CategoryProcedures Types, Aspect Type

Approved Procedure, Aspect CategoryDevelopment Procedure, Aspect CategoryVersion Procedure, Aspect Category

Procedures, Aspect TypeException Procedure, Aspect CategoryOperation, Aspect CategoryRecipe Procedure, Aspect CategoryUnit Procedure, Aspect Category

Page 76: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Permissions Tab Section 2 Description and Operation

76 3BUA000146R4101

Permissions Tab

The Permissions property tab of these aspects displays the batch specific operations, the security level required by each operation, and if the current user is allowed or denied each operation.

The data in this window is derived by comparing the aspect category definition aspect (cross-references batch operation to permissions) to the appropriate security definition aspect (defines the permissions granted to a user).

Examples

To better understand how these aspects work together, refer to Figure 15 and the following three examples.

Figure 15. Example Security Structure

Page 77: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Batch Operation Access Levels

3BUA000146R4101 77

Example 1

A user tries to schedule a batch procedure that executes in the Storage Tank A-B2-ST cell. The batch software compares the Batch Cell Definition aspect, Batch Equipment aspect, and security definition aspect of the storage tank object to determine what operations the user is allowed to execute.

Example 2

A user tries to release Mixing Unit 2 (part of the Mixing Units cell). The batch software compares the Batch Equipment aspect (on the Mixing Unit 2 object) with the Security Definition and Batch Cell Definition aspects (on the Mixing Units object) to determine what operations the user is allowed to execute.

Example 3

A user tries to abort a batch procedure executing in the Product Distribution Manifold A-B2-PD cell. The batch software compares the Batch Equipment and Batch Cell Definition aspects (on the Product Distribution Manifold A-B2-PD cell) to the nearest Security Definition aspect (found by looking up the tree structure) to determine what operations the user is allowed to execute. The Security Definition aspect on the Site A object would be used in this case.

Batch Operation Access Levels

There are times during procedure configuration and equipment definition when a batch operation (access level) must be specified. This operation controls who can answer a message, edit runtime recipe parameters, edit runtime equipment attributes, etc. Table 9 lists the batch operations and corresponding default permissions.

Table 9. Default Permissions

Batch Operations(Access Levels)

Permission

Operator Level 1 Operate

Operator Level 2 Operate

Page 78: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Special Batch Security Features Section 2 Description and Operation

78 3BUA000146R4101

Special Batch Security Features

Permission to Assign Phase Parameter Values

Access level assignments are made in several stages of configuration of the system. These determine who has permission to assign phase parameter values. Table 10 describes the permissions assigned during each stage of configuration.

Permission to Change Procedure Parameters

Procedure parameters are created during procedure configuration as described in Section 5, Procedures. During configuration a procedure parameter can be specified as public or private. Only public parameters will be displayed at run time and can have their values changed. The access level assigned to the parameters and the access level assigned to a public procedure parameter determine the access level needed to change the value when a procedure is scheduled using the pop-up window opened via the Parameters button in the Batch Schedule window. Permission to add a batch using the batch scheduler and therefore, to access this window, is determined by the access level specified for the operator and the level required to add a batch. An operator with the proper access level can assign a different value to the procedure parameter when scheduling the batch, and assign an access level

Operator Level 3 Operate

Engineer Level 1 Configure

Engineer Level 2 Configure

Engineer Level 3 Configure

Supervisor Level 1 Supervise

Supervisor Level 2 Supervise

Supervisor Level 3 Supervise

Table 9. Default Permissions (Continued)

Batch Operations(Access Levels)

Permission

Page 79: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Special Batch Security Features

3BUA000146R4101 79

Table 10. Configuration Stage/Permissions Interaction

Configuration Stage

Description

Login account access levels

First, access level assignments made when login accounts are configured determine who can perform the activities related to flexible batch processing during which phase parameter values are assigned.

Equipment database configuration

Permission to assign phase parameter values is also affected by configuration of the equipment database. Phase parameters associated with each phase are specified. Among the characteristics that can be configured for each phase parameter is the default value. The value of a phase parameter can be changed from the default during configuration of a procedure using the phase and, under some circumstances, when a batch is scheduled and run. During configuration of a phase parameter in the equipment database, an access level is assigned. This is the minimum access level necessary to change the parameter value at run time.

Procedure configuration

During procedure configuration, the value of a phase parameter to be used in a particular procedure can be changed from the default assigned in the equipment database. In addition, during procedure configuration the access level needed to change the value of the parameter after a batch has been scheduled (but before the instructions to run the phase have been sent to the controller by the batch manager) is specified. The access level can also be changed to No Access, preventing any further changes to the value.

Scheduled batch When a batch is scheduled to be run as described in the Batch Management Operation instruction, the Parameters button in the Batch Schedule window opens a window containing procedure parameters associated with the procedure, not phase parameters. However, access to the phase parameters used by a phase in the procedure is available through the block status window for the phase object in the PFC. An operator who has the access level that is assigned to the parameter and as that assigned to the phase parameter during configuration of the procedure can use the Batch Parameters window (accessed using Parameters in the block status window) to assign a different value to the phase parameter, and to specify a new access level needed by an operator to change the value again. It is also possible to change the level to No Access, preventing further changes.

NOTE: No Access literally means no further access by anyone including the person who changed the level to No Access.

Page 80: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Process and Batch Cells Section 2 Description and Operation

80 3BUA000146R4101

(different than the default) needed to make a further change to the procedure parameters value.

Once the batch has been scheduled, but before it runs, an operator whose access includes the required access level for the parameter and for the procedure parameters can use the pop-up window opened by the Parameters button on the batch status window to change the value of the procedure parameter to a value associated only with that batch ID. At this stage the access level needed to make a further change to the procedure parameter value can also be changed.

Any change made to a parameter value at run time applies to only the current batch. Any changes made at run time do not affect the master recipe.

Process and Batch Cells

Whether an operator can schedule and run a batch using a particular procedure depends on two things:

1. Which batch cells (if any) were specified when the top level procedure was configured.

2. Which batch cells can be accessed by the operator.

When a procedure is configured in the procedure database, the procedure can be assigned to one or more batch cells. If the procedure is assigned to one or more batch cells, then only operators that can access at least one matching cell will even see the procedure on the list of available procedures when they schedule a batch.

The batch overview showing what batches are scheduled, active, and completed will also be filtered on the basis of batch cells that can be accessed by the operator.

Batch cells can be congruent with process cells. However, batch cells do not necessarily have to coincide with process cells.

It is possible to use the procedure parameter access level assignment feature to specify No Access. This literally means no further access to anyone including the person who changed the level to No Access.

Page 81: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Process and Batch Cells

3BUA000146R4101 81

Batch Management cells can be assigned on some basis other than 800xA cells because they are used by the products for different purposes. Batch Management uses cells for security administration.

When an operator schedules a batch, the Batch Schedule window includes a Batch Cell drop-down box used to specify the batch cells (if more than one is applicable for the procedure) to be associated with this batch.

If a procedure has more than one batch cell associated with it, but the operator accessible cells do not match all of them, only the matches will be available. For example, Chicken_Soup was assigned to Batch Cells 62, 63, and 64. If an operator’s Account Cells are 2, 3, 4, and 62, then only 62 can be selected in the Batch Schedule window at a workstation where the operator is logged in.

The batch cell associated with a batch is included in the information in the Batch Overview window.

Batch Cell Unrelated to Equipment Used

The batch cell specified when a batch is scheduled does not have any effect on the equipment used for a batch. The equipment used for a batch depends on the procedure.

If the configurer wants the resources used to run a batch to be in a single process cell, the procedure should be configured to use specifically named equipment units or SEMs in that cell (or from particular equipment groups containing resources limited to that cell). Then the batch cell is considered to be congruent with the process cell.

However, the equipment used can be selected automatically by the batch manager on the basis of attributes configured in the equipment database and in the procedure. In this case, the batch manager will use any available equipment that meets the configured criteria, regardless of the equipment location in the plant.

The batch manager only looks at the batch cells associated with the top level PFC for Chicken_Soup. If Chicken_Soup includes a subprocedure Cool_Down, it does not matter what batch cells were specified for Cool_Down during configuration. An operator’s accessible cells only have to match the batch cell associated with the top level procedure Chicken_Soup.

Page 82: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Authentication Section 2 Description and Operation

82 3BUA000146R4101

Procedures Not Associated with Any Batch Cell

During procedure configuration, specifying one or more batch cells for the procedure is optional. When an operator schedules a batch using a procedure for which no batch cells were specified during configuration, the batch manager will check the default batch cell assigned using the Default Procedure Configuration window to verify the operator has permission there. If the operator does not have permission in the default batch cell, the procedure will instead default to the first cell to which the operator has access. This default batch cell will be displayed in the Batch Schedule window Batch Cell box.

Authentication

It is possible to configure the batch system to require one or two approvals before certain operations are performed. Table 11 lists the operations that can be configured to require approvals.

The batch cell can be changed when the batch is scheduled. The operator is permitted to change the cell selection during scheduling of the batch.

Table 11. Operations Supporting Authentication

Operation Aspect Category Aspect

Delete command Batch cell authentication Batch cell authentication

Schedule command

Terminate command

Change mode automatic

Change mode manual

Change mode semiautomatic

Abort command

Page 83: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Authentication

3BUA000146R4101 83

Continue command Batch cell authentication (continued)

Batch cell authentication (continued)

Hold command

Pause command

Restart command

Resume command

Start command

Stop command

Change parameter

Change priority

Change variable

Configure BMA

Edit PFC

PFC block comment

PFC SOP comment

Pick restart point

Schedule history options

Set breakpoints

Skip blocks

Reserve equipment Batch equipment Equipment authentication

Release equipment

Disable equipment

Enable equipment

Discard equipment

Table 11. Operations Supporting Authentication (Continued)

Operation Aspect Category Aspect

Page 84: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Authentication Section 2 Description and Operation

84 3BUA000146R4101

The Approve Change operation_name window is displayed when an operation configured to require a first approval is attempted. The first approval name and password should be that of the currently logged-on user. Enter the appropriate user ID and password, reason for change, and approval comments (if desired). Figure 16 shows an example of the Approve Change operation_name window displayed when attempting an operation configured to require a first and second approval.

To configure an operation to require approvals:

1. Select the aspect containing the operation:

– Aspect System Structure\Batch Management Procedures\Batch Cell\Batch Cell Definition\Batch Cell Authentication.

– Aspect System Structure\Batch Management Equipment\Batch Equipment\Batch Equipment\Equipment Authentication.

– Aspect System Structure\Batch Management Procedures\Procedure Types\Development Procedure\Development Procedure Authentication.

– Aspect System Structure\Batch Management Procedures\Procedure Types\Version Procedure\Version Procedure Authentication.

2. Enable the first or first and second authentication options.

3. Click Apply.

Change equipment attribute Batch equipment (continued)

Equipment authentication (continued)

Approve procedure Development procedure Development procedure authentication

Approve procedure Version procedure Version procedure authentication

Table 11. Operations Supporting Authentication (Continued)

Operation Aspect Category Aspect

Page 85: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 2 Description and Operation Authentication

3BUA000146R4101 85

TC05138A

Figure 16. Example Approve Change Window

Page 86: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 87: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 87

Section 3 Equipment Configuration (BatchAdvanced Templates)

IntroductionThis section describes the configuration of Batch Management equipment using batch advanced templates control modules:• PhaseTemplate.• SharedEquipmentModuleTemplate.• UnitTemplate.

OverviewEquipment configuration consists of:• Creating phase module types.• Defining phase module type logic and parameters.• Creating batch equipment control module types.• Defining batch equipment control module type logic and attributes.• Creating instances of the types.

Creation of equipment phase and unit logic is performed using a controller specific application. Batch Management is used to define plant equipment, equipment attributes, phases, phase parameters, and to assign phases to equipment. Workstations used to configure batch equipment must contain the Control Builder M Professional function.

Phase TypesPhases are created so that procedure developers need only specify a phase name and set the parameters for phases that they need to execute. They do not need to know

Page 88: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Phase Types Section 3 Equipment Configuration (Batch Advanced Templates)

88 3BUA000146R4101

the details of how the phase works or how it can work differently on the different pieces of equipment it is assigned to work on.

To create and configure (in a library) the phase types used by procedure developers:

1. Create a new project (if it does not already exist):

a. Open the 800xA plant explorer workplace.

b. Select the Control Structure in the plant explorer workplace.

c. Right click the object that will contain the control network which in turn will contain the Control Builder project.

d. Select New Object on the pop-up menu.

e. Enable the List Presentation option in the New Object window.

f. Select Control Network as the object type.

g. Enter the name and, if desired, description of the object.

h. Click Create.

i. Select the newly created control network.

j. Select the OPC Data Source Definition aspect.

k. Click New.

l. Click Add in the New Service Group window.

m. Select the desired OPC server node in the Add Service Provider window.

n. Click OK.

o. Click OK in the New Service Group window.

p. Click Apply.

q. Right click the newly created control network.

r. Select New Object in the pop-up menu.

s. Select the desired project type as the object type.

Step c through Step p are not necessary if the control network already exists and is configured to use the appropriate OPC® server node.

Page 89: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Phase Types

3BUA000146R4101 89

t. Enter the name (spaces not permitted) and, if desired, description of the object.

u. Click Create.

v. Select the Project aspect of the newly created control project.

w. Select the Libraries tab.

x. Click Insert.

y. Select Object Types\Control System, Object Type Group\AC 800M/C Connect, Control Type Group\Libraries, Library Group\BatchAdvTemplatesLib x.x/x, Library Version.

z. Click OK.

2. Create a custom library:

a. Right click Libraries in the Control Builder M Professional window.

b. Select New Library on the pop-up menu.

c. Enter a name for the custom library being created.

d. Click OK.

e. Right click Connected Libraries located under the custom library.

f. Select Connect Library on the pop-up menu.

g. Select ProduceITBatchLib in the Connect Library window.

h. Click OK.

i. Repeat Step e through Step h for the BasicLib, BatchAdvTemplatesLib, IconLib, MMSComLib, and AlarmEventLib libraries.

3. Create the necessary phase types:

a. Right click Libraries\BatchAdvTemplatesLib x.x/x\Control Module Types\PhaseTemplate (Batch Phase).

b. Select Copy on the pop-up menu.

c. Right click Control Module Types within the custom library.

Templates can be copied into an application or library.

Page 90: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Phase Types Section 3 Equipment Configuration (Batch Advanced Templates)

90 3BUA000146R4101

d. Select Paste on the pop-up menu.

e. Right click the newly pasted PhaseTemplate (Batch Phase) object.

f. Select Rename on the pop-up menu.

g. Enter a unique name for the phase type.

h. Click OK.

i. Select the Batch Phase aspect of the newly pasted batch phase object in the plant explorer workplace (Object Type Structure\Object Types\Control System\AC 800M/C Connect\Libraries\user_library_name\Control Module Types).

j. Select the General sheet.

k. Edit the Short Name field to contain an abbreviated name of the batch phase. This name is combined with the Unit Instance Name and used during the automatic generation of batch parameter variables, batch attribute variables, alarm source names, etc. The combined name is limited to a maximum of 30 characters.

l. Enable the Private option if the phase is to be available to a piece of equipment only (not available to procedure developers). Leave this option disabled to allow execution of the phase by procedure developers.

m. Enable the Application Accessible option to allow applications running the controller to execute this phase. Leave this option disabled to prevent controller applications from executing this when the Private option is enabled.

n. Enable the Start Only If Normal option to ensure that the phase will start only if the batch equipment is not in an exception condition. Leave this option disabled to allow the phase to start regardless of the batch equipment condition.

o. Select the Parameters sheet.

p. Use the insert a new phase parameter button to add and configure all the phase parameters for this phase. Refer to Figure 17. Table 12 describes the parameter fields.

q. Click the save button.

Page 91: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Phase Types

3BUA000146R4101 91

TC05267B

Figure 17. Phase Parameter Configuration

Table 12. Phase Parameter Fields

Field Description

Name Defines the name of the parameter. Do not use Control Builder data type names in parameter names.

Local Parameter name becomes the phase control module variable name which is limited to a maximum of 30 characters.

Non-local Parameter name is combined with the phase name to create the phase control module parameter name which is limited to a maximum of 30 characters.

Description Detailed description of the parameter.

Type The three types are text, float, and integer. Text types are either unconstrained or constrained. Unconstrained means that any text can be entered into the Value field. Constrained means that data entered in the Constraints field will determine what value can be entered for this parameter. It is used when it is necessary to limit the potential values available.

Page 92: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Phase Types Section 3 Equipment Configuration (Batch Advanced Templates)

92 3BUA000146R4101

The order in which the parameters are displayed on the Parameter sheet can be changed by selecting the parameters to be moved and dragging them to the desired

Direction The three directions are in, out, and in/out:

The in direction identifies a parameter that receives a value from Batch Management when the phase starts.

The out direction identifies a parameter that does not receive a value from Batch Management. Batch Management retrieves the value of the OutValue variable at phase completion and sends this value to the PDL database.

The in/out direction identifies a parameter that receives a value from Batch Management when the phase starts. Batch Management retrieves the value of the OutValue variable at phase completion and sends both the parameter starting value (provided by Batch Management) and final value of the OutValue variable to the PDL database. Refer to Output Parameters on page 51 for more information about the out and in/out directions.

Local Determines if the parameter becomes a variable of the phase control module (enabled) or a parameter of the phase control module and a variable of the unit control module (disabled). A nonlocal parameter is used when the unit or other phases of the unit need to use the parameter value.

Default value Defines the default value. If constraints are going to be used, configure them first and then use the pull-down menu in this field to select the appropriate default value.

Low Low limit parameter. Mandatory entry when using float and integer types.

High High limit parameter. Mandatory entry when using float and integer types.

Eng. Units Defines the measurement units (lbs, secs, etc.).

Access level Defines the default runtime access level for the parameter used during batch run time.

Constraints Displays the constraint list for text type parameters. Separate value by commas and use “space” for blank spaces. Leave this field empty for unconstrained text types.

Table 12. Phase Parameter Fields (Continued)

Field Description

Page 93: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Phase Types

3BUA000146R4101 93

location within the list. While dragging, a red line indicates the location to which the parameters will be moved.

Phase parameter data can be copied (from an Excel spreadsheet, another phase, etc.) to the phase parameters sheet. If no parameters currently exist in the phase or none of the existing parameters are to be overwritten and the copied parameters names do not currently exist on the phase parameters sheet, the copied data is added onto the phase parameters sheet. However, parameters can’t be pasted directly onto the phase parameters sheet. It is necessary to create blank rows and then paste the parameters into the blank rows.

The Equipment sheet will show all the equipment that this phase applies to. Refer to Figure 18. Only after the phases are assigned to the equipment will this sheet display information.

4. Deploy the Graphic Element aspect (if required):

TC04422A

Figure 18. Procedure Phase - Associated Equipment

Page 94: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Equipment Phase Logic Section 3 Equipment Configuration (Batch Advanced Templates)

94 3BUA000146R4101

Equipment Phase LogicControl logic in the controller that defines how a task is performed by a piece of equipment is called equipment phase logic. This logic may use control module parameters, phase parameters, or both to accomplish the task. These parameters are set to the values configured in the equipment phase when the phase is executed.

Equipment phase logic is developed, tested, and downloaded from a controller specific application. This application also puts equipment phase data into the appropriate 800xA structure. The control structure is used by AC 800M/C controllers.

To define equipment phase logic:

1. Right click the custom phase type (Object Type Structure\Object Types\Control System\AC 800M/C Connect\Libraries\user_library_name\Control Module Types) in the Control Builder M Professional window.

2. Select Editor on the pop-up menu. The logic editor window (Figure 19) is displayed.

TC05340A

Figure 19. Logic Editor Window

Page 95: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Batch Equipment

3BUA000146R4101 95

3. Configure the phase type logic as desired.

4. Save the phase type.

Batch EquipmentBatch enabled equipment that will execute equipment phase logic must have the equipment phase assigned to it. All the equipment phases that can be executed on a piece of equipment must be assigned to that equipment.

The following procedure describes how to use a unit control module template to created a unit control module type. The procedure to use shared equipment module templates to create shared equipment module types is similar to this procedure except for the additional steps required to utilize the shared equipment communication modules. Refer to Shared Equipment Communication Modules on page 99 for more information.

To create and configure a unit control module type:

1. Right click Libraries\BatchAdvTemplatesLib x.x/x\Control Module Types\UnitTemplate (Batch Unit) in the Control Builder M Professional window.

2. Select Copy on the pop-up menu.

3. Right click Control Module Types within the custom library.

4. Select Paste on the pop-up menu.

5. Right click the newly copied UnitTemplate (Batch Unit) object.

6. Select Rename on the pop-up menu.

7. Enter a unique name for the type.

8. Click OK.

9. Select the Batch Equipment aspect of the renamed batch unit object (Object Type Structure\Object Types\Control System, Object Type Group\AC 800M/C Connect, Control Type Group\Libraries, Library Group\custom_library_name

All parameters and variables whose name contains the _b prefix have been created by Batch Management for internal use and should not be edited in any way.

Page 96: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Equipment Section 3 Equipment Configuration (Batch Advanced Templates)

96 3BUA000146R4101

1.0/0, Library Version\Control Module Types, Control Module Types\batch_unit_name, Batch Unit Control Module Type) in the 800xA plant explorer workplace.

10. Select the General sheet.

11. Configure the appropriate properties. Table 13 describes each property.

12. If desired, enter equipment attribute data on the Equipment Attribute sheet. Table 14 describes each attribute.

13. Click the save button.

The order in which the attributes are displayed in the Equipment Attributes sheet can be changed by selecting the attributes to be moved and dragging them

Table 13. Equipment Properties

Property Description

Controller type Specifies the type of controller controlling the equipment. Available types are:

AC 800M/C Advanced - AC 800M/C controller and batch advanced templates control modules are being used. This type will be the only available controller type. Refer to Section 4, Equipment Configuration (EPT Control Modules) for more information about using the other controller types.

AC 800M/C - AC 800M/C controller and EPT control modules are being used.

None (Pseudo) - The equipment is not enabled to run phases. This type is used to represent a resource that is to be acquired by the batch manager but does not run phases.

OPC (Function Phase Driver) - A custom phase driver will connect the phase to the OPC data.

Shared Specifies if the equipment can be acquired by multiple batches at the same time. Created by adding a shared equipment module control module from the BatchAdvTemplatesLib library.

Maximum users Specifies the maximum number of batches that can simultaneously acquire the equipment. The shared property must be enabled.

Page 97: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Batch Equipment

3BUA000146R4101 97

Table 14. Equipment Attribute Fields

Field Description

Name Defines the name of the attribute (30 characters maximum). Do not use Control Builder data type names in attribute names.

Description Detailed description of the attribute.

Type The four types are text, float, integer, and OPC data point. Text types are either unconstrained or constrained. Unconstrained means that any text can be entered into the Value field. Constrained means that data entered in the Constraints field will determine what value can be entered for this attribute. It is used when it is necessary to limit the potential values available. OPC data point is a reference to an OPC item. When used inside a batch equipment, the OPC data point is unit relative.

In Controller Determines if a control module representing the attribute is added to the unit object (enabled) or the attribute data is kept in the batch database (disabled).

Constant Makes an In Controller attribute not editable (enabled) or editable (disabled) from the batch manager.

Default value Defines the default value. The default value of an OPC data point is a path to a selectable OPC item. If constraints are going to be used, configure them first and then use the pull-down menu in this field to select the appropriate default value.

Low Low limit attribute. Mandatory entry when using float and integer types.

High High limit attribute. Mandatory entry when using float and integer types.

Eng. Units Defines the measurement units (lbs, secs, etc.).

Access level Defines the runtime access level for the attribute. The access level of no access is used to define read-only attributes. Other access levels are used to configure the lowest access level an operator can have and be permitted to change the attributes at run time. The batch manager has the highest access level. Therefore, a recipe can write to any equipment attribute that has an access level other than no access (using the unitattput and unitattputs functions). The default value defined in the equipment database does not change.

Constraints Displays the constraint list for text type attribute.

Page 98: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Equipment Section 3 Equipment Configuration (Batch Advanced Templates)

98 3BUA000146R4101

to the desired location within the list. While dragging, a red line indicates the location to which the attributes will be moved.

14. Click the insert a new equipment phase button.

15. Select the phase type to associate with the unit type in the Phase to Insert window.

16. Click OK.

17. If desired, edit the Phase Alias field. The default value of this field is the name of the phase control module type. When the phase alias is saved, it will be the Control Builder name of the phase. The phase alias is also used by the procedure editor to create the list of possible phases that can execute on a piece of equipment.

18. Click the save changes button.

19. Repeat Step 14 through Step 18 for each phase type that is to be associated with the unit type.

20. Right click the unit type in the Control Builder M Professional window.

21. Select Editor on the pop-up menu.

22. Configure the unit type logic as desired.

23. Save the unit type.

24. To display attribute information (for up to 10 attributes) on the Attributes tab:

a. Right click the Attributes faceplate element aspect of the unit control module object.

b. Select Edit on the pop-up menu.

c. Select the object that represents the attribute in the right side of the Element Browser window.

d. Select InputElement on the right side of the window.

e. Click Add Element.

f. Move the highlighted object to the desired location on the Attributes tab.

g. Repeat Step c through Step f for the remaining attributes.

Page 99: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Shared Equipment

3BUA000146R4101 99

h. Select File > Save to save the faceplate information.

i. Exit the graphic builder window.

25. Deploy the Attributes and Graphic Element (if required) aspects.

Shared Equipment Communication ModulesThe total number of BatchCommServer (one per shared equipment type) and BatchCommServerExt control modules on a shared equipment type should be equal to the number specified in the Maximum Users equipment property.

Add a BatchConnect control module to the control modules that request data from the shared equipment type. Configure the parameters of the BatchConnect control modules to communicate with the BatchCommServer control module supplying the data. Refer to the BatchAdvTemplatesLib library help file for more detailed information about these control modules.

Equipment LogicControl logic in the equipment that defines how a task is performed by a piece of equipment is called equipment logic. This logic may use control module parameters, equipment attributes, or both to accomplish the task. These parameters are set to the values configured in the equipment.

Equipment logic is developed, tested, and downloaded from a controller specific application. This application also puts equipment data into the appropriate 800xA structure. The control structure is used by AC 800M/C controllers.

To define equipment logic:

1. Right click the custom equipment type (Object Type Structure\Object Types\Control System\AC 800M/C Connect\Libraries\user_library_name \Control Module Types) in the Control Builder M Professional window.

2. Select Editor on the pop-up menu. The logic editor window (Figure 20) is displayed.

Customer control logic should be configured so that if a connect operation fails, it will be retried up to two more times. One second should separate the connect operations.

Page 100: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Equipment Logic Section 3 Equipment Configuration (Batch Advanced Templates)

100 3BUA000146R4101

3. Configure the equipment type logic as desired.

4. Save the equipment type.

All parameters and variables whose name contains the _b prefix have been created by Batch Management for internal use and should not be edited in any way.

TC05384A

Figure 20. Logic Editor Window

Page 101: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Control Module Instances

3BUA000146R4101 101

Control Module InstancesInstances of the control module types to be used must be added to an application within the Control Builder project.

To add the first application to the Control Builder project, rename the default application with a unique name.

To add other applications (second, third, etc.) to the Control Builder project:

1. Right click Applications in the Control Builder M Professional window.

2. Select New Application on the pop-up menu.

3. Enter a unique name for the application in the New Application window.

4. Click OK.

To connect libraries to an application contained within a Control Builder project:

1. Right click application_name, 1.0/0\Connected Libraries.

2. Select Connect Library on the pop-up menu.

3. Select the ProduceITBatchLib library in the Connect Library window.

4. Click OK.

5. Repeat Step 1 through Step 4 for the BasicLib, BatchAdvTemplatesLib, IconLib, MMSComLib, and AlarmEventLib libraries.

To add an instance of a control module type to an application:

1. Right click Control Modules within the application in the Control Builder M Professional window.

2. Select New Control Module on the pop-up menu.

3. Select the application or library containing the control module type (from which the instance is to be created) in the New Control Module window (Figure 21).

4. Select the control module type.

5. Enter a unique name for the control module instance in the Instance Name field.

Page 102: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Tasks Section 3 Equipment Configuration (Batch Advanced Templates)

102 3BUA000146R4101

6. Enable the Connect Parameters option.

7. Click OK.

8. If the Connect Parameters option was enabled, connect each parameter by specifying a variable, parameter, or text in the Parameter column of the Connections window (Figure 22). If the Connect Parameters option was not enabled, proceed to Step 10.

9. If desired, select Editor > Check to verify that the Parameter column information is correct. Results of the check function are listed at the bottom of the window.

10. Select Editor > Save to check and save the control module instance.

TasksA task must be assigned to every application in the project. The project will not download correctly if a task is not assigned to each application.

TC05178A

Figure 21. New Control Module Window

Disabling the Connect Parameters option allows parameters to be connected at a later time by right clicking the control module instance and selecting Connections on the pop-up menu.

Page 103: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Controller Settings

3BUA000146R4101 103

Controller Settings

Two parameters in every controller utilizing the ProduceITBatchLib library must have its buffer configured to support the large string events generated by Batch Management. To access the AE Max no of Named Value items and AE Max percent of log strings parameters:

1. Select Tools > Offline in the Control Builder M Professional window.

2. Right click the CPU of the controller.

3. Select Editor from the pop-up menu.

4. Select the Settings sheet.

TC05179A

Figure 22. Connections Window

Page 104: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

AE Max No of Named Value ItemsSection 3 Equipment Configuration (Batch Advanced Templates)

104 3BUA000146R4101

AE Max No of Named Value Items

The desired result from the queue should be determined before the value of this field can be calculated. For example, a plant that only needs to prevent the loss of events when the input rate of events to the queue exceeds the output rate of the queue (in the case of bursts of events) would need a relatively small queue. A plant that cannot lose events would need a larger queue to handle the bursts of events and prevent the loss of events due to the short term loss of a server.

The events that contribute named value items to this queue are:

• Phase start and phase complete events (Number of named value items per event = 2 + number of phase parameters).

• Phase level state change events (Number of named value items per event = 3).

• Unit level state change events (Number of named value items per event = 3 + (3 * number of phases in the unit)).

• Events generated by Data To Simple Event function codes. The configuration of these function codes will determine the number of named value items required by these function codes.

The following information needs to be added after the AE Max Percent of Log Strings topic:

Actual Memory Allocation

The total amount of memory allocated to the buffers that handle named value items is calculated by adding

(AE Max No of Named Value Items * 170 * AE Max Percent of Log Strings)/100

and

(AE Max No of Named Value Items * 100 * (100 - AE Max Percent of Log Strings))/100

and then dividing the sum by

(AE Max Number of Event Subscriptions + AE Max No of Local Printer Event Queue)

Page 105: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates)AE Max No of Named Value Items

3BUA000146R4101 105

Example Calculation

Assume a controller contains five units, the maximum number of phases that are active simultaneously in any one unit is three, and each phase has 10 parameters. Each phase has one phase start and one phase complete state change. Also assume that the maximum number of events (Batch Management issued phase starts, operator issued commands, units acquired, units set to running, etc.) generated by an object (units and phases) is one per state change.

• 5 units.

• 3 simultaneous active phases per unit (maximum).

• 5 possible unit state change events * (3 * phases + 3) = 60 named value items.

• 15 possible phase change events * 3 = 45 named value items.

• 2 phase starts/completes per phase = 2 * (2 + 10 parameters) = 24 named value items.

In this example, Batch Management commands all objects to change state about every 60 seconds and a minimum of 10 minutes of event buffering is desired.• 60 items + 45 items + 24 items = 129 items.• 129 items * (600 secs/60 secs) = 1290 items.• Maximum possible named value items in 10 minutes = 1290.

Assume that about 40 percent (AE Max Percent of Log Strings value) of the items return string information while the remaining 60 percent returns numeric information. Also, the AE Max Number of Event Subscriptions value is two and the AE Max No of Local Printer Event Queues value is one. The actual controller memory allocated is:

(1290 named value items * 170 bytes/item * 40)/100 = 87.72 kilobytes

(1290 named value items * 100 bytes/item * (100 - 40))/100 = 77.4 kilobytes

87.72 kilobytes + 77.4 kilobytes = 165.12 kilobytes

2 (event subscriptions) + 1 (local printer event queues) = 3 total queues

Total memory allocated = 3 queues * 165.12 kilobytes = 495.36 kilobytes

Page 106: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

AE Max Percent of Log Strings Section 3 Equipment Configuration (Batch Advanced Templates)

106 3BUA000146R4101

AE Max Percent of Log Strings

The recommended minimum value for this parameters is 40 percent. Add up the total number of string phase parameters used in the maximum number of active phases in the controller to determine the actual percentage value.

Download ProjectDownload the Control Builder project to the desired controller by selecting Tools > Download and Go Online in the Control Builder M Professional window.

Equipment GroupsEquipment groups are a convenient way to organize equipment. These groups make it easier to create the member lists associated with equipment list type parameters. Refer to Equipment List Type Parameters on page 163 for more information.

To create a new equipment groups object:

1. Select the Equipment Structure in the plant explorer workplace.

2. Right click the object (or the background to select the root) that will contain the equipment groups object.

3. Select New Object from the pop-up menu.

4. Select Equipment Groups in the New Object window.

5. Enter the name and, if desired, description for the object.

6. Click Create.

To create an equipment group object:

1. Right click the equipment groups object that will contain the equipment group object.

2. Select New Object from the pop-up menu.

3. Select Equipment Group.

4. Enter a name and, if desired, description for the object.

5. Click Create.

Page 107: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 3 Equipment Configuration (Batch Advanced Templates) Equipment Groups

3BUA000146R4101 107

To configure an equipment group object:

1. Select the equipment group object.

2. Select the equipment group aspect.

3. Use the buttons to move batch enabled equipment from the Available Equipment area to the Equipment In Group area. Refer to Figure 23.

4. Click Apply.

TC04580A

Figure 23. Equipment Group Window

Page 108: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 109: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 109

Section 4 Equipment Configuration (EPTControl Modules)

IntroductionThis section describes the configuration of Batch Management equipment using EPT (equipment procedure template) control modules.

OverviewEquipment configuration consists of:

• Creating equipment phase logic (control logic that defines how a task is performed by a piece of equipment) in controllers.

• Defining phases for equipment configuration.

• Defining plant equipment (and associated attributes).

• Assigning to equipment all the phases that it can execute.

Creation of equipment phase logic is performed using a controller specific application. Batch Management is used to define plant equipment, equipment attributes, phases, phase parameters, and to assign phases to equipment.

Equipment Phase LogicControl logic in the controller that defines how a task is performed by a piece of equipment is called equipment phase logic. This logic utilizes certain parameters to accomplish the task. These parameters are set to the values configured into the recipe phase when the phase is executed.

Page 110: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Phases Section 4 Equipment Configuration (EPT Control Modules)

110 3BUA000146R4101

Equipment phase logic is developed, tested, and downloaded from a controller specific application. This application also puts equipment phase data into the appropriate 800xA structure. The Control Structure is used by AC 800M/C controllers.

PhasesPhases are created so that procedure developers need only specify a phase name and set the parameters for phases that they need to execute. They do not need to know the details of how the phase works or how it can work differently on the different pieces of equipment it is assigned to work on.

To configure the phases used by procedure developers:

1. Create the required phases under a phases object in the Procedure Structure.

2. Select a phase.

3. On the Parameters sheet, use the insert a new phase parameter button to add and configure all the phase parameters for this phase. Refer to Figure 24. Table 15 describes the parameter fields.

4. Click the save button.

5. Repeat Step 2 through Step 4 for each procedure phase.

The order in which the parameters are displayed on the Parameter sheet can be changed by selecting the parameters to be moved and dragging them to the desired location within the list. While dragging, a red line indicates the location to which the parameters will be moved.

Phase parameter data can be copied (from an Excel spreadsheet, another phase, etc.) to the recipe phase parameters sheet. If no parameters currently exist in the phase or none of the existing parameters are to be overwritten and the copied parameters names do not currently exist on the phase parameters sheet, the copied data is added onto the phase parameters sheet. If parameters in the phase are to be overwritten, three conditions could result.

The name used to create the recipe phase does not need to be the name to be used by procedure developers. The phase alias (configured in the equipment phase) is the name used by the procedure developers.

Page 111: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 4 Equipment Configuration (EPT Control Modules) Phases

3BUA000146R4101 111

TC04423A

Figure 24. Phase Parameter Configuration

Table 15. Phase Parameter Fields

Field Description

Name Defines the name of the parameter.

Description Detailed description of the parameter.

Type The three types are text, float, and integer. Text types are either unconstrained or constrained. Unconstrained means that any text can be entered into the Value field. Constrained means that data entered in the Constraints field will determine what value can be entered for this parameter. It is used when it is necessary to limit the potential values available.

Default value Defines the default value.

Low Low limit parameter. Mandatory entry when using float and integer types.

High High limit parameter. Mandatory entry when using float and integer types.

Eng. Units Defines the measurement units (lbs, secs, etc.).

Page 112: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Phases Section 4 Equipment Configuration (EPT Control Modules)

112 3BUA000146R4101

One condition is that the copied parameter data does not include parameter names or all included parameter names do not match any of the parameter names currently on the phase parameters sheet. In this case, the phase parameters sheet data is overwritten with the copied data.

The second condition is that the row order (based on name) of the copied parameter data is identical to the row order of the data to be overwritten on the phase parameters sheet. In this case, the phase parameters sheet data is overwritten with the copied data.

The third condition is that at least one of the phase parameter names in the copied data currently exists on the phase parameters sheet in a row other than the one to which it is being copied. In this case, a window displays a warning stating that phase parameter names (on the phase parameters sheet) will be renamed (not moved) if the paste operation is allowed to continue.

In most instances, the recommended response to this prompt is to:

1. Click No to abort the paste operation.

2. Move the rows on the phase parameters sheet into the order found in the copied data.

3. Recopy the phase parameter data to the phase parameters sheet.

If the renaming of phase parameters is desired, click Yes and evaluate the equipment phase parameters to ensure the OPC data points are still correct.

The Equipment sheet will show all the equipment that this phase applies to. Refer to Figure 25. Only after the phases are assigned to the equipment will this sheet display information.

Access level Defines the default runtime access level for the parameter used during batch run time.

Constraints Displays the constraint list for text type parameters.

Renaming a phase parameter may require that the OPC data point for that parameter (if specified in the equipment phase) be modified.

Table 15. Phase Parameter Fields (Continued)

Field Description

Page 113: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 4 Equipment Configuration (EPT Control Modules) Batch Equipment

3BUA000146R4101 113

Batch Equipment

Equipment that is used to run batch procedures (equipment that gets acquired, reserved, or selected) must be batch enabled. This is accomplished by adding a batch equipment aspect to the equipment object. It is recommended that batch equipment be configured in the functional structure.

To batch enable equipment:

1. Create an object representation of the actual equipment layout including all the equipment that must be batch enabled.

2. Right click the equipment object.

3. Select New Aspect from the pop-up menu.

4. Enable the Show All option.

5. Select the Batch Equipment aspect.

TC04422A

Figure 25. Procedure Phase - Associated Equipment

Page 114: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Equipment Section 4 Equipment Configuration (EPT Control Modules)

114 3BUA000146R4101

6. Click Create.

7. Select the created batch equipment aspect.

8. Configure the Controller Type property. Refer to Table 16 for more information. Refer to Figure 26.

9. If desired, enter equipment attribute data on the Equipment Attributes sheet. Refer to Table 17 for information about these fields.

10. Click the save button.

11. Repeat Step 2 through Step 10 for all batch enabled equipment.

Table 16. Equipment Properties

Property Description

Controller type Specifies the type of controller controlling the equipment. Available types are:

AC 800M/C - AC 800M/C controller and EPT control modules are being used.

AC 800M/C Advanced - AC 800M/C controller and batch advanced templates control modules are being used. Refer to Section 3, Equipment Configuration (Batch Advanced Templates) for more information about using this controller type.

None (Pseudo) - The equipment is not enabled to run phases. This type is used to represent a resource that is to be acquired by the batch manager but does not run phases.

OPC (Function Phase Driver) - A custom phase driver will connect the phase to the OPC data.

Function phase driver Specifies the custom function phase driver used to connect to the OPC data. Controller type must be set to OPC (Function Phase Driver). Refer to Appendix I, Function Phase Driver for more information.

Shared Specifies if the equipment can be acquired by multiple batches at the same time. Controller type must be set to None (Pseudo).

Maximum users Specifies the maximum number of batches that can simultaneously acquire the equipment. The controller type must be set to None (Pseudo) and the shared property must be enabled.

Page 115: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 4 Equipment Configuration (EPT Control Modules) Batch Equipment

3BUA000146R4101 115

TC04421A

Figure 26. Batch Equipment Aspect Properties

Table 17. Equipment Attribute Fields

Field Description

Name Defines the name of the attribute (30 characters maximum).

Description Detailed description of the attribute.

Type The four types are text, float, and integer. Text types are either unconstrained or constrained. Unconstrained means that any text can be entered into the Value field. Constrained means that data entered in the Constraints field will determine what value can be entered for this attribute. It is used when it is necessary to limit the potential values available.

Default value Defines the default value. If constraints are going to be used, configure them first and then use the pull-down menu in this field to select the appropriate default value.

Low Low limit attribute. Mandatory entry when using float and integer types.

Page 116: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Equipment Phases Section 4 Equipment Configuration (EPT Control Modules)

116 3BUA000146R4101

The order in which the attributes are displayed on the Equipment Attributes sheet can be changed by selecting the attributes to be moved and dragging them to the desired location within the list. While dragging, a red line indicates the location to which the attributes will be moved.

Equipment PhasesBatch enabled equipment that will execute equipment phase logic must have the equipment phase assigned to it. All the equipment phases that can be executed on a piece of equipment must be assigned to that equipment.

To assign equipment phases to equipment:

1. Select the equipment object.

2. Select the Batch Equipment aspect.

3. Click the insert a new equipment phase button.

4. Select the recipe phase that can execute this equipment phase in the Phase to Insert dialog box.

5. Click OK.

High High limit attribute. Mandatory entry when using float and integer types.

Eng. Units Defines the measurement units (lbs, secs, etc.).

Access level Defines the runtime access level for the attribute. The access level of no access is used to define read-only attributes. Other access levels are used to configure the lowest access level an operator can have and be permitted to change the attributes at run time. The batch manager has the highest access level. Therefore, a recipe can write to any equipment attribute that has an access level other than no access (using the unitattput and unitattputs functions). The default value defined in the equipment database does not change.

Constraints Displays the constraint list for text type attribute.

Table 17. Equipment Attribute Fields (Continued)

Field Description

Page 117: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 4 Equipment Configuration (EPT Control Modules) Equipment Phases

3BUA000146R4101 117

6. Enter the phase alias name (the name used by procedure developers) in the Phase Alias field. Refer to Figure 27. The recipe phase name is the default phase alias name.

7. Select the name of the equipment phase in the Control Module Path for EPT field using the Select Control Module window. Refer to Figure 28.

8. If the equipment phase contains more than one parameter, select the data structure that contains the equipment phase parameters that correspond to the recipe parameters from the list provided (based on the control module path) in the Recipe Parameter Structure field. If the equipment phase contains one parameter or less, leave this field blank and proceed to Step 9.

9. If necessary (the equipment phase parameters are not the same name as the recipe parameters or there is one parameter for the phase), select the OPC data points that will provide the correct value for the recipe parameters listed in the OPC Datapoint fields using the Select OPC Datapoint window (Figure 29).

TC04420A

Figure 27. Batch Equipment Aspect Configuration

Page 118: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Equipment Phases Section 4 Equipment Configuration (EPT Control Modules)

118 3BUA000146R4101

TC04419A

Figure 28. Select Control Module Window

TC04418A

Figure 29. Select OPC Datapoint Window

Page 119: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 4 Equipment Configuration (EPT Control Modules) Equipment Groups

3BUA000146R4101 119

10. Advanced users can customize the properties of an equipment phase by clicking >> and editing the value (path to the OPC data point) of the properties.

11. Repeat Step 3 through Step 10 for every equipment phase that can be executed on this equipment.

12. Repeat Step 1 through Step 11 for every piece of batch enabled equipment that will execute phases.

To test the OPC connections specified for the parameters and properties of the phase, click T. The OPC connections are verified and each parameter and property is color coded to indicate status. Green indicates the OPC connection was found and red indicates the connection was not found. Blue indicates an undetermined status. Click C to clear the color coding and reset the test functionality.

Equipment GroupsEquipment groups are a convenient way to organize equipment. These groups make it easier to create the member lists associated with equipment list type parameters. Refer to Equipment List Type Parameters on page 163 for more information.

To create a new equipment groups object:

1. Select the Equipment Structure in the plant explorer workplace.

2. Right click the object (or the background to select the root) that will contain the equipment groups object.

3. Select New Object from the pop-up menu.

4. Select Equipment Groups in the New Object window.

5. Enter the name and, if desired, description for the object.

6. Click Create.

To create an equipment group object:

1. Right click the equipment groups object that will contain the equipment group object.

The properties of an equipment phase do not normally need to customized.

Page 120: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Equipment Groups Section 4 Equipment Configuration (EPT Control Modules)

120 3BUA000146R4101

2. Select New Object from the pop-up menu.

3. Select Equipment Group.

4. Enter a name and, if desired, description for the object.

5. Click Create.

To configure an equipment group object:

1. Select the equipment group object.

2. Select the equipment group aspect.

3. Use the buttons to move batch enabled equipment from the Available Equipment area to the Equipment In Group area. Refer to Figure 30.

4. Click Apply.

TC04580A

Figure 30. Equipment Group Window

Page 121: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 121

Section 5 Procedures

IntroductionUp to this point, batch configuration items that have been discussed include the planning stage, process segmentation, and equipment configuration. Attention can now be focused on the procedure configuration stage of batch configuration. This section will demonstrate the configuration of sample batch procedures.

A batch is the product produced by a single execution of a procedure. A batch process is a process that is controlled in a step-wise fashion, in which procedure parameters (e.g., quantity of ingredients) and order of addition are precisely controlled. Unlike continuous processes, which normally operate at (or close to) a steady state, batch processes are normally transient, undergoing a series of changes of state during the creation of the product.

A recipe defines the procedures and formula used to run a batch process. Information contained in a recipe includes header information, standard operating procedures (SOPs), equipment information, procedures and formulae.

Procedures are presented on graphic displays called procedure function charts (PFCs) which contain blocks representing subprocedures, phases, and batch manager actions. While a batch is executing, the PFC that represents it can be displayed and indicate batch status through the changes in block color and windows that display:• Subprocedure PFCs.• Error messages.• Parameter configuration.• Equipment phase faceplates.• Equipment phase logic.

The main concept of procedure design on the batch management subsystem is to create procedures out of reusable components. This is based on object oriented graphical procedure configuration. Each procedure function chart can also be used

Page 122: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

PFC Types Section 5 Procedures

122 3BUA000146R4101

on another procedure function chart in a manner similar to the method used for the configuration of graphic displays.

To configure a procedure using the batch management subsystem, the user draws a flow chart of the process, using an object oriented approach. This flowchart is called a PFC. An example of a PFC is found in Figure 31.

PFCs contain blocks representing procedures, phases, operations, and batch manager actions.

PFC TypesEach procedure function chart must be classified as one of the predefined procedure types. Assigning the PFC to a type defines the rule set that will be allowed for the configuration of the chart. Most of the procedure function chart types fit into a

TC02131B

Figure 31. Typical Procedure Function Chart

Page 123: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Recipe Procedure

3BUA000146R4101 123

hierarchical order. The four types, from simple to complex, are recipe procedure, unit procedure, operation and exception procedure.

Enforcement of this hierarchy can be enabled or disabled. If strictly enforced, all layers of the hierarchy must be used with each PFC only including procedure components of the layer immediately below. If the hierarchy is not strictly enforced, unnecessary layers of the hierarchy can be skipped, and the PFC can use procedure components from any layer that is of equal or lesser complexity. Select Library Structure\Batch Management\Configuration\Default Procedure Configuration and enable S88 Option to strictly enforce this hierarchy. The S88 option enforces the following:• Recipe procedure contains unit procedures and BMAs.• Unit procedures contain operations and BMAs for a given piece of equipment.• Operations contain phases and BMAs for a given piece of equipment.

Another type of procedure, which exists outside this hierarchical order, is the exception procedure. An exception procedure is a set of procedure components organized to monitor for abnormal conditions and, if such conditions occur, respond by executing pre-configured exception logic. This level is similar to a software subroutine. Exception procedures can be configured for use in any of the other procedure types.

Recipe Procedure

Top level of a procedure. A master recipe is the master copy of a recipe procedure on the system. Master recipes are never altered by operator changes to procedure parameters. Instead, a copy of the recipe procedure is made at run time. This copy is known as the control recipe. Any alterations made to the procedure by the operator (parameter changes for example) are made to the control recipe, not the master recipe. The recipe procedure can contain unit procedures, operations, phases, batch manager actions, and exception procedures.

Unit Procedure

Set of operations or phases that execute on a piece of equipment. A unit procedure can contain operations, phases, and batch manager actions.

Page 124: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Operation Section 5 Procedures

124 3BUA000146R4101

Operation

Phase or sequence of phase executions within a piece of equipment. Can contain phases and batch manager actions.

Exception Procedure

This is a special type of subprocedure configured to monitor for one or more abnormal conditions. The exception procedure can be used in parallel with any of the other procedure types.

Layered ProcedurePrior to beginning actual procedure configuration using the Batch Management system, the ingredients to be used, and the time and event sequencing required to achieve the desired product have been determined. Reusable procedure components to perform phase operations such as adding raw materials, heating the reactor, mixing ingredients, etc. have been created. The procedure is then built by first configuring any necessary administrative information in the procedure header, configuring a textual representation of the procedure in the standard operating procedure (SOP), and placing blocks on a PFC in the Procedure Configuration window. Refer to Procedure Configuration Windows on page 137.

The concept of reusable procedure elements is an important aspect of Batch Management flexible batch processing. Procedures contain phases that can be reused within one procedure, as well as being used by any number of procedures. Procedures also can contain nested subprocedures or layers. When procedures become too complex to fit clearly on a single PFC, the process can be broken down into subprocedures and configured on several PFCs that are layered. In this case there is a top level procedure that contains one or more procedure blocks, which in turn represent lower level subprocedures such as unit procedures, operations, or exception procedures.

This hierarchical grouping of a complex procedure not only makes configuration easier by reusing tested subprocedures, but also makes it easier for the operator to understand. The operator can monitor the progress of a batch process through a series of PFCs, instead of being confronted with one PFC overly packed with information.

Page 125: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Layered Procedure

3BUA000146R4101 125

An example is provided in Figure 32, Figure 33, and Figure 34. These figures contain the PFCs for a procedure named SoupRecipe and two subprocedures, SoupAddIngred and SoupProcIngred.

TC02247A

Figure 32. Procedure Function Chart for SoupRecipe

Page 126: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Layered Procedure Section 5 Procedures

126 3BUA000146R4101

SoupRecipe is the top level procedure for making a batch of soup. Two rectangular procedure blocks on the PFC are labeled Add Ingredients and Process Ingredients. The procedure Add Ingredients represents a lower level operation named SoupAddIngred (Figure 33), which is invoked when the add ingredients operation is reached in the top level procedure. Refer to Procedure on page 145.

When SoupAddIngred is executed, the necessary hardware equipment is reserved or acquired, the ingredients are added and ground, and the equipment that was reserved or acquired only for the duration of this subprocedure are unreserved or released.

TC02248A

Figure 33. Procedure Function Chart for SoupAddIngred

Page 127: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Layered Procedure

3BUA000146R4101 127

When SoupAddIngred is completed, procedure execution moves to the next item in the top level SoupRecipe.

When the Process Ingredients procedure in SoupRecipe is reached, the SoupProcIngred (Figure 34) operation is called.

When SoupProcIngred has completed, execution returns to the top level procedure, SoupRecipe, and then runs to completion.

TC02249B

Figure 34. Procedure Function Chart for SoupProcIngred

Page 128: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Procedure Handling Section 5 Procedures

128 3BUA000146R4101

Procedure HandlingProcedures are created, copied, moved, pasted, and deleted in a manner similar to that used in Windows. The comparing of procedures and procedure approval are also discussed in the following topics. The procedure structure should be used to contain recipe procedures, unit procedures, operations, exception procedures, recipe phases, and functions (Figure 35).

Version Control

Procedures can exist in several possible lifecycle states represented by the following aspects:• Approved Procedure.

TC04581B

Figure 35. Example Procedure Structure

Page 129: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Create

3BUA000146R4101 129

• Development Procedure.• Version Procedure.

These aspects are placed below the procedure object. Procedures normally start with the Development Procedure aspect. This aspect can be edited, and saved without interfering with the online operation of the plant.

When a new version of a procedure is approved, the previous approved version aspect is labeled Procedure Version x.x. A user configurable number of previous versions of the procedure are stored on the system. Previous versions of procedures can be edited or approved like any other procedure. A Development Procedure aspect is automatically created and this aspect is edited or approved.

Version control is performed for all procedures. The version number is constructed using a MajorNumber.MinorNumber scheme. For example, in the version number 3.5, 3 is the major version number and 5 is the minor version number.

When a batch is scheduled, an approved procedure must be selected to control the batch. The approved version of the procedure and all the lower level procedure components that are referenced by it are captured and formed into one control recipe. This is done to insure consistency of lower levels from the time a batch is initiated until it is completed. This means that a new version of a procedure can be approved, or the current version deleted, without disturbing any batches that may be executing the current version.

Create

To create a new procedure:

1. Select the Procedure Structure in the plant explorer workplace.

2. Right click the procedures object that will contain the new procedure

- or -

Create a new procedures object:

a. Right click the object that will contain the procedures object.

b. Select New Object from the pop-up menu.

c. Select Procedures in the New Object window.

d. Enter a name and, if desired, description for the object.

Page 130: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Edit Section 5 Procedures

130 3BUA000146R4101

e. Click Create.

f. Repeat this step until the proper object is selected.

3. Select New Object from the pop-up menu.

4. Select the procedure type.

5. Enter a name and, if desired, description for the object.

6. Click Create.

Edit

The procedures are configured using a graphical interface. Editing an approved procedure or version procedure copies the selected procedure to the development procedure.

To edit a Development Procedure aspect:

1. Right click the Development Procedure aspect or the procedure object.

2. Select Edit Procedure or Edit Development Procedure from the pop-up menu.

To edit an Approved Procedure or Version Procedure aspect:

1. Right click the Approved Procedure or Version Procedure aspect of the procedure.

2. Select Edit Procedure from the pop-up menu.

3. If a Development Procedure aspect currently exists, click Yes when prompted that it will be overwritten.

The Procedure Configuration window will then be displayed. This window and the graphical tools it contains (used to build PFCs) are discussed in Procedure Configuration Windows on page 137.

The Procedure Configuration window is also a tool that can be accessed by operators who need to edit the control recipe for an active batch. Use of the Procedure Configuration window in this manner is discussed in Control Recipes on page 135 and in the Batch Management Operation instruction.

Page 131: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Approve

3BUA000146R4101 131

Approve

Only one version of a procedure is considered approved and can be executed. To approve a version:

1. Right click the Development Procedure aspect, Version Procedure aspect, or procedure object.

2. Select Approve Procedure or Approve Development Procedure from the pop-up menu.

3. Select a version number for the approved procedure.

4. Select a reason for the approval in the Reason field.

5. If desired, enter approval comments for this version.

6. If authentication signatures are required for the approval of procedures, enter the appropriate user IDs and passwords.

7. Click OK.

The Development Procedure aspect will be deleted and the Approved Procedure aspect will be created.

Cut, Copy, Delete, and Paste

To cut, copy, delete, or paste a procedure:

1. Right click the object containing the procedure (cut, copy, or delete) or the procedure that will contain the procedure (paste).

2. Use standard Windows functions to complete the desired operation.

Compare

To compare procedures for differences:

1. Right click any procedure aspect (Approved Procedure, Development Procedure, or Version Procedure) of any procedure.

2. Select Difference Report from the pop-up menu.

Procedures should be manipulated (cut, copied, deleted, or pasted) at the procedure object level only. Manipulation of the components that make up a procedure object can corrupt that procedure.

Page 132: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Cross-References Section 5 Procedures

132 3BUA000146R4101

3. Select one of the procedure aspects being compared (any procedure, any version) in the Compare field in the Select Procedures To Difference window.

4. Select the second procedure aspect being compared in the To field.

5. Click Compare.

View the differences between the procedure aspects in the DifferenceReport window (Figure 36).

Cross-References

Every procedure aspect contains a procedure Xrefs view that is displayed by selecting the Procedure Xrefs view. This view lists all the procedures that reference

TC05255A

Figure 36. DifferenceReport Window

Page 133: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Version History

3BUA000146R4101 133

this procedure (the Reference By tab) and all the procedures referenced by this procedure (the Referenced tab).

Version History

To view the version history of any procedure aspect (Approved Procedure, Development Procedure, or Version Procedure):

1. Right click the desired procedure aspect.

2. Select Version History from the pop-up menu. The name, version, state, type, and history of the procedure aspect are displayed in the view history window (Figure 37).

TC05095A

Figure 37. View History Window

Page 134: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Procedure Configuration Section 5 Procedures

134 3BUA000146R4101

Procedure Configuration

Batch Cells

Several functions of the batch management subsystem require the user to select a procedure component. For example, a recipe procedure must be selected before it can be scheduled to be run as a batch.

Batch cell selection provides the ability to limit the selected procedure to specific cells. If no cells are assigned during procedure configuration, all are available and the procedure can potentially run in any cell if the operator has permission there.

When an operator schedules the procedure, the Batch Management software will review the:• List of cells available to the procedure.• List of cells available to the operator’s login account.

The procedure will default to a default batch cell (configured in the default procedure configuration aspect) when it is scheduled if the operator has permission there. If the operator does not have permission in the default cell, the procedure will default to the first cell to which the operator’s login account provides access. This selection can be configured by the user. Refer to Security on page 64.

If cells were assigned to a procedure during configuration, the operator must have access to at least one of the cells in order to schedule it. The cell in which the procedure is to run is specified by the user during scheduling of the batch.

To change the cells to which a procedure can execute within:

1. Select the Procedure Configuration aspect of the procedure.

2. Use the single arrow (move selected cells) or double arrow (move all available cells) buttons to configure the list of selected cells. Refer to Figure 38.

3. Click Apply.

Page 135: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Control Recipes

3BUA000146R4101 135

Control Recipes

Although this section is intended primarily for the configurer of procedures at the master recipe level, it will also be of value to the operator who is required to make changes to a control recipe.

To edit the PFC of an executing batch, display the PFC to be edited in an operator window, right click and select Runtime Edit. The window shown in Figure 39 will be displayed. Refer to Procedure Configuration Windows on page 137 and the Batch Management Operation instruction for more information.

TC04582A

Figure 38. Batch Cell Selection Window

Editing a control recipe requires an appropriate access level.

Page 136: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Control Recipes Section 5 Procedures

136 3BUA000146R4101

When editing a control recipe, the procedure editor works as described in Procedure Configuration Windows on page 137. However, not all procedure editing functions will be available. Refer to Table 18.

TC02700C

Figure 39. Procedure Configuration Windows

Table 18. Control Recipe Editing Functions

Available Editing Functions Unavailable Editing Functions

Add and delete recipe objects Edit currently active block unless it is in the final state (stopped, aborted, complete, or idle)

Modify object definitions Edit recipe procedure parameters1

Change order of execution Edit standard operating procedure2

Designate valid restart points

Page 137: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Procedure Configuration Windows

3BUA000146R4101 137

For a thorough discussion of how editing a control recipe can affect the executing batch, refer to the Batch Management Operation instruction. Also included is information on continuing the execution of the procedure and cancelling the runtime edit.

Procedure Configuration Windows

The procedure database is configured using a graphical interface. The procedure editor, composed of the Procedure Configuration, Mode, and Attributes windows, will open (Figure 39). Click A to open the Attributes window.

File Menu

Click File on the menu bar of the Procedure Configuration window to view the File menu. The choices on this menu perform file operations and include:• Save.• Exit.

Only one procedure editor session can be opened per Batch Management workstation. However, multiple procedures can be edited using multiple child windows. To edit multiple procedures:

1. Open the first procedure for editing.

2. Return to the workplace.

3. Open another procedure for editing.

4. Repeat Step 2 and Step 3 until all the desired procedures are opened for editing.

Save recipe

NOTES:1. In order to edit recipe procedure parameters, ascend to the next higher level and change the

parameters by selecting parameters from the procedure block status display and modify the parameters there.

2. This has no effect on the user’s ability to add comments to the SOP.

Table 18. Control Recipe Editing Functions (Continued)

Available Editing Functions Unavailable Editing Functions

Page 138: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Procedure Configuration Windows Section 5 Procedures

138 3BUA000146R4101

The Procedure Configuration, Mode, and Attributes windows contain a number of discrete parts which, used together, enable the creation of procedure function charts (PFCs) and control the attributes of the PFCs. The size, shape, and location of the individual windows making up the procedure editor can be changed.

In addition to an informative title bar, the Procedure Configuration window contains the:• Working view child windows.• Message area.• Menu bar.

The Mode window contains the:• Procedure object create control panel.• Object change control panel.• Status control panel.

The Attributes window contains:• Color attribute control panel.• Lines attribute control panel.• Fill pattern attribute control panel.• Text attribute control panel.

The Procedure Configuration window contains one or more child windows. Each child window displays one procedure function chart (PFC) at a time. Each procedure function chart represents a procedure component (recipe procedure, unit procedure, exception procedure, or operation). To start the configuration session, open an existing procedure (in the development object).

Procedure building should normally occur from the bottom up. That means that it is expected that the operation and unit procedure levels are built first as subprocedures. These are then used as library procedures to the higher levels of the procedure. This is important to the procedure and phase parameter passing scheme by which parameters that are defined at one level are then assigned values at the next higher level. Refer to Passing Parameter Values to a Nested Subprocedure on page 49.

Each procedure function chart is configured as a sequence of operations represented by objects. Build the diagram by clicking on a palette button to select it, then position the object in the appropriate place in the working view. The objects are linked together to define the sequence of operations using the connector object. Next, configure each phase, procedure, batch manager action and transition object

Page 139: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Procedure Configuration Windows

3BUA000146R4101 139

placed in the working view to specify the details of the operation. To specify these details for an object, select it and select Procedure > Assign Object. This will cause a window to appear.

Enter the configuration information. For example, if the box on the screen is a procedure block that represents a unit procedure, specify which unit procedure. The main types of procedure objects that need to be configured in this manner are phase, procedure, transition, and batch manager action blocks.

Save - When changes have been made to the current procedure in the working view and have not yet been saved, an asterisk (*) will be displayed to the left of the procedure name. To save the procedure configuration session, select File > Save.

When the save operation has completed successfully, the message Procedure OK will be displayed. If errors are found, a message showing the number of errors encountered will be displayed. For further information about the errors, select Procedure > Check procedure.

The Save menu option will save the procedure currently in the window. All other versions (including the approved version) will not be modified.

Exit - To exit from the Procedure Configuration window, select File > Exit. If no changes have been made to the current procedure, the display will be exited immediately. If changes have been made, a small window queries:

Save changes to current procedure?

Click Yes to save changes, or click No to abandon changes.

Select Menu

Click Select on the menu bar of the Procedure Configuration window to view the Select menu. Options available on this menu are:• By Extent.• By ID.• By Name.• All.• Change Ref.• Reset Ref.

Configuration information can also be accessed by selecting the object using the center mouse button (if present) or the CTRL+right click method.

Page 140: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Procedure Configuration Windows Section 5 Procedures

140 3BUA000146R4101

• Deeper.

By Extent - The By Extent menu option selects all objects that are displayed completely inside a rectangle called the extent. The user is prompted to pick two points (upper left and lower right) that form the opposing corners of the extent rectangle that must completely surround the objects to be selected. Any objects selected are added to the existing select list.

By ID - As objects are placed on a PFC, each is automatically assigned an internal ID number. By ID is used to select an object using this internal ID number of the object. Select By ID and enter the internal ID number of the object to be selected.

When a PFC is checked for errors, error messages typically contain ID numbers of objects that are incorrectly configured. The By ID menu option is useful for quickly selecting such objects.

By Name - When small objects are used on a PFC, it can be difficult to select them by clicking them. Select Edit > By Name to enter a text string as a name for the object. Select Select > By Name to select an object by using this name. When By Name has been selected, the message area of the Procedure Configuration window will prompt:

Name

Enter the name of the object, followed by ENTER. The object will be selected.

All - The All menu option is used to select all objects in the current PFC in the active child window.

Change Ref and Reset Ref - The extent of an object, also known as an extent rectangle, is the smallest rectangle, with a horizontal base, that completely encloses all parts of an object. The extent of an object is used to determine the location of the objects center. This means the center of an object is also the center of the objects extent.

Select Options > Show IDs to display ID numbers instead of labels on the face of each block on the PFC.

The name of an object is not displayed on the PFC and is a separate entity from the label used on the face of phase, procedure, and BMA objects. The user must keep track of the object name. One method of doing so is to use the same text string for both the object name and label.

Page 141: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Procedure Configuration Windows

3BUA000146R4101 141

Each object has one reference point. By default, the reference point of an object is defined as the center of the extent of the object.

The reference point of a selected object can be changed by selecting Select > Change Ref in the Procedure Configuration window, and clicking a point other than the center of the object. If a single object is on the select list when the Change Ref function is invoked, this change in reference point remains in effect permanently for the instance of that object in the PFC. If more than one object has been selected, however, the change in reference point is in effect only while the objects are selected.

Select Select > Reset Ref to set the reference point of each object on the select list back to its default, the center of the objects extent.

The reference point can be used in conjunction with the point snap mode to aid in the placement and interconnection of objects and submodels on a procedure function chart.

Deeper - The Deeper menu option permits selection of objects within a group (collection of objects). The first time Deeper is chosen, the Depth= indicator is displayed in the message area. A number following this indicator reveals how deep within groups an object can be selected. The depth indicator is incremented each time the Deeper option is selected. The default level is zero. A level of one permits selecting objects within groups, a level of two allows selecting an object that is inside of a group which is inside of another group, and so on.

Options Menu

Click Options on the menu bar of the Procedure Configuration window to view the Options menu containing the following items:• Single Select and Multi Select.• Equal Scaling and Unequal Scaling.• Center Reference and Point Reference.• Hilite Submods.• Show Position.• Show IDs.• Auto Connect• Auto Align.

Page 142: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Procedure Configuration Windows Section 5 Procedures

142 3BUA000146R4101

Single Select and Multi Select - The Single Select and Multi Select menu options control the behavior of the procedure editor during object selection operations. In single select mode (the default), clicking an object to select it automatically causes previously selected objects to be deselected. In multi select mode, clicking an object to select it causes the object to be added to the list of previously selected objects.

Equal Scaling and Unequal Scaling - When Equal Scaling is selected, the scaling factors in the x and y directions are forced to be equal during scaling operations. A square will remain a square when Equal Scaling is selected.

When Unequal Scaling is selected, the x and y scaling factors may be unequal when an object or objects are scaled. This means a square can become a rectangle or a circle can become an ellipse after scaling.

Center Reference and Point Reference - The Center Reference and Point Reference menu options control the behavior of the editor during move, copy, scale, and rotate operations. Each of these operations is performed relative to a reference point. In center reference mode (the default), the center of the selected objects is used as the reference point during move, copy, scale, or rotate operations. If a single object is selected and it has a predefined reference point (assigned via Select > Change Ref), then that is used as the reference point.

In point reference mode, the last mouse click made to select an object is used as the reference point. The point that was clicked will be affected by the current point snap mode setting. Refer to the appropriate 800xA System instruction. If the object selection was done from the Select menu (Select > All or Select > By Extent) rather than by a mouse click, the point on the selected object nearest to the lower left corner of the editor window is used as the reference point.

The point reference mode can be useful for aligning objects, as shown in the following two examples.

Example 1:

A rectangle is created with its corners aligned with the grid. The rectangle must be moved, keeping the rectangle corners grid-aligned. To do so, make sure the point reference mode is selected, and the point snap mode is set to Grid. Click

All objects are deselected when the End button or right mouse button is clicked. Also, the single select and multi select modes have no effect on selections made via the Select menu.

Page 143: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Procedure Configuration Windows

3BUA000146R4101 143

one of the corners of the rectangle to select it, then click Move (on the object change control panel). Finally, click the new position for the selected corner.

Example 2:

A rectangle is created and its corners are not aligned with the grid. It is to be moved so that the lower left corner of the rectangle is grid-aligned. To do so, make sure the point reference mode is selected, then set the point snap mode to Grav. Click near the lower left corner of the rectangle to select it. Next, set the point snap mode to Grid, click Move, then click the new position for the lower left corner.

Hilite Submods - When the Hilite Submods menu option is selected, each object in the active child window will be enclosed inside a rectangle.

Show Position - The Show Position menu option displays the coordinates of the current pointer position in the active child window. Labeled Cursor, this information is displayed as an information field in the top of the Message Area.

Show IDs - The Show IDs menu option is used to display the unique internal ID numbers assigned by the system during procedure configuration to blocks in the procedure function chart. When this item is selected, the ID number is displayed on the block in place of the label of the block.

This is the ID number used by the By ID option on the Select menu, which allows the selection of an object via its ID number. The internal ID is also used in the procedure errors window to identify the node or block in the procedure that is in error.

The ID numbers are based on the order in which blocks are placed on the procedure, and may not be in the same sequence as the execution of the PFC. There may also be gaps in the numbering sequence. If a block is deleted prior to the completion of the procedure, that ID number of the block will not be used in the PFC.

Auto Connect - Selecting Auto Connect causes newly inserted procedure objects to be automatically connected to the previous procedure object. Procedure objects inserted before this option was selected are not automatically connected.

The working view area is always considered 100 units wide by 75 units high, regardless of how the Procedure Configuration window which contains it has been sized.

Page 144: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Procedure Object Control Panel Section 5 Procedures

144 3BUA000146R4101

Auto Align - This option automatically aligns all existing procedure objects and any new objects inserted from this point on. Space is inserted between objects for presentation purposes. With this option disabled, individual objects and groups of objects can be aligned by selecting the objects and then selecting Procedure > Align.

Procedure Object Control Panel

The procedure object create control panel in the Mode window (Figure 40) is a special tool palette provided for the configuration of the procedure function charts. The tool kit allows the use of procedure function chart notation for graphically diagramming a sequence of operations to form a procedure. The procedure object create control panel is composed of 15 buttons, four of which are not used. Each of the 11 remaining buttons represents a different type of procedure object designed for use on a PFC. When a button is clicked, it is highlighted. It remains highlighted until the End or another button is clicked. Right clicking anywhere also cancels highlighting.

A brief description of each tool on this panel is provided in the following subsections. Use of these items will be demonstrated later in this section.

Start

The Start button (Figure 40) is used to place a start object on the procedure diagram. This is used to define the start of the procedure on the PFC. There must be one start defined per PFC. An exception procedure uses the special start object as shown in Figure 41.

Figure 40. Procedure Object Control Panel

Page 145: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Procedure Object Control Panel

3BUA000146R4101 145

End

The End button (Figure 40) is used to define the logical end to the processing for the procedure chart. There must be one end object per PFC. An exception procedure uses the special end object shown in Figure 41.

Phase

The phase button (Figure 40) is used to place phase objects (Figure 42), which were defined in the equipment database, onto the procedure chart. The named phase will be executed in the requested equipment.

Procedure

The proced. button (Figure 40) allows the configuration of a procedure on the procedure function chart. Procedures include a unit procedure or operation as shown in Figure 42.

Figure 41. Start and End Objects

Figure 42. BMA, Phase, Procedure, and Extension Action Objects

Page 146: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Procedure Object Control Panel Section 5 Procedures

146 3BUA000146R4101

BMA

The BMA button (Figure 40) is used to configure a batch manager action object (Figure 42) on the PFC.

Extension Action

The ExtA button (Figure 40) is used to configure an extension action object (Figure 42) on the PFC.

Connector

The connector (Figure 40), which is shaped like an arrow, is used to link the symbols in the procedure chart together. Connections define the sequence of operations in the procedure.

Parallel Start

The parallel start symbol (Figure 40) is used to define the beginning of parallel processing. Parallel processing means that all of the paths in the parallel tree will be executed simultaneously. Parallel start and parallel end objects must always be used in balanced pairs. Transition objects (refer to Transition on page 147) can be used to synchronize the processing of the threads between the parallel start and parallel end objects.

Parallel End

The parallel end symbol (Figure 40) is used to define the end of parallel processing. Procedure processing does not progress beyond this point until all parallel threads have completed.

Branch Start

The branch start symbol (Figure 40) is used to define the beginning of a logical branch in the processing. Conditions, configured in transition objects (refer to Transition), are located after the branch start and are evaluated from left to right. The first condition encountered that evaluates to true will be used. Only one leg of

Page 147: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Procedure Header

3BUA000146R4101 147

the branch will be executed. Branch start and branch end objects must always be used in balanced pairs.

Branch End

The branch end object (Figure 40) is typically used to define the end of the logical branch processing. It can also be used to create a loop condition, as illustrated in the central portion of the SoupProcIngred PFC (Figure 34), where prompts and actions related to tanks are configured.

Transition

The transition symbol (Figure 40) defines a logical expression. The expression can be simple or it can be very complex. Execution will not continue down the path until the condition is true. Typically, a transition object is used in one or more of the procedure threads following a branch start. If no condition is true, each expression is evaluated again every second, until one becomes true. These threads are evaluated from left to right. A transition object must always follow the start object in an exception procedure. Batch expressions are described in Appendix A, Configuring Batch Variables and Expressions. Exception handling and exception procedures are discussed in Exception Handling on page 220.

Procedure HeaderA procedure header can be configured for all procedure types. Procedure headers provide administrative information about individual procedures. The runtime version of the procedure header also includes the version time and date of the modification and the name of the author of the procedure. It is possible to configure items in the procedure header, as described in the following subsections.

Procedure header configuration is accessed via Procedure > Edit header. The Batch Procedure Header Configuration window (Figure 43) will be displayed.

It is good practice to ensure that the right-most branch always evaluates to true by not including a transition in that branch.

Page 148: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Header Configuration Window Section 5 Procedures

148 3BUA000146R4101

Header Configuration Window

The Batch Procedure Header Configuration window is divided into two main portions. The first portion contains a set of fields that are used by the system to record and display procedure information. The second section is a free format text area into which any desired text can be typed or imported. An Import button appears at the bottom of the window. When Import is selected, a window is displayed in which a file name or path can be selected to specify the text file to be imported.

The procedure header fields are Description and Procedure Header.

Description

Enter a text description of the procedure which will be used by the system as a short description field in various online displays.

TC02262B

Figure 43. Batch Procedure Header Configuration Window

Page 149: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Procedure SOP

3BUA000146R4101 149

Procedure Header Text

Enter procedure header text into the space provided.

Procedure SOPThe standard operating procedure is a text representation of the procedure, which provides the operator with a written explanation of the process. The operator can request to view the SOP online as the batch is in process. Refer to the Batch Management Operation instruction for details.

An SOP is composed of sections of text. During configuration of a procedure, the configurer can add batch manager action (BMA) blocks to the PFC that are assigned to the action type set SOP section. Such BMA blocks allow SOP section names to be specified at various places in the procedure. When the batch is executing, and the operator requests to view the SOP, the appropriate SOP will be displayed in a window, with text beginning at the SOP section appropriate for the currently executing portion of the procedure.

During configuration of batch manager actions (BMAs) assigned to the set SOP section option, it is the combination of the key word SECTION (or Section) and the section names (embedded in both the set SOP section BMAs and the file that composes the body of the SOP) that make this a context-sensitive online operator aid.

Start each SOP section by using the key word SECTION at the beginning of the line, followed by white space (spaces, tabs), then the section name, to the end of the line. For example:

SECTION SectionName

SectionName can be any text string desired. It will act as the distinct name of the section. All the text located between the section name and the next SECTION key word (or the end of the file, if there is no subsequent SECTION key word) belongs to that section.

If no batch manager action to position the SOP pointer has been executed, the SOP display is positioned at the beginning of the SOP text file.

Page 150: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuration Section 5 Procedures

150 3BUA000146R4101

The contents of the entire first line of an SOP section (i.e., everything which follows the key word SECTION) should be identical to the section information configured for the corresponding set SOP section batch manager action. It is the responsibility of the configurer to insure coordination of the PFC and the SOP sections.

Configuration

To begin SOP configuration, click Procedure > Edit SOP from the menu bar. The Standard Operating Procedure window (Figure 44) will be displayed. The name of the procedure that is under configuration appears in the upper left corner of the window. Below the procedure name is a large, text entry window, which is selected by default when the window is opened. Type in the desired SOP text, including key words in the appropriate places.

Find a Text String in SOP Text

Immediately below the text editing area on the standard operating procedure window is the Find button, with a text entry box on the right, followed by an indicator button which displays a down (default) or up arrow. Enter the text string to be located in the entry box. If the arrow in the directional indicator button points down, then the next following instance of the string will be located and highlighted. If the arrow points up, the previous instance of the string will be found and highlighted. Select the directional indicator button to toggle between the two states.

When a set SOP section BMA is configured, the user enters the section name to which that BMA will correspond via a text entry box during the configuration process. The key word SECTION is automatically added by the system. When the Edit SOP option on the Procedure menu is used to create the corresponding SOP section as described here, the user must enter both the SECTION key words and the section names in the SOP.

The SOP can contain dynamic text, so expressions can be used to generate text and/or key words. The SOP is evaluated only once (at batch start) to determine dynamic text data. For example, the following are valid section names:

SECTION 1 Section ‘variable_name‘

Page 151: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Replace a Text String in SOP Text

3BUA000146R4101 151

After the text string has been entered and the direction chosen, click Find. The next instance of the string will be highlighted in the text display area. There is wrap between the beginning and end of the file.

Replace a Text String in SOP Text

Below Find is a button labeled Replace with. An entry box appears to the right of this button, followed by an option labeled replace all. If a string has been entered in the Find entry box, enter a string in the Replace with entry box, then click Replace with to replace the next occurrence of the find string with the new string. If the directional arrow points up, the previous occurrence of the find string will be replaced.

TC02268B

Figure 44. Standard Operating Procedure Window

Page 152: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Top and Bottom Buttons Section 5 Procedures

152 3BUA000146R4101

The Find and Replace with can be used together to replace some, but not all, occurrences of a string. To do so, enter the string to be replaced in the Find entry box, then enter the replacement string in the Replace with entry box. Click Find to find the first occurrence of the string. If this occurrence should be replaced, click Replace with, otherwise click Find to go to the next occurrence. Repeat this sequence until all of the desired changes have been made.

To replace all instances of the string in the Find entry box with the string in the Replace with entry box, enable replace all, then click Replace with. All instances of the original string will be replaced throughout the file.

Top and Bottom Buttons

The Top button is used to return to the first screenload of the SOP file which is being viewed. Bottom is used to go to the last screenload of the file.

Line Button

The Line button is used to move within a file by specifying line numbers. When Line is clicked, a window similar to that in Figure 45 will appear.

The first item in the line window is Cursor Line, which reports the number of the line where the cursor is located and the total number of lines in the file. The Visible Lines item reports the numbers of the first and last lines of the range which is currently displayed in the edit window.

TC02269A

Figure 45. Line Pop-Up Window

Page 153: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Index Button

3BUA000146R4101 153

A text entry box (Enter new line) is used to move the cursor directly to a specific line. If the line is not currently displayed in the window, the file will scroll up or down in the window until the line is visible.

Click OK to exit the standard operating procedure window, or click Cancel to exit the window and discard all changes made to the SOP text.

Index Button

Clicking Index displays the SOP Section Index dialog box. This dialog box lists all the sections defined in the SOP. Select a section on the list and the cursor will be moved to the line containing the selected section definition.

Import Button

The text within a .txt file can be imported into the SOP using the Import button. To import text:

1. Place the cursor at the desired location in the SOP.

2. Click Import. The Import File window is displayed.

3. Select the .txt file to be imported.

4. Click OK.

Procedure ParametersIn Parameters, Variables, and Expressions on page 37, a parameter was defined as a named value. There are two types of parameters used in the Batch Management system:

• Phase parameters, which are associated with the equipment phase logic configured in the controller. Phase parameter values are downloaded to the controller at run time, based on the procedure.

• Procedure parameters, which are associated with the use of control logic in a specific procedure or within a procedure for process management.

Line numbers are not displayed in the text viewing box of the Standard Operating Procedure window.

Page 154: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Expressions and Variables Section 5 Procedures

154 3BUA000146R4101

Parameters, Variables, and Expressions on page 37 provides a detailed discussion of the nature of both phase and procedure parameters, and the potential relationship between them. The configuration of phase parameters in the equipment database is discussed in Section 3, Equipment Configuration (Batch Advanced Templates) and Section 4, Equipment Configuration (EPT Control Modules).

Procedure parameters are associated with a specific procedure. A procedure parameter value is specified during configuration. At run time, this can be changed to a batch specific value, such as a constant, variable or expression. (Parameters, Variables, and Expressions on page 37 and Appendix A, Configuring Batch Variables and Expressions provide information on batch expressions.) The value of a procedure parameter can, in turn, be used to specify the value of a phase parameter for this procedure. Procedure parameters are extremely valuable in many environments.

A procedure can be configured in such a way that an operator with the appropriate clearance will easily be able to enter a custom value for procedure parameters at the time a batch is scheduled to be run.

Procedure parameters are also useful for procedure management operations. Not only can a procedure parameter be used to represent a value such as a quantity of a material or the temperature of a reactor, one could be used in a procedure object to represent an operand in a conditional operation. To provide a simple example, suppose each time a batch was run the operator needed to decide, based on a visual inspection of a tank, whether or not the tank cleaning phase of the procedure should be executed. A procedure parameter called Clean could be defined to have the system test for the value of clean by including an object in the procedure called a transition object. If the value assigned to Clean by the operator at run time was Yes, the cleaning phase of the procedure would be included in the process when the execution of the batch reached the transition object. If the operator entered No, the tank would not be cleaned for that batch. The configuration of procedure parameters is discussed in the following subsections.

Expressions and Variables

To provide maximum flexibility, the value represented by a procedure parameter on a lower level procedure can be specified using an expression when the procedure is used by a higher level procedure. An expression can also be used to specify the procedure specific or batch specific value of a phase parameter. The phase

Page 155: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Expressions and Variables

3BUA000146R4101 155

parameter default must be a constant. Details concerning the structure, operators, and syntax of batch expressions are provided in Appendix A, Configuring Batch Variables and Expressions.

Expressions include arithmetic and trigonometric functions, comparison operations, string and file functions, and functions to put and get global database data, as well as batch database data. Operators are also available to store data as a named variable, and to retrieve the data using the variable name. It is not necessary to declare these variables. The variable is created by simply using an expression that will put the data into the same variable. The value is put into a storage space on Batch Management from where it can be retrieved. A window is also available for editing variables when the PFC of a batch is on display. For further information, refer to the Batch Management Operation instruction.

There are three sets of get and put commands for batch variables, each set with a different scope:

varput, varget, varputs, vargets

The varput command is used to create a variable and store a numeric value where it is accessible to a varget command within the same PFC. The varputs and vargets commands are used for strings.

bvarput, bvarget, bvarputs, bvargets

The bvarput command is used to create a variable and store the numeric value where it is accessible to a bvarget command in any PFC within a single batch. The bvarputs and bvargets commands are used for strings.

The bvarput and bvarget commands are extremely useful for making a value available to all layers of a procedure.

gvarput, gvarget, gvarputs, gvargets

The gvarput command is used to create a variable and store the numeric value where it is accessible to a gvarget command in any PFC in any batch on the system. The gvarputs and gvargets commands are used for strings.

These variables are not the same as equipment phase variables in the controller.

Page 156: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuration of Procedure Parameters Section 5 Procedures

156 3BUA000146R4101

Configuration of Procedure Parameters

Configuration of procedure parameters is accessed via Procedure > Define Parameters from the menu bar on the Procedure Configuration window.

The Procedure Parameters window (Figure 46) will be displayed.

The Procedure item on the Procedure Parameters window identifies the procedure under configuration. If no name has yet been assigned, the name used will be NoName_1. Below the procedure name is a list that displays the Parameter, Type, Default Value and Description for all parameters that have been configured for the procedure. Parameters are ordered alphabetically by parameter name.

Adding a Parameter

To add a new procedure parameter, click Add at the bottom of the Procedure Parameters window. The Add Parameter window (Figure 47) will be displayed.

The first item in the Add Parameter window is a text box labeled Parameter for entry of the procedure parameter name. The parameter name can be an alphanumeric string of up to 10 characters. A set of options occupies the space below the Parameter entry box. The options allow the user to define the type of the parameter.

Types include:

• Float - a floating point value.

TC02270B

Figure 46. Procedure Parameters Window

Page 157: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Adding a Parameter

3BUA000146R4101 157

• Integer - an integer value.

• String - a text string.

• List - a list of value options.

• Equipment list - a list of possible equipment which can be managed (acquired, selected, etc.).

Select the desired parameter type. Click OK to complete the operation, or click Cancel to exit without adding a new parameter. The default parameter type is float. Spaces can not be used within a parameter name. An underscore (_) can be used to separate words for legibility.

If OK is selected, a Parameter Configuration window will be displayed. The contents of this window will vary slightly, depending on the type which was specified for the procedure parameter. In all cases, however, the Parameter Configuration window is composed of two major divisions, the top half and the bottom half. The top half of the window always contains the same items, no matter what type (float, string, list, etc.) of procedure parameter being configured. The items configured in the bottom half of the window will vary, depending on the type of the procedure parameter.

The parameter name and parameter type are always displayed at the top of the Parameter Configuration window. Items that can be configured for all procedure parameter types include:• Public/private option.• Description.• Access level.

The Public/Private button appears at the top right corner of the Parameter Configuration window. The label on this button determines how the parameter will

TC02271C

Figure 47. Add Parameter Window

Page 158: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Adding a Parameter Section 5 Procedures

158 3BUA000146R4101

be assigned a value when the procedure executes. Click Public/Private to toggle between Public and Private.

If Public appears on the button, a public procedure parameter is defined. A public parameter can be assigned a batch specific value by the operator when the procedure is scheduled to be run as a batch, or when the procedure is configured on a higher level procedure. For example, a public parameter named SoupAmt can be configured in the batch procedure named SoupRecipe. When SoupRecipe is scheduled as a batch, the operator can assign a value to SoupAmt. If the operator does not supply a value for SoupAmt, then the Default Value defined via the Parameter Configuration window during the configuration of SoupRecipe will be used.

If Private appears on the button, a private procedure parameter is defined. The value of a private parameter will always be the default value configured via the Parameter Configuration window (i.e., the parameter gets its value locally from within its own configuration unless overridden from within the procedure). For example, private parameters in a procedure can be changed by certain batch manager actions configured within the same procedure. A private parameter will not be displayed to the operator at run time or during configuration when a procedure block is configured to include a subprocedure that has private parameters.

The information entered via the Parameter Configuration window will appear on the Procedure Parameters window. To enter a description that is longer than 24 characters, click the expand entry button (...). A text editor window will allow the entry of a multiple line description.

The box labeled Access Level is used to assign an access level to the parameter. Because parameters can be changed while a procedure is running, assignment of access levels provides security by allowing only sufficiently privileged users to make such changes. The currently selected access level appears in the combo box. The default access level is Not Configured, which permits the changing of parameters (no security check is performed). To configure a new access level, click the down arrow. A menu will appear, containing all possible access levels. Click the

Page 159: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Adding a Parameter

3BUA000146R4101 159

desired access level to select it. Refer to Security on page 64 for a discussion of enabling and disabling the ability to change parameters at run time.

Because different parameter types require different attributes, the bottom half of the Parameter Configuration window will vary, depending on the type of the parameter under configuration.

Float Type Parameters

The float type parameter is used to specify a numeric procedure parameter. Numeric procedure parameters can have an allowable range for the parameter value specified.

For a parameter of type float, configure the following characteristics via associated text entry boxes, which can accept a maximum of 24 characters each. In the example provided in Figure 48, a floating point parameter has been configured to represent the percentage of meat that will be used for a batch of soup.

• High range - Value to be used as the upper range for the parameter value. (A batch of soup can be as much as 35% meat.)

In addition to the Not Configured option, available access levels include operator level one through supervisor level three. Another choice, No Access, prevents all users from accessing the parameter. Refer to Security on page 64 for further details.

TC02272B

Figure 48. Float Parameter Configuration Window

Page 160: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Adding a Parameter Section 5 Procedures

160 3BUA000146R4101

• Low range - Value to be used as the lower range for the parameter value. (A batch of soup can be meatless can have 0% meat.)

• Engineering unit - Type of engineering units represented by the value (e.g., percent, deg F, gallons, etc.).

• Default value - Value to be used as the default value for the parameter. The text entry box will accept a maximum of 24 alphanumeric characters. In the example configuration, a batch of soup made with Chicken Soup will contain 15% meat, by default.

Integer Type Parameter

The integer type parameter is used to specify an integer procedure parameter. Integer procedure parameters have an allowable range for parameter value specified. At run time, the value of the expression specifying a parameter value must be an integer value, otherwise a run time error will occur.

For a parameter of type integer, configure the following characteristics via associated text entry boxes.

• High range - Value to be used as the upper range for the parameter value.

• Low range - Value to be used as the low range for the parameter value.

• Engineering unit - Type of engineering units represented by the value (e.g. binary count, state, etc.).

• Default value - Value to be used as the default value for the parameter.

String Type Parameters

The String type parameter is used to specify a procedure parameter that is an ASCII string (Figure 49).

For a parameter of type string, the user can configure the characteristic labeled Default Value. In the text entry box to the right of the label, enter the string to be used as the default value for the parameter.

In the case of the example parameter SoupName, no default name has been configured. This is because the name of the soup will vary with the ingredients, and a batch manager action block called Build Soup Name has been configured on the

Page 161: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Adding a Parameter

3BUA000146R4101 161

top level procedure to assemble a name for the soup based on the kind and percentages of the meat and vegetable ingredients.

List Type Parameters

The List parameter type is used to create a list of items that will be used during procedure configuration to provide the user with a set of specific possible choices (e.g., a choice of ingredients, grades of a product, or cooking temperatures). In the example shown in Figure 50, a list of meats has been created. This list will allow the operator to choose the type of meat to be used when a batch of soup is created.

For a parameter of type List, the following configuration items are available:

Add - When Add is clicked, the Enter List Item window (Figure 51) will appear.

Enter a list item in the text entry box. If you plan to enter more than one item, click Apply. The item in the text entry box will be added to the list in the Parameter Configuration window, and the Enter List Item window will remain open and ready to receive additional input. Clicking OK will exit the window and save any entry in

TC02273B

Figure 49. String Parameter Configuration Window

Page 162: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Adding a Parameter Section 5 Procedures

162 3BUA000146R4101

the text entry box. Click Cancel to exit the window without saving the current entry in the text box.

Delete - Select the item in the list to be deleted and click Delete. A confirmation window will query:

Delete selected items <item name>

TC02274B

Figure 50. List Parameter Configuration Window

TC02275A

Figure 51. Enter List Item Window

All items that have been added to the list using Apply will remain, even if the Cancel button is clicked on.

Page 163: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Adding a Parameter

3BUA000146R4101 163

Click Yes to delete the item from the list, or click No to exit the confirmation window without making any deletions.

Default Value - To enter a default value, click Default Value. The Default List Selection window will appear. This window is composed of a list box, an OK button and a Cancel button. The list box contains all of the list items which have been added to the choice list using Add in the Parameter Configuration window. Click the item in the list which will be used as the default and click OK. The name of the selected item will appear to the right of the Default Value button. Click Cancel to exit the Default List Selection window without selecting (or changing) the default value.

If no default is selected, the first item in the list is selected as the default value.

Equipment List Type Parameters

An Equipment List is a special parameter to a procedure. This procedure parameter type is used to specify the runtime equipment for a phase or BMA object that requires an equipment definition (e.g., acquire equipment, reserve equipment, or select equipment BMA). As shown in Figure 52, the available equipment and available groups that have been configured in the equipment database are passed to procedure configuration through the online equipment database.

Equipment list attributes that can be configured are:• Member list.• Default value.

When type Equipment List has been selected, clicking OK on the Add Parameter window (Figure 47) will cause a Parameter Configuration window similar to that in Figure 52 to be displayed.

The top portion of the Parameter Configuration window for an equipment list type parameter contains the usual Parameter name, Type, Description and Access Level items described earlier in this section. The bottom portion of the window contains list boxes, function buttons, OK and Cancel. The left list box is labeled Member List. Initially this list box is empty until equipment and groups are added to it. The middle list box is labeled Available Equipments. It contains a list of equipment created via equipment/SEM configuration. The list box on the right side of the equipment/group selection window is labeled Available Groups and contains a list of the equipment groups that have been configured in the equipment database.

Page 164: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Adding a Parameter Section 5 Procedures

164 3BUA000146R4101

The Add Equipment button, located below the Available Equipments list box, is used to add equipment, which were previously configured via equipment/SEM configuration, to the Member List box. Select the desired item in the Available Equipments list box and click Add Equipment. The selected equipment will be added to the Member List. To select multiple equipment for inclusion in the Member List, position the pointer on the first item to be added, then press and hold the left mouse button while dragging the mouse up or down to the last item desired. Release the mouse button and click Add Equipment. The highlighted items will be added to the Member List. When multiple pieces of equipment are to be added simultaneously, the selected items must be adjacent to each other in the list from which they are selected.

An equipment group is an entity composed of equipment or SEMs, which is configured via the Equipment/SEM option on the Equipment Configuration window. The Add Groups button is located below the Available Groups list box. It is used (like the Add Equipment button) to add a group or groups to the Member

TC02276B

Figure 52. Equipment List Parameter Configuration Window

Page 165: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Changing a Procedure Parameter

3BUA000146R4101 165

List box. The names of the equipment that compose each group will not appear in the Member List unless they were added individually via the Add Equipment button. They will, however, be visible in the default list selection window described below.

To enter a default value, click Default Value. The default list selection window is displayed. This window is composed of a list box, an OK button and a Cancel button. This list box contains all of the equipment in the Member List box, as well as equipment that are members of groups included in the Member List box. Select the desired equipment to select it and click OK to make that equipment the default value, or click Cancel to abandon the operation. It is not possible to select a group as the default value. If no default value is selected, the first item in the Member List is selected as the default value. If the first item happens to be a group, the default value will be the group item that is first when sorted alphanumerically.

To remove an entry from Member List, select the item to be deleted and click Remove From List. A confirmation box will query:

Delete selected members?

Click Yes to complete the delete operation, or click No to close the confirmation box without deleting any items.

All versions of the Parameter Configuration window contain the OK and Cancel buttons. Click OK to exit the window and complete the operation, or click Cancel to exit without saving changes to the Parameter Configuration window.

Changing a Procedure Parameter

To change the characteristics that define the parameter, click Edit. The Parameter Configuration window appropriate for the parameter type will be displayed (Figure 48, Figure 49, Figure 50, or Figure 52). From this point configuration is performed in the same manner as described for the add option. Refer to Adding a Parameter on page 156.

Specifying the equipment list type parameter in an acquire equipment BMA will result in only the value (equipment) being used. Specifying the equipment list type parameter in a select equipment BMA will result in the cost factor being used to determine which equipment to select.

Page 166: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Creating a Procedure Parameter Section 5 Procedures

166 3BUA000146R4101

Creating a Procedure Parameter

Once a parameter has been configured, it can be copied to a new name and then have changes made to it. This means that if a number of similar parameters are required, the additional ones need not be configured from scratch, saving time and effort. The Copy button on the procedure parameters display provides this feature. To copy a parameter, select the desired entry in the list box and click Copy. A window will appear, which contains a text entry box and the prompt:

Parameter

Enter the name of the parameter to be created and click OK. The window will close and the new parameter will be added to the list box. Click Cancel to exit without creating a new parameter.

Deleting a Procedure Parameter

To delete a parameter from the list box in the Procedure Parameters window, highlight the item to be deleted and click Delete. A confirmation box will appear that queries:

Delete selected items?<parameter name>

Click Yes to delete the parameter, or click No to exit without making the deletion.

Checks - Defining Parameter Relationships

The Checks button on the Procedure Parameters window is a tool that allows a relationship to be defined between parameters. For example, it may be that the sum of percentages of several ingredients must always equal 100 percent. In the following example, the percentages of meat, spices, vegetables and water are checked to verify that they add up to 100. The Checks button can also be used where sophisticated checks (beyond the capability of a simple range check) are needed for a single parameter.

Click Checks to display the Expression Editor window (Figure 53).

Initially the Expression Editor window is empty. To enter an expression, click Add. The Text Editor window (Figure 54) will be displayed.

Enter an expression and click OK. The Text Editor window will close, and the expression will be added to the end of the list in the Expression Editor window. The

Page 167: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Checks - Defining Parameter Relationships

3BUA000146R4101 167

expression is numbered automatically. The number indicates the position of the expression in the list. (A maximum of 15 expressions can be created in the Expression Editor window.)

Checks are performed in the order in which they appear in the Expression Editor window. This is important because in addition to calculating values, the check can also update variables. To change the order of the expressions, use the Move Up and Move Down buttons. Select the item to be moved and click Move Up to raise the item one place at a time in the list, or click Move Down to lower the item one place at a time. Move Up and Move Down work only when a single expression is selected.

Expressions defined on the Expression Editor window can include control system phase module atoms and global database atoms.

TC02277A

Figure 53. Expression Editor Window

TC02278A

Figure 54. Text Editor Window

Page 168: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring the PFC Section 5 Procedures

168 3BUA000146R4101

To revise an expression, select the expression and click Edit. A Text Editor window containing the expression will be displayed. Edit the expression as necessary in this window.

To delete an expression, select it and click Delete. A confirmation window will be displayed which prompts:

Delete selected items?

Click Yes to complete the delete operation or click No to exit without deleting anything.

To delete multiple expressions, position the pointer on the first item to be selected, then press and hold the left mouse button while dragging the pointer across the other items to be deleted. Click Delete when all expressions to be deleted have been highlighted. Multiple deletions can be performed only on adjacent expressions.

If the conditions stipulated via the Expression Editor window are not met when the Checks button is used or batch is scheduled, the batch manager will report that the check has been violated.

Click OK to exit the Procedure Parameters window, or click Cancel to exit without saving any changes made during the configuration session.

Configuring the PFCSo far, the nongraphical aspects of procedure configuration have been discussed:• Administrative information (the procedure header).• Text representation of the procedure (the SOP).• Definition of named values for the procedure (procedure parameters).

The next step is to create a procedure function chart in the working view of the Procedure Configuration window (Figure 39). The procedure function chart (PFC) is a graphical representation of the procedure. It is very similar to a sequential function chart, representing the process as a series of steps or transitions. Because a procedure for a very complex process would not fit clearly on a single chart, the solution is to break the process down into smaller portions or subprocedures, which have a beginning and an end, and can stand alone to perform a part of the process. This technique takes advantage of the flexibility of the batch management subsystem, in which subprocedures of limited functionality can be configured to serve as reusable components in higher level procedures. Using this hierarchical

Page 169: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Procedure Objects

3BUA000146R4101 169

structure, a procedure block on the top level PFC is used to call a lower level subprocedure, much in the manner that a computer program calls a subroutine. Subprocedures, in turn, can contain procedure blocks to call other subprocedures, allowing the user to nest subprocedures one within another. The number of levels or layers used in procedure configuration is left to the configurer. Refer to Section 2, Description and Operation for general information on configuration strategies.

By creating simple subprocedures that perform a simple action a modular approach is developed to configure procedures and in the process build up a library of reusable subprocedures.

While design of the batch process is best accomplished in a top down manner (i.e., seeing the process and breaking it down into smaller, more manageable component parts), the actual configuration of the procedures and subprocedures is best accomplished by working from the bottom up. If subprocedures are configured first, they are then available to be referenced from procedures on higher level procedures. Procedure parameters configured in the subprocedure are then available for passing values from higher level procedures. Refer to Configuring Phase Blocks on page 188.

The procedure function chart is a convenient, object oriented method of creating graphical representations of procedures and subprocedures. Using the mode window’s procedure object create control panel, procedures and subprocedures are created by placing objects representing phases, procedures and batch manager actions in a child window in the Procedure Configuration window and joining them together with connectors. Refer to Procedure Configuration Windows on page 137.

Procedure Objects

Refer to the Procedure Object Control Panel on page 144, for information about the procedure objects that can be placed on the PFC.

Assigning Procedure Boundaries - Start and End Objects

There must be one start object and one end object per PFC. This means there can be only one procedure on a PFC, and an individual procedure must be complete on a single PFC. That is, it must begin with a start object and terminate with an end object. If the procedure is too complex to fit on a single PFC, then smaller, stand alone subprocedures must be created, which are referenced or called using

Page 170: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Balancing Procedure Elements and Actions Section 5 Procedures

170 3BUA000146R4101

procedure blocks on higher level procedures. Each subprocedure must also contain a single start object and a single end object.

Balancing Procedure Elements and Actions

A number of objects and actions must be balanced by complementary objects and actions when used in a PFC. This is readily apparent where objects are provided in pairs: start and end objects must both appear on a PFC. A parallel end must eventually follow a parallel start and a branch start must be followed by a branch end. To create a loop condition on the PFC, the branch end and branch start are reversed, as shown in Figure 34 in the tank selection loop.

Less obvious are batch manager actions that must be used in balanced pairs in a procedure. All BMA objects use the same object on the PFC. However, their functions vary widely. Use Procedure > Assign Object to assign a type to a BMA object and a label that will appear on the object. BMA objects that should be used in pairs include:• Select equipment/deselect equipment.• Acquire equipment/release equipment.• Reserve equipment/unreserve equipment.

It may be useful to place the complementary portion of a pair to the PFC immediately after the initial object is added. This will prevent it from being omitted, and it can be moved into its correct position and configured at a later time.

Assigning Restart Points

Restart points allow the restarting of a control (runtime) procedure that is already active, including restart of procedure blocks that have already completed. Restart points can be designated during procedure configuration when BMA, phase, procedure and transition blocks are configured. The assignment is made by selecting Procedure Restart Point in the configuration window (that is, the BMA editor, Procedure Operation Assignment, Phase Operation Assignment, or Transition Configuration window) of the object.

Restart points can also be configured for the start, parallel start and branch start objects. Click one of these objects to select it and select Procedure > Assign Object. The Procedure Restart Point window will open, which contains a single button. When this button is selected the selected object is designated as a restart

Page 171: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Allocating and Deallocating Batch Equipment

3BUA000146R4101 171

point. Restart points cannot be assigned to a BMA, phase, procedure block or transition block that is within a parallel operation (that is, if it is between parallel start and parallel end objects). This includes BMA, phase, or procedure blocks which are contained in the normal thread of a procedure where it runs in parallel with an exception procedure. In this case, the exrestart() function can be used to restart procedure blocks that lie within the bounds monitored by the exception procedure. Refer to Runtime Characteristics of the Exception Procedure on page 225.

If a restart point is assigned to a block that is located within a parallel operation, it will be detected and removed when Save or Check Procedure is used.

For information on how to use Pick restart point in an operator window to restart a BMA, phase, procedure or transition block on a control procedure, refer to the Batch Management Operation instruction.

Allocating and Deallocating Batch Equipment

Complementary batch manager actions are provided for allocation and deallocation of equipment. These include:• Acquire equipment BMA and release equipment BMA.• Reserve equipment BMA and unreserve equipment BMA.• Select equipment BMA and deselect equipment BMA.

The acquire equipment BMA is typically used in low level procedures (that is, procedures categorized as operations or unit procedures) that execute phases, to ensure exclusive access to a piece of equipment or shared equipment module (SEM). At any given time, only one thread of one batch can acquire a particular piece of equipment or SEM.

Equipment must be reserved or acquired before a phase is run in that equipment. This ensures that only one thread of one batch is running phases on a particular piece of equipment at one time. For example, once batch B has acquired the equipment U, any other BMA block that attempts to acquire equipment U will wait (that is, it will not complete) until batch B has released equipment U. This is true even for a BMA performed in a parallel thread of batch B itself.

A procedure that acquires a piece of equipment should always release the equipment when it has finished with it. That is, acquire equipment BMAs and release equipment BMAs should always be used in complementary pairs.

Page 172: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring PFC Block Labels Section 5 Procedures

172 3BUA000146R4101

The reserve equipment BMA is typically used in a higher level procedure (i.e., a procedure categorized as a batch procedure) to reserve a piece of equipment when exclusive access to the equipment is required during execution of multiple subprocedures, each of which can independently acquire and release the equipment. However, it is not necessary for the subprocedures to acquire the equipment. Reserving the equipment by the higher level procedure ensures its availability for all nested subprocedures. For example, once batch B has reserved the equipment U, no other batch will be permitted to acquire, select, or reserve equipment U until batch B unreserves U. It is not necessary for batch B to also acquire equipment U before running phases in equipment U. Reserving the equipment is enough.

A piece of equipment cannot be reserved by a batch if the equipment has been acquired, selected, or reserved by any other batch. However, if batch B has already reserved or acquired equipment U, batch B can reserve equipment U again before releasing it. This allows the reserve equipment BMA to be used in a nested fashion in multiple level procedures.

A procedure that reserves a piece of equipment should always unreserve the equipment. That is, reserve equipment BMAs and unreserve equipment BMAs should always be used in complementary pairs.

Once a batch has selected a particular piece of equipment, the batch must still acquire the equipment before running phases in it. A piece of equipment cannot be selected by a batch if the equipment has been acquired, reserved, or selected by any other batch.

A procedure that selects a piece of equipment should always deselect the equipment. That is, select equipment and deselect equipment BMAs should always be used in complementary pairs.

Configuring PFC Block Labels

Each PFC block has a label associated with it. This label can be a static text, or it can be a string type expression enclosed in back-quote characters:

‘expression‘

Double quotation marks (" ") can not be used in static text labels.

Page 173: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring PFC Block Labels

3BUA000146R4101 173

If the label text is defined using an expression, it is recomputed periodically and the PFC label is updated accordingly. Expressions can use (in addition to any standard Batch Management function):• Procedure parameters (in the format ‘parameter_name’).• Block parameters (in the format ‘parameter_name’).• Built-in constants:

__current: 1 when the block is active, 0 when not.__display: 0 – label is computed in context of PFC editor.

1 - label is computed in context of PFC runtime display.2 - label is computed in context of batch overview.

__name: name of the current PFC block (phase alias name or procedurename).

For the PFC display the resulting label is truncated to 3 lines * 15 characters. For the batch overview new lines (use \n notation to insert new line into character constant) are replaced with spaces.

There are many different ways to use this flexible functionality. However, the following procedure for making dynamic phase labels is probably the simplest:

1. Create a following function using function wizard (gpl – get phase label):func gpl() {

if (__display == 0) {return __name + "\\n(Dynamic)"

}if (__current == 0) {

return __name}if (narg() > 0) {

un = $1} else {un = __unit}if (un == "") {

return __name}return evals(attgets(un, "lbl_" + __name))

}

Page 174: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Acquiring Equipment for Immediate Use Section 5 Procedures

174 3BUA000146R4101

This function will display the phase name with indication that this is a dynamic label during configuration. At run time, if the block is not active, it will display the phase name. If the block is active, it will retrieve and evaluate a specified equipment attribute (lbl_Heat for phase name Heat). This function can be called with zero or one parameter. If no parameters are specified, built-in constant __unit is used as a equipment name.

2. Configure label equipment attributes to contain desired expressions:

For example (attribute lbl_Heat on equipment F1):‘__name‘:‘__unit‘\nFTemp:‘Temp‘\nCTemp:‘get(attgets(__unit, "tagTemperature"))‘

This will result in the following display at run time when the block is active:

Heat: F1FTemp: 120CTemp: 85

The label displays phase name, equipment name, final (FTemp) and current (CTemp) temperatures.

3. During the PFC label configuration, specify the dynamic label like this:‘gpl()‘

Make sure that the label equipment attribute is defined for all possible equipment this phase can be executed on.

Acquiring Equipment for Immediate Use

The acquire equipment batch manager action is used to acquire one or more pieces of equipment for immediate use by a single thread of a procedure during execution of a batch process. A piece of equipment that has been acquired is available for use by the specific thread of the procedure in which the acquire equipment BMA was performed, and no other thread in the procedure can use the equipment.

To configure an acquire equipment BMA, position the pointer and click on the BMA object. Select Procedure > Assign Object to display the BMA Editor window. If no configuration has yet been performed for the object, the window will contain a combo box labeled Action Type containing the word Unspecified. A text entry box for the objects label will appear below the Action Type box (Figure 55).

Page 175: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Acquiring Equipment for Immediate Use

3BUA000146R4101 175

Click the Action Type down arrow to view the list of all the available batch manager actions. Select Acquire Equipment. The Action Type box will then display Acquire Equipment, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 56).

The example shown in Figure 56 illustrates the configuration for the Acquire Ingred. Equipment BMA in the SoupAddIngred PFC.

The items that can be configured for this batch manager action include a label that will be displayed in the center of the BMA block on the PFC, and an Equipment List that specifies which pieces of equipment are to be acquired by this BMA. Clicking the expand entry button (...) to the right of the Equipment List text box causes an equipment list Text Editor window (Figure 57) to appear.

This window shows all the items that have been selected. It can be used to add items to the list. Clicking List will cause the Available Equipment window (Figure 58) to be displayed, listing the equipment list procedure parameters configured for the procedure. To add an item to the Acquire Equipment list, select an item and click

TC02279B

Figure 55. Unspecified Action Types

TC02280B

Figure 56. Acquire Equipment Action Type

Page 176: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Releasing Equipment Section 5 Procedures

176 3BUA000146R4101

OK. The items will be added to the list in the Equipment List Editor window. It is possible to enter the names of equipment list procedure parameters such as MeatUnit, VegeUnit, etc., which were configured via the Define Parameters menu item. Refer to Equipment List Type Parameters on page 163. In the case of the SoupAddIngred PFC, a number of pieces of equipment are acquired simultaneously by an acquire equipment BMA, making all immediately available to that procedure thread so that a number of different ingredients can be added at the same time.

Each acquire equipment BMA should be paired with a release equipment BMA to free the equipment for use by other procedure threads when the current thread has no further need for it. Refer to Releasing Equipment on page 176.

Releasing Equipment

The release equipment batch manager action is used to free one or more pieces of equipment that were previously acquired by a procedure thread using an acquire equipment BMA. Once equipment has been released, it is available for use by other

TC02281B

Figure 57. Equipment List Text Editor Window

TC02282B

Figure 58. Available Equipment Window

Page 177: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Releasing Equipment

3BUA000146R4101 177

threads within the batch or, if the equipment was not reserved by the batch, to other batches.

Configuration of the release equipment BMA is accessed in the same manner as an acquire equipment BMA. Select the object and select Procedure > Assign Object. Refer to Acquiring Equipment for Immediate Use on page 174. When Action Type > Release Equipment is selected, the Action Type box will display Release Equipment, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 59).

The example illustrates the configuration for the Release Ingred. Equipment BMA in the SoupAddIngred PFC (Figure 33).

Configuration for the release equipment BMA is similar to the acquire equipment BMA. The items that can be configured for this batch manager action include a label that will be displayed in the center of the BMA block on the PFC, and a Equipment List that specifies which pieces of equipment are to be released by this BMA. Clicking the expand entry button (...) for the Equipment List box causes a text editor like that in Figure 57 to appear.

This window is identical in use and appearance to the equipment list Text Editor window for the acquire equipment BMA, and is shown in Figure 57. Clicking List will cause the Available Equipment window (Figure 58) to be displayed, listing the equipment list procedure parameters configured for the procedure. It is possible to enter the names of equipment list procedure parameters such as MeatUnit, VegeUnit, etc., which were configured via the Define Parameters menu item (refer to Equipment List Type Parameters on page 163). In the case of the SoupAddIngred

TC02283B

Figure 59. Release Equipment Action Type

Page 178: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Reserving Equipment Section 5 Procedures

178 3BUA000146R4101

PFC, all five pieces of equipment are released simultaneously by a release equipment BMA.

Reserving Equipment

The reserve equipment batch manager action is used to reserve equipment for future use during execution of a batch process. Equipment that is reserved cannot be used by another procedure. Once a high level procedure has reserved a piece of equipment for a batch, there is no need for subprocedures used in running the batch to also acquire the equipment. The equipment is reserved for the exclusive use of that batch until the batch has been completed.

When the procedure is running, the equipment will be marked as reserved in the equipment overview. The equipment overview is a display available to the operator that shows the equipment configured in the equipment database. Refer to the Batch Management Operation instruction for a description of the equipment.

Configuration of the reserve equipment BMA is accessed in the same manner as an acquire equipment BMA. Select the object and choose Procedure > Assign Object. Refer to Acquiring Equipment for Immediate Use on page 174. When Action Type > Reserve Equipment is selected, the Action Type box will display Reserve Equipment, and the BMA editor window will be revised to include configuration items available for this type of batch manager action (Figure 60).

The example shows the configuration for the BMA object labeled Reserve Cooker found on the SoupRecipe PFC (Figure 32). The first configuration item is a text entry box in which the label for the BMA block on the PFC is entered. Text entered here will be centered within the object on the PFC.

TC02284B

Figure 60. Reserve Equipment Action Type

Page 179: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Unreserving Equipment

3BUA000146R4101 179

The next item to be configured is a text entry box labeled Equipment List. Click the expand entry button (...) to the right of this box to display the equipment list Text Editor window (Figure 57). This window shows all the items that have been selected. It can be used to add items to the list.

To view a list of available equipment list procedure parameters, click List at the bottom of this window. The Available Equipment window (Figure 58) will be displayed.

To add an item to the Reserve Equipment list, select the item and click OK. The items will be added to the list in the equipment list Text Editor window. The names of equipment list type parameters (e.g., selcooker) can be manually entered in the equipment list Text Editor window.

When the reserve equipment BMA is used in a top level PFC, the equipment that is reserved must also be reserved in each subprocedure in order for the subprocedure to be run independently. (If the subprocedure will not be run independently, this is not required.)

Each reserve equipment BMA should be paired with an unreserve equipment BMA to free the equipment when the procedure has no further need for it.

Unreserving Equipment

The unreserve equipment batch manager action is used to free equipment reserved earlier in the procedure by a reserve equipment BMA and return it to the available pool of equipment, once the batch has finished with it.

Configuration of the unreserve equipment BMA is accessed in the same manner as an acquire equipment BMA. Select the object and choose Procedure > Assign Object. Refer to Acquiring Equipment for Immediate Use on page 174. When Action Type > Unreserve Equipment is selected, the Action Type combo box will display Unreserve Equipment, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 61).

Configurable items include a label that will be displayed on the object, and an equipment list. This item is configured in the same manner as it is for the reserve equipment BMA. That is, enter the name of an equipment list directly in the text entry box, or click the expand entry button (...) to the right of the text entry box to

Page 180: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Selecting Equipment Section 5 Procedures

180 3BUA000146R4101

access the equipment list Text Editor window (Figure 57), and make selections using List in this window.

Selecting Equipment

The select equipment batch manager action is used to select equipment for use during execution of the batch when a number of similar pieces of hardware equipment is available. Selection is based on a cost factor and an equipment parameter supplied during configuration. The equipment parameter is actually an equipment list procedure parameter configured using Procedure > Define Parameters. Refer to Equipment List Type Parameters on page 163.

Configuration of the select equipment BMA is accessed in the same manner as an acquire equipment BMA. Select Procedure > Assign Object. Refer to Acquiring Equipment for Immediate Use on page 174. Select Action Type > Select Equipment, the Action Type box will display Select Equipment, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 62).

The example shows the configuration for the BMA object labeled Select Cooker found on the SoupRecipe PFC (Figure 32). The first item to be configured is the label. The text entered here will be displayed on the object. Text will be centered within the object.

The next item to be configured is a text entry box labeled Equipment Parameter. Click the expand entry button (...) to the right of this text entry box. A pop-up window similar to that shown in Figure 63 will be displayed. This pop-up window contains a list of all the equipment list procedure parameters configured for the procedure. Equipment list parameter configuration is discussed in Equipment List

TC02286B

Figure 61. Unreserve Equipment Action Type

Page 181: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Selecting Equipment

3BUA000146R4101 181

Type Parameters on page 163. Configuration of the selcooker parameter is shown in Figure 52. Select the desired item and click OK to complete the selection operation. In the example, the equipment parameter selcooker was selected. The member list for selcooker contains the equipment C1, C2 and C3. Click Cancel to exit without making a selection.

The last item to be configured for the select equipment BMA is a text entry box labeled Cost Factor. A value or an expression to be used in determining which equipment to choose is entered here. Refer to Appendix A, Configuring Batch Variables and Expressions for details on batch expressions and variables. The default cost factor is one, a numeric constant. A cost factor of one means that any

TC02287B

Figure 62. Select Equipment Action Type

TC02288B

Figure 63. Equipment Parameter Selection Window

Page 182: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Deselecting Equipment Section 5 Procedures

182 3BUA000146R4101

available equipment in the list represented by the equipment parameter can be selected. Do not expect selection of a particular equipment based on status of other equipment, list position, etc.

In the example in Figure 62, the following expression was used:

attget(__unit,"Size") - num(SoupAmt)

This expression is evaluated against all the equipment in the list represented by the equipment parameter, with the built-in variable __unit assuming the value of each piece of equipment in the list represented by the equipment parameter selcooker. For example, the equipment C1, C2 and C3 were configured in the equipment database. As each equipment is evaluated, the Size attribute for the current equipment is obtained by the attget function. The equipment that produces the smallest positive value will be selected.

A corresponding deselect equipment BMA should also be configured on the PFC to free the equipment when the procedure has no further need for it. Refer to Deselecting Equipment on page 182.

Deselecting Equipment

The deselect equipment batch manager action is used to deselect the equipment that was chosen via the select equipment BMA that precedes it. Use the same equipment parameter configured in the select equipment BMA when configuring the corresponding deselect equipment BMA.

Configuration of the deselect equipment BMA is accessed in the same manner as an acquire equipment BMA. Select the object and select Procedure > Assign Object. When Action Type > Deselect Equipment is selected, the Action Type box will display Deselect Equipment, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 64).

Two underscore characters precede the word unit in the _unit built-in variable name.

1. The num function forces the value on which it acts [SoupAmt] to be interpreted as a numeric value rather than as an ASCII string.

2. The variable __unit can also be used with the deselect equipment batch manager action.

Page 183: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring PFC Function Blocks

3BUA000146R4101 183

Configurable items include a label that will be displayed on the object and an equipment parameter. This item is configured in the same manner as it is for the select equipment BMA. That is, enter the equipment name or group name directly in the text entry box, or click the expand entry button (...) to the right of the text entry box to access the Equipment Parameter Selection window (Figure 63), and make a selection from the window.

Configuring PFC Function Blocks

Configuring Procedure Blocks

As discussed at the beginning of this section, complex processes can be broken down into smaller portions or subprocedures that have a beginning and an end and can stand alone to perform part of a process. When a new procedure is created, a window requests the selection of a procedure type. Available types include recipe procedure, unit procedure, operation and exception procedure. Refer to Table 19 for more information about procedure types.

TC02289B

Figure 64. Deselect Equipment Action Type

Table 19. Procedure Types

Type Description

Recipe procedure Used for the top level procedure. When the S88 Option is selected, it cannot be used as a subprocedure.

Unit procedure Set of operations or phases that execute on a piece of equipment.

Page 184: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring Procedure Blocks Section 5 Procedures

184 3BUA000146R4101

Unit procedures, operations, and exception procedures can be used as subprocedures.

On a PFC, the procedure block is used to represent a lower level procedure. To configure the procedure block, click Proced. on the procedure object create control panel and position the object in the desired location in the working view. Click the right mouse button to exit the object addition mode. Select the object and click the center mouse button. The Procedure Operation Assignment window will be displayed.

If no configuration has yet been performed for the object, the window will contain a button labeled Procedure with the word Unspecified following the button. A text entry box for the object’s label will appear below the Procedure button (Figure 65). If no label is entered, the name of the procedure that is selected will be used by default and will appear on the procedure block on the PFC. The area below the text entry box will display the message:

No parameters defined

Alternatively, select the object Procedure > Assign Object on the Procedure Configuration window. The Procedure Operation Assignment window is displayed.

Operation Phase or sequence of phase executions within a piece of equipment.

Exception procedure Can be used in parallel with any of the other types.

TC02290B

Figure 65. Procedure Operation Assignment Window

Table 19. Procedure Types (Continued)

Type Description

Page 185: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring Procedure Blocks

3BUA000146R4101 185

Click Procedure to display the Select Procedure window (Figure 66).

This window allows selection of a procedure of the type enabled in the Procedure Filter area of the window. If the S88 option is enabled, only certain types of procedures can be nested under each procedure. Select the desired procedure in the Procedures area of the window.

When a procedure has been selected, the Procedure Operation Assignment window will be revised to reflect that selection, and will be expanded if necessary to include any procedure parameters that have been configured for the selected procedure which the procedure block will represent. For example, Figure 67 illustrates the Procedure Operation Assignment window for the procedure block that will represent the SoupProcIngred subprocedure.

TC02291B

Figure 66. Select Procedure Window

Page 186: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring Procedure Blocks Section 5 Procedures

186 3BUA000146R4101

The parameter description and preconfigured value (if any) will be displayed for each parameter. Following this information is a text entry box for each parameter. It is this feature which allows new assignments to be configured for the parameters of the lower level procedure from the higher level procedure. Entries that can be made here include names of parameters configured for the higher level procedure currently being configured, expressions and constants.

In Figure 67, a parameter called _SoupAmt was configured for the subprocedure SoupProcIngred. The name of the parameter (SoupAmt, with no leading underscore character) configured for the higher level procedure (SoupRecipe) has been entered in the text entry box. This means that when the procedure is executed, the value entered for the parameter SoupAmt will be passed down to the subprocedure SoupProcIngred. This is important because when values are entered manually by the operator at run time via the Parameters button on the Batch Schedule window, only the parameters for the top level procedure SoupRecipe will be displayed and available to accept input.

To view other possible assignments that have been configured for the parameter, click the expand entry button found to the right of each text entry block. A parameter window will be displayed which contains other possible selections

TC02292B

Figure 67. Procedure Selection Window Including Procedure Parameters

Parameters in the different procedures could be given identical names. In this case the names have been configured with a slight difference (_SoupAmt and SoupAmt) to avoid confusion.

Page 187: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring Procedure Blocks

3BUA000146R4101 187

configured for the subprocedure parameter. It is also possible to change the access level required to change the parameter from this window. Figure 68 illustrates the parameter window for _SoupAmt.

Procedure parameter values can be passed from higher level procedures to lower level procedures. To do this, corresponding parameters must be configured in both the higher level procedure and the subprocedure. When a procedure block is placed on a PFC, procedure parameters configured in the subprocedure named in the procedure block can be exported to the higher level procedure currently under configuration by using Export found at the bottom of the parameter window. This removes the need to manually add the parameter to the current procedure via Procedure > Define Parameters. To use this feature, click Export. A window will be displayed that contains a text entry box labeled Parameter, an OK button, and a Cancel button. Enter the name to be used for the parameter in the current procedure and click OK to complete the export operation. The contents of the parameter window text box will be updated to reflect the name used to export the parameter. Click Cancel to exit without exporting the parameter.

TC02293B

Figure 68. Parameter Window for _SoupAmt

Page 188: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring Phase Blocks Section 5 Procedures

188 3BUA000146R4101

To verify that the export operation was successful, select Procedure > Define Parameters. An entry for the exported parameter will appear in the list box of the resulting Procedure Parameters window. An example of this window and discussion of procedure parameter configuration can be found in Configuration of Procedure Parameters on page 156.

Configuring Phase Blocks

Phase blocks (also referred to as phase objects) are placed on a PFC to represent phases that were defined in the equipment database. Refer to Section 3, Equipment Configuration (Batch Advanced Templates). When the phase block is reached on the PFC, it will be executed in the equipment specified for it in the Phase Operation Assignment window. This information is specified during configuration of the phase object.

Configuration of a phase object is accessed in the same manner as configuration of a BMA object. Select the phase object and choose Procedure > Assign Object. The Phase Operation Assignment window (Figure 69) will be displayed.

The Phase Operation Assignment window is used to specify:

• The phase alias name of the phase the object represents.

• The equipment or group of equipment (using equipment list type parameter) on which the phase will run.

TC02294C

Figure 69. Phase Operation Assignment Window

Page 189: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring Phase Blocks

3BUA000146R4101 189

• The label to be displayed on the phase object in the PFC. If none is specified, the phase alias name will be used.

• Procedure specific values for the phase parameters associated with the phase represented by the selected phase alias name.

• Pre- and post-compute expressions.

Figure 69 is an example of a Phase Operation Assignment window. When opening the window for a phase object newly added to the PFC, the Phase, Label, and Phase Parameter portion of the window will not be filled in. The Module Index will be filled in with the default, 1. What is filled in for the equipment depends on whether or not equipment list procedure parameters have already been defined for the procedure, and, if so, how many. If no equipment list procedure parameter has already been defined for the procedure, then the equipment will be shown as Unspecified. If a single equipment list procedure parameter has been configured, then the name of that procedure parameter will be filled in and a P will follow in parentheses to indicate that the name is a parameter rather than an equipment name. If more than one equipment list type procedure parameter exists for the procedure, the system will not make an assumption about which to use. The equipment will be Unspecified.

If the equipment is Unspecified or the assignment needs to be changed, click Equipment to display the Phase Equipment Selection window, similar to the example shown in Figure 70.

TC02295B

Figure 70. Phase Equipment Selection Window

Page 190: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring Phase Blocks Section 5 Procedures

190 3BUA000146R4101

The options at the top of the Phase Equipment Selection window are Equipment List Parameter and Equipment. The Equipment List Parameter option is selected by default, and a list box displays all of the procedure parameters of the Equipment List type that have been configured for the procedure.

To configure the phase to always execute on the same equipment, enable the Equipment option and select the name of the desired equipment. If the equipment on which the phase executes should be configurable at run time, or should be determined by the batch manager during batch execution, enable the Equipment List Parameter option.

Click OK to complete the selection operation, or click Cancel to exit without selecting a new item. If a Equipment List Parameter was selected, the indicator P will appear to the right of the equipment name at the top of the Phase Operation Assignment window. If a specific piece of equipment was selected, no indicator will appear.

If the assigned equipment or equipment parameter has been deleted, the red message Not Found will appear to the right of the equipment name. If the equipment parameter exists but contains no equipment, the message Empty will appear to the right of the equipment name.

Below the Equipment button on the Phase Operation Assignment window is a text entry box labeled Module Index. The default module index is 1. Processing more than one phase on a piece of equipment simultaneously will require a unique entry in the Module Index field for each phase. An expression can be entered or the mindex function can be used to locate the first unused module index for the specified equipment at run time.

The next item in the Phase Operation Assignment window is the Phase button. When this button is clicked, the Phase List window (Figure 71) will appear. This window contains a list of all the phase alias names for the phases associated with the selected equipment during configuration of the equipment database. If a equipment list procedure parameter has been selected, the list will show only those phases common to all members of the list.

Select the desired phase alias name and click OK to complete or Cancel to abort the selection process. The selected phase name will be displayed to the right of the Phase button on the Phase Operation Assignment window. When a phase alias name is selected or changed, the lower portion of the Phase Operation Assignment

Page 191: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring Phase Blocks

3BUA000146R4101 191

window will be automatically revised to reflect the change. If phase parameters were configured for the selected phase name, the bottom portion of the Phase Operation Assignment window will be updated to list the phase parameters and include text entry capability to change them. If the selected phase alias represents more than one equipment phase, then the parameter list shown will be a union of all parameters for all equipment phases represented by the phase alias. Refer to Section 2, Description and Operation for more information about phase parameters and their relationship to procedure parameters.

If the assigned equipment no longer exists, or if an empty equipment list parameter has been assigned, the red message displayed next to the phase name selected is:

Not Found

If the phase was previously configured, then the equipment assignment was changed to a piece of equipment that does not support the configured phase, the message displayed next to the phase name selected is:

==> Invalid

In either case, select Define Parameters (refer to Procedure Parameters on page 153) and use Compute (refer to Equipment List Type Parameters on page 163) on the assigned equipment list parameter to have the system automatically include all equipment that is valid for the selected phase.

Phase parameters (configured in the equipment database) for phases that appear in the lower portion of the Phase Operation Assignment window can be exported to the

TC02296B

Figure 71. Phase List Window

Page 192: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring Phase Blocks Section 5 Procedures

192 3BUA000146R4101

procedure currently under configuration, bypassing the need to manually configure corresponding parameters via Procedure > Define Parameters. The method for exporting phase parameters is similar to that used for exporting procedure parameters from lower level procedures named in a procedure block to higher level procedures. Refer to Configuring Procedure Blocks on page 183.

To use this method, choose one of the phase parameters, to export, in the lower portion of the Phase Operation Assignment window and click the expand entry button (...). A window similar to that shown in Figure 68 will be displayed. Click Export at the bottom of the parameter window. A window will be displayed which contains a text entry box labeled Parameter. Enter the name to be used for the corresponding procedure parameter in the current procedure and click OK to complete the export operation. The contents of the parameter window text box will be updated to reflect the name used to export the parameter. Click Cancel to exit without exporting the phase parameter.

To verify that the export operation was successful, select Procedure > Define Parameters. An entry for the exported parameter will appear in the list of procedure parameters. An example of this window and discussion of procedure parameter configuration can be found in Procedure Parameters on page 153.

Below the Phase button is the Label box. Text entered here via the text entry box or the text editor window (available by clicking on the expand entry [...] button), will appear in the phase object on the PFC. While there is no limit on the ability to enter text, the phase object was designed to contain a maximum of three lines containing 15 characters each. If more characters and/or lines are entered, the text will be centered on the phase object and will spill out to the right of the phase object. It is best to keep the label simple and enter additional relevant information via Procedure > Attach Notes (Figure 72).

The main portion of this window is a text entry area. To include a previously configured file in the procedure notes, click Import. The import window will be displayed.

The Pre-Compute and Post-Compute buttons are used to enter expressions before (Pre-Compute) the phase is run or after (Post-Compute) the phase reaches a final state (complete, stopped, or aborted). Any expression that can be used in a compute BMA can be used as a pre-compute or post-compute expression. An asterisk in the Pre-Compute or Post-Compute buttons indicates that an expression has been entered.

Page 193: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring Extension Action Blocks

3BUA000146R4101 193

Configuring Extension Action Blocks

Extension action blocks on a PFC represent previously configured actions. When the extension action block is reached on the PFC, the action specified in the Extension Action Assignment window is executed.

Configuration of an extension action object is accessed in the same manner as configuration of a BMA object. Select the extension action object and choose Procedure > Assign Object. The Extension Action Assignment window (Figure 73) will be displayed.

TC02355B

Figure 72. Procedure Notes Configuration Window

Manufacturing Management extensions must be loaded into the system before extension action blocks can be configured and used.

TC06163A

Figure 73. Extension Action Assignment Window

Page 194: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring Extension Action Blocks Section 5 Procedures

194 3BUA000146R4101

The Extension Action Assignment window is used to specify:

• The action definition containing the action to be performed.

• The action to be performed.

• The alias name of the action the object represents.

• The label to be displayed on the extension action object in the PFC. If none is specified, the extension action alias name will be used.

• Procedure specific values for the phase parameters associated with the action represented by the selected alias name.

• Pre- and post-compute expressions.

Figure 73 is an example of an Extension Action Assignment window. When opening the window for an extension action object newly added to the PFC, the Action Definition, Action, Alias, Label, and parameter portion of the window will not be filled in.

If the action is unspecified or the assignment needs to be changed, click Action Definition to display the Action Definition Selection window. An action definition is a group of defined actions. Select the appropriate action definition (MM_ExtActDefCategory for example) and click OK.

The next item in the Extension Action Assignment window is the Action button. When this button is clicked, the Extension Action Selection window (Figure 74) will appear. This window contains a list of all the actions associated with the selected action definition.

Select the desired action alias name and click OK to complete or Cancel to abort the selection process. The selected action name will be displayed to the right of the Action button in the Extension Action Assignment window. When an action alias name is selected or changed, the lower portion of the Extension Action Assignment window will be automatically revised to reflect the change. If action parameters were configured for the selected action name, the bottom portion of the Extension Action Assignment window will be updated to list the action parameters and include text entry capability to change them. If the selected action alias represents more than one action, then the parameter list shown will be a union of all parameters for all actions represented by the action alias.

Page 195: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring Extension Action Blocks

3BUA000146R4101 195

Action parameters that appear in the lower portion of the Extension Action Assignment window can be exported to the procedure currently under configuration, bypassing the need to manually configure corresponding parameters via Procedure > Define Parameters. The method for exporting action parameters is similar to that used for exporting procedure parameters from lower level procedures named in a procedure block to higher level procedures. Refer to Configuring Procedure Blocks on page 183.

To use this method, choose one of the action parameters, to export, in the lower portion of the Extension Action Assignment window and click the expand entry button (...). A window similar to that shown in Figure 68 will be displayed. Click Export at the bottom of the parameter window. A window will be displayed which contains a text entry box labeled Parameter. Enter the name to be used for the corresponding procedure parameter in the current procedure and click OK to

TC06165A

Figure 74. Extension Action Selection Window

Page 196: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Counting Phase Parameters Section 5 Procedures

196 3BUA000146R4101

complete the export operation. The contents of the parameter window text box will be updated to reflect the name used to export the parameter. Click Cancel to exit without exporting the action parameter.

To verify that the export operation was successful, select Procedure > Define Parameters. An entry for the exported parameter will appear in the list of procedure parameters. An example of this window and discussion of procedure parameter configuration can be found in Procedure Parameters on page 153.

Below the Alias button is the Label box. Text entered here via the text entry box or the text editor window (available by clicking on the expand entry [...] button), will appear in the action object on the PFC. While there is no limit on the ability to enter text, the action object was designed to contain a maximum of three lines containing 15 characters each. If more characters and/or lines are entered, the text will be centered on the action object and will spill out to the right of the action object. It is best to keep the label simple and enter additional relevant information via Procedure > Attach Notes (Figure 72).

The main portion of this window is a text entry area. To include a previously configured file in the procedure notes, click Import. The import window will be displayed.

The Pre-Compute and Post-Compute buttons are used to enter expressions before (Pre-Compute) the action is run or after (Post-Compute) the action reaches a final state (complete, stopped, or aborted). Any expression that can be used in a compute BMA can be used as a pre-compute or post-compute expression. An asterisk in the Pre-Compute or Post-Compute buttons indicates that an expression has been entered.

Counting Phase Parameters

Select Procedure > Count Phase Params to provided a quick method of obtaining the number of phase parameters used by each object in a PFC. The Parameter Counts window (Figure 75) will be displayed.

Information displayed in the count phase params window includes the following items for each phase in the procedure:

• A unique internal operation ID number (OP ID), assigned by the system to each block on the PFC.

Page 197: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Simultaneous Processing

3BUA000146R4101 197

• The phase block label.

• A type indicator (P = phase).

• The parameter count.

Simultaneous Processing

The parallel start object is used to define the beginning of simultaneous processing. Simultaneous processing means that all of the paths that originate at the parallel start object will be executed. A corresponding parallel end object is used to define the end of parallel processing. Procedure processing does not progress beyond the parallel end until all parallel threads connected to it have completed. Parallel start and parallel end objects must always be used in complementary pairs.

A good example of the use of parallel start and parallel end is found in the SoupAddIngred procedure (Figure 33), where five phase objects (labeled Add Meat, Add Veg, Add Spices, Add Water and Run Grinder) have been configured to execute simultaneously on separate paths.

Defining Multiple Procedure Paths

The branch start object is used to define the beginning of a logical branch in the processing. Multiple threads containing conditions are located after the branch start. Conditions are evaluated from left to right. The first condition encountered that evaluates to true will be used. Only one path following the branch start will be executed. The branch end object is typically used to define the end of the logical branch processing.

While the branch start and branch end objects are typically used for logical branch processing, they can also be used to create a loop condition, as illustrated in the

TC02297A

Figure 75. Parameter Counts Window

Page 198: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configuring Transition Blocks Section 5 Procedures

198 3BUA000146R4101

central portion of the SoupProcIngred PFC (Figure 34), where prompts and actions related to tank selection are configured.

Configuring Transition Blocks

A transition object defines a logical expression. The expression can be simple or it can be very complex (Figure 76). Typically, a transition object is used in one or more of the procedure threads following a branch start, as illustrated at the end of the SoupProcIngred procedure example (Figure 34). Execution will not continue down the path until the condition is true. These threads are evaluated from left to right. If no condition is true, each expression is evaluated again every five seconds, until one becomes true. Batch expressions are described in Appendix A, Configuring Batch Variables and Expressions.

Other Batch Management Actions

Providing and Requesting Information Within a Procedure

The message batch manager action is used to display messages to the operator or to get input from the operator. Input can be in the form of a text message, a selection from a list or a response to a yes/no question via a toggle button. The message block is composed of any combination of these types in any order. It is also possible to set the colors of the different parts of the message. The operator must OK all messages for the procedure to progress.

Configuration of the message BMA is accessed in the same manner as an acquire equipment BMA, select the object and select Procedure > Assign Object. When Action Type > Message item is selected, the Action Type box will display

TC02538C

Figure 76. Transition Configuration Window

Page 199: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Providing and Requesting Information Within a Procedure

3BUA000146R4101 199

Message, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 77).

The label for the message BMA is configured in the usual manner by entering a text string in the Label box. The other configuration item is an item labeled Message which is associated with a text box and an expand entry (...) button. Text cannot be entered directly in this box. To configure collection information, click the expand entry button. The Batch Message Configuration window (Figure 78) will be displayed.

The message text entry box is used to enter text that will become the title used in the title bar and at the top of the Message Presentation window, which is displayed by clicking Preview at the bottom of the Batch Message Configuration window. The message presentation window is ultimately the window seen by the operator when a message BMA block is clicked in an executing PFC display. If no text is entered in the Message text entry box, the string in the title bar of the message presentation window will default to Message.

Message BMA Color Configuration

Use the Message button to configure the background and text colors to be used when the message title is displayed. Use the Default button to configure the background and text colors (i.e., text on the OK and Cancel buttons) to be used for the presentation window. Color configuration is performed in the same manner for both of these items. When either Message or Default is clicked, a Batch Message Colors window (Figure 79) will be displayed. The button used to initiate color configuration will determine where the selections are used.

TC02298B

Figure 77. Message Action Type

Page 200: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Providing and Requesting Information Within a Procedure Section 5 Procedures

200 3BUA000146R4101

A list at the top of the Batch Message Colors window shows all available colors on the system. Use the scroll bar to move through the list. Select the desired entry in the list, or type the color name in the text entry box.

Custom colors can be created. Each available color is created using three basic colors - red, green and blue - in varying intensities. A value from 0 to 255 is used to define the intensity of each basic color. Three color definition boxes in the basic colors red, green and blue appear on the right side of the main display portion of the batch message colors window. Each color definition box contains a horizontal slider and above it an entry box. The entry box contains a number from 0 to 255 (inclusive), which reflects the location of the slider and the current value for that basic color’s intensity. Thus, a color definition is composed of three values. For example, a color definition with a value of 0 (zero) for all three color intensities produces the color black (all sliders positioned at the extreme left); a value of 255 for all three color intensities yields white (all sliders positioned at the extreme right); a color definition of red = 255, green = 255, blue = 0 produces yellow, and so on.

TC02299B

Figure 78. Batch Message Configuration Information Window

Page 201: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Providing and Requesting Information Within a Procedure

3BUA000146R4101 201

A sample color box is located below the Available Colors list box. Initially this sample color box assumes the background color of the batch message colors window. The sample color box changes color as the color definitions are adjusted, providing immediate feedback regarding the result of the color mix. As the color definition is adjusted via the sliders, an alphanumeric string identifying the color will appear in the text entry box to the right of the sample color block. When the desired color has been achieved, make a note of the identifying string. To reproduce the color, it is only necessary to enter this string (followed by ENTER) in the text entry box. Alternatively, clicking one of the entries in the Available Colors list will cause that color to be selected and the color name to be displayed in the text entry box. It is also possible to enter the name of a color, followed by ENTER, in the text entry box. This method will work only if the color name does not exceed 10 characters. An error message will result if the color name exceeds 10 characters.

The Foreground and Background buttons are used to determine whether the selected color will be applied to the text or background of buttons, labels and text. The bottom portion of the window provides examples so that the effects of color

TC02300A

Figure 79. Batch Message Colors Window

Page 202: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Providing and Requesting Information Within a Procedure Section 5 Procedures

202 3BUA000146R4101

changes can be viewed. This is important, as some colors do not contrast well when used together, rendering text difficult to read. Make sure that different colors have been selected for foreground and background. Otherwise, text will be invisible.

When the Foreground button is selected, the name of the selected color will be displayed to the right of this option, and the text of the button, label and text examples will be displayed in the selected color. To select a contrasting color to be used for the background, click Background and make the color selection. The background color of the samples will then be updated.

Message BMA Response Access Level Configuration

To configure the lowest access level an operator can have and be permitted to respond to messages in the message presentation window, click the button labeled Access Level. A window listing the available access levels will be displayed. Select the desired access level and click OK to complete the selection operation, or click Cancel to exit the pop-up window without changing the access level. The selected access level is displayed on the face of the Access Level button.

Message BMA Optional Verification

Enabling the Verify User option will require the password of the logged in user to be entered after a message has been answered.

Enabling the 2nd Approval Level option will require a second user’s name and password to be entered after a message has been answered. The lowest access level of the second user can be configured by clicking the button to the right of the 2nd Approval Level option. A window listing the available access levels will be displayed. Select the desired access level and click OK to complete the selection operation, or click Cancel to exit the pop-up window without changing the access level. The selected access level is displayed on the face of a button located to the right of the 2nd Approval Level option.

Message Configuration

The bottom portion of the Batch Message Configuration window (Figure 78) contains a list box entitled Configured Messages. An entry will appear in this list box for each message, if any, that has been configured to appear in the message presentation window that is under configuration. Information in this list box

Page 203: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Providing and Requesting Information Within a Procedure

3BUA000146R4101 203

includes an index number for each entry, the Type of message for the entry, and the prompt or label for each entry. To configure a new message, click Add. To edit an existing message, select the entry in the list box and click Edit. In either case, a window similar to that in Figure 80 will be displayed.

The type assigned to a message determines the message format, and whether or not the message requires an operator response. When the pointer is positioned on the Type drop down arrow, a menu will be displayed. Select the desired item.

Available options include:• Text.• List.• Yes/no.• No input.• Separator.

The text, list and yes/no message types are all used when input from the one operator is desired. The no input message type is used when information is to be presented to the operator, but no input from the operator is required. The separator message type does not produce a message, but is used to aid in organizing the message presentation window by producing lines used to divide the message presentation window into portions.

TC02301A

Figure 80. Batch Message Editor Window

Page 204: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Providing and Requesting Information Within a Procedure Section 5 Procedures

204 3BUA000146R4101

Use the text message type to configure a message that will provide the operator with the opportunity to enter text. When the text message type is selected, the List option on the Batch Message Editor window will not be available. All other options will be available.

The three configurable items that will be seen by the operator are the Prompt, the Label and the Default. These items will be displayed in the message presentation window seen by the operator, with the Prompt displayed above a text entry box containing the Default and a label to the left of that box. Use the Prompt to provide information and/or instructions pertaining to what is to be entered in the text entry box. Use the Label to provide a brief identifier for the text entry box. The entry configured for the Default item will appear, by default, in the text entry box when the message is displayed to the operator. If the operator does not enter any input, the value entered for Default will be used in place of input.

Two other items that can be configured for the Text message type are Validation and Variable. Validation is used to require the operator to make an entry in response to this message. The required response might be simple, such as the entry of some free form text or a specific value, or it might be more complex, such as an entry of a number within a certain range. Validation can be configured using a specific value, or an expression. Refer to Appendix A, Configuring Batch Variables and Expressions for a discussion of expressions.

Validation uses the system variable __input (which begins with a double underscore) as the data input. __input is a string value. Direct comparison between the operator input and a predefined string can be made using the following format:

__input == "Tank1"

- or -

__input == "15"

If the operator is expected to enter a numeric value and a range check on the value is required, the num function must be used. For example:

num(__input) >= 10 && num(__input) <=25

Use the Variables field to define the name of a local variable in which the entry made by the operation will be stored. Once defined and the block has executed, this variable can be viewed by right clicking in the runtime PFC display, selecting Variable from the pop-up menu, and selecting the Variables tab. This variable can

Page 205: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Providing and Requesting Information Within a Procedure

3BUA000146R4101 205

also be used in batch expressions. However, this variable can not be used in expressions defined in the Validation field in this window. Use only variables defined elsewhere in validation expressions.

Buttons labeled Colors that appear to the right of the Prompt, Label and Default options allow colors for these portions of the message to be configured separately. Click the Colors button on the Batch Message Editor window to open a Batch Message Colors window like the example shown in Figure 79. Use this window as described in Message BMA Color Configuration on page 199.

Use the List message type to configure a message which will provide the operator with the opportunity to select an item from a list. When the List message type is selected, the Validation option on the Batch Message Editor window will be unavailable. All other options will be available.

The three configurable items which will be seen by the operator are Prompt, Label and Default.

Use the List text entry box to configure a list of items from which the operator will be able to make a selection. Each entry in the list must be on a separate line. A maximum of three lines can be viewed in the List text entry box on the batch message editor window. To configure or view longer lists, click the expand entry (...) button. A Text Editor window will be displayed for text entry.

Use the Variables field to define the name of a local variable in which the entry made by the operation will be stored. Once defined and the block has executed, this variable can be viewed by right clicking in the runtime PFC display, selecting Variable from the pop-up menu, and selecting the Variables tab. This variable can also be used in batch expressions.

Use the Yes/No message type to configure a message which will provide the operator with the opportunity to select either Yes or No from a toggle button. When the Yes/No message type is selected, the Validation option on the Batch Message Editor window will not be available. All other options will be available.

Configure the prompt and label as described in this section. The default option is presented for configuration as a toggle button. Click the button to alternate between Yes and No. The one selected will be used as the default in the message presentation window.

Page 206: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Providing and Requesting Information Within a Procedure Section 5 Procedures

206 3BUA000146R4101

Use the Variables field to define the name of a local variable in which the entry made by the operation will be stored. Once defined and the block has executed, this variable can be viewed by right clicking in the runtime PFC display, selecting Variable from the pop-up menu, and selecting the Variables tab. This variable can also be used in batch expressions.

Use the No Input message type to configure a message which will provide the operator with a read only message. When this message type is selected, only the Prompt option can be configured. All other options will not be available. To configure a message of this type, select the Prompt text entry box and enter information.

The message type labeled Separator is used to create lines on the message presentation window. Use this item when multiple messages will be displayed in the message presentation window to organize the display. To configure a separator, select the Separator option from the Type button. An entry for the separator will appear in the batch message configuration window, showing the location of the separator.

Deleting Configured Messages

Messages and separators can be deleted from the configuration using Delete at the bottom of the Batch Message Configuration window. Select the item in the list box to be deleted, and click Delete.

Previewing the Message Presentation Window

Once messages have been configured, use the Preview button at the bottom of the Batch Message Configuration window to see the messages displayed in the format that will be seen by the operator. When Preview is clicked, the message presentation window will be displayed.

Reordering Messages in the Message Presentation Window

Each item in the list box in the Batch Message Configuration window has been automatically assigned an index number during configuration. This index number corresponds with the position of the item in the message presentation window.

Page 207: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Providing and Requesting Information Within a Procedure

3BUA000146R4101 207

After the message presentation window has been previewed, it can be reorganized using the Move button at the bottom of the Batch Message Configuration window. Select the item in the text entry box and click Move. A window will be displayed which contains the text box, Destination Index. Enter the index number corresponding to the new location of the selected item. Click OK to complete the operation, or click Cancel to exit without moving any items.

Creating Reusable Message Templates

Once a set of messages has been formatted, the configuration can be saved as a template, which can be reused. To save the current configuration as a template, click Template at the bottom of the Batch Message Configuration window. The Batch Message Templates window will be displayed. This window contains a list box that lists all the templates (if any) that have been configured on the system. To save the current configuration in the batch message configuration window, click Store at the bottom of the Batch Message Templates window. A window will be displayed which contains a text box labeled Store As, and the buttons OK and Cancel. Enter the name of the message template. The template name can not contain spaces. Click OK to complete the configuration, or click Cancel to exit without storing the template.

Once a template has been stored, it can be loaded by selecting the desired entry in the list box and clicking Load at the bottom of the Batch Message Templates window. The selected configuration will be loaded into the Batch Message Configuration window.

Copying Messages

It may be useful to configure similar messages with slight differences by using the copy feature. In the list box of the Batch Message Configuration window (Figure 78) select the message to be used as the source. With the source message selected, click Copy. A Batch Message Editor window (Figure 80) will be displayed. It will contain the configuration of the source message. Once configuration of the copy is complete, click OK. The new message entry will be inserted in the list box of the batch message configuration window immediately following the source message.

Page 208: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Collecting Data From a PFC Section 5 Procedures

208 3BUA000146R4101

Collecting Data From a PFC

Use the data collection batch manager action to collect data from the control system database while running a batch. A logical name must be specified that identifies the batch database point that will store collected information, an OPC item (the point from which data will be collected), and the data collection rate (once, start, or stop).

The data collection BMA will create a history association in a production data log (PDL) on the Information Management server node if Information Management is part of the system. A numeric log must be configured (using the Information Management History Services function) to hold the collected numeric data. The history association allows the PDL to be used to retrieve specific batch data without having to know the actual time the batch was executed.

Configuration of the data collection BMA is accessed in the same manner as an acquire equipment BMA. Select the object and choose Procedure > Assign Object. When Action Type > Data Collection is selected, the Action Type box will display Data Collection, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 81).

The label for the data collection BMA is configured in the usual manner by entering a text string in the Label box. The other configuration item is labeled Collection which is associated with a text box and an expand entry (...) button. Text cannot be entered directly in this box. If collection information has been configured, the word Defined will appear in the box. Otherwise, the box will be empty. To configure collection information, click the expand entry button. The Batch Data Collection window (Figure 82) will be displayed.

TC02302B

Figure 81. Data Collection Action Type

Page 209: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Collecting Data From a PFC

3BUA000146R4101 209

This window contains a list box displaying the logical name, OPC item and collection rate for each item to be collected. To delete an entry, select the entry and click Delete. To edit an entry, select the item and click Edit. To add an item to be collected, click Add. In either case, a window similar to the example shown in Figure 83 will be displayed.

In the text box labeled Logical Name, enter the name of the data point in the batch database that is to store the collected information. Enter PDLMSGLOG as the logical name when PDL message log information is to be collected. In the text entry box labeled OPC Item, enter the OPC data point name found in the control system database from which data is collected (when a collection rate of Once is being used) or the name and path of the OPC object containing the data point (when Start and Stop collection rates are used). Enter PDLMSGLOG as the OPC item when PDL message log information is to be collected. The first 800xA System log for the OPC

TC02303C

Figure 82. Batch Data Collection Window

TC02304B

Figure 83. Batch Data Collection Maintenance Window

Page 210: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Printing a Report From a PFC Section 5 Procedures

210 3BUA000146R4101

object is used unless a specific log is specified using the format: OPC_data_point_name, log_name.

Refer to the appropriate Information Management instruction for more information about the Information Manager Browser and how to obtain the name and path of an OPC object.

A drop down combo box labeled Data Collection Rate is used to define the collection rate. Click the drop down arrow and click the desired collection rate. The new collection rate will be displayed in the combo box. Collection rate options are:• Once• Start.• Stop.

The default collection rate option is Start. When defining the collection rate as Start, the first data collection BMA will make the history association and the corresponding BMA set to Stop (recommended) will remove the history association. If the collection rate of Once is used, the Stop default is not required. Data that is collected using the Once option is stored as tag key data. Data collected as a result of the Start collection rate is stored as periodic data. The data collection BMA removes the history association when the procedure ends.

Data collected using the Once collection rate is stored in the tag key data section of the batch history data.

To stop data collection at a point prior to the end of a procedure, insert another data collection BMA at that point. Set the data collection rate of the application OPC item (for this BMA) to stop. OPC items whose data collection rate is set to once should not be changed.

Printing a Report From a PFC

The print report BMA is used to generate a batch report from within a procedure. The name of the report template must also be supplied.

Both the logical name and the OPC item must be enclosed within double quotation marks.

The printing of Information Manager reports is not supported by this function. Refer to Scheduling Jobs From a PFC on page 211.

Page 211: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Scheduling Jobs From a PFC

3BUA000146R4101 211

Configuration of the print report BMA is accessed in the same manner as an acquire equipment BMA. Select the object and select Procedure > Assign Object. When Action Type > Print Report is selected, the Action Type combo box will display Print Report, and the BMA Editor window will be revised to include configuration items available for this type of BMA. Refer to Figure 84.

The label for the print report BMA is configured in the usual manner by entering a text string in the Label box. The other configurable item is the text entry box labeled Report which is associated with an expand entry (...) button.

In the Report text entry box, enter the name of the batch report to be printed, enclosed within double quotation marks. The template for the batch report, including the report name, is configured using the Batch Report using the Batch Reports feature. Refer to Appendix B, Report Configuration Using Excel Spreadsheets.

Scheduling Jobs From a PFC

The schedule job batch manager action is used to execute predefined jobs (reports, computations, etc.) found in the Schedule Structure. Jobs are defined using the 800xA system software. The scheduling of Information Manager reports is a common usage of this batch manager action.

Configuration of the schedule job BMA is accessed in the same manner as an acquired equipment BMA. Select the object and choose Procedure > Assign Object. When Action Type > Schedule Job is selected, the Action Type text box will display Schedule Job and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 85).

TC02305B

Figure 84. BMA Editor Window

Page 212: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Scheduling Jobs From a PFC Section 5 Procedures

212 3BUA000146R4101

The label for the schedule job BMA is configured in the usual manner by entering a text string in the Label text box. The other configuration item is labeled Schedule Job which is associated with a text box and an expand entry (...) button. Text can not be entered directly in this box. If job scheduling information has been configured, the word Defined will appear in the box. Otherwise, the box will be empty. To configure collection information, click the expand entry button. The Schedule Job window (Figure 86) will be displayed.

This window contains a list box displaying the job name, job GUID, and schedule time for each job to be scheduled. To delete an entry, select the entry and click Delete. To edit an entry, select the item and click Edit. To add an item to be

TC05096A

Figure 85. Schedule Job Action Type

TC05097A

Figure 86. Schedule Job Window

Page 213: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Scheduling Jobs From a PFC

3BUA000146R4101 213

collected, click Add. In either case, a window similar to the example shown in Figure 87 will be displayed.

Click Job and select the description of the predefined job in the Select Job window (Figure 88).

TC05098A

Figure 87. Schedule Job Configuration Window

TC05099A

Figure 88. Select Job Window

Page 214: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Assigning Values and Evaluating Expressions From a PFC Section 5 Procedures

214 3BUA000146R4101

Click OK to place the job in the Schedule Job Configuration window. Choose the time the job will be scheduled by selecting Immediately or At Batch End in the Schedule At field. Jobs scheduled Immediately are scheduled when the schedule job BMA is executed. All jobs of the same schedule time listed in the Schedule Job window will be scheduled in the order presented.

Assigning Values and Evaluating Expressions From a PFC

The compute batch manager action is used to assign values to variables and evaluate expressions. Configuration of the compute BMA is accessed in the same manner as an acquire equipment BMA. Select the object and choose Procedure > Assign Object. When Action Type > Compute is selected, the action type combo box will display compute, and the BMA Editor window will be updated to include configuration items available for this type of batch manager action (Figure 89).

The label for the compute BMA is configured in the usual manner by entering a text string in the Label box. Below the label is a box labeled Expression. This box cannot be edited directly by the user. If any expressions have been configured, this box will contain the word Defined. To configure expressions, click the expand entry button to the right of the box. An Expression Editor window will be displayed, similar to the example shown in Figure 90.

Initially the Expression Editor window is empty. To enter an expression, click Add. A Text Editor window will be displayed. Enter the desired expression in the text editor window and click OK. The text entry window will close, and the expression will be added to the end of the list in the expression editor window. The expression is numbered automatically. The number indicates the position of the expression in the list. A maximum of 15 expressions can be entered in the expression editor

TC02306B

Figure 89. BMA Editor Window - Compute Action Type

Page 215: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Issuing Operating System Commands from a PFC

3BUA000146R4101 215

window. Expressions defined on the Expression Editor window can include object properties. Expressions are described in Appendix A, Configuring Batch Variables and Expressions.

Expressions are evaluated in the order in which they appear in the expression editor window. To change the order of the expressions, select the item to be moved and click Move Up or Move Down.

To delete an expression, select the expression in the Expression Editor window and click Delete. A confirmation window will prompt:

Delete selected items?

Click Yes to complete the delete operation, or click No to exit without deleting anything.

The compute batch manager action can also be used to dynamically invoke a procedure using the rcpexec procedure. This allows the compute BMA to perform a function similar to that of a procedure block, by calling a subprocedure. A subprocedure invoked using rcpexec will have the batch ID as the parent procedure. The rcpexec procedure also permits parameter passing to the subprocedure.

Issuing Operating System Commands from a PFC

The command batch manager action is used to issue an operating system level command automatically, from the procedure. The results of the command will be

TC02307A

Figure 90. Expression Editor Window

Multiple deletion can be performed only on adjacent expressions.

Page 216: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Issuing Operating System Commands from a PFC Section 5 Procedures

216 3BUA000146R4101

returned in several variables: status, output and errors. The command text and the names of the three variables where the results are to be stored must be supplied.

Configuration of the command BMA is accessed in the same manner as an acquire equipment BMA. Select the object and choose Procedure > Assign Object. When Action Type > Command is selected, the action type combo box will display Command, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 91).

The label for the command BMA is configured in the usual manner by entering a text string in the Label box.

In the Command text entry box, enter the operating system command that will be executed when this BMA is reached during execution of the procedure. The command should be enclosed in double quotes. For example, to create a five second delay, enter “sleep 5” in the Command text entry box. Other possibilities include scheduling a batch, changing a batch, or changing equipment status. Refer to Appendix D, Batch Command Interface.

Use the Status, Output and Errors text entry boxes to create variables that will contain output generated as the result of executing the operating system command. Any error messages generated will be stored in the variable named in the Errors text box. If the command is used to generate output, it will be stored in the variable defined in the Output box. For example, if the command directory is specified, a directory name would be stored in the Output variable. A status code generated on

TC02308B

Figure 91. Command Action Type

Page 217: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Issuing Operating System Commands from a PFC

3BUA000146R4101 217

completion of command execution will be stored in the variable named in the Status text box. This status code is generated by operating system, not the Batch Management system. Consult the operating system manuals for information on interpreting this code. The variable names configured in the Status, Output and Errors text entry boxes are enclosed in double quotation marks (" "). These variables can be viewed using Variables which is accessed by right clicking in the runtime procedure window. These variables can be used in batch expressions.

Example:

dir \\FandP\\calc\\src > temp.fil

In this example, the dir command will list all the files in the directory \FandP\calc\src, and provide information about each file. The > symbol redirects the output to a file called temp.fil.

If the operating system command will generate more than one line of output, it makes sense to include instructions in the operating system command to redirect the output to a file.

1. When executing operating system commands, refer to the help for the Windows 2000 operating system to verify the command syntax is correct. One of the issues to keep in mind is the use of the backslash (\) character in directory names. Batch Management treats backslash as a special character, which cannot be used by itself. Therefore, each backslash character used in a command should be doubled. For example, to obtain the directory listing for c:\winnt\systems32, use:

dir c:\\winnt\\system32

2. Command BMA should not be used to invoke interactive programs like notepad.exe or winword.exe. Attempts to do so may result in a “phantom” version of the program being initiated.

3. It is important to understand that the operating system search paths seen at a given time by the currently logged on user are not necessarily the same as the ones seen by the batch manager. All command BMAs are executed by the operating system and not by the currently logged in user.

Page 218: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Correlating the PFC and the SOP Section 5 Procedures

218 3BUA000146R4101

Correlating the PFC and the SOP

The standard operating procedure or SOP is a textual representation of the procedure, which provides the operator with a written explanation of the process. The operator can request to view the SOP online as the batch is in process. Refer to the Batch Management Operation instruction for details.

An SOP is composed of sections of text. During configuration of a procedure, the configurer can add batch manager action (BMA) blocks to the PFC that are assigned to the batch manager action type set SOP section. These BMA blocks allow SOP section names to be specified at various places in the procedure. When the batch is executing, and the operator requests to view the SOP, the appropriate SOP will be displayed in a window, with text beginning at the SOP section appropriate for the currently executing portion of the procedure.

Each SOP section is started by using the key word SECTION at the beginning of the line, followed by white space (spaces, tabs), followed by the section name, to the end of the line. For example:

SECTION SectionName

SectionName can be any text string that the user desires. It will act as the distinct name of the section. All the text located between the section name and the next SECTION key word (or the end of the file, if there is no subsequent SECTION key word) belongs to that section.

When configuring batch manager actions (BMAs) assigned to the set SOP section option, it is the combination of the key word SECTION and the section names embedded in both the set SOP section BMAs and the file that composes the body of the SOP that make it a context sensitive online operator aid.

The contents of the entire first line of an SOP section (i.e., everything that follows the key word SECTION) should be identical to the section information configured for the corresponding set SOP section batch manager action. It is the responsibility of the configurer to insure coordination of the PFC and the SOP sections.

Configuration of the set SOP section BMA is accessed in the same manner as an acquire equipment BMA. Select the object and choose Procedure > Assign Object.

If no batch manager action to position the SOP pointer has been executed, the SOP display is positioned at the beginning of the SOP text file.

Page 219: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Connecting Objects on a PFC

3BUA000146R4101 219

When Action Type > Set SOP Section is selected, the Action Type box will display Set SOP Section, and the BMA Editor window will be revised to include configuration items available for this type of batch manager action (Figure 92).

The first configurable item in this window is the Label box common to all versions of the BMA Editor window. The second item to be configured is a text entry box, Section. Enter the section name found in the procedure’s SOP which corresponds to the current point of batch execution in the PFC. This is the section of the SOP that will be displayed when the PFC has executed to this point and the operator requests to view the SOP.

Connecting Objects on a PFC

Once phase, procedure, BMA, parallel start, parallel end, branch start, branch end and transition objects have been placed on a PFC, they can be linked together using connector objects. A connector object resembles an arrow. Connections define the sequence of operations in the PFC.

Click the connector button on the procedure object create control panel, position the pointer just inside the first object to be connected, and click the left mouse button. The connector will be positioned at the midpoint of the selected side of the object. Drag the pointer to the next object in the sequence of operations, position the pointer just inside the objects border, and click the left mouse button. Repeat this procedure until all objects are connected.

TC02309B

Figure 92. Set SOP Section Action Type

The section name is a text string, and should be enclosed within double quotes when entered in the text entry box.

Page 220: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Exception Handling Section 5 Procedures

220 3BUA000146R4101

To change the direction of a connector, drag the pointer to the location where the change of direction is to occur, click the left mouse button to anchor the connector to the PFC, then continue to drag the pointer in the new direction.

Exception HandlingEquipment related exceptions are those that can compromise the integrity of the equipment (e.g., process temperature that exceeds the design temperature of the equipment, or process pressure that exceeds the design pressure of the equipment). Each of these exceptions can cause the equipment to fail mechanically and pose a hazard to the personnel around the equipment. Equipment related exceptions should be handled at the controller level.

Product related exceptions are those that are product specific. These exceptions do not exceed the processing capability of the equipment and pose no safety hazard to the personnel around the equipment, but cause the production of non-specification product. The response to a product related exception may be dependent both on the product being produced and the point in the execution of the product recipe when the exception occurs.

In short, during procedure execution abnormal product related conditions can occur which can have an undesirable effect on the batch product. The Batch Management software enables the configurer to integrate exception procedures (procedures that monitor for and respond to product related exceptions) into the normal procedures.

The ability to monitor for and respond to abnormal conditions during procedure execution can also be written and included as part of the security logic in the equipment phase logic, if supported by the controller. In order for the equipment phase logic to be reusable in various procedures requires the security logic to be specific for the equipment phase rather than procedure.

Exception procedures provide the ability to write exception logic at the procedure level, but are not a replacement for lower level logic that is protecting against dangerous situations (e.g., equipment related exceptions).

Explanation: The controller processes data in real-time, and modules in the control system can be scanned frequently at short intervals (e.g., 0.1 second intervals). Exception procedures are processed in Batch Management which are multitasking (rather than real-time) modules. Also, exception procedures monitor for abnormal

Page 221: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configuring an Exception Procedure

3BUA000146R4101 221

procedure-related conditions using transition blocks. The scan rate for a transition block has a minimum of five seconds. (The interval can be longer, depending on system load.)

Exception procedures provide the same service, with enhancements. Exception procedures are configured at the procedure level and presented in the same type of graphical user interface as a PFC. It is possible to:

• Monitor and respond to abnormal conditions from the procedure function chart using the same type of graphical user interface as that used for the procedure.

• Identify and monitor for procedure specific potential abnormal conditions, and configure (in PFC format) procedures to follow in the event of such abnormal conditions. This means the exception logic is designed as part of the procedure for a specific product, not as generic security logic that has to be designed to cover a wide variety of different products.

• Monitor for abnormal conditions independently from phase and procedure blocks.

• Monitor for abnormal conditions across multiple blocks in a procedure.

• Monitor during the intervals between procedure blocks as well as during the execution of procedure blocks when an exception procedure is configured to span multiple blocks in a procedure.

• Monitor for multiple conditions. Monitoring for different conditions can be for different durations.

• Configure exception response logic in procedure format using the same tools and building blocks as used during regular procedure configuration.

Configuring an Exception ProcedureThere are two aspects to configuration of exception procedures: • Configuration of the procedure that includes an exception procedure.• Configuration of the exception procedure itself.

Page 222: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Add an Exception Procedure to a Procedure Section 5 Procedures

222 3BUA000146R4101

Configuration of each of these items has its own requirements.

Add an Exception Procedure to a Procedure

An exception procedure is a form of subprocedure. It is referenced from a procedure block on another procedure. It is configured to run in parallel with operations on the higher level procedure. A parallel start object and a parallel end object are required immediately before and immediately after an exception procedure block. The normal thread of the higher level procedure can include as many blocks as desired between the parallel start and parallel end objects. The exception procedure will provide monitoring during execution of and between all the items configured in the normal procedure thread between the parallel branches.

The exception procedure is configured to monitor for one or more conditions. If and when a condition is met, exception logic in the exception procedure is executed. After the exception logic has finished executing, the software returns to the beginning of the monitoring procedure, and monitoring for that condition continues. Monitoring (and execution of exception logic, if necessary) continues until processing of all items in the normal procedure thread between the parallel start and parallel end objects has completed.

Configuring a higher level procedure to include an exception procedure requires planning. Before beginning the actual configuration:

• Determine the conditions for which to monitor.

• Determine which operations in the higher level procedure should be monitored for which conditions.

The conditions to monitor can be customized, taking into account the product, ingredients and hardware complement. Some examples of conditions to monitor for are temperature, pressure, viscosity, valve position, and level. Conditions are defined in transition blocks in the exception procedure. Refer to Configure an Exception Procedure on page 223.

An exception procedure can be used in any type of procedure in the hierarchy of procedure function charts, which includes operations, unit procedures, exception procedures and recipe procedures. For the purposes of simplicity, this subsection will describe the use of an exception procedure on the batch procedure level. The techniques described can be applied at any level.

Page 223: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Configure an Exception Procedure

3BUA000146R4101 223

The duration of monitoring is determined by the placement of the parallel branches in the batch procedure. Figure 93 illustrates an example of a batch procedure which includes an exception procedure block. In this example, the exception procedure is used for the duration of two add operations and a transfer phase.

Configure an Exception Procedure

In an exception procedure, a transition object must follow the start object. The transition object, which represents a logical expression, is configured to monitor for some condition to become true. If the condition becomes true, then the exception logic associated with that condition is executed. After the exception logic has finished executing, the exception procedure does not complete and exit. Instead, it checks to see if the normal thread of procedure processing has finished. If it has not, the exception procedure loops back to the transition block at the beginning, and monitoring is resumed for the assigned condition. Monitoring (and repeated execution of exception logic, if necessary) continues until processing of all items in the normal procedure thread between the parallel start and parallel end objects has completed.

Exception procedures are configured using the standard procedure editor. An exception procedure contains a start object, a transition object, exception logic, and an end object. When the exception procedure type has been specified, the start and end objects are shaped differently than the oval version used in other procedure types. An exception procedure can be identified immediately by these angular start and end objects, as shown in Figure 94.

The transition object is used to monitor a condition. If the condition becomes true, the procedure object representing the exception procedure on the higher level procedure will display in green. The exception logic associated with that condition is executed. There is then a return to the beginning of the exception logic, and it will continue to monitor the condition until all the elements in the batch procedure contained between the parallel start and parallel end objects have completed.

Figure 94 provides an example of an exception procedure that monitors for high temperature, takes corrective action, and provides further instructions on how to proceed.

Page 224: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Configure an Exception Procedure Section 5 Procedures

224 3BUA000146R4101

TC02310B

Figure 93. Recipe Procedure with an Exception Procedure Block

Page 225: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Runtime Characteristics of the Exception Procedure

3BUA000146R4101 225

Runtime Characteristics of the Exception Procedure

If no abnormal conditions are encountered while the exception procedure is active, and the exception logic is never executed, then all blocks in the exception procedure (except the transition block following the start object) will indicate idle even when the exception procedure has completed. The transition block following the start object becomes green when the exception procedure begins monitoring for abnormal conditions.

TC02311B

Figure 94. Exception Procedure Example (Monitors for High Temperature)

Page 226: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Runtime Characteristics of the Exception Procedure Section 5 Procedures

226 3BUA000146R4101

When abnormal conditions are encountered and the exception procedure is run, the normal thread of the procedure continues to execute as well, unless steps in the exception procedure are taken to stop it.

Special functions are available for use with the exception logic. S88 command functions that affect the execution of the normal procedure blocks monitored by the exception procedure include ex_stop(), ex_hold, ex_restart(), ex_abort(), ex_pause(), and ex_resume(). Functions that monitor the state of the normal procedure blocks include ex_isfinal(), ex_isheld() and ex_ispaused(). Functions that affect the execution of the procedure include exkill() and exrestart().

S88 command functions (ex_stop(), ex_hold(), ex_restart(), ex_abort(), ex_pause() and ex_resume()) are configured in compute type batch manager action blocks. Refer to Assigning Values and Evaluating Expressions From a PFC on page 214. These functions issue the S88 command (stop, hold, restart, abort, pause, and resume) to all active blocks in the main procedure path. Typical use would be to stop (ex_stop()) a phase when an abnormal condition is detected. When the condition is resolved the phase can be restarted using ex_restart().

The monitoring functions ex_isfinal(), ex_isheld(), and ex_ispaused() are used to test if all active blocks in the main path satisfy the test condition: • All are in a final state (ex_isfinal()).• All are held (ex_isheld()).• All are paused (ex_ispaused()).

Typical use would be in a transition following the compute specifying the S88 command function in order to wait for the command to complete.

The procedure functions exkill() and exrestart() change the execution of the procedure. Before using either of these functions, all active blocks in the main procedure path must be in a final state. Final states are:• Stopped. • Aborted. • Complete. • Idle.

Use the S88 command functions ex_stop() or ex_abort() to put active blocks in the final state.

The exkill() function is configured in a compute block. This function deactivates all blocks in the main procedure path. When the exception procedure completes taking

Page 227: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Exception Logic Considerations

3BUA000146R4101 227

the appropriate action to resolve the abnormal condition, the procedure will continue at the parallel branch after the exception procedure, thus, skipping any remaining blocks in the normal procedure path.

The exrestart() function is configured in a compute block. When the exception procedure completes taking action to resolve the abnormal condition, this function deactivates all blocks in the main procedure path (performs an exkill()) and then causes execution to resume at the parallel branch at the beginning of the exception procedure. This will rerun the blocks in the normal procedure path.

Exception Logic Considerations

When configuring an exception procedure, care must be taken to avoid creating exception logic that could result in a loop condition. Ideally, the exception procedure should contain logic to clear the exception condition.

If the exception condition is not cleared during the time the exception procedure is executing, the exception procedure will execute repeatedly, as it returns to the transition block, detects that the condition is true, and repeats again. Loop conditions can occur if the exception procedure:

• Does not contain logic to clear the exception condition.

• Is very short, and does not allow sufficient time for the exception condition to be cleared. For example, if the exception procedure contains only a message BMA, the exception procedure will resume monitoring for the exception condition as soon as the message is acknowledged. If clearing the exception requires operator action, the action must be performed before the message is acknowledged to avoid running the exception procedure again.

• Contains a poorly placed exrestart function that restarts the normal thread of the procedure while the exception condition still exists.

For example, assume an exception procedure is monitoring for a reactor temperature higher than 100° F. If the temperature exceeds 100° F, the exception logic is executed. The following techniques illustrate some possible configuration methods to avoid creating loop conditions:

• Contain logic to cool the reactor, and contain logic to complete only when the exception condition is no longer true.

Page 228: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Monitoring for Multiple Conditions Section 5 Procedures

228 3BUA000146R4101

• Contain a message alerting the operator to the exception condition, allowing manual response to the condition. The exception procedure could contain further logic to complete only when the exception condition is no longer true, or the operator could acknowledge the message when the exception condition is cleared.

• Include an exkill function to terminate execution of the normal procedure thread, initiate exception condition handling, monitor the exception condition, then include an exrestart function to restart the normal thread of the procedure after the exception condition is cleared.

A unique scenario can sometimes occur when a unit or shared equipment module tries to throw a batch exception. If a unit or shared equipment module meets the condition to throw a batch exception, an evaluation is made to determine if the unit or shared equipment module can transition to the target state specified in the batch exception. If the unit or shared equipment module can transition to the target state, it does so and the exception is sent to the phases for evaluation. The exception will not be thrown if the phase cannot transition to the target state specified. If the unit or shared equipment module cannot transition to the target state, the transition does not take place and the exception is not sent to the phases for evaluation. In this case, the exception is effectively lost.

Monitoring for Multiple Conditions

More than one condition can be monitored in an exception procedure. For example, the user may wish to monitor for high temperature, viscosity, and mode all at the same time. Monitoring for all three conditions can be performed in the same exception procedure. Because the transition block which monitors for the abnormal condition must be located immediately after the start object, and different actions are needed to respond to each different condition, a separate set of exception logic for each condition must be configured. Figure 95 illustrates an exception procedure that monitors for three conditions: high temperature, viscosity, and pause mode.

Alternatively, separate exception procedures can be configured and included on the higher level procedure between the same set of parallel branches. Different conditions can be monitored for different durations by using multiple sets of parallel branches. Figure 96 illustrates an example of a higher level procedure that monitors for high viscosity during two add operations, and monitors for high temperature during the same two add operations as well as during a transfer phase.

Page 229: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Batch Data Collection

3BUA000146R4101 229

Batch Data Collection

There are three databases maintained by the batch management subsystem. Two of these, the equipment database and the recipe database, have already been discussed. The third is the batch database, which is used to store the data collected regarding individual batches. Information regarding a particular batch is accessed by batch ID.

Information is placed in the batch database in a number of ways:• Automatically recorded by the batch system.• Specified to be gathered by the procedure (e.g., the data collection BMA).• Input by the user.

The batch database contains two sections (records) per batch. Each of these sections is designed to contain different kinds of data. These two sections are the:• Batch event history.

TC02312B

Figure 95. Exception Procedure Example (Monitors for Multiple Conditions)

Page 230: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Data Collection Section 5 Procedures

230 3BUA000146R4101

• Tag key collected data.

The batch event history is a time-based record of all events that occurred during the execution of the batch. This part of the batch database is automatically collected by the system and can not be changed. This can include batch events, phase starts and ends, and operator changes from Batch Management.

Tag key collected data is data that is collected once. This section of the batch database contains one value per tag key. Reserved tag key data items are automatically filled in by the batch management subsystem. These include:• __BatchElapsedTime.• __BatchStartTime.• __BatchEndTime.• __BatchState.• __BatchScheduledStatus.• __Campaign.• __Lot.• __RecipeName.

TC02539B

Figure 96. Exception Procedure Example (Multiple Conditions and Durations)

Page 231: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 5 Procedures Batch Data Collection

3BUA000146R4101 231

• __RecipeVersion.• __RecipesUsed.

Tag key collected data can also be collected based on procedure and BMA configuration.

Page 232: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 233: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 233

Section 6 Automatic Batch ID Generation

IntroductionThe batch ID generation functionality is used to automatically create a batch ID based on a configured formula or pattern. This section describes the configuration of the Auto Generate Batch ID aspect. This aspect is automatically added to recipe procedure objects when they are created. This aspect can also be manually added to other procedure types. The Auto Generate Batch ID window (Figure 97) is displayed when this aspect is selected.

Create PatternThe previously configured pattern or the default pattern is displayed in the Auto Generate Batch ID window. This pattern is composed of other patterns and text (located within double quotation marks). Any number of patterns and text strings can be used to configure the batch ID but they must be separated by periods.

To create or edt a batch ID pattern:

1. Delete all unwanted patterns (if necessary).

2. Add patterns (if necessary):

a. Place the cursor at the location where the pattern is to be added or inserted.

b. Click the list patterns button or right click at the cursor location.

c. Double click the pattern to be added in the List Default Patterns window.

d. Use periods to separate the added pattern from the other patterns. Entering a period automatically displays the List Default Patterns window.

e. Repeat Step a through Step d for the remaining patterns to be added.

f. Click the save aspect changes button.

Page 234: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Create Pattern Section 6 Automatic Batch ID Generation

234 3BUA000146R4101

3. Add text (if necessary):

a. Place the cursor at the location where the text is to be added or inserted.

b. Enter the appropriate text.

c. Place double quotation marks at both ends of the text string.

d. Use periods to separate the added text from the other patterns and text.

e. Repeat Step a through Step d for the remaining text to be added.

f. Click the save aspect changes button.

TC05273A

Figure 97. Auto Generate Batch ID Window

Default patterns placed inside double quotation marks are treated as text. For example, “_SequenceNumber” will be seen as _SequenceNumber.

Page 235: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Section 6 Automatic Batch ID Generation Configure Sequence Number

3BUA000146R4101 235

Configure Sequence NumberThe SequenceNumber pattern automatically increments each time the Auto Generate button (on the Schedule tab of the Batch Schedule window) is clicked during batch scheduling. This number can be related to the procedure or to the batch cell in which the procedure can be executed.

To establish which item SequenceNumber is related to:

1. Click the options button.

2. Enable Per Procedure (SequenceNumber is related to this procedure) or Per Batch Cell (SequenceNumber is related to the batch cell in which this procedure will execute).

3. Click OK.

4. If Per Procedure was enabled, batch ID configuration is complete. If Per Batch Cell was enabled, proceed to the next step.

5. Click the add batch cell button.

6. Verify that all the batch cells in which this procedure is to be executed are listed in the Select Batch Cell window. If necessary, add the desired batch cells:

a. Select the batch cell to which SequenceNumber is to be related.

b. Click OK.

c. Repeat Step a and Step b as necessary.

Find TextThe search button can be used to find text strings within the pattern. To find a text string:

1. Click the search button.

2. Enter the text string in the Find What field on the Find window.

3. Enable Match Whole Word Only or Match Case.

4. Click Find Next.

Page 236: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Replace Patterns and Text Section 6 Automatic Batch ID Generation

236 3BUA000146R4101

Replace Patterns and TextThe replace button can be used to find a text string and replace it with another text string. To find and replace a text string:

1. Click the replace button.

2. Enter the text string to be replaced in the Find What field on the Replace window.

3. Enter the text string to be inserted in the Replace With field.

4. Enable Match Whole Word Only or Match Case.

5. Click Find Next.

6. If the text string is found, click Replace (replace only this occurrence of the text string) or Replace All (replace all occurrences of the text).

7. If Replace was clicked, Repeats Step 5 and Step 6 until all the desired text strings have been replaced.

Save or Cancel Aspect ChangesClick the save aspect changes button to save all changes made to the Auto Generate Batch ID aspect. Leaving the Auto Generate Batch ID window before saving any changes causes the Batch ID - procedure_name window to be displayed. Click Yes to save the changes and proceed as desired. Click No to abandon the changes and proceed as desired. Click Cancel to return to the Auto Generate Batch ID window.

Print PatternsClick the print button to print out the current pattern.

Page 237: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 237

Appendix A Configuring Batch Variables andExpressions

IntroductionExpressions can be used in place of constant numeric or text values in many configurable items encountered during batch configuration. These include, but are not limited to, the following items:• Compute batch manager action object.• Select batch manager action object.• Transition object.• Procedure parameter configuration.

Batch expressions use a C language-type syntax, incorporating operators, parentheses, functions, values, variables and constants.

Batch Expression StructureOperators are symbols used in expressions to represent arithmetic, logical, or relational operations. An expression consists of operators and operands, or values. The operand can be a constant or a computed value.

Numbers used as operands are assumed to be floating point values, and can include digits, a decimal point, e or E (for exponentiation), and a signed exponent in the following format:

<digits>.<digits>E<signed exponent>

A numeric value must include at least one digit or a decimal point (a decimal point alone evaluates to zero). Use the unary negation operator (-, described in Operators on page 238) immediately preceding the first digit to express a negative number.

Page 238: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Operators Appendix A Configuring Batch Variables and Expressions

238 3BUA000146R4101

Variable names start with a letter, optionally followed by a string of letters, numbers and underscores (_) and are limited to a maximum of 31 characters. Variable names longer than 31 characters will be truncated. Statements are terminated by new lines (returns).

A backslash (\) is used to continue an expression on the next line.

OperatorsOperators available for use in batch expressions are found in Table 20. Because expressions often include multiple operators and operands, a set of rules exists to determine which operators get performed first, which get performed second, third and so on. This order is known as precedence. Some operators, such as multiply and divide have equal precedence. If operators of equal precedence are used in an expression, they are performed according to the order in which they appear in the expression. Table 20 lists operators in order of decreasing precedence.

Table 20. Batch Operators in Decreasing Precedence

Symbol Operation Description

^ Exponentiation Corresponds to the FORTRAN operator "**", and is right associative.

! Logical not Evaluates the expression on the right and is true if that expression is false, and vice versa.

- Unary minus Indicates or changes the algebraic sign of a value. This is a unary operator that takes just one operand.

* Multiplication Multiplies the values on either side of it, yielding the product.

/ Division Value to the left of the operator is divided by the value to the right.

+ Addition Causes the two numeric operands on either side of it to be added together, yielding the sum of the two values.

+ Concatenation Produces one string by joining (or concatenating) two character strings (i.e., where the operands on either side of the concatenation operator are strings).

- Subtraction Number after the subtraction operator is subtracted from the number before the operator.

Page 239: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Operators

3BUA000146R4101 239

Precedence is an important concept to remember, as its effects on the evaluation of an expression can be confusing to the novice. For example, consider the following expression:

2 + 3 * 4

The resulting value of this expression is 14, not 20. Because the multiplication operator has a higher precedence than the addition operator, the multiplication portion of the expression (3 * 4) is performed first. If the expression were written:

(2 + 3) * 4

the value of the expression would be 20, because expressions contained within parentheses are evaluated first.

> Greater than Evaluates two expressions and is true if the one on the left is greater than the one on the right.

>= Greater than or equal to

Evaluates two expressions and is true if the one on the left is greater than or equal to the one on the right.

< Less than Evaluates two expressions and is true if the one on the left is less than the one on the right.

<= Less than or equal to

Evaluates two expressions, and is true if the one on the left is less than or equal to the one on the right.

== Equal Evaluates two expressions, and is true if the one on the left is equal to the one on the right.

!= Not equal Evaluates two expressions, and is true if they are not equal.

&& Logical and Evaluates two expressions, and is true if and only if both are true.

|| Logical or Evaluates two expressions and is true if either one or both are true.

= Assignment Causes the value of the expression on the right to be assigned to the variable to the left of the assignment operator.

Table 20. Batch Operators in Decreasing Precedence (Continued)

Symbol Operation Description

Page 240: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Punctuation Appendix A Configuring Batch Variables and Expressions

240 3BUA000146R4101

Punctuation

Table 21 describes punctuation in batch expressions.

IF/ELSE Syntax

IF and ELSE are keywords used in expressions. The syntax is:

if (expression) {statement 1}if (expression) {statement 1} else {statement 2}

if (expression){statement1} \else {statement2}

Parentheses and braces are a part of the syntax.

If the expression is true, statement 1 is executed. If the expression is false, statement 2 is executed. The ELSE statement is optional and therefore does not need to be included. If there is no ELSE statement and the expression is false, program execution continues at the statement after statement 1.

Examples:

• if (a or b and c) - This is an invalid usage of parentheses.

• if (a or (b and c)) - This is a valid usage of parentheses.

• if ((a or b) and c) - This is a valid usage of parentheses.

Table 21. Punctuation in Batch Expressions

Operator Notes

New line Terminates an expression.

\ Line continuation character. Used when a single statement is divided into multiple lines.

, Comma. Argument separator used in conjunction with built-in functions.

{ } Braces. Used to define a statement group.

( ) Parentheses. Used to override precedence and control the order of evaluation.

Expressions must be properly parenthesized to ensure that pairs of conditions are correctly evaluated. In the following example, a, b, and c are used to show valid and invalid use of parentheses.

Page 241: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Constants

3BUA000146R4101 241

• if (tstp == 0) {varputs("msg", "zero")} \ else {varputs("msg", "other")}

Constants

Several constants have been predefined for use in batch expressions. The constant names are reserved and cannot be used as variable names. These names and their values are listed in Table 22.

Text Entry Format

Each text entry box in a batch management system configuration window will accept one of the following types of entry:• An expression.• Dynamic text.• Static text.

The type of input expected by the text entry box corresponds with the type of input a user would normally enter for that type of item. For example, text entry boxes for parameters evaluate input as expressions, while text entry boxes for block labels automatically evaluate input as static text.

When the text entry box is expecting an expression (e.g., a parameter value assignment), anything entered will be evaluated as an expression unless it is enclosed within double quotes (" "), in which case it will be treated as text. (It is not necessary to enclose numeric constants within double quotes.) This is the most

Table 22. Defined Constants

Constant Value

PI 3.14159265358979323846

E 2.71828182845904523536

GAMMA 0.57721566490153286060

DEG 57.29577951308232087680 (degrees per radian)

PHI 1.61803398874989484820

Page 242: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Rules for Evaluating Expressions Appendix A Configuring Batch Variables and Expressions

242 3BUA000146R4101

common type of text entry box, used for the entry of parameters in the recipe database.

A number of configuration items (e.g., batch report text sections, SOP, attach notes and many of the message BMA configuration items) expect input in the form of dynamic text. Dynamic text is processed as text except where it is enclosed within backquotes (‘ ‘), in which case the portion within the backquotes will be treated as an expression. Most of the items which can be configured for the message batch manager action treat input as dynamic text.

In all other cases, static text is expected. Static text is always processed as text. If present, backquotes are ignored and double quotes are discarded.

Rules for Evaluating ExpressionsThe rules presented in this section are used when an expression is evaluated. A list of the rules is presented in text format. This list is followed by a table containing examples of expressions and results which correspond to the rules in the list. These items are followed by several examples of greater complexity. For most procedures, this level of complexity would not be required.

Rule 1

A constant equates to its numeric value.

Rule 2

Procedure parameters are filled in (replaced) with their current value.

Rule 3

Built-in functions are executed and the return value is then used in the expression. The return value type (numeric or string) is dependent upon which function is being executed.

Rule 4

When evaluating expressions, precedence determines the order of operations. Parentheses are used to override precedence order. Refer to Operators on page 238.

Page 243: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Rule 5

3BUA000146R4101 243

Rule 5

Data enclosed within double quotes (" ") is treated as a text string.

Rule 6

In the cases where a built-in function requires the name of a control system tag.atom, a tag key name, or a procedure variable (global, batch, and local), the input must be an expression which evaluates to the desired name.

Rule 7

The expression must evaluate to the correct data type (float or string) for the value which is being assigned. Refer to Table 23.

Procedure variables are defined to be either floats or strings according to their initial configuration (batch procedure variable editor) or assignment (varput functions).

Rule 8

Private functions can be defined to simplify the entry of complex expressions containing if/else clauses. These functions are only known to the single procedure block that contains them.

Rule 9

Expressions are valid when entering procedure parameter values under the batch scheduler.

Table 23. Data Types

Parameter Expression

Float Float

String String

List String

Equipment list String

Page 244: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Rule 10 Appendix A Configuring Batch Variables and Expressions

244 3BUA000146R4101

Rule 10

Expressions are not used in equipment database configuration. Errors will be reported for these conditions:

• Part of the expression cannot be evaluated (e.g., nonquoted data is not recognized as an operator, a constant, a function name, punctuation, keyword, or a procedure parameter name).

• The expression does not evaluate to the correct data type for the value which is being assigned.

1. The rules listed above apply to the evaluation of expressions. In cases where a text entry window is expecting to receive dynamic text, data which is to be interpreted as an expression should be enclosed within backquotes (` `). Dynamic text is discussed in Text Entry Format on page 241.

2. Batch expression structure, punctuation, syntax, and operators are described in Batch Expression Structure on page 237. Built-in functions are described in Built-In Functions on page 247.

Table 24. Examples of Rules for Evaluating Expressions

Rule Expression Result

1 2.5 2.5

2 total * amount1 * 0.01 The percentage of amount1 is computed by multiplying the value of total by the value of amount1 by 0.01

3 sqrt(16) 4

4 2 + 3 * 4 14

5 "abc" + "def" Text string abcdef

6 bdbput("TotalVol",vol1 + vol2 + vol3)

The values of vol1, vol2, and vol3 are added, and the result is saved as tag key data under the TotalVol

7 "FT1"100

Equipment list assignmentFloat assignment

Page 245: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Examples

3BUA000146R4101 245

Examples

The following examples are for illustrative purposes only. For most procedures, this level of complexity would not be required.

• This example (entered within a procedure compute block) defines a function named update which updates the volume associated with the global procedure variables HT1_Vol, HT2_Vol, HT3_Vol, and HT4_Vol.func update() {tank = vargets("seltank")soup = _SoupNameif (tank == "HT1") {gvarputs ("HT1_Soup", soup)oldvol = gvarget ("HT1_Vol")

8 func SetUnits() {

if (selgrinder == "G1") {varputs("MeatUnit","I1")varputs("VegeUnit","I3")varputs("SpiceUnit","I5")varputs("WaterUnit","W1")}

if (selgrinder == "G2") {varputs("MeatUnit","I2")varputs("VegeUnit","I4")varputs("SpiceUnit","I6")varputs("WaterUnit","W2")}

Define the function SetUnits

return 0}

SetUnits()

Define the function SetUnits

9 ran() A random number is assigned to the procedure parameter that is being entered.

Table 24. Examples of Rules for Evaluating Expressions (Continued)

Rule Expression Result

Page 246: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Examples Appendix A Configuring Batch Variables and Expressions

246 3BUA000146R4101

gvarput ("HT1_Vol", (oldvol + num (_SoupAmt)))}if (tank == "HT2") {gvarputs ("HT2_Soup", soup)oldvol = gvarget ("HT2_Vol")gvarput ("HT2_Vol", (oldvol + num (_SoupAmt)))}if (tank == "HT3") {gvarputs ("HT3_Soup", soup)oldvol = gvarget ("HT3_Vol")gvarput ("HT3_Vol", (oldvol + num (_SoupAmt)))}if (tank == "HT4") {gvarputs ("HT4_Soup", soup)oldvol = gvarget ("HT4_Vol")gvarput ("HT4_Vol", (oldvol + num (_SoupAmt)))}return 1}update()

• This example uses the values for the procedure parameters MeatPct, VegePct, SpicesPct, and WaterPct to compose the soup name.bvarputs("SoupNamePart1", str(MeatPct) + " % " + Meat +

" ")bvarputs("SoupNamePart2", str(VegePct) + " % " +

Vegetables + " ")bvarputs("SoupNamePart3", str(SpicesPct) + " % Spices ")bvarputs("SoupNamePart4", str(WaterPct) + " % Water")bvarputs("SoupNameFull", bvargets("SoupNamePart1") \

+ bvargets("SoupNamePart2") + \bvargets("SoupNamePart3") + \bvargets("SoupNamePart4"))

Page 247: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Built-In Functions

3BUA000146R4101 247

Built-In Functions

Batch

Batch functions are used to get data from and put data into variables (Table 25). The scope of the function used determines whether this action occurs locally (within one instance of one procedure function chart), within a single batch (which can consist of multiple PFCs), or globally (in any PFC in any batch).

It is not necessary to declare these variables. Simply using an expression putting the variable creates it. The value is put into a storage space on Batch Management from which it can be retrieved using the get function. The value put may be a constant or an expression.

Table 25. Batch Functions

Name Syntax Description Scope

attget attget(equipment_name, attribute_name)

Get default value of equipment attribute from the equipment database.

Any PFC in any batch

attgets attgets(equipment_name, attribute_name)

Get default value of equipment attribute string from the equipment database.

Any PFC in any batch

blockstate blockstate() Get current state of block. Phase Block

bmode bmode() Get current mode of the batch. Any PFC in one batch

bstate bstate() Get current state of the batch. Any PFC in one batch

bvarget bvarget(variable_name) Get value of batch variable. Any PFC in one batch

bvargets bvargets(variable_name) Get value of string batch variable.

Any PFC in one batch

bvarput bvarput(variable_name, value)

Put value of batch variable. Any PFC in one batch

bvarputs bvarputs(variable_name, value)

Put value of string batch variable.

Any PFC in one batch

Page 248: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Appendix A Configuring Batch Variables and Expressions

248 3BUA000146R4101

datacol datacol(logical_name, OPC_item, rate)

Data collection. Same as data collection BMA.

Any PFC in any batch

error error(error_string) Put block into error with error_string message.

Any PFC in any batch

evals evals(" ‘expr‘") Evaluate string with embedded expressions.

Any PFC in any expression

event1 event(message[, "Message"|"Error"|"System"])

Generate an 800xA event. Any PFC in any batch

ex_abort ex_abort() Issue ABORT command. Exception procedure

ex_hold ex_hold() Issue HOLD command. Exception procedure

ex_isfinal ex_isfinal() Check if all blocks are in final state.

Exception procedure

ex_isheld ex_isheld() Check if all blocks are in HELD state.

Exception procedure

ex_ispaused ex_ispaused() Check if all blocks are in PAUSED state.

Exception procedure

ex_pause ex_pause() Issue PAUSE command. Exception procedure

ex_restart ex_restart() Issue RESTART command. Exception procedure

ex_resume ex_resume() Issue RESUME command. Exception procedure

ex_stop ex_stop() Issue STOP command. Exception procedure

exkill exkill() Terminate thread(s) parallel to this exception procedure.

Exception procedure

exrestart exrestart() Restart exception section. Exception procedure

getbid getbid( ) Get batch id. Any PFC in one batch

Table 25. Batch Functions (Continued)

Name Syntax Description Scope

Page 249: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Batch

3BUA000146R4101 249

geterror string

geterrorstring(status_string) Get error string from XML status string. Associated with unitattget, unitattput, unitattputs, getex, and putex.

Any PFC in any batch

getopid getopid() Returns ID of the current compute or transition block.

Block

getquality getquality(status_string) Get OPC quality from XML status string. Associated with unitattget, unitattput, unitattputs, getex, and putex.

Any PFC in any batch

getstatus getstatus(status_string) Get status value of function from XML status string. Associated with unitattget, unitattput, unitattputs, getex, and putex.

Any PFC in any batch

getvalue getvalue(status_string) Get OPC value from XML status string. Associated with unitattget, unitattput, unitattputs, getex, and putex.

Any PFC in any batch

getvalue string

getvaluestring(status_ string)

Get OPC string value from XML status string. Associated with unitattget, unitattput, unitattputs, getex, and putex.

Any PFC in any batch

gvardel gvardel(variable_name) Delete global variable. Any batch

gvarget gvarget(variable_name) Get value of global variable. Any PFC in any batch

gvargets gvargets(variable_name) Get value of string global variable.

Any PFC in any batch

gvarput gvarput(variable_name, value)

Put value of global variable. Any PFC in any batch

Table 25. Batch Functions (Continued)

Name Syntax Description Scope

Page 250: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Appendix A Configuring Batch Variables and Expressions

250 3BUA000146R4101

gvarputs gvarputs(variable_name, value)

Put value of string global variable.

Any PFC in any batch

is_int is_int(string[,low[,high]]) Check if string represents integer number.

Any PFC in any batch

is_num is_num(string[string[,low[,high]])

Check if string represents number

Any PFC in any batch

manget Reserved for future use.

mangets Reserved for future use.

mindex mindex() Locate the first unused module index for a specified equipment at run time.

Phase block

parget2,3 parget(parameter_name[, default_value])

Get value of parameter. Any PFC in any batch

pargets2,3 pargets(parameter_name[, default_value])

Get value of string parameter. Any PFC in any batch

pargetlist2,3 pargetlist(parameter_name[, default_value])

Get all values of a list or unit list parameter.

Any PFC in any batch

rcpexec rcpexec(pfc_name,[procedure_parameter_name, procedure_parameter_ value, ...])

Execute a procedure. Acts on one PFC, which can be configured to call other PFC

rwattget rwattget(equipment_name, attribute_name)

Get rw (writable) equipment attribute from the batch runtime database.

Any PFC in any batch

rwattgets rwattgets(equipment_name, attribute_name

Get rw (writable) equipment attribute string from the batch runtime database.

Any PFC in any batch

Table 25. Batch Functions (Continued)

Name Syntax Description Scope

Page 251: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Batch

3BUA000146R4101 251

rwattput rwattput(equipment_name, attribute_name, value)

Put rw (writable) equipment attribute to the batch runtime database.

Any PFC in any batch

rwattputs rwattputs(equipment_name, attribute_name, value)

Put rw (writable) equipment attribute string to the batch runtime database.

Any PFC in any batch

unitattget4 unitattget(equipment_name, attribute_name[, any_argument])

Get equipment attribute from batch runtime database (text, integer, or float variables) or OPC item configured for attribute (OPC datapoint attribute). If any_argument used, evaluate returned XML status string to determine success or failure of function. Supersedes rwattget and rwattgets.

Any PFC in any batch

unitattput4 unitattput(equipment_name, attribute_name, value[, any_argument])

Put equipment attribute to batch runtime database (integer or float variables) or OPC item configured for attribute (OPC datapoint attribute). If any_argument used, evaluate returned XML status string to determine success or failure of function. Supersedes rwattput.

Any PFC in any batch

Table 25. Batch Functions (Continued)

Name Syntax Description Scope

Page 252: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Appendix A Configuring Batch Variables and Expressions

252 3BUA000146R4101

unitattputs4 unitattputs(equipment_name, attribute_name, value[, any_argument])

Put equipment attribute string to batch runtime database (text variable) or OPC item configured for attribute (OPC datapoint attribute). If any_argument used, evaluate returned XML status string to determine success or failure of function. Supersedes rwattputs.

Any PFC in any batch

varget varget(variable_name[, initial_value])

Get value of existing numeric local variable. If variable does not exist, it will be created, given the value initial_value, and that value will be returned.

One PFC

vargets vargets(variable_name) Get value of string local variable.

One PFC

varput varput(variable_name, value)

Put value of numeric local variable.

One PFC

Table 25. Batch Functions (Continued)

Name Syntax Description Scope

Page 253: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions DBA

3BUA000146R4101 253

DBA

The DBA functions that are built into the batch management system provide access to the control system global database. DBA functions that can be used in batch expressions are described in Table 26.

The expression (expr) that is part of the syntax for the bdbput function can be a parameter name.

Example:

• bdbput("FeedTank",UnitFT)

varputs varputs(variable_name, value)

Put value of string local variable.

One PFC

NOTES: 1. If the event type is not supplied, the event type defaults to Message. Using the System event type will ensure that it

is not removed from the event list until acknowledged.2. default_value represents a user specified value that will be returned if the function is unsuccessful. It is important

that the value be set to a float (for parget function) or string (for pargets and pargetlist functions) value that is easily recognized and will not be confused with valid returned values.

3. Specifying "../parameter_name" will return the values defined in the parent procedure of this procedure. Specifying "../../parameter_name" will return the values defined in the grandparent procedure of this procedure. This convention can be used to access all the way up to the top level recipe procedure. Specifying "/parameter_name" will return the values defined at the top level recipe procedure.

4. The functions unitattget, unitattput, and unitattputs return the following XML string:<ScriptResult>

(Status>StatusValueHere</Status><Quality></Quality><Value></Value><ErrorString>ErrorStringHere</ErrorString>

</ScriptResult>Use the geterrorstring, getquality, getstatus, getvalue, and getvaluestring functions to extract information from the XML string.

Because the default values of equipment attributes cannot be changed from a procedure, the attget function has no corresponding put function.

Table 25. Batch Functions (Continued)

Name Syntax Description Scope

Page 254: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

DBA Appendix A Configuring Batch Variables and Expressions

254 3BUA000146R4101

where UnitFT is a parameter that represents a value in the equipment or recipe database. "FeedTank" is enclosed within double quotation marks, so that it will be treated as text, as described in Text Entry Format on page 241.

Table 26. DBA Functions in Batch Expressions

Function Syntax Description

bdbget bdbget(tagkeyname) Get Tag Key Collected data

bdbgets bdbgets(tagkeyname) Get Tag Key Collected string data

bdbput1 bdbput(tagkeyname, expr) Put Tag Key Collected data

get2,3,4 get(OPC_item[, error_value]) Get current data for the specified OPC path

getex getex(OPC_item) Get current data for the specified OPC path. The returned XML status string is evaluated to determine success or failure of function.

gets2,3 gets(OPC_item[, error_value]) Get current string data for the specified OPC path

put2,4,5 put(OPC_item, value[, error_value]) Put current data for the specified OPC path

Page 255: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions General

3BUA000146R4101 255

Information regarding assignment of DBA functions is saved on a per-batch basis.

General

In addition to the specialized functions discussed, a number of functions that accomplish more general activities are also provided. These general functions are listed in Table 27.

putex putex(OPC_item) Put current data to the specified OPC item. The returned XML status string is evaluated to determine success or failure of function.

NOTES:1. When using phases other than batch advanced phases, use tagkeyname.in and tagkeyname.out when configuring

two values to be called up (through Information Management) when tagkeyname is specified. To configure the recording of a pair of data values (for example, variable, parameter, etc.) before and after an action of some type:a. Use bdbput (data_name.in, data_value) as the precompute expression of a phase or as the

expression in a compute BMA block.b. Use bdbput (data_name.out, data_value) as the postcompute expression of the same phase referred

to in Step a or as the expression in a compute BMA block on the same PFC as the compute BMA blockreferred to in Step a.

This pair of data values can be printed by specifying just the name of the data. Refer to the appropriate Information Management instruction for more information.When using batch advanced phases, refer to Output Parameters on page 51 for more information about saving and printing initial and final values of a phase parameter.

2. Error_value represents a user specified value that will be returned if the function is unsuccessful. It is important that error_value be set to a float (for get and put functions) or string (for gets function) value that is easily recognized and will not be confused with valid return values.

3. For get functions, Boolean OPC datapoints return a -1 for the true condition. Programmers should test this function against the false condition (zero) because of this nonintuitive true condition value.

4. Timer values must be expressed (for put function) and interpreted (for get function) as milliseconds.5. A successful put function returns a 0 for Boolean and float OPC datapoints.

Table 27. General Functions

Name Syntax Description

Trigonometric Functions

acos acos(expr) Arc cosine

Table 26. DBA Functions in Batch Expressions (Continued)

Function Syntax Description

Page 256: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

General Appendix A Configuring Batch Variables and Expressions

256 3BUA000146R4101

asin asin(expr) Arc sine

atan atan(expr) Arc tangent

cos cos(expr) Cosine

cosh cosh(expr) Hyperbolic cosine

sin sin(expr) Sine

sinh sinh(expr) Hyperbolic sine

tan tan(expr) Tangent

tanh tanh(expr) Hyperbolic tangent

Math Functions

abs abs(expr) Absolute value

ceil ceil(expr) Round up

cond1 cond(expr, true_return, false return)

Conditional test (true_return is the value to return if true, false_return is the value to return if false)

exp exp(expr) Exponent

floor floor(expr) Round down

int int(expr) Integer

log log(expr) Log

log10 log10(expr) Log base 10

ran ran() Random number generator

sqrt sqrt(expr) Square root

String Functions

fgets fgets(fnum) Get string from a stream

fputs fputs(str,fnum) Put string on a stream

Table 27. General Functions (Continued)

Name Syntax Description

Page 257: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions General

3BUA000146R4101 257

num num(str) Convert string to numeric value

parse parse(str, separator, n) Return nth token of str

str str(nbr) Convert number to string

strex strex(str,p1,len) Return substring of str starting at p1 for len characters

strlen strlen(str) Return length of string

File Functions

fclose fclose(fnum) File close

fopen fopen(fname, type) File open. Type accepts standard C language access types. The most commonly used access types are:

"a+"Opens file for reading and appending. EOF moved to actual end of file.

"r"Opens file for reading.

"r+"Opens previously created file for reading and writing.

"w"Opens file for writing. Contents of existing file are destroyed.

"w+"Opens file for reading and writing. Contents of existing file are destroyed.

getpid getpid( ) Get process ID

unlink unlink(fname) File delete

Time Functions

str2time str2time("string_time") Converts string_time expressed as HH:MM:SS MM/DD/YY (based on date format set in Regional Options dialog box) to integer representing number of seconds since 1 January 1970

Table 27. General Functions (Continued)

Name Syntax Description

Page 258: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Variables Appendix A Configuring Batch Variables and Expressions

258 3BUA000146R4101

Variables

Table 28 lists the built-in variables used by various batch functions.

time time() Get current time expressed as integer representing number of seconds since 1 January 1970

time2str time2str(integer) Converts integer representing number of seconds since 1 January 1970 to string time as HH:MM:SS MM/DD/YY (based on date format set in Regional Options dialog box)

times times() Get current time as string in the form HH:MM:SS MM/DD/YY (based on date format set in Regional Options dialog box)

Miscellaneous Functions

arg arg(exp) Return nth argument

narg narg() Return number of arguments

NOTE:1. The cond command performs both the true_return and the false_return arguments before a decision is made.

Therefore, it is recommended that cond not be used with write operations. Use the IF keyword instead of the cond command for write operations. Refer to IF/ELSE Syntax on page 240 for information about use of IF.

Table 28. Variables

Name Associated With ... Description

__current PFC block labels 0 = block inactive1 = block active

__display PFC block labels 0 = Label computed in context of PFC editor1 = Label computed in context of runtime display2 = Label computed in context of batch overview

__name PFC block labels Name of current PFC block (phase alias or procedure name)

__unit Select and deselect BMA Name of a piece of equipment

Table 27. General Functions (Continued)

Name Syntax Description

Page 259: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Batch Management Function Wizard

3BUA000146R4101 259

Batch Management Function WizardA function wizard is a tool that provides easy access to functions and the syntax required for their use. By default, the Batch Management function wizard includes the set of standard Batch Management functions provided with the Batch Management software in the System Functions object located in the Procedure Structure.

In addition to the standard functions provided as a part of the Batch Management software, the user can create custom functions. Configuration of custom functions is described later in this appendix.

Standard and custom functions are used in batch expressions during procedure configuration. Procedure configuration is discussed in Section 5, Procedures. All functions, both standard and user-created, can also be accessed for use when editing a control recipe at run time. Runtime editing of control recipes is described in the Batch Management Operation instruction.

The Batch Management function wizard is accessed by clicking FW.

This button appears on procedure configuration windows where batch expressions can be configured. Many such windows are used during configuration of batch manager action blocks, including the compute, acquire, select equipment, sequence start, release equipment, reserve equipment, unreserve equipment, set sop section, command and print report BMAs. The Function Wizard Selection window (Figure 98) will be displayed. The main portion of this window is occupied by a pair of list boxes labeled function category and function name. The item selected in the function category list box determines the contents of the function name list box.

Click a specific function in the Function Name box, and the Prototype and Description boxes are filled automatically. The Prototype text box displays the syntax for using the selected function. The Description entry contains text that describes what the function does. These two items are for display only, and cannot be altered from this window. If the entry for either the description or prototype is larger than can be displayed in the text box, click the expand entry button (...). This causes a text editor window to be displayed, which contains the complete entry for the selected item.

Page 260: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Management Function Wizard Appendix A Configuring Batch Variables and Expressions

260 3BUA000146R4101

To view the long description for the function, and a description of each parameter used in the function, click Detail. The Function Detail window (Figure 99) will be displayed.

The Function Detail window provides the ability to configure the parameter values to be used in the function. Functions can be used recursively. For example, one

TC02200B

Figure 98. Function Wizard Selection Window

TC02201A

Figure 99. Function Detail Window

Page 261: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Batch Management Function Wizard

3BUA000146R4101 261

function can call another function, even itself. The following function returns the square root of a square root:

func root_of_root() { a = sqrt(sqrt(#par1#) return(a) }

#par1# is a place holder for a parameter value that still needs to be configured. This can be done manually in the function body, or it can be done by entering additional functions. FW buttons are available for use in configuring each parameter in the function detail window. These permit the use of the Batch Management function wizard to be used to configure functions as parameter values of a parent function. As the function wizard is invoked recursively, the window title bars are annotated to include the level number. (An example is shown in Figure 100.) This assists in keeping track of how many levels deep the recursion has progressed. Once configured, any and all recursive function calls within the parameter will be displayed at the topmost level in the body of the function.

If the function being viewed in the Function Detail window is a custom user configured function, Body is included in the window. This button provides a convenient way to view the text or body of the function, as it was configured.

TC02202C

Figure 100. Function Detail Window, Level 2

Page 262: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Custom Functions with the Function Wizard Appendix A Configuring Batch Variables and

262 3BUA000146R4101

Custom Functions with the Function WizardA function wizard is a tool that provides a convenient way to access standard and custom functions for use in batch expressions, and the syntax required for their use. A set of standard Batch Management functions is provided with the Batch Management software in the System Functions object located in the Procedure Structure. These standard functions are documented in Built-In Functions on page 247. In addition to the standard functions, custom functions can be created.

Furthermore, a function can be tested before it is ever used in the execution of an actual batch.

Add

To create a custom functions group:

1. Select the Procedure Structure in the plant explorer workplace.

2. Right click the object (or the background to select the root) that will contain the custom functions group.

3. Select New Object from the pop-up menu.

4. Select Functions in the New Object window.

5. Enter the name and, if desired, description for the object.

6. Click Create.

To add/create a function:

1. Right click the function group that will contain the function object.

2. Select New Object from the pop-up menu.

3. Select Function in the New Object window.

4. Enter the name and, if desired, description for the object.

5. Click Create.

6. Select the Name aspect of the function.

7. Enter a description of the function in the Description field. This description is used as the short description of the function in the function wizard.

Page 263: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Configure

3BUA000146R4101 263

8. Click Apply.

Configure

To configure a newly created custom function:

1. Select the function object. A window displaying the blank configuration of the newly created function aspect (Figure 101) will be opened.

2. Configure the function itself in the text entry portion of the window. It can be typed directly into this portion of the display. Use the following format when configuring the function.

func function_name() {body_of_function}

3. If desired, click FW to include other functions within the function being configured. Refer to Using Functions within Functions on page 264 for more information.

TC05101A

Figure 101. New Function Aspect Window

Page 264: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Save and Cancel Appendix A Configuring Batch Variables and Expressions

264 3BUA000146R4101

4. If desired, click the parameters on/off button to configure parameters and test variables. Refer to Parameters and Test Variables on page 264 for more information.

5. Click the test function button to test the function.

Save and Cancel

To save the function, click the save button. Leaving the function aspect window before saving any changes causes the Batch Function - function_name window to be displayed. Click Yes to save the changes and proceed as desired. Click No to abandon the changes and proceed as desired. Click Cancel to return to the function aspect window.

Using Functions within Functions

A function can be configured using other functions, both the standard Batch Management functions and user-configured custom functions. To include another function:

1. Place the cursor where the function is to be added.

2. Click FW.

3. Select the function to be added in the Select Function window (Figure 102).

Parameters and Test Variables

To define parameters and test variables:

1. Click the parameters on/off button.

2. Select the Parameters (or Test Variables) tab (Figure 103).

3. Click the insert parameter (or insert test variable) button.

When configuring a function, if no parameter value is supplied for a given parameter, then the string $n will be supplied as the parameter value, where n is the number of the parameter. This string can later be manually edited in the body of the function.

Page 265: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Parameters and Test Variables

3BUA000146R4101 265

4. Enter the appropriate information in the Name, Description, and Test Value columns (for parameters) or the Name, Type, Value Type, and Value columns (for test variables).

5. Click the save aspect button.

TC05102A

Figure 102. Select Function Window

TC05100A

Figure 103. Parameter and Text Variables Tabs

Page 266: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters and Test Variables Appendix A Configuring Batch Variables and Expressions

266 3BUA000146R4101

To delete a parameter, click the item on the Parameters tab and press the Delete key. The entry for the selected parameter will be removed from the Parameters tab.

When a parameter is added to the Parameters tab, it is automatically given the next available parameter number. This number consists of a dollar sign followed by a number. The number reflects the position of the parameter in the order of items in the Parameters tab. For example, the first parameter would be $1, the second would be $2, and so on. If a parameter is deleted, this number will change to reflect the new order. That is, if the parameter represented by $1 is deleted, the second parameter will then move up and it will then be represented by $1.

Assume a function named newfunc is created, and three parameters have been defined for this function: param1, param2, and param3 which are automatically given the symbolic names $1, $2, and $3. An expression to add these parameters and return the sum would be written:

func newfunc() { a = $1 + $2 + $3 return(a) }

The Test Value column on the Parameters tab is used to specify a value to be used by parameters during testing of the function.

Test variables can also be defined for a function. These test variables are meant to simulate variables that would normally exist during the execution of the procedure and are used when test a function. The Type column allows the following variable types to be specified.• Global - used in any PFC in any batch.• Batch - used in any PFC in a single batch.• Local - used within one instance of one PFC.• DBA - used with DBA functions in batch expressions.

Refer to Built-In Functions on page 247 for information on these types of batch variables and their use in batch expressions.

Specify the appropriate type of value in the Value Type column (that is, whether the variable will contain a Number (the default) or a character String).

Use these symbolic names in the body of the function, rather than the parameter names.

Page 267: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Test a Custom Function

3BUA000146R4101 267

Finally, enter the Value to be used in the variable. To delete a test variable, select the item and press the Delete key.

Test a Custom Function

Once the body of a function has been written, it can be tested before it is used during the execution of an actual batch. Click the test function button to test the function using the parameter test values and test variables. The results of the test are displayed in the Test Results window.

For example, the function configured in Figure 104 is designed to create a name for a soup, based on the ingredients. It includes the parameters named percent1 and percent2, and test variables named ingred1 and ingred2.

Click the test function button and the Test Results window (Figure 105) will be displayed. This window provides the value returned for the function, as well as information on the test variables that were modified as a result of running the test.

TC02243B

Figure 104. Sample Function with Parameters and Test Variables

Page 268: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Edit Appendix A Configuring Batch Variables and Expressions

268 3BUA000146R4101

Errors encountered during execution of the test will also be reported in the Test Results window.

Edit

To edit a custom function, select the function object and edit the desired information.

Delete

Custom functions are deleted in the same manner as all other aspects.

Views

Functions (both system and custom) can be viewed in two different formats. The main view (default) displays the coding, parameters, and test values of the function. The XML view displays the raw XML code stored in the function. To select a view:

1. Select the view pull-down menu icon (on the right side of the pin icon).

2. Select the desired view on the pull-down menu.

TC02246B

Figure 105. Test Results Window

Page 269: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix A Configuring Batch Variables and Expressions Search and Replace

3BUA000146R4101 269

Search and Replace

Text within a custom function can be found and replaced with other text using the search and replace function. To replace text:

1. Click the search and replace button.

2. Enter the text to be replaced in the Find What field of the replace window.

3. Enter the text to be inserted in the Replace With field.

4. Enable any desired replace options (Match Whole Word Only or Match Case).

5. Click Find Next.

6. Click Replace (replaces selected occurrence) or Replace All (replaces all occurrences).

Page 270: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 271: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 271

Appendix B Report Configuration Using ExcelSpreadsheets

IntroductionSpreadsheet logs are used to obtain data from, change, and put data into the database. Spreadsheet log configuration is performed using Microsoft® Excel 2002 (part of Office XP). A simple spreadsheet log (Batch_Report.xls) is provided.

A number of special functions can be used to include batch information in a spreadsheet log. These special functions can be added to an Excel spreadsheet by selecting Tools > Add-Ins... > Batch_Fpexcel from the Excel menu bar.

These functions are described in this section:• fpbget.• fpbgetd.• fpbtget.• fpbevtfile.• fpubid.

Functions are entered in the spreadsheet as formulas during configuration of the spreadsheet.

If Batch_Fpexcel is not an available add-in, browse to D:\Program Files\ABB Industrial IT\Produce IT\Batch\Bin \Batch_Fpexcel.xla.

In order to make new spreadsheet logs available through batch dialogs, they need to be saved in the directory <$FP_ROOT_DIR$>\lib\exlog where <$FP_ROOT_DIR$> is the environment variable pointing to the directory where the batch system is installed.

Page 272: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

fpbget( ) Function Appendix B Report Configuration Using Excel Spreadsheets

272 3BUA000146R4101

fpbget( ) FunctionThis function is used in the spreadsheet as a formula. This function gets tag key data for the tag name and batch ID (bid) specified. Data is obtained from the batch database. The function fpbget() returns the value in ASCII format. Table 29 describes how to use this function.

Example:

• fpbget("Chl012B", "DACL")

This example gets tag key data for the tag name DACL from the data stored for the batch with the batch ID of Chl012B.

fpbgetd( ) FunctionThis function is used in the spreadsheet as a formula. This function gets tag key data for the tag name and batch ID (bid) specified. Data is obtained from the batch database. The function fpbgetd() returns the value as a double precision data type. Table 30 describes how to use this function.

Table 29. fpbget() Function

Format char fpbget(bid, tag)

Inputs bid The batch ID for the batch database from which the data is to be obtained.

tag The tag name for which the value will be obtained from the batch database.

Outputs None.

Returns The value specified by the combination of batch ID and tag name, or an error message.

Table 30. fpbgetd() Function

Format double fpbgetd(bid, tag)

Inputs bid The batch ID for the batch database from which the data is to be obtained.

tag The tag name for which the value will be obtained from the batch database.

Page 273: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix B Report Configuration Using Excel Spreadsheets fpbtget( ) Function

3BUA000146R4101 273

Example:

• fpbgetd("Chl012B", "DACL")

This example gets tag key data for the tag name DACL from the data stored for the batch with the batch ID of Chl012B.

fpbtget( ) FunctionThis function is used in the spreadsheet as a formula. This function gets the collection time/date of the tag key data for the tag name and batch ID (bid) specified. Data is obtained from the batch database. The function fpbtget() returns the value in Lotus® time format. Table 31 describes how to use this function.

Example:

• fpbtget("Chl012B", "DACL")

This example gets collection time/date associated with the tag key data for the tag name DACL from the data stored for the batch with the batch ID of Chl012B.

Outputs None.

Returns The value specified by the combination of batch ID and tag name, or an error message.

Table 31. fpbtget() Function

Format char fpbtget(bid, tag)

Inputs bid The batch ID for the batch database from which the data is to be obtained.

tag The tag name for which the value will be obtained from the batch database.

Outputs None.

Returns The collection time/date associated with the value specified by the combination of batch ID and tag name, or an error message.

Table 30. fpbgetd() Function (Continued)

Page 274: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

fpbevtfile( ) Function Appendix B Report Configuration Using Excel Spreadsheets

274 3BUA000146R4101

fpbevtfile( ) FunctionThis function is used in a spreadsheet as part of a formula. The user can retrieve event data for a particular batch, based on the batch ID. The filename specified by the user in the function call is created, and will contain the events for the specified batch. Table 32 describes how to use this function.

Example:

The following example creates the file d:\temp\oilevt.txt to contain the event data for the batch with the batch ID OIL10W40.

• ''evt Macro'Sub evt()file=fpbevtfile("OIL10W40","d:\temp\oilevt.txt")If IsError(file)=False Then 'PROCESS FILEEndif

End Sub

Table 32. fpbevtfile() Function

Format fpbevtfile(bid, filename)

Inputs bid The batch ID for the batch database from which the data is to be obtained.

fiilename The name given to the file created to contain the event data for the specified batch.

Outputs None.

Returns The filename and contents if successful, or ?#NULL if an error occurs.

Page 275: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix B Report Configuration Using Excel Spreadsheets fpubid Function

3BUA000146R4101 275

fpubid FunctionThis function returns the alphanumeric string used as the batch ID name for the batch selected by the user from the list on the batch historian window. Table 33 describes how to use this function.

Example:

• fpubid

This example returns the selected batch ID.

Table 33. fpubid Function

Format char fpubid

Inputs None.

Outputs None.

Returns The batch ID.

Page 276: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 277: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 277

Appendix C Configuring a Graphic

IntroductionGraphics can be configured to have buttons that will display PFCs, messages, and batch status. Among the configuration items available are standard button aspects. These aspects have been supplied by ABB (found in Library Structure\Batch Management\Graphic Elements) and contain preconfigured dynamic attributes. Batch equipment OPC information can also be accessed on properly configured graphic displays. Refer to the 800xA System Configuration instruction for detailed information about creating graphics.

View a PFCOne dynamic button aspect, BatchPFC (a small rectangle containing a P), can be placed on graphic displays. When this button is clicked, a window will display the PFC for the batch (if any) which has acquired, reserved or selected that equipment. If no batch has acquired, reserved or selected the equipment, a window containing a message to that effect will appear. Click OK to close the window. The button face color is changed to the active color when the equipment is acquired, reserved, or selected.

View MessagesAnother dynamic button aspect, BatchMessage (a small rectangle containing an M), can also be placed on graphic displays. When this button is clicked, a window will display the list of pending messages for the batch (if any), which has acquired, reserved or selected that equipment. If no batch has acquired, reserved, or selected the equipment or if there are no messages pending, a window containing a message to that effect will appear. Click OK to close the window. The button fill color is

Page 278: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

View Batch Status Appendix C Configuring a Graphic

278 3BUA000146R4101

changed to the active color when the equipment is acquired, reserved or selected and there are pending messages.

View Batch StatusAnother dynamic button aspect, BatchStatus (a small rectangle containing an S) can also by placed on graphic displays. When this button is clicked, the Batch Information window will be displayed for the batch (if any) which has acquired, reserved, or selected the equipment.

If no batch has acquired, reserved, or selected the equipment, a window containing a message to that effect will appear. Click OK to close the window. The button face color is changed to the active color when the equipment is acquired, reserved, or selected.

Batch Equipment InformationBatch equipment OPC information can be accessed and displayed on graphic displays using standard graphic display configuration procedures.

Page 279: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 279

Appendix D Batch Command Interface

IntroductionThe program development interface (PDI) is an application program interface which provides a software development environment for the creation of custom programs. The batch command interface is a library of functions that can be used in custom programs. Available batch commands are listed in Table 34.

batch_cbatchThis command changes the mode, priority, start time, estimated execution time, schedule status, how to handle parameters, and how to set parameters. Table 35 describes how to use this command.

Two examples are:

• batch_cbatch -b prod1_062199 -p 1 -r

This would change the existing batch named prod1_062199. It would set its priority to 1. The -r flag indicates all existing parameters should be set to default values.

Table 34. Batch Interface Commands

CommandOnline

Instruction Section

Description

batch_cbatch 1 Change scheduled batch

batch_chgunit 1 Change equipment status

batch_sbatch 1 Schedule batch

Page 280: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

batch_cbatch Appendix D Batch Command Interface

280 3BUA000146R4101

Table 35. batch_cbatch Command

Format batch_cbatch -b BID -m Mode -p Priority -t StartTime -e EstTime -s/-u -w -r/-d param=value...

Inputs -b BID ID to identify the batch to change.

-m Mode1 Operating mode to set the batch to: automatic, semiautomatic, and manual.

-p Priority1 Priority to assign the batch: 1-16.

-t StartTime1 Time to start execution of the batch. This can be changed any time after the batch is created, but before it has started execution. Start time is not checked until the batch status goes to scheduled:hh:mm:ss <day>-<month>-<year>Example: 04:47:00 27-SEP-99 or 04:47:00 27-09-99.

-e EstTime1 Estimated execution time:hh:mm:ss.

-s1 or -u1 Schedule or unschedule the batch. An unscheduled batch can be scheduled by specifying the -s flag. A scheduled batch can be changed to unscheduled by specifying the -u flag. If the batch is activated these flags will be silently ignored.

-w1 Specifies that the batch_cbatch command should wait until the batch completes execution before exiting.

-d1 or -r1 Delete, replace or update parameters. These flags specify what to do with the parameter values supplied on the command line. If no flag is supplied, update is assumed. In update mode the specified parameter values are used, and unspecified parameters are not affected. If replace (-r) is specified, all existing parameter values are removed (regardless of how they were originally configured), and the specified values are used. All unspecified parameter values will revert to their default values. Specifying -r with no parameter values is equivalent to deleting all parameters. If (-d) is specified, all specified parameters are removed and will revert to their default values. In this case, the value specification on the command line is ignored. Any parameter that is not specified will not be affected.

Page 281: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix D Batch Command Interface batch_cbatch

3BUA000146R4101 281

• batch_cbatch -b prod2_062199 -s

This would cause the batch prod2_062199 to be scheduled. If its start time has passed, execution will begin immediately. Otherwise, execution will occur at the time specified.

Inputs (cont)

param=value1 Values for the top level batch parameters. Param is replaced with the name supplied when defining parameters during Procedure Configuration. The value is a string representation. Since parameters are all strings proper shell escapes must be used to pass them on the command line to batch_cbatch. Refer to the -d and -r flags for details on how specified values relate to existing values. Examples:ProductName=\"ValueWithoutSpaces\"(at command prompt)“ProductName=\\\”ValueWithoutSpaces\\\””(in Command BMA)“ProductName=\”Value With Spaces\””(at command prompt)“\”ProductName=\\\”Value With Spaces\\\”\””(in Command BMA)

Outputs Error messages to standard error.

Returns Exit status 0 for no error, <0 for error.

Function batch_cbatch parses the command line for all options. A BID must be supplied and an associated batch must exist. Only specified values will be acted on, all others will be left at their current values. Multiple parameter values can be supplied. How the specified and existing parameters are processed is determined by the flags -d and -r. Once batch_cbatch has parsed all values, it modifies the batch and notifies the batch manager. If the -w flag was specified, the batch_cbatch waits for notification from the batch manager to indicate that the batch has completed before exiting.

Errors detected

Usage error.Batch system not active.No BID/BID does not exist.Parameter error.

NOTE:1. Optional parameter.

Table 35. batch_cbatch Command (Continued)

Page 282: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

batch_chgunit Appendix D Batch Command Interface

282 3BUA000146R4101

batch_chgunitThis command changes the status (enable, disable, or discard) of a piece of equipment. Table 36 describes how to use this command.

Three examples are:

• batch_chgunit -r FT01

This would discard equipment FT01. Discarding will disable the equipment and remove all items from its batch queue.

Table 36. batch_chgunit Command

Format batch_chgunit -e/-d/-r Unit...

Inputs -e Unit1 Name of an existing equipment to enable.

-d Unit1 Name of an existing equipment to disable.

-r Unit1 Name of an existing equipment to discard (disable and remove batch queue).

Outputs Error messages to standard error.

Returns Exit status 0 for no error, <0 for error.

Function batch_chgunit changes the operator status of the specified equipment. The parameters to batch_chgunit consist of commands (-e -d -r) and the name of an existing equipment. There is no limit to the number of commands passed to batch_chgunit. Each command is passed and processed in order. So, it is valid to have multiple commands on the same equipment. The exit status indicates the success or failure of the command. There is no output on successful completion. Error messages will be printed for failures. Once a failure is encountered, subsequent commands are not executed.

Errors detected

Usage error.Batch system not active.Equipment does not exist.Command not valid on current status.

NOTE:1. Optional parameter.

Page 283: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix D Batch Command Interface batch_sbatch

3BUA000146R4101 283

• batch_chgunit -d FT01 -e FT01

This would disable, then enable equipment FT01, effectively restarting it.

• batch_chgunit -e FT01 -e FT02 -e FT03 -d Unit01

This would enable the equipment FT01, FT02 and FT03 and disable equipment Unit01.

batch_sbatchThis command sets all the necessary parameters to schedule the execution of a batch. Table 37 describes how to use this command.

Table 37. batch_sbatch Command

Format batch_sbatch -b BID -r Procedure -l Lot -n Campaign -c Comment -m Mode -p Priority -t StartTime -e EstTime -s/-u -w param=value...

Inputs -b BID Unique ID to assign to the new batch.

-r Procedure1 Existing approved procedure to serve as top level of the batch.

-l Lot1 Lot name to be assigned to the batch.

-n Campaign1 Campaign name to be assigned to the batch.

-c Comment1 Comment string that will show up in the batch overview and status popup (if specified).

-m Mode1 Operating mode to start the batch in: automatic (default), semiautomatic, and manual.

-p Priority1 Priority to assign the batch: 1-16. Default value is 8.

-a Batch cell Batch cell to be assigned to the batch.

-t StartTime1 Time to start execution of the batch. This can be changed any time after the batch is created, but before it has started execution. Start time is not checked until the batch status goes to scheduled. Default value is Immediate:hh:mm:ss <day>-<month>-<year>Example: 04:47:00 27-SEP-99 or 04:47:00 27-09-99.

Page 284: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

batch_sbatch Appendix D Batch Command Interface

284 3BUA000146R4101

Inputs (cont)

-e EstTime1 Estimated execution time. Default value is Dynamic:hh:mm:ss.

-s1 or -u1 Schedule or unschedule initial status. Allows the batch to be created but not scheduled. It can be scheduled later. Default value is -s.

-w1 Specifies that the batch_sbatch command should wait until the batch completes execution before exiting.

param=value1 Values for the top level batch parameters. Param is replaced with the name supplied when defining parameters during Procedure Configuration. The value is a string representation. Since parameters are all strings, proper shell escapes must be used to pass them on the command line to batch_sbatch. Examples:ProductName=\"ValueWithoutSpaces\"(at command prompt)“ProductName=\\\”ValueWithoutSpaces\\\””(in Command BMA)“ProductName=\”Value With Spaces\””(at command prompt)“\”ProductName=\\\”Value With Spaces\\\”\””(in Command BMA)

Outputs Error messages to standard error.

Returns Exit status 0 for no error, <0 for error.

Function batch_sbatch parses the command line for all options. A BID and procedure must be supplied. All other values can be defaulted. Multiple parameter values can be supplied. Once batch_sbatch has parsed all values, it creates the batch and notifies the batch manager. If the –u option was specified the batch will remain in the unscheduled status. If the –w flag was specified the batch_sbatch waits for notification from the batch manager to indicate that the batch has completed before exiting.

Errors detected

Usage error.Batch system not active.No BID/No unique BID.No procedure/Procedure does not exist.Parameter error.

NOTE:1. Optional parameter.

Table 37. batch_sbatch Command (Continued)

Page 285: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix D Batch Command Interface batch_sbatch

3BUA000146R4101 285

Two examples are:

• batch_sbatch –b prod1_062199 –r prod1_BR –t "10:00 27-SEP-99" BatLabel=\"Product 1\"

This will start a new batch named prod1_062199. Its top level procedure will be prod1_BR. The new batch status will be Scheduled and it will be scheduled to begin execution at 10 am on 27 September 1999. The procedure prod1_BR must have a parameter named BatLabel defined with Product 1 being a valid value. Once the new batch is created, batch_sbatch will exit with the appropriate status.

• batch_sbatch -b prod2_062199 -r prod2_BR -u

This will create a new batch named prod2_062199. Its top level procedure will be prod2_BR. The new batch status will be unscheduled. In order to execute the batch it must be set to Scheduled through the batch_sbatch command or the standard operator interface.

Page 286: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 287: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 287

Appendix E Batch Utilities

IntroductionThis section describes batch utilities such as:

• Miscellaneous batch configuration - configures the batch settings, history options, and event settings.

• Default procedure configuration - configures the minimum number of required revision comments, number of backup revisions kept, default cell, S88 option status, and PFC color configuration.

• Restore - provides a means to restore PFC color configuration information and batch IDs from a previous version of Batch Management.

• Report configuration - configures reports to be generated based on the recipe database configuration.

• Language localization - sets the language to be used in windows, dialog boxes, error messages, warning messages, and batch history events.

• Batch toolbar - enables a toolbar containing three buttons that open the Batch Overview, Batch History Overview, and Equipment Overview windows.

Miscellaneous Batch ConfigurationMiscellaneous batch configuration information is contained in the Library Structure\Batch Management\Configuration\Miscellaneous Configuration aspect. Select this aspect to display the Batch Settings, History Options, Event Settings, Select Batch Colors, and Manage Batch IDs tabs.

Page 288: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Settings Appendix E Batch Utilities

288 3BUA000146R4101

Batch Settings

This tab (Figure 106) provides the ability to configure retention limits and unit event associations. The number of completed and terminated batches listed on the Batch Overview window can be configured using the Number and Retention Time parameters.

Enter a value in Number Retained field. This is the number of entries for completed batch runs that are retained on the Batch Overview window.

TC05256B

Figure 106. Batch Settings Tab

Page 289: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities History Options

3BUA000146R4101 289

Select the desired retention time from the list of available retention time intervals in the Retention Time field.

Enabling the Objects and Descendents option causes batch information (batch ID, campaign ID, lot ID, and procedure path) to be appended to alarms and events generated by equipment and any of its descendent objects if the equipment is acquired by a batch. The Objects and Descendents in Structure option allows the appending of batch information to be limited to the equipment in just one 800xA structure.

History Options

This tab (Figure 107) provides the ability to set the default settings for the type and level of detail of data to be retained for a batch. Allowing unnecessary data to be discarded means that less disk space will be necessary to store the data.

Check boxes associated with the following event types allow the retention or discarding of information for:• Operator changes (from Batch Management).• All other Batch Management events (such as procedure starts and stops).

When the option is enabled, data for that item will be retained. Otherwise, the data will be discarded.

For batch manager actions and phases, select one of the following levels for retaining data:• None.• Basic (start time, end time).• Full (includes parameter values plus start and end times).

If both a retention time and a number of batches are configured, both apply, although the one that is reached first will take effect. For example, assume that a retention time of eight hours and a limit of 10 batches are specified. If 20 batches are completed within the time of eight hours, the last 10 will be retained. (The batches are stored on a first-in, first-out basis, with the first one being discarded when the 11 one completes, and so on.) Alternately, if only three batches complete within eight hours, each of the three will be removed eight hours after its respective completion time.

Page 290: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

History Options Appendix E Batch Utilities

290 3BUA000146R4101

To select the desired level of data, enable the appropriate option. The default history option settings can be changed for any individual batch by using the History Options tab of the Batch Schedule window. Refer to the Batch Management Operation instruction.

If Information Management is included in the system, the information selected on the History Options tab will be stored in a production data log (PDL) and message log on the Information Management server. The message log must be configured using the Information Management Services application. Refer to the appropriate Information Management instruction for more information. Information Management DataDirect and any SQL-based data access application are two ways to read the PDL and message log.

TC04584C

Figure 107. History Options Tab

Information Management allows the viewing of process events and operator actions from sources external to Batch Management as well as attributes of an event (such as second authenticator of an operator change).

Page 291: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Event Settings

3BUA000146R4101 291

Event Settings

Batch Management system events (batch server failovers and security violations), messages and breakpoints reached, errors, and simple events (standard batch events as determined by settings described in History Options on page 289) can be routed to the 800xA System event page. System events, messages, breakpoints reached and errors are 800xA condition events and can trigger an alarm. Refer to Figure 108.

Use the Event Settings tab to:

• Enable (or disable) the routing of batch events to the 800xA System.

• Set the 800xA event severity to a value of one through 1000 with 1000 being the highest severity.

The Auto-Ack option provides the ability to automatically clear the 800xA event when a:• Batch Management message is answered.

TC04585C

Figure 108. Event Settings Tab

Page 292: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Select Batch Colors Appendix E Batch Utilities

292 3BUA000146R4101

• Breakpoint is continued.• Error is cleared (or the block with the error is continued).

Select Batch Colors

This tab (Figure 109) provides the ability to configure the block state (colors and blink rate) to be used in phase, procedure and BMA blocks on the procedure function charts (PFCs).

This tab contains a set of buttons under the heading Block State. The legend on the face of each button indicates the state it represents, and it is displayed using the combination of colors and blink rate configured for a PFC block (phase, procedure or BMA) in the designated state. Possible states include:• Idle.• Running.• Complete. • Pausing.• Paused.• Holding.• Held.• Restarting.• Stopping.• Stopped.• Aborting.• Aborted.• Connecting.• And special states of error and attention.

Text, Block, and Blink Color Attributes

Color attributes that can be configured for each block state include text, block, and blink color. The text color attribute determines the color of any text displayed on the PFC block. The block color attribute determines the primary color used to display the block itself on the PFC. The blink color attribute is used to define a secondary color that will alternate with the primary color when a block is in the selected state and a blink rate has been configured for that state.

Page 293: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Select Batch Colors

3BUA000146R4101 293

A separate button for each of these items (Text, Block, and Blink) is provided for each block state. Colors are configured by clicking the button and selecting a color in the Select Batch Color window.

TC06311A

Figure 109. Select Batch Colors Tab

Page 294: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Manage Batch IDs Appendix E Batch Utilities

294 3BUA000146R4101

Default colors for the text color, block color and blink color attributes are shown in Figure 109.

Blink Rate Attribute

The blink attribute is a feature that is useful when a block on a PFC enters a transient state such as pausing, holding, etc. When this attribute is enabled, the entire block on the PFC will alternate between the block color and the blink color, producing the blink effect. The blink attribute can be enabled and the blink rate (fast or slow) configured for any or all block states.

Three blink rate options for each block state are located at the right end of each row. Enable the appropriate blink rate option (None, Slow, or Fast). The default blink rate for each block state is as shown in Figure 109.

Changes made through the Select Batch Colors tab will take effect only:

• After OK has been clicked to complete the operation.

- and -

• After the operator workplace has been closed and reopened.

Manage Batch IDs

This tab (Figure 110) provides the ability to reuse the batch IDs of imported batches. A list of all the batch IDs that Batch Management knows about is displayed on this tab. Batch IDs followed by an asterisk cannot be deleted.

To delete an imported batch ID:

1. Select the batch ID to be deleted.

2. Click Delete.

Default Procedure ConfigurationDefault procedure configuration information is contained in the Library Structure\Batch Management\Configure\Default Procedure Configuration aspect. Select this aspect to display the number of backup revisions of procedure kept, default cell, S88 option status, and PFC color configuration. Refer to Figure 111.

Page 295: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Default Procedure Configuration

3BUA000146R4101 295

TC06312A

Figure 110. Manage Batch IDs Tab

TC04586B

Figure 111. Default Procedure Configuration Window

Page 296: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Backup Procedure Versions Retained Appendix E Batch Utilities

296 3BUA000146R4101

Backup Procedure Versions Retained

Each time a procedure is approved, the previously approved version is saved as a backup version. Enter the number of backup version files to be retained in Backup Procedure Versions Retained.

Default Batch Cell

When an operator schedules a batch using a procedure for which no batch cells were specified during configuration, all cells are available to the procedure. When an operator schedules the procedure, the Batch Management software will review the list of cells available to the procedure and the login account of the operator.

The procedure will default to the default batch cell when it is scheduled if the operator has access to that default cell. If the operator does not have access, the procedure will instead default to the first cell to which the operator’s login account configuration provides access. The name of the default cell is displayed in Batch Cell in the Batch Schedule window.

Use the pull-down menu to select the default destination cell for batch messages from the list of available cells. The default cell is named default cell.

Strict S88 Option

The S88 procedure hierarchy contains the following levels:

1. Recipe procedure.

2. Unit procedure.

3. Operation.

4. Exception procedure (not part of S88 hierarchy but can be used in parallel with any of the other types).

Changing this number will not automatically reduce the number of backup version files on the system. For example, if the configuration of this item is changed from 10 to 2, and 10 backup versions of the procedure already exist, all 10 will be retained until the next time the procedure is approved. Then the number of backup versions on the system will be reduced from 10 to 2.

Page 297: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Back Up and Restore

3BUA000146R4101 297

If this hierarchy is strictly enforced during the creation of procedure function charts, the user will be required to use the batch procedure, unit procedure and operation layers of the hierarchy with each procedure function chart, only including procedure components of the layer immediately below. Exception procedures do not constitute an additional layer in the S88 hierarchy. Instead, they can be used in parallel with any of the other procedure types.

To enforce this hierarchy, enable S88 Option.

If the hierarchy is not enforced, unnecessary layers of the hierarchy can be skipped, and the procedure function chart can use procedure components from any layer of equal or lesser complexity.

Back Up and RestoreThere are two ways to back up and restore batch information:• 800xA import and export functions (and batch restore utility).• 800xA backup and restore functions (and batch restore utility).

800xA Import and Export

Batch objects can be imported and exported using the import and export functions provided by the 800xA System. When exporting batch objects, it is good practice to include all batch objects (procedures, equipment, etc.) in one.afw file. Verify the batch server is running before using the import and export functions.

800xA Backup and Restore

The backup function correctly backs up 800xA and batch data. The restore function correctly restores all 800xA and batch data. Verify the batch server is running before using the backup and restore functions.

Batch Management Restore

This utility provides a means of restoring PFC color configuration information and batch IDs that were backed up in a previous version of Batch Management. Refer to Figure 112. Access this utility by selecting Start > Programs > ABB Industrial IT 800xA > Production Mgmt - Batch > Restore.

Page 298: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Report Configuration Appendix E Batch Utilities

298 3BUA000146R4101

Selecting any of the options listed in the Restore utility enables the Restore button.

The options are:• PFC colors.• Batch IDs.

When Restore is clicked, a warning is presented that states that the restore operation will overwrite the selected parts of the configuration database. The parts of the database that are overwritten are dependent on the checkbox selections. A standard Windows open file window that allows browsing to any desired folder is presented. A confirmation dialog box provides the chance to cancel before the file is restored.

Report ConfigurationThe report configuration utility creates reports on the current configuration of the recipe database. When the report configuration utility is selected (Start > Programs > ABB Industrial IT 800xA > Production Mgmt - Batch > Report Configuration), the Batch Configuration Reporter window shown in Figure 113 is displayed.

The Batch Configuration Reporter window contains a list titled Stored Report Configurations. To filter the report configurations, enable the Filter option and enter a string in the entry box. The list will then display only the report configuration names which contain that string.

TC06313A

Figure 112. Restore Utility Window

Page 299: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Add a Report Configuration

3BUA000146R4101 299

Add a Report Configuration

To create a new report configuration:

1. Select Edit > Add.

2. Enter the text string that will be used as the name of the report configuration in the Create Report Configuration window.

The report configuration name can be up to 128 characters in length. A period and the file extension (.BCRF) are automatically added by the system software, but are not visible. Characters permitted in file names include all alphanumeric characters, the dash (-), and the underscore (_) character. The slash (/) can not be used, and the period (which is automatically added by the system software) is reserved for separating the file name and extension.

When naming report configurations, remember that similar option set files can use the same string within their name to take advantage of the filter option on the Batch Configuration Reporter window.

3. Click OK.

TC02530C

Figure 113. Batch Configuration Reporter Window

Page 300: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Title Option Appendix E Batch Utilities

300 3BUA000146R4101

4. Enable the appropriate options in the Report Options Editor window (Figure 114).

Options that can be selected for inclusion are:– Title.– Introduction.– Option configuration dump.– Output Procedures.

5. Click OK.

Title Option

Enabling this option adds a title page to the report.

Introduction Option

Enabling this option adds introductory information to the report.

Option Configuration Dump Option

Enabling this option adds report configuration information to the report.

TC02532D

Figure 114. Report Options Editor Window

Page 301: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Output Procedures Option

3BUA000146R4101 301

Output Procedures Option

Enabling the Output Procedures option allows information about the procedure database to be included in the report. If the option is disabled (the default state), the Edit button is unavailable. If the option is enabled, Edit is available. Click Edit to open the Procedure Options Editor window (Figure 115).

This window contains a list of the procedures that have been included in this report. It also details which sections of the procedure are to be included in the report.

Add a Procedure

To add a procedure to the report:

1. Click Add.

TC02534D

Figure 115. Procedure Options Editor Window

Page 302: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Reset and Default Buttons Appendix E Batch Utilities

302 3BUA000146R4101

2. Select the procedure in the Select Procedure window.

3. Click OK.

4. Enable the options corresponding to the sections of the procedure that are to be part of the report.

5. Click OK.

Add All Procedures

Click Add All to add all procedures found in the Procedure Structure to the report.

Select Procedure Version

Choose which version of the procedures to add by enabling the Approved Versions, Development Versions, or Backup Versions option in the Procedure Options Editor window.

Delete Procedure

To delete a procedure from the Selection list box, select the procedure and click Delete.

Reset and Default Buttons

Click Reset to return the option settings to the state it was in when it was opened. Click Default to place all option settings to the default (all on) state.

Exiting the Recipe Options Editor Window

Click OK to exit the window and complete the operation, or click Cancel to exit the window and discard all changes made during the configuration session.

Reset and Default Buttons

The Reset button is located at the bottom of the Report Options Editor window. It is designed for use during the course of an edit session. Click this button to return all settings to those in place at the beginning of the session.

Page 303: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Print a Report

3BUA000146R4101 303

The Default button is located at the bottom of the Report Options Editor window. Click this button to change all settings on the window to the predefined system defaults.

Print a Report

The Print button at the bottom of the Report Options Editor window is used to generate a hard copy report using the selected report. A report can also be printed by selecting File > Print from the Batch Configuration Reporter window.

View a Report

The View button at the bottom of the Report Options Editor window is used to preview the report in the Print Preview window (Figure 116). A report can also be viewed by selecting File > View from the Batch Configuration Reporter window.

Edit a Report Configuration

To edit a report configuration:

1. Select the report configuration in the Batch Configuration Reporter window.

2. Select Edit > Edit.

3. Edit the report configuration information as necessary.

Delete a Report Configuration

To delete a report configuration:

1. Select the report configuration.

2. Select Edit > Delete.

3. Click Yes when prompted to verify the report configuration should be deleted.

The printer must be properly configured before a batch configuration report can be viewed.

Page 304: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Copy a Report Configuration Appendix E Batch Utilities

304 3BUA000146R4101

Copy a Report Configuration

To copy a report configuration:

1. Select the report configuration.

2. Select Edit > Copy.

3. Enter the text string that will be used as the name of the copied report configuration in the Create Report Configuration window.

4. Click OK.

TC02536B

Figure 116. Print Preview of the Report

Page 305: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Language Localization

3BUA000146R4101 305

Language Localization

Batch Management supports all the languages supported by the 800xA system. The following dialog boxes and windows (including menus, messages, etc.) support multiple languages:• Batch Overview window.• Batch Status window.• PFC Block Status window.• Equipment Overview window.• Equipment Info window.• Batch History Info window.• Batch Information window.• Batch History Overview window.• Batch History Archive window.• Batch HistoryRestore window.• Backup/Restore window.• Batch Schedule window.• Batch Service Manager window.• Header/SOP/Variables window.• Procedure Select window.• User Verification window.

Language localization in Batch Management Version 4.0 is accomplished using the following two procedures:• Batch localization tool.• Aspect Integrator Platform native language support.

If one of the following single-byte encoded languages is going to used as the default language, contact ABB technical support for additional information.Cyrillic (Russian and Serbian)Central European (Czech, Polish, etc.)Greek

Page 306: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Localization Tool Procedure Appendix E Batch Utilities

306 3BUA000146R4101

Batch Localization Tool Procedure

The default regional language (system locale) and input locale must be set to the desired language in order to be able to view and enter characters in that language on Windows 2000 workstations. Refer to the 800xA System Installation instruction for detailed information. Set the regional and language options on Windows XP workstations to be able to view and enter characters in that language. The system locale must be changed to the desired language before installing 800xA system software.

To set a specific language as the default regional language on a Windows 2000 workstation:

1. Select Start > Settings > Control Panel > Regional Options.

2. Select the appropriate language from the Your Locale (location) drop-down menu.

3. Click Set Default.

4. Select the appropriate language.

5. Click OK.

6. Click OK.

7. If prompted, insert the requested operating system disk and follow the instructions.

8. Select Keyboard from the control panel.

9. Select the appropriate language on the Input Locales tab.

10. Click Set as Default.

11. Click OK.

12. Adjust the 800xA system settings as necessary.

1. The English version of the Microsoft® Windows 2000 or XP operating system must be used and system locale should be set to English (US or United States Version). However, the input locale can be changed in order to enter characters in the local language.

2. Utilize the same language on all batch servers and clients.

Page 307: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Batch Localization Tool Procedure

3BUA000146R4101 307

To set a specific language as the default regional language in a Windows XP or Windows 2003 Server workstation:

1. Select Start > Control Panel > Regional and Language Options.

2. Select the appropriate language on the Regional Options tab.

3. Select the Languages tab.

4. Click Details.

5. Select the appropriate default input language.

6. Click OK.

7. Click OK.

8. Adjust the 800xA system settings as necessary.

In a batch session it is now possible to type foreign language characters into unrestricted fields.

Files

The files needed by each language supported by Batch Management are contained in separate directories (one for each language). Four types of files are used by each language.

• Text string files (.str) - These plain text files contain all the text strings and are the source file for all other language files. The adding or editing of text strings is done in these files. The .str files that need localized for batch are:– bmgStr.str (for various user interface window text strings).– dlgcStr.str (for various user interface window text strings).– dlgStr.str (for some Visual Basic text strings).– eqpStr.str (for some equipment editor text strings).– errorStr.str (for some error text strings).– eventStr.str (for some event text strings).– mufStr.str (for some miscellaneous text strings).

• Binary files (.xstr) - Text string files are compiled into indexed binary files which are used at run time to map string indexes to text strings.

• English backup files (.str.english) - The language localization tool automatically creates backup copies of the original English language files.

Page 308: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Localization Tool Procedure Appendix E Batch Utilities

308 3BUA000146R4101

Creating Language Files

In order to support other languages, the English language files (included by default in the English directory) must first be copied to another directory. They are then edited to use the correct text strings and translated. Finally, the desired language is selected for use.

To create language files that are ready for use:

1. Select Start > Programs > ABB Industrial IT 800xA > Production Mgmt - Batch > Localization.

2. Select String Files > Create Language Directory.

3. Enter a name for the new language directory. This name will also be the name of the language.

4. Click OK. All the files in the English directory are copied into the new directory. The .str.english backup files are also created in the new directory.

5. Repeat Step 1 through Step 4 on each Batch Management workstation in the system.

Editing/Translating Language Files

To edit (and translate) language files:

1. Select Start > Programs > ABB Industrial IT 800xA > Production Mgmt - Batch > Localization.

2. Select String Files > Open.

3. Select the newly created language directory.

4. Select the first .str file.

5. Edit the text strings as required in the language localization window (Figure 117).

Refer to Offline String File Editing on page 309 for an alternative method of editing .str files.

Page 309: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Batch Localization Tool Procedure

3BUA000146R4101 309

6. Select String Files > Save. The file is checked, translated, and compiled into a .xstr file having the same name. Any errors found are displayed in the verify language directory dialog box.

7. If necessary, correct any errors.

8. Repeat Step 2 through Step 7 for the remaining .str files for each node.

Offline String File Editing

String files can be edited offline using any text editor. After the files are edited, they must be copied back into each node and verified.

TC02849A

Figure 117. Language Localization - Text String Editing

No batches should be running when saving a language file.

Modifications made to the .str files will not take place until the node is restarted.

Page 310: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch Localization Tool Procedure Appendix E Batch Utilities

310 3BUA000146R4101

To edit string files offline:

1. Copy the entire directory to another location.

2. Open a .str file using a text editor.

3. Edit the text string as required.

4. Save the file.

5. Repeat Step 2 through Step 4 for each .str file.

6. Copy the entire edited directory back into the original location.

7. Start the language localization tool.

8. Select String Files > Verify Language Directory. The files are checked and compiled into .xstr files having the same name. Any errors found are displayed in the verify language directory dialog box.

9. If necessary, repeat Step 1 through Step 8 and correct any errors.

Selecting a Language

English is the default language, but any of the supported languages can be used. However, a specific directory containing the language files for the supported language must have been created before it can be selected.

To change the current language:

1. Select Start > Programs > ABB Industrial IT 800xA > Production Mgmt - Batch > Localization from the Process Portal window.

2. Select Basic > Set System Language.

3. Select the language to be used.

4. Click OK.

No batches should be running when verifying a language file.

A new language selection will not take place until the node is restarted. No batches should be running when selecting a new language.

Page 311: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix E Batch Utilities Batch Localization Tool Procedure

3BUA000146R4101 311

5. Repeat Step 1 through Step 4 for each Batch Management workstation in the system.

Updating a Language Directory

All language files start as copies of the English directory files. If the English files are changed (manually edited, replaced with new files during an upgrade of the software, etc.), all language files in all directories must be updated to utilize any new text strings.

To update the language directories:

1. Save and close all files from the language directory being updated.

2. Make a backup copy of the directory being updated.

3. Select Start > Programs > ABB Industrial IT 800xA > Production Mgmt - Batch > Localization.

4. Select String Files > Update Language Directory.

5. Select the language directory being updated.

6. The update language directory dialog box details which files are unchanged and which have new or modified symbols (text strings) requiring translation.

7. If none of the language files contained new or modified symbols (text strings), the update process was successful and is now complete. If some new or modified symbols were found, proceed to the next step.

8. Delete the filename.str file in the language directory.

9. Rename the filename.str.dd file to filename.str.

10. Compare the filename.str file with the filename.str.english which contains any new or modified symbols (text strings). For each new or modified symbol found in the filename.str.english:

a. Copy the entire english line from the filename.str.english file and insert the line in the exact same position in the translated filename.str file.

b. Edit the text string in the filename.str file as required.

11. Repeat Step 8 through Step 10 for each .str file containing new or modified symbols (text strings)

Page 312: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Native Language Support Procedure Appendix E Batch Utilities

312 3BUA000146R4101

Native Language Support Procedure

Refer to the appropriate 800xA system instruction for more information about language localization of the remaining windows, messages, etc. All .dll resource files located in the ...\ABB Industrial IT\Produce IT\Batch\bin\ENU directory need to be translated using the native language support procedure.

Batch ToolbarThe batch toolbar contains buttons for the Batch Overview, Batch History Overview, and Equipment Overview windows. By default, an aspect of each of these resides in Library Structure/Batch Management/Overviews. However, this structure may not be accessible by some of the users who need access to these windows. Enabling this toolbar in the appropriate workplace could eliminate this problem.

To enable the batch toolbar:

1. Select Workplace Structure\Web System Workplace, System Workplace\workplace_name Workplace, Plant Workplace\Application Bar where workplace_name is the name of the workplace receiving the toolbar.

2. Select the Tool Collections tab.

3. Enable the Batch Toolbar option.

4. Click Apply.

Page 313: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 313

Appendix F External Historians

IntroductionBatch Management allows data to be stored in external historians. Data should be periodically archived and deleted to free up disk space.

800xA SystemBatch data is sent to the 800xA system. The 800xA system can be used to view batch data. Refer to the appropriate 800xA system instruction for more information about the capabilities of the 800xA system.

Information ManagementBatch data can also be sent to and stored in a production data log (PDL) and message log on the Information Management server. Information Management can be used for batch to batch analysis, batch reports and batch trending. Refer to the appropriate Information Management instruction for more information. Batch report capabilities include:• Database views for retrieving batch data (refer to Table 38).• Excel functions for accessing batch data (refer to Table 38).• Sample Excel report templates using Excel functions.• Sample Crystal Reports® template using database views.

The number of events saved by the 800xA system is limited and it does not support archiving or reporting of event data.

Page 314: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Information Management Appendix F External Historians

314 3BUA000146R4101

Table 38. Database Views and Excel Functions

View Name Function Name Description

Batch_AuditEvents ABBGetBatchAuditEvents Return all batch audit events for a batch (events generated by operator actions associated with a batch)

Batch_BatchMgrEvents ABBGetBatchBatchMgrEvents Return all batch manager events for a batch (events generated by batch manager)

Batch_CommentEvents ABBGetBatchCommentEvents Return batch audit comment events (comments entered using block status dialog) for a batch

Batch_Equipment ABBGetBatchEquipment Return equipment transactions for a batch

Batch_Events ABBGetBatchEvents Returns all batch audit, batch manager and batch process events for a batch

Batch_Header ABBGetBatchHeader Return batch header (basic batch information)

Batch_Procedures ABBGetBatchProcedures Return list of procedures executed by a batch

Batch_ProcessEvents ABBGetBatchProcessEvents Return all events generated by sources external to the batch server and associated with a batch (does not include batch audit events)

Batch_SystemEvents ABBGetBatchSystemEvents Return all system events (events not associated with a batch) for the time frame that a batch executed

Batch_Trends ABBGetBatchTrends Return continuous data recorded for a batch

Page 315: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix F External Historians Batch Management and Custom Arguments

3BUA000146R4101 315

Batch Management and Custom ArgumentsBatch Management generates four arguments that must be passed into every batch report along with any other user-configured arguments. These arguments are automatically passed to the report when the schedule job BMA is used.

These arguments are:• CampaignID.• BatchID.• LotID.• ProcedurePath.

These arguments need to be passed to Crystal Reports and Excel reports. Define the arguments through the Action aspect of the Job Description object (Report Parameters section) in the following manner:

RptCampaignID = <CampaignID>RptBatchID = <BatchID>RptLotID = <LotID>RptProcedurePath = <ProcedurePath>

where the left-hand side of the assignment represents the report parameter (Excel cell name for example) as it was defined by the author of the report and the right-hand side represents the value of the corresponding job argument.

Batch_Variables ABBGetBatchVariables Return variables recorded for a batch

Batch_Vars_MatchedPair ABBGetMatchedPair Return match pairs of variables recorded for a batch

Table 38. Database Views and Excel Functions (Continued)

View Name Function Name Description

Page 316: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 317: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 317

Appendix G AC 800M/C Controller(Batch Advanced Templates)

IntroductionThe AC 800M/C controller is part of an IndustrialIT control system that communicates with the Batch Management system through a driver application. Figure 118 shows a graphical representation of this relationship.

Figure 118. AC 800M/C Controller Connectivity

Page 318: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Controller Configuration Appendix G AC 800M/C Controller (Batch Advanced Templates)

318 3BUA000146R4101

An example controller configuration (using batch advanced template control modules) follows.

Example Controller ConfigurationThe AC 800M/C Advanced driver functions as an interface to the Example phases. This module is contained in the batch library (BatchAdvTemplatesLib) located in the control builder. The driver communicates with the OPC server part of a connectivity sever.

A single piece of equipment (ExampleTestEquip) containing three phases, each containing three parameters, is used in this example. Refer to the following logic.Batch Equipment ExampleTestEquip

Batch Phases Agitate (float Param1, int Param2, bool Paramn)

Batch Phases Charge (float Param1, int Param2, bool Paramn)

Batch Phases Drain (float Param1, int Param2, bool Paramn)

Custom Library

A custom library that will contain customized control module types should be created. To create a custom library and application:

1. Create a control network named Example_Network.

2. Create a control project named Example_Project.

3. Create a new library named Custom_Library.

4. Create a new application named Example_Batch_Application.

Page 319: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Equipment Phases

3BUA000146R4101 319

Equipment Phases

Create three equipment phase types (AttempAt_Drain1, SampleTest_Charge1, and ExampleTestEquip_Agitate1) containing the parameters listed in Table 39.

Equipment

A batch unit type (ExampleTestEquip) must be created. To create and configure a unit control module:

1. Create a unit type called ExampleTestEquip.

2. Add phase types to the unit type.

3. Create an instance of the ExampleTestEquip unit type and name it ExampleTestEquip1.

Example Control System ConfigurationThis topic presents, in outline form, the steps required to configure an AC 800M/C-based control system for use with Batch Management.

A comprehensive example process, shown in Figure 119, serves as the basis for the outline that follows:

1. Use the general process and instrumentation drawings to show how to select the boundaries of the units and shared equipment.

2. Use the detailed process and instrumentation drawings to create an I/O list of OPC datapoints. Add an exit valve for each vessel to the solvent recovery system. This is needed to empty vessels that are left in an unknown state by

Table 39. Phase Parameters

Name Type

Paramn Integer

Param1 Float

Param2 Integer

Page 320: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Control System Configuration Appendix G AC 800M/C Controller (Batch Advanced

320 3BUA000146R4101

manual operations performed on the equipment and prevent contamination of batches.

3. Partition the units and shared equipment between AC 800M/C controllers to reduce the risk of downtime. Partitioning should reduce the possibility of downtime due to configuration changes or equipment failure. Example: If any of these controllers (with the exception of common equipment) were to go offline, batches of product could still be produced:

Figure 119. Batch Operation Equipment Example

Page 321: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Example Control System

3BUA000146R4101 321

– Application1 - Controller 1: Common equipment (raw material shared equipment).

– Application2 - Controller 2: Feed tank 1, reactor 1 and catch tanks 1 and 2.

– Application3 - Controller 3: Feed tank 2 and reactor 2, catch tanks 3 and 4.

4. Write function logic using Control Builder M.– Configure the logic with tie-backs to utilize simulation.– Configure the equipment control including interlock logic.– Configure the function blocks used to store and display batch data.

5. Test and troubleshoot function block logic manually. (This allows better confidence if phase logic fails to execute as expected when a phase logic error exists).

6. Define equipment for the units and shared equipment modules that will be used for Batch Management and 800xA event coordination.

7. Create process graphics on equipment types. Each graphic is capable of manually controlling the process equipment of the unit. – Overview.– Each unit (feed header, FT1, FT2, R1, R2, CT1, CT2, CT3, CT4).

8. Create equipment for the units and shared equipment modules using Control Builder M (and the custom library or BatchAdvTemplatesLib library).

– Using Control Builder M, add to the project created in Step 4.

– Create the application library.

– Create the following object types (containing the following units):

Raw_mtrl {Raw material feeder}-RMFeed_tnk {Feed tank}-FT1, FT2.React {Reactor}-R1, R2.Ctch_tnk {Catch tank}- CT1, CT2, CT3, CT4.

9. Raw material feeder header can only add one raw material at a time.

10. Using Control Builder M, open the project created in Step 4 in offline mode.

11. Open the Object Type Structure in the 800xA plant explorer workplace.

12. Feed tanks. Phases.

Page 322: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Control System Configuration Appendix G AC 800M/C Controller (Batch Advanced

322 3BUA000146R4101

– Initialize. No parameters. Check the feed tank is empty at the start. If the tank is not empty, automatically empty the tank to solvent recovery.

– Add raw material. This phase uses devices in the raw material feed header to transfer material into the tank. The recipe must acquire the header before running this phase. Parameters: Raw materials numbers (float).Target quantity (float).

– Mix. Parameters: Mix Time (float, sec).

– Abort. Discharge to solvent recovery.

13. Mix feeder headers are exclusive use shared equipment and can only empty one feed tank into one reactor at a time.

– Equipment module running. Opens requested valves. Closes valves when source feed tank is empty.

14. Reactors. Phases:

– Initialize. No parameters. Check the reactor tank is empty at the start. If the tank is not empty, automatically empty the tank to solvent recovery (complete before allowing material to transfer in).

– Charge. This phase uses devices in the specified mix feeder header to transfer material from the specified feed tank to the reactor. The recipe must acquire the header before running this phase. Parameters: Feed tank (float).

– Mix. Parameters: MixTime. Turns mixer on, waits MixTime, and turns mixer off.

– Heat and rest. Parameters: TemperatureSP (float);Duration (float, sec); High pressure trip (float).

– Abort. Close all mix feeder valves. Discharge to solvent recovery.

15. Product feeder is an exclusive use shared equipment and can only empty into one catch tank at a time.

– Equipment module running. Opens target destination valve and registered source valve until the reactor is empty. Sets XferComplete parameter for requesting phase.

16. Catch tanks. Phases.

Page 323: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Example Control System

3BUA000146R4101 323

– Initialize. No parameters. Check if the feed tank is empty at the start. If the tank is not empty, automatically empty the tank to solvent recovery (This is useful for demo, but would not be in a product recipe since the catch tank can hold multiple batches of product.)

– Charge. This phase uses devices in the product feeder header to transfer material from the specified reactor to the catch tank. The recipe must acquire the header before running the phase. Parameters: Reactor (float).

– Discharge material. No parameters.

– Mix. Parameters: Mix Time (float, sec).

– Abort. Discharge to solvent recovery.

17. Using Control Builder M, download applications to the AC 800M/C controller.

18. Test and troubleshoot individual phases using the Control Builder M faceplates to execute phases. Use Control Builder M to troubleshoot phase logic.

19. All phases in the entire system are in the library regardless of the unit. If phases have the same name and parameters for different units, the user has the option of adding the phase to the unit, adding the phase to the unit and giving the phase a new alias by specifying a new name when the phase is added to the unit type in the library, or just using a special naming convention for the phases.

20. Define the unit attributes if any. Unit attributes are accessible from Batch Management and can be used to qualify equipment selection for a particular batch (based on capacity or other unit characteristics).

21. Using Batch Management, create procedure function charts (PFCs).

– Since in the example the process flow is linear, the procedural elements could represent unit procedures on the batch recipe.

– Each equipment ID used in the batch should be assigned its own unit procedure.

– Dynamic unit selection (flexible batch processing) is desirable. Check the unit for acquired status. Acquire the first available unit.

– Check available capacity of catch tanks before transferring material in the PFC. Do not use the initialize catch tank phase in the catch tank unit procedure when performing this check in the PFC.

Page 324: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Control System Process Appendix G AC 800M/C Controller (Batch Advanced Templates)

324 3BUA000146R4101

Collect tag key data.Amount of each raw material used.Amount in feed tank (transferred to reactor).Amount in reactor (transferred to catch tank).Final catch tank level (after transfer from reactor).

– Collect process data for the temperature profile of the reactor during the heat and rest phase.

22. Run the demo by scheduling a batch that uses the batch recipe created previously.

23. Create a batch report template on an Excel spreadsheet in the 800xA system that includes a graph of the temperature profile. If the Information Management is being used, create a batch report to collect the information or use the example batch report template provided with Information Management.

Control System ProcessThis topic provides information about the advanced control modules required for automating the units in a flexible batch process controlled in an Industrial IT AC 800M/C control system. The following tables and illustrations show these items:• Boundaries for each unit and shared equipment module.• Description of the resources within each unit or shared equipment module.• Object name for each shared equipment or unit module.

Before beginning to assign unit and shared equipment names and defining the advanced control module blocks, make certain the following planning tasks are completed using the example in Segmenting the Process on page 325 as a guideline.

• Divide the process resources into units and shared equipment.

• Each unit or shared equipment must be configured in the same AC 800M/C controller.

• Select a meaningful equipment name for each unit and shared equipment. module.

Numeric logs must be configured in the Information Management for the temperature tag before running the first batch.

Page 325: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Segmenting the Process

3BUA000146R4101 325

Segmenting the ProcessSegmenting the process uses a simple process diagram as a model to illustrate segmenting the flexible batch process. Figure 120 contains a description of the symbols used in Figure 119 through Figure 132.

The diagram, Figure 119, adds the object name and OPC datapoints to each process device. The following topics contain illustrations and configuration tables for each unit and shared equipment type.

Figure 120. Legend

Page 326: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Raw Material Feeder ConfigurationAppendix G AC 800M/C Controller (Batch Advanced Templates)

326 3BUA000146R4101

Raw Material Feeder Configuration

Figure 121. Raw Material Feeder

Table 40. Raw Material Feeder (Shared Equipment Module Type)

Description Object Name Tag type/Block Type Assignment

Equipment RM Equipment None

Flow indicator RM_FI01 Analog RM

Flow controller RM_FIC01 Station RM

Flow totalizer RM_TOT01 Analog RM

Motor control valve RM_MCV01 Multistate drive driver RM

Motor control valve RM_MCV02 Multistate drive driver RM

Motor control valve RM_MCV03 Multistate drive driver RM

Motor control valve RM_MCV04 Multistate drive driver RM

motor control valve RM_MCV05 Multistate drive driver RM

Motor control valve FT1_MCV01 Multistate drive driver RM

Motor control valve FT2_MCV01 Multistate drive driver RM

Equipment phase AddRawMaterial Batch advanced control module RM

Page 327: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Feed Tank 1 Configuration

3BUA000146R4101 327

Feed Tank 1 Configuration

Figure 122. Feed Tank 1

Table 41. Feed Tank 1 (Unit Type)

Description Object Name Tag type/Block Type Assignment

Unit FT1 Equipment None

Level indicator FT1_LI01 Analog FT1

Agitator FT1_A01 Remote motor control block FT1

Equipment phase Initialize Batch advanced control module FT1

Equipment phase AddRawMaterial Batch advanced control module FT1

Equipment phase Mix Batch advanced control module FT1

Equipment phase Abort Batch advanced control module FT1

Page 328: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Feed Tank 2 Configuration Appendix G AC 800M/C Controller (Batch Advanced Templates)

328 3BUA000146R4101

Feed Tank 2 Configuration

Figure 123. Feed Tank 2

Table 42. Feed Tank 2 (Unit Type)

Description Object Name Tag type/Block Type Assignment

Unit FT2 Equipment None

Level indicator FT2_LI01 Analog FT2

Agitator FT2_A01 Remote motor control block FT2

Equipment phase Initialize Batch advanced control module FT2

Equipment phase AddRawMaterial Batch advanced control module FT2

Equipment phase Mix Batch advanced control module FT2

Equipment phase Abort Batch advanced control module FT2

Page 329: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Reactor 1 Configuration

3BUA000146R4101 329

Reactor 1 Configuration

Figure 124. Reactor 1

Table 43. Reactor 1 (Unit Type)

Description Object Name Tag type/Block Type Assignment

Unit R1 Equipment None

Level indicator R1_LI01 Analog R1

Pressure indicator R1_PI01 Analog R1

Temperature controller R1_TIC01 Station R1

Agitator R1_A01 Remote motor control block R1

Equipment phase Initialize Batch advanced control module R1

Equipment phase Charge Batch advanced control module R1

Equipment phase Mix Batch advanced control module R1

Equipment phase Heat and rest Batch advanced control module R1

Equipment phase Abort Batch advanced control module R1

Page 330: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Reactor 2 Configuration Appendix G AC 800M/C Controller (Batch Advanced Templates)

330 3BUA000146R4101

Reactor 2 Configuration

Figure 125. Reactor 2

Table 44. Reactor 2 (Unit Type)

Description Object Name Tag type/Block Type Assignment

Unit R2 Equipment None

Level indicator R2_LI01 Analog R2

Pressure indicator R2_PI01 Analog R2

Temperature controller R2_TIC01 Station R2

Agitator R2_A01 Remote motor control block R2

Equipment phase Initialize Batch advanced control module R2

Equipment phase Charge Batch advanced control module R2

Equipment phase Mix Batch advanced control module R2

Equipment phase Heat and rest Batch advanced control module R2

Equipment phase Abort Batch advanced control module R2

Page 331: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Mix Feeder 1 Configuration

3BUA000146R4101 331

Mix Feeder 1 Configuration

Figure 126. Mix Feeder 1

Table 45. Mix Feeder 1 (Shared Equipment Module Type)

Description Object Name Tag type/Block Type Assignment

Equipment MX1 Equipment None

Flow controller FT1_FIC01 Station MX1

Flow totalizer FT1_TOT01 Analog MX1

Motor control valve FT1_MCV02 Multistate device driver MX1

Motor control valve R1_MCV01 Multistate device driver MX1

Motor control valve R2_MCV01 Multistate device driver MX1

Pump FT1_PM1 Remote motor control block MX1

Page 332: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Mix Feeder 2 Configuration Appendix G AC 800M/C Controller (Batch Advanced Templates)

332 3BUA000146R4101

Mix Feeder 2 Configuration

Figure 127. Mix Feeder 2

Table 46. Mix Feeder 2 (Shared Equipment Module Type)

Description Object Name Tag type/Block Type Assignment

Equipment MX2 Equipment None

Flow controller FT2_FIC01 Station MX2

Flow totalizer FT2_TOT01 Analog MX2

Motor control valve FT2_MCV02 Multistate device driver MX2

Motor control valve R1_MCV02 Multistate device driver MX2

Motor control valve R2_MCV02 Multistate device driver MX2

Pump FT2_PM1 Remote motor control block MX2

Page 333: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Product Feeder Configuration

3BUA000146R4101 333

Product Feeder Configuration

Figure 128. Product Feeder

Table 47. Product Feeder (Shared Equipment Module Type)

Description Object Name Tag type/Block Type Assignment

Equipment PF Equipment None

Flow controller R1_FIC01 Station PF

Flow totalizer R1_TOT01 Analog PF

Motor control valve R1_MCV03 Multistate device driver PF

Pump R1_PM1 Remote motor control block PF

Flow controller R2_FIC01 Station PF

Flow totalizer R2_TOT01 Analog PF

Motor control valve R1_MCV03 Multistate device driver PF

Page 334: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Catch Tank 1 Configuration Appendix G AC 800M/C Controller (Batch Advanced Templates)

334 3BUA000146R4101

Catch Tank 1 Configuration

Figure 129. Catch Tank 1

Table 48. Catch Tank 1 (Unit Type)

Description Object Name Tag type/Block Type Assignment

Unit CT1 Equipment None

Level indicator CT1_LI01 Analog CT1

Agitator CT1_A01 Remote motor control block CT1

Equipment phase Initialize Batch advanced control module CT1

Equipment phase Charge Batch advanced control module CT1

Equipment phase Discharge Batch advanced control module CT1

Equipment phase Mix Batch advanced control module CT1

Equipment phase Abort Batch advanced control module CT1

Page 335: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Catch Tank 2 Configuration

3BUA000146R4101 335

Catch Tank 2 Configuration

Figure 130. Catch Tank 2

Table 49. Catch Tank 2 (Unit Type)

Description Object Name Tag type/Block Type Assignment

Unit CT2 Equipment None

Level indicator CT2_LI01 Analog CT2

Agitator CT2_A01 Remote motor control block CT2

Equipment phase Initialize Batch advanced control module CT2

Equipment phase Charge Batch advanced control module CT2

Equipment phase Discharge Batch advanced control module CT2

Equipment phase Mix Batch advanced control module CT2

Equipment phase Abort Batch advanced control module CT2

Page 336: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Catch Tank 3 Configuration Appendix G AC 800M/C Controller (Batch Advanced Templates)

336 3BUA000146R4101

Catch Tank 3 Configuration

Figure 131. Catch Tank 3

Table 50. Catch Tank 3 (Unit Type)

Description Object Name Tag type/Block Type Assignment

Unit CT3 Equipment None

Level indicator CT3_LI01 Analog CT3

Agitator CT3_A01 Remote motor control block CT3

Equipment phase Initialize Batch advanced control module CT3

Equipment phase Charge Batch advanced control module CT3

Equipment phase Discharge Batch advanced control module CT3

Equipment phase Mix Batch advanced control module CT3

Equipment phase Abort Batch advanced control module CT3

Page 337: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix G AC 800M/C Controller (Batch Advanced Templates) Catch Tank 4 Configuration

3BUA000146R4101 337

Catch Tank 4 Configuration

Figure 132. Catch Tank 4

Table 51. Catch Tank 3 (Unit Type)

Description Object Name Tag type/Block Type Assignment

Unit CT4 Equipment None

Level indicator CT4_LI01 Analog CT4

Agitator CT4_A01 Remote motor control block CT4

Equipment phase Initialize Batch advanced control module CT4

Equipment phase Charge Batch advanced control module CT4

Equipment phase Discharge Batch advanced control module CT4

Equipment phase Mix Batch advanced control module CT4

Equipment phase Abort Batch advanced control module CT4

Page 338: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 339: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 339

Appendix H AC 800M/C Controller(EPT Control Modules)

IntroductionThe AC 800M/C controller is part of an Industrial IT control system that communicates with the Batch Management system through a driver application. Figure 133 shows a graphical representation of this relationship.

Figure 133. AC 800M/C Controller Connectivity

Page 340: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Controller Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

340 3BUA000146R4101

The AC 800M/C controller is configured in the same manner. An example controller configuration (using EPT control modules) follows.

Example Controller ConfigurationThe Example driver functions as an interface to the Example phases. This module is contained in the batch library (BatchLib) located in the control builder. The driver communicates with the OPC server part of a connectivity or aspect directory sever.

A single piece of equipment (ExampleTestEquip) containing three phases, each containing three parameters, is used in this example. Refer to the following logic.Batch Equipment ExampleTestEquip

Batch Phases Agitate (float lRecpar1, int Recpar2, bool Recparn)

Batch Phases Charge (float lRecpar1, int Recpar2, bool Recparn)

Batch Phases Drain (float lRecpar1, int Recpar2, bool Recparn)

Equipment Phases

Three equipment phases (AttempAt_Drain, SampleTest_Charge, and ExampleTestEquip_Agitate) must be created.

AttemptAt_Drain

To configure the AttempAt_Drain equipment phase:

1. Using Control Builder M, create an equipment phase (AttemptAt_Drain) that uses the following parameters:– RecParn (integer).– RecPar1 (float).– RecPar2 (integer).

2. Using the mirror function of Control Builder M to copy the phase into the 800xA Control Structure.

Page 341: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Recipe Phases

3BUA000146R4101 341

SampleTest_Charge

To configure the SampleTest_Charge equipment phase:

1. Using Control Builder M, create an equipment phase (SampleTest_Charge) that uses the following parameters:– RecParn (integer).– RecPar1 (float).– RecPar2 (integer).

2. Using the mirror function of Control Builder M to copy the phase into the Process Portal control structure.

ExampleTestEquip_Agitate

To configure the ExampleTestEquip_Agitate equipment phase:

1. Using Control Builder M, create an equipment phase (ExampleTestEquip_Agitate) that uses the following parameters:– RecParn (integer).– RecPar1 (float).– RecPar2 (integer).

2. Using the mirror function of Control Builder M to copy the phase into the 800xA Control Structure.

Recipe Phases

Three recipe phases (Agitate, Change, and Drain) must be created.

Agitate

To create and configure the Agitate recipe phase:

1. Create a new recipe phase and name it Agitate.

2. Click the insert a new phase parameter button.

User configured error condition text should be written to the Seq.Stringinfo equipment phase property. Text entered in other error datapoints (Error, Status, etc.) is not read by Batch Management.

Page 342: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Phases Appendix H AC 800M/C Controller (EPT Control Modules)

342 3BUA000146R4101

3. Create three parameters using the data in Table 52. Refer to Section 4, Equipment Configuration (EPT Control Modules) for more information.

4. Click the save button.

Charge

To create and configure the Charge recipe phase:

1. Create a new recipe phase and name it Charge.

2. Click the insert a new phase parameter button.

3. Create three parameters using the data in Table 53. Refer to Section 4, Equipment Configuration (EPT Control Modules) for more information.

4. Click the save button.

Drain

To create and configure the Drain recipe phase:

1. Create a new recipe phase and name it Drain.

Table 52. Agitate Phase Parameters

Parameter Type

RecPar1 Float

RecPar2 Integer

RecPar3 Integer

Table 53. Charge Phase Parameters

Parameter Type

RecPar1 Float

RecPar2 Integer

RecParn Integer

Page 343: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Equipment

3BUA000146R4101 343

2. Click the insert a new phase parameter button.

3. Create three parameters using the data in Table 54. Refer to Section 4, Equipment Configuration (EPT Control Modules) for more information.

4. Click the save button.

Equipment

A piece of batch equipment (ExampleTestEquip) must be created. To create and configure the ExampleTestEquip batch equipment:

1. Create a new batch equipment object and name it ExampleTestEquip.

2. Add a batch equipment aspect to the object.

3. Select AC 800M/C in the Controller Type field.

4. Click the insert a new equipment phase button.

5. Select the Agitate recipe phase in the Phase to Insert dialog box.

6. Click OK.

7. Select ExampleTestEquip_Agitate in the Control Module Path for EPT field.

8. Select the data structure that contains the RecPar1, RecPar2, and RecPar3 equipment phase variable names in the Recipe Parameter Structure field.

9. Click the insert a new equipment phase button.

10. Select the Charge recipe phase in the Phase to Insert dialog box.

11. Click OK.

Table 54. Drain Phase Parameters

Parameter Type

RecPar1 Float

RecPar2 Integer

RecParn Integer

Page 344: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Control System Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

344 3BUA000146R4101

12. Select SampleTest_Charge in the Control Module Path for EPT field.

13. Select the data structure that contains the RecPar1, RecPar2, and RecParn equipment phase variable names in the Recipe Parameter Structure field.

14. Click the insert a new equipment phase button.

15. Select the Drain recipe phase in the Phase to Insert dialog box.

16. Click OK.

17. Select AttemptAt_Drain in the Control Module Path for EPT field.

18. Select the data structure that contains the RecPar1, RecPar2, and RecParn equipment phase variable names in the Recipe Parameter Structure field.

19. Click the save button.

Example Control System ConfigurationThis topic presents, in outline form, the steps required to configure an AC 800M/C-based control system for use with Batch Management.

A comprehensive example process, shown in Figure 134, serves as the basis for the outline that follows:

1. Use the general process and instrumentation drawings to show how to select the boundaries of the units and SEMs.

2. Use the detailed process and instrumentation drawings to create an I/O list of OPC datapoints. Add an exit valve for each vessel to the solvent recovery system. This is needed to empty vessels that are left in an unknown state by manual operations performed on the equipment and prevent contamination of batches.

3. Partition the units and SEM between AC 800M/C controllers to reduce the risk of downtime. Partitioning should reduce the possibility of downtime due to configuration changes or equipment failure. Example: If any of these controllers (with the exception of common equipment) were to go offline, batches of product could still be produced:– Application1 - Controller 1: Common equipment (raw material SEM).– Application2 - Controller 2: Feed tank 1, reactor 1 and catch tanks 1 and 2.– Application3 - Controller 3: Feed tank 2 and reactor 2, catch tanks 3 and 4.

Page 345: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Example Control System Configuration

3BUA000146R4101 345

4. Write function logic using Control Builder M.– Configure the logic with tie-backs to utilize simulation.– Configure the equipment control including interlock logic.– Configure the function blocks used to store and display batch data.

5. Define equipment for the units and SEMs that will be used for Batch Management and 800xA event coordination.

Figure 134. Batch Operation Equipment Example

Page 346: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Control System Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

346 3BUA000146R4101

6. Create process graphics. Each graphic is capable of manually controlling the process equipment of the unit. – Overview.– Each unit (feed header, FT1, FT2, R1, R2, CT1, CT2, CT3, CT4).

7. Download logic to the appropriate AC 800M/C controller.

8. Test and troubleshoot function block logic manually. (This allows better confidence if phase logic fails to execute as expected when a phase logic error exists).

9. Write equipment phase programs for the units and SEM using Control Builder M (and the Batch library).

– Using Control Builder M, add to the project created in Step 4.

– Create the application library.

– Create the following object types (containing the following units):

Raw_mtrl {Raw material feeder}-RMFeed_tnk {Feed tank}-FT1, FT2.React {Reactor}-R1, R2.Ctch_tnk {Catch tank}- CT1, CT2, CT3, CT4.

10. Raw material feeder header can only add one raw material at a time.

11. Using Control Builder M, open the project created in Step 4 in offline mode.

12. Open the Object Type Structure in the 800xA plant explorer workplace.

13. For each phase type, copy the EquipProcedure Template object to the project library and rename the object to the desired phase type name (for example, Mix).

14. Feed tanks. Phases.

– Initialize. No parameters. Check the feed tank is empty at the start. If the tank is not empty, automatically empty the tank to solvent recovery.

Phase types must be created in the 800xA system before creating them in Control Builder in order to use the 800xA faceplate for the EquipProcedure template (found in the batch library).

Page 347: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Example Control System Configuration

3BUA000146R4101 347

– Add raw material. This phase uses devices in the raw material feed header to transfer material into the tank. The recipe must acquire the header before running this phase. Parameters: Raw materials numbers (float).Target quantity (float).

– Mix. Parameters: Mix Time (float, sec).

– Abort. Discharge to solvent recovery.

15. Mix feeder headers are exclusive use SEMs and can only empty one feed tank into one reactor at a time.

16. Reactors. Phases:

– Initialize. No parameters. Check the feed tank is empty at the start. If the tank is not empty, automatically empty the tank to solvent recovery (complete before allowing material to transfer in).

– Charge. This phase uses devices in the specified mix feeder header to transfer material from the specified feed tank to the reactor. The recipe must acquire the header before running this phase. Parameters: Feed tank (float).

– Mix_on. No parameters. Turns mixer on and completes.

– Mix_off. No parameters. Turns mixer off and completes.

– Heat and rest. Parameters: TemperatureSP (float);Duration (float, sec); High pressure trip (float).

– Abort. Close all mix feeder valves. Discharge to solvent recovery.

17. Product feeder is an exclusive use SEM and can only empty into one catch tank at a time.

18. Catch tanks. Phases.

– Initialize. No parameters. Check if the feed tank is empty at the start. If the tank is not empty, automatically empty the tank to solvent recovery (This is useful for demo, but would not be in a product recipe since the catch tank can hold multiple batches of product.)

– Charge. This phase uses devices in the product feeder header to transfer material from the specified reactor to the catch tank. The recipe must acquire the header before running the phase. Parameters: Reactor (float).

Page 348: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Control System Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

348 3BUA000146R4101

– Discharge material. No parameters.

– Mix. Parameters: Mix Time (float, sec).

– Abort. Discharge to solvent recovery.

19. Using Control Builder M, download application to the AC 800M/C controller.

20. Test and troubleshoot individual phases using the Control Builder M faceplates to execute phases. Use Control Builder M to troubleshoot phase logic.

21. Edit the Batch Management database.

– Create the phase aspect object.

22. All phases in the entire system are in the list regardless of the unit. If phases have the same name and parameters for different units, the user has the option of just entering one phase in Batch Management or using a special naming convention for the phases.

– Since the phase initialize has the same name and the exact same parameter names and types, the user can define only the phase name in the Batch Management phase list, and Batch Management recipes will execute properly.

23. Create the unit/equipment list.

– Define the phases from the Batch Management phase list that are available to execute on the equipment.

– Define the unit attributes if any. Unit attributes are accessible from Batch Management and can be used to qualify equipment selection for a particular batch (based on capacity or other unit characteristics).

24. Using Batch Management, create procedure function charts (PFCs).

– Since in the example the process flow is linear, the procedural elements could represent unit procedures on the batch recipe.

– Each equipment ID used in the batch should be assigned its own unit procedure.

– Dynamic unit selection (flexible batch processing) is desirable. Check the unit for acquired status. Acquire the first available unit.

Page 349: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Control System Process

3BUA000146R4101 349

– Check available capacity of catch tanks before transferring material in the PFC. Do not use the initialize catch tank phase in the catch tank unit procedure when performing this check in the PFC.

Collect tag key data.Amount of each raw material used.Amount in feed tank (transferred to reactor).Amount in reactor (transferred to catch tank).Final catch tank level (after transfer from reactor).

– Collect process data for the temperature profile of the reactor during the heat and rest phase.

25. Run the demo by scheduling a batch that uses the batch recipe created previously.

26. Create a batch report template on an Excel spreadsheet in the 800xA System that includes a graph of the temperature profile. If the Information Management is being used, create a batch report to collect the information.

Control System ProcessThis topic provides information about the EPT required for automating the units in a flexible batch process controlled in an Industrial IT AC 800M/C control system. The following tables and illustrations show these items:• Boundaries for each unit and SEM.• Description of the resources within each unit or SEM.• EPT object name for each equipment module or unit.

Before beginning to assign unit and SEM names and defining the EPT blocks, make certain the following planning tasks are completed using the example in Segmenting the Process on page 350 as a guideline.

• Divide the process resources into units and SEMs.

• Each unit or SEM must be configured in the same AC 800M/C controller.

• Select a meaningful equipment name for each unit and SEM.

Numerous logs must be configured in the Information Management for the temperature tag before running the first batch.

Page 350: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Segmenting the Process Appendix H AC 800M/C Controller (EPT Control Modules)

350 3BUA000146R4101

Segmenting the ProcessSegmenting the process uses a simple process diagram as a model to illustrate segmenting the flexible batch process. Figure 135 contains a description of the symbols used in Figure 134 through Figure 147.

The diagram, Figure 134, adds the object name and OPC datapoints to each process device. The following topics contain illustrations and configuration tables for each unit and SEM.

Figure 135. Legend

Page 351: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Raw Material Feeder Configuration

3BUA000146R4101 351

Raw Material Feeder Configuration

Figure 136. Raw Material Feeder

Table 55. Raw Material Feeder (SEM)

Description Object Name Tag type/Block Type Assignment

Equipment RM Equipment None

Flow indicator RM_FI01 Analog RM

Flow controller RM_FIC01 Station RM

Flow totalizer RM_TOT01 Analog RM

Motor control valve RM_MCV01 Multistate drive driver RM

Motor control valve RM_MCV02 Multistate drive driver RM

Motor control valve RM_MCV03 Multistate drive driver RM

Motor control valve RM_MCV04 Multistate drive driver RM

motor control valve RM_MCV05 Multistate drive driver RM

Motor control valve FT1_MCV01 Multistate drive driver RM

Motor control valve FT2_MCV01 Multistate drive driver RM

Page 352: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Feed Tank 1 Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

352 3BUA000146R4101

Feed Tank 1 Configuration

Figure 137. Feed Tank 1

Table 56. Feed Tank 1 (Unit)

Description Object Name Tag type/Block Type Assignment

Unit FT1 Equipment None

Level indicator FT1_LI01 Analog FT1

Agitator FT1_A01 Remote motor control block FT1

Equipment phase FT1_P1 EPT FT1

Page 353: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Feed Tank 2 Configuration

3BUA000146R4101 353

Feed Tank 2 Configuration

Figure 138. Feed Tank 2

Table 57. Feed Tank 2 (Unit)

Description Object Name Tag type/Block Type Assignment

Unit FT2 Equipment None

Level indicator FT2_LI01 Analog FT2

Agitator FT2_A01 Remote motor control block FT2

Equipment phase FT2_P1 EPT FT2

Page 354: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Reactor 1 Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

354 3BUA000146R4101

Reactor 1 Configuration

Figure 139. Reactor 1 (Unit)

Table 58. Reactor 1 (Unit)

Description Object Name Tag type/Block Type Assignment

Unit R1 Equipment None

Level indicator R1_LI01 Analog R1

Pressure indicator R1_PI01 Analog R1

Temperature controller

R1_TIC01 Station R1

Agitator R1_A01 Remote motor control block R1

Equipment phase R1_P3 EPT R1

Page 355: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Reactor 2 Configuration

3BUA000146R4101 355

Reactor 2 Configuration

Figure 140. Reactor 2 (Unit)

Table 59. Reactor 2 (Unit)

Description Object Name Tag type/Block Type Assignment

Unit R2 Equipment None

Level indicator R2_LI01 Analog R2

Pressure indicator R2_PI01 Analog R2

Temperature controller

R2_TIC01 Station R2

Agitator R2_A01 Remote motor control block R2

Equipment phase R2_P1 EPT R2

Page 356: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Mix Feeder 1 Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

356 3BUA000146R4101

Mix Feeder 1 Configuration

Figure 141. Mix Feeder 1

Table 60. Mix Feeder 1 (SEM)

Description Object Name Tag type/Block Type Assignment

Equipment MX1 Equipment None

Flow controller FT1_FIC01 Station MX1

Flow totalizer FT1_TOT01 Analog MX1

Motor control valve FT1_MCV02 Multistate device driver MX1

Motor control valve R1_MCV01 Multistate device driver MX1

Motor control valve R2_MCV01 Multistate device driver MX1

Pump FT1_PM1 Remote motor control block MX1

Page 357: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Mix Feeder 2 Configuration

3BUA000146R4101 357

Mix Feeder 2 Configuration

Figure 142. Mix Feeder 2

Table 61. Mix Feeder 2 (SEM)

Description Object Name Tag type/Block Type Assignment

Equipment MX2 Equipment None

Flow controller FT2_FIC01 Station MX2

Flow totalizer FT2_TOT01 Analog MX2

Motor control valve FT2_MCV02 Multistate device driver MX2

Motor control valve R1_MCV02 Multistate device driver MX2

Motor control valve R2_MCV02 Multistate device driver MX2

Pump FT2_PM1 Remote motor control block MX2

Page 358: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Product Feeder Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

358 3BUA000146R4101

Product Feeder Configuration

Figure 143. Product Feeder

Table 62. Product Feeder (SEM)

Description Object Name Tag type/Block Type Assignment

Equipment PF Equipment None

Flow controller R1_FIC01 Station PF

Flow totalizer R1_TOT01 Analog PF

Motor control valve R1_MCV03 Multistate device driver PF

Pump R1_PM1 Remote motor control block PF

Flow controller R2_FIC01 Station PF

Flow totalizer R2_TOT01 Analog PF

Motor control valve R1_MCV03 Multistate device driver PF

Page 359: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Catch Tank 1 Configuration

3BUA000146R4101 359

Catch Tank 1 Configuration

Figure 144. Catch Tank 1

Table 63. Catch Tank 1 (Unit)

Description Object Name Tag type/Block Type Assignment

Unit CT1 Equipment None

Level indicator CT1_LI01 Analog CT1

Agitator CT1_A01 Remote motor control block CT1

Equipment phase CT1_P1 EPT CT1

Page 360: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Catch Tank 2 Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

360 3BUA000146R4101

Catch Tank 2 Configuration

Figure 145. Catch Tank 2

Table 64. Catch Tank 2 (Unit)

Description Object Name Tag type/Block Type Assignment

Unit CT2 Equipment None

Level indicator CT2_LI01 Analog CT2

Agitator CT2_A01 Remote motor control block CT2

Equipment phase CT2_P1 EPT CT2

Page 361: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix H AC 800M/C Controller (EPT Control Modules) Catch Tank 3 Configuration

3BUA000146R4101 361

Catch Tank 3 Configuration

Figure 146. Catch Tank 3

Table 65. Catch Tank 3 (SEM)

Description Object Name Tag type/Block Type Assignment

Unit CT3 Equipment None

Level indicator CT3_LI01 Analog CT3

Agitator CT3_A01 Remote motor control block CT3

Equipment phase CT3_P1 EPT CT3

Page 362: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Catch Tank 4 Configuration Appendix H AC 800M/C Controller (EPT Control Modules)

362 3BUA000146R4101

Catch Tank 4 Configuration

Figure 147. Catch Tank 4

Table 66. Catch Tank 3 (SEM)

Description Object Name Tag type/Block Type Assignment

Unit CT4 Equipment None

Level indicator CT4_LI01 Analog CT4

Agitator CT4_A01 Remote motor control block CT4

Equipment phase CT4_P1 EPT CT4

Page 363: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 363

Appendix I Function Phase Driver

IntroductionNormally, standard driver files are used to map the phase name, commands, states, and parameters between a recipe phase and an equipment phase in a controller via an OPC server. It is also possible to create a custom driver called a function phase driver. This driver can be configured to communicate directly with controllers that do not have standard driver files in the Batch Management system. The function phase driver can also be used to facilitate the adapting of non-S88 equipment phases to Batch Management. Figure 148 shows a graphical representation of how a function phase driver fits into a Batch Management system.

General ProcedureThe following procedure is an example of how this feature would be used.

1. Create or modify the equipment phase logic to use the required parameters.

2. Create an aspect object linked to OPC data points of the equipment phase in the OPC server supplied by the controller. Refer to the OPC data source definition aspect in the 800xA system.

3. Configure the function phase driver to map batch manager states, commands, and parameters to object properties. Refer to Custom Functions with the Function Wizard on page 262 for more information.

4. Define the required recipe phases in Batch Management.

5. Define the required equipment. The controller type of the equipment must be set to OPC (Function Phase Driver) and the name of the function phase driver

Read Appendix A, Configuring Batch Variables and Expressions before starting to develop a function phase driver.

Page 364: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

General Procedure Appendix I Function Phase Driver

364 3BUA000146R4101

must be entered in the Function Phase Driver field on the batch equipment aspect.

6. Add equipment attributes as needed.

7. Link the equipment phase to the equipment on the batch equipment aspect.

8. Develop the procedure.

The function phase driver is called every second as long as the phase is active. It is expected that this function will communicate with the controller using standard get and put functions that manipulate object:properties of the equipment to download parameters, start execution, and monitor the execution of the phases. Potential error conditions such as data quality, state changes from the controller, etc. should be considered when creating a function phase driver.

Figure 148. Third Party Controller Connectivity

Page 365: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix I Function Phase Driver Configuration Data

3BUA000146R4101 365

Configuration DataUse the data presented in Table 67 to configure a function phase driver. Appendix A, Configuring Batch Variables and Expressions also contains functions and variables that can be used to configure a function phase driver.

For command calls (calls with five or more parameters), the function phase driver will return an empty string (indicates command success) or an error string. For

Table 67. Function Phase Driver Parameters

Parameter Values Description

$1 Batch equipment name Equipment name associated with the procedure phase. The batch manager passes this to the procedure phase at the beginning of the function phase driver execution.

$2 Module index Value of module index expression configured for the phase instance.

$3 Phase alias name The batch manager passes this to the function phase driver at the beginning of the phase execution and on command changes ($1 through $5).$4 Phase name

$5 Abort, Hold, Pause, Reset, Restart, Resume, Start, or Stop

$6 Batch ID

$7 Lot ID

$8 Campaign ID

$9 Spare Reserved for future use.

$10 First parameter name The batch manager passes this to the procedure phase (at the beginning of the function phase driver execution) in alphabetical order if the parameter $5 is set to Start.$11 First parameter value

$12 x parameter name

$13 x parameter value

Page 366: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Appendix I Function Phase Driver

366 3BUA000146R4101

status calls (calls with four parameters), the function phase driver will return a string in one of the following formats:

State:actual_state

- or -

State:actual_state \nError:error_stringr

The function must be written so that it returns one of the following states:• Aborted.• Aborting.• Complete.• Connecting.• Held.• Holding.• Idle.• Paused.• Pausing.• Restarting.• Running.• Stopped.• Stopping.

Examplefunc PLC Phase Driver1()// $1 = Unit Name// $2 = Unit Index// $3 = Alias Phase Name// $4 = Phase Name// $5 = Command (optional): Start, Stop, Abort, etc.// $6 = BID - Start Only// $7 = Lot - Start Only// $8 = Campaign - Start Only// $9 = Spare - Start Only// $10 = First parameter name - Start Only// $11 = First parameter value - Start Only// $12 = 2nd phase parameter name - Start Only

Page 367: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix I Function Phase Driver Example

3BUA000146R4101 367

// $13 = 2nd phase parameter value - Start Only// $n. = nth phase parameter name - Start Only// $n+1 = nth phase parameter value - Start Only

// Use cases:// 1. Start Command// Args 1 - 9 + optional phase parameters (args 10 - n) // Phase parameter 1 - Always the equipment phase path// Returns : "" - Success case// Error String - Failure case// 2. All commands other than start// Args 1 - 5// Returns: "" - Succes case// Error String - Failure case// 3. Periodic CallBack - Status call// Args 1 - 4// Returns : "State:actual_state" - Success case// "State:actual_state\nErrorString" -

Failure case// Where: actual_state is the state name of the phaseserr = "Invalid state for command"base = $1+"P"+str($2)+" "+$3EquipmnetPhasePath = bvargets("EquipPhasePath",

"EquipPhasePath"// Get the current state via OPCState = get("Root/Control Network/ABL/Applications/ABL/

Control Modules/MashTun1/PHSCook1/PHSCookInfo1:Status.ProceduralState")

if (narg() <= 4) {// Periodic callback case

if (State == 0) {return("State:Idle")

} else if(State == 1) {return("State:Running")

} else if(State == 2) {return("State:Complete")

} else if(State == 3) {return("State:Pausing")

} else if(State == 4) {

Page 368: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Appendix I Function Phase Driver

368 3BUA000146R4101

return("State:Paused")} else if(State == 5) {

return("State:Holding")} else if(State == 6) {

return("State:Held")} else if(State == 7) {

return("State:Restarting")} else if(State == 8) {

return("State:Running")} else if(State == 9) {

return("State:Stopped")} else if(State == 10) {

return("State:Aborting")} else if(State == 11) {

return("State:Aborted")}return("State:Unknown\nget(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/PHSCookInfo1:Status.ProceduralState\"did not returnstate")}

// Returns: "" - Success case// Error String - Failure case

command = arg(5)

if (command == "Start") {// Start command issued

// Send the phase parameters via OPCi = 10while (i <= narg()) {

put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1.RecipePar."+arg(i), arg(i+1))i = i + 2

}if (State != 0) {

// Issue Reset firstif (put("Root/Control Network/ABL/Applications/ABL/

Page 369: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix I Function Phase Driver Example

3BUA000146R4101 369

Control Modules/MashTun1/PHSCook1/Core:Interaction.Reset", 1) == 0){

Return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Reset\") failed"}

}// Issuestart command via OPCif (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:Start", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:Start\") failed"}

} else if (command == "Abort") {// Abort command issuedif (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Abort", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Abort\") failed"}

} else if (command == "Hold") {// Hold command issuedif (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Hold", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Hold\") failed"}

} else if (command == "Abort") {// Abort command issued

Page 370: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Example Appendix I Function Phase Driver

370 3BUA000146R4101

if (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Abort", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Abort\") failed"}

} else if (command == "Pause") {// Pause command issuedif (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Pause", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Pause\") failed"}

} else if (command == "Reset") {// Abort command issuedif (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Reset", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Reset\") failed"}

} else if (command == "Restart") {// Abort command issuedif (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Restart", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/

Page 371: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix I Function Phase Driver Example

3BUA000146R4101 371

PHSCook1/Core:InteractionPar.Restart\") failed"}

} else if (command == "Resume") {// Abort command issuedif (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Resume", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Resume\") failed"}

} else if (command == "Stop") {// Abort command issuedif (put("Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Stop", 1)){

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Stop\") failed"}

return ""} else {

return "put(\"Root/Control Network/ABL/Applications/ABL/Control Modules/MashTun1/PHSCook1/Core:InteractionPar.Abort\") failed"}

}}

Page 372: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 373: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 373

Appendix J Batch Schedule Interface

IntroductionA Batch_Web directory, containing active server pages, is created under the [drive]:\Programs Files\ABB Industrial IT\Produce IT\Batch directory when Batch Management is installed on the client workstation. Customer applications of any type (web pages, programs, etc.) can receive information from the batch manager and send commands to the batch manager by issuing messages to these active server pages. The two types of messages that can be used are read and write. Read messages sent to the ReadBatchXML.asp page acquire real-time data from the batch system. Write messages sent to the Batch_Change.asp, Batch_Schedule.asp, and Unit_Change.asp pages execute limited control over operations in the batch system. Refer to Figure 149.

Client applications are responsible for initiating all communications. The batch system only responds to messages received from the client application. Any node capable of using HTTP and XML formats can send messages to the Internet server.

AttributesAll the supported read and write response messages contain a status attribute that indicates the success or failure of the message. Refer to the XML schema for detailed information about the status attribute format.

Read request messages contain an UpdateID attribute (set by the client application) that controls the amount of data being transmitted and the processing done to it when the data values have not changed. The first time a read request message is sent, this attribute should be set to zero. This means that the client wants to receive all possible information. All possible information and an UpdateID are returned. The next time the client sends this same read request message, the UpdateID value can be set to zero (return all information) or made equal to the UpdateID value

Page 374: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Read Messages Appendix J Batch Schedule Interface

374 3BUA000146R4101

returned in response to the previous request. If this returned value is used, only the information that has changed (from the previous response) will be returned. If no data has changed, only the root element with status attribute and UpdateID attributes are returned.

Read MessagesThe supported read messages must be sent to the ReadBatchXML.asp page. This page acquires the data from the batch system and returns it to the client. The format of each read message and all the responses it may generate are defined in an XML schema. How the data is used is a function of the client application. The supported read messages are:• ReadActiveBatches.• ReadBatchDetails.• ReadBatchOverview.• ReadProcedureDetails.

Figure 149. XML Interface Overview

Page 375: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface ReadActiveBatches

3BUA000146R4101 375

• ReadProcedures.• ReadTagkeyData.• ReadEquipmentDetails.

ReadActiveBatches

This message retrieves the batch ID of all batches listed in the Batch Overview window.

Request Format<?xml version="1.0"?><ReadActiveBatches UpdateID="0" />

Example Return<?xml version="1.0" ?> <ActiveBatches Status="OK" UpdateID="29503083:2280488844">

<Batch Name="B40" /> <Batch Name="B41" /> <Batch Name="B43" /> <Batch Name="B44" /> <Batch Name="B46" /> <Batch Name="B47" /> <Batch Name="B48" /> <Batch Name="B49" /> <Batch Name="B50" /> <Batch Name="B52" /> <Batch Name="B53" /> <Batch Name="B54" /> <Batch Name="B55" /> <Batch Name="B56" /> <Batch Name="B57" /> <Batch Name="B58" />

</ActiveBatches>

ReadBatchDetails

This message retrieves batch details from any batch.

Page 376: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

ReadBatchDetails Appendix J Batch Schedule Interface

376 3BUA000146R4101

Request Format<?xml version="1.0" ?> <ReadBatchDetails BatchID="BatchID_String" UpdateID="0"/>

Example Return<BatchDetails Status="OK" UpdateID="29504092:2468177984">

<Batch name="B68"><CampaignID>6</CampaignID><Comment/><EstimatedTime>0</EstimatedTime><LotID>68</LotID><Mode>Automatic</Mode><Priority>8</Priority><ScheduleStatus>Error</ScheduleStatus><StartTime>2002-07-23T15:11:44.190Z</StartTime><State>I-Running</State><BatchCell Name="Default Cell">

<BatchCellID>1DB8B263-C2E9-4075-8825-25C065581129</BatchCellID>

</BatchCell><Procedure Name="Procedure6">

<ProcedureID>B480A82D-7FC4-4F54-A81E-8C790D1BDB29</ProcedureID>

</Procedure></Batch><ActiveBlocks>

<ListEntries>"Procedure6.10", "Procedure6.10.1","Procedure6.10.1.4", "Procedure6.8", "Procedure6.9"</ListEntries>

<ActiveBlock Name="Procedure6.10"><BlockLabel>unitproc1</BlockLabel><BlockType>Equipment Procedure</BlockType><ProcedureName>UnitProcedure1</ProcedureName><BlockStatus>

<BreakpointFlg>0</BreakpointFlg><BreakpointReachedFlg>0</BreakpointReachedFlg><BreakpointReachedLowerFlg>0</Breakpoint

ReachedLowerFlg><EndTime/><Error/>

Page 377: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface ReadBatchDetails

3BUA000146R4101 377

<ErrorFlg>0</ErrorFlg><ErrorLowerFlg>1</ErrorLowerFlg><InconsistentModeFlg>0</InconsistentModeFlg><InconsistentStateFlg>0</InconsistentStateFlg><Mode>Automatic</Mode><OperatorEntryFlg>0</OperatorEntryFlg><OperatorEntryLowerFlg>0</OperatorEntryLowerFlg><SkipFlg>0</SkipFlg><StartTime>2002-07-23T15:11:44.268Z</StartTime><State>Aborted</State>

</BlockStatus><Parameters>

<Parameter Name="Unit"><Default/><ListEntries/><Type>UnitList</Type>

</Parameter></Parameters>

</ActiveBlock><ActiveBlock Name>="Procedure6.10.1">

<BlockLabel>oper1</BlockLabel><BlockType>Operation</BlockType><ProcedureName>Operation1</ProcedureName><BlockStatus>

<BreakPointFlg>0</BreakPointFlg><BreakPointReachedFlg>0</BreakPointReachedFlg><BreakPointReachedLowerFlg>0

</BreakPointReachedLowerFlg><EndTime/><Error/><ErrorFlg>0</ErrorFlg><ErrorLowerFlg>1</ErrorLowerFlg><InconsistentModeFlg>0</InconsistentModeFlg><InconsistentStateFlg>0</InconsistentStateFlg><Mode>Automatic</Mode><OperatorEntryFlg>0</OperatorEntryFlg><OperatorEntryLowerFlg>0</OperatorEntryLowerFlg><SkipFlg>0</SkipFlg><StartTime>2002-07-23T15:11:44.268Z</StartTime><State>Aborted</State>

Page 378: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

ReadBatchDetails Appendix J Batch Schedule Interface

378 3BUA000146R4101

</BlockStatus><Parameters>

<Parameter Name="Unit"><Default/><ListEntries/><Type>UnitList</Type>

</Parameter></Parameters>

</ActiveBlock><ActiveBlock Name>="Procedure6.10.1.4">

<BlockLabel>Phase1</BlockLabel><BlockType>Phase</BlockType><ProcedureName>Phase1</ProcedureName><BlockStatus>

<BreakPointFlg>0</BreakPointFlg><BreakPointReachedFlg>0</BreakPointReachedFlg><BreakPointReachedLowerFlg>0

</BreakPointReachedLowerFlg><EndTime>2002-07-23T15:11:45.565Z</EndTime><Error>Procedure Operation1, blk id 4: Phase start

error, equipment A1, index 1</Error><ErrorFlg>1</ErrorFlg><ErrorLowerFlg>0</ErrorLowerFlg><InconsistentModeFlg>0</InconsistentModeFlg><InconsistentStateFlg>0</InconsistentStateFlg><Mode>Automatic</Mode><OperatorEntryFlg>0</OperatorEntryFlg><OperatorEntryLowerFlg>0</OperatorEntryLowerFlg><SkipFlg>0</SkipFlg><StartTime>2002-07-23T15:11:45.549Z</StartTime><State>Aborted</State>

</BlockStatus><Parameters>

<Parameter Name="phaseparam1Unit"><Default>0.00000</Default><High>1.00000</High><Low>0.00000</Low><Type>Float</Type>

</Parameter></Parameters>

Page 379: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface ReadBatchDetails

3BUA000146R4101 379

</ActiveBlock><ActiveBlock Name>="Procedure6.8">

<BlockLabel>mess2</BlockLabel><BlockType>Message</BlockType><BlockStatus>

<BreakPointFlg>0</BreakPointFlg><BreakPointReachedFlg>0</BreakPointReachedFlg><BreakPointReachedLowerFlg>0

</BreakPointReachedLowerFlg><EndTime/><Error/><ErrorFlg>0</ErrorFlg><ErrorLowerFlg>0</ErrorLowerFlg><InconsistentModeFlg>0</InconsistentModeFlg><InconsistentStateFlg>0</InconsistentStateFlg><Mode>Automatic</Mode><OperatorEntryFlg>1</OperatorEntryFlg><OperatorEntryLowerFlg>0</OperatorEntryLowerFlg><SkipFlg>0</SkipFlg><StartTime>2002-07-23T15:11:44.424Z</StartTime><State>Running</State>

</BlockStatus></ActiveBlock><ActiveBlock Name>="Procedure6.9">

<BlockLabel>mess3</BlockLabel><BlockType>Message</BlockType><BlockStatus>

<BreakPointFlg>0</BreakPointFlg><BreakPointReachedFlg>0</BreakPointReachedFlg><BreakPointReachedLowerFlg>0

</BreakPointReachedLowerFlg><EndTime/><Error/><ErrorFlg>0</ErrorFlg><ErrorLowerFlg>0</ErrorLowerFlg><InconsistentModeFlg>0</InconsistentModeFlg><InconsistentStateFlg>0</InconsistentStateFlg><Mode>Automatic</Mode><OperatorEntryFlg>1</OperatorEntryFlg><OperatorEntryLowerFlg>0</OperatorEntryLowerFlg>

Page 380: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

ReadBatchOverview Appendix J Batch Schedule Interface

380 3BUA000146R4101

<SkipFlg>0</SkipFlg><StartTime>2002-07-23T15:11:44.440Z</StartTime><State>Running</State>

</BlockStatus></ActiveBlock>

</ActiveBlocks><BlockStatus>

<BreakPointFlg>0</BreakPointFlg><BreakPointReachedFlg>0</BreakPointReachedFlg><BreakPointReachedLowerFlg>0</BreakPointReachedLowerFlg><EndTime/><Error/><ErrorFlg>0</ErrorFlg><ErrorLowerFlg>1</ErrorLowerFlg><InconsistentModeFlg>0</InconsistentModeFlg><InconsistentStateFlg>1</InconsistentStateFlg><Mode>Automatic</Mode><OperatorEntryFlg>0</OperatorEntryFlg><OperatorEntryLowerFlg>1</OperatorEntryLowerFlg><SkipFlg>0</SkipFlg><StartTime/><State>Running</State>

</BlockStatus></Parameters>

</BatchDetails>

ReadBatchOverview

This message retrieves batch overview data.

Request Format<?xml version="1.0" ?> <ReadBatchOverview UpdateID="0"/>

Example Return<?xml version="1.0"?><Batches Status="OK" UpdateID="29503941:40991218">

<Batch Name="B41"><CampaignID/>

Page 381: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface ReadBatchOverview

3BUA000146R4101 381

<Comment/><EstimatedTime>0</EstimatedTime><Lot/><Mode>Automatic</Mode><Priority>8</Priority><ScheduleStatus>MessagePending</ScheduleStatus><StartTime>2002-07-12T16:55:23.586Z</StartTime><State>Running</State><BatchCell Name="A1">

<BatchCellID>0DE8EE02-11D3-BA35-0008C7A34A08</BatchCellID>

</BatchCell><Procedure Name="Procedure1">

<ProcedureID>04590F17-78D6-40E4-A772-BD3D18A7DBCE</ProcedureID>

</Procedure></Batch><Batch Name="B50"><Batch Name="B52"><Batch Name="B61"><Batch Name="B62"><Batch Name="B63"><Batch Name="B64">

<CampaignID>6</CampaignID><Comment>trying parallel messages</Comment><EstimatedTime>0</EstimatedTime><LotID>64</LotID><Mode>Automatic</Mode><Priority>8</Priority><ScheduleStatus>MessagesPending</ScheduleStatus><StartTime>2002-07-19T21:01:15.980Z</StartTime><State>Running</State><BatchCell Name="A1">

<BatchCellID>0DE8EE02-A17D-11D3-BA35-0008C7A34A08</BatchCellID>

</BatchCell><Procedure Name="Procedure6">

<ProcedureID>B480A82D-7FC4-4F54-A81E-8C790D1BDB29</ProcedureID>

</Procedure>

Page 382: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

ReadProcedureDetails Appendix J Batch Schedule Interface

382 3BUA000146R4101

</Batch><Batch Name="B65">

<CampaignID>6</CampaignID><Comment/><EstimatedTime>0</EstimatedTime><LotID>65</LotID><Mode>Automatic</Mode><Priority>8</Priority><ScheduleStatus>MessagesPending</ScheduleStatus><StartTime>2002-07-22T19:00:39.229Z</StartTime><State>Running</State><BatchCell Name="Default">

<BatchCellID>1DB8B263-C2E9-4075-8825-25C065581129</BatchCellID>

</BatchCell><Procedure Name="Procedure8">

<ProcedureID>1EF4D966-95FA-4B4A-A91F-A88100FF5CAC</ProcedureID>

</Procedure></Batch>

</Batches>

ReadProcedureDetails

This message retrieves details of the procedure.

Request Format<?xml version="1.0" ?> <ReadProcedureDetails ProcedureID="Procedure_UUID"

UpdateID="string"/>

Example Return<?xml version="1.0"?><ProcedureDetails Status="OK"

UpdateID="29503907:3175872700"><Procedure name="Procedure1">

<Author>BatchOperator@BPDTESTMACHINE9</Author><Comment>Comment for newly approved Version 1.0</Comment><ProcedureDate>2002-07-18T19:42:10.985Z</ProcedureDate>

Page 383: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface ReadProcedures

3BUA000146R4101 383

<ProcedureID>04590F17-17D6-40E4-A772-BD3D18A7DBCE</ProcedureID>

<SOP>Standard Operating Procedure 1. Quit while yourahead 2. Make it as simple as possible, but nosimpler.</SOP>

<Version>0.14</Version><Parameters>

<Parameter Name="Parameter1"><Default>0.50000</Default><High>1.00000</High><Low>0.00000</Low><Type>Float</Type>

</Parameter></Parameters>

</Procedure></ProcedureDetails>

ReadProcedures

This message retrieves a list of all the procedures within the specified procedure set for the selection criteria defined.

Request Format<?xml version="1.0" ?> <ReadProcedures UpdateID="string" />

Example Return<?xml version="1.0"?><Proceure Status="OK" UpdateID="29504492:54624992"

xmins="x-schema:BatchXMLSchema.xml><Procedure Name="Procedure1">

<ProcedureID>04590F17D6-40E4-A772-BD3D18A7DBCE</ProcedureID>

<ProcedurePath>Procedures</ProcedurePath><Comment>Comment for newly approved Version 1.0</Comment><Type>BatchProcedure</Type><Version>1.0</Version><BatchCells>

<BatchCell Name="A1">

Page 384: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

ReadProcedures Appendix J Batch Schedule Interface

384 3BUA000146R4101

<BatchCellID>0DE8EE02-A17D-11D3-BA35-0008C7A34A08</BatchCellID>

</BatchCell></BatchCells>

</Procedure><Procedure Name="Procedure2"><Procedure Name="Operation5">

<ProcedureID>DACB698A-3C90-4AE2-975F-02924E07FE5B</ProcedureID>

<ProcedurePath>Procedures</ProcedurePath><Comment/><Type>BatchProcedure</Type><Version>0.2</Version>

</Procedure><Procedure Name="UnitProcedure10">

<ProcedureID>76C0B7B8-6930-427C-80B6-E086CB1D6060</ProcedureID>

<ProcedurePath>Procedures</ProcedurePath><Comment/><Type>UnitProcedure</Type><Version>0.5</Version>

</Procedure><Procedure Name="Operation9"><Procedure Name="Operation7"><Procedure Name="Operation3"><Procedure Name="Operation4"><Procedure Name="Operation8"><Procedure Name="Operation10"><Procedure Name="Operation6"><Procedure Name="UnitProcedure9"><Procedure Name="UnitProcedure8"><Procedure Name="UnitProcedure7"><Procedure Name="UnitProcedure6"><Procedure Name="UnitProcedure5"><Procedure Name="UnitProcedure4"><Procedure Name="UnitProcedure3"><Procedure Name="UnitProcedure2"><Procedure Name="UnitProcedure1"><Procedure Name="Procedure9"><Procedure Name="Procedure8">

Page 385: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface ReadTagkeyData

3BUA000146R4101 385

<Procedure Name="Procedure7"><Procedure Name="Procedure6"><Procedure Name="Procedure5"><Procedure Name="Procedure4"><Procedure Name="Procedure3"><Procedure Name="Procedure2"><Procedure Name="Procedure1"><Procedure Name="Operation1"><Procedure Name="MyAcquire">

<ProcedureID>A4CAABE2-943A-4232-B9CE-CF9E15DFB67B</ProcedureID>

<ProcedurePath>acquire_Batch Procedure</ProcedurePath><Comment/><Type>BatchProcedure</Type><Version>0.1</Version>

</Procedure></Procedures>

ReadTagkeyData

This message retrieves tag key (batch) data.

Request Format (Return All Tag Key Data For Batch)<?xml version="1.0" ?> <ReadTagkeyData BatchID="BatchID_String" UpdateID="0" />

Request Format (Return Specified Tag Key Data)<?xml version="1.0" ?> <ReadTagkeyData BatchID="BatchID_String" UpdateID="0">

<TagkeyValue Name="__BatchElapsedTime" /> <TagkeyValue Name="__BatchEndTime" /> <TagkeyValue Name="__BatchScheduledStatus" /> <TagkeyValue Name="__BatchStartTime" /> <TagkeyValue Name="__BatchState" /> <TagkeyValue Name="__Campaign" /> <TagkeyValue Name="__Lot" /> <TagkeyValue Name="__RecipeName" /> <TagkeyValue Name="__RecipeVersion" /> <TagkeyValue Name="__RecipesUsed" />

Page 386: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

ReadTagkeyData Appendix J Batch Schedule Interface

386 3BUA000146R4101

</ReadTagkeyData>

Example Return<?xml version="1.0" ?><TagkeyData Status="OK" UpdateID="29503087:2485842189">

<TagkeyValue Name="__BatchStartTime"><CollectionTime>2002-07

-12T16:55:23.587Z</CollectionTime> <Type>String</Type> <Value>12:55:23.586Z</Value>

</TagkeyValue><TagkeyValue Name="__RecipeName">

<CollectionTime>2002-07-12T16:55:23.587Z</CollectionTime>

<Type>String</Type> <Value>04590F17-78D6-40E4-A772-BD3D18A7DBCE</Value>

</TagkeyValue><TagkeyValue Name="__Lot">

<CollectionTime>2002-07-12T16:55:23.587Z</CollectionTime>

<Type>String</Type> <Value/>

</TagkeyValue><TagkeyValue Name="__Campaign">

<CollectionTime>2002-07-12T16:55:23.587Z</CollectionTime>

<Type>String</Type> <Value />

</TagkeyValue><TagkeyValue Name="__RecipeName">

<CollectionTime>2002-07-12T16:55:23.587Z</CollectionTime>

<Type>String</Type> <Value>04590F17-78D6-40E4-A772-BD3D18A7DBCE</Value>

</TagkeyValue><TagkeyValue Name="__RecipesUsed">

<CollectionTime>2002-07-12T16:55:23.493Z</CollectionTime>

<Type>String</Type> <Value/>

Page 387: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface ReadEquipmentDetails

3BUA000146R4101 387

</TagkeyValue></TagkeyData>

ReadEquipmentDetails

This message retrieves details of the specified pieces of equipment.

Request Format (Read Details of All Equipment)<?xml version="1.0" ?> <ReadEquipmentDetails UpdateID="0"/>

Request Format (Read Details of Specified Equipment)<?xml version="1.0" ?> <ReadEquipmentDetails UpdateID="0">

<EquipmentsRequested><Equipment Name="Equipment1_UUID"/><Equipment Name="Equipment2_UUID"/>

</EquipmentsRequested></ReadEquipmentDeatils>

Example Return<?xml version="1.0"><Equipment Status="OK" UpdateID="29504113:2918775008">

<Equipment Name="A1"><BatchID>"B68"</BatchID><Description/><EquipmentID>0DBE8EE07-A17D-11D3-BA35-

0008C7A34A08</EquipmentID><NumberOfUsers>1</NumberOfUsers><OperatorStatus>Normal</OperatorStatus><RealUnitFlag>1</RealUnitFlag><SharedEquipment>0</SharedEquipment><Status>Busy</Status><Attributes>

<Attribute Name="attrib1"><Default>3.141593</Default><Eng>newtons</Eng><High>10.00000</High><Low>0.00000</Low>

Page 388: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

ReadEquipmentDetails Appendix J Batch Schedule Interface

388 3BUA000146R4101

<Type>Float</Type><Value>3.141593</Value>

</Attribute></Attributes></Queue>

<ListEntries>"001"</ListEntries><QueueEntry Name="001">

<BatchID>B69</BatchID><Priority>8</Priority><RequestTime>2002-07-23T17:42:32.446z</RequestTime>

</QueueEntry></Queue>

</Equipment><Equipment Name="A2">

<BatchID/><Description/><EquipmentID>0DBE8EE07-A17D-11D3-BA35-

0008C7A34A08</EquipmentID><NumberOfUsers>1</NumberOfUsers><OperatorStatus>Normal</OperatorStatus><RealUnitFlag>1</RealUnitFlag><SharedEquipment>0</SharedEquipment><Status>Available</Status><Attributes/></Queue>

<ListEntries/></Queue>

</Equipment><Equipment Name="A3">

<Description/><EquipmentID>0DBE8EE07-A17D-11D3-BA35-

0008C7A34A08</EquipmentID><NumberOfUsers>1</NumberOfUsers><OperatorStatus>Normal</OperatorStatus><RealUnitFlag>1</RealUnitFlag><SharedEquipment>0</SharedEquipment><Status>Available</Status><Attributes/>

</Equipment><Equipments>

Page 389: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface Write Messages

3BUA000146R4101 389

Write MessagesThe supported write messages must be sent to the Batch_Change.asp, Batch_Schedule.asp, and Unit_Change.asp pages. This page performs the requested operation in the batch system. The format of each write message and all the responses it may generate are defined in an XML schema. The supported write messages are:• Batch_Change_Info.• Batch_Schedule_Info.• Equipment_Change.

Batch_Change_Info

This message can change the priority, start time, mode, state, and schedule status of an active batch. Parameters of the batch can also be changed. A batch ID must be specified in this command.

Request Format<?xml version="1.0"?><batch_change_info>

<BatchID>BatchID_String</BatchID><Parameters>

<Parameter Name="count"><Value>25000</Value>

</Parameter></Parameters><ScheduledStatus>Schedule</ScheduledStatus><StartTime>2005-06-10T06:00:00Z</StartTime><EstimatedTime>30</EstimatedTime><Priority>9</Priority><Mode>Automatic</Mode>

</batch_change_info>

Example Return<result>OK</result>

A result of OK indicates success while failure is indicated by an error message.

Page 390: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Batch_Schedule_Info Appendix J Batch Schedule Interface

390 3BUA000146R4101

Batch_Schedule_Info

This message can schedule the execution of a batch. Batch ID and procedure ID are required in this command but any or all of the additional parameters may also be used.

Request Format<?xml version="1.0"?><batch_schedule_info>

<ProcedureID>uuid</ProcedureID><BatchID>BatchID_String</BatchID><BatchCellID>uuid</BatchCellID><Parameters>

<Parameter Name= "count"><Default>10.00000</Default><Value>15000</Value></Parameter>

</Parameters><ScheduledStatus>Not Scheduled</ScheduledStatus><Lot>Lot 123</Lot><StartTime>8pm 6/10/2001</StartTime><CampaignID>Wonderful</CampaignID><Comment>Marvelous</Comment><EstimatedTime>00:00:20</EstimatedTime><Priority>6</Priority><Mode>SemiAutomatic</Mode>

</batch_schedule_info>

Example Return<result>OK</result>

A result of OK indicates success while failure is indicated by an error message.

Equipment_Change

This message writes to the writable equipment attributes in the batch runtime database for a specific piece of equipment.

Page 391: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface XML Schema

3BUA000146R4101 391

Request Format<?xml version="1.0"?><equipment_attribute_set>

<EquipmentID>unit_uuid</EquipmentID><AttributeID>attribute name</AttributeID><Value>value to send</Value>

</equipment_attribute_set>

Example Return<result>OK</result>

A result of OK indicates success while failure is indicated by an error message.

XML SchemaThe following code is the schema that defines the formats used by the supported read and write messages and the responses they generate.

<?xml version="1.0" ?><Schema xmlns="urn:schemas-microsof-com:xml-data"

xmins:dt="urn:schemas-microsoft-com:datatypes"><!-- Start Common Batch XML Attributes -->

<AttributeType name="BatchID" dt:type="string"required="yes" />

<AttributeType name="Name" dt:type="string" required="yes" />

<AttributeType name="Status" dt:type="string"required="yes" />

<AttributeType name="UnitID" dt:type="string"required="yes" />

<AttributeType name="UpdateID" dt:type="string"required="yes" />

<AttributeType name="RecipeID" dt:type="string"

For OPC Datapoint attribute types, the object part of the Value field may be specified as a uuid enclosed in brackets (as returned in the <Default> tag from the ReadEquipmentDetails message {uuid}:Property Name) or as a fully defined path (as in the configuration of the attribute Root/Control Network/Applications/My App/Control Modules/My Object:Property Name).

Page 392: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix J Batch Schedule Interface

392 3BUA000146R4101

required="yes" /> <AttributeType name="RecipeSet" dt:type="string"

required="no" /> <AttributeType name="CatID" dt:type="int" required="yes" /> <AttributeType name="CatSelection" dt:type="string"

required="yes" /> <!-- End Common Batch XML Attributes --> <!-- Start Common Batch XML Primitive Elements --> <ElementType name="Area" content="textOnly" model="closed"

dt:type="string" /> <ElementType name="AreaNumber" content="textOnly"

model="closed" dt:type="int" /> <ElementType name="AttributeID" content="textOnly"

model="closed" dt:type="string" /> <ElementType name="Author" content="textOnly"

model="closed" dt:type="string" /> <ElementType name="BatchID" content="textOnly"

model="closed" dt:type="string" /> <ElementType name="BlockLabel" content="textOnly"

model="closed" dt:type="string" /> <ElementType name="BlockType" content="textOnly"

model="closed" dt:type="string" /> <ElementType name="BreakpointFlg" content="textOnly"

model="closed" dt:type="boolean" /> <ElementType name="BreakpointReachedFlg" content="textOnly"

model="closed" dt:type="boolean" /> <ElementType name="BreakpointReachedLowerFlg"

content="textOnly" model="closed"dt:type="boolean" />

<ElementType name="CampaignID" content="textOnly"model="closed" dt:type="string" />

<ElementType name="Comment" content="textOnly"model="closed" dt:type="string" />

<ElementType name="CollectionTime" content="textOnly"model="closed" dt:type="dateTime.tz" />

<ElementType name="Default" content="textOnly"model="closed" dt:type="string" />

<ElementType name="Description" content="textOnly"model="closed" dt:type="string" />

<ElementType name="EndTime" content="textOnly"

Page 393: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface XML Schema

3BUA000146R4101 393

model="closed" dt:type="dateTime.tz" /> <ElementType name="Eng" content="textOnly" model="closed"

dt:type="string" /> <ElementType name="Error" content="textOnly" model="closed"

dt:type="string" /> ElementType name="ErrorFlg" content="textOnly"

model="closed" dt:type="boolean" /> <ElementType name="ErrorLowerFlg" content="textOnly"

model="closed" dt:type="boolean" /> <ElementType name="EstimatedTime" content="textOnly"

model="closed" dt:type="r4" /><ElementType name="High" content="textOnly" model="closed"

dt:type="string" /> <ElementType name="InconsistentModeFlg" content="textOnly"

model="closed" dt:type="boolean" /> <ElementType name="InconsistentStateFlg" content="textOnly"

model="closed" dt:type="boolean" /> <ElementType name="ListEntries" content="textOnly"

model="closed" dt:type="string" /> <ElementType name="LotID" content="textOnly" model="closed"

dt:type="string" /> <ElementType name="Low" content="textOnly" model="closed"

dt:type="string" /> <ElementType name="Mode" content="textOnly" model="closed"

dt:type="string" /> <ElementType name="NumberOfUsers" content="textOnly"

model="closed" dt:type="int" /> <ElementType name="OperatorEntryFlg" content="textOnly"

model="closed" dt:type="boolean" /> <ElementType name="OperatorEntryLowerFlg"

content="textOnly" model="closed"dt:type="boolean" />

<ElementType name="OperatorStatus" content="textOnly"model="closed" dt:type="string" />

<ElementType name="Priority" content="textOnly"model="closed" dt:type="int" />

<ElementType name="Propagate" content="textOnly"model="closed" dt:type="string" />

<ElementType name="RecipeID" content="textOnly"model="closed" dt:type="string" />

Page 394: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix J Batch Schedule Interface

394 3BUA000146R4101

<ElementType name="RecipeDate" content="textOnly"model="closed" dt:type="dateTime.tz" />

<ElementType name="RealUnitFlag" content="textOnly"model="closed" dt:type="string" />

<ElementType name="RequestTime" content="textOnly"model="closed" dt:type="dateTime.tz" />

<ElementType name="ScheduledStatus" content="textOnly"model="closed" dt:type="string" />

<ElementType name="SharedEquipment" content="textOnly"model="closed" dt:type="string" />

<ElementType name="SkipFlg" content="textOnly"model="closed" dt:type="boolean" />

<ElementType name="SOP" content="textOnly" model="closed"dt:type="string" />

<ElementType name="StartTime" content="textOnly"model="closed" dt:type="dateTime.tz" />

<ElementType name="State" content="textOnly" model="closed"dt:type="string" />

<ElementType name="Status" content="textOnly"model="closed" dt:type="string" />

<ElementType name="Type" content="textOnly" model="closed"dt:type="string" />

<ElementType name="UnitID" content="textOnly"model="closed" dt:type="string" />

<ElementType name="Value" content="textOnly" model="closed"dt:type="string" />

<ElementType name="Version" content="textOnly"model="closed" dt:type="string" />

<!-- End Common Batch XML Primitive Elements --> <!-- Start Common Batch XML Complex Elements --> <!-- QueueEntry element -->

<ElementType name="QueueEntry" content="eltOnly"model="closed">

<attribute type="Name" /> <element type="BatchID" minOccurs="0" maxOccurs="*" /> <element type="Priority" minOccurs="0" maxOccurs="*" /> <element type="RequestTime" minOccurs="0"

maxOccurs="*" /> </ElementType>

<!-- Queue element -->

Page 395: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface XML Schema

3BUA000146R4101 395

<ElementType name="Queue" content="eltOnly"><element type="ListEntries" minOccurs="0"

maxOccurs="*" /> <element type="QueueEntry" minOccurs="0" maxOccurs="*" />

</ElementType><!-- ActiveBlock element -->

<ElementType name="ActiveBlock" content="eltOnly"><attribute type="Name" /> <element type="BlockLabel" minOccurs="0" maxOccurs="*" /> <element type="BlockType" minOccurs="0" maxOccurs="*" /> <element type="RecipeID" minOccurs="0" maxOccurs="*" /> <element type="BlockStatus" minOccurs="0"

maxOccurs="*" /> </ElementType>

<!-- ActiveBlocks element --> <ElementType name="ActiveBlocks" content="eltOnly"

model="closed"><element type="ListEntries" /> <group minOccurs="0" maxOccurs="*">

<element type="ActiveBlock" /> </group>

</ElementType><!-- BlockStatus element -->

<ElementType name="BlockStatus" content="eltOnly"><element type="BreakpointFlg" minOccurs="0"

maxOccurs="*" /> <element type="BreakpointReachedFlg" minOccurs="0"

maxOccurs="*" /> <element type="BreakpointReachedLowerFlg" minOccurs="0"

maxOccurs="*" /> <element type="EndTime" minOccurs="0" maxOccurs="*" /> <element type="Error" minOccurs="0" maxOccurs="*" /> <element type="ErrorFlg" minOccurs="0" maxOccurs="*" /> <element type="ErrorLowerFlg" minOccurs="0"

maxOccurs="*" /> <element type="InconsistentModeFlg" minOccurs="0"

maxOccurs="*" /> <element type="InconsistentStateFlg" minOccurs="0"

maxOccurs="*" /> <element type="Mode" minOccurs="0" maxOccurs="*" />

Page 396: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix J Batch Schedule Interface

396 3BUA000146R4101

<element type="OperatorEntryFlg" minOccurs="0" maxOccurs="*" />

<element type="OperatorEntryLowerFlg" minOccurs="0" maxOccurs="*" />

<element type="SkipFlg" minOccurs="0" maxOccurs="*" /> <element type="StartTime" minOccurs="0" maxOccurs="*" /> <element type="State" minOccurs="0" maxOccurs="*" />

</ElementType><!-- Parameter element -->

<ElementType name="Parameter" content="eltOnly" order="many">

<attribute type="Name" /> <element type="Type" minOccurs="1" maxOccurs="*" /> <element type="Default" minOccurs="1" maxOccurs="*" /> <element type="High" minOccurs="1" maxOccurs="*" /> <element type="Low" minOccurs="1" maxOccurs="*" /> <element type="Value" minOccurs="1" maxOccurs="*" />

</ElementType><!-- Parameters element -->

<ElementType name="Parameters" content="eltOnly" model="closed">

<group minOccurs="0" maxOccurs="*"><element type="Parameter" />

</group></ElementType>

<!-- ******************************************************************** XML Read interface related definitions *************************************************************--> <!-- ******************************************************************** UNIT related definitions ************************************************************--> <!-- Attribute element -->

<ElementType name="Attribute" content="eltOnly" order="many">

<attribute type="Name" />

Page 397: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface XML Schema

3BUA000146R4101 397

<element type="Type" minOccurs="1" maxOccurs="1" /> <element type="Default" minOccurs="1" maxOccurs="1" /> <element type="High" minOccurs="1" maxOccurs="1" /> <element type="Low" minOccurs="1" maxOccurs="1" /> <element type="Value" minOccurs="1" maxOccurs="1" /> <element type="Eng" minOccurs="1" maxOccurs="1" />

</ElementType><!-- Attributes element -->

<ElementType name="Attributes" content="eltOnly" model="closed">

<group minOccurs="0" maxOccurs="*"><element type="Attribute" />

</group></ElementType>

<!-- Read Units - Request and Response Message - UnitElement -->

<ElementType name="Unit" content="eltOnly"><attribute type="Name" /> <element type="BatchID" minOccurs="0" maxOccurs="*" /> <element type="Description" minOccurs="0"

maxOccurs="*" /> <element type="NumberOfUsers" minOccurs="0"

maxOccurs="*" /> <element type="OperatorStatus" minOccurs="0"

maxOccurs="*" /> <element type="RealUnitFlag" minOccurs="0"

maxOccurs="*" /> <element type="SharedEquipment" minOccurs="0"

maxOccurs="*" /> <element type="Status" minOccurs="0" maxOccurs="*" /> <element type="Attributes" minOccurs="0" maxOccurs="*" /> <element type="Queue" minOccurs="0" maxOccurs="*" />

</ElementType><!-- Read Units - Request and Response Message - Units Element Note the use of required=no. This is because in the request, the units element is not the root element. In the response, it is. All root elements must contain the status and updateid attributes.-->

Page 398: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix J Batch Schedule Interface

398 3BUA000146R4101

<ElementType name="Units" content="eltOnly" model="closed"><attribute type="Status" required="no" /> <attribute type="UpdateID" required="no" /> <group minOccurs="0" maxOccurs="*">

<element type="Unit" /> </group>

</ElementType><ElementType name="UnitsRequested" content="eltOnly"

model="closed"><group minOccurs="0" maxOccurs="*">

<element type="Unit" /> </group>

</ElementType><!-- Read Equipment Details Request Message -->

<ElementType name="ReadUnitDetails" content="eltOnly" order="one" model="closed">

<attribute type="UpdateID" /> <element type="UnitsRequested" minOccurs="0"

maxOccurs="1" /> </ElementType>

<!--

******************************************************************** BATCH status related definitions ************************************************************--> <!-- Read Batch Overview Response Message - Batch element -->

<ElementType name="Batch" content="eltOnly" model="closed" order="many">

<attribute type="Name" /> <element type="Area" minOccurs="0" maxOccurs="1" /> <element type="CampaignID" minOccurs="0" maxOccurs="1" /> <element type="Comment" minOccurs="0" maxOccurs="1" /> <element type="EndTime" minOccurs="0" maxOccurs="1" /> <element type="EstimatedTime" minOccurs="0"

maxOccurs="1" /> <element type="LotID" minOccurs="0" maxOccurs="1" /> <element type="Mode" minOccurs="0" maxOccurs="1" /> <element type="Priority" minOccurs="0" maxOccurs="1" /> <element type="RecipeID" minOccurs="0" maxOccurs="1" />

Page 399: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface XML Schema

3BUA000146R4101 399

<element type="ScheduledStatus" minOccurs="0" maxOccurs="1" />

<element type="StartTime" minOccurs="0" maxOccurs="1" /> <element type="State" minOccurs="0" maxOccurs="1" />

</ElementType><!-- Read Batch Overview Request Message -->

<ElementType name="ReadBatchOverview" content="textOnly" order="one" model="closed">

<attribute type="UpdateID" /> </ElementType>

<!-- Read Batch Overview Response Message - Root Element --> <ElementType name="Batches" content="eltOnly"

model="closed"><attribute type="Status" /> <attribute type="UpdateID" /> <group minOccurs="0" maxOccurs="*">

<element type="Batch" /> </group>

</ElementType><!-- Read Batch Details Request Message -->

<ElementType name="ReadBatchDetails" content="textOnly" order="one" model="closed">

<attribute type="BatchID" /> <attribute type="UpdateID" />

</ElementType><!-- Read Batch Details Response Message - Root Element -->

<ElementType name="BatchDetails" content="eltOnly" model="closed">

<attribute type="Status" /> <attribute type="UpdateID" /> <element type="Batch" minOccurs="0" maxOccurs="*" /> <element type="ActiveBlocks" minOccurs="0"

maxOccurs="1" /> <element type="BlockStatus" minOccurs="0"

maxOccurs="1" /> <element type="Parameters" minOccurs="0" maxOccurs="1" />

</ElementType><!-- Read Active Batches Request Message -->

<ElementType name="ReadActiveBatches" content="empty" model="closed">

Page 400: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix J Batch Schedule Interface

400 3BUA000146R4101

<attribute type="UpdateID" /> </ElementType>

<!-- Read Active Batches Response Message --> <ElementType name="ActiveBatches" content="eltOnly"

model="closed"><attribute type="Status" /> <element type="Batch" minOccurs="0" maxOccurs="*" />

</ElementType><!-- ******************************************************************** TAG-KEY DATA related definitions ************************************************************--> <!-- TagkeyValue element -->

<ElementType name="TagkeyValue" content="eltOnly" model="closed">

<attribute type="Name" /> <element type="CollectionTime" minOccurs="0"

maxOccurs="1" /> <element type="Type" minOccurs="0" maxOccurs="1" /> <element type="Value" minOccurs="0" maxOccurs="1" />

</ElementType><!-- Read Batch Key Data Request Message -->

<ElementType name="ReadTagkeyData" content="eltOnly" model="closed">

<attribute type="BatchID" /> <attribute type="UpdateID" /> <element type="TagkeyValue" minOccurs="0"

maxOccurs="*" /> </ElementType>

<!-- Read Batch Key Data Response Message --> <ElementType name="TagkeyData" content="eltOnly"

model="closed"><attribute type="Status" /> <attribute type="UpdateID" /> <element type="TagkeyValue" minOccurs="0"

maxOccurs="*" /> </ElementType>

<!-- *************************************************************

Page 401: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface XML Schema

3BUA000146R4101 401

******* RECIPE related definitions *************************************************************--> <!-- Recipe Category element -->

<ElementType name="RcpCategory" content="mixed" model="closed">

<attribute type="CatID" /> <attribute type="CatSelection" />

</ElementType><!-- Recipe Element -->

<ElementType name="Recipe" content="eltOnly" model="closed" order="many">

<attribute type="Name" /> <element type="Comment" /> <element type="Type" /> <element type="Version" /> <element type="Author" minOccurs="0" maxOccurs="1" /> <element type="RecipeDate" minOccurs="0" maxOccurs="1" /> <element type="SOP" minOccurs="0" maxOccurs="1" /> <element type="Parameters" minOccurs="0" maxOccurs="1" />

</ElementType><!-- Read Recipes Request Message -->

<ElementType name="ReadRecipes" content="eltOnly" model="closed">

<attribute type="RecipeSet" /> <attribute type="UpdateID" /> <group minOccurs="0" maxOccurs="*">

<element type="RcpCategory" /> </group>

</ElementType><!-- Read Recipes Response Message -->

<ElementType name="Recipes" content="eltOnly" model="closed">

<attribute type="Status" /> <attribute type="UpdateID" /> <group minOccurs="0" maxOccurs="*">

<element type="Recipe" /> </group>

</ElementType><!-- Read Recipe Details Request Message -->

Page 402: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix J Batch Schedule Interface

402 3BUA000146R4101

<ElementType name="ReadRecipeDetails" content="mixed" model="closed">

<attribute type="RecipeSet" /> <attribute type="RecipeID" /> <attribute type="UpdateID" /> </ElementType>

<!-- Read Recipe Details Response Message --> <ElementType name="RecipeDetails" content="eltOnly"

model="closed"><attribute type="Status" /> <attribute type="UpdateID" /> <element type="Recipe" minOccurs="0" maxOccurs="1" />

</ElementType><!-- Error Response -->

<ElementType name="Response" content="mixed" model="closed">

<attribute type="Status" /> </ElementType>

<!-- ******************************************************************** XML Write interface related definitions *************************************************************--> <!-- Generic response for XML write interface -->

<ElementType name="result" content="textOnly" model="closed" />

<!-- ******************************************************************** BATCH command related definitions *************************************************************--> <!-- Change Batch Information Request Message -->

<ElementType name="batch_change_info" content="eltOnly" model="closed">

<description>Information required in order to change a batch</description>

<element type="BatchID" minOccurs="1" maxOccurs="1" /> <element type="Parameters" minOccurs="0" maxOccurs="1" /> <element type="ScheduledStatus" minOccurs="0"

maxOccurs="1" />

Page 403: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface XML Schema

3BUA000146R4101 403

<element type="StartTime" minOccurs="0" maxOccurs="1" /> <element type="Priority" minOccurs="0" maxOccurs="1" /> <element type="Mode" minOccurs="0" maxOccurs="1" /> <element type="Propagate" minOccurs="0" maxOccurs="1" /> <element type="State" minOccurs="0" maxOccurs="1" />

</ElementType><!-- ******************************************************************** BATCH SCHEDULE related definitions *************************************************************--> <!-- Batch Schedule Information Request Message -->

<ElementType name="batch_schedule_info" content="eltOnly" model="closed" order="many">

<description>Information required in order to schedule a batch</description>

<element type="BatchID" minOccurs="1" maxOccurs="1" /> <element type="RecipeID" minOccurs="1" maxOccurs="1" /> <element type="Parameters" minOccurs="0" maxOccurs="1" /> <element type="ScheduledStatus" minOccurs="0"

maxOccurs="1" /> <element type="AreaNumber" minOccurs="0" maxOccurs="1" /> <element type="LotID" minOccurs="0" maxOccurs="1" /> <element type="CampaignID" minOccurs="0" maxOccurs="1" /> <element type="Comment" minOccurs="0" maxOccurs="1" /> <element type="StartTime" minOccurs="0" maxOccurs="1" /> <element type="EstimatedTime" minOccurs="0"

maxOccurs="1" /> <element type="Priority" minOccurs="0" maxOccurs="1" /> <element type="Mode" minOccurs="0" maxOccurs="1" />

</ElementType><!-- ******************************************************************** Equipment WRITE related definitions *************************************************************--> <!-- Set Unit Attribute Request Message -->

<ElementType name="unit_attribute_set" content="eltOnly" model="closed" order="many">

<description>Information required to set a value of an

Page 404: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Server Internet Site Appendix J Batch Schedule Interface

404 3BUA000146R4101

equipment attribute</description> <element type="EquipmentID" minOccurs="1"

maxOccurs="1" /> <element type="AttributeID" minOccurs="1"

maxOccurs="1" /> <element type="Value" minOccurs="0" maxOccurs="1" />

</ElementType><!-- End Common Batch XML Complex Elements --> </Schema>

Server Internet SiteThe following procedure sets up and installs a server Internet site that can be accessed by any client application. It is recommended that the Internet server site be installed and configured on an 800xA system node (not the batch server node) that utilizes the Windows 2000 Server operating system and contains a batch client. Verify a group for the batch users, the IUSR_nodename user, and IWAN_nodename user, are also present on the client node.

To install and setup a server Internet site to give a user access to the XML interface using IIS:

1. Verify that the IndustrialITUser domain group is defined on the domain controller. This group should have been created automatically during the installation of the 800xA system.

2. Select a user from the IndustrialITUsers group or create a new one.

3. Add the selected user to the ProduceITUsers group on all primary and secondary batch servers.

4. Add the Virtual directory to the web server node (must contain a batch client but can not be a batch server):

a. Select Start > Settings > Control Panel > Administrative Tools > Internet Services Manager.

b. Double click the local node name.

A compiled application can also send messages to the XML server.

Page 405: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface Server Internet Site

3BUA000146R4101 405

c. Right click Default Web Site.

d. Select New > Virtual Directory from the pop-up menu.

e. Click Next.

f. Enter Batch_Web (name of the Internet server).

g. Click Next.

h. Enter [drive_letter]:\Program Files\ABB Industrial IT\Produce IT\Batch\Batch_Web (path to the server directory).

i. Click Next.

j. Click Finish.

5. Right click Batch_Web (located under Default Web Site).

6. Select Properties from the popup menu.

7. Select the Virtual Directory tab.

8. Configure the virtual directory security settings as necessary. The recommended settings are shown in Figure 150.

9. Restart the node.

10. Verify the client application has http://machinename/Batch_Web as the server address.

Page 406: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Server Internet Site Appendix J Batch Schedule Interface

406 3BUA000146R4101

11. Verify the batch user group has permit database access permission for the

SymFlexDB database (on Batch Management servers).

12. If the Windows 2000 operating system is being used, proceed to Step 13. If the Windows 2003 Server or XP operating systems are being used, proceed to Step 24.

13. Select Start > Settings > Control Panel > Administrative Tools > Component Services.

14. Expand Components Services > Computers > My Computer > COM+ Applications.

15. Right click IIS-{Default Web Site//Root/Batch_Web}.

16. Select Properties from the pop-up menu.

TC03095D

Figure 150. XML Server Properties

If the batch services need to be stopped, it is recommended that the IIS service be stopped before the batch services.

Page 407: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix J Batch Schedule Interface Server Internet Site

3BUA000146R4101 407

17. Select the Identity tab.

18. Enable the This User option.

19. Specify the user selected or created in Step 2 in the User field.

20. Enter the user password in the Password and Confirm fields.

21. Click OK.

22. Close the Component Services window.

23. Proceed to Step 44.

24. Select Start > Settings > Control Panel > Administrative Tools > Internet Service Manager.

25. Select Web Server Extension.

26. Select Active Server Pages.

27. Click Allow.

28. Right click Application Pools in the directory structure in the left side of the window.

29. Select New > Application Pool in the pop-up menu.

30. Enable the Use Default Settings For New Applications Pool option.

31. Click OK.

32. Right click the newly created application pool.

33. Select Properties in the pop-up menu.

34. Select the Identity tab.

35. Enable the Configuration option.

36. Click OK.

37. Specify the user selected or created in Step 2 in the User field.

38. Enter the user password in the Password and Confirm fields.

39. Click OK.

40. Right click Batch_Web (located under Default Web Site).

Page 408: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Security Appendix J Batch Schedule Interface

408 3BUA000146R4101

41. Select Properties in the pop-up menu.

42. Select the newly created application pool in the Application Pool field.

43. Click OK.

44. Restart the node.

SecurityXML requests communicate with the batch system through the asp pages. Windows-based permissions can be associated with each and every one of these asp pages. These permissions are assigned by the system administrator. If anonymous access (all users utilize an anonymous account) is to be used, the administrator can decide which user should be impersonated by the anonymous account and set the permissions of the user as required. Use the IIS Internet services manager to access and edit permission settings.

Page 409: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 409

Appendix K BatchML XML Interface

IntroductionABB has, in addition to Batch Management, a number of previous batch systems whose procedures need to be converted for use in the latest version of Batch Management. In order to make this possible, Batch Management has added support for the exporting and importing of recipes in BatchML XML format. The BatchML (Batch Markup Language) is a specification produced by the WBF (World Batch Forum). It is derived from the UML (Unified Modeling Language) diagrams in the ISA-88.01 and the ISA-88.00.02 specifications.

In Batch Management, recipes and recipe building blocks are represented as aspect objects in the Procedure Structure.

During the import of a recipe procedure, a corresponding aspect object is created and configured. Some of the BatchML-defined attributes lack a corresponding counterpart in Batch Management and some of the features that Batch Management provides lack a counterpart in the BatchML specification.

The BatchML specification has been extended to include Batch Management specific information (such as the definition of different kind of BMAs). ABB specific elements belong to the "abb" namespace.

Only the recipe model is supported. Only three top level XML-elements are supported:

• BatchInformation - The BatchInformation element is only used as a container of a MasterRecipe or RecipeBuildingBlock.

• MasterRecipe - The MasterRecipe element represents a complete recipe, corresponding to a Recipe Procedure object in the Procedure Structure.

Page 410: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Exporting Procedures Appendix K BatchML XML Interface

410 3BUA000146R4101

• RecipeBuildingBlock - The RecipeBuildingBlock element represents one of the following objects:Recipe ProcedureException ProcedureUnit ProcedureOperationPhase

Exporting ProceduresTo export procedures from Batch Management in XML format:

1. Right click the procedure aspect being exported.

2. Select Export Procedure in the pop-up menu.

3. Specify the name of the file that will contain the exported procedure in the standard Windows Save As window.

4. Click Save.

All procedures linked to an exported procedure must also be exported.

Importing ProceduresTo import procedures (in XML format) into Batch Management:

1. Select Start > ... > ABB Industrial IT 800xA > Production Mgmt - Batch > Procedure Import.

2. Select the procedure file to be imported in the Procedure Import window.

3. Click Import.

Import all the exported procedures linked to the imported procedure.

Functional MappingThe following subsections describe the XML coding of parameters, header, standard operating procedure, and recipe elements.

Page 411: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Parameters

3BUA000146R4101 411

Parameters

In BatchML, parameters are specified under the Formula element. Batch Management supports five different kinds of parameters (Figure 151). The one exception is phase objects that only support the string, integer and float parameters.

String Parameters

A string parameter and the corresponding XML code are shown in Figure 152 and the following text.

<Parameter><ID>myString</ID><Description>my string description</Description>

TC06342A

Figure 151. Available BatchML Parameters

TC06344A

Figure 152. String Parameter Configuration

Page 412: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Appendix K BatchML XML Interface

412 3BUA000146R4101

<ParameterType>ProcessInput</ParameterType><Value>

<ValueString>I love ABB!</ValueString><DataInterpretation>Constant</DataInterpretation><DataType>string</DataType><UnitOfMeasure></UnitOfMeasure>

</Value></Parameter>

Float Parameters

A float parameter and the corresponding XML code are shown in Figure 153 and the following text.

<Parameter><ID>myFloat</ID><Description>my float description</Description><ParameterType>ProcessInput</ParameterType>

<Value><ValueString>0.0</ValueString><DataInterpretation>Constant</DataInterpretation><DataType>float</DataType><UnitOfMeasure>ms</UnitOfMeasure>

</Value>

TC06345A

Figure 153. Float Parameter Configuration

Page 413: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Parameters

3BUA000146R4101 413

<Any><abb:ParameterLimits>

<abb:DefaultValueString>33.0</abb:DefaultValueString><abb:MinValueString>0.0</abb:MinValueString><abb:MaxValueString>100.0</abb:MaxValueString>

</abb:ParameterLimits></Any>

</Parameter>

Integer Parameters

An integer parameter and the corresponding XML code are shown in Figure 154 and the following text.

<Parameter><ID>myInteger</ID><Description>my integer description</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString></ValueString><DataInterpretation>Constant</DataInterpretation><DataType>integer</DataType><UnitOfMeasure>l</UnitOfMeasure>

</Value><Any>

TC06346A

Figure 154. Integer Parameter Configuration

Page 414: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameters Appendix K BatchML XML Interface

414 3BUA000146R4101

<abb:ParameterLimits><abb:DefaultValueString>50</abb:DefaultValueString><abb:MinValueString>0</abb:MinValueString><abb:MaxValueString>100</abb:MaxValueString>

</abb:ParameterLimits></Any>

</Parameter>

List Parameters

A list parameter and the corresponding XML code are shown in Figure 155 and the following text.

<Parameter><ID>myList</ID><Description>A list of values</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString></ValueString><DataInterpretation>Constant</DataInterpretation><DataType>string</DataType>

TC06347A

Figure 155. List Parameter Configuration

Page 415: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Parameters

3BUA000146R4101 415

<UnitOfMeasure>relation with spouse</UnitOfMeasure></Value><Any>

<abb:ParameterListValues><abb:ListValueString Default="Yes">loves

</abb:ListValueString><abb:ListValueString>loves not</abb:ListValueString>

</abb:ParameterListValues></Any>

</Parameter>

Equipment Parameters

An equipment parameter and the corresponding XML code are shown in Figure 156 and the following text.

<Parameter><ID>myEquipmentList</ID><Description>A list of equipments</Description><ParameterType>ProcessInput</ParameterType><ParameterSubType>EquipmentList</ParameterSubType>

TC06348A

Figure 156. Equipment Parameter Configuration

Page 416: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Header Appendix K BatchML XML Interface

416 3BUA000146R4101

<Value><ValueString></ValueString><DataInterpretation>Constant</DataInterpretation><DataType>string</DataType><UnitOfMeasure></UnitOfMeasure>

</Value><Any>

<abb:ParameterListValues><abb:ListValueString>my equipment group

</abb:ListValueString><abb:ListValueString Default="Yes">myTank

</abb:ListValueString><abb:ListValueString>myTank2</abb:ListValueString>

</abb:ParameterListValues></Any>

</Parameter>

Header

The header configuration contains a short description and a long description. The header contents are defined in the Header element, using the OneLineDescription element for the short description and the VerboseDescription element for the detailed description. The layout of the message is identical to how it is laid out in the XML file (Figure 157).

The description and header text in XML code is shown in the following text.<Any>

<<abb:OneLineDescription>ABB Ldt. Original Recipe for Success (C)

</abb:OneLineDescription><abb:VerboseDescription>The most important factor if you

want to succeed with your recipeimport is to understand the target of your import. Start by learningthe ABB Produce IT Batch product. The second factor is to limit youexport to the syntax subset that will actually be imported.

The easiest way to get started is to start simple by looking at the example files, then handcodefiles simulting you export

Page 417: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Standard Operating Procedure

3BUA000146R4101 417

from a different system until you get it to work. If you reach this point it should be a breeze to make a tool that generatesimport files.

</abb:VerboseDescription><Any>

Standard Operating Procedure

The SOP section is defined in the Header section, together with the header description. The same rules apply as when writing the message using the user interface (using the SECTION to define sections). Refer to Figure 158.</Any>

<abb:SOP>SECTION PROLOGFrodo was a hob.He could count to ten.He had no wife.SECTION CHAPTER 1Nor did he have any kids.But his friends loved himIn fact, his friends were his family.

TC06349A

Figure 157. Header Text Layout

Page 418: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

418 3BUA000146R4101

SECTION EPILOG</abb:SOP>

</Any>

Recipe Elements

Figure 159 shows an example master recipe.

The following subsections describe the available recipe elements.

Start Element

The start element XML code is shown in the following text.

<Step><ID>Start</ID><RecipeElementID>RE1</RecipeElementID><RecipeElementVersion></RecipeElementVersion>

</Step>

<RecipeElement><ID>RE1</ID><RecipeElementType>Begin</RecipeElementType>

</RecipeElement

TC06350A

Figure 158. SOP Header Description

Page 419: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 419

End Element

An end element code is shown in the following text.

<Step><ID>End</ID><RecipeElementID>RE2</RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:X>48</abb:X><abb:Y>46</abb:Y>

</abb:StepInfo></Any>

<RecipeElement><ID>RE2</ID><RecipeElementType>End</RecipeElementType>

</RecipeElement>

TC06351A

Figure 159. Example Master Recipe

Page 420: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

420 3BUA000146R4101

Transition Element

A transition element and the corresponding XML code are shown in Figure 160 and the following text.

<Transition><ID>B</ID><Condition>NO</Condition><Any>

<abb:TransitionInfo><abb:Label>No!</abb:Label><abb:X>48</abb:X><abb:Y>54</abb:Y>

</abb:TransitionInfo></Any>

</Transition>

Recipe Procedure Element

A recipe procedure element and the corresponding XML code are shown in Figure 161 and the following text. <Step>

<ID>A</ID><RecipeElementID>RE2</RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>Recipe Procedure</abb:StepType><abb:Label>recipe procedure</abb:Label><abb:ObjectName>05 Recipe Procedure</abb:ObjectName><abb:ProcedureRestartPoint>YES

</abb:ProcedureRestartPoint>

TC06352A

Figure 160. Transition Element Configuration

Page 421: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 421

<abb:Note>small note attached to the element

</abb:Note></abb:StepInfo>

</Any></Step>

<RecipeElement><ID>RE2</ID><RecipeElementType>Procedure</RecipeElementType>

</RecipeElement>

Unit Procedure Element

A unit procedure element and the corresponding XML code are shown in Figure 162 and the following text. <Step>

<ID>B</ID><RecipeElementID>RE3</RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>Unit Procedure</abb:StepType><abb:Label>unit procedure</abb:Label><abb:ObjectName>03 Unit Procedure</abb:ObjectName><abb:ProcedureRestartPoint>YES

</abb:ProcedureRestartPoint><abb:Note>small note attached to the element

TC06353A

Figure 161. Recipe Procedure Element Assignment

Page 422: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

422 3BUA000146R4101

</abb:Note>

</abb:StepInfo></Any>

</Step>

<RecipeElement><ID>RE3</ID><RecipeElementType>UnitProcedure</RecipeElementType>

</RecipeElement>

Operation Element

An operation element and the corresponding XML code are shown in Figure 163 and the following text. <Step>

<ID>C</ID><RecipeElementID>RE4</RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>Operation</abb:StepType><abb:Label>operation</abb:Label><abb:ObjectName>02 Operation</abb:ObjectName><abb:ProcedureRestartPoint>YES

</abb:ProcedureRestartPoint><abb:Note>small note attached to the element

</abb:Note>

TC06354A

Figure 162. Unit Procedure Element Assignment

Page 423: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 423

</abb:StepInfo>

</Any></Step>

<RecipeElement><ID>RE4</ID><RecipeElementType>Operation</RecipeElementType>

</RecipeElement>

Phase Element

A phase element and the corresponding XML code are shown in Figure 164 and the following text. <Step>

<ID>D</ID><RecipeElementID>RE5</RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>Phase</abb:StepType><abb:Label>phase</abb:Label><abb:ProcedureRestartPoint>YES

</abb:ProcedureRestartPoint><abb:PhaseAlias>myPhaseAlias</abb:PhaseAlias><abb:Equipment>myTank</abb:Equipment>

TC06355A

Figure 163. Operation Element Assignment

Page 424: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

424 3BUA000146R4101

<abb:Note>small note attached to the element

</abb:Note></abb:StepInfo>

</Any></Step>

<RecipeElement><ID>RE5</ID><RecipeElementType>Phase</RecipeElementType>

</RecipeElement>

Exception Procedure Element

An exception procedure element and the corresponding XML code are shown in Figure 165 and the following text. <Step>

<ID>E</ID><RecipeElementID>RE6</RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>Exception Procedure</abb:StepType><abb:Label>exception procedure</abb:Label><abb:ObjectName>04 Exception Procedure

TC06356A

Figure 164. Phase Element Assignment

Page 425: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 425

</abb:ObjectName>

<abb:ProcedureRestartPoint>YES</abb:ProcedureRestartPoint>

<abb:Note>small note attached to the element</abb:Note>

</abb:StepInfo></Any>

</Step>

<RecipeElement><ID>RE6</ID><RecipeElementType OtherValue="ExceptionProcedure">Other

</RecipeElementType></RecipeElement>

Links (Arrows)

A arrow link element and the corresponding XML code are shown in Figure 166 and the following text. <Link>

<ID>Link1</ID><FromID>

<FromIDValue>Start</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><ToID>

TC06357A

Figure 165. Exception Procedure Element Assignment

Page 426: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

426 3BUA000146R4101

<ToIDValue>A</ToIDValue><ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><LinkType>ControlLink</LinkType>

<Depiction>LineAndArrow</Depiction></Link>

<Link><ID>Link2</ID><FromID>

<FromIDValue>A</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><ToID>

<ToIDValue>End</ToIDValue><ToType>Step</ToType><IDScope>Internal</IDScope>

TC06358A

Figure 166. Arrow Link Element

Page 427: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 427

</ToID><LinkType>ControlLink</LinkType><Depiction>LineAndArrow</Depiction>

</Link>

Parallel Divergent/Convergent

Parallel divergent and parallel convergent elements and their corresponding XML code are shown in Figure 167 and the following text.

<Link><ID>Divergent</ID><FromID>

<FromIDValue>Start</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><ToID>

<ToIDValue>A</ToIDValue>

TC06359A

Figure 167. Parallel Divergent/Convergent Elements

Page 428: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

428 3BUA000146R4101

<ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><ToID>

<ToIDValue>B</ToIDValue><ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><LinkType>ParallelDivergent</LinkType><Depiction>LineAndArrow</Depiction><Any>

<abb:LinkInfo><abb:X>48</abb:X><abb:Y>62</abb:Y>

</abb:LinkInfo></Any>

</Link>

<Link><ID>Convergent</ID><FromID>

<FromIDValue>A</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope></FromID>

<FromID><FromIDValue>B</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><ToID>

<ToIDValue>End</ToIDValue><ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><LinkType>ParallelConvergent</LinkType><Depiction>LineAndArrow</Depiction><Any>

<abb:LinkInfo><abb:X>48</abb:X>

Page 429: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 429

<abb:Y>46</abb:Y></abb:LinkInfo>

</Any></Link>

Serial Divergent/Convergent

Serial divergent and serial convergent link elements and their corresponding XML code are shown in Figure 168 and the following text.

<Link><ID>Divergent</ID><FromID>

<FromIDValue>Start</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><ToID>

<ToIDValue>A</ToIDValue>

Tc06360A

Figure 168. Serial Divergent/Convergent Elements

Page 430: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

430 3BUA000146R4101

<ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><ToID>

<ToIDValue>B</ToIDValue><ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><LinkType>SerialDivergent</LinkType><Depiction>LineAndArrow</Depiction><Any>

<abb:LinkInfo><abb:X>48</abb:X><abb:Y>62</abb:Y>

</abb:LinkInfo></Any>

</Link><Link><ID>Convergent</ID><FromID>

<FromIDValue>A</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><FromID>

<FromIDValue>B</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><ToID>

<ToIDValue>End</ToIDValue><ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><LinkType>SerialConvergent</LinkType><Depiction>LineAndArrow</Depiction><Any>

<abb:LinkInfo><abb:X>48</abb:X><abb:Y>46</abb:Y>

Page 431: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 431

</abb:LinkInfo></Any>

</Link>

Select Equipment BMA

Figure 169 shows an example procedure. A select equipment element and the corresponding XML code are shown in Figure 170 and the following text.

<Step><ID>B</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion>

TC06361A

Figure 169. Example Procedure

Page 432: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

432 3BUA000146R4101

<Any><abb:StepInfo>

<abb:StepType>BMA</abb:StepType><abb:Label>select equipment</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:SelectEquipment>

<abb:EquipmentParameter>myEquipment</abb:EquipmentParameter><abb:CostFactor>1</abb:CostFactor></abb:SelectEquipment>

</abb:BMAInfo></Any>

</Step>

Deselect Equipment BMA

A deselect equipment element and the corresponding XML code are shown in Figure 171 and the following text.

tc06362A

Figure 170. Select Equipment Element Configuration

TC06363A

Figure 171. Deselect Equipment Element Configuration

Page 433: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 433

<Step><ID>C</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>deselect equipment</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:DeselectEquipment><abb:EquipmentParameter>myEquipment

</abb:EquipmentParameter></abb:DeselectEquipment>

</abb:BMAInfo></Any>

</Step>

Acquire Equipment BMA

An acquire equipment element and the corresponding XML code are shown in Figure 172 and the following text.

<Step><ID>D</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo>

TC06364A

Figure 172. Acquire Equipment Element Configuration

Page 434: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

434 3BUA000146R4101

<abb:StepType>BMA</abb:StepType><abb:Label>acquire equipment</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:AcquireEquipment><abb:Equipment>myEquipment</abb:Equipment><abb:Equipment>myEquipment2</abb:Equipment>

</abb:AcquireEquipment></abb:BMAInfo>

</Any></Step>

Release Equipment BMA

A release equipment element and the corresponding XML code are shown in Figure 173 and the following text.

<Step><ID>E</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>release equipment</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:ReleaseEquipment>

TC06365A

Figure 173. Release Equipment Element Configuration

Page 435: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 435

<abb:Equipment>myEquipment</abb:Equipment><abb:Equipment>myEquipment2</abb:Equipment>

</abb:ReleaseEquipment></abb:BMAInfo>

</Any></Step>

Reserve Equipment BMA

A reserve equipment element and the corresponding XML code are shown in Figure 174 and the following text.

<Step><ID>F</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>reserve equipment</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:ReserveEquipment><abb:Equipment>myEquipment</abb:Equipment><abb:Equipment>myEquipment2</abb:Equipment>

</abb:ReserveEquipment></abb:BMAInfo>

</Any></Step>

TC06366A

Figure 174. Reserve Equipment Element Configuration

Page 436: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

436 3BUA000146R4101

Unreserve Equipment BMA

An unreserve equipment element and the corresponding XML code are shown in Figure 175 and the following text.

<Step><ID>G</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>unreserve equipment</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:UnreserveEquipment><abb:Equipment>myEquipment</abb:Equipment><abb:Equipment>myEquipment2</abb:Equipment>

</abb:UnreserveEquipment></abb:BMAInfo>

</Any></Step>

Message BMA

A message element and the corresponding XML code are shown in Figure 176, Figure 177, and the following text.

TC06367A

Figure 175. Unreserve Equipment Element Configuration

Page 437: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 437

For explanation purposes only, additional figures are referenced in the following XML code. These references are not intended for use in actual XML code.<Step>

<ID>H</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>message</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:Message>

TC06368A

Figure 176. Message Element Configuration

TC06369A

Figure 177. Message Configuration

Page 438: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

438 3BUA000146R4101

<abb:MessageHeader>Important message!</abb:MessageHeader>

<abb:MessageBody><abb:MessageElement>

<abb:Type>Text</abb:Type><abb:Prompt>a text Prompt</abb:Prompt><abb:Label>a text Label</abb:Label><abb:Default>a text default</abb:Default><abb:List>a text list</abb:List>

<abb:Validation>a text validation</abb:Validation>

<abb:Variable>a text varible</abb:Variable></abb:MessageElement><abb:MessageElement>

<abb:Type>List</abb:Type><abb:Prompt>a list Prompt</abb:Prompt><abb:Label>a list Label</abb:Label><abb:Default>a list default</abb:Default>

TC06370A

Figure 178. Text Prompt Configuration

TC06371A

Figure 179. List Prompt Configuration

Page 439: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 439

<abb:List>a list list</abb:List><abb:Validation>a list validation

</abb:Validation><abb:Variable>a list variable</abb:Variable>

</abb:MessageElement><abb:MessageElement>

<abb:Type>Yes/No</abb:Type><abb:Prompt>a yes no abb:Prompt</abb:Prompt><abb:Label>a yes no abb:Label</abb:Label><abb:Default>Yes</abb:Default><abb:List>a yes no list</abb:List><abb:Validation>a yes no validation

</abb:Validation><abb:Variable>a yes no variable</abb:Variable>

</abb:MessageElement>

<abb:Type>No Input</abb:Type><abb:Prompt>a no input abb:Prompt</abb:Prompt><abb:Label>a no input abb:Label</abb:Label>

TC06372A

Figure 180. Yes/No Prompt Configuration

TC06373A

Figure 181. No Input Prompt Configuration

Page 440: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

440 3BUA000146R4101

<abb:Default>a no input default</abb:Default><abb:List>a no input list</abb:List>

<abb:Validation>no input validation</abb:Validation>

<abb:Variable>a no input variable</abb:Variable>

</abb:MessageElement><abb:MessageElement>

<abb:Type>Separator</abb:Type><abb:Prompt>separator abb:Prompt</abb:Prompt><abb:Label>separator abb:Label</abb:Label><abb:Default>separator default</abb:Default><abb:List>separator list</abb:List><abb:Validation>separator val</abb:Validation><abb:Variable>separator variable</abb:Variable>

</abb:MessageElement></abb:MessageBody>

</abb:Message></abb:BMAInfo>

</Any></Step>

Data Collection BMA

A data collection element and the corresponding XML code are shown in Figure 183, Figure 184, and the following text. <Step>

ID>I</ID><RecipeElementID></RecipeElementID>

TC06374A

Figure 182. Separator Prompt Configuration

Page 441: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 441

<RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>data collection</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:DataCollection><abb:DataCollectionElement>

<abb:LogicalName>Value</abb:LogicalName><abb:OPCItem>"AI117:VALUE"</abb:OPCItem><abb:DataCollectionRate>Start

</abb:DataCollectionRate></abb:DataCollectionElement><abb:DataCollectionElement>

TC06375A

Figure 183. Data Collection Element Configuration

TC06376A

Figure 184. Data Collection Configuration

Page 442: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

442 3BUA000146R4101

<abb:LogicalName>Status</abb:LogicalName><abb:OPCItem>"AI117:STATUS"</abb:OPCItem><abb:DataCollectionRate>Stop

</abb:DataCollectionRate></abb:DataCollectionElement><abb:DataCollectionElement>

<abb:LogicalName>Name</abb:LogicalName><abb:OPCItem>"AI117:NAME"</abb:OPCItem><abb:DataCollectionRate>Once

</abb:DataCollectionRate></abb:DataCollectionElement>

</abb:DataCollection></abb:BMAInfo>

</Any></Step>

Set SOP Section BMA

A set SOP section element and the corresponding XML code are shown in Figure 185 and the following text.

<Step><ID>J</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>set SOP section</abb:Label>

TC06377A

Figure 185. Set SOP Section Element Configuration

Page 443: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 443

</abb:StepInfo><abb:BMAInfo>

<abb:SetSOPSection><abb:SOPSection>"CHAPTER 1"</abb:SOPSection>

</abb:SetSOPSection></abb:BMAInfo>

</Any></Step>

Compute BMA

A compute element and the corresponding XML code are shown in Figure 186, Figure 187, and the following text.

<Step><ID>K</ID>

TC06378A

Figure 186. Compute Element Configuration

TC06379A

Figure 187. Expression Configuration

Page 444: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

444 3BUA000146R4101

<RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Description></Description><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>compute</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:Compute><abb:Expression>1</abb:Expression><abb:Expression>2</abb:Expression><abb:Expression>3</abb:Expression><abb:Expression>4</abb:Expression>

</abb:Compute></abb:BMAInfo>

</Any></Step>

Command BMA

A command element and the corresponding XML code are shown in Figure 188 and the following text.

<Step><ID>L</ID>

TC06380A

Figure 188. Command Element Configuration

Page 445: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 445

<RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>command</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:Command><abb:Command>"sleep 1"</abb:Command><abb:Status>Status</abb:Status><abb:Output>Output</abb:Output><abb:Errors>Errors</abb:Errors>

</abb:Command></abb:BMAInfo>

</Any></Step>

Print Report BMA

A print report element and the corresponding XML code are shown in Figure 189 and the following text.

<Step><ID>M</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo>

TC06381A

Figure 189. Print Report Element Configuration

Page 446: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Recipe Elements Appendix K BatchML XML Interface

446 3BUA000146R4101

<abb:StepType>BMA</abb:StepType><abb:Label>print report</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:PrintReport><abb:Report>Output</abb:Report>

</abb:PrintReport></abb:BMAInfo>

</Any></Step>

Schedule Job BMA

A schedule job element and the corresponding XML code are shown in Figure 190 and the following text.

<Step><ID>N</ID><RecipeElementID></RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>BMA</abb:StepType><abb:Label>schedule job</abb:Label>

</abb:StepInfo><abb:BMAInfo>

<abb:ScheduleJob><abb:ScheduleJobElement>

<abb:JobName>myJobName</abb:JobName><abb:JobGUID>myJobGUID</abb:JobGUID>

TC06382A

Figure 190. Schedule Job Element Configuration

Page 447: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Recipe Elements

3BUA000146R4101 447

<abb:ScheduleAt>Now</abb:ScheduleAt></abb:ScheduleJobElement>

</abb:ScheduleJob></abb:BMAInfo>

</Any></Step>

Extension Action Element

An extension action element and the corresponding XML code are shown in Figure 191 and the following text.

<Step><ID>8</ID>

<RecipeElementID>RE8</RecipeElementID><RecipeElementVersion /><Description /><Any>

<abb:StepInfo><abb:StepType>ExtensionAction</abb:StepType><abb:Label>ExtensionAction</abb:Label><abb:X>32</abb:X><abb:Y>43.8724</abb:Y><abb:ProcedureRestartPoint>YES

TC08032A

Figure 191. Extension Action Element Configuration

Page 448: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Parameter Mapping Appendix K BatchML XML Interface

448 3BUA000146R4101

</abb:ProcedureRestartPoint><abb:ExtensionActionObjectId>{4983513E-B030-4659

-8E6B-FA644358D575}</abb:ExtensionActionObjectId><abb:ExtensionActionAspectId>{26720EC4-AC75-4CA8

-A811-21F47DE89452}</abb:ExtensionActionAspectId><abb:ActionName>LoopOne</abb:ActionName><abb:ActionId>{FA792AD4-58DB-42A8-8F72

-D006C4BD1714}</abb:ActionId><abb:ActionDefinition>EAD

Aspect</abb:ActionDefinition><abb:Alias>"LoopOne"</abb:Alias><abb:Mode /><abb:Param>LoopCount;60</abb:Param>

</abb:StepInfo></Any>

</Step>

Parameter Mapping

Example parameter mapping and the corresponding XML code are shown in Figure 192 and the following text.

<RecipeElement><ID>RE2</ID><RecipeElementType>Operation</RecipeElementType><Parameter>

<ID>myOperationString</ID>

TC06383A

Figure 192. Example Parameter Mapping

Page 449: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Parameter Mapping

3BUA000146R4101 449

<Description>string description</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString>"Hello Bilbo!"</ValueString><DataInterpretation>Constant</DataInterpretation><DataType>string</DataType><UnitOfMeasure></UnitOfMeasure>

</Value></Parameter><Parameter>

<ID>myOperationFloat</ID><Description>float value description</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString>myUnitProcedureFloat</ValueString><DataInterpretation>Reference</DataInterpretation><DataType>float</DataType><UnitOfMeasure>ms</UnitOfMeasure>

</Value></Parameter><Parameter>

<ID>myOperationInteger</ID><Description>integer descriptiption</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString>myUnitProcedureInteger</ValueString><DataInterpretation>Reference</DataInterpretation><DataType>integer</DataType><UnitOfMeasure>l</UnitOfMeasure>

</Value><Scaled>No</Scaled>

</Parameter><Parameter>

<ID>myOperationList</ID><Description>list of values</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString>myUnitProcedureList</ValueString><DataInterpretation>Reference</DataInterpretation><DataType>string</DataType>

Page 450: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix K BatchML XML Interface

450 3BUA000146R4101

<UnitOfMeasure>Countdown</UnitOfMeasure></Value>

</Parameter></RecipeElement>

XML SchemaThe following code documents the extensions made to the BatchML v02 schema which defines the formats used by the supported read and write messages and the responses they generate.

<?xml version="1.0" encoding="UTF-8" ?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.cle.us.abb.com/BatchML-V02" xmlns="http://www.cle.us.abb.com/BatchML-V02" elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:complexType name="StepInfoType"><xsd:sequence>

<xsd:element name="StepType" type="xsd:string"minOccurs="0" maxOccurs="1" />

<xsd:element name="Label" type="xsd:string"minOccurs="0" maxOccurs="1" />

<xsd:element name="X" type="xsd:float" minOccurs="0"maxOccurs="1" />

<xsd:element name="Y" type="xsd:float" minOccurs="0"maxOccurs="1" />

<xsd:element name="ObjectName" type="xsd:string"minOccurs="0" maxOccurs="1" />

<xsd:element name="ProcedureRestartPoint"type="xsd:string" minOccurs="0"maxOccurs="1" />

<xsd:element name="PhaseAlias" type="xsd:string"minOccurs="0" maxOccurs="1" />

<xsd:element name="Equipment" type="xsd:string"minOccurs="0" maxOccurs="1" />

<xsd:element name="Note" type="xsd:string"minOccurs="0" maxOccurs="1" />

</xsd:sequence>

Page 451: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface XML Schema

3BUA000146R4101 451

</xsd:complexType><xsd:complexType name="TransitionInfoType">

<xsd:sequence><xsd:element name="Label" type="xsd:string"

minOccurs="0" maxOccurs="1" /><xsd:element name="X" type="xsd:float" minOccurs="0"

maxOccurs="1" /><xsd:element name="Y" type="xsd:float" minOccurs="0"

maxOccurs="1" /><xsd:element name="ProcedureRestartPoint"

type="xsd:string" minOccurs="0"maxOccurs="1" />

<xsd:element name="Note" type="xsd:string"minOccurs="0" maxOccurs="1" />

</xsd:sequence></xsd:complexType><xsd:complexType name="LinkInfoType">

<xsd:sequence><xsd:element name="X" type="xsd:float" minOccurs="0"

maxOccurs="1" /><xsd:element name="Y" type="xsd:float" minOccurs="0"

maxOccurs="1" /><xsd:element name="ProcedureRestartPoint"

type="xsd:string" minOccurs="0"maxOccurs="1" />

<xsd:element name="Note" type="xsd:string"minOccurs="0" maxOccurs="1" />

</xsd:sequence></xsd:complexType><xsd:complexType name="ParameterLimitsType">

<xsd:sequence><xsd:element name="DefaultValueString"

type="xsd:string" minOccurs="0"maxOccurs="1" />

<xsd:element name="MinValueString" type="xsd:string"minOccurs="0" maxOccurs="1" />

<xsd:element name="MaxValueString" type="xsd:string"minOccurs="0" maxOccurs="1" />

</xsd:sequence></xsd:complexType>

Page 452: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix K BatchML XML Interface

452 3BUA000146R4101

<xsd:complexType name="ListValueStringType"><xsd:simpleContent>

<xsd:extension base="xsd:string"><xsd:attribute name="Default" default="No" />

</xsd:extension></xsd:simpleContent>

</xsd:complexType><xsd:complexType name="ParameterListValuesType">

<xsd:sequence><xsd:element name="ListValueString"

type="ListValueStringType" minOccurs="0"maxOccurs="unbounded" />

</xsd:sequence></xsd:complexType><xsd:complexType name="ParameterChecksType">

<xsd:sequence><xsd:element name="Expression" type="xsd:string"

minOccurs="0" maxOccurs="unbounded" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="MessageElementType">

<xsd:sequence><xsd:element name="Type" type="xsd:string"

minOccurs="1" /><xsd:element name="Prompt" type="xsd:string" /><xsd:element name="Label" type="xsd:string" /><xsd:element name="Default" type="xsd:string" /><xsd:element name="List" type="xsd:string" /><xsd:element name="Validation" type="xsd:string" /><xsd:element name="Variable" type="xsd:string" />

</xsd:sequence></xsd:complexType><xsd:complexType name="MessageBodyType">

<xsd:sequence><xsd:element name="MessageElement"

type="MessageElementType" minOccurs="1"maxOccurs="unbounded" />

</xsd:sequence></xsd:complexType><xsd:complexType name="DataCollectionElementType">

Page 453: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface XML Schema

3BUA000146R4101 453

<xsd:sequence><xsd:element name="LogicalName" type="xsd:string"

minOccurs="1" maxOccurs="1" /><xsd:element name="OPCItem" type="xsd:string"

minOccurs="1" maxOccurs="1" /><xsd:element name="DataCollectionRate"

type="xsd:string" minOccurs="1"maxOccurs="1" />

</xsd:sequence></xsd:complexType><xsd:complexType name="ScheduleJobElementType">

<xsd:sequence><xsd:element name="JobName" type="xsd:string"

minOccurs="1" maxOccurs="1" /><xsd:element name="JobGUID" type="xsd:string"

minOccurs="1" maxOccurs="1" /><xsd:element name="ScheduleAt" type="xsd:string"

minOccurs="1" maxOccurs="1" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="AcquireType">

<xsd:sequence><xsd:element name="Equipment" type="xsd:string"

minOccurs="1" maxOccurs="unbounded" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="ReleaseType">

<xsd:sequence><xsd:element name="Equipment" type="xsd:string"

minOccurs="1" maxOccurs="unbounded" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="SelectType">

<xsd:sequence><xsd:element name="EquipmentParameter"

type="xsd:string" minOccurs="1" /><xsd:element name="CostFactor" type="xsd:string" />

</xsd:sequence></xsd:complexType><xsd:complexType name="DeselectType">

Page 454: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

XML Schema Appendix K BatchML XML Interface

454 3BUA000146R4101

<xsd:sequence><xsd:element name="EquipmentParameter"

type="xsd:string" minOccurs="1" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="ReserveType">

<xsd:sequence><xsd:element name="Equipment" type="xsd:string"

minOccurs="1" maxOccurs="unbounded" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="UnreserveType">

<xsd:sequence><xsd:element name="Equipment" type="xsd:string"

minOccurs="1" maxOccurs="unbounded" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="MessageType">

<xsd:sequence><xsd:element name="MessageHeader" type="xsd:string"

minOccurs="1" maxOccurs="1" /><xsd:element name="MessageBody" type="MessageBodyType"

minOccurs="0" maxOccurs="1" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="DataCollectionType">

<xsd:sequence><xsd:element name="DataCollectionElement"

type="DataCollectionElementType"minOccurs="1" maxOccurs="unbounded" />

</xsd:sequence></xsd:complexType><xsd:complexType name="SetSOPSectionType">

<xsd:sequence><xsd:element name="SOPSection" type="xsd:string" />

</xsd:sequence></xsd:complexType><xsd:complexType name="ComputeType">

<xsd:sequence><xsd:element name="Expression" type="xsd:string"

Page 455: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface XML Schema

3BUA000146R4101 455

minOccurs="1" maxOccurs="unbounded" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="CommandType">

<xsd:sequence><xsd:element name="Command" type="xsd:string" /><xsd:element name="Status" type="xsd:string"

minOccurs="0" /><xsd:element name="Output" type="xsd:string"

minOccurs="0" /><xsd:element name="Errors" type="xsd:string"

minOccurs="0" /></xsd:sequence>

</xsd:complexType><xsd:complexType name="PrintReportType">

<xsd:sequence><xsd:element name="Report" type="xsd:string" />

</xsd:sequence></xsd:complexType><xsd:complexType name="ScheduleJobType">

<xsd:sequence><xsd:element name="ScheduleJobElement"

type="ScheduleJobElementType"minOccurs="1" maxOccurs="unbounded" />

</xsd:sequence></xsd:complexType><xsd:complexType name="BMAInfoType">

<xsd:choice><xsd:element name="AcquireEquipment"

type="AcquireType" /><xsd:element name="ReleaseEquipment"

type="ReleaseType" /><xsd:element name="SelectEquipment"

type="SelectType"/><xsd:element name="DeselectEquipment"

type="DeselectType" /><xsd:element name="ReserveEquipment"

type="ReserveType"/><xsd:element name="UnreserveEquipment"

type="UnreserveType" />

Page 456: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Simple Example Appendix K BatchML XML Interface

456 3BUA000146R4101

<xsd:element name="Message" type="MessageType" /><xsd:element name="DataCollection"

type="DataCollectionType" /><xsd:element name="SetSOPSection"

type="SetSOPSectionType" /><xsd:element name="Compute" type="ComputeType" /><xsd:element name="Command" type="CommandType" /><xsd:element name="PrintReport"

type="PrintReportType" /><xsd:element name="ScheduleJob"

type="ScheduleJobType" /></xsd:choice>

</xsd:complexType><xsd:simpleType name="ObjectIdType">

<xsd:restriction base="xsd:string"></xsd:restriction></xsd:simpleType><xsd:element name="StepInfo" type="StepInfoType" /><xsd:element name="TransitionInfo"

type="TransitionInfoType" /><xsd:element name="LinkInfo" type="LinkInfoType" /><xsd:element name="ParameterLimits"

type="ParameterLimitsType" /><xsd:element name="ParameterListValues"

type="ParameterListValuesType" /><xsd:element name="SOP" type="xsd:string" /><xsd:element name="OneLineDescription" type="xsd:string" /><xsd:element name="VerboseDescription" type="xsd:string" /><xsd:element name="BMAInfo" type="BMAInfoType" /><xsd:element name="ParameterChecks"

type="ParameterChecksType" /><xsd:element name="ObjectId" type="ObjectIdType" />

</xsd:schema>

Simple ExampleThe following text is a simple XML example.

<?xml version="1.0" encoding="UTF-8" ?>

Page 457: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Simple Example

3BUA000146R4101 457

<BatchInformation xmlns="http://www.wbf.org/xml/BatchML-V02" xmlns:abb="http://www.cle.us.abb.com/BatchML-V02"><RecipeBuildingBlock>

<RecipeElement><ID>myOperation (simple example)</ID><Description>a small description</Description><RecipeElementType>Operation</RecipeElementType><Parameter>

<ID>myOperationString</ID><Description>string description</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString>Hello World!</ValueString><DataInterpretation>Constant</DataInterpretation><DataType>string</DataType><UnitOfMeasure></UnitOfMeasure>

</Value></Parameter><Parameter>

<ID>myOperationFloat</ID><Description>float value description</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString></ValueString><DataInterpretation>Constant</DataInterpretation><DataType>float</DataType><UnitOfMeasure>ms</UnitOfMeasure>

</Value><Any>

<abb:ParameterLimits><abb:DefaultValueString>33.0

</abb:DefaultValueString><abb:MinValueString>0.0</abb:MinValueString>

<abb:MaxValueString>100.0</abb:MaxValueString></abb:ParameterLimits></Any>

</Parameter><Parameter>

<ID>myOperationInteger</ID><Description>integer descriptiption</Description>

Page 458: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Simple Example Appendix K BatchML XML Interface

458 3BUA000146R4101

<ParameterType>ProcessInput</ParameterType><Value>

<ValueString></ValueString><DataInterpretation>Constant</DataInterpretation><DataType>integer</DataType><UnitOfMeasure>l</UnitOfMeasure>

</Value><Any>

<abb:ParameterLimits><abb:DefaultValueString>50

</abb:DefaultValueString><abb:MinValueString>0</abb:MinValueString>

<abb:MaxValueString>100</abb:MaxValueString></abb:ParameterLimits>

</Any></Parameter><Parameter>

<ID>myOperationList</ID><Description>list of values</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString></ValueString><DataInterpretation>Constant</DataInterpretation><DataType>string</DataType><UnitOfMeasure>Countdown</UnitOfMeasure><EnumerationSetID></EnumerationSetID>

</Value><Any>

<abb:ParameterListValues><abb:ListValueString>One</abb:ListValueString><abb:ListValueString>Two</abb:ListValueString><abb:ListValueString Default="Yes">Three

</abb:ListValueString><abb:ListValueString>Four</abb:ListValueString>

</abb:ParameterListValues></Any>

</Parameter><ProcedureLogic>

<Link><ID>Link1</ID>

Page 459: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Simple Example

3BUA000146R4101 459

<FromID><FromIDValue>Start</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><ToID>

<ToIDValue>A</ToIDValue><ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><LinkType>ControlLink</LinkType><Depiction>LineAndArrow</Depiction>

</Link><Link>

<ID>Link2</ID><FromID>

<FromIDValue>A</FromIDValue><FromType>Step</FromType><IDScope>Internal</IDScope>

</FromID><ToID>

<ToIDValue>End</ToIDValue><ToType>Step</ToType><IDScope>Internal</IDScope>

</ToID><LinkType>ControlLink</LinkType><Depiction>LineAndArrow</Depiction>

</Link><Step>

<ID>Start</ID><RecipeElementID>RE1</RecipeElementID><RecipeElementVersion></RecipeElementVersion

</Step><Step>

<ID>A</ID><RecipeElementID>RE2</RecipeElementID><RecipeElementVersion></RecipeElementVersion><Any>

<abb:StepInfo><abb:StepType>Phase</abb:StepType>

Page 460: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Simple Example Appendix K BatchML XML Interface

460 3BUA000146R4101

<abb:Label>myPhaseLbl</abb:Label><abb:ObjectName></abb:ObjectName><abb:PhaseAlias>myPhaseAlias</abb:PhaseAlias><abb:Equipment>myTank</abb:Equipment>

</abb:StepInfo></Any>

</Step><Step>

<ID>End</ID><RecipeElementID>RE3</RecipeElementID><RecipeElementVersion></RecipeElementVersion>

</Step></ProcedureLogic><RecipeElement>

<ID>RE1</ID><RecipeElementType>Begin</RecipeElementType>

</RecipeElement><RecipeElement>

<ID>RE2</ID><RecipeElementType>Phase</RecipeElementType><Parameter>

<ID>myPhaseInteger</ID><Description>string description</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString>myOperationInteger</ValueString><DataInterpretation>Reference

</DataInterpretation><DataType>integer</DataType><UnitOfMeasure></UnitOfMeasure>

</Value></Parameter><Parameter>

<ID>myPhaseFloat</ID><Description>float value description</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString>myOperationFloat</ValueString><DataInterpretation>Reference

</DataInterpretation>

Page 461: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Appendix K BatchML XML Interface Simple Example

3BUA000146R4101 461

<DataType>float</DataType><UnitOfMeasure>ms</UnitOfMeasure>

</Value></Parameter><Parameter>

<ID>myPhaseString</ID><Description>integer descriptiption</Description><ParameterType>ProcessInput</ParameterType><Value>

<ValueString>Hello Wickliffe!</ValueString><DataInterpretation>Constant</DataInterpretation><DataType>string</DataType><UnitOfMeasure></UnitOfMeasure>

</Value></Parameter>

</RecipeElement><RecipeElement>

<ID>RE3</ID><RecipeElementType>End</RecipeElementType>

</RecipeElement></RecipeElement>

</RecipeBuildingBlock></BatchInformation>

Page 462: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 463: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101 463

AAbnormal conditions 56AC 800M/C controller 317, 339

Example control system configuration 319, 344

Example controller configuration 318, 340Process 324, 349Process segmenting 325, 350

Acquire equipment 174Alarm & event lists 62Alarm lists 62Allocate equipment 171Approve procedures 131Audit trail 59Authentication 82Automatic batch ID generation 233

Cancel aspect changes 236Configure sequence number 235Create pattern 233Find and replace text 236Find text 235Print pattern 236Save aspect changes 236

BBackup and restore 297Backup procedure versions retained 296Batch cell definition aspect 64 to 65Batch cells 134Batch command interface 279

batch_cbatch command 279batch_chgunit command 282batch_sbatch command 283

Batch data collection 229Batch enable equipment 113

Batch equipment 113Batch equipment aspect 73Batch expression structure 237

Constants 241IF/ELSE syntax 240Operators 238Punctuation 240Text entry format 241

Batch functionsConfiguration

PFC blink rate 294PFC color 292PFC text, block and color 292

Batch functions (built-in) 247Batch ID generation 233Batch manager actions (BMA) 198

Acquire/release equipment 174Assign values from PFC 214Collect data from PFC 208Connect objects on PFC 219Correlate PFC and SOP 218Evaluate expressions from PFC 214Issue commands from PFC 215Message

Color configuration 199Configuration 202Copy 207Create reusable templates 207Delete 206Optional verification 202Preview 206Reorder 206Response access level configuration 202

Print report from PFC 210Provide/request information in a

INDEX

Page 464: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Index

464 3BUA000146R4101

Index

464 3BUA000146R4101

procedure 198Reserve/unreserve equipment 178Schedule job from PFC 211Select/deselect equipment 180

Batch operation access levels 77Batch schedule interface 373Batch settings 288Batch toolbar 312Batch utilities 287

Backup & restore 297Batch report configuration 298Batch toolbar 312Default procedure configuration 294Language localization 305Miscellaneous batch configuration 287

Batch variable and expressions 237BatchCommServer control modules 99BatchCommServerExt control modules 99BatchConnect control modules 99BatchML XML interface 409Blink rate 294Block labels 172Built-in functions 247

Batch 247DBA 253General 255

Built-in variables 258

CCollect data from PFC 208Color configuration

Blink 292Block 292PFC 292Text 292

Command interface 279Configuration overview 30

Batch Management 30Equipment database 31Miscellaneous batch 32

Procedure 31Connector object 219Control recipes 135Copy procedure 131Create procedure 129Cross references 132Custom functions 262

Add 262Cancel 264Configure 263Delete 268Edit 268Save 264Test 267Views 268

Cut procedure 131

DData collection (batch) 229DBA functions (built-in) 253Deallocate equipment 171Default procedure configuration

Blink rate 294Default batch cell 296Retained procedure versions 296Strict S88 option 296

Delete procedure 131Deselect equipment 182Document conventions 22

EEdit procedure 130End objects 169Equipment configuration 87, 109

Batch equipment 113Equipment groups 106, 119Equipment logic 99Equipment phase logic 94, 109Equipment phases 95, 116Procedure phases 87, 110

Page 465: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Index

3BUA000146R4101 465

Equipment groups 106, 119Equipment logic 99Equipment phase logic 94, 109Equipment phases 95, 116Event lists 62Event settings 291Excel spreadsheets 271Exception handling 220Exception logic 227Exception procedure

Add 222Configure 221, 223Monitoring multiple conditions 228Overview 124Runtime characteristics 225

ExpressionsConstants 241Evaluation rules 242IF/ELSE syntax 240Operators 238Overview 37Punctuation 240Structure 237Text entry format 241

Expressions (evaluation rules) 242Extension action blocks 193External historians 313

800xA System 313Information Management 313

Ffpbevtfile() function 274fpbget() function 272fpbgetd() function 272fpbtget() function 273fpubid() function 275Function phase driver 363Function views 268Function wizard 259

Custom functions 262

Add 262Cancel 264Configure 263Delete 268Edit 268Parameters and test variables 264Save 264Search and replace 269Test a function 267Use functions within functions 264Views 268

GGeneral functions (built-in) 255Graphic configuration 277

Batch equipment information 278View a PFC 277View batch status 278View messages 277

HHarmony control system

Process 324, 349Process segmenting 325, 350

History options 289

IIntended users 26

LLanguage localization 305

Batch localization tool 306Native language support procedure 312

Layered procedures 124Licensing 28

MMiscellaneous batch configuration 287

Backup procedure versions 296

Page 466: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Index

466 3BUA000146R4101

Index

466 3BUA000146R4101

Batch message logging 291Default batch cell 296Event settings 291History options 289PFC color configuration 292Retention limits 288S88 option 296Text/block/blink color 292

Miscellaneous batch security aspects 74Multiple condition monitoring 228Multiple procedure paths 197

OOperation procedures 124Operator changes 36Overview

Abnormal conditions 56Audit trail 59Batch 25Configuration 30

Equipment database 31Miscellaneous batch 32Procedure 31

Expressions 37Operator changes 36Parameters 37Runtime operations 33Variables 37Version control 36

PParallel processing 197Parameters 37Paste procedure 131Phases 87, 110Print data from PFC 210Procedure color configuration 292Procedure configuration 134, 168

Acquire equipment 174Allocating & deallocating hardware 171

Batch cells 134Configuring block labels 172Control procedures 135Copy procedure 131Create procedure 129Cut procedure 131Delete procedure 131Deselect equipment 182Elements and actions 170Header 147Parameters 153Paste procedure 131Procedure objects 169Release equipment 176Reserve equipment 178Restart points 170Select equipment 180SOP 149Start and end objects 169Unreserve equipment 179

Procedure configuration window 137File menu 137Options menu 141Select menu 139To access window 130, 137

Procedure function blocks 183Configure extension action blocks 193Configure phase blocks 188Configure procedure blocks 183Configure transition blocks 198Count phase parameters 196Define multiple procedure paths 197Simultaneous processing 197

Procedure handling 128Approve 131Copy 131Cut 131Delete 131Paste 131

Procedure header 147

Page 467: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Index

3BUA000146R4101 467

Procedure object control panel 144Batch manager action (BMA) 146Branch end 147Branch start 146Connector 146End 145Extension action 146Parallel end 146Parallel start 146Phase 145Procedure 145Start 144Transition 147

Procedure parameters 153Add 156

Equipment list type 163Float type 159Integer type 160List type 161String type 160

Change 165Checks 166

Expression editor 166Function wizard 259

Configuration 156Create 166Delete 166Expressions and variables 154

Procedure phases 87, 110Procedure SOP 149

Configuration 150Find a text string 150Import button 153Index button 153Line button 152Replace a text string 151Top and bottom buttons 152

Procedures 121Layered 122, 124Types 122

Batch 123Exception 124Operation 124Unit 123

RRecipe procedure 123Recipes 121Related documents 23Release equipment 176Report configuration 298

Add report configuration 299Copy report configuration 304Delete report configuration 303Edit report configuration 303Introduction option 300Option configuration dump option 300Output procedures option 301Recipe options editor

Add all procedures 302Add procedure 301Delete procedure 302Exit window 302Reset and default buttons 302Select procedure version 302

Report options editorPrint report 303Reset and default buttons 302

Title option 300View report 303

Report configuration with Excel 271Reserve equipment 178Restart points 170Rules for evaluating expressions 242

SS88 compliance 27Security 64

Authentication 82Batch cell definition aspect 65

Page 468: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

Index

468 3BUA000146R4101

Index

468 3BUA000146R4101

Batch equipment aspect 73Batch operation access levels 77Other aspects 74Security definition aspect 64

Security (XML) 408Security definition aspect 64Select equipment 180Sequence number 235Shared equipment communication modules 99Simultaneous processing 197Start objects 169Strict S88 option 296

TTerminology 23

UUnit procedure 123Unreserve equipment 179

VVariables 37Variables (built-in) 258Version control 36, 128Version history 133Views of a function 268

XXML interface

Attributes 373Read messages 374

ReadActiveBatches 375ReadBatchDetails 375ReadBatchOverview 380ReadEquipmentDetails 387ReadProcedureDetails 382ReadProcedures 383ReadTagKeyData 385

Schema 391, 450Security 408Server Internet site 404Write messages 389

Batch_Change_Info 389Batch_Schedule_Info 390Equipment_Change 390

Page 469: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction
Page 470: Industrial 800xA - Production Management Batch  · PDF fileBatch Management Licensing.....28 Section 2 - Description and Operation Introduction

3BUA000146R4101. Printed in Sweden May 2005Copyright © 2003-2005 by ABB. All Rights Reserved® Registered Trademark of ABB.™ Trademark of ABB.

Automation Technology ProductsMannheim, Germanywww.abb.de/controlsystems

Automation Technology Products Wickliffe, Ohio, USAwww.abb.com/controlsystems

Automation Technology ProductsVästerås, Swedenwww.abb.com/controlsystems

http://www.abb.com