3BUA000146-600 A en System 800xa Batch Management 6.0 Configuration
3BUA000146-600 A en System 800xa Batch Management 6.0 Configuration
3BUA000146-600 A en System 800xa Batch Management 6.0 Configuration
Configuration
System Version 6.0
TRADEMARKS
All rights to copyrights, registered trademarks, and trademarks reside with their respective owners.
Section 1 - Introduction
Intended User...................................................................................................................30
ISA-88 Compliance .........................................................................................................30
Batch Management Licensing .........................................................................................31
3BUA000146-600 A 5
Table of Contents
6 3BUA000146-600 A
Table of Contents
3BUA000146-600 A 7
Table of Contents
8 3BUA000146-600 A
Table of Contents
Section 6 - Procedures
Introduction ...................................................................................................................189
PFC Types......................................................................................................................190
Recipe Procedure ...............................................................................................191
Unit Procedure ...................................................................................................191
Operation ...........................................................................................................192
Exception Procedure ..........................................................................................192
Layered Procedure.........................................................................................................192
Procedure Handling .......................................................................................................194
Version Control ..................................................................................................195
Create ...........................................................................................................196
Edit ...........................................................................................................197
Approve ...........................................................................................................197
Cut, Copy, Delete, and Paste ..............................................................................198
Compare ...........................................................................................................198
Cross-References................................................................................................199
Version History...................................................................................................199
Procedure Configuration................................................................................................201
Batch Cells .........................................................................................................201
Control Recipes..................................................................................................202
Procedure Configuration Window......................................................................204
File Menu ....................................................................................206
Edit Menu ....................................................................................207
View Menu ....................................................................................208
Tools Menu ....................................................................................210
Layout Menu ....................................................................................212
Context Menu....................................................................................215
Block Palette ......................................................................................................215
Phase ....................................................................................216
Procedure ....................................................................................216
Batch manager action .......................................................................216
Branch [start] ....................................................................................216
3BUA000146-600 A 9
Table of Contents
10 3BUA000146-600 A
Table of Contents
3BUA000146-600 A 11
Table of Contents
12 3BUA000146-600 A
Table of Contents
3BUA000146-600 A 13
Table of Contents
14 3BUA000146-600 A
Table of Contents
3BUA000146-600 A 15
Table of Contents
16 3BUA000146-600 A
Table of Contents
3BUA000146-600 A 17
Table of Contents
18 3BUA000146-600 A
Table of Contents
Description ....................................................................................452
Example ....................................................................................452
GetProcedures ....................................................................................................452
Input ....................................................................................453
Output ....................................................................................453
Return ....................................................................................453
Description ....................................................................................453
Example ....................................................................................453
GetTagKeyData ..................................................................................................454
Input ....................................................................................454
Output ....................................................................................454
Return ....................................................................................454
Description ....................................................................................454
Example ....................................................................................454
GetEquipmentDetails .........................................................................................455
Input ....................................................................................455
Output ....................................................................................455
Return ....................................................................................455
Description ....................................................................................456
Example ....................................................................................456
GetEquipmentStatus...........................................................................................457
Input ....................................................................................457
Output ....................................................................................457
Return ....................................................................................457
Description ....................................................................................457
Example ....................................................................................457
GetFormulaParameters.......................................................................................458
Input ....................................................................................458
Output ....................................................................................459
Return ....................................................................................459
Description ....................................................................................459
Example ....................................................................................459
3BUA000146-600 A 19
Table of Contents
20 3BUA000146-600 A
Table of Contents
3BUA000146-600 A 21
Table of Contents
22 3BUA000146-600 A
Table of Contents
Workbook ...........................................................................................................534
Worksheets .........................................................................................................534
Procedure to Unprotect the Worksheet...............................................................535
Procedure to Change the Worksheet Password ..................................................537
Procedure to View the VBAProject....................................................................538
Procedure to Modify the VBAProject Password................................................540
Batch Cell Object ..........................................................................................................541
Location of Batch Cell Object............................................................................541
Procedure to Create a Batch Cell Object............................................................543
Revision History
Introduction ...................................................................................................................555
Revision History ............................................................................................................555
Updates in Revision Index A.........................................................................................555
Index
3BUA000146-600 A 23
Table of Contents
24 3BUA000146-600 A
About This User Manual
General
Any security measures described in this user manual, for example, for user
access, password security, network security, firewalls, virus protection, etc.,
represent possible steps that a user of an 800xA System may want to consider
based on a risk assessment for a particular application and installation. This risk
assessment, as well as the proper implementation, configuration, installation,
operation, administration, and maintenance of all relevant security related
equipment, software, and procedures, are the responsibility of the user of the
800xA System.
This User Manual describes how to configure the Batch Management system
software.
Feature Pack
The Feature Pack content (including text, tables, and figures) included in this
User Manual is distinguished from the existing content using the following
two separators:
Feature Pack Functionality______________________________________________________________________
3BUA000146-600 A 25
Use of Warning, Caution, Information, and Tip Icons About This User Manual
Warning icon indicates the presence of a hazard that 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 that 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
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,
fully comply with all Warning and Caution notices.
26 3BUA000146-600 A
About This User Manual Terminology
Terminology
A complete and comprehensive list of terms is included in System 800xA System
Guide Functional Description (3BSE038018*). The listing includes terms and
definitions that apply to the 800xA System where the usage is different from
commonly accepted industry standard definitions and definitions given in standard
dictionaries such as Webster’s Dictionary of Computer Terms.
3BUA000146-600 A 27
Released User Manuals and Release Notes About This User Manual
28 3BUA000146-600 A
Section 1 Introduction
Batch Management, the Batch Management add-on for the 800xA System is a
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 execute 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 System 800xA Batch Management Operation
(3BUA000145*).
The batch manager of Batch Management is integrated with the 800xA system,
Information Management, and controller subsystems (AC 800M/C). The Batch
Management performs the following tasks:
• Allocates and de-allocates the batch processing equipment.
• Stores information about the resources available at the site for flexible batch
processing in the equipment aspects.
• Stores procedures and formula values in the recipe database.
• Schedules batches.
• Downloads the phase name to the control system.
• Downloads the phase parameter values, such as temperature or ingredient
weight, to the control system.
• Sends instructions to the control system to start a phase.
• Stores Batch data in the batch database.
3BUA000146-600 A 29
Intended User Section 1 Introduction
Intended User
This 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
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.
ISA-88 Compliance
Instructions on adhering to ISA-88 are described in Strict ISA-88 Option on page
370. When the option is enabled, the system limits the flexibility available so that
the procedures conform to the ISA-88 guidelines.
30 3BUA000146-600 A
Section 1 Introduction Batch Management Licensing
3BUA000146-600 A 31
Batch Management Licensing Section 1 Introduction
32 3BUA000146-600 A
Section 2 Description and Operation
This section provides an overview of flexible batch processing and the steps
involved in the configuration of Batch Management.
Allow Batch Management configuration data input and editing operations to
fully complete before performing other actions through the Plant Explorer or
Control Builder applications.
3BUA000146-600 A 33
Post Installation Configuration Section 2 Description and Operation
34 3BUA000146-600 A
Section 2 Description and Operation Batch Redundancy Configuration
3BUA000146-600 A 35
Batch Redundancy Configuration Section 2 Description and Operation
36 3BUA000146-600 A
Section 2 Description and Operation Batch Redundancy Configuration
3BUA000146-600 A 37
Shutdown Script Section 2 Description and Operation
The Batch Redundancy Status is described in the System 800xA Batch Management
Operation (3BUA000145*).
Shutdown Script
The batch_shutdown.bat script shuts down the Batch application properly and must
be installed on all Batch Servers. To install this script:
1. Click Start and type gpedit.msc in the text box and then click OK.
38 3BUA000146-600 A
Section 2 Description and Operation Setting the Date Format for Batch Auto ID for Automatic
Setting the Date Format for Batch Auto ID for Automatic Scheduling
Perform the following procedure on all Batch Server nodes if using Batch Auto ID
for Automatic Scheduling. Do not change any of the settings that were made while
setting up Windows before installing the 800xA System.
1. Log off the 800xA Installer User account.
2. Log into the 800xA Service account.
3. Open Windows Control Panel.
4. Double-click Regional and Language Options to launch the Regional and
Language Options dialog box.
5. Click Customize this format to launch the Customize Regional Options dialog
box.
6. Click the Date tab.
7. Change the value in the Short date drop-down list to MM/dd/yyyy and click
Apply.
8. Log off of the 800xA Service User account and log back into the 800xA
Installer User account.
3BUA000146-600 A 39
Print BMA Report Configuration Section 2 Description and Operation
Configuration Overview
The 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.
40 3BUA000146-600 A
Section 2 Description and Operation Batch Management Configuration
• Configuring the equipment database that describes the hardware and software
resources available at the site. Refer to Section 4, Equipment Configuration
(Batch Advanced Templates) and Section 5, Equipment Configuration (EPT
Control Modules).
• Creating recipes that can include both subprocedures and formulas, using
reusable logic components. Refer to Section 6, Procedures.
The controller and Batch Management can be configured simultaneously. Within
Batch Management, equipment must be configured before it can be referenced by
procedures.
Equipment Configuration
The equipment aspects contain 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 are provided in Section 4, Equipment
Configuration (Batch Advanced Templates) and Section 5, Equipment
Configuration (EPT Control Modules).
The steps to configure the equipment aspects are:
1. Configure phase definitions, including the phase parameters, default values,
and access levels.
3BUA000146-600 A 41
Batch Management Configuration Section 2 Description and Operation
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 6, Procedures.
The batch cells need to be specified before the procedure configuration. For more
information, refer to the sub headings Process and Batch Cells on page 72 and
Batch Cells on page 201.
Batch Management procedures are configured by creating PFCs (procedure
function charts). Procedures are drawn using an object oriented approach. The PFC
created 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.
42 3BUA000146-600 A
Section 2 Description and Operation Batch Management Run Time
3BUA000146-600 A 43
Sample Batch Management PFC Section 2 Description and Operation
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.
Recipes can be configured so that a set of phases are grouped in a sequence. At run
time, the batch manager would issue a single instruction to the controller to run the
entire group of phases bounded by a sequence start and sequence end in the PFC. At
the same time, the values of all parameters required for the phases would be sent to
the controller. During configuration, consider carefully how to group phases into
sequences. Place the sequence end at a point where it would be safe for operations
to be suspended if communications fail.
A redundant Batch Management Server can be installed on the network. If the
Primary Batch Management Server fails, then the backup would take over the 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 secondary (Redundant) Server, a
Witness Server (if Secondary Server is present) 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.
• Historical data on batches that have already run.
Any client node can be used to access information stored in the Batch Management
database.
44 3BUA000146-600 A
Section 2 Description and Operation Sample Batch Management PFC
PFCs. An object on the top layer would represent another PFC. The depth of nested
PFCs is configurable.
3BUA000146-600 A 45
Special Instructions to the Operator Section 2 Description and Operation
provides the option of defining product related exception triggers and its
corresponding responses.
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.
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 260 for further
details.
SOP
A standard operating procedure can be configured. 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.
46 3BUA000146-600 A
Section 2 Description and Operation Version Control
Operators having the appropriate permissions can make runtime edits to control
recipes.
The master recipe is not changed by these runtime edits, only the control recipe
for the current batch.
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. The record of the batch ID is retained and it can not 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.
• 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 H, Log
Configuration for further details.
3BUA000146-600 A 47
Abnormal Conditions in Flexible Batch Processes Section 2 Description and Operation
Condition Description
Unexpected Unexpected process conditions such as a temperature exceeding normal
conditions 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 Unexpected device statuses such as a controller going into manual mode during
status a ramp phase, a motor control valve opening during a hold phase.
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
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 workplaces open simultaneously.
48 3BUA000146-600 A
Section 2 Description and Operation Regulatory Control Logic Interlocks
power supply is probably installed on the DCS control system to allow for an
orderly shutdown.
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.
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.
3BUA000146-600 A 49
Audit Trail Section 2 Description and Operation
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.
• Because the exception logic is associated with a particular procedure, the
exception logic is specific to a particular product.
• 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 278 for further details.
• The exception 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 Trail
The 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 6 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.
50 3BUA000146-600 A
Section 2 Description and Operation Audit Trail
2. Enable the Audit Trail Active option in the Audit Trail Config aspect window
(Figure 6).
3. Configure the filter options as desired in the Audit Event Filtering area and
click Apply.
4. Add an Alarm and Event List aspect to the object that will contain the audit
trail list.
5. Select the configuration view of the created aspect.
6. Select Common Audit List in the Configuration Name field of the alarm and
event list window (Figure 7) and click Apply. The alarm and event list window
3BUA000146-600 A 51
Audit Trail Section 2 Description and Operation
52 3BUA000146-600 A
Section 2 Description and Operation Audit Trail
9. Enable Batch Operator Action Audit in the Categories area of the Alarm and
Event List Configuration window (Figure 9).
3BUA000146-600 A 53
Alarm and Event Lists Section 2 Description and Operation
12. Configure the column layout as desired and click Apply. Refer to Figure 10.
Figure 10. Alarm and Event List Configuration (Column Tab) Window
54 3BUA000146-600 A
Section 2 Description and Operation Alarm and Event Lists
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 pending
Breakpoint reached
Batch 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)
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 The time the data collection BMA starts and stops the collection
batch end log association of batch history data.
Batch tag change Changes to batch tag key data.
and block (in the format recipename.blocknumber) that generated the events and
alarms.
3BUA000146-600 A 55
Security Section 2 Description and Operation
For recipes that contain subprocedures, the Procedure Path includes the block
number for each subprocedure (recipename.blocknumber.blocknumber). The PDL
storage of procedure path is limited to 40 characters and is truncated if exceeds this
limit.
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.
56 3BUA000146-600 A
Section 2 Description and Operation Batch Cell Definition Aspect
• 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.
3BUA000146-600 A 57
Batch Cell Definition Aspect Section 2 Description and Operation
Default
Aspect Category Operation Description
Permission
Batch ID Edit Batch ID Pattern Change the pattern used to Configure
generate batch IDs for this
procedure.
Edit Batch ID Sequence Change the sequence number Supervise
Number associated with this procedure.
BatchRT Delete Delete batches that have not Operate
yet been started.
BatchRT 2ndDelete Second approval to delete Supervise
batches that have not yet been
started.
BatchRT Schedule Schedule batches. Operate
BatchRT 2ndSchedule Second approval to schedule Supervise
batches.
BatchRT Terminate Terminate batch execution. Operate
58 3BUA000146-600 A
Section 2 Description and Operation Batch Cell Definition Aspect
Default
Aspect Category Operation Description
Permission
Batch cell definition BatchRT 2ndTerminate Second approval to terminate Supervise
batch execution.
BatchRT ChangeMode_Auto Change batch or block Operate
execution mode to automatic.
BatchRT Second approval to change Supervise
2ndChangeMode_Auto batch or block execution mode
to automatic.
BatchRT Change batch or block Operate
ChangeMode_Manual execution mode to manual.
BatchRT Second approval to change Supervise
2ndChangeMode_Manual batch or block execution mode
to manual.
BatchRT ChangeMode Change batch or block Operate
_SemiAuto execution mode to
semiautomatic.
BatchRT Second approval to change Supervise
2ndChangeMode_SemiAuto batch or block execution mode
to semiautomatic.
BatchRT Abort Abort batch or block execution. Operate
BatchRT 2ndAbort Second approval to abort Supervise
batch or block execution.
BatchRT Continue Continue block execution. Operate
BatchRT 2ndContinue Second approval to continue Supervise
block execution.
BatchRT Hold Hold batch or block execution. Operate
BatchRT 2ndHold Second approval to hold batch Supervise
or block execution.
3BUA000146-600 A 59
Batch Cell Definition Aspect Section 2 Description and Operation
Default
Aspect Category Operation Description
Permission
Batch cell definition BatchRT Pause Pause batch or block Operate
(continued) execution.
BatchRT 2ndPause Second approval to pause Supervise
batch or block execution.
BatchRT Restart Restart batch or block Operate
execution.
BatchRT 2ndRestart Second approval to restart Supervise
batch or block execution.
BatchRT Resume Resume batch or block Operate
execution.
BatchRT 2ndResume Second approval to resume Supervise
batch or block execution.
BatchRT Start Start block execution. Operate
BatchRT 2ndStart Second approval to start block Supervise
execution.
BatchRT Stop Stop batch or block execution. Operate
BatchRT 2ndStop Second approval to stop block Supervise
execution.
BatchRT ChangeParameter Change batch or block Operate
parameters.
BatchRT Second approval to change Supervise
2ndChangeParameter batch or block parameters.
BatchRT ChangePriority Change the priority of a batch. Operate
BatchRT 2ndChangePriority Second approval to change the Supervise
priority of a batch.
BatchRT ChangeVariable Change batch variable. Operate
60 3BUA000146-600 A
Section 2 Description and Operation Batch Cell Definition Aspect
Default
Aspect Category Operation Description
Permission
Batch cell definition BatchRT Second approval to change Supervise
(continued) 2ndChangeVariable batch variable.
BatchRT ConfigureBMA Configure BMA and transition Configure
blocks.
BatchRT 2ndConfigureBMA Second approval to configure Supervise
BMA and transition blocks.
BatchRT EditPFC Runtime edit of procedure. Configure
BatchRT 2ndEditPFC Second approval to runtime Supervise
edit a procedure.
BatchRT Enter first PFC block dialog Operate
PFCBlockComment comment.
BatchRT Enter second PFC block dialog Supervise
2ndPFCBlockComment comment.
BatchRT PFCSOPComment Enter first PFC SOP comment. Operate
BatchRT Enter second SOP comment. Supervise
2ndPFCSOPComment
BatchRT PickRestartPoint Pick restart points. Operate
BatchRT Second approval to pick restart Supervise
2ndPickRestartPoint points.
BatchRT Change option on History Operate
ScheduleHistoryOptions Options tab of Miscellaneous
Configuration aspect.
BatchRT 2nd approval of change option Supervise
2ndScheduleHistoryOptions on History Options tab of
Miscellaneous Configuration
aspect.
BatchRT SetBreakPoints Set breakpoints on blocks. Operate
3BUA000146-600 A 61
Batch Cell Definition Aspect Section 2 Description and Operation
Default
Aspect Category Operation Description
Permission
Batch cell definition BatchRT 2ndSetBreakPoints Second approval to set Supervise
(continued) breakpoints on blocks.
BatchRT SkipBlocks Skip blocks. Operate
BatchRT 2ndSkipBlocks Second approval to skip Supervise
blocks.
BatchRT AccessMessage Respond to batch messages. Operate
Individual messages can also
be restricted during BMA
message configuration.
BatchRT Second approval of batch Supervise
2ndApproveMessage message. Individual messages
can also be restricted during
BMA message configuration.
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
62 3BUA000146-600 A
Section 2 Description and Operation Batch Cell Definition Aspect
Default
Aspect Category Operation Description
Permission
Batch cell definition BatchRT View View batch runtime activities Operate
(continued) from Batch Overview, PFCs,
and status displays. Additional
access to issue commands in
accordance with other runtime
functions is required.
Batch equipment BatchRT ReserveEquipment Change batch equipment Operate
status to reserved.
BatchRT Second approval to change Supervise
2ndReserveEquipment batch equipment status to
reserved.
BatchRT ReleaseEquipment Change batch equipment Operate
status to released.
BatchRT Second approval to change Supervise
2ndReleaseEquipment batch equipment status to
released.
BatchRT DisableEquipment Change batch equipment Operate
status to disabled.
BatchRT Second approval to change Supervise
2ndDisableEquipment batch equipment status to
disabled.
BatchRT EnableEquipment Change batch equipment Operate
status to enabled.
BatchRT Second approval to change Supervise
2ndEnableEquipment batch equipment status to
enabled.
BatchRT DiscardEquipment Empties the pending batch list Operate
or queue.
3BUA000146-600 A 63
Batch Cell Definition Aspect Section 2 Description and Operation
Default
Aspect Category Operation Description
Permission
Batch equipment BatchRT Second approval to empty the Supervise
(continued) 2ndDiscardEquipment pending batch list or queue.
BatchRT Change batch equipment Operate
ChangeEquipmentAttributes attributes.
BatchRT Second approval to change Supervise
2ndChangeEquipmentAttrib batch equipment attributes.
ute
BatchRT ViewEquipment View equipment in the Operate
Equipment Overview window.
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
Modify Modify aspect in any way. Configure
Batch function Edit Function Edit the batch function. Configure
64 3BUA000146-600 A
Section 2 Description and Operation Batch Equipment Aspect
Default
Aspect Category Operation Description
Permission
Development Approve Procedure1 First approval of procedure. Operate
procedure and
version procedure 2ndApprove Procedure1 Second approval of procedure. Supervise
Edit Procedure Edit the procedure that has Configure
been copied to development.
Modify Modify aspect in any way. Configure2
Approved procedure Edit Procedure Edit the procedure that has Configure
been copied to development.
Modify Modify aspect in any way. Configure2
Remaining Batch Modify Modify aspect in any way. Configure
aspect categories
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.
3BUA000146-600 A 65
Other Aspects Section 2 Description and Operation
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 System
Batch Equipment, Aspect Type
Batch Equipment, Aspect Category
Batch Phase, Aspect Type
Batch Phase, Aspect Category
Equipment Group, Aspect Type
Equipment Group, Aspect Category
Batch Management Miscellaneous, Aspect System
Miscellaneous Configuration, Aspect Type
Miscellaneous Configuration, Aspect Category
Batch Management Overviews, Aspect System
Batch History Information, Aspect Type
Batch History Information, Aspect Category
Batch History Overview, Aspect Type
Batch History Overview, Aspect Category
Batch Information, Aspect Type
Batch Information, Aspect Category
Batch Overview, Aspect Type
Batch Overview, Aspect Category
Batch PFC, Aspect Type
Batch PFC, Aspect Category
Batch Schedule, Aspect Type
Batch Schedule, Aspect Category
Block Status, Aspect Type
Block Status, Aspect Category
Equipment Information, Aspect Type
66 3BUA000146-600 A
Section 2 Description and Operation Permissions Tab
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).
3BUA000146-600 A 67
Examples Section 2 Description and Operation
Examples
To better understand how these aspects work together, refer to Figure 11 and the
following three examples.
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
68 3BUA000146-600 A
Section 2 Description and Operation Batch Operation Access Levels
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 Operations
Permission
(Access Levels)
Operator Level 1 Operate
Operator Level 2 Operate
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
3BUA000146-600 A 69
Special Batch Security Features Section 2 Description and Operation
Configuration
Description
Stage
Login account First, access level assignments made when login accounts are configured
access levels determine who can perform the activities related to flexible batch processing
during which phase parameter values are assigned.
Equipment aspect Permission to assign phase parameter values is also affected by configuration
configuration of the equipment aspects. 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, an access level is assigned. This is the
minimum access level necessary to change the parameter value at run time.
Procedure During procedure configuration, the value of a phase parameter to be used in a
configuration particular procedure can be changed from the default assigned in the
equipment aspects. 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.
70 3BUA000146-600 A
Section 2 Description and Operation Special Batch Security Features
Configuration
Description
Stage
Scheduled batch When a batch is scheduled to be run as described in the System 800xA Batch
Management Operation (3BUA000145*), 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.
3BUA000146-600 A 71
Process and Batch Cells Section 2 Description and Operation
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.
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.
72 3BUA000146-600 A
Section 2 Description and Operation Process and Batch Cells
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.
3BUA000146-600 A 73
Authentication Section 2 Description and Operation
cell to which the operator has access. This default batch cell will be displayed in the
Batch Schedule window Batch Cell box.
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.
Authentication
It is possible to configure the batch system to require one or two approvals before
certain operations are performed. Table 6 lists the operations that can be configured
to require approvals.
74 3BUA000146-600 A
Section 2 Description and Operation Authentication
3BUA000146-600 A 75
Authentication Section 2 Description and Operation
76 3BUA000146-600 A
Section 2 Description and Operation Optimizing AC 800M Performance
3BUA000146-600 A 77
Control Builder Controller Task Update Rates Section 2 Description and Operation
78 3BUA000146-600 A
Section 2 Description and Operation Batch OPC Group Update Rates
3BUA000146-600 A 79
Batch OPC Group Update Rates Section 2 Description and Operation
80 3BUA000146-600 A
Section 3 Parameter, Variable, and
Expression Overview
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.
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 aspects of 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.
3BUA000146-600 A 81
Phase Parameters in the Controller Configuration Section 3 Parameter, Variable, and Expression
82 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Phase Parameters During Equipment
3BUA000146-600 A 83
Viewing and Changing Phase Parameters at Run Time Section 3 Parameter, Variable, and
Figure 14 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 is floating point 1.0.
The phase parameter A3 has been assigned the floating point value 3.0 (representing
a certain amount). The phase parameter S2 has been assigned String S2. The phase
parameter S3 has been assigned String S3.
84 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Procedure Parameters and Procedure
expression shown in the Expression column. If no expression has been entered (the
Expression column is empty), the Value and Default columns will be equal.
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 aspects.
• The operator has a high enough access level.
To assign a new value for that specific parameter, enter a new expression or edit the
existing expression in the Expression column. The function wizard (refer to
Figure 85) can be used to enter an expression by clicking in the Expression column
and clicking the function wizard toolbar button. Once the new value has been
assigned, click Compute to cause the system to check for syntax errors, evaluate the
expression, and display the new value in the Value column. Clicking OK causes all
the expressions to be checked for syntax errors, evaluated, and the window being
closed.
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 94.
3BUA000146-600 A 85
Creation of Procedure Parameters Section 3 Parameter, Variable, and Expression Overview
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.
86 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Assignment of Procedure Specific Values
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 (refer to Figure 17). 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 94.
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 87. Refer to Configuration of
Procedure Parameters on page 224 for detailed procedures on adding and editing
procedure parameters.
3BUA000146-600 A 87
Assignment of Procedure Specific Values Section 3 Parameter, Variable, and Expression Overview
88 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Procedure Parameters Accessible When
3BUA000146-600 A 89
Procedure Parameters Accessible When a Batch Is Scheduled Section 3 Parameter, Variable, and
start time for the batch, etc. Click Parameters in the Batch Schedule window and
the window shown in Figure 16 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 86. 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.
When specifying values, the operator can use an expression as described in
Expressions and Variables on page 100.
The function of scheduling a batch is also protected through the Batch
Management security system. Refer to Security on page 56.
Once new values have been entered, click Check 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
90 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Viewing and Changing Procedure
configured for the parameters during procedure configuration, these checks will be
executed.
True computation of the expressions is not possible at this point because the
values required for computation do not exist until runtime.
The following values are examples of data that does not exist in the configuration
view:
-Any expression that uses OPC items from the running system.
- Batch and Global variables that are initialized and/or their values set in another
procedure.
These variable(s) are not initialized or the values are not correspond to the values
set during runtime in the procedure being tested.
Any procedure or phase parameters using expressions that use OPC items, Batch
variables or Global Variables can calculate the values that are out of range at
runtime.
If the check is successful, the newly entered values will be displayed in the Value
column. 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
91.
3BUA000146-600 A 91
Viewing and Changing Procedure Parameters at Run Time Section 3 Parameter, Variable, and
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 Value column shows the value of the expression shown in the Expression
column. If no expression has been entered (the Expression column is empty), the
Value and Default column values will be equal.
If the Default Value is set to 'No Default', then the Expression Column cannot be
left empty. The user must provide an expression value. Users can choose a
specific unit from the drop-down menu as shown in Figure 18, or change the type
to Equipment List and then choose ‘No Default’.
92 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Viewing and Changing Procedure
The assignment of the value can be changed for this instance of the PFC if the
operator has a high enough access level. To assign a new value, enter a new
expression or edit the existing expression in the Expression column. The function
wizard can be used to enter an expression by clicking in the Expression column and
clicking the function wizard toolbar button. Once the new value has been assigned,
click Compute to cause the system to check for syntax errors, evaluate the
expression, and display the new value in the Value column. Clicking OK causes all
the expressions to be checked for syntax errors, evaluated and the window being
closed.
On the Procedure Operation Assignment window, users should choose No default
under default value column and then click OK. Without selecting an expression if
the users schedule Batch through web services or any alternate methods, there is an
error message displayed at the Start block of the PFC runtime as shown in
Figure 19.
3BUA000146-600 A 93
Passing Parameter Values to a Nested Subprocedure Section 3 Parameter, Variable, and
94 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Passing Parameter Values to a Nested
Figure 20. Passing Procedure Parameter Values From the Top Down
3BUA000146-600 A 95
Passing Parameter Values to a Nested Subprocedure Section 3 Parameter, Variable, and
procedure, or be nested within another procedure, will have its own set of procedure
parameters configured in the window accessed by selecting Tools > Procedure
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 and the
current level procedure will appear on the window displayed using the Batch
Parameter and Parameter buttons, respectively, 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 20.
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.
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.
96 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Parameter Summary
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 (refer to Expressions and Variables on page 100 for
more information).
Parameter Summary
A summary of phase and procedure are shown in Table 7, and Table 8.
Configured
Node Value Applies To Considerations
By
Batch Equipment Parameter All uses of parameter It is recommended that the
Management aspects name, default in all procedures name match the name in
value, access unless procedure or controller equipment phase.
level batch specific values
are assigned
PFC Procedure All uses of the Value can be specified using a
configuration specific value parameter in this constant or an expression
phase object instance of this
assignment phase in this PFC
Batch PFC Batch This instance of this Value can be specified using a
phase object specific value phase in this batch constant or an expression; can
block status for this phase not be changed once
window instructions to run the phase
have been sent to the
controller by the batch
manager
Output Parameters
Batch advanced phase parameters with the direction of out and in/out (Refer to
Section 4, Equipment Configuration (Batch Advanced Templates).) send parameter
3BUA000146-600 A 97
Output Parameters Section 3 Parameter, Variable, and Expression Overview
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 21) and stores this value in a procedure variable (if specified by the
procedure). This value is also sent to the PDL database. The control logic must be
configured to write the appropriate output value to the OutValue variable. The
98 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Output Parameters
output value will not be collected if the logic does not write a value to the OutValue
variable.
3BUA000146-600 A 99
Expressions and Variables Section 3 Parameter, Variable, and Expression Overview
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.
100 3BUA000146-600 A
Section 3 Parameter, Variable, and Expression Overview Changes to a Private Parameter
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 10.
The bvarput and bvarget commands are extremely useful for making a value
available to all layers of a procedure.
3BUA000146-600 A 101
Changes to a Private Parameter Section 3 Parameter, Variable, and Expression Overview
object must be added to the PFC for a procedure. This object represents the select
equipment batch manager action described in Section 6, Procedures. When this
object is used in a PFC the batch manager will automatically select the equipment to
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 87 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.
Command Description
varput, varget, The varput command is used to create a variable and store a numeric value
varputs, vargets where it is accessible to a varget command within the same PFC. The varputs
and vargets commands are used for strings.
bvarput, bvarget, The bvarput command is used to create a variable and store the numeric
bvarputs, bvargets 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, The gvarput command is used to create a variable and store the numeric
gvarputs, gvargets 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.
102 3BUA000146-600 A
Section 4 Equipment Configuration (Batch
Advanced Templates)
Introduction
This section describes the configuration of Batch Management equipment using
batch advanced templates control modules:
• PhaseTemplate
• SharedEquipmentModuleTemplate
• UnitTemplate
• Batch Unit Instances
Overview
Equipment 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.
3BUA000146-600 A 103
Phase Types Section 4 Equipment Configuration (Batch Advanced Templates)
Phase Types
Phases 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 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.
Step c through Step h are not necessary if the control network already exists and
is configured to use the appropriate OPC® server node.
c. Add a Control Network object to the object that will contain the control
network which in turn will contain the Control Builder project.
d. Select the OPC Data Source Definition aspect of the newly created control
network and click New.
e. Click Add in the New Service Group window.
f. Select the desired OPC server node in the Add Service Provider window
and click OK.
g. Click OK in the New Service Group window.
h. Click Apply.
i. Add a new object of the desired project type to the newly created control
network.
j. Select the Project aspect of the newly created control project.
k. Select the Libraries tab. and click Insert.
l. Select Object Types\Control System\AC 800M/C
Connect\Libraries\BatchAdvTemplatesLib x.x-x and click OK.
Templates can be copied into an application or library.
104 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Phase Types
a. Right click the control project and select Open Project to open the
Control Builder M Professional window.
b. Right click Libraries and select New Library.
c. Enter a name for the custom library being created and click OK.
d. Right click Connected Libraries located under the custom library and
select Connect Library.
e. Select ProduceITBatchLib in the Connect Library window and click OK.
f. Repeat Step d through Step e 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) and select Copy.
b. Right click Control Module Types within the custom library and select
Paste.
c. Select the Control Builder Name aspect of the newly pasted
PhaseTemplate (Batch Phase) object (Object Type Structure\Object
Types\Control System\AC 800M/C
Connect\Libraries\user_library_name\Control Module
Types\batch_phase_name).
d. Enter a unique name for the phase type and click Apply.
e. Select the Batch Phase aspect of the newly pasted batch phase object in
the plant explorer workplace.
f. Select the General sheet.
g. If necessary, 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 must be
unique among all phases within a unit and is limited to a maximum of 30
characters.
3BUA000146-600 A 105
Phase Types Section 4 Equipment Configuration (Batch Advanced Templates)
106 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Phase Types
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 short 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.
3BUA000146-600 A 107
Phase Types Section 4 Equipment Configuration (Batch Advanced Templates)
Field Description
Level The three levels are local, level 1, and level N:
Local creates a variable in the phase control module with the name
_bparameter_name where parameter_name is the name of the parameter.
Level 1 creates a variable in the unit control module with the name
_bshort_nameparameter_name where short_name is the short name of the phase
and parameter_name is the name of the parameter. A connection (named
_bparameter_name) is created in the phase control module and set to the variable
in the unit control module.
Level N creates only a connection (named _bparameter_name) in the phase
control module. It is up to the configurer to use one of two possible methods to
define the variable and set the connections to this variable:
Level Method 1 - Define the variable at the unit control module and set the
(continued) connections in the phase control module. This is similar to Level 1 but allows
configurer to control variable naming instead of using the automatic naming
scheme.
Method 2 - Define the variable at the Control Builder application as an
application variable (Variables sheet on the application). Configurer must also
add a connection in the instantiated unit control module, set the phase control
module connection to the unit control module connection, and then set the
unit control module connection to the application variable.
When adding a level N parameter to a phase type from which instances have
already been made, a set of warnings (about failing to set ranges and not finding
variables for the ranges) is generated for each instance because connection to the
variable cannot be made until after the add operation. After the variable has been
added and connected, the configurer must use the equipment editor on each
phase instance to set the instance specific ranges and default values. If the added
level N parameter has a direction of Out or In/Out, run unit synchronization with the
Level N Out and In/Out parameters option enabled (from the Equipment Settings
tab of the Miscellaneous Configuration aspect).
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.
108 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Phase Types
Field Description
Low Low limit parameter. This field is mandatory by default but can be left blank if the
appropriate Miscellaneous Configuration aspect option is enabled.
High High limit parameter. This field is mandatory by default but can be left blank if the
appropriate Miscellaneous Configuration aspect option is enabled.
Eng. Units Defines the measurement units (lbs, secs, etc.).
Access level Defines the default access level for the parameter used during batch run time. An
access level of no access denotes parameters that cannot be changed at run time
(default values are always used).
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.
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 24. Only after the phases are assigned to the equipment will this sheet
display information.
3BUA000146-600 A 109
Equipment Phase Logic Section 4 Equipment Configuration (Batch Advanced Templates)
110 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Batch Equipment
2. Configure the phase type logic as desired and save the phase 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.
Batch Equipment
Batch 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
create 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 115 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 and select Copy.
2. Right click Control Module Types within the custom library and select Paste.
3. Select the Control Builder Name aspect of the newly copied UnitTemplate
(Batch Unit) object and select Rename. (Object Type Structure\Object
Types\Control System\AC 800M/C
Connect\Libraries\custom_library_name\Control Module
Types\batch_unit_name)
4. Enter a unique name for the type and click Apply.
5. Select the Batch Equipment aspect of the renamed batch unit object in the
800xA plant explorer workplace.
6. Configure the Controller Type properties. Refer to Table 39 for more
information. Refer to Figure 37.
7. Select the Equipment Attributes sheet.
3BUA000146-600 A 111
Batch Equipment Section 4 Equipment Configuration (Batch Advanced Templates)
8. Use the insert a new attribute button to add and configure all the attributes for
this unit. Table 12 describes each attribute.
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 to set a property within a piece of 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 writable (enabled) or writable (disabled). This
applies to both the equipment status and recipe logic using the unitattput,
unitattputs, rwattput, and rwattputs commands.
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.
The default value defined in the equipment aspects does not change at run time.
Low Low limit attribute. This field is mandatory by default but can be left blank if the
appropriate Miscellaneous Configuration aspect option is enabled.
High High limit attribute. This field is mandatory by default but can be left blank if the
appropriate Miscellaneous Configuration aspect option is enabled.
Eng. Units Defines the measurement units (lbs, secs, etc.).
112 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Batch Equipment
Field Description
Access level This defines the runtime access level to the attribute. 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 unitattput/unitattputs commands).
A recipe can also write the values to the attribute with the Access Level of “No
Access” for the following attribute types/fields:
• OPC properties (OPC Datapoint, OPC Float, OPC Integer and OPC Text)
• In Controller
A recipe cannot write the values to No Access Local attributes (Float, Integer and
Text).
Constraints Displays the constraint list for text type attribute.
3BUA000146-600 A 113
Batch Equipment Section 4 Equipment Configuration (Batch Advanced Templates)
114 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Shared Equipment
Equipment Logic
Control 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\batch_shared_equipment_name) and select Control
3BUA000146-600 A 115
Equipment Logic Section 4 Equipment Configuration (Batch Advanced Templates)
Module type Editor. The logic editor window (Figure 27) is displayed.
2. Configure the equipment type logic as desired and 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.
116 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Control Module Instances
3BUA000146-600 A 117
Control Module Instances Section 4 Equipment Configuration (Batch Advanced Templates)
(Figure 28).
3. Select the control module type and enter a unique name for the control module
instance in the Instance Name field.
4. Enable the Connect parameters option and click OK.
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.
5. If the Connect parameters option was not enabled, connect each parameter by
specifying a variable, parameter, or text in the Parameter column of the
Connections window (Figure 29). If the Connect parameters option was
118 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Tasks
6. 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.
7. Select Editor > Save to check and save the control module instance.
Tasks
A 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.
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. Right click the CPU of the controller and select Editor.
3BUA000146-600 A 119
AE Max No of Named Value ItemsSection 4 Equipment Configuration (Batch Advanced Templates)
120 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) AE Max Percent of Log Strings
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
3BUA000146-600 A 121
Download Project Section 4 Equipment Configuration (Batch Advanced Templates)
Download Project
Download the Control Builder project to the desired controller by selecting Tools >
Download and Go Online in the Control Builder M Professional window.
Equipment Groups
Equipment 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 229 for more information.
To create a new equipment groups:
1. Select the Equipment Structure in the plant explorer workplace.
2. Add an Equipment Groups object to the object (or the background to select the
root) that will contain the equipment groups object.
To create an equipment group, add an equipment group object to the equipment
groups object that will contain the equipment group.
To configure an equipment group object:
1. Select the equipment group aspect of the equipment group object.
2. Use the buttons to move batch enabled equipment from the Available
Equipment area to the Equipment In Group area and click Apply. Refer to
122 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Unit List Types with Duplicate
Figure 30.
3BUA000146-600 A 123
Unit List Types with Duplicate Names (displayed in PPA) Section 4 Equipment Configuration (Batch
124 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Batch Advanced Templates
3BUA000146-600 A 125
State Change Diagrams Section 4 Equipment Configuration (Batch Advanced Templates)
126 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) State Change Diagrams
3BUA000146-600 A 127
State Change Diagrams Section 4 Equipment Configuration (Batch Advanced Templates)
128 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Data Types and Constants
Initial
Name Data Type Attribute Description
Value
Start Dint Constant 1 Start command
Pause Dint Constant 2 Pause command
Hold Dint Constant 3 Hold command
Stop Dint Constant 4 Stop command
Abort Dint Constant 5 Abort command
Resume Dint Constant 6 Resume command
Restart Dint Constant 7 Restart command
Reset Dint Constant 8 Reset command
Acquire Dint Constant 9 Acquire command
Release Dint Constant 10 Release command
Disable Dint Constant 11 Disable command
Enable Dint Constant 12 Enable command
ClearException Dint Constant 13 Clear exception command
ResetRelease Dint Constant 14 Reset/Release command
AcquireStart Dint Constant 15 Acquire/Start command
3BUA000146-600 A 129
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Attribute Description
Value
Idle Dint Constant 0 Idle state
Running Dint Constant 1 Running state
Complete Dint Constant 2 Complete state
Pausing Dint Constant 3 Pausing state
Paused Dint Constant 4 Paused state
Holding Dint Constant 5 Holding state
Held Dint Constant 6 Held state
Restarting Dint Constant 7 Restarting state
Stopping Dint Constant 8 Stopping state
Stopped Dint Constant 9 Stopped state
Aborting Dint Constant 10 Aborting state
Aborted Dint Constant 11 Aborted state
OutOfService Dint Constant 12 Out of service state
Templates
The BatchAdvTemplatesLib library contains the following templates:
• PhaseTemplate.
• SharedEquipmentModuleTemplate.
• UnitTemplate.
PhaseTemplate
This control module is a template for the implementation of a phase module type
(equipment phase) in the controller. A unit module contains all phase-specific
functions, phase logic, and exceptions. Create an instance of the phase control
module type to implement a phase control module. Table 15 list the parameters used
by this template. Table 16 lists the variables used by this template.
130 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
Name String (32 N/A IN - Name of the phase used as SRCName for
characters max) events
StartAppl Bool False IN/OUT - Start order from application, must be
connected to start application in core
_bBatchConnection BatchConnection N/A IN/OUT - Connection to unit or equipment
module
Status PhaseBatchStatus False OUT - Status, connected to core by default
Initial
Name Data Type Description
Value
_bName String (32 N/A Short name for alarm and event, value created
characters max) when phase is added to a unit, format is
unit_namephase_short_name
_bProcedurePath String (140 N/A Path of the recipe procedure that started the
characters max) phase. This variable is not currently used
(reserved for future use).
_bData BatchDataConn N/A Connection between Core and
ection parameters/attributes
Exception BatchException N/A Exception from code, connected to core and
used by ThrowBatchException (by default)
RunningComplete Bool False Enables user to transition from first SFC to
second SFC
_bPrivatePhase Bool False Indicates if this phase is private (true) or public
(false)
_bApplicationAcces Bool False Indicates if an application can (true) or cannot
sible (false) issue start and reset commands to this
public phase
3BUA000146-600 A 131
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
_bStartOnlyIfUnitNo Bool True Indicates if a phase can start only if the unit is in
rmal1 normal condition (true) or if the unit can be in an
exception condition (false)
NOTE: 1. The unit containing the phase must be acquired by the unit and the phase must be in auto mode before the
_bStartOnlyIfUnitNormal variable will function as described.
This template has code blocks associated with the Running, Holding, Restarting,
Stopping, Aborting, and Monitor states. Interlock parameters can be connected to
the phase core module.
Additional inhibit parameters which cannot be overridden from the Batch template
faceplate have been added to phase control modules. Once these parameters are set
to true in the controller code, the corresponding mode change or operation cannot be
attained (overridden from the faceplate).
Initial
Name Data Type Description
Value
PhaseName String (32 N/A In - Name of the phase used as SRCName
characters max) for events, connected to phase short name.
AISrcName String (32 N/A IN - Name used as SRCName for events,
characters max) _bName by default.
ProcedurePath String (140 N/A IN - Path of the recipe procedure that started
characters max) the phase. This parameter is not currently
used (reserved for future use).
132 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
RunningCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Running and
Pausing states.
PausedCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Paused state.
HoldingCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Holding state.
HeldCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Held state.
RestartingCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Restarting state.
StoppingCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Stopping state.
StoppedCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Stopped state.
AbortingCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Aborting state.
AbortedCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Aborted state.
CompletedCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Completed state.
IdleCode1,2 CodeblockAttributes Default IN/OUT - Code block control variable for
code block associated with Idle state.
StartAppl3 Bool False IN (OUT) - Start order from application.
AbortAppl3 Bool False IN (OUT) - Abort order from application.
StopAppl3 Bool False IN (OUT) - Stop order from application.
HoldAppl3 Bool False IN (OUT) - Hold order from application.
3BUA000146-600 A 133
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
PauseAppl3 Bool False IN (OUT) - Pause order from application.
ResumeAppl3 Bool False IN (OUT) - Resume order from application.
RestartAppl3 Bool False IN (OUT) - Restart order from application.
3
ResetAppl Bool False IN (OUT) - Reset order from application.
InhibitStartAppl3,4 Bool False IN - Interlock from application for disabling of
Start command.
InhibitPauseAppl3,4 Bool False IN - Interlock from application for disabling of
Pause exception.
InhibitHoldAppl3,4 Bool False IN - Interlock from application for disabling of
Hold exception.
InhibitStopAppl3,4 Bool False IN - Interlock from application for disabling of
Stop exception.
InhibitAbortAppl3,4 Bool False IN - Interlock from application for disabling of
Abort exception.
InhibitResumeAppl3 Bool False IN - Interlock from application for disabling of
,4
Resume command.
InhibitRestartAppl3,4 Bool False IN - Interlock from application for disabling of
Restart command.
InhibitResetAppl3,4 Bool False IN - Interlock from application for disabling of
Reset command.
InhibitUnitExCondA Bool False IN - Interlock from application for decoupling
ppl3,4 of ExceptionCondition.
InhibitExceptionStar Bool False IN - Interlock from application for disabling of
tAppl3,4 phase start when application is in an
exception condition.
InhibitStartNOv3,4,5 Bool False IN - Interlock from application for disabling of
Start command.
134 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
InhibitPauseNOv3,4, Bool False IN - Interlock from application for disabling of
5
Pause exception.
InhibitHoldNOv3,4,5 Bool False IN - Interlock from application for disabling of
Hold exception.
InhibitStopNOv3,4,5 Bool False IN - Interlock from application for disabling of
Stop exception.
InhibitAbortNOv3,4,5 Bool False IN - Interlock from application for disabling of
Abort exception.
InhibitResumeNOv3, Bool False IN - Interlock from application for disabling of
4,5
Resume command.
InhibitRestartNOv3,4 Bool False IN - Interlock from application for disabling of
,5 Restart command.
InhibitResetNOv3,4, Bool False IN - Interlock from application for disabling of
5
Reset command.
InhibitUnitExCondN Bool False IN - Interlock from application for decoupling
Ov3,4,5 of ExceptionCondition.
InhibitExceptionStar Bool False IN - Interlock from application for disabling of
tNOv3,4,5 phase start when application is in an
exception condition.
BatchConnection BatchConnection Default IN/OUT - Connection to unit or equipment
module.
Exception BatchException Default IN (OUT) - Exception from code.
BatchData BatchDataException IN (OUT) - Status of phase parameters and
attributes.
Status PhaseBatchStatus Default OUT - Status, connected to phase status.
AESeverity Dint 500 IN - Severity of logged events from 1 (low) to
1000 (high).
3BUA000146-600 A 135
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
AEClass Dint 1 IN - Class logged events belongs (to from 1
to 9999).
PhaseElapsedTime Time Default OUT - Current elapsed time that the phase
has been non-idle (time since start).
NOTE:
1. To delete an ISA-88 code block:
a. Open unit or phase type to edit in Control Builder.
b. Delete code block.
c. Save type.
d. Open Core module to edit connections.
e. Delete parameter name of code block that was deleted.
f. Save Core module connections.
2. To add an ISA-88 code block:
a. Open unit or phase type to edit in Control Builder.
b. Add code block (only structured text and SFC type).
c. Save type.
d. Open Core module to edit connections.
e. Add code block (exact code block tab label) to Core module.
f. Save Core module connections.
3. These must be connected (from the phase type) before being used.
4. Inhibiting this command or exception from the application actually inhibits this command or exception no matter
where it is sent from.
5. Use caution when implementing these parameters because they cannot be overridden from the faceplate.
136 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Attribute Direction Description
Value
Req Bool In False Requests one create
operation on positive edge
Exception BatchException In_Out To be connected to the
exception parameter of the
core module
TargetState Dint Retain In 0 The state that is the target
of the exception:
Idle = 0
Running = 1
Pause = 2
Hold = 3
Stop = 4
Abort = 5
Scope Dint Retain In 0 Scope of the exception:
Local = 0
Unit/shared equipment
module = 1
ExceptionID String (10 Retain In ID of exception
characters max)
ExceptionSeverity Dint Retain In 0 The severity within
TargetState
Description String (40 Retain In Description of the exception
characters max)
Status Dint Retain Out Result of last created and
sent exception
Error Bool Retain Out True if exception wasn't
created and sent
Priority components are evaluated in the order: TargetState (listed highest to lowest
- abort = 5, stop = 4, hold = 3, pause = 2), Severity, Scope (unit/shared equipment-
3BUA000146-600 A 137
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
scope being higher than phase-scope). Lower "priority" (the evaluated value)
TargetState values than the current exception will be disregarded. No exception will
be created and sent if any of the parameters are out of range. If an exception isn’t
created and sent, the reason can be interpreted from the Status parameter using the
following error codes.
1 Exception successfully thrown.
-38 Parameter value is outside allowed limits.
-5630 An exception with higher target state is already thrown.
-5631 An exception with higher severity is already thrown.
-5632 An exception with unit/shared equipment module scope and equal
severity is already thrown.
A unique scenario can sometimes occur when a unit/shared equipment module tries
to throw a batch exception. If a unit/shared equipment module meets the condition
to throw a batch exception, an evaluation is made to determine if the unit/shared
equipment module can transition to the target state specified in the batch exception.
If the unit/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/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.
Another unique scenario can sometimes occur when a phase throws a unit/shared
equipment module scope batch exception. The exception will be executed first at the
phase and then at the unit/shared equipment module.
Example (Local Scope)
IF MonitorLocalError THEN (* Always attempting to throw when exception
condition is true *)
Throw(Req := false,
Exception := Exception);
Throw(Req := true,
Exception := Exception,
TargetState := ThrowTargetState,
Scope := 0,
138 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
ExceptionID := MonitorErrorID,
ExceptionSeverity := 50,
Description := MonitorLErrorMessage);
END_IF;
Example (Unit/Shared Equipment Scope)
IF MonitorUnitError THEN (* Always attempting to throw when exception
condition is true *)
Throw(Req := false,
Exception := Exception);
Throw(Req := true,
Exception := Exception,
TargetState := ThrowTargetState,
Scope := 1,
ExceptionID := MonitorErrorID,
ExceptionSeverity := 50,
Description := MonitorGErrorMessage);
END_IF;
Example (Process Condition, One Shot)
(* Monitor for ProcessError Only attempts throw when ProcessError condition
changes 0 to 1 *)
Throw(Req := ProcessBool,
Exception := Exception,
TargetState := ThrowTargetState,
Scope := 1,
ExceptionID := MonitorErrorID,
ExceptionSeverity := 50,
Description := MonitorGErrorMessage);
3BUA000146-600 A 139
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Example
(*Holding State Terminate State Example*)
(* User code should be placed here *)
(* If HoldingDone then *)
TerminateState(StateCodeblock := Holding);
(*End_if;*)
(* No user code after this line *)
Initial
Name Data Type Description
Value
Exception BatchException N/A IN/OUT - Connect this to the Exception parameter of the
core module
Example
(* Programatically clears the Exception when ClearError is True *)
If ClearError then
Clear(Exception := Exception);
ClearError := false;
end_if;
SharedEquipmentModuleTemplate
This control module is a template for implementation of a shared equipment module
control module type in the controller. The shared equipment module contains all
equipment module-specific functions, unit logic, exceptions, and all defined phases
for the equipment module. Create an instance of the shared equipment module
control module type to implement a shared equipment module control module.
Table 21 list the parameters used by this template. Table 20 lists the variables used
by this template.
140 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
Name String (32 N/A IN - Name of the equipment module
characters max)
ExceptionSeverityHSI Dint 100 IN - Severity for exceptions from faceplate
ExceptionSeverityBM Dint N/A IN - Severity for exceptions from batch manager
Status EquipmentModu Default OUT - Status
leBatchStatus
Initial
Name Data Type Description
Value
Exception BatchException N/A Exception from code
_bBatchConnection BatchConnection N/A Connection to Core and phase modules
_bData BatchDataConne Default Connection between Core and
ction parameters/attributes
RunningComplete Bool False Enables the user to transition from the first SFC
to the second SFC
ServerName String (8 Server1 Name of the communication server
characters max)
Exception1Conn BatchCommServ N/A Data structure that links the BatchCommServer
erConnection and BatchCommServerExt control modules
This template has code blocks associated with the Running, Holding, Restarting,
Stopping, and Aborting states. Interlock parameters can be connected to the unit
core module. Phases are added using the Batch Equipment aspect and the phases are
added as private (not visible to the batch manager).
3BUA000146-600 A 141
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
EquipmentModuleName String (32 N/A In - Name of the shared equipment module
characters max)
RunningCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Running and
Pausing states
PausedCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Paused state
HoldingCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Holding state
HeldCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Held state
RestartingCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Restarting state
StoppingCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Stopping state
StoppedCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Stopped state
AbortingCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Aborting state
AbortedCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Aborted state
IdleCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Idle state
142 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
OutOfServiceCode1,2 CodeblockAttrib Default IN/OUT - Code block control variable for
utes code block associated with Disabled state
AcquireAppl3 Bool False IN (OUT) - Acquire from application.
BatchIDAppl3 Bool False IN (OUT) - BatchID for acquire from
application.
ReleaseAppl3 Bool False IN (OUT) - Unacquire from application.
DisableAppl3 Bool False IN (OUT) - Order for disabling of the shared
equipment module from application.
EnableAppl3 Bool False IN (OUT) - Order for enabling of the shared
equipment module from application.
StartAppl3 Bool False IN (OUT) - Start order from application.
3
ResumeAppl Bool False IN (OUT) - Resume order from application.
RestartAppl3 Bool False IN (OUT) - Restart order from application.
ResetAppl3 Bool False IN (OUT) - Reset order from application.
InhibitStartAppl3,4 Bool False IN - Interlock from application for disabling
of Start command.
InhibitPauseAppl3,4 Bool False IN - Interlock from application for disabling
of Pause exception.
InhibitHoldAppl3,4 Bool False IN - Interlock from application for disabling
of Hold exception.
InhibitStopAppl3,4 Bool False IN - Interlock from application for disabling
of Stop exception.
InhibitResumeAppl3,4 Bool False IN - Interlock from application for disabling
of Resume command.
InhibitRestartAppl3,4 Bool False IN - Interlock from application for disabling
of Restart command.
3BUA000146-600 A 143
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
InhibitResetAppl3,4 Bool False IN - Interlock from application for disabling
of Reset command.
InhibitAbortAppl3,4 Bool False IN - Interlock from application for disabling
of Abort exception.
InhibitAcquireAppl3,4 Bool False IN - Interlock from application for disabling
of Acquire command.
InhibitDisableAppl3,4 Bool False IN - Interlock from application for disabling
of Disable command.
InhibitEnableAppl3,4 Bool False IN - Interlock from application for enabling of
Disable command.
InhibitStartNOv3,4,5 Bool False IN - Interlock from application for disabling
of Start command.
InhibitPauseNOv3,4,5 Bool False IN - Interlock from application for disabling
of Pause exception.
InhibitHoldNOv3,4,5 Bool False IN - Interlock from application for disabling
of Hold exception.
InhibitStopNOv3,4,5 Bool False IN - Interlock from application for disabling
of Stop exception.
InhibitAbortNOv3,4,5 Bool False IN - Interlock from application for disabling
of Abort exception.
InhibitResumeNOv3,4,5 Bool False IN - Interlock from application for disabling
of Resume command.
InhibitRestartNOv3,4,5 Bool False IN - Interlock from application for disabling
of Restart command.
InhibitResetNOv3,4,5 Bool False IN - Interlock from application for disabling
of Reset command.
144 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
InhibitDisableNOv3,4,5 Bool False IN - Interlock from application for disabling
of Disable command.
InhibitEnableNOv3,4,5 Bool False IN - Interlock from application for enabling of
Disable command.
InhibitAcquireNOv3,4,5 Bool False IN - Interlock from application for disabling
the Acquire command.
InhibitReleaseNOv3,4,5 Bool False IN - Interlock from application for disabling
the Release command.
BatchConnection BatchConnectio Default IN/OUT - Connection to phases.
n
BatchData BatchDataExcep IN (OUT) - Status of phase parameters and
tion attributes.
Exception BatchException Default IN (OUT) - Exception from code/application.
ExceptionSeverityHSI Dint 100 IN - Severity for exceptions from faceplate.
ExceptionSeverityBM Dint 50 IN - Severity for exceptions from batch
manager.
Status EquipmentModu Default OUT - Status.
leBatchStatus
AESeverity Dint 500 IN - Severity of logged events from 1 (low) to
1000 (high).
AEClass Dint 1 IN - Class logged events belongs (to from 1
to 9999).
3BUA000146-600 A 145
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
LEGInhibitControl Dint 0 0 - Always inhibit the deploying (Go
command) and rejecting (Revert command)
of online changes made using the Load-
Evaluate-Go functionality.
1 - Inhibit the Go and Revert commands
except when the state of the SEM and all of
the associated phases is Idle.
All batch components that inhibit the Go and
Revert commands will be listed in the
Evaluation report.
NOTE:
1. To delete an ISA-88 code block:
a. Open unit or phase type to edit in Control Builder.
b. Delete code block.
c. Save type.
d. Open Core module to edit connections.
e. Delete parameter name of code block that was deleted.
f. Save Core module connections.
2. To add an ISA-88 code block:
a. Open unit or phase type to edit in Control Builder.
b. Add code block (only structured text and SFC type).
c. Save type.
d. Open Core module to edit connections.
e. Add code block (exact code block tab label) to Core module.
f. Save Core module connections.
3. These must be connected (from the shared equipment type) before being used.
4. Inhibiting this command or exception from the application actually inhibits this command or exception no matter
where it is sent from.
5. Use caution when implementing these parameters because they cannot be overridden from the faceplate.
146 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Throw ProduceITBatchLib.ThrowBatchException.
The ThrowBatchException function block is used to create and send exceptions to
the core modules from the application code. The function block evaluates the status
of the current exception. If the new exception has higher priority, then it will be sent
to the core. Table 23 lists the parameters used by this function block.
Initial
Name Data Type Attribute Direction Description
Value
Req Bool In False Requests one create
operation on positive edge
Exception BatchException In_Out To be connected to the
exception parameter of the
core module
TargetState Dint Retain In 0 The state that is the target
of the exception:
Idle = 0
Running = 1
Pause = 2
Hold = 3
Stop = 4
Abort = 5
Scope1 Dint Retain In 0 Scope of the exception:
Local = 0
Unit/shared equipment
module = 1
ExceptionID String (10 Retain In ID of exception
characters max)
ExceptionSeverity Dint Retain In 0 The severity within
TargetState
Description String (40 Retain In Description of the exception
characters max)
3BUA000146-600 A 147
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Attribute Direction Description
Value
Status Dint Retain Out Result of last created and
sent exception
Error Bool Retain Out True if exception wasn't
created and sent
NOTE: 1. All ThrowBatchExceptions (from shared equipment) are treated as having unit/shared equipment scope
regardless of the Scope parameter value
Priority components are evaluated in the order: TargetState (listed highest to lowest
- abort = 5, stop = 4, hold = 3, pause = 2), Severity, Scope (unit/shared equipment-
scope being higher than phase-scope). Lower “priority” (the evaluated value)
TargetState values than the current exception will be disregarded. No exception will
be created and sent if any of the parameters are out of range. If an exception isn’t
created and sent, the reason can be interpreted from the Status parameter using the
following error codes.
1 Exception successfully thrown
-38 Parameter value is outside allowed limits
-5630 An exception with higher target state is already thrown
-5631 An exception with higher severity is already thrown
-5632 An exception with Unit scope and equal severity is already thrown
A unique scenario can sometimes occur when a shared equipment module tries to
throw a batch exception. If a shared equipment module meets the condition to throw
a batch exception, an evaluation is made to determine if the shared equipment
module can transition to the target state specified in the batch exception. If the
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 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.
148 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Another unique scenario can sometimes occur when a phase throws a shared
equipment module scope batch exception. The exception will be executed first at the
phase and then at the shared equipment module.
Example (Unit/Shared Equipment Scope)
IF MonitorUnitError THEN (* Always attempting to throw when exception
condition is true *)
Throw(Req := false,
Exception := Exception);
Throw(Req := true,
Exception := Exception,
TargetState := ThrowTargetState,
Scope := 1,
ExceptionID := MonitorErrorID,
ExceptionSeverity := 50,
Description := MonitorGErrorMessage);
END_IF;
Example (Process Condition, One Shot)
(* Monitor for ProcessError Only attempts throw when ProcessError condition
changes 0 to 1 *)
Throw(Req := ProcessError,
Exception := Exception,
TargetState := ThrowTargetState,
Scope := 1,
ExceptionID := MonitorErrorID,
ExceptionSeverity := 50,
Description := MonitorGErrorMessage);
3BUA000146-600 A 149
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
Exception BatchException N/A IN/OUT - Connect this to the Exception parameter of the
core module
Example
(* Programatically clears the Exception when ClearError is True *)
If ClearError then
Clear(Exception := Exception);
ClearError := false;
end_if;
UnitTemplate
This control module is a template for the implementation of a unit control module
type in the controller. A unit module contains all unit-specific functions, unit logic,
exceptions, and all defined phases for the unit. Create an instance of the unit control
module type to implement a unit control module. Table 25 list the parameters used
by this template. Table 26 lists the variables used by this template.
Initial
Name Data Type Description
Value
Name String (32 N/A IN - Name of the unit
characters max)
ExceptionSeverityHSI Dint 100 IN - Severity for exceptions from faceplate
150 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
ExceptionSeverityBM Dint N/A IN - Severity for exceptions from batch
manager
Status UnitBatchStatus Default OUT - Status, connected by default to core
Initial
Name Data Type Description
Value
Exception BatchException N/A Exception from code. connected to core and
used by ThrowBatchException (by default)
_bBatchConnection BatchConnection N/A Connection to Core and phase modules
_bData BatchDataConne N/A Connection between Core and
ction parameters/attributes
SetCompleteStatus Dint N/A Not currently used
RunningComplete Bool N/A Enables the user to transition from the first SFC
to the second SFC.
This template has code blocks associated with the Running, Holding, Restarting,
Stopping, Aborting, and Monitor states. Interlock parameters can be connected to
the unit core module. Phases are added using the Batch Equipment aspect. The
names of phases are created in a start code block by concatenating the unit name and
a string constant variable assigned to the phase instance name.
3BUA000146-600 A 151
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
UnitName String (32 N/A In - Name of the unit
characters max)
RunningCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Running and Pausing
states
PausedCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Paused state
HoldingCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Holding state
HeldCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Held state
RestartingCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Restarting state
StoppingCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Stopping state
StoppedCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Stopped state
AbortingCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Aborting state
AbortedCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Aborted state
IdleCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Idle state
OutOfServiceCode1,2 CodeblockAttribut Default IN/OUT - Code block control variable for code
es block associated with Disabled state
AcquireAppl3 Bool False IN (OUT) - Acquire from application.
152 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
BatchIDAppl3 Bool False IN (OUT) - BatchID for acquire from
application.
ReleaseAppl3 Bool False IN (OUT) - Unacquire from application.
DisableAppl3 Bool False IN (OUT) - Order for disabling of the shared
unit from application.
EnableAppl3 Bool False IN (OUT) - Order for enabling of the unit from
application.
StartAppl3 Bool False IN (OUT) - Start order from application.
AbortAppl3 Bool False IN (OUT) - Abort order from application
StopAppl3 Bool False IN (OUT) - Stop order from application
3
HoldAppl Bool False IN (OUT) - Hold order from application
PauseAppl3 Bool False IN (OUT) - Pause order from application
ResumeAppl3 Bool False IN (OUT) - Resume order from application.
RestartAppl3 Bool False IN (OUT) - Restart order from application.
ResetAppl3 Bool False IN (OUT) - Reset order from application.
InhibitStartAppl3,4 Bool False IN - Interlock from application for disabling of
Start command.
InhibitPauseAppl3,4 Bool False IN - Interlock from application for disabling of
Pause exception.
InhibitHoldAppl3,4 Bool False IN - Interlock from application for disabling of
Hold exception.
InhibitStopAppl3,4 Bool False IN - Interlock from application for disabling of
Stop exception.
InhibitResumeAppl3,4 Bool False IN - Interlock from application for disabling of
Resume command.
3BUA000146-600 A 153
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
InhibitRestartAppl3,4 Bool False IN - Interlock from application for disabling of
Restart command.
InhibitResetAppl3,4 Bool False IN - Interlock from application for disabling of
Reset command.
InhibitAbortAppl3,4 Bool False IN - Interlock from application for disabling of
Abort exception.
InhibitReleaseAppl3,4 Bool False IN - Interlock from application for disabling of
Release command.
InhibitAcquireAppl3,4 Bool False IN - Interlock from application for disabling of
Acquire command.
InhibitDisableAppl3,4 Bool False IN - Interlock from application for disabling of
Disable command.
InhibitEnableAppl3,4 Bool False IN - Interlock from application for enabling of
Disable command.
InhibitStartNOv3,4,5 Bool False IN - Interlock from application for disabling of
Start command.
InhibitPauseNOv3,4,5 Bool False IN - Interlock from application for disabling of
Pause exception.
InhibitHoldNOv3,4,5 Bool False IN - Interlock from application for disabling of
Hold exception.
InhibitStopNOv3,4,5 Bool False IN - Interlock from application for disabling of
Stop exception.
InhibitAbortNOv3,4,5 Bool False IN - Interlock from application for disabling of
Abort exception.
InhibitResumeNOv3,4, Bool False IN - Interlock from application for disabling of
5 Resume command.
154 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Description
Value
InhibitRestartNOv3,4,5 Bool False IN - Interlock from application for disabling of
Restart command.
InhibitResetNOv3,4,5 Bool False IN - Interlock from application for disabling of
Reset command.
InhibitDisableNOv3,4,5 Bool False IN - Interlock from application for disabling of
Disable command.
InhibitEnableNOv3,4,5 Bool False IN - Interlock from application for enabling of
Disable command.
InhibitAcquireNOv3,4, Bool False IN - Interlock from application for disabling the
5
Acquire command.
InhibitReleaseNOv3,4, Bool False IN - Interlock from application for disabling the
5 Release command.
BatchConnection BatchConnection Default IN/OUT - Connection to phases.
BatchData BatchDataExcept IN (OUT) - Status of phase parameters and
ion attributes.
Exception BatchException Default IN (OUT) - Exception from code/application.
ExceptionSeverityHSI Dint 100 IN - Severity for exceptions from faceplate.
ExceptionSeverityBM Dint 50 IN - Severity for exceptions from batch
manager.
Status EquipmentModul Default OUT - Status.
eBatchStatus
AESeverity Dint 500 IN - Severity of logged events from 1 (low) to
1000 (high).
AEClass Dint 1 IN - Class logged events belongs (to from 1 to
9999).
3BUA000146-600 A 155
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
LEGInhibitControl Dint 0 0 - Always inhibit the deploying (Go
command) and rejecting (Revert command)
of online changes made using the Load-
Evaluate-Go functionality.
1 - Inhibit the Go and Revert commands
except when the state of the unit and all of the
associated phases is Idle.
All batch components that inhibit the Go and
Revert commands will be listed in the
Evaluation report.
NOTE:
1. To delete an ISA-88 code block:
a. Open unit or phase type to edit in Control Builder.
b. Delete code block.
c. Save type.
d. Open Core module to edit connections.
e. Delete parameter name of code block that was deleted.
f. Save Core module connections.
2. To add an ISA-88 code block:
a. Open unit or phase type to edit in Control Builder.
b. Add code block (only structured text and SFC type).
c. Save type.
d. Open Core module to edit connections.
e. Add code block (exact code block tab label) to Core module.
f. Save Core module connections.
3. These must be connected (from the shared equipment type) before being used.
4. Inhibiting this command or exception from the application actually inhibits this command or exception no matter
where it is sent from.
5. Use caution when implementing these parameters because they cannot be overridden from the faceplate.
156 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
Initial
Name Data Type Attribute Direction Description
Value
Req Bool In False Requests one create
operation on positive edge
Exception BatchException In_Out To be connected to the
exception parameter of the
core module
TargetState Dint Retain In 0 The state that is the target
of the exception:
Idle = 0
Running = 1
Pause = 2
Hold = 3
Stop = 4
Abort = 5
Scope1 Dint Retain In 0 Scope of the exception:
Local = 0
Unit/shared equipment
module = 1
ExceptionID String (10 Retain In ID of exception
characters max)
ExceptionSeverity Dint Retain In 0 The severity within
TargetState
Description String (40 Retain In Description of the exception
characters max)
Status Dint Retain Out Result of last created and
sent exception
Error Bool Retain Out True if exception wasn't
created and sent
NOTE: 1. All ThrowBatchExceptions (from shared equipment) are treated as having unit/shared equipment scope
regardless of the Scope parameter value
3BUA000146-600 A 157
Templates Section 4 Equipment Configuration (Batch Advanced Templates)
Priority components are evaluated in the order: TargetState (listed highest to lowest
- abort = 5, stop = 4, hold = 3, pause = 2), Severity, Scope (unit/shared equipment-
scope being higher than phase-scope). Lower "priority" (the evaluated value)
TargetState values than the current exception will be disregarded. No exception will
be created and sent if any of the parameters are out of range. If an exception is not
created and sent, the reason can be interpreted from the Status parameter using the
following error codes.
1 Exception successfully thrown
-38 Parameter value is outside allowed limits
-5630 An exception with higher target state is already thrown
-5631 An exception with higher severity is already thrown
-5632 An exception with Unit scope and equal severity is already thrown
A unique scenario can sometimes occur when a unit tries to throw a batch exception.
If a unit meets the condition to throw a batch exception, an evaluation is made to
determine if the unit can transition to the target state specified in the batch
exception. If the unit 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 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.
Another unique scenario can sometimes occur when a phase throws a unit scope
batch exception. The exception will be executed first at the phase and then at the
unit.
Example (Unit/Shared Equipment Scope)
IF MonitorUnitError THEN (* Always attempting to throw when exception
condition is true *)
Throw(Req := false,
Exception := Exception);
Throw(Req := true,
Exception := Exception,
TargetState := ThrowTargetState,
Scope := 1,
ExceptionID := MonitorErrorID,
158 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Templates
ExceptionSeverity := 50,
Description := MonitorGErrorMessage);
END_IF;
Example (Process Condition, One Shot)
(* Monitor for ProcessError Only attempts throw when ProcessError condition
changes 0 to 1 *)
Throw(Req := ProcessError,
Exception := Exception,
TargetState := ThrowTargetState,
Scope := 1,
ExceptionID := MonitorErrorID,
ExceptionSeverity := 50,
Description := MonitorGErrorMessage);
Initial
Name Data Type Description
Value
Exception BatchException N/A IN/OUT - Connect this to the Exception parameter of the
core module
3BUA000146-600 A 159
High and Low Limit Behavior Section 4 Equipment Configuration (Batch Advanced Templates)
Example
(* Programatically clears the Exception when ClearError is True *)
If ClearError then
Clear(Exception := Exception);
ClearError := false;
end_if;
Phase
The parameters are added to a phase control module type by:
1. Selecting the Batch Phase aspect of the phase control module type.
2. Selecting the parameters sheet.
3. Using the insert a new phase parameter button to configure all the phase
parameters for the phase.
These parameters are set to the values configured in the equipment phase when this
phase is started. These parameters cause the creation of phase parameters and
variables which can be used in the logic editor window. Phase parameters and
variables are of the BatchReal, BatchDint, and BatchString data types.
Table 30 lists the internal variables used by the BatchReal and BatchDint data types.
Name Description
InValue Value sent from batch procedure
Value Value of data type
HighValue Upper outer limit
LimitedHighValue Upper inner limit
160 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) High and Low Limit Behavior
Name Description
LimitedLowValue Lower inner limit
LowValue Lower outer limit
Status Status of the data type:
1 = OK
2 = Waiting for initial value
-38 = InValue outside of limits
Table 31 lists the internal variables used by the BatchString data type.
Name Description
InValue Value sent from batch procedure
Value Value of data type
Status Status of the data type:
1 = OK
2 = Waiting for initial value
During normal operation, the batch procedure sends values to the InValue variable
of the data type that is used by the parameters added to the phase. For BatchReal
and BatchDint data types, this value is evaluated against the inner
(LimitedHighValue and LimitedLowValue variables) limits. If the value is within
the inner limits, the Value variable is sent equal to the InValue Variable and the
Status variable is set to 1. If the value is outside of the inner limits, the Value
variable retains its last value and the Status variable is set to -38.
The inner limits are set equal to the outer limits each time the phase is reset. The
inner limits can be changed through an application or OPC write command from
any source (a batch procedure for example). When trying to set an inner limit to a
value that is outside of the outer limits, the inner limit will be set to the outer limit
value.
3BUA000146-600 A 161
High and Low Limit Behavior Section 4 Equipment Configuration (Batch Advanced Templates)
BatchString data types have no inner or outer limits. The string value sent to the
InValue variable is truncated (if necessary) at 140 characters by default. The Value
variable is automatically set equal to the InValue variable and the Status variable is
set to 1.
Unit control module types contain formal instances of phase control module types
which contain phase parameters. When an instance of the unit control module type
is created (in the Control Structure), the phase parameter values in the phase control
module that is a part of the created unit control module are identical to those in the
phase control module type formal instance within the unit control module type.
These parameter values can be edited on the Phase sheet of the BatchEquip aspect
of the unit control module instance. The first time that parts of an application are
downloaded to a controller, a cold restart of the controller is performed. This
ensures that the controller and the Batch Management aspects contain the same
values.
Editing phase parameters (in the Batch Management aspects) after the control
modules have been downloaded causes Batch Management to consider these edited
values as the parameter limits for recipe phases. Since these values are not actually
in the controller, the controller must be updated before Batch Management tries to
utilize the edited values in runtime recipes. There are three ways of accomplishing
this:
• Download the control modules to the controller and cold restart the controller.
• Use Control Builder to online edit the parameter values in the controller to
match the Batch Management aspect values.
• Create a graphic that contains an OPC write command that changes the
parameter values and set the controller values equal to the Batch Management
aspect values.
Inner limit values (LimitedHighValue and LimitedLowValue) should be set to the
same values as the outer limits (HighValue and LowValue).
162 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) High and Low Limit Behavior
Name Description
InValue Value sent from batch procedure
Value Value of data type
HighValue Upper outer limit
LimitedHighValue Upper inner limit
LimitedLowValue Lower inner limit
LowValue Lower outer limit
Status Status of the data type:
1 = OK
-38 = InValue outside of limits
Table 33 lists the internal variables used by the BatchString data type.
Name Description
InValue Value sent from batch procedure
3BUA000146-600 A 163
Batch Object Communication Section 4 Equipment Configuration (Batch Advanced Templates)
Name Description
Value Value of data type
Status Status of the data type:
1 = OK
During normal operation, the batch procedure sends values to the InValue variable
of the data type that is used by the attributes added to the unit or shared equipment.
For BatchReal and BatchDint data types, this value is evaluated against the inner
(LimitedHighValue and LimitedLowValue variables) limits. If the value is within
the inner limits, the Value variable is sent equal to the InValue Variable and the
Status variable is set to 1. If the value is outside of the inner limits, the Value
variable retains its last value and the Status variable is set to -38.
The inner limits are set equal to the outer limits each time the unit or shared
equipment is reset. The inner limits can be changed through an application or OPC
write command from any source (a batch procedure for example). When trying to
set an inner limit to a value that is outside of the outer limits, the inner limit will be
set to the outer limit value.
BatchString data types have no inner or outer limits. The string value sent to the
InValue variable is truncated (if necessary) at 140 characters by default. The Value
variable is automatically set equal to the InValue variable and the Status variable is
set to 1.
164 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Batch Object Communication
control module types and some supporting data types. These modules have
parameters of AnyType type and it is up to the application engineer to specify what
data should be sent from a client to a server and vice versa.
The BatchCommClient control module is a client that connects to a server on
command. Once a connection is established, orders are sent on command. The client
pings the server with a specified time period.
The BatchCommServer control module is a server module that serves client connect
calls and orders. The server module might have one or several extensions of
BatchCommServerExt type. Each extension can handle one client at a time and the
total number of extensions (plus one for the main server) decides the number of
clients that can be connected to one server at a time. The server and the server
extensions handle the client orders and send a reply on command. It is also possible
to define periodic data that is sent from the server to the client at each ping. This
might be used when the client needs to monitor some dynamic server data (a
temperature for example).
It is possible to control the servers from an application code block and to check
connection status. Capacity of a piece of shared equipment can be handled with
calculation code blocks in the application.
The client/server modules are not used in any of the core modules. They are to be
used in the application part of a phase module, unit module, or equipment module.
An example is:
• The client requests a connection to the server. The client specifies the name of
the server, name of the server system, and (optionally) a requested capacity
(real number, default 0.0).
• The server receives the connection request and sends a reply to the client. The
client is granted access if the server or any of its extensions are available and
the requested capacity is available.
• The client receives the reply and indicates the result of the connection
command to the application. The client can now send commands (orders) to the
server. The client also pings the server with a specified period.
• The server sends the periodic data to the client in response to each ping.
3BUA000146-600 A 165
Batch Object Communication Section 4 Equipment Configuration (Batch Advanced Templates)
• The client monitors the ping replies and waits for a send order command from
the application. If a send order command is given, an MMS write with the
specified data is done.
• The server notices that there is a new order. The new order is kept in the server
until the server receives a get data command from the application.
• The server waits for a send reply command from the application. The server
can't receive a new order until the reply has been sent. Send reply commands
sent to the client are rejected until the reply has been received.
• When the reply is received by the client, the client waits for a get data
command. When this command is given, the reply data is copied to the
application and the client is ready to send a new order.
• The client or server sends a disconnect message on command. The other part of
the connection replies to the disconnect and the client and server are available
for another communication session.
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
BatchCommClient
This control module implements the client part of client-server batch
communication. Add this control module to all control modules that are to get
information from server or server extension control modules. A corresponding
BatchCommServer (or BatchCommServerExt) control module needs to be added to
the control module sourcing the information. Table 34 lists the parameters used by
this control module.
Refer to Batch Object Communication on page 164 for more information.
BatchCommServer
This control module (together with the BatchCommServerExt control module)
implements the server part of client-server batch communication. Add this control
module to all control modules that are the source of information for a client control
module. Multiple BatchCommServerExt control modules can be associated with a
166 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Batch Object Communication
Initial
Name Data Type Description
Value
ClientName String (30 IN - Name of the client, must be literal text string
characters max) that is unique within the controller and contained
within single quotation marks.
Execute BatchCommClie Default IN - Command parameter
ntExecute
ClientOrder1 AnyType Default IN - Order from client to server
ServerConnected Bool False OUT - Connection established and server is
reserved by the client
ConnectFailed Bool False OUT - Attempt to connect and reserve the
resource
ServerReply1 AnyType Default OUT - A reply from server to client
NewReplyReceived Bool Default OUT - New reply from server is available
ServerPeriodicData AnyType Default OUT - Data from the PeriodicData parameter
1
sent from the server
PingPeriod Dint 10000 IN - Period (in msec) for client to send order to
server. This period is established when the
connection to the server is established and
remains fixed for the duration of the connection.
PingStatus Dint Default OUT - Status of the ping connection. No answer
in 3*PingPeriod generates an error.
Status Dint Default OUT - Command status of client module.
Standard and MMS codes and the following code
are used:
-5640 Data from not connected server has been
received
3BUA000146-600 A 167
Batch Object Communication Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
Confirmation Dint Default OUT - Confirmation of different commands:
- n = Command not confirmed
1= Confirmed Connect command
2 = Confirmed Send command
3 = Confirmed Get Reply command
4 = Confirmed Disconnect command
Error Bool Default OUT - Command error
NewPeriodicDataRe Bool False OUT - New copy of the PeriodicData parameter
ceived sent from server and copied to the
ServerPeriodicData parameter. User application
must reset this parameter to False as it is not
done automatically. The server sends the
PeriodicData parameter to the client in response
to receiving the ClientPeriodicData parameter.
ClientPeriodicData2 AnyType Default IN - Ping data sent from client to associated
server periodically (or by ForcePing)
ForcePing Bool False IN - Initiate a new ping cycle (reset the start of
the ping period).
The application sets this parameter to True.
NOTES:
1. The data type used by this parameter must have a BatchCommHeader data structure as the first element of the data
type.
2. This parameter does not have a default connection. Importing older batch configurations into Batch Management 5.0
systems causes an Unconnected Parameter error for each instance of BatchCommClient. Set the initial value to a
dummy variable of the type Any Type.
168 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Batch Object Communication
Initial
Name Data Type Description
Value
ServerName String (30 IN - Name of the server, must be literal text string
characters max) that is unique within the controller and contained
within single quotation marks.
Execute BatchCommSer Default IN - Execute commands
verExecute
AvailableCapacity Real Default In - Available capacity in the resource
GrantedCapacity Real Default OUT - The capacity granted by this server
InhibitConnection Bool Default IN - Interlock for connection
ClientName String (32 Default IN - Name of the connected client
characters max)
NewOrderReceived Bool Default OUT - New order from client is available
1
ClientOrder AnyType Default OUT - Client order
ReplyData1 AnyType Default IN - Reply data to client
PeriodicData1 AnyType Default IN - Periodic data sent to the client
ClientConnected Bool Default OUT - True when client connection is active
PingStatus Dint Default OUT - Status of the ping connection. No answer
in 3*PingPeriod generates an error.
Status Dint Default OUT - Command status of client module.
Standard and MMS codes and the following code
are used:
-5640 Data from not connected server has been
received
Confirmation Dint Default OUT - Confirmation of different commands:
- n = Command not confirmed
1= Confirmed Get Order command
2 = Confirmed Reply command
3 = Confirmed Disconnect command
3BUA000146-600 A 169
Batch Object Communication Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
Error Bool Default OUT - Command error
NewPeriodicDataRe Bool False OUT - New copy of the ClientPeriodicData
ceived parameter sent from client and copied to the
PeriodicDataFromClient parameter. User
application must reset this parameter to False as
it is not done automatically. The server sends the
PeriodicData parameter to the client in response
to receiving the ClientPeriodicData parameter.
PeriodicDataFromCl AnyType Default OUT - Data from the ClientPeriodicData
ient parameter sent from the client
ForcePeriodicDataT Bool False IN - Force a one-time, one-way sending of
oClient PeriodicData to the client.
NOTE: 1. The data type used by this parameter must have a BatchCommHeader data structure as the first element of
the data type.
service one client at a time. Refer to Batch Object Communication on page 164 for
more information.
BatchCommServerExt
This control module (together with the BatchCommServer control module)
implements the server part of client-server batch communication. Add this control
module to control modules already containing the BatchCommServer control
module that are a source of information to a BatchCommClient control module.
Table 36 lists the parameters used by this control module.
The server extension control module must be connected to a BatchCommServer
control module. The BatchCommServer takes care of all connect calls from clients
and arranges a connection between an extension (if there are any not being used)
and the client. Refer to Batch Object Communication on page 164 for more
information.
170 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) Batch Object Communication
Initial
Name Data Type Description
Value
Execute BatchCommSer Default IN - Execute commands
verExecute
InhibitConnection Bool Default IN - Interlock for connection
ClientName String (32 Default IN - Name of the connected client
characters max)
NewOrderReceived Bool Default OUT - New order from client is available
ClientOrder1 AnyType Default OUT - Client order
ReplyData1 AnyType Default IN - Reply data to client
PeriodicData1 AnyType Default IN - Periodic data sent to the client
ClientConnected Bool Default OUT - True when client connection is active
PingPeriod Dint Default OUT - Status of the ping communication. No
answer in 3*PingPeriod generates an error.
Status Dint Default OUT - Command status of client module.
Standard and MMS codes and the following code
are used:
-5640 Data from not connected server has been
received
Confirmation Dint Default OUT - Confirmation of different commands:
- n = Command not confirmed
1 = Confirmed Get Order command
2 = Confirmed Reply command
3 = Confirmed Disconnect command
Error Bool Default OUT - Command error
NextExtension BatchCommSer Default OUT - Command error
verConnection
PrevExtension BatchCommSer OUT - Connection to previous server extension
verConnection or server
3BUA000146-600 A 171
AC 800M/C Memory Usage Section 4 Equipment Configuration (Batch Advanced Templates)
Initial
Name Data Type Description
Value
NewPeriodicDataRe Bool False OUT - New copy of the ClientPeriodicData
ceived parameter sent from client and copied to the
PeriodicDataFromClient parameter. User
application must reset this parameter to False as
it is not done automatically. The server sends the
PeriodicData parameter to the client in response
to receiving the ClientPeriodicData parameter.
PeriodicDataFromCl AnyType Default OUT - Data from the ClientPeriodicData
ient parameter sent from the client
ForcePeriodicDataT Bool False IN - Force a one-time, one-way sending of
oClient PeriodicData to the client.
NOTE: 1. The data type used by this parameter must have a BatchCommHeader data structure as the first element of
the data type.
Memory For
Memory For Type
Module Instance
(Kbytes)1
(Kbytes)1
Unit2 73 7.5
172 3BUA000146-600 A
Section 4 Equipment Configuration (Batch Advanced Templates) AC 800M/C Memory Usage
Memory For
Memory For Type
Module Instance
(Kbytes)1
(Kbytes)1
SEM attribute string3 0.7
Phase2 54 7.5
3BUA000146-600 A 173
AC 800M/C Memory Usage Section 4 Equipment Configuration (Batch Advanced Templates)
174 3BUA000146-600 A
Section 5 Equipment Configuration (EPT
Control Modules)
Introduction
This section describes the configuration of Batch Management equipment using
EPT (equipment procedure template) control modules.
Overview
Equipment 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.
EPT error information is propagated from the EPT control module to the Batch
Manager by the Seq.StringInfo (string) OPC atom. This value is used in the alarm
and event messages and displayed in the Errors field in the block status dialog.
The Batch Manager does not use the Seq.Error (boolean), Seq.Status (dint), and
Seq.OtherInfo (string) OPC atoms.
3BUA000146-600 A 175
Equipment Phase Logic Section 5 Equipment Configuration (EPT Control Modules)
Phases
Phases 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.
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.
2. Select a phase.
176 3BUA000146-600 A
Section 5 Equipment Configuration (EPT Control Modules) Phases
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 35.
Table 38 describes the parameter fields.
Field Description
Name Defines the name of the parameter.
Description Detailed description of the parameter.
Type The three 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 parameter. 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 to set a property within a piece of batch equipment, the
OPC data point is unit relative.
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.).
3BUA000146-600 A 177
Phases Section 5 Equipment Configuration (EPT Control Modules)
Field Description
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.
178 3BUA000146-600 A
Section 5 Equipment Configuration (EPT Control Modules) Batch Equipment
parameter names (on the phase parameters sheet) will be renamed (not moved) if the
paste operation is allowed to continue.
Renaming a phase parameter may require that the OPC data point for that
parameter (if specified in the equipment phase) be modified.
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 36. Only after the phases are assigned to the equipment will this sheet
display information.
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.
3BUA000146-600 A 179
Batch Equipment Section 5 Equipment Configuration (EPT Control Modules)
180 3BUA000146-600 A
Section 5 Equipment Configuration (EPT Control Modules) Batch Equipment
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 4, Equipment
Configuration (Batch Advanced Templates) for more information about
using this controller type.
DCI - DCI controller is being used.
Harmony - Harmony controller is being used.
MOD300 - MOD 300 controller is 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.
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 O, 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.
Unit Active Specifies if the equipment is activated for use by Batch Management. If
this option is disabled, the equipment will not be available nor will Batch
Management try to connect to it. The equipment will also not be included
in the Equipment Overview window. For more information on Batch Unit
Activation, refer to the section Batch Unit Activation on page 183.
3BUA000146-600 A 181
Batch Equipment Section 5 Equipment Configuration (EPT Control Modules)
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.
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. 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
unitattput/unitattputs commands).
A recipe can also write the values to the attribute with the Access Level of “No
Access” for the following attribute types/fields:
• OPC properties (OPC Datapoint, OPC Float, OPC Integer and OPC Text)
• In Controller
A recipe cannot write the values to No Access Local attributes (Float, Integer and
Text).
Constraints Displays the constraint list for text type attribute.
182 3BUA000146-600 A
Section 5 Equipment Configuration (EPT Control Modules) Batch Unit Activation
3BUA000146-600 A 183
Equipment Phases Section 5 Equipment Configuration (EPT Control Modules)
Equipment Phases
Batch 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 Batch Equipment aspect of the equipment object.
2. Click the insert a new equipment phase button.
3. Select the recipe phase that can execute this equipment phase in the Phase to
Insert dialog box and click OK.
184 3BUA000146-600 A
Section 5 Equipment Configuration (EPT Control Modules) Equipment Phases
4. Enter the phase alias name (the name used by procedure developers) in the
Phase Alias field. Refer to Figure 39. The recipe phase name is the default
phase alias name.
5. Select the name of the equipment phase in the Control Module Path for EPT
field using the Select Control Module window. Refer to Figure 40.
3BUA000146-600 A 185
Equipment Phases Section 5 Equipment Configuration (EPT Control Modules)
6. 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 7.
7. 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 41).
9. Repeat Step 2 through Step 8 for every equipment phase that can be executed
on this equipment.
10. Repeat Step 1 through Step 9 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.
186 3BUA000146-600 A
Section 5 Equipment Configuration (EPT Control Modules) Equipment Groups
In the controller code, set the Seq.StringInfo field to an empty string on both the Idle
and Restarting code tabs. Also configure the code (on the Controller tab) to check
the alarm condition. When the alarm condition no longer exists, set Seq.Error to
false and Seq.StringInfo to an empty string.
Equipment Groups
Equipment 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 229 for more information.
New equipment groups objects are added to the appropriate object within the
Equipment Structure in the usual manner. New equipment group objects are added
to the appropriate equipment groups object in the usual manner.
To configure an equipment group object:
1. Select the Equipment Group aspect of the equipment group object.
2. Use the buttons to move batch enabled equipment from the Available
Equipment area to the Equipment In Group area and apply the changes. Refer
3BUA000146-600 A 187
Equipment Groups Section 5 Equipment Configuration (EPT Control Modules)
to Figure 42.
188 3BUA000146-600 A
Section 6 Procedures
Introduction
Up 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.
The functions and features described in this section are only available while in the
800xA system production environment.
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 formulas 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 it indicates batch status through the changes in block color and
windows that display:
• Subprocedure PFCs.
• Error messages.
• Parameter configuration.
• Equipment phase faceplates.
• Equipment phase logic.
3BUA000146-600 A 189
PFC Types Section 6 Procedures
TC02131B
PFC Types
Each 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
hierarchical order. The four types, from simple to complex, are recipe procedure,
unit procedure, operation and exception procedure.
190 3BUA000146-600 A
Section 6 Procedures Recipe Procedure
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.
It is recommended to avoid recipes which are recursive (calling back and forth
from one recipe to the other), as this may cause adverse side effects.
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.
3BUA000146-600 A 191
Operation Section 6 Procedures
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 Procedure
Prior 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 Window on page 204.
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.
192 3BUA000146-600 A
Section 6 Procedures Layered Procedure
An example is provided in Figure 44 and Figure 45. These figures contain the PFCs
for a procedure named SoupRecipe and two subprocedures, SoupAddIngred and
SoupProcIngred.
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, which is invoked when the add ingredients operation is reached in
the top level procedure. Refer to Branch [start] on page 216.
3BUA000146-600 A 193
Procedure Handling Section 6 Procedures
Procedure Handling
Procedures are created, copied, moved, pasted, and deleted in usual workplace
manner. The comparing of procedures and procedure approval are also discussed in
the following topics. The procedure structure should be used to contain recipe
194 3BUA000146-600 A
Section 6 Procedures Version Control
Version Control
Procedures can exist in several possible lifecycle states represented by the following
aspects:
• Approved Procedure.
• Development Procedure.
• Version Procedure.
These aspects are placed on 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.
3BUA000146-600 A 195
Create Section 6 Procedures
Create
To create a new procedure:
• Add a procedure object to the appropriate procedures object in the Procedure
Structure.
- or -
• Use the File > New option in the PFC Editor window.
196 3BUA000146-600 A
Section 6 Procedures Edit
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, right click the Development Procedure
aspect or the procedure object and select Edit Procedure or Edit Development
Procedure. It is also possible to select File > Open in the PFC Editor window to
edit a procedure.
To edit an Approved Procedure or Version Procedure aspect:
1. Right click the Approved Procedure or Version Procedure aspect of the
procedure and select Edit Procedure.
2. If a Development Procedure aspect currently exists, click Yes when prompted
that it will be overwritten.
While editing a procedure, the data get stored automatically. User can recover the
data, even if the system crashes while editing a procedure.
If the specific procedure is opened after the system crash, it gives an option to the
user to reload the last unsaved data.
The PFC Editor window will then be displayed. This window and the graphical
tools it contains (used to build PFCs) are discussed in Procedure Configuration
Window on page 204.
The PFC Editor 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 PFC Editor window in this
manner is discussed in Control Recipes on page 202 and in the System 800xA Batch
Management Operation (3BUA000145*).
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 and select Approve Procedure or Approve Development
Procedure.
2. Select a version number and reason for the approval.
3BUA000146-600 A 197
Cut, Copy, Delete, and Paste Section 6 Procedures
Compare
To compare procedures for differences:
1. Right click any procedure aspect (Approved Procedure, Development
Procedure, or Version Procedure) of any procedure and select Difference
Report.
2. Select one of the procedure aspects being compared (any procedure, any
version) in the Compare field in the Select Procedures To Difference window.
3. Select the second procedure aspect being compared in the To field and click
Compare.
198 3BUA000146-600 A
Section 6 Procedures Cross-References
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
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), right click the desired procedure
aspect and select Version History.
3BUA000146-600 A 199
Version History Section 6 Procedures
The name, version, state, type, and history of the procedure aspect are displayed in
the view history window (Figure 49).
200 3BUA000146-600 A
Section 6 Procedures Procedure Configuration
Procedure Configuration
Refer to:
• Batch Cells.
• Control Recipes.
• Procedure Configuration Window.
• Block Palette.
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 56.
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.
3BUA000146-600 A 201
Control Recipes Section 6 Procedures
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 50.
3. Click Apply.
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.
Editing a control recipe requires an appropriate access level.
202 3BUA000146-600 A
Section 6 Procedures Control Recipes
For a thorough discussion of how editing a control recipe can affect the executing
batch, refer to the System 800xA Batch Management Operation (3BUA000145*).
Also included is information on continuing the execution of the procedure and
cancelling the runtime edit.
3BUA000146-600 A 203
Procedure Configuration Window Section 6 Procedures
204 3BUA000146-600 A
Section 6 Procedures Procedure Configuration Window
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 94.
Each procedure function chart is configured as a sequence of operations represented
by objects. To build a PFC:
1. Drag the operation from the block palette.
2. Position the operation in the appropriate location in the working view.
3. Link the operations together using the connector tool.
4. Configuring each phase, procedure, batch manager action and transition object
placed in the working view to specify the details of the operation:
a. Select the operation.
a. Select Edit > Block Properties.
3BUA000146-600 A 205
Procedure Configuration Window Section 6 Procedures
File Menu
File menu contains the following Standard Windows options:
• Save (Ctrl+S).
Saves the created procedure.
• Exit.
Closes the PFC Editor. If the existing procedure is unsaved, then it prompts the
user to a dialog window to save or close the editor with out saving it.
206 3BUA000146-600 A
Section 6 Procedures Procedure Configuration Window
Edit Menu
Edit menu provides the options such as:
• Undo (Ctrl+Z).
Cancel the latest performed actions. If a procedure is saved after alteration,
then the actions can not be undone.
• Redo (Ctrl+Y).
Redo the undone actions.
• Cut (Ctrl+X).
Cut the selected object(s).
• Copy (Ctrl+C).
Copy the selected object(s).
• Paste (Ctrl+V).
Paste the copied object(s).
• Delete.
Delete the selected object(s).
• Select All (Ctrl+A).
Selects all the objects placed in the PFC Editor.
Standard Windows multi-select functionality is also available. SHIFT + click the
required objects one by one to select multiple objects. The selected objects are
outlined in green color dotted lines.
• Select by ID.
This edit menu option is used to select the blocks by their block identifiers.
This option opens the Select by Block ID dialog window. The user has to
select the required Block ID from the drop-down list.
• Block Properties.
This menu option opens the respective property window of the selected block.
For BMA blocks, it opens the Block Configuration dialog window. User has
to select the required action type from the available drop-down list and click
Next to open the respective property dialog window.
3BUA000146-600 A 207
Procedure Configuration Window Section 6 Procedures
View Menu
The View menu in the PFC Editor window contains the following options:
• Toolbar
This menu option has the following sub-menu options, which can be enabled or
disabled to view the respective toolbar items:
– Standard.
Standard toolbar contains various icons as shown in Figure 52.
– View.
View toolbar contains various icons as shown in Figure 52.
– Tools.
Tools toolbar contains various icons as shown in Figure 52.
– Layout.
Layout toolbar contains various icons as shown in Figure 52.
208 3BUA000146-600 A
Section 6 Procedures Procedure Configuration Window
• Gridlines.
This option is used to show or hide the gridlines in the PFC Editor window.
• Block identifiers.
This option displays or hides 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 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, the ID number of the block will not be used
in the PFC.
• Block Palette.
This option displays or hides the palette of procedure components on the left
side of the PFC Editor window.
Drag and Drop Multiple Objects
Select the Multiple Block Drop check box to add multiple blocks of the same type
of object without a drag and drop of the same block each time from the Block
Palette.
The user can also enable the Multiple Block Drop option by selecting on
the Tools toolbar.
To add multiple blocks:
1. Select a block from the Block Palette.
2. Drag and drop the block to the drawing area.
3. Click or double-click to place each block. The mouse cursor changes to “+”
while adding each block.
Press the ESC key or right-click on the drawing area to disable the Multiple
Block Drop option.
Each time the user should enable this option to use this feature.
3BUA000146-600 A 209
Procedure Configuration Window Section 6 Procedures
Tools Menu
The Tools menu in the PFC Editor window contains the following options:
• Edit SOP.
This option is used to configure the standard operating procedure (SOP),
SOP is a text representation of the procedure, which provides a written
explanation of the process to the operator. For more information refer to
Procedure SOP on page 219.
• Check procedure.
This option checks the procedure and provides detailed information about the
errors exist in the procedure.
• Procedure Parameter (Ctrl+P).
This option opens the Procedure Parameters window to configure the
parameters. Refer to Configuration of Procedure Parameters on page 224 for
more information.
• Procedure Counts.
This option obtains the number of phase parameters used by each object in the
PFC. Refer to Counting Phase Parameters on page 256 for more information.
• Procedure Header (Ctrl+H).
This option opens the Batch Procedure Header Configuration window to
configure the administrative information of the specific procedure. Refer to
Procedure Header on page 218 for more information.
• Attach Note.
This option opens the Procedure Notes Configuration window. In this
window, user can enter additional relevant information to the procedure. Use
the Import button to include text from a previously configured file.
• Change Block Type.
This option opens the Block Configuration dialog window. User can select the
required action type from the drop-down list and click Next to open the
respective configuration window.
210 3BUA000146-600 A
Section 6 Procedures Procedure Configuration Window
3BUA000146-600 A 211
Procedure Configuration Window Section 6 Procedures
Layout Menu
The Layout menu in the PFC Editor window contains the following options:
• Auto connect
Select this option to automatically connect the further inserted procedure
objects to the existing procedure objects.
• Auto-align
This option automatically realigns the existing blocks to accommodate the
newly inserted block.
212 3BUA000146-600 A
Section 6 Procedures Procedure Configuration Window
Auto-align and Auto connect options are inter-linked. Disabling Auto connect
option automatically disables Auto-align option also.
• Align to grid
This option aligns the center of the selected objects to the nearest grid
intersection.
• Align
This option properly aligns all the randomly placed connected procedure
objects.
• Order
This menu option has the following sub-menu options to position the
overlapped objects front or back.
– Bring to front.
Brings the selected object to the front of all the overlapped objects.
– Send to back.
Sends the selected object to the back of all the overlapped objects.
– Bring forward.
Brings the selected object to one layer front.
– Send backward.
Sends the selected object to one layer back.
• Help
The help option is enabled and it offers the online help for the users. Figure 54
shows the Help option in the PFC Editor.
3BUA000146-600 A 213
Procedure Configuration Window Section 6 Procedures
214 3BUA000146-600 A
Section 6 Procedures Block Palette
Context Menu
User can access some of the menu items through the context menu as shown in
Figure 55. This menu can be accessed by right-click on the objects placed in the
editor window of the PFC Editor.
Cut, Copy, and Delete options are disabled for Start and End blocks.
Block Palette
The block palette on the left side of the PFC Editor window provides the
components used in the configuration of the procedure function charts. The palette
allows the use of procedure function chart notation for graphically diagramming a
sequence of operations to form a procedure. The palette contains 13 objects that
represent the different types of procedure objects designed for use on a PFC. These
objects are dragged to the appropriate position on the procedure.
Each procedure can have the maximum of:
- 500 objects (objects include Phase, Procedure and Batch Manager Action block
types, Branch Start and End, Parallel Branch Start and End, and Transition).
- 50 legs (Branches).
- 50 legs (Parallel Start).
- 20 Start / End Blocks (for exception procedures).
3BUA000146-600 A 215
Block Palette Section 6 Procedures
Phase
The Phase block (Figure 51) is used to place phase objects, which were defined in
the equipment aspects, onto the PFC. The named phase will be executed in the
requested equipment.
Procedure
The Procedure object (Figure 51) allows the configuration of a procedure in the
PFC. Procedures include a unit procedure or operation.
Branch [start]
The Branch [start] object (Figure 51) 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
the branch will be executed. Branch (start) and branch (end) objects must always be
used in balanced pairs.
It is recommended to ensure that the right-most branch always evaluates to true
by not including a transition in that branch.
Branch [end]
The Branch [end] object (Figure 51) 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 45), where prompts and actions
related to tanks are configured.
216 3BUA000146-600 A
Section 6 Procedures Block Palette
Transition
The transition object (Figure 51) defines a logical expression. The expression can be
simple or 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 277.
3BUA000146-600 A 217
Procedure Header Section 6 Procedures
Procedure Header
A 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 through Tools > Procedure Header.
The Batch Procedure Header Configuration window (Figure 56) will be displayed.
Description
Enter a text description of the procedure which will be used by the system as a short
description field in various online displays.
218 3BUA000146-600 A
Section 6 Procedures Procedure SOP
Procedure SOP
The 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 System 800xA
Batch Management Operation (3BUA000145*) 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.
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.
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.
3BUA000146-600 A 219
Configuration Section 6 Procedures
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.
When a set SOP section BMA is configured, the user enters the section name to
which that BMA will correspond through 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 Tools 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.
Configuration
To begin SOP configuration:
1. Click Tools > Edit SOP from the menu bar. The Standard Operating Procedure
window (Figure 57) will be displayed with the name of the procedure under
configuration appearing in the Procedure field.
2. Enter the desired SOP text, including key words in the appropriate places, in
the text entry area.
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`
220 3BUA000146-600 A
Section 6 Procedures Find a Text String in SOP Text
3BUA000146-600 A 221
SOP Section Index Section 6 Procedures
Procedure Parameters
In Section 3, Parameter, Variable, and Expression Overview, 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.
Section 3, Parameter, Variable, and Expression Overview provides a detailed
discussion of the nature of both phase and procedure parameters, and the potential
relationship between them. The configuration of phase parameters is discussed in
Section 4, Equipment Configuration (Batch Advanced Templates) and Section 5,
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. (Section 3,
Parameter, Variable, and Expression Overview 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.
222 3BUA000146-600 A
Section 6 Procedures Expressions and Variables
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.
3BUA000146-600 A 223
Configuration of Procedure Parameters Section 6 Procedures
variables when the PFC of a batch is on display. For further information, refer to the
System 800xA Batch Management Operation (3BUA000145*).
These variables are not the same as equipment phase variables in the controller.
There are three sets of get and put commands for batch variables, each set with a
different scope:
224 3BUA000146-600 A
Section 6 Procedures Configuration of Procedure Parameters
A list that displays the Parameter, Type, Public/Private, Description, Default Value,
etc. for all parameters that have been configured for the procedure is presented.
3BUA000146-600 A 225
Adding a Parameter Section 6 Procedures
Adding a Parameter
To add a new procedure parameter, click the append parameter toolbar button and
provide the required data. The Procedure Parameter window (Figure 59) will be as
displayed.
226 3BUA000146-600 A
Section 6 Procedures Adding a Parameter
• Public/private option.
• Description.
• Access level.
The Public/Private option determines how the parameter will be assigned a value
when the procedure executes.
If Public is enabled, the 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 through the Parameter Configuration window during the
configuration of SoupRecipe will be used.
If Public is disabled (private parameter), the value of the parameter will always be
the default value configured through the Procedure Parameters 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 the procedure block is configured to include the subprocedure
that the private parameter exists on. The values of private Batch parameters can be
read and set using batch web service function calls.
The column 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 Inherited, which permits the changing of parameters (no
security check is performed). To configure a new access level, select the desired
level in the field. Refer to Security on page 56 for a discussion of enabling and
disabling the ability to change parameters at run time.
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 56 for further
details.
3BUA000146-600 A 227
Adding a Parameter Section 6 Procedures
228 3BUA000146-600 A
Section 6 Procedures Adding a Parameter
For a parameter of type string, the user can configure the characteristic labeled
Default Value. Enter the string to be used as the default value for the parameter in
the Default Value field.
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
top level procedure to assemble a name for the soup based on the kind and
percentages of the meat and vegetable ingredients.
3BUA000146-600 A 229
Adding a Parameter Section 6 Procedures
The Available Equipment and Available Groups tabs contain lists of equipment and
groups created through group configuration in the Equipment Structure.
To add a piece of equipment or group to the equipment list constraints, select the
equipment or group and click >. To select multiple equipment or groups for
inclusion in the Constraint column, press and hold SHIFT while selecting each item
to be included.
If desired, select a default value from the list provided (generated from items
entered in the Constraint column). If no default is selected, the first item in the list is
selected as the default value.
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.
To remove an entry from the Constraints column, select the item to be deleted and
click <.
Default Value - If desired, select a default value from the list provided (generated
from items entered in the Constraint column). If no default is selected, the first
item in the list is selected as the default value.
230 3BUA000146-600 A
Section 6 Procedures Changing a Procedure Parameter
3BUA000146-600 A 231
Checks - Defining Parameter Relationships Section 6 Procedures
232 3BUA000146-600 A
Section 6 Procedures Configuring the PFC
1. Select the number of the first expression and drag the cursor to highlight all the
expressions to be deleted.
2. Right click one of the highlighted expressions and select Delete Expression.
If the conditions stipulated through 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.
Type Description
Recipe procedure Used for the top level procedure. When the ISA-88 Option is selected, it
cannot be used as a subprocedure.
Unit procedure Set of operations or phases that execute on a piece of equipment.
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.
3BUA000146-600 A 233
Procedure Objects Section 6 Procedures
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 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 (that
is, 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 parameters. Procedure parameters configured in the subprocedure are
then available for passing values from higher level procedures. Refer to Configuring
Phase Blocks on page 251.
The procedure function chart is a convenient, object oriented method of creating
graphical representations of procedures and subprocedures. Using the block palette,
procedures and subprocedures are created by placing objects representing phases,
procedures and batch manager actions in the PFC Editor window and joining them
together using the connector tool. Refer to Procedure Configuration Window on
page 204.
Procedure Objects
Refer to Block Palette on page 215 for information about the procedure objects that
can be placed on the PFC.
234 3BUA000146-600 A
Section 6 Procedures Assigning Procedure Boundaries - Start and End Objects
3BUA000146-600 A 235
Allocating and Deallocating Batch Equipment Section 6 Procedures
procedure and transition blocks are configured. The assignment is made by enabling
Procedure Restart Point option in the 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 and select Edit > Block Properties. The
Procedure Restart Point window will open, which contains a single option. When
this option is enabled the selected object is designated as a restart point. Restart
points cannot be assigned to a BMA, phase, procedure block or transition block that
is within a sequence (between sequence start and sequence end BMAs) or 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 283.
If a restart point is assigned to a block that is located within a sequence or parallel
operation, it will be detected and removed when Check Procedure is used. An error
is reported when Save 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
System 800xA Batch Management Operation (3BUA000145*).
236 3BUA000146-600 A
Section 6 Procedures Allocating and Deallocating Batch Equipment
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.
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. When using multiple select BMAs that utilize the same
equipment list type parameter, verify that a deselect BMA has been executed (make
3BUA000146-600 A 237
Configuring PFC Block Labels Section 6 Procedures
the equipment available) before executing another select BMA that utilizes the same
equipment list type parameter.
238 3BUA000146-600 A
Section 6 Procedures Configuring PFC Block Labels
__name: name of the current PFC block (phase alias name or procedure
name).
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 the 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))
}
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"))`
3BUA000146-600 A 239
Configuring PFC Block Labels Section 6 Procedures
This will result in the following display at run time when the block is active:
Heat: F1
FTemp: 120
CTemp: 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.
240 3BUA000146-600 A
Section 6 Procedures Configuring PFC Block Labels
5. Click OK.
To display the alias name and the name, value, and engineering units of up to two
parameters:
1. Enable the Add to Label option. This places the first 15 characters of the alias
name in the top line of the label.
2. Configure how precisely the first parameter value will be displayed by
selecting the number of digits to the right of the decimal to display in the #
Digit After Decimal field. 0, 1 and 2 are the available options with 1 being the
default selection.
3. Select the Add to Label column field for the first parameter to show up in the
block label. The Label Position field for the parameter displays a 2 for the
second block label row from the top. The alias name is always in block label
row one. During phase block label configuration, parameters that do not
contain an expression cannot be selected because they have no runtime value.
4. Edit the characters in the Display Name column if necessary. These characters
are displayed as the parameter name and are (by default) the first five
characters of the parameter name.
5. Repeat Step 2 and Step 4 for one more parameter (if desired).
6. Click OK.
The format of the displayed parameter information (15 characters total) is:
Characters 1 through 5 - The name found in the Display Name column (empty
spaces are added if the name is less than five characters in length).
Character 6 - The colon character (:).
Characters 7 through 12 - The runtime value of the parameter or ### (if the whole
number value is longer than available digits). If the complete parameter value is too
long, the digits to the right of the decimal and the decimal itself will be dropped, one
at a time (starting form the right), in order to make the parameter value short enough
to be displayed.
Characters 13 through 15 - The first three digits of the engineering units text. If the
engineering units text is less than three characters in length, the unused characters
are made available to the parameter value. Table 43 shows a few examples of
3BUA000146-600 A 241
Acquiring Equipment for Immediate Use Section 6 Procedures
242 3BUA000146-600 A
Section 6 Procedures Acquiring Equipment for Immediate Use
3BUA000146-600 A 243
Releasing Equipment Section 6 Procedures
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 244.
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
threads within the batch or, if the equipment was not reserved by the batch, to other
batches.
The release equipment BMA is configured in the same manner as an acquire
equipment BMA. Refer to Acquiring Equipment for Immediate Use on page 242.
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 aspects. Refer to the System
800xA Batch Management Operation (3BUA000145*) for a description of the
equipment.
The reserve equipment BMA is configured in the same manner as an acquire
equipment BMA. Refer to Acquiring Equipment for Immediate Use on page 242.
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.)
244 3BUA000146-600 A
Section 6 Procedures Unreserving Equipment
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.
The unreserve equipment BMA is configured in the same manner as an acquire
equipment BMA. Refer to Acquiring Equipment for Immediate Use on page 242.
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 list
parameter supplied during configuration. The equipment list parameter is actually
an equipment list type procedure parameter configured using Tools > Procedure
Parameters. Refer to Equipment List Type Parameters on page 229. Selected
equipment must be acquired before it is used and then released before the
corresponding deselect BMA is executed. When using multiple select BMAs that
utilize the same equipment list type parameter, verify that a deselect has been
executed (make the equipment available) before executing another select BMA that
utilizes the same equipment list type parameter.
The select equipment BMA is configured in the same manner as an acquire
equipment BMA except for few fields. Refer to Acquiring Equipment for
Immediate Use on page 242. The example (Figure 63) shows the configuration for
3BUA000146-600 A 245
Selecting Equipment Section 6 Procedures
the BMA object labeled Select Cooker found on the SoupRecipe PFC (Figure 44).
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 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.
246 3BUA000146-600 A
Section 6 Procedures Deselecting Equipment
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 aspects.
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.
The num function forces the value on which it acts [SoupAmt] to be interpreted
as a numeric value rather than as an ASCII string.
The variable __unit can also be used with the deselect equipment batch manager
action.
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 247.
Deselecting Equipment
The deselect equipment batch manager action is used to deselect the equipment that
was chosen through 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.
The deselect equipment BMA is configured in the same manner as a select
equipment BMA except for the Cost Factor field which is not present. Refer to
Selecting Equipment on page 245.
3BUA000146-600 A 247
Configuring Procedure Blocks Section 6 Procedures
2. Enter a name for the block in the Block Label field. 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.
If no configuration has yet been performed for the object, the procedure will be
Unspecified. No parameters will be displayed in the area at the bottom of the
window.
Class Value: Users can define the value directly or they can use the function
wizard to write an expression that returns the class value from the range of 1-
248 3BUA000146-600 A
Section 6 Procedures Configuring Procedure Blocks
9999. This value is configured in a Procedure Block and has same class value
when a recipe is called by the Procedure Block.
If the Sub-procedure Block class value is defined, then related value is assigned
to the instance of the recipe Blocks.
3. Click the Procedure field browse button and select the procedure in the Select
Procedure window (Figure 65). If the ISA-88 option is enabled, only certain
types of procedures can be nested under each procedure.
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 64 illustrates the
Procedure Operation Assignment window for the procedure block that represents a
3BUA000146-600 A 249
Configuring Procedure Blocks Section 6 Procedures
250 3BUA000146-600 A
Section 6 Procedures Configuring Phase Blocks
only the parameters for the top level procedure SoupRecipe will be displayed and
available to accept input.
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.
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. This removes the need to manually add the parameter to the current
procedure through Tools > Procedure Parameters.
To export subprocedure parameters to the current procedure:
1. Click the row containing the parameter to be exported.
2. Click the export toolbar button.
3. Enter the name to be used for the parameter in the current procedure and click
OK. The contents of the parameter window field will be updated to reflect the
name used to export the parameter.
To verify that the export operation was successful, select Tools > Procedure
Parameters. An entry for the exported parameter will appear in 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 224.
3BUA000146-600 A 251
Configuring Phase Blocks Section 6 Procedures
252 3BUA000146-600 A
Section 6 Procedures Configuring Phase Blocks
additional relevant information through Tools > Attach Note (Figure 68).
The main portion of this window is a text entry area. To include text from a
previously configured file in the procedure notes, click Import. The select a text file
to import window will be displayed.
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.
3. If the equipment is Unspecified or the assignment needs to be changed, click
the browse button and configure the assigned equipment in the Phase
3BUA000146-600 A 253
Configuring Phase Blocks Section 6 Procedures
The Phase Equipment Selection window contains the Equipment List Parameters
and Equipment Units tabs. The Equipment List Parameters tab is selected by
default and all of the procedure parameters of the Equipment List Parameters and
their associated list of configured items are shown.
To configure the phase to always execute on the same equipment, select the
Equipments tab 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, select the Equipment List
Parameters tab.
If a Equipment List parameter was selected, the indicator P will appear to the right
of the equipment name. 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.
4. Enter the proper number, expression, or function in the Module Index field.
254 3BUA000146-600 A
Section 6 Procedures Configuring Phase Blocks
The default module index is mindex(). 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.
5. Select the desired phase alias in the Phase Alias field.
This field contains a list of all the phase alias names for the phases associated with
the selected equipment during configuration of the equipment aspects. If a
equipment list procedure parameter has been selected, the list will show only those
phases common to all members of the list. The selected phase name will be
displayed in the Phase Alias field on the Phase Operation Assignment window.
When a phase alias name is selected or changed, the lower portion of the Phase
Operation Assignment 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.
Phase parameters (configured in the equipment aspects) for phases that appear in the
lower portion of the Phase Operation Assignment window can be exported to the
procedure currently under configuration, bypassing the need to manually configure
corresponding parameters through Tools > Procedure 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 248.
If desired, enter an expression in the Expression field. The function wizard (F(x)
button) can be used to create the expression. The Destination field of Out and In/Out
parameters can be used to specify a recipe or batch variable. All configured
expressions must evaluate to a text string representing a valid variable name.
Variable names that starts with an / will be interpreted as batch level variables. All
other variables names will be treated as recipe level variables. The output parameter
value (if set) will be written to this variable on phase completion. This functionality
allows phase output parameter values to be used as input values for subsequent
3BUA000146-600 A 255
Counting Phase Parameters Section 6 Procedures
Information displayed in the count phase params window includes the following
items for each phase or sequence in the procedure:
• A unique internal operation ID number (OP ID), assigned by the system to
each block on the PFC.
• The phase block label.
• A type indicator (P = phase, S = Sequence start).
256 3BUA000146-600 A
Section 6 Procedures Configuring Sequences
Configuring Sequences
The sequence start batch manager action is used to download to a controller the
information about a group of phase objects in the procedure and the equipment
definitions in the equipment database and the assignments between them. The
grouping (sequence) of phases is marked by the sequence start and corresponding
sequence end batch manager action.
The equipment phase logic is always stored in the controller.
The batch manager determines what phase are used for and therefore what needs to
be downloaded into the controller. Phases within sequences run to completion
without intervention from the batch manager.
The sequence end batch manager action is used to mark the end of a sequence so
that the batch manager knows what information to download to the controller. There
are no values that must be supplied.
Simultaneous Processing
The parallel branch (start) object is used to define the beginning of simultaneous
processing. Simultaneous processing means that all of the paths that originate at the
parallel branch (start) object will be executed. A corresponding parallel branch
(end) object is used to define the end of parallel processing. Procedure processing
does not progress beyond the parallel branch (end) until all parallel threads
connected to it have completed. Parallel branch (start) and parallel branch (end)
objects must always be used in complementary pairs.
A good example of the use of parallel branch (start) and parallel branch (end) is
found in the SoupAddIngred procedure (Figure 45), 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.
3BUA000146-600 A 257
Defining Multiple Procedure Paths Section 6 Procedures
258 3BUA000146-600 A
Section 6 Procedures Configuring Transition Blocks
execution condition may result in a delay or stalling of all active procedures on the
batch manager. In extreme cases it is possible to effectively terminate the processing
of all current batch procedures. Therefore it is important that the recipe procedure
author exercise caution when configuring looping structures within a procedure. It is
recommended that the resulting recipe procedure structure should not result in the
execution of more than 20 consecutive procedure blocks with exclusive batch
manager processing.
3BUA000146-600 A 259
Other Batch Management Actions Section 6 Procedures
3. Click Add in the Aspect Keys area on the Aspect Info tab.
4. Select the Batch Phase User Graphic Key and click OK.
5. Click OK or Apply.
Only one Batch Phase User Graphic Key should exist within the phase object.
260 3BUA000146-600 A
Section 6 Procedures Providing and Requesting Information Within a Procedure
Refer to HTML Configuration Method on page 266 for more detailed information.
The Batch Message Configuration window will include configuration items
available for this type of batch manager action (Figure 72).
The label for the message BMA is configured in the usual manner by entering a text
string in the Block Label field. The next configuration item is labeled Title and is
used to enter text that will be displayed at the top of the message in a font larger than
that of the rest of the message text (displayed by clicking the preview message
toolbar button). The Batch Message window is ultimately the window seen by the
operator when a message BMA block is clicked in an executing PFC display.
3BUA000146-600 A 261
Providing and Requesting Information Within a Procedure Section 6 Procedures
The default foreground and background colors can be changed by selecting the
foreground and background color squares and choosing the desired color in a
standard Windows color selection window.
Message Configuration
The bottom portion of the Batch Message Configuration window (Figure 72)
contains a list of each message, if any, that has been configured to appear in the
message presentation window that is under configuration. Information in this list
includes:
• Index number.
• Type.
• Prompt.
• Label.
• Default.
• List.
• Validation.
• Variable.
All applicable message fields are directly editable. To configure a new message,
click the append sub-message toolbar button.
262 3BUA000146-600 A
Section 6 Procedures Providing and Requesting Information Within a Procedure
The type assigned to a message determines the message format, and whether or not
the message requires an operator response. Click in the Type field and select the
desired type.
Available type options include:
• Text.
• List.
• Yes/no.
• No input.
• Separator.
The text, list and yes/no message types are all used when input from the 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.
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 field
will not be available. All other options will be available.
The three configurable items that will be seen by the operator are Prompt, Label and
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 field to provide
information and/or instructions pertaining to what is to be entered in the text entry
box. Use the Label field to provide a brief identifier for the text entry box. The entry
configured in the Default field 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.
3BUA000146-600 A 263
Providing and Requesting Information Within a Procedure Section 6 Procedures
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 Batch
Variables from the pop-up menu, and selecting the Variables tab. This variable can
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.
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 field will be unavailable. All other fields will be available.
The three configurable items which will be seen by the operator are Prompt, Label
and Default.
Use the List field to configure a list of items from which the operator will be able to
make a selection.
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 Batch
Variables 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 drop-down list.
When the Yes/No message type is selected, the Validation field will not be available.
All other fields will be available.
264 3BUA000146-600 A
Section 6 Procedures Providing and Requesting Information Within a Procedure
Configure the prompt and label as described in this section. The default option is
presented for configuration as a drop-down list. Select Yes and No from the list. The
one selected will be used as the default in the message presentation window.
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 Batch
Variables 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 field 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 in the Type field. An entry for the separator will appear
in the batch message configuration window, showing the location of the separator.
3BUA000146-600 A 265
Providing and Requesting Information Within a Procedure Section 6 Procedures
After the message presentation window has been previewed, it can be reorganized
by clicking the desired index number and dragging the message to the desired
location (indicated by a red line).
Copying Messages
It may be useful to configure similar messages with slight differences by using the
copy feature. In the list of the Batch Message Configuration window:
1. Create a new message.
2. Select the message to be used as the source.
3. Use standard Windows copy and paste commands to place the text in the new
message.
266 3BUA000146-600 A
Section 6 Procedures Collecting Data From a PFC
Message BMAs configured using the default method (Batch Message Configuration
window) can be converted to HTML. However, once a message is converted it
cannot be returned to the original format.
To convert a message to HTML:
1. Select the HTML toolbar button in the Batch Message Configuration window.
2. Click OK after being warned that the HTML conversion process cannot be
undone. Return to the original message configuration method is not possible.
3. Edit the Block Label field and HTML message as required in the HTML
Message window. HTML messages can also be configured in Note Pad by
clicking Edit with Note Pad.
4. Use the preview toolbar button to verify the message is correctly configured.
3BUA000146-600 A 267
Collecting Data From a PFC Section 6 Procedures
Logical Name
This field specifies 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. This name must be unique within the
procedure. The batch expression language can be used to dynamically generate a
unique logical name. Ensure that the logical name is unique for a recipe which loops
through a data collection (multiple groups of data from the PDL) process.
OPC Item
This field specifies 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). Use the browse button to enter PDLMSGLOG as the OPC
item when PDL message log information is to be collected. The first 800xA System
268 3BUA000146-600 A
Section 6 Procedures Printing a Report From a PFC
log for the OPC object is used unless a specific log is specified using the format:
OPC_data_point_name, log_name.
Both the logical name and the OPC item must be enclosed within double
quotation marks.
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.
3BUA000146-600 A 269
Scheduling Jobs From a PFC Section 6 Procedures
The print report BMA is configured in the same manner as an acquire equipment
BMA. Refer to Figure 74.
Enter the name of the batch report to be printed, enclosed within double quotation
marks, in the Report field. The template for the batch report, including the report
name, is configured using the Batch Reports feature. Refer to Appendix H, Log
Configuration. The function wizard can be used to create an expression that
evaluates to a report name.
270 3BUA000146-600 A
Section 6 Procedures Scheduling Jobs From a PFC
A listing of the predefined jobs is shown in the left area. Select the job to be
scheduled and move it to the Scheduled Jobs area.
Choose the time the job will be scheduled by selecting Immediately or At Batch End
in the Schedule At column. 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.
3BUA000146-600 A 271
Assigning Values and Evaluating Expressions From a PFC Section 6 Procedures
Click the append expression toolbar button to add a blank expression. Enter the
desired expression in the Expressions field. Expressions can be reordered by
clicking the expression number and dragging the expression to the desired location
(indicated by a red line). Standard Windows editing key sequences (Ctrl-Home,
Ctrl-End, Shift-Home, etc) can be used to edit expressions.
The state of compute BMA blocks goes to idle with error if the defined
calculation fails.
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 same batch ID as the parent
272 3BUA000146-600 A
Section 6 Procedures Issuing Operating System Commands from a PFC
3BUA000146-600 A 273
Issuing Operating System Commands from a PFC Section 6 Procedures
Command
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 J, Batch Command
Interface.
274 3BUA000146-600 A
Section 6 Procedures Issuing Operating System Commands from a PFC
the command directory is specified, a directory name would be stored in the Output
variable. A status code generated on completion of command execution will be
stored in the variable named in the Status field. This status code is generated by the
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 Error fields must be enclosed in double quotation marks (" ").
These variables can be viewed using Batch Variables which is accessed by right
clicking in the runtime procedure window. These variables can be used in batch
expressions.
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.
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.
When executing operating system commands, refer to the help for the Windows
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:
Windows 32-bit version, c:\\Windows\\System32
Windows 64-bit version, c:\\Windows\\SysWOW64
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.
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.
3BUA000146-600 A 275
Correlating the PFC and the SOP Section 6 Procedures
276 3BUA000146-600 A
Section 6 Procedures Connecting Objects on a PFC
The set SOP section BMA is configured in the same manner as an acquire
equipment BMA. Refer to Figure 78.
Enter the section name found in the procedure’s SOP which corresponds to the
current point of batch execution in the PFC in the Section area. 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.
The section name is a text string, and should be enclosed within double quotes
when entered in the text entry box.
3BUA000146-600 A 277
Exception Handling Section 6 Procedures
Exception Handling
Equipment 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
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.)
278 3BUA000146-600 A
Section 6 Procedures Configuring an Exception Procedure
3BUA000146-600 A 279
Usage Guidelines Section 6 Procedures
Usage Guidelines
Figure 79 shows the required structure for using exception procedure.
Main Logic
The main logic can be a single block, procedure, or combination of both. Procedures
in the main logic can contain exception procedures however an exception procedure
cannot be part of the main logic or be in the same branch as the main logic.
Exception Procedures
Multiple exception procedures (in parallel branches) can be used as long as they are
attached directly to the outermost parallel start and end objects. Each exception
procedure can even have multiple exception procedure paths.
280 3BUA000146-600 A
Section 6 Procedures Add an Exception Procedure to a Procedure
3BUA000146-600 A 281
Configure an Exception Procedure Section 6 Procedures
282 3BUA000146-600 A
Section 6 Procedures Configure an Exception Procedure
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 81.
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 81 provides an example of an exception procedure that monitors for high
temperature, takes corrective action, and provides further instructions on how to
proceed.
3BUA000146-600 A 283
Runtime Characteristics of the Exception Procedure Section 6 Procedures
284 3BUA000146-600 A
Section 6 Procedures Runtime Characteristics of the Exception Procedure
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. ISA-88 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().
ISA-88 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
271. These functions issue the ISA-88 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 ISA-88
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 ISA-88 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
3BUA000146-600 A 285
Exception Logic Considerations Section 6 Procedures
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.
286 3BUA000146-600 A
Section 6 Procedures Monitoring for Multiple Conditions
3BUA000146-600 A 287
Monitoring for Multiple Conditions Section 6 Procedures
288 3BUA000146-600 A
Section 6 Procedures Monitoring for Multiple Conditions
conditions can be monitored for different durations by using multiple sets of parallel
branches. Figure 83 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.
3BUA000146-600 A 289
Batch Data Collection Section 6 Procedures
290 3BUA000146-600 A
Section 7 Automatic Batch ID Generation
Introduction
The 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,
Unit, and Operation procedure objects when they are created. This aspect can also
be manually added to Exception procedure type. The Auto Generate Batch ID
window (Figure 84) is displayed when this aspect is selected.
3BUA000146-600 A 291
Create Pattern Section 7 Automatic Batch ID Generation
Create Pattern
The 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 toolbar button or right click at the cursor location.
292 3BUA000146-600 A
Section 7 Automatic Batch ID Generation Configure Sequence Number
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 toolbar button.
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.
Default patterns placed inside double quotation marks are treated as text. For
example, “_SequenceNumber” will be seen as _SequenceNumber.
f. Click the save aspect changes toolbar button.
3BUA000146-600 A 293
Find Text Section 7 Automatic Batch ID Generation
5. 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 and click
OK.
b. Repeat Step a as necessary.
At schedule time (with the Auto option enabled), it is possible to click Incr. Seq. to
increment the sequence number or manually change the sequence number on the
Sequence tab.
Find Text
The search button can be used to find text strings within the pattern. To find a text
string:
1. Click the search toolbar 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.
294 3BUA000146-600 A
Section 7 Automatic Batch ID Generation Save or Cancel Aspect Changes
7. If Replace was clicked, Repeats Step 5 and Step 6 until all the desired text
strings have been replaced.
Print Patterns
Click the print toolbar button to print out the current pattern.
3BUA000146-600 A 295
Print Patterns Section 7 Automatic Batch ID Generation
296 3BUA000146-600 A
Appendix A Configuring Batch Variables and
Expressions
Introduction
Expressions 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 equipment 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 expressions are limited to 512 characters per expression up to a limit of
15000 characters.
String constants are limited to 1023 characters even with the use of continuation
lines (backslashes).
3BUA000146-600 A 297
Operators Appendix A Configuring Batch Variables and Expressions
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 298) immediately preceding the first digit to express a negative number.
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.
Operators
Operators available for use in batch expressions are found in Table 44. 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 (from
left to right) in the expression. Table 44 lists operators in order of decreasing
precedence.
298 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Operators
3BUA000146-600 A 299
Punctuation Appendix A Configuring Batch Variables and Expressions
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.
Punctuation
Table 45 describes 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.
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 but brackets are not. Brackets
enclose optional parameters.
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
300 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Constants
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 46.
Constant Value
PI 3.14159265358979323846
E 2.71828182845904523536
GAMMA 0.57721566490153286060
DEG 57.29577951308232087680 (degrees per radian)
PHI 1.61803398874989484820
3BUA000146-600 A 301
Rules for Evaluating Expressions Appendix A Configuring Batch Variables and Expressions
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
common type of text entry box, used for the entry of parameters in the recipe
database.
There is a string constant limitation of 1023 characters. Exceeding this limit will
result in a configuration error message "String too long..". To avoid this error, the
'+' character should be used to concatenate shorter strings together.
For example, the expression:
"Item1\nItem2\nItem3" + ..." would be replaced with
"Item1" + "\nItem2" + "\nItem3" + ...".
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.
302 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Rule 1
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 298.
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 47.
Parameter Expression
Float Float
String String
3BUA000146-600 A 303
Rule 8 Appendix A Configuring Batch Variables and Expressions
Parameter Expression
List String
Equipment list String
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.
Rule 10
Expressions are not used in equipment aspect 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.
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 301.
Batch expression structure, punctuation, syntax, and operators are described in
Batch Expression Structure on page 297. Built-in functions are described in
Built-In Functions on page 307.
304 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Rule 10
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")
}
return 0
}
9 ran() A random number is assigned to the procedure parameter that
is being entered.
3BUA000146-600 A 305
Examples Appendix A Configuring Batch Variables and Expressions
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 = _SoupName
if (tank == "HT1") {
gvarputs ("HT1_Soup", soup)
oldvol = gvarget ("HT1_Vol")
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 + " ")
306 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Built-In Functions
Built-In Functions
Refer to:
• Batch.
• DBA.
• General.
• Variables.
Batch
Batch functions are used to get data from and put data into variables (Table 49). 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.
3BUA000146-600 A 307
Batch Appendix A Configuring Batch Variables and Expressions
308 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Batch
3BUA000146-600 A 309
Batch Appendix A Configuring Batch Variables and Expressions
310 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Batch
3BUA000146-600 A 311
Batch Appendix A Configuring Batch Variables and Expressions
312 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Batch
3BUA000146-600 A 313
Batch Appendix A Configuring Batch Variables and Expressions
314 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions DBA
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 50.
The expression (expr) that is part of the syntax for the bdbput function can be a
parameter name.
Example:
• bdbput("FeedTank",UnitFT), 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 301.
3BUA000146-600 A 315
DBA Appendix A Configuring Batch Variables and Expressions
316 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Use of _bUnitAttributeHelpers Functions
3BUA000146-600 A 317
Use of _bUnitAttributeHelpers Functions Appendix A Configuring Batch Variables and Expressions
318 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Use of _bUnitAttributeHelpers Functions
These functions are internally used functions that are not intended to be
called directly.
Examples: The optimum way to perform multiple unit attribute writes is to
group them into a single expression. If this can be done then a script local
variable can be used to hold the write specification as shown in the
following example:
strVals = _bUattAddWriteIC(Unit, "AttrTextInController", "High")
strVals = _bUattAddWriteIC(Unit, "AttrIntInController", "75", strVals)
strVals = _bUattAddWriteIC(Unit, "AttrFloatInController", "70.0",
strVals)
strVals = _bUattAddWriteOPC(Unit, "AttrOPCFloat", "60.0", strVals)
strVals = _bUattAddWriteOPC(Unit, "AttrOPCInt", "65", strVals)
_bUattDoWrite(strVals)
If the writes cannot be grouped into a single expression then a batch
variable can be used to hold the write specification as shown in the
following example:
varputs("varVals", _bUattAddWriteIC(Unit, "AttrTextInController",
"Low"))
varputs("varVals", _bUattAddWriteIC(Unit, "AttrIntInController", "15",
vargets("varVals")))
varputs("varVals", _bUattAddWriteIC(Unit, "AttrFloatInController",
"10.0", vargets("varVals")))
varputs("varVals", _bUattAddWriteOPC(Unit, "AttrOPCFloat", "5.0",
vargets("varVals")))
varputs("varVals", _bUattAddWriteOPC(Unit, "AttrOPCInt",
"1",vargets("varVals")))
_bUattDoWrite(vargets("varVals"))
3BUA000146-600 A 319
General Appendix A Configuring Batch Variables and Expressions
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 51.
320 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions General
3BUA000146-600 A 321
General Appendix A Configuring Batch Variables and Expressions
322 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Variables
Variables
Table 52 lists the built-in variables used by various batch functions.
3BUA000146-600 A 323
Batch Management Function Wizard Appendix A Configuring Batch Variables and Expressions
Standard and custom functions are used in batch expressions during procedure
configuration. Procedure configuration is discussed in Section 6, 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
System 800xA Batch Management Operation (3BUA000145*).
The Batch Management function wizard is accessed by clicking FW or f(x).
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 equipment, select
equipment, sequence start, release equipment, reserve equipment, unreserve
equipment, set sop section, command and print report BMAs. The Function Wizard
window (Figure 85) will be displayed when the button is clicked. The function
selected in the Functions area determines the contents of the remaining fields
(Prototype, Description, Scope and Example).
324 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Batch Management Function Wizard
The Prototype, Short Description, and Long Description fields are filled
automatically after a function is selected. The Prototype field displays the syntax for
using the selected function. The description fields contain text that describes what
the function does. The Constant option will be enabled if the selected function is a
batch constant value. The function wizard editor is divided in to three areas:
3BUA000146-600 A 325
Expression Editing Area Appendix A Configuring Batch Variables and Expressions
326 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Help Area
Functions
Lists all the Batch functions both standard and custom function available in the
system in a tree view. This helps the users to select the functions for writing
expressions.
A filter option is provided for functions to list all functions or standard functions or
custom functions. All the functions are listed by default.
Equipments
List all the Batch equipments available in the system.
OPC Properties
List all the OPC property items. When a user selects a particular control module, the
associated OPC properties are loaded for configuring the expressions.
Parameters
This field is enabled only when function wizard is invoked from the blocks in a
PFC. This lists all the parameters with parameter name and data type defined in that
specific PFC.
Search
In the display data area, the search field is provided to search data related functions,
equipments and parameters based on the selected tab. Users need to type the name
and then click Search.
Help Area
The help area displays the examples syntax, descriptions and examples of
expressions for the relevant functions selected. When a user selects a particular
function on the display area, the corresponding help information is populated in the
help area.
Help option invokes the user documentation for the function wizard.
3BUA000146-600 A 327
Custom Functions Appendix A Configuring Batch Variables and Expressions
Custom Functions
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
307. 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. Add a Functions object to the object (or the background to select the root) that
will contain the custom functions group.
To add/create a function:
1. Add a Function object to the function group that will contain the function.
2. Select the Name aspect of the function.
3. Enter a description of the function in the Description field and click Apply.
This description is used as the short description of the function in the function
wizard.
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 86) will be opened.
328 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Save and Cancel
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 or f(x) to include other functions or expressions containing
expressions within the function being configured. Refer to Using Functions
within Functions on page 330 for more information.
4. If desired, click the parameters on/off toolbar button to configure parameters
and test variables. Refer to Parameters and Test Variables on page 330 for more
information.
5. Click the test function toolbar button to test the function.
3BUA000146-600 A 329
Using Functions within Functions Appendix A Configuring Batch Variables and Expressions
3. Click the insert parameter (or insert test variable) toolbar button.
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 toolbar button.
330 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Parameters and Test Variables
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.
Use these symbolic names in the body of the function, rather than the parameter
names.
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 307 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).
3BUA000146-600 A 331
Test a Custom Function Appendix A Configuring Batch Variables and Expressions
Finally, enter the Value to be used in the variable. To delete a test variable, select the
item and press the Delete key.
Click the test function button and the Test Results window (Figure 86) 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.
332 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Edit
Modified parameter test values and errors encountered during execution of the test
are also 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.
3BUA000146-600 A 333
Lock and Unlock Appendix A Configuring Batch Variables and Expressions
Figure 87. Batch Function with the Function Locking Feature Enabled
334 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Lock and Unlock
3BUA000146-600 A 335
Lock and Unlock Appendix A Configuring Batch Variables and Expressions
Enter the same password once again for confirmation in Verify New
Password.
Password history will not be maintained for a function. The user should provide a
new password to lock the function again.
The user can also repeat the passwords if required, to retain the previously set
password for the function.
Figure 90. Preview Area of the Batch Function after setting the Password
336 3BUA000146-600 A
Appendix A Configuring Batch Variables and Expressions Lock and Unlock
3BUA000146-600 A 337
Lock and Unlock Appendix A Configuring Batch Variables and Expressions
338 3BUA000146-600 A
Appendix H Log Configuration
Introduction
This section describes how to configure spreadsheet logs.
Spreadsheet Logs
Spreadsheet logs are used to obtain data from, change, and put data into the
database. Spreadsheet log configuration is performed using Microsoft® Excel. A
simple spreadsheet log (example: Batch_Report.xlsx) 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.
If Batch_Fpexcel add-in is unavailable, then browse to
C:\Program Files (x86)\ABB Industrial IT\Produce
IT\Batch\Bin\Batch_Fpexcel.xla.
These functions are described in this section:
• fpbget.
• fpbgetd.
• fpbtget.
• fpubid.
Functions are entered in the spreadsheet as formulas during configuration of the
spreadsheet.
In order to make new spreadsheet logs available through batch dialogs, they need
to be saved in the directory C:\ProgramData\ABB\Produce IT\lib\exlogs.
3BUA000146-600 A 339
fpbget( ) Function Appendix H Log Configuration
fpbget( ) Function
This 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 44
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( ) Function
This 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 45 describes how to use this function.
340 3BUA000146-600 A
Appendix H Log Configuration fpbtget( ) Function
Outputs None.
Returns The value specified by the combination of batch ID and tag name, or an error
message.
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( ) Function
This 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 46 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.
3BUA000146-600 A 341
fpubid( ) Function Appendix H Log Configuration
fpubid( ) Function
This 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 47
describes how to use this function.
Example:
• fpubid
This example returns the selected batch ID.
342 3BUA000146-600 A
Appendix I Configuring a Graphic
Introduction
Graphics 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 System 800xA Configuration (3BDS011222*) for
detailed information about creating graphics.
View a PFC
One 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. The button face color is changed to the active
color when the equipment is acquired, reserved, or selected.
View Messages
Another 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. The button fill color is changed to the active color when
the equipment is acquired, reserved or selected and there are pending messages.
3BUA000146-600 A 343
View Batch Status Appendix I Configuring a Graphic
To make the plant operations run smooth, users are provided with an option to
access the Batch status information through graphic elements. Additional Batch
status information would be provided by exposing the Batch information from the
Batch manager through Batch Unit OPC properties.
The additional OPC properties exposed are:
Batch.BStatus (Status): Provides the unit property Schedule Status. This is the
current schedule status of the recipe on a unit. i.e. Active, Complete, Terminated,
etc.
Batch.BMode (Mode): Provides the unit property Mode of the Batch recipe
procedure. This is the mode of operation. i.e. Automatic, Semi-automatic, and
Manual.
Batch.BPriority (Priority): Provides the unit property Priority of the Batch recipe
procedure. This will indicate the numeric value priority of the schedule recipe
procedure. Lower value being highest priority.
Batch.BState (State): Provides the unit property State. This is the state of the
recipe procedure with reference to the unit. i.e. Running, Paused, Held, etc.
Batch.BPriorityNLS: Provides NLS supported property Priority.
Batch BStatusNLS: Provides NLS supported unit property Status.
Batch.BModeNLS (Mode): Provides NLS supported property Mode.
Batch.BStateNLS: Provides NLS support property State.
344 3BUA000146-600 A
Appendix I Configuring a Graphic Batch Equipment Information
3BUA000146-600 A 345
Batch Equipment Information Appendix I Configuring a Graphic
346 3BUA000146-600 A
Appendix J Batch Command Interface
Introduction
The batch interface commands are used to make batch scheduling and equipment
changes through the expressions within the batch manager. Available batch
commands are listed in Table 48.
These commands are not recommended to use through external application
programs. The Batch Web Services Interface is the recommended method for
external applications. Refer to Appendix P, Batch Web Services Interface for
more information.
Before executing any of the commands given in Table 48, open the Batch
Overview at least once to ensure the established connection between client and
server.
Online
Command Instruction Description
Section
batch_cbatch 1 Change scheduled batch
batch_chgunit 1 Change equipment status
batch_sbatch 1 Schedule batch
batch_cbatch
This command changes the mode, priority, start time, estimated execution time,
schedule status, how to handle parameters, and how to set parameters. Table 49
describes how to use this command.
3BUA000146-600 A 347
batch_cbatch Appendix J Batch Command Interface
348 3BUA000146-600 A
Appendix J Batch Command Interface batch_cbatch
Inputs param=value1 Values for the top level batch parameters. Param is replaced with
(cont) 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 Usage error.
detected Batch system not active.
No BID/BID does not exist.
Parameter error.
NOTE:
1. Optional parameter.
3BUA000146-600 A 349
batch_chgunit Appendix J Batch Command Interface
• 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.
batch_chgunit
This command changes the status (enable, disable, or discard) of a piece of
equipment. Table 50 describes how to use this command.
350 3BUA000146-600 A
Appendix J Batch Command Interface batch_sbatch
batch_sbatch
This command sets all the necessary parameters to schedule the execution of a
batch. Table 51 describes how to use this command.
3BUA000146-600 A 351
batch_sbatch Appendix J Batch Command Interface
352 3BUA000146-600 A
Appendix J Batch Command Interface batch_sbatch
3BUA000146-600 A 353
batch_sbatch Appendix J Batch Command Interface
354 3BUA000146-600 A
Appendix K Batch Utilities
Introduction
This section describes batch utilities such as:
• Miscellaneous batch configuration - configures the batch settings, history
options, equipment settings, and event settings.
• Default procedure configuration - configures the minimum number of required
revision comments, number of backup revisions kept, default cell, ISA-88
option status, and PFC color configuration.
• Backup and Restore - 800xA System Import and Export functionality is used to
backup batch objects such as procedures and equipment etc. The backup files
are stored in .afw format.
• Report configuration - configures reports to be generated based on the recipe
database configuration.
• Batch toolbar - enables a toolbar containing three buttons that open the Batch
Overview, Batch History Overview, and Equipment Overview windows.
• Batch Phase and Unit Maintenance - provides a means of manually adding new
graphics extension aspects to closed and approved libraries.
3BUA000146-600 A 355
Batch Settings Appendix K Batch Utilities
Batch Settings
This tab (Figure 93) 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.
Select the desired retention time from the list of available retention time intervals in
the Retention Time field.
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.
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
356 3BUA000146-600 A
Appendix K Batch Utilities History Options
History Options
This tab (Figure 94) 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).
3BUA000146-600 A 357
Event Settings Appendix K Batch Utilities
Enable the Use 800xA Historian option (disabled by default) to cause Batch
Management to save several files to the batch_install_directory\EH_Transfer
directory for each completed batch. These files contain information about the
completed batch and are used by the 800xA historian and then deleted.
Do not enable the Use 800xA Historian if an 800xA historian is not being used.
The files saved to the \EH_Transfer directory will not be deleted, eventually fill
up the disk drive, and cause Batch Management to stop functioning.
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 System 800xA Batch
Management Operation (3BUA000145*).
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.
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).
Exception procedure end times are not displayed in the Search Results pane of
the PDL Browser. The end time is reported as an end procedure event that can be
viewed using the Messages tab of the PDL Browser pane.
Scheduled jobs (reports) will be delayed until Information Management requests the
data from PDL if the Use 800xA Historian option is enabled. This ensures that PDL
has received all batch data. If this option is disabled, scheduled jobs are immediately
scheduled which means that reports trying to get data from PDL may only receive
partial data or none at all because it is not yet available.
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 357) can be routed
358 3BUA000146-600 A
Appendix K Batch Utilities Event Settings
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 95.
3BUA000146-600 A 359
Equipment Settings Appendix K Batch Utilities
Equipment Settings
This tab (Figure 96) provides the ability to configure the behaviors of the Batch
Equipment and Batch Phase Editors and synchronization options.
There are three options that apply to the equipment and phase editor:
• Enabling the Blank Attribute (or Parameter) Default Value Allowed options
allows the default values to be left blank. This option is disabled by default.
• Enabling the Propagate Attribute (or Parameter) Range Changes option allows
default and range value changes (in the case of Advanced Equipment and Phase
types) to be propagated to instances of the types. This option is disabled by
default.
• Enabling the Prompt User to Propagate Changes option causes the operator to
be prompted to allow the propagation of default and range value changes to
instances of the types.
360 3BUA000146-600 A
Appendix K Batch Utilities Equipment Settings
3BUA000146-600 A 361
Synchronize Appendix K Batch Utilities
• Cold Retain Equipment Attribute Values: When this option is checked, the
InValue & Value elements of new InController unit attributes are set to Cold
Retain. When not checked (at default state), they are set to Retain (warm).
This setting applies to all newly created unit attributes. The default state of this
setting is unchecked (Retain) which is the same behavior as previous versions.
Synchronize
There are six options that pertain to synchronization:
– Enabling the Unit Attributes option causes OPC data point unit
attributes to be resolved to the appropriate object GUID that gets used at
run time.
– Enabling the Level N Out and In/Out Parameters option to
synchronize level N output and input/output parameters added after
instances of the phase have been created. The ParName.Direcrtory-
362 3BUA000146-600 A
Appendix K Batch Utilities Synchronize
3BUA000146-600 A 363
Select Batch Colors Appendix K Batch Utilities
364 3BUA000146-600 A
Appendix K Batch Utilities Select Batch Colors
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.
3BUA000146-600 A 365
Select Batch Colors Appendix K Batch Utilities
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 98.
Changes made through the Select Batch Colors tab will take effect only after OK
has been clicked to complete the operation and the operator workplace has been
closed and reopened.
Color Discrepancies
Recipes configured in Produce IT Batch systems may have used colors that have
changed in Batch Management systems. Because of this, importing Produce IT
Batch recipes can result in recipes containing items (lines, blocks, text, etc.) that are
difficult to see or read. Recipes that are going to be imported should first be
reviewed to ensure they are readable in Batch Management systems. Figure 99 lists
the colors that have changed.
366 3BUA000146-600 A
Appendix K Batch Utilities Select Batch Colors
3BUA000146-600 A 367
Manage Batch IDs Appendix K Batch Utilities
To delete an imported batch ID, select the appropriate batch ID and click Delete.
368 3BUA000146-600 A
Appendix K Batch Utilities Backup Procedure Versions Retained
default cell, ISA-88 option status, and PFC color configuration. Refer to Figure 101.
3BUA000146-600 A 369
Strict ISA-88 Option Appendix K Batch Utilities
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.
370 3BUA000146-600 A
Appendix K Batch Utilities Back Up and Restore
The Auto Connect and Auto Align functionalities do not work as expected when
there is a branch mismatch in a procedure.
The branch mismatch in a procedure can occur while editing the existing
procedure or while performing the Align operation.
Editing the Procedure:
If the Auto Connect option is selected in a procedure that has branch mismatch,
then the status bar displays Alignment of the blocks may not be done properly
because of mismatch branches message.
If the Auto Connect option is cleared, then the status bar displays the default
message Ready.
Performing the Align operation:
Branch mismatch can occur in the following four scenarios:
- More branch Starts than branch Ends
- More branch Ends than branch Starts
- More parallel branch Starts than parallel branch Ends
- More parallel branch Ends than parallel branch Starts
Relevant error message is displayed for each scenario.
3BUA000146-600 A 371
Report Configuration Appendix K Batch Utilities
include all batch objects (procedures, equipment, etc.) in one.afw file. Verify the
batch server is running before using the import and export functions.
Importing Batch Unit objects created in 800xA systems prior to System Version
3.1 Service Pack 1 will generate warnings that the Batch Equipment Rule
Initialization aspect category is missing. Ignore this warning because this aspect
is no longer used in System Version 3.1 Service Pack 1 and newer systems.
Report Configuration
The print procedure aspect creates reports on the development procedure, approved
procedure, and procedure version x.x aspects of the exception, recipe, unit, and
operation procedures. This aspect is one of the default aspects of all exception,
recipe, unit, and operation procedures. However, this aspect can be added to any
other object as desired.
The initial contents of the Print Procedure window (Figure 102) are dependent on
how it opened. If the Print Procedure window was opened by selecting a print
procedure aspect, the Batch Procedure Selection area will be blank. If the Print
Procedure window was opened from an exception, recipe, unit, or operation
procedure, all the development procedure, approved procedure, and procedure
version x.x aspects will be listed. If the Print Procedure window was opened from a
372 3BUA000146-600 A
Appendix K Batch Utilities Configure a Report
development procedure, approved procedure, and procedure version x.x aspect, only
that aspect will be listed.
Configure a Report
To configure a report:
1. Open the Print Report window by:
Right clicking an exception, recipe, unit, or operation that contains a print
procedure aspect and selecting Print
- or -
Right clicking a development procedure, approved procedure, or procedure
version x.x aspect and selecting Print
- or -
Selecting the print procedure aspect.
2. Select the contents of the report by enabling the desired options in the Report
Options and Procedure Sections area of the window.
3BUA000146-600 A 373
Report Output Appendix K Batch Utilities
3. Edit the Batch Procedure Selection area to contain a list of the procedure
aspects from which this report will gather information using the Delete and
Add (Figure 103) buttons.
Report Output
Click Print to generate a hard copy of the report. Click View to preview the report
in the Print Preview window (Figure 104).
The printer must be properly configured before a batch configuration report can
be viewed.
374 3BUA000146-600 A
Appendix K Batch Utilities Batch Toolbar
Batch Toolbar
Batch Management provides a Toolbar that contains buttons for the Batch
Overview, Batch History Overview, and Equipment Overview dialog boxes.
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. Enable the Batch Toolbar option and click Apply on the Tool Collections tab.
3BUA000146-600 A 375
Batch Phase and Unit Maintenance Tool Appendix K Batch Utilities
376 3BUA000146-600 A
Appendix K Batch Utilities Batch Phase and Unit Maintenance Tool
using the Batch Phase and Unit Maintenance tool (Figure 105).
To manually update the batch phase, batch unit, and shared batch equipment module
types to include new aspects created for this release:
1. Verify the library (containing these control module types) or control module
type being updated is not in a state of Closed or Released (locked).
2. Navigate to ABB Start Menu-> ABB Industrial IT 800xA-> Production
Management -> ABB Batch Phase and Unit Maintenance.
3. Select the library or control module type being updated in the Batch Phase and
Unit Maintenance window and click Add PG2 Aspects.
Messages detailing the progress of the update process are listed in the right pane of
the window and in the PhaseAndUnitMaintenanceLog accessed by clicking View
Log.
3BUA000146-600 A 377
Batch Search Utility Appendix K Batch Utilities
378 3BUA000146-600 A
Appendix K Batch Utilities Batch Search Utility
Setup Tab
The Batch database stores Procedure GUIDs and not the names of the Procedures.
In order to provide the Procedure names to the user, the utility must maintain a
GUID to the recipe name table.
When the utility is launched, it scans the Aspect directory for all the Batch
Procedures to determine whether the translation table needs to be updated.
If the translation table needs an update, then the utility will be on the Setup tab. On
the same tab, users can click on the Refresh Recipe Names button to update the
recipe names as shown in Figure 106.
Once the utility is up and running, users can manage the changes to the recipe
names. This is performed when a a Procedure Object is added or a new
Development Procedure Aspect is created.
If the recipe names are not updated, then the search functions will not include the
newly added items.
3BUA000146-600 A 379
Batch Search Utility Appendix K Batch Utilities
Expressions Tab
In this tab the search criteria is set and the search is performed. The search results
are displayed on the lower half of the window as shown in Figure 107.
380 3BUA000146-600 A
Appendix K Batch Utilities Batch Search Utility
+ matches the expression to the left of the "OD+X" finds ODDX and ODX but not OX.
plus sign one or more times "a[bcd]+g" finds abbg, abg, and
abcg but not ag nor aeg.
"a.+g" finds abbg, abg, abcg, and
aeg but not ag.
? matches the expression to the left of the "OD?X" finds ODX and OX but not ODDX.
question mark zero or one time "a[bcd]?g" finds abg, acg, and
Note: If “a?” is used by itself, it acts like ag but not abcg.
“^a+”.
[] matches any of the enclosed characters "a[bcd]g" finds abg and acg but not
aag nor abcg.
- matches any of a range of characters "a[b-z]g" finds abg and awg but not
when used within brackets aag nor ag.
^ (caret) matches the expression when it is at the "^ape" finds ape within apes but not
beginning of a string or (when within grapes.
following an open bracket) excludes the "Just[^5-9]" finds Just4 or JustA
remaining characters within the brackets but not Just8.
3BUA000146-600 A 381
Batch Search Utility Appendix K Batch Utilities
\ the backslash
^ the caret
$ the dollar
{ } the open and close curly bracket
[ ] the open and close square bracket
( ) the open and close parenthesis
. the dot
* the asterisk
+ the plus
? the question mark
| the vertical pipe
< > the smaller and greater signs
- the minus
& the ampersand
The Batch Search Utility allows the users to limit the search based on the Element,
Procedure and Aspect types, like:
Element types:
• Compute Blocks
• Transitions
• Operation Parameters (the expressions for the parameters on Procedure blocks)
382 3BUA000146-600 A
Appendix K Batch Utilities Batch Search Utility
• Messages (the expressions in the Type, Prompt and Label fields of BMA
Message blocks)
• Labels (labels for all blocks)
• Phase Parameters (the expressions for the parameters on Phase blocks)
Procedure types:
• Recipe Procedures
• Unit Procedures
• Operations
• Exception Procedures
Aspect types:
• Approved
• Development
• Version (includes all the versions)
Each Element type and Procedure type that is checked may result in some
overhead while searching. Un-check the items that are not required. This can
result in obtaining quick search results.
3BUA000146-600 A 383
Batch Search Utility Appendix K Batch Utilities
384 3BUA000146-600 A
Appendix L External Historians
Introduction
Batch Management allows data to be stored in external historians.
800xA System
Batch 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.
The number of events saved by the 800xA system is limited and it does not
support archiving or reporting of event data.
Information Management
Batch 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 53).
• Excel functions for accessing batch data (refer to Table 53).
• Sample Excel report templates using Excel functions.
• Sample Crystal Reports® template using database views.
3BUA000146-600 A 385
Information Management Appendix L External Historians
386 3BUA000146-600 A
Appendix L External Historians Batch Management and Custom Arguments
Rapidly generated Batch Management events sent to the 800xA system are
sometimes given the same timestamp. These events with the same timestamp are
sometimes reported in the wrong sequence in Information Management reports
due to differences in time resolution between Batch Management and
Information Management. The out-of-sequence events are easily found upon
examination of the Information Management reports.
3BUA000146-600 A 387
Batch Management and Custom Arguments Appendix L External Historians
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.
388 3BUA000146-600 A
Appendix M AC 800M/C Controller
(Batch Advanced Templates)
Introduction
The AC 800M/C controller is part of an IndustrialIT control system that
communicates with the Batch Management system through a driver application.
Figure 108 shows a graphical representation of this relationship.
3BUA000146-600 A 389
Example Controller Configuration Appendix M AC 800M/C Controller (Batch Advanced Templates)
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.
390 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Equipment Phases
Equipment Phases
Create three equipment phase types (AttempAt_Drain1, SampleTest_Charge1, and
ExampleTestEquip_Agitate1) containing the parameters listed in Table 54.
Name Type
Paramn Integer
Param1 Float
Param2 Integer
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.
3BUA000146-600 A 391
Example Control System Configuration Appendix M AC 800M/C Controller (Batch Advanced
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
manual operations performed on the equipment and prevent contamination of
batches.
392 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Example Control System
3BUA000146-600 A 393
Example Control System Configuration Appendix M AC 800M/C Controller (Batch Advanced
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.
– 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).
394 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Example Control System
3BUA000146-600 A 395
Control System Process Appendix M AC 800M/C Controller (Batch Advanced Templates)
– 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.
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.
Numeric logs must be configured in the Information Management for the
temperature tag before running the first batch.
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.
396 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Segmenting the Process
completed using the example in Segmenting the Process on page 397 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.
The diagram, Figure 109, 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.
3BUA000146-600 A 397
Raw Material Feeder ConfigurationAppendix M AC 800M/C Controller (Batch Advanced Templates)
398 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Feed Tank 1 Configuration
3BUA000146-600 A 399
Feed Tank 2 Configuration Appendix M AC 800M/C Controller (Batch Advanced Templates)
400 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Reactor 1 Configuration
Reactor 1 Configuration
3BUA000146-600 A 401
Reactor 2 Configuration Appendix M AC 800M/C Controller (Batch Advanced Templates)
Reactor 2 Configuration
402 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Mix Feeder 1 Configuration
3BUA000146-600 A 403
Mix Feeder 2 Configuration Appendix M AC 800M/C Controller (Batch Advanced Templates)
404 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Product Feeder Configuration
3BUA000146-600 A 405
Catch Tank 1 Configuration Appendix M AC 800M/C Controller (Batch Advanced Templates)
406 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Catch Tank 2 Configuration
3BUA000146-600 A 407
Catch Tank 3 Configuration Appendix M AC 800M/C Controller (Batch Advanced Templates)
408 3BUA000146-600 A
Appendix M AC 800M/C Controller (Batch Advanced Templates) Catch Tank 4 Configuration
3BUA000146-600 A 409
Synchronization of Equipment Attribute Changes Appendix M AC 800M/C Controller (Batch
410 3BUA000146-600 A
Appendix N AC 800M/C Controller
(EPT Control Modules)
Introduction
The AC 800M/C controller is part of an Industrial IT control system that
communicates with the Batch Management system through a driver application.
Figure 123 shows a graphical representation of this relationship.
3BUA000146-600 A 411
Example Controller Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
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.
412 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Recipe Phases
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.
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
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.
3BUA000146-600 A 413
Recipe Phases Appendix N AC 800M/C Controller (EPT Control Modules)
3. Create three parameters using the data in Table 67. Refer to Section 5,
Equipment Configuration (EPT Control Modules) for more information.
Parameter Type
RecPar1 Float
RecPar2 Integer
RecPar3 Integer
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 68. Refer to Section 5,
Equipment Configuration (EPT Control Modules) for more information.
Parameter Type
RecPar1 Float
RecPar2 Integer
RecParn Integer
Drain
To create and configure the Drain recipe phase:
1. Create a new recipe phase and name it Drain.
414 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Equipment
Parameter Type
RecPar1 Float
RecPar2 Integer
RecParn Integer
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.
12. Select SampleTest_Charge in the Control Module Path for EPT field.
3BUA000146-600 A 415
Example Control System Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
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.
416 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Example Control System Configuration
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.
3BUA000146-600 A 417
Example Control System Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
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.
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.
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}-RM
Feed_tnk {Feed tank}-FT1, FT2.
React {Reactor}-R1, R2.
Ctch_tnk {Catch tank}- CT1, CT2, CT3, CT4.
418 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Example Control System Configuration
10. Raw material feeder header can only add one raw material at a time.
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).
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.
– 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.
3BUA000146-600 A 419
Example Control System Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
420 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Example Control System Configuration
– 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.
– 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.
Numerous logs must be configured in the Information Management for the
temperature tag before running the first batch.
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.
3BUA000146-600 A 421
Control System Process Appendix N AC 800M/C Controller (EPT Control Modules)
The diagram, Figure 124, adds the object name and OPC datapoints to each process
device. The following topics contain illustrations and configuration tables for each
unit and SEM.
422 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Raw Material Feeder Configuration
3BUA000146-600 A 423
Feed Tank 1 Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
424 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Feed Tank 2 Configuration
3BUA000146-600 A 425
Reactor 1 Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
Reactor 1 Configuration
426 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Reactor 2 Configuration
Reactor 2 Configuration
3BUA000146-600 A 427
Mix Feeder 1 Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
428 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Mix Feeder 2 Configuration
3BUA000146-600 A 429
Product Feeder Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
430 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Catch Tank 1 Configuration
3BUA000146-600 A 431
Catch Tank 2 Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
432 3BUA000146-600 A
Appendix N AC 800M/C Controller (EPT Control Modules) Catch Tank 3 Configuration
3BUA000146-600 A 433
Catch Tank 4 Configuration Appendix N AC 800M/C Controller (EPT Control Modules)
434 3BUA000146-600 A
Appendix O Function Phase Driver
Introduction
Normally, 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
through 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 ISA-88 equipment
phases to Batch Management. Figure 138 shows a graphical representation of how a
function phase driver fits into a Batch Management system.
Read Appendix A, Configuring Batch Variables and Expressions before starting
to develop a function phase driver.
3BUA000146-600 A 435
General Procedure Appendix O Function Phase Driver
General Procedure
The 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 on page 328
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
436 3BUA000146-600 A
Appendix O Function Phase Driver Configuration Data
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.
Configuration Data
Use the data presented in Table 82 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.
3BUA000146-600 A 437
Configuration Data Appendix O 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
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.
438 3BUA000146-600 A
Appendix O Function Phase Driver Example
• Held.
• Holding.
• Idle.
• Paused.
• Pausing.
• Restarting.
• Running.
• Stopped.
• Stopping.
Example
func 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
// $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
3BUA000146-600 A 439
Example Appendix O Function Phase Driver
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) {
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) {
440 3BUA000146-600 A
Appendix O Function Phase Driver Example
return("State:Aborted")
}
return("State:Unknown\nget(\"Root/Control Network/ABL/
Applications/ABL/Control Modules/MashTun1/PHSCook1/
PHSCookInfo1:Status.ProceduralState\"did not return
state")
}
if (command == "Start") {
// Start command issued
3BUA000146-600 A 441
Example Appendix O Function Phase Driver
PHSCook1/Core:Start\") failed"
}
} else if (command == "Abort") {
// Abort command issued
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 == "Hold") {
// Hold command issued
if (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
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 issued
if (put("Root/Control Network/ABL/Applications/ABL/
Control Modules/MashTun1/PHSCook1/Core:
InteractionPar.Pause", 1)){
442 3BUA000146-600 A
Appendix O Function Phase Driver Example
return ""
} else {
return "put(\"Root/Control Network/ABL/
Applications/ABL/Control Modules/MashTun1/
PHSCook1/Core:InteractionPar.Pause\") failed"
}
} else if (command == "Reset") {
// Abort command issued
if (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 issued
if (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/
PHSCook1/Core:InteractionPar.Restart\") failed"
}
} else if (command == "Resume") {
// Abort command issued
if (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") {
3BUA000146-600 A 443
Example Appendix O Function Phase Driver
444 3BUA000146-600 A
Appendix P Batch Web Services Interface
Introduction
Batch Management provides the means for an external application to send
information to and receive information from the Batch Management system. Include
web references and the function calls described in this section in the external
application using standard Microsoft .NET programming practices. The web service
to use while making web references is machine_name/BatchWebServices/Batch
WebServices.asmx. The two types of function calls that can be used are read and
write. Read function calls acquire real-time data from the batch system. Write
function calls execute limited control over operations in the batch system.
Client applications are responsible for initiating all communications. The batch
system only responds to function calls received from the client application.
External programs that use Batch Web Services to access Batch Management
data are not able to get data unless the default Windows authentication (Kerberos)
is registered with the domain server or disabled on the batch servers. Refer to
Microsoft Technical Article 871179 (http://support.microsoft.com/kb/871179/)
for instructions an disabling (the easier option) or registering Kerberos
authentication.
Specifying Objects
For some Batch Web Service calls, it is necessary to specify an 800xA object entity
as an input parameter. Following three methods are used to specify this:
1. Using a GUID is the safest method because it is always unique. Enclose the
GUID within brackets and enclose that expression within double quotation
marks. An example of a correctly specified GUID input parameter is
"{B2E69738-FB60-4CCC-9518-5ED1C779C5B8}".
3BUA000146-600 A 445
Specifying Objects Appendix P Batch Web Services Interface
2. Object name is also valid as long as the name is unique for the object type of
the object being specified.
3. An object can also be specified using standard Process Portal path syntax. The
following two examples specify an exact path (beginning at the root level) to
the object. Including or excluding the leading backslash has no effect on the
functionality of these path references.
[DIRECT] [Procedure Structure] WebServicesProcedures/AllParmsProc
[DIRECT] [Procedure Structure] /WebServicesProcedures/AllParmsProc
The following two examples specify an exact path (beginning at the root
level) but in any structure. Including or excluding the leading backslash
has no effect on the functionality of these path references.
[DIRECT] WebServicesProcedures/AllParmsProc
[DIRECT] /WebServicesProcedures/AllParmsProc
The following two examples specify an object at or below the specified
path in the specified structure. A leading backslash indicates that the path
must begin at the root level.
[Procedure Structure] WebServicesProcedures/AllParmsProc
[Procedure Structure] /WebServicesProcedures/AllParmsProc
The following two examples specify an object at or below the specified
path in any structure. A leading backslash indicates that the path must
begin at the root level.
WebServicesProcedures/AllParmsProc
/WebServicesProcedures/AllParmsProc
Figure 139 shows the Batch Web Services object model.
446 3BUA000146-600 A
Appendix P Batch Web Services Interface Specifying Objects
3BUA000146-600 A 447
Read Function Calls Appendix P Batch Web Services Interface
GetActiveBatches
GetActiveBatches (string str, out Batch[] activeBatches)
Input
str = Internally used string that should be set to an empty string ("").
Output
activeBatches = Array containing basic batch information from the batches.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call retrieves basic batch information of all batches listed in the Batch
Overview window.
An end time of 12/31/9999 11:59:59 PM (instead of a blank time) is returned
by this function if the batch has not yet completed for any reason.
448 3BUA000146-600 A
Appendix P Batch Web Services Interface GetBatchDetails
Example
string response;
Batch[] activeBatches = null;
if (response.Equals("OK"))
{
foreach (Batch batch in activeBatches)
{
// process batch object
}
}
GetBatchDetails
GetBatchDetails (string batchID, string str, out BatchDetails batchDetails)
Input
batchID = ID of the batch.
str = Internally used string that should be set to an empty string ("").
Output
batchDetails = Batch detail information.
Return
A result of OK indicates success while failure is indicated by an error message.
3BUA000146-600 A 449
GetListOfActiveBatches Appendix P Batch Web Services Interface
Description
This function call retrieves Batch details from any Batch in the Batch Overview and
Batch History Overview windows.
An end time of 12/31/9999 11:59:59 PM (instead of a blank time) is returned
by this function if the batch has not yet completed for any reason.
Example
string response;
BatchDetails batchDetails = null;
if (response.Equals("OK"))
{
// process batch details object
}
GetListOfActiveBatches
GetListOfActiveBatches (string str, out string[] activeBatchIDs)
Input
str = Internally used string that should be set to an empty string ("").
Output
activeBatchIDs = Array containing batch ID information.
450 3BUA000146-600 A
Appendix P Batch Web Services Interface GetProcedureDetails
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call retrieves a list of the IDs of the batches listed in the Batch
Overview window.
Example
string response;
string batchIDsList = "";
string[] activeBatchIDs = null;
if (response.Equals("OK"))
{
foreach (string batchID in activeBatchIDs)
{
batchIDsList += batchID + Environment.NewLine;
}
}
GetProcedureDetails
GetProcedureDetails (string procedureSpecifier, string str, out ProcedureDetails
procedureDetails)
Input
procedureSpecifier = Name, GUID, or path of procedure.
3BUA000146-600 A 451
GetProcedures Appendix P Batch Web Services Interface
str = Internally used string that should be set to an empty string ("").
Output
procedureDetails = Procedure detail information.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call retrieves details of the specified approved procedure.
Example
string response;
ProcedureDetails procedureDetails = null;
response = batchWebService.GetProcedureDetails("BrewRecipe",
"", out procedureDetails);
if (response.Equals("OK"))
{
// process procedure details object
}
GetProcedures
GetProcedures (string str, out Procedure[] procedures)
452 3BUA000146-600 A
Appendix P Batch Web Services Interface GetProcedures
Input
str = Internally used string that should be set to an empty string ("").
Output
procedures = Array containing procedure basic information.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call retrieves a list of basic information (name, ID, type, version, and
path) for all the approved procedures in the system.
Example
string response;
Procedure[] procedures = null;
if (response.Equals("OK"))
{
foreach (Procedure procedure in procedures)
{
// process procedure object
}
}
3BUA000146-600 A 453
GetTagKeyData Appendix P Batch Web Services Interface
GetTagKeyData
GetTagKeyData (string tagKey, string batchID, string str, out TagKeyData[]
tagKeyData)
Input
tagKey = Name of the tag key item. All tag key data for the specified batch is
retrieved when tagKey is set to "" (empty string).
batchID = ID of the batch.
str = Internally used string that should be set to an empty string ("").
Output
tagKeyData = Array containing tag key data.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call retrieves tag key (batch) data.
Example
string response;
TagKeyData[] tagKeyData = null;
454 3BUA000146-600 A
Appendix P Batch Web Services Interface GetEquipmentDetails
if (response.Equals("OK"))
{
DateTime endTime = DateTime.Parse( ((TagKeyDataString)
tagKeyData[0]).value);
}
if (response.Equals("OK"))
{
foreach (TagKeyData tagKeyDataItem in tagKeyData)
{
// process tagKeyDataItem object
}
}
GetEquipmentDetails
GetEquipmentDetails (string equipmentSpecifier, string str, out EquipmentDetails[]
equipmentDetails)
Input
equipmentSpecifier = Name, GUID, or path of equipment. Details for all equipment
are retrieved when equipment is set to "" (empty string).
str = Internally used string that should be set to an empty string ("").
Output
equipmentDetails = Array containing details of the specified equipment.
Return
A result of OK indicates success while failure is indicated by an error message.
3BUA000146-600 A 455
GetEquipmentDetails Appendix P Batch Web Services Interface
Description
This function call retrieves details of the specified equipment. The equipment must
be a batch equipment object.
Example
string response;
EquipmentDetails[] equipmentDetails = null;
if (response.Equals("OK"))
{
string attrName = equipmentDetails[0].attributes[0],name;
}
if (response.Equals("OK"))
{
foreach (EquipmentDetails equipmentDetailsItem in
equipmentDetails)
{
// process equipmentDetailsItem object
}
}
456 3BUA000146-600 A
Appendix P Batch Web Services Interface GetEquipmentStatus
GetEquipmentStatus
GetEquipmentStatus (string equipmentSpecifier, string str, out EquipmentStatus[]
equipmentStatus)
Input
equipmentSpecifier = Name, GUID, or path of equipment. Status for all equipment
are retrieved when equipment is set to "" (empty string).
str = Internally used string that should be set to an empty string ("").
Output
equipmentStatus = Array containing details of the specified equipment or all
equipment if no equipment is specified.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call retrieves status of the specified equipment. The equipment must
be a batch equipment object.
Example
string response;
EquipmentStatus[] equipmentStatus = null;
3BUA000146-600 A 457
GetFormulaParameters Appendix P Batch Web Services Interface
if (response.Equals("OK"))
{
string equipStatus = equipmentStatus[0].status;
}
if (response.Equals("OK"))
{
foreach (EquipmentStatus equipmentStatusItem in
equipmentStatus)
{
// process equipmentStatusItem object
}
}
GetFormulaParameters
GetFormulaParameters (string spreadsheetIdentifier,string formulaSheet,string
formulaName, "", out Formula[] formulas).
Input
SpreadsheetIdentifier = {ObjectID}{AspectID}.
Note: spreadsheetIdentifier = Identification of the spreadsheet that contains the
formula(s). This can be the {object ID}{Aspect ID} of the File Viewer Aspect that
contains the spreadsheet or the file name of the SimpleParameterManagement Excel
file. While using the file name, the file must exist on any node that makes the
webservice call.
FormulaSheet = Name of the formula sheet.
FormulaName = Name of the formula (if null or empty then all formulas for
specified sheet will be retrieved).
458 3BUA000146-600 A
Appendix P Batch Web Services Interface GetFormulaParameters
Output
formulas = formula(s) (contain parameter names and values).
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function retrieves all the formula details.
Example
string response;
Formula[] formulas = null;
string ssIdentifier = "{B9F7FFC2-2775-4D9D-AD98-
613A33AF78B5}{CC47765E-8A47-4946-8A2D-785BAF7E5689}";
// process formulas
if (response == "OK")
{
foreach (Formula formula in formulas)
{
// process formula.formulaName
3BUA000146-600 A 459
GetListOfAllBatches Appendix P Batch Web Services Interface
GetListOfAllBatches
GetListOfAllBatches (string str, out string[] BatchIDs)
Input
str = Internally used string that should be set to an empty string ("").
Output
activeBatchIDs = Array containing batch ID information.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call retrieves a list of the IDs in the Batch Overview and Batch History
Overview windows.
Example
string response;
string batchIDsList = "";
string[] BatchIDs = null;
batchWebService.Credentials =
System.Net.CredentialCache.DefaultCredentials;
if (response.Equals("OK"))
460 3BUA000146-600 A
Appendix P Batch Web Services Interface GetAllBatches
GetAllBatches
GetAllBatches (string str, out Batch[] Batches)
Input
str = Internally used string that should be set to an empty string ("").
Output
activeBatches = Array containing basic batch information from the batches.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call retrieves basic Batch information of all Batches in the Batch
Overview and Batch History Overview windows.
An end time of 12/31/9999 11:59:59 PM (instead of a blank time) is returned
by this function if the batch has not yet completed for any reason.
Example
string response;
Batch[] AllBatches = null;
3BUA000146-600 A 461
Write Function Calls Appendix P Batch Web Services Interface
batchWebService.Credentials =
System.Net.CredentialCache.DefaultCredentials;
response = batchWebService.GetAllBatches("", out
Batches);
if (response.Equals("OK"))
ChangeBatch
ChangeBatch (string batchID, string scheduledStatus, DateTime startTime, int
priority, string mode, bool bPropagate, string state, bool bIgnoreParameterErrors,
string[] parameterNames, string[] parameterValues, string str)
Input
batchID = ID of the batch to change.
462 3BUA000146-600 A
Appendix P Batch Web Services Interface ChangeBatch
Output
None.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call can change the scheduled status, start time, priority, mode,
propagate mode status, state, and ignore parameter errors status of an active Batch.
Parameters of the batch can also be changed. A batch ID must be specified in this
command.
Example
string response;
3BUA000146-600 A 463
ScheduleBatch Appendix P Batch Web Services Interface
response = batchWebService.ChangeBatch (
"Brew300", // batch ID
"", // do not change schedule status
DateTime.MinValue,// do not change start time
7, // change priority
"Manual", // change mode
true, // propagate mode changes
"", // do not change state
false, // do not ignore parameter errors
parameterNames, // change just the Temperature parameter
parameterValues,// change just the Temperature parameter
""
);
if ( !response.Equals("OK") )
// process error
ScheduleBatch
ScheduleBatch (string procedure, ref string batchID, string lotID, string
campaignID, string comment, string scheduledStatus, DateTime startTime, string
estimatedTime, int priority, string mode, string batchCell, bool
bIgnoreParameterErrors, string[] parameterNames, string[] parameterValues, string
str)
Input
464 3BUA000146-600 A
Appendix P Batch Web Services Interface ScheduleBatch
Output
batchID = The supplied batch ID or automatically generated batch ID (if batchID is
an empty string).
3BUA000146-600 A 465
ScheduleBatch Appendix P Batch Web Services Interface
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call 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.
Example
string response;
response = batchWebService.ScheduleBatch (
"BrewRecipe",
"Brew300",
"ALotID",
"ACampaignID",
"AComment",
"Scheduled",
DateTime.Now,
"1 10:30:00",
6,
"Automatic",
"CellA",
false,
466 3BUA000146-600 A
Appendix P Batch Web Services Interface SetEquipmentAttribute
parameterNames,
parameterValues,
""
);
if ( !response.Equals("OK") )
// process error
SetEquipmentAttribute
SetEquipmentAttribute (string equipmentSpecifier, string attributeName, object
value, string str)
Input
equipmentSpecifier = Name, GUID, or path of equipment.
attributeName = Attribute name.
value = Value to which the attribute will be set.
str = Internally used string that should be set to an empty string ("").
Output
None.
Return
A result of OK indicates success while failure is indicated by an error message.
Description
This function call writes to a writable equipment attribute for a specific piece of
equipment.
Example
string response;
3BUA000146-600 A 467
SetEquipmentAttribute Appendix P Batch Web Services Interface
468 3BUA000146-600 A
Appendix Q MOD 300 Connectivity
Introduction
This appendix describes how to get the Batch Management system to control the
execution of Taylor Control Logic (TCL) sequences. Refer to the 800xA for MOD
300 Configuration (3BUR002417*) and 800xA for MOD 300 Operation
(3BUR002418*) instructions for complete information about the MOD 300 system.
Refer to the AdvaBuild TCL Builder (3BUR002117*), AdvaBuild Control Builder
(3BUR001978*), and Taylor Control Language (3BUR001980*) Users Guides for
more information about AdvaBuild. Batch Management requires the use of
AdvaBuild Versions 3.3 or later.
The following workflow must be followed in order for the execution of TCL
sequences to be controlled by a Batch Management procedure:
• Make the existing (and any new) TCL sequences compliant with ISA-88
specific controller states by using the ISA-88 Phase.tcl template and observing
all the guidelines it contains.
• Import the MOD control structure (except for MOD_PHASE objects) using the
MOD Importer tool.
• Import the MOD_PHASE objects using the MOD 300 TCL Phase Importer
tool.
• Add the MOD phases that will run on each MOD_UNIT and any required unit
attributes to each MOD_UNIT object.
• Add the appropriate parameters (the same parameters used in the TCL
sequence) to the MOD_PHASE objects.
• Enter the name of the file containing the TCL sequence in the SourceName
property of the General Properties aspect of each MOD_PHASE object.
3BUA000146-600 A 469
MOD_UNIT Object Appendix Q MOD 300 Connectivity
MOD_UNIT Object
The equipment that will execute the TCL sequence must be identified in the Control
Structure as MOD equipment using the MOD_UNIT object type. The procedure for
identifying this object is similar to that of identifying equipment that will execute a
batch phase. Upper case letters should be used in the MOD_UNIT object name
because the use of upper case letters is also recommended within Control Builder.
The object name within Control Builder must be identical to that used in the Control
Structure. Refer to Section 5, Equipment Configuration (EPT Control Modules) for
more information. Right click a unit in the Equipment Overview window and select
Faceplate to access the TCL Unit Detail window for that unit. Use the Unit
Message List aspect to access the Unit Message List window. Use the TCL Message
List aspect to access the TCL Message List window.
MOD_PHASE Object
The MOD_PHASE object is the MOD 300 interface to the Batch Management
system and is equivalent to a Batch Management equipment phase object. This
object controls operation of the TCL sequence specified by the SourceName
property of the General Properties aspect. All the MOD_PHASE objects associated
with one MOD_UNIT must have a unique combination of source name and alias ID.
The procedure for creating and configuring this object is similar to that of creating
and configuring a Batch Management equipment phase object. Upper case letters
should be used in the MOD_PHASE object name because the use of upper case
letters is also recommended within Control Builder. The object name within Control
Builder must be identical to that used in the Control Structure. Refer to Section 5,
Equipment Configuration (EPT Control Modules) for more information.
When configuring parameters in the TCL sequence, the total list of parameters
include the alias ID as the first parameter followed by the user parameters that
match the parameters defined in the equipment phase object.
470 3BUA000146-600 A
Appendix Q MOD 300 Connectivity ISA-88 Phase Template
Use the Faceplate button on the Block Status Overview window to access the TCL
Sequence Detail window. Use the MOD300 TCL Sequence Debug and MOD300
TCL SFC aspects to access the TCL Sequence Debug and TCL SFC windows.
3BUA000146-600 A 471
ISA-88 Phase Template Appendix Q MOD 300 Connectivity
472 3BUA000146-600 A
Appendix Q MOD 300 Connectivity UserAbn Template
• TCL abnormal states 3, 9, 11, and 13 are reserved for use by the
ABORTPHASE, STOPPHASE, HOLDPHASE, and PAUSEPHASE
subroutines and must not be used for other abnormal subroutines.
• TCL abnormal states 1, 2, 4, and 10 are used by existing system abnormal
conditions and must not be used for other abnormal subroutines. The FAULT
subroutine is provided as a simple routine for handling system abnormal
conditions. It is intended that it be replaced with a more sophisticated routine
for handling these conditions. The replacement routine must terminate with a
TCL Abort, TCL Pause, or otherwise suspend execution of the phase so that the
operator can react to the problem in some manner. To comply with the ISA-88
standard, it may be necessary to configure aborting logic in the routines that
replace the FAULT subroutine. The FAULT subroutines handle MOD 300
specific system errors that can affect the execution of the application. The
appropriate ISA-88 response is to perform the equivalent Abort logic. Batch
Management treats all MOD 300 system abnormal conditions as an ABORT
with Error.
UserAbn Template
This template contains information about and examples of TCL abnormal routines
properly configured to work with ISA-88 states and MOD_PHASE objects. Use this
information when configuring TCL sequences to run under Batch Management
control. The UserAbn.tcl template is located in the following location:
– Windows 32-bit version, drive:\Program Files\ABB Industrial IT
MOD300BatchConnect\TclTemplate.
– Windows 64-bit version, drive:\Program Files(X86)\ABB Industrial IT
MOD300BatchConnect\TclTemplate.
The use of user defined abnormals in MOD_Phases is not recommended.
Applications that require user defined abnormal support should implement them
using traditional MOD_Sequence sequence logic that can then be called by the
MOD_Phase logic. If user defined abnormals must be implemented by
MOD_Phases, edit the phase logic to conform to the guidelines presented in the
UserAbn.tcl file.
3BUA000146-600 A 473
UserAbn Template Appendix Q MOD 300 Connectivity
474 3BUA000146-600 A
Appendix R Harmony Connectivity
Introduction
This appendix describes how to get the Batch Management system to control the
execution of Harmony PHASEX function blocks. Refer to the 800xA for Harmony
Configuration (3BUA000157*) and 800xA for Harmony Operation (3BUA000158*)
instructions for complete information about the Harmony system.
The following workflow must be followed in order for the execution of PHASEX
sequences to be controlled by a Batch Management procedure:
• Export the tag list from Composer into a .mdb formatted file.
• Use the Harmony Tag Importer Exporter tool (not the Import Export
Configuration Wizard) to import the .mdb file into the configuration server.
• Create the Harmony OPC Server Network object in the Control Structure under
the Root, Domain object.
• Use the Harmony Synchronizer aspect to import tags from the configuration
server to the Control Structure.
• Create Harmony equipment (INFI 90 Harmony Batch Unit) objects in the
Equipment Structure.
• Create Harmony phase (INFI 90 Harmony Batch Phase) objects in the
Procedure Structure.
3BUA000146-600 A 475
Harmony Phase Objects Appendix R Harmony Connectivity
Example Configuration
The following topics present, in outline form, the steps required to configure a
Harmony control system for use with Batch Management.
A comprehensive example process, shown in Figure 140, serves as the basis for the
outline that follows:
476 3BUA000146-600 A
Appendix R Harmony Connectivity Example Configuration
1. Use the general process and instrumentation drawings to show how to select
the boundaries of the units and SEMs (these boundaries are used for selecting
controllers, I/O cards, and the scope of control for the B90 programs).
2. Use the detailed process and instrumentation drawings to create an I/O list to
create a list of analog inputs, analog outputs, digital inputs and digital outputs.
Add an exit valve for each vessel to the solvent recovery system. This is needed
3BUA000146-600 A 477
Example Configuration Appendix R Harmony Connectivity
478 3BUA000146-600 A
Appendix R Harmony Connectivity Example Configuration
– Each unit (feed header, FT1, FT2, R1, R2, CT1, CT2, CT3, CT4).
9. Download function code logic to the appropriate Harmony controller.
10. Load the tag database into Process Portal (or configure it manually on the
computer).
11. Load the process graphics on the Process Portal.
12. Test and troubleshoot function code logic manually. (This allows better
confidence if phase logic fails to execute as expected when a phase logic error
exists).
13. Write B90 programs for the units and SEM using the Batch Data Manager
(BDM). BDM is available as an option of the Composer configuration tools.
– Using BDM, create a project.
– Create the class library.
– Create the following classes (containing the following units):
Raw_mtrl {Raw material feeder}-RM
Feed_tnk {Feed tank}-FT1, FT2.
React {Reactor}-R1, R2.
Ctch_tnk {Catch tank}- CT1, CT2, CT3, CT4.
14. Raw material feeder header can only add one raw material at a time.
15. 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.
– 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.
16. Mix feeder headers are exclusive use SEMs and can only empty one feed tank
into one reactor at a time.
3BUA000146-600 A 479
Example Configuration Appendix R Harmony Connectivity
480 3BUA000146-600 A
Appendix R Harmony Connectivity Example Configuration
22. Using BDM, download B90 and UNT object files to the Harmony controller.
23. Test and troubleshoot individual phases using the Process Portal PHASEX
faceplates to execute phases. Use BDM or Process Portal batch debugger to
troubleshoot phase logic.
24. Edit the Batch Management equipment database.
– Create the phase list.
25. Use the tag importer to create PHASEX tags in the Control Structure. The
resulting object is:
Harmony Network, Harmony OPC Server Network
tag_name_Pn, INFI 90 Harmony PHASEX Read
tag_name_Pn, INFI 90 Harmony PHASEX Read
26. Create the required INFI 90 Harmony Batch Phase objects in the Procedure
Structure.
27. Create the required INFI 90 Harmony Batch Unit objects (in the Equipment
Structure) that use the same name as the lead PHASEX tag but without the _P#.
Saving the unit causes a map of the corresponding PHASEX tag names and
GUIDs to be saved in the XML information used at run time.
While running the Phases in sequence, the value of S12 on the lead PHASEX
block should be set to the value specified in the BDM times the maximum
number of Phases to be run in any sequence for that specific unit.
28. Add the appropriate Harmony batch phases to the Batch Equipment aspects of
the INFI 90 Harmony Batch Unit objects. Any INFI 90 Harmony Batch Phase
objects can be used and the same phase can even be used multiple times within
the same unit or across multiple units.
At least one phase must be added to each unit for it to be recognized by the Batch
Management system.
29. Using Batch Management, create procedure function charts (PFCs) to produce
batches of product.
– Design a series of procedure groups to make the batch recipe easier to
view.
3BUA000146-600 A 481
Harmony Control System Process Appendix R Harmony Connectivity
– 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.
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.
30. Run the demo by scheduling a Batch that uses the Batch recipe created
previously.
31. Create a reusable Batch report template on an Excel spreadsheet in Process
Portal that includes a graph of the temperature profile.
482 3BUA000146-600 A
Appendix R Harmony Connectivity Segmenting the Process
Before beginning to assign unit and SEM resource tag names and defining the
PHASEX blocks, make certain the following planning tasks are completed using the
example in Segmenting the Process on page 483 as a guideline.
• Divide the process resources into units and SEMs.
• Each unit or SEM must be configured in the same Harmony controller.
• Select a meaningful equipment name for each unit and SEM.
• Gain an understanding of the PHASEX blocks required to control the flexible
batch process.
The diagram, Figure 140, adds the tag name and module name to each process
device. The following topics contain illustrations and configuration tables for each
unit and SEM.
3BUA000146-600 A 483
Raw Material Feeder Configuration Appendix R Harmony Connectivity
484 3BUA000146-600 A
Appendix R Harmony Connectivity Feed Tank 1 Configuration
3BUA000146-600 A 485
Feed Tank 2 Configuration Appendix R Harmony Connectivity
486 3BUA000146-600 A
Appendix R Harmony Connectivity Reactor 1 Configuration
Reactor 1 Configuration
3BUA000146-600 A 487
Reactor 2 Configuration Appendix R Harmony Connectivity
Reactor 2 Configuration
488 3BUA000146-600 A
Appendix R Harmony Connectivity Mix Feeder 1 Configuration
3BUA000146-600 A 489
Mix Feeder 2 Configuration Appendix R Harmony Connectivity
490 3BUA000146-600 A
Appendix R Harmony Connectivity Product Feeder Configuration
3BUA000146-600 A 491
Catch Tank 1 Configuration Appendix R Harmony Connectivity
492 3BUA000146-600 A
Appendix R Harmony Connectivity Catch Tank 2 Configuration
3BUA000146-600 A 493
Catch Tank 3 Configuration Appendix R Harmony Connectivity
494 3BUA000146-600 A
Appendix R Harmony Connectivity Catch Tank 4 Configuration
3BUA000146-600 A 495
Catch Tank 4 Configuration Appendix R Harmony Connectivity
496 3BUA000146-600 A
Appendix S DCI Connectivity
Introduction
This appendix describes how to get the Batch Management system to control the
execution of DCI System Six (CCL) sequences. Refer to the 800xA for DCI
Configuration (3BUA000135*) and 800xA for DCI Operation (3BUA000129*)
instructions for complete information about the DCI system.
The following workflow must be followed in order for the execution of CCL
sequences to be controlled by a Batch Management procedure:
• Import the necessary DCU configurations using the DCI Tag Importer tool.
• Use the Batch Equipment aspect of the MSET objects in the Control Structure
to add the DCI phases that will execute on the MSET objects and any required
equipment attributes to the MSET objects.
• Add the appropriate parameters (the same parameters used in the CCL
sequence) to the PHS objects in the Control Structure.
MSET Object
The equipment that will execute the CCL sequence must be identified in the Control
Structure as DCI equipment using the MSET object type. The procedure for
identifying this object is similar to that of identifying equipment that will execute a
batch phase. Refer to Section 5, Equipment Configuration (EPT Control Modules)
for more information. Imported MSET objects are automatically identified as DCI
equipment.
3BUA000146-600 A 497
DCI_PHS Object Appendix S DCI Connectivity
DCI_PHS Object
The DCI_PHS object is the DCI interface to the Batch Management system and is
equivalent to a Batch Management equipment phase object. The procedure for
creating and configuring this object is similar to that of creating and configuring a
Batch Management equipment phase object. Refer to Section 5, Equipment
Configuration (EPT Control Modules) for more information.
498 3BUA000146-600 A
Appendix T AC 870P/Melody Connectivity
Introduction
This appendix provides an overview on how to get the Batch Management system to
control the execution of the Melody AC 870P controllers.
Integration
The Melody Composer configuration is transferred to the 800xA system by the
Melody Uploader tool. Batch data provides users the ability to import Functional
Units, SFC objects, and associated parameters into the Functional Structure. The
uploader will configure these objects with required Batch Management aspects
(Figure 154).
3BUA000146-600 A 499
Integration Appendix T AC 870P/Melody Connectivity
500 3BUA000146-600 A
Appendix T AC 870P/Melody Connectivity Workflow
Workflow
The workflow outlines the application engineering required to import SymBatch
configuration into the 800xA system for use with Batch Management (Figure 156).
Composer
Perform the following planning steps for batch processing in Composer:
Refer to the 800xA Engineering, AC 870P/Melody - Batch Process Engineering
(2PAA101156*) instruction for more information on all planning steps for Batch
processing in Composer.
• Assign equipment to basic functions in file “_unit.csv (for SymBatch this will
done in the Basic Function Editor).
• Define Alias names for SFC and Parameter for each basic function (for
SymBatch this will done in the Basic Function Editor).
• Definition of the equipment as functional units of type "batch".
3BUA000146-600 A 501
Melody Uploader Tool Appendix T AC 870P/Melody Connectivity
Batch Management
Perform the following planning steps for Batch Management:
• Design batch procedures to make use of the uploaded equipment and phases.
• The Melody uploader has already configured the Batch Equipment and Batch
Phase Aspects.
502 3BUA000146-600 A
Appendix T AC 870P/Melody Connectivity Manual Workflow
Manual Workflow
The Batch Equipment and Batch Phase aspects can be manually configured if
necessary or desirable.
Any manual changes to the uploaded configuration will be overwritten if the
uploader is subsequently used.
3BUA000146-600 A 503
Equipment Phase Tab Appendix T AC 870P/Melody Connectivity
504 3BUA000146-600 A
Appendix T AC 870P/Melody Connectivity Equipment Phase Tab
Selecting an SFC or SFC-Phase object will create a new Equipment Phase tab for
the selected phase. A Batch Phase aspect will be added to this object if necessary.
Manually adding the Batch Phase aspect and configuring the parameters of the
phase before adding the phase to the equipment will allow the equipment phase
to be configured completely in this step. Otherwise, it is required to navigate to
the Batch Phase aspect and configure the phase parameters before proceeding
with the equipment phase configuration.
3BUA000146-600 A 505
Equipment Phase Tab Appendix T AC 870P/Melody Connectivity
The Equipment Phase tab (Figure 160) allows configuration and testing of the
configuration of the phase.
SFC Path
It is automatically set to the full path of the phase object in the Functional Structure
when the phase is added to the equipment.
Phase Parameters
The Direction setting of the parameter determines which OPC datapoint must be
defined. The Direction is defined for each parameter in the Batch Phase aspect.
In Parameters require the OPC Datapoint In be defined and if defined the OPC
Datapoint Out is used for readback verification of the parameter before the Start
506 3BUA000146-600 A
Appendix T AC 870P/Melody Connectivity Batch Phase Aspect
command is issued. If the OPC Datapoint Out is not defined for an In parameter the
readback verification of this parameter will be disabled.
Out Parameters have the OPC Datapoint In disabled. The OPC Datapoint Out
defines the point where the output value will be read once the phase reaches the
Complete or Aborted state.
In/Out parameters require the OPC Datapoint In to be defined for writing the
parameter value prior to issuing the Start command. The OPC Datapoint Out is
required for both readback verification before the Start command will be issued and
for reading the output value once the phase reaches the Complete or Aborted state.
3BUA000146-600 A 507
Batch Phase Aspect Appendix T AC 870P/Melody Connectivity
Parameters Tab
The Duration type parameter supports Melody phases. The Duration data type
behaves similarly to the existing Float and Integer types in that a Default value and
Allowable range defined by Low and High limits must be defined. The Duration
type parameter values may be entered in the form DDD:HH:MM:SS or using a
simple integer number of seconds where the following apply:
• DDD - days.
• HH - hours.
• MM - minutes.
• SS - seconds.
508 3BUA000146-600 A
Appendix T AC 870P/Melody Connectivity Batch Phase Aspect
3BUA000146-600 A 509
Batch Phase Aspect Appendix T AC 870P/Melody Connectivity
510 3BUA000146-600 A
Appendix U VB Graphics and PG2 Graphics
Introduction
This appendix describes the changes, recommendations, and limitations in Batch
Management due to the new graphics implementation.
3BUA000146-600 A 511
Changes and Recommendations Appendix U VB Graphics and PG2 Graphics
• The Attributes tab is removed from the Extended Faceplate view and the Auto
Attributes Enhanced Faceplate Element aspect is deprecated.
After restoring a System Version 5.0 SP2 or a previous version, the Batch
Advanced Templates VB Graphics system extension must be loaded to
continue using the VB Faceplate aspects on Batch Units and Phases.
512 3BUA000146-600 A
Appendix U VB Graphics and PG2 Graphics Changes and Recommendations
Follow the steps to make the Batch Graphics appear in the Control Structure:
1. Copy the Batch Graphic Element aspect(s) to the required object.
2. Select the copied aspect.
3. Right click and select Details... from the context menu.
4. Click the Aspect Info tab in the Details dialog window.
5. Select the Inheritance enabled check box.
6. Click Apply.
Copy the three Batch graphic element aspects (one at a time) to the object where
they are used.
If the object is an Object Type that is being configured, set the "Inheritance
enabled" flag on each one by using the "Aspect Info" tab on the Details view of
each of the three.
3BUA000146-600 A 513
Changes and Recommendations Appendix U VB Graphics and PG2 Graphics
514 3BUA000146-600 A
Appendix V Simple Batch and Parameter
Management
Introduction
This appendix describes the configuration of the Batch Spreadsheet Scheduler
aspect.
Simple Batch and Parameter Management offers the user an optional way to
schedule batches and manage formula parameter information without the need to
access the Batch Overview. Using Microsoft® Excel, a user is able to add and
schedule Batch procedures. In addition, formula worksheets can be added to the
Excel workbook to manage parameter lists.
Prerequisites
The macro security setting of Microsoft® Excel must be set to Enable all Macros.
This setting should be done for each of the Industrial IT User login where Batch
Spreadsheet Scheduler will be used. Follow the steps to enable the Macro security
feature:
3BUA000146-600 A 515
Microsoft Office – Excel 2010 Appendix V Simple Batch and Parameter Management
516 3BUA000146-600 A
Appendix V Simple Batch and Parameter Management Procedure to Open and Add Formula
5. Click Config View from the context menu of Batch Spreadsheet Scheduler
aspect as shown in the Figure 164.
3BUA000146-600 A 517
Procedure to Open and Add Formula Sheets Appendix V Simple Batch and Parameter
7. In Microsoft® Excel, users can either insert a new Worksheet or copy/move the
existing Worksheet. To insert a new Worksheet, click Insert Worksheet.
Replace the default Worksheet name with the respective procedure name.
To use the existing formula sheet present in the other Microsoft® Excel
Workbooks, save the BatchSpreadsheet Scheduler.xlsm file to the local system
from the File Viewer Aspect. Reopen the local copy of BatchSpreadsheet
Scheduler.xlsm and also open the Microsoft® Excel Workbook that contains
the formula sheet. In Microsoft® Excel Workbook, click Move or Copy to
insert the existing formula sheet to the Batch Spreadsheet.
The worksheet name in Microsoft® Excel and procedure name in the Batch system
must be same. The formula sheet names must be unique in a Batch Spreadsheet
Scheduler. If procedure names are not unique, then use cell A1 in the formula sheet
to provide the name of the procedure. If cell A1 is blank, then the worksheet name is
used as the procedure name.
The procedure name entered in cell A1 can be in any format accepted by web
services, which includes procedure GUID and fully qualified procedure name
(including path). One of these formats needs to be used in cell A1 for the following
special cases:
• When formulation is desired for two procedures that differ only by case.
• When formulation is desired for procedures that contain special characters not
allowed by Microsoft® Excel in a worksheet name.
In the formula sheet, the first column contains the formula names and the first row
contains the parameter names. Parameter and formula names are case sensitive.
The engineer can optionally add two new columns to any formula sheet to specify
whether parameter values for each formula can be overridden by the operator at
runtime.
To differentiate from parameter names, these columns must be titled (in Row 1)
exactly as shown in Figure 165.
518 3BUA000146-600 A
Appendix V Simple Batch and Parameter Management Procedure to Open and Add Formula
• When Allow override of procedure parameters is set to Yes, the operator can
override the default value for any parameter that is not part of the formula
definition. If this column does not exist, the default value for all formulae is
Yes (i.e. the operator can override default values of Procedure parameters).
• When Allow override of formula parameters is set to Yes, the operator can
override the formula value for any parameter that is part of the formula
definition. If this column does not exist, the default value for all formulae is No
(i.e. the operator cannot override formula values of formula parameters).
All the parameters defined in the formula sheet are considered as formula
parameters.
Add the required formula data to the sheet. The formulae do not need to include all
of the parameters that are defined for the procedure. The default value will be used
for parameters that are omitted from the formulae. Repeat this step for each
procedure that has formula data.
The maximum number of parameters supported by Batch Spreadsheet is 999.
3BUA000146-600 A 519
Procedure to Open and Add Formula Sheets Appendix V Simple Batch and Parameter
The engineer can optionally add a new row to a formula sheet to specify the access
level required to override each parameter value.
The access level names are case sensitive and are applicable only when the
Spreadsheet is used to schedule the Batches.
To differentiate the formula names, the row must be titled "Access Level" (in
column 1) as shown in the Figure 166.
The current user permissions will be checked against the specified access levels for
each parameter to determine whether the value can be overridden. The security
checks for “Allow override of procedure Parameters” and “Allow override of
formula Parameters” are done first, and then the access level checks will be carried
out.
If this row is left blank, then the access level for each parameter (except for
parameter with “No Access” access level) defaults to the defined Access Level in
the procedure.
520 3BUA000146-600 A
Appendix V Simple Batch and Parameter Management Procedure to Open and Add Formula
3BUA000146-600 A 521
Unit List Types with Duplicate Names Appendix V Simple Batch and Parameter Management
12. Attach the local copy of the Microsoft® Excel workbook as the public
document. The directory location of the local copy is shown in the Work
Document area of the Config View dialog.
The attached public document is the spreadsheet that launches when the main
view of the aspect is displayed.
13. Close the Config View.
Batch Spreadsheet cannot resolve procedures with same name and path.
522 3BUA000146-600 A
Appendix V Simple Batch and Parameter Management Unit List Types with Duplicate Names
Figure 168. Unit Names with Path Designation in the Combo Box
Engineer shall add the path of the unit name for duplicate unit name while defining
formula values for the unit type parameter in the formula sheet. Unit name for the
unit type parameter with the duplicate name should be defined as shown in
Figure 169.
3BUA000146-600 A 523
Procedure to Modify Scheduler Lists Appendix V Simple Batch and Parameter Management
Figure 169. Formula Value Defined for a Duplicate Unit Name in the Formula Sheet
The below mentioned steps should be performed by the Engineers. Users with
only configure permission will have the rights to create and edit the formula
sheets and also make modifications to Admin sheet.
The Admin worksheet contains lists that are used in some of the drop-down lists on
the BatchScheduler sheet.
An engineer can change the order of the items in this list to set the ordering in the
drop-down list and also can delete items without making any changes to the VBA
code.
524 3BUA000146-600 A
Appendix V Simple Batch and Parameter Management Procedure to Add a non-Formula Sheet
Adding new items to the list require VBA code changes. These changes should be
done during configuration. Any change to sheets or VBA code during operation is
not recommended. The Admin sheet is shown in Figure 170.
3BUA000146-600 A 525
Procedure to Add a non-Formula Sheet Appendix V Simple Batch and Parameter Management
526 3BUA000146-600 A
Appendix W Scheduling Batch from a Non-
800xA Node
Introduction
This appendix describes on how to schedule a Batch from a non-800xA node.
Existing Batch Spreadsheet Scheduler Excel workbook works on only 800xA
nodes. The Spreadsheet Scheduler is hosted into the File Viewer Aspect.
The users are now provided with the flexibility of using the Spreadsheet scheduler
from a non-800xA node. On a standalone system (non-800xA node), Spreadsheet
Scheduler shall work without any dependency of File Viewer Aspect.
Pre-requisites
Windows 8.1 or Windows Server 2012 R2 is the recommended operating system.
However, Windows 7 or Windows Server 2008 operating system can be used as a
non-800xA node.
The pre-requisites to schedule a Batch from a non-800xA node are:
• Installation of the Batch non-800xA node software.
Install .NET FrameWork 4.0, while installing Batch non-800xA software on
Windows 7 or Windows Server 2008 operating system.
• ABB recommended McAfee Antivirus application with latest security updates
on the non-800xA node.
• Microsoft Office 2010 or Microsoft Office 2013.
During customized installation of Microsoft Office Excel 2010, VBA needs to be
installed.
• The user logged on to the non-800xA node must be an 800xA system user.
3BUA000146-600 A 527
Procedure to configure the Target Server Appendix W Scheduling Batch from a Non-800xA Node
Ensure that the Windows time of the non-800xA node should be the same as that
of the 800xA system. If there is a lead or lag in the Windows time of the non-
800xA node, then the Batch gets scheduled with a time difference or immediately
(based on the time difference).
For a non-800xA node, the user of the Spreadsheet must be a domain user for the
800xA domain. The privileges associated with this user are used to determine
access rights when using the Scheduler. However, in case of the 800xA system
being in workgroup (no domain controller), any workgroup administrator (on any
system) will have access to the scheduling functionality.
528 3BUA000146-600 A
Appendix W Scheduling Batch from a Non-800xA Node To configure a Target Server:
the Target server IP/name of the node. To un-protect the sheet, use the
default password as “BATCH”. After un-protection, users can enter the
Target Server in the sheet.
– An IP address or a node name of the 800xA System Server with Batch
installed should be mentioned in the Target Server field in the Admin
3BUA000146-600 A 529
To configure a Target Server: Appendix W Scheduling Batch from a Non-800xA Node
530 3BUA000146-600 A
Appendix W Scheduling Batch from a Non-800xA Node To configure a Target Server:
3BUA000146-600 A 531
To configure a Target Server: Appendix W Scheduling Batch from a Non-800xA Node
532 3BUA000146-600 A
Appendix X Batch Spreadsheet Scheduler
Security
This appendix covers all the options and features available for the Batch
Spreadsheet Scheduler.
Table 95. Sample Set of User level permissions with their Groups Defined
Groups
User Industrial IT Industrial IT Industrial Industrial Industrial
Administrator System Engineer IT IT Operator IT User
Application
Engineer
Administrator Yes Yes Yes No Yes
800xAInstaller Yes Yes Yes No Yes
800xAServiceUser1 Yes Yes Yes No Yes
SysEng1 No Yes No Yes Yes
SysEng2 No Yes No No Yes
AppEng1 No No Yes Yes Yes
AppEng2 No No Yes No Yes
Operator1 No No No Yes Yes
3BUA000146-600 A 533
Password Protection Appendix X Batch Spreadsheet Scheduler Security
Password Protection
The items that will be password protected are:
• WorkBook (Batch Spreadsheet Scheduler.xlsm workbook).
• WorkSheets (Formula sheets, BatchScheduler, Admin and Help sheets).
• VBAProject (Visual Basic for Applications).
Workbook
Microsoft Excel workbook can be protected using a password or with an empty
password. If the workbook is protected with an empty password, then any user can
un-protect it. Protected workbook will restrict users from renaming, deleting, move
or Copy, and hiding the worksheets.
Batch Spreadsheet Scheduler workbook will be protected if the logged on user does
not have configure permissions. User without configure permissions should be
restricted from making modifications to the workbook. Only users with configure
permissions can add, modify, delete and rename the formula sheets. For the rest of
the users, these operations will be restricted.
Protecting and un-protecting of the workbook will be done by the code by
checking the user permissions. So no specific configuration is required.
Worksheets
By design “Batch Spreadsheet Scheduler.xlsm” will contain following sheets:
• BatchScheduler
• Admin
• Help sheets
BatchScheduler worksheet is protected with a password by default. Protection of
this worksheet will be done for all the users by default. This is done to avoid
modifications to the existing data in the BatchScheduler sheet which may result in
some unexpected problems. So the users should be strictly prohibited from making
modifications to this sheet.
To un-protect the sheet, logged on user should know the password to un-protect it. If
the Administrator needs to make any modifications to this sheet, it has to be
534 3BUA000146-600 A
Appendix X Batch Spreadsheet Scheduler Security Procedure to Unprotect the Worksheet
3BUA000146-600 A 535
Procedure to Unprotect the Worksheet Appendix X Batch Spreadsheet Scheduler Security
536 3BUA000146-600 A
Appendix X Batch Spreadsheet Scheduler Security Procedure to Change the Worksheet Password
4. The sheet will be unprotected and the Administrator (or any account that has
administrator rights) can make modifications in the sheet.
Any changes performed in this sheet (location of the fields) will impact the
functionality. Hence the changes performed in this sheet might require VBA code
modifications.
3BUA000146-600 A 537
Procedure to View the VBAProject Appendix X Batch Spreadsheet Scheduler Security
538 3BUA000146-600 A
Appendix X Batch Spreadsheet Scheduler Security Procedure to View the VBAProject
3BUA000146-600 A 539
Procedure to Modify the VBAProject Password Appendix X Batch Spreadsheet Scheduler Security
540 3BUA000146-600 A
Appendix X Batch Spreadsheet Scheduler Security Batch Cell Object
3BUA000146-600 A 541
Location of Batch Cell Object Appendix X Batch Spreadsheet Scheduler Security
Figure 176. Batch Cell Object Location shown in the Admin Sheet
542 3BUA000146-600 A
Appendix X Batch Spreadsheet Scheduler Security Procedure to Create a Batch Cell Object
3. Create a Security Definition Aspect under the same Object. This new Aspect
can be used to modify the permissions for any user.
4. In the Spreadsheet Admin tab, set the path to the Batch Cell object as shown in
the Figure 178.
3BUA000146-600 A 543
Procedure to Create a Batch Cell Object Appendix X Batch Spreadsheet Scheduler Security
544 3BUA000146-600 A
Appendix Y Batch Scheduler Aspect
Batch users have an option to schedule Batches using a simple dialog with a
minimal set of fields. This scheduling functionality is provided in an Aspect System
Object, so that it can be utilized within a Process Graphics (PG) 2 display as a view
launched by a button on the graphic.
Functionality
As mentioned, the scheduling functionality is provided in an Aspect System Object.
This aspect will contain a config view and a main view. The config view is available
for the Administrators or the Engineers only.
Config View
The config view is shown in the Figure 179.
3BUA000146-600 A 545
Config View Appendix Y Batch Scheduler Aspect
546 3BUA000146-600 A
Appendix Y Batch Scheduler Aspect Config View
• Formulation Aspect – This is PPA path location to the File Viewer aspect that
contains the formulation data. If left blank, no formulation data will be read
and the Formula field cannot be set to visible.
• Procedures – This is a semi-colon delimited list of procedures that limits the
procedures that appear in the Procedure combo box (on the main view). If left
blank, then all procedures (if no formulation aspect is specified) or all formula
procedures (if a formulation aspect is specified) will appear in the Procedure
combo box.
• Fields - These settings determine the appearance of the main view. The twelve
fields that can be set are the same twelve fields that appear on the Spreadsheet
Scheduler. The settings are as follows:
– Name: The name of the field (cannot be modified).
– Visible: This specifies whether the field is visible on the main view.
– Editable: This specifies whether the field can be edited by the operator.
– Order: This specifies the order in which the fields are displayed in the
main view. Users can set the Order in which they want to view the fields in
the main view.
– Default: This specifies a default value. If left blank, then no value will be
passed to the web service schedule call for the field. The default value can
be specified even if the field is not visible on the main view (For ex: The
Schedule Status can be set to “Scheduled” but not displayed).
– Proc Type: This allows to configure the procedure types in Config view.
Based on the selected procedure type, the corresponding procedures are
displayed under the Main view.
• Status - This field displays the status of the operation while Adding or
Scheduling a Batch in the main view. If checked, the message is displayed
while adding a Batch within the status box instead of a pop-up window.
Figure 179 shows the Status field in the Config View dialog. Figure 180 shows
the Status field in the main view dialog.
• PG2 Color - This field is used to enable the PPA Display Background color on
the Main view.
3BUA000146-600 A 547
Main View Appendix Y Batch Scheduler Aspect
Main View
The main view is visible based on the settings in the config view. The visible fields
will be presented in the order specified with an equal spacing between each field.
When a subset of the eleven fields are visible (standard), the additional space for the
unused fields will appear at the bottom of the dialog. This allows the customization
(through PPA Workplace Frames) of the aspect view to occupy the minimum
physical space needed.
Default values will be set in the visible fields accordingly. Similarly, the fields will
be enabled as per the editable setting. The Add/Schedule button label will be set
based on the Schedule Status setting.
Figure 180 is the snapshot of the Main View dialog.
548 3BUA000146-600 A
Appendix Y Batch Scheduler Aspect Main View
3BUA000146-600 A 549
Main View Appendix Y Batch Scheduler Aspect
Once the Batch Scheduler Aspect is configured, it can be used in the operations as a
standard view aspect. For example, it can be included on a user graphic by adding a
button and linking the button to the Batch Scheduler Aspect's main view. To know
more about how to add an Aspect button, Adding a Scheduler Aspect Button to a
Process Graphic (PG) 2 on page 550.
550 3BUA000146-600 A
Appendix Y Batch Scheduler Aspect Main View
4. Select the Aspect View button and click on the Aspect View properties on the
right-hand side. The Expression Editor window opens.
5. Go to the Graphic Display Aspect under Functional Structure in Views
category and choose the Graphic Display Aspect and click Insert Selection.
3BUA000146-600 A 551
Main View Appendix Y Batch Scheduler Aspect
Figure 182 shows the Expression Editor with Insert Selection button.
552 3BUA000146-600 A
Appendix Y Batch Scheduler Aspect Main View
3BUA000146-600 A 553
Main View Appendix Y Batch Scheduler Aspect
554 3BUA000146-600 A
Revision History
Introduction
This section provides information on the revision history of this User Manual.
The revision index of this User Manual is not related to the 800xA 6.0 System
Revision.
Revision History
The following table lists the revision history of this User Manual.
Revision
Description Date
Index
- First version published for 800xA 6.0 December 2014
A Updated for 800xA 6.0.1 October 2015
3BUA000146-600 A 555
Updates in Revision Index A
556 3BUA000146-600 A
Index
A Batch equipment 179
Abnormal conditions 48 Batch equipment aspect 65
AC 800M/C controller 389, 411 Batch expression structure 297
Example control system configuration 391, Constants 301
416 IF/ELSE syntax 300
Example controller configuration 390, 412 Operators 298
Process 396, 422 Punctuation 300
Process segmenting 397, 422 Text entry format 301
Acquire equipment 242 Batch functions
Alarm & event lists 54 Configuration
Alarm lists 54 Color discrepancies 366
Allocate equipment 236 Equipment settings 360
Approve procedures 197 PFC blink rate 365
Audit trail 50 PFC color 364
Authentication 74 PFC text, block and color 365
Automatic batch ID generation 291 Batch functions (built-in) 307
Cancel aspect changes 295 Batch ID generation 291
Configure sequence number 293 Batch Management
Create pattern 292 Print BMS report configuration 40
Find and replace text 294 Shutdown script 38
Find text 294 Toolbar 375
Print pattern 295 Batch manager actions (BMA) 260
Save aspect changes 295 Acquire/release equipment 242
Assign values from PFC 272
B Collect data from PFC 267
Backup and restore 371 Connect objects on PFC 277
Backup procedure versions retained 369 Correlate PFC and SOP 276
Batch cell definition aspect 56 to 57 Evaluate expressions from PFC 272
Batch cells 201 Issue commands from PFC 273
Batch command interface Message
batch_cbatch command 347 Color configuration 260 to 261
batch_chgunit command 350 Configuration 262
batch_sbatch command 351 Convert to HTML 266
Batch data collection 290 Copy 266
Batch enable equipment 179 Create reusable templates 266
3BUA000146-600 A 557
Index
558 3BUA000146-600 A
Index
3BUA000146-600 A 559
Index
H O
Harmony control system Operation procedures 192
Process 396, 422, 482 Operator changes 46
Process segmenting 397, 422, 483 Overview
Harmony equipment objects 475 Abnormal conditions 48
Harmony phase object 476 Audit trail 50
History options 357 Batch 29
Configuration 40
I Equipment 41
INFI 90 Harmony Batch Phase object 476 Miscellaneous batch 43
INFI 90 Harmony Batch Unit object 475 Procedure 42
Intended users 30 Expressions 81
ISA-88 compliance 30 Operator changes 46
ISA-88 template 471 Parameters 81
ISA-88Phase.tcl 471 Runtime operations 43
Variables 81
Version control 47
L
Layered procedures 192
Level N output parameters 360 P
Licensing 31 Parallel processing 257
Parameters 81
Paste procedure 198
M
PFC Editor window
Miscellaneous batch configuration 355
File menu 206
Backup procedure versions 369
Layout menu 212
Batch message logging 358
To access window 197
Default batch cell 369
Tools menu 210
Equipment settings 360
View menu 208
Event settings 358
Phases 104, 176
History options 357
Print BMA report configuration 40
PFC color configuration 364
Print data from PFC 269
Retention limits 356
Procedure color configuration 364
560 3BUA000146-600 A
Index
3BUA000146-600 A 561
Index
T
TCL sequences 469
Toolbar 375
U
Unit procedure 191
Unreserve equipment 245
UserAbn template 473
UserAbn.tcl 473
V
Variables 81
Variables (built-in) 323
Version control 47, 195
Version history 199
Views of a function 333
562 3BUA000146-600 A
Contact us
3BUA000146-600 A
www.abb.com/controlsystems All rights reserved.