IndustrialIT800xA - Production Management
Batch ManagementSystem Version 4.1
Configuration
Configuration
IndustrialIT800xA - Production Management
Batch ManagementSystem Version 4.1
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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????
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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
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
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.
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
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
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
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
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.
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
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
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.
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
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
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
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
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.
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.
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.
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.
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.
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
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
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
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)
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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.
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
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
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
Section 2 Description and Operation Authentication
3BUA000146R4101 85
TC05138A
Figure 16. Example Approve Change Window
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
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.
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.
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.
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.
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
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
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
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.
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.
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.
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.
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.
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
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.
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.
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
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)
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
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.
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
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.
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.
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.).
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
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
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.
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.
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
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
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
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.
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
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
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
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.
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.
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
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
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
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
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.
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.
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.
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
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
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.
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.
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
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
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
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.
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.
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.
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.
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.
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
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
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
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.
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
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.
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‘
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
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
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.
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
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.
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
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
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
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
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
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
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.
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.
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
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.
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
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
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
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
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
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.
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.
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))
}
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).
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
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
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
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
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
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
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
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.
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.
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
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
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.
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
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
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
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
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
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.
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
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.
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
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.
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
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
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
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
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
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
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
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
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.
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.
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.
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
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
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.
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
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
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
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
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.
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
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.
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.
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.
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
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.
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.
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.
Configure an Exception Procedure Section 5 Procedures
224 3BUA000146R4101
TC02310B
Figure 93. Recipe Procedure with an Exception Procedure Block
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)
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
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.
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.
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)
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)
Section 5 Procedures Batch Data Collection
3BUA000146R4101 231
• __RecipeVersion.• __RecipesUsed.
Tag key collected data can also be collected based on procedure and BMA configuration.
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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
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
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
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"))
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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.
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
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.
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
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.
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
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
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).
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.
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.
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)
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.
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.
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
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.
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
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.
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)
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.
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.
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)
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.
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.
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
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.
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).
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
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.
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
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.
Appendix E Batch Utilities Default Procedure Configuration
3BUA000146R4101 295
TC06312A
Figure 110. Manage Batch IDs Tab
TC04586B
Figure 111. Default Procedure Configuration Window
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.
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.
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
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
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
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
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.
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.
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
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
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.
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.
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.
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.
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.
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)
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.
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.
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
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
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
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.
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
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
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.
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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
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.
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
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).
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).
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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) {
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/
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
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/
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"}
}}
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
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
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.
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/>
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>
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>
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>
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/>
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>
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>
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">
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">
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" />
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/>
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>
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>
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.
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.
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).
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"
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" />
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 -->
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="*" />
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" />
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.-->
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" />
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">
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>
<!-- *************************************************************
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 -->
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" />
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
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.
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.
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.
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).
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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>
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>
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">
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">
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"
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" />
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" ?>
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>
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>
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>
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>
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>
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
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
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
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
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
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
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
Top Related