0% found this document useful (0 votes)
4 views248 pages

Batch Implementation Guide EPDOC X161 en 431

The Experion PKS Batch Implementation Guide provides comprehensive instructions for planning, configuring, operating, and troubleshooting batch processes within the Honeywell Experion system. It covers key topics such as batch preferences, equipment modeling, master recipe creation, unit configuration, and intercluster communication. The document is proprietary and intended for use solely by authorized personnel, with a release date of February 2015.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views248 pages

Batch Implementation Guide EPDOC X161 en 431

The Experion PKS Batch Implementation Guide provides comprehensive instructions for planning, configuring, operating, and troubleshooting batch processes within the Honeywell Experion system. It covers key topics such as batch preferences, equipment modeling, master recipe creation, unit configuration, and intercluster communication. The document is proprietary and intended for use solely by authorized personnel, with a release date of February 2015.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 248

Experion PKS

Batch Implementation Guide

EPDOC-X161-en-431A
February 2015

Release 431
Document Release Issue Date
EPDOC-X161-en-431A 431 0 February 2015

Disclaimer
This document contains Honeywell proprietary information. Information contained herein is to be used solely
for the purpose submitted, and no part of this document or its contents shall be reproduced, published, or
disclosed to a third party without the express permission of Honeywell International Sàrl.
While this information is presented in good faith and believed to be accurate, Honeywell disclaims the implied
warranties of merchantability and fitness for a purpose and makes no express warranties except as may be stated
in its written agreement with and for its customer.
In no event is Honeywell liable to anyone for any direct, special, or consequential damages. The information
and specifications in this document are subject to change without notice.
Copyright 2014 - Honeywell International Sàrl

2 www.honeywell.com
Contents

1 About This Guide ................................................................................................................................... 7


1.1 Basic concepts and terms .................................................................................................................................... 8
2 Configure Batch Preferences .............................................................................................................. 15
2.1 Batch Preferences tab ....................................................................................................................................... 16
2.2 Manage intercluster peer-to-peer tab ................................................................................................................ 19
2.2.1 Example for configuring intercluster peer-to-peer communication from Batch Preferences ............ 21
2.3 Inter Cluster Look Up tab ................................................................................................................................. 22
2.4 QVCS tab .......................................................................................................................................................... 23
3 Build an equipment model .................................................................................................................. 25
3.1 Building a Map block type ............................................................................................................................... 28
3.1.1 Creating a Map block type ................................................................................................................. 28
3.1.2 Common guidelines for creating functions/block references/parameter references .......................... 29
3.1.3 Function references ............................................................................................................................ 29
3.1.4 Block references ................................................................................................................................ 32
3.1.5 Parameter references .......................................................................................................................... 35
3.2 Building a Unit class ......................................................................................................................................... 39
3.2.1 Creating a Unit class .......................................................................................................................... 41
3.2.2 Associating a Map block type with a Unit class ................................................................................ 41
3.3 Building a Unit instance ................................................................................................................................... 44
3.3.1 Instantiating a Unit instance from a Unit class .................................................................................. 45
3.3.2 Validating a Unit instance .................................................................................................................. 48
3.3.3 Validation log details ......................................................................................................................... 49
3.3.4 Loading a Unit instance ..................................................................................................................... 50
4 Building a Master Recipe ..................................................................................................................... 53
4.1 Creating a Master Recipe .................................................................................................................................. 58
4.1.1 Associating a Unit class/UCM to a Master Recipe ........................................................................... 60
4.2 Common ways of adding different recipe layers in a Master Recipe ............................................................... 65
4.2.1 Adding a Function in a Master Recipe .............................................................................................. 65
4.2.2 Adding a Master Recipe from a context pane into a Master Recipe ................................................. 66
4.3 Building Expressions for Master Recipes ......................................................................................................... 68
4.3.1 Building Expressions using an indirect reference ............................................................................. 69
4.4 Alternate ways of adding different recipe layers in a Master Recipe ............................................................... 72
4.4.1 Adding a Phase block type in a Master Recipe ................................................................................. 72
4.4.2 Adding a Master Recipe (Proxy Master Recipe) in a Master Recipe/RCM ...................................... 73
4.4.3 Adding an RCM or SCM in a Master Recipe/RCM .......................................................................... 74
4.4.4 Example for using an RCM or an SCM configured to use HISTVALUE and RECTARGET as
a child of a Master Recipe/Control Recipe ............................................................................................ 75
4.5 Configuring unit passing parameters ................................................................................................................ 78
4.6 Configuring the number of Control Recipes for a Master Recipe .................................................................... 80
4.7 Configuring activities for a Master Recipe ....................................................................................................... 82
4.8 Validating a Master Recipe ............................................................................................................................... 83
4.9 Loading a Master Recipe .................................................................................................................................. 85
5 Unit Configuration, Passing, and Acquisition ................................................................................... 87
5.1 Unit configuration using drag and drop method ............................................................................................... 88

3
CONTENTS

5.2 Unit configuration from Unit Selection tab ...................................................................................................... 90


5.2.1 Guidelines and considerations for unit configuration from Unit Selection tab ................................. 91
5.2.2 Unit configuration using the Unit Selection tab ................................................................................ 92
5.3 Unit configuration using a STEP output ........................................................................................................... 97
5.4 About "Acquire On Behalf (ACQONBEHALF)" option ............................................................................... 100
5.5 Configuring unit acquisition using ACQONBEHALF parameter .................................................................. 102
5.6 Unit selection and acquisition during runtime ................................................................................................ 103
5.7 About releasing resources ............................................................................................................................... 105
5.8 Releasing a resource using STEP output ........................................................................................................ 107
6 Activities Configuration ..................................................................................................................... 109
6.1 Configuring activities for CEE ....................................................................................................................... 111
6.2 Configuring activities for RCM/SCM ............................................................................................................ 112
6.3 Configuring activities for a Master Recipe ..................................................................................................... 113
7 Intercluster peer-to-peer communication ........................................................................................ 115
7.1 Terms used in intercluster peer-to-peer communication ................................................................................. 118
7.2 Intercluster peer-to-peer communication example configuration ................................................................... 119
7.3 Task sequence for implementing intercluster peer-to-peer communication ................................................... 121
7.4 Guidelines for configuring intercluster peer-to-peer communication ............................................................ 123
7.5 Configuring Phase block type mastership ...................................................................................................... 124
7.5.1 Changing the Phase block mastership in the current master cluster ................................................ 124
7.6 About cluster block ......................................................................................................................................... 126
7.6.1 Guidelines for configuring the cluster block ................................................................................... 126
7.6.2 Configuring a cluster block ............................................................................................................. 126
7.6.3 Sharing a public enumeration set across clusters ............................................................................ 127
7.6.4 Selecting units across clusters ......................................................................................................... 127
7.7 About proxy blocks ......................................................................................................................................... 128
7.7.1 Configuring a proxy FTEB block .................................................................................................... 129
7.7.2 Configuring a proxy node ................................................................................................................ 130
7.7.3 Guidelines for configuring proxy tag .............................................................................................. 131
7.7.4 Configuring a proxy tag ................................................................................................................... 131
7.8 Validation of proxy blocks .............................................................................................................................. 133
7.8.1 Validating a Cluster block ................................................................................................................ 133
7.8.2 Validating a proxy FTEB block ....................................................................................................... 133
7.8.3 Validating a proxy node ................................................................................................................... 134
7.8.4 Validating a proxy tag block ............................................................................................................ 134
7.9 Export and import support for a proxy block ................................................................................................ 135
7.10 Bulk build support for a proxy tag ................................................................................................................ 136
7.11 About building recipes through intercluster peer-to-peer communication ................................................... 137
7.11.1 Intercluster peer-to-peer communication configuration example .................................................. 137
8 Maintain equipment model ................................................................................................................ 141
8.1 Restrictions for modifying enumeration sets .................................................................................................. 142
8.2 Change parent support for a Phase block/Data block ..................................................................................... 143
8.3 Maintaining Phase types ................................................................................................................................. 144
8.4 Support for change parent by function from Master Recipe chart ................................................................. 145
8.5 Maintaining a Map block type ........................................................................................................................ 147
8.5.1 Guidelines for modifying a reference .............................................................................................. 148
8.6 Maintaining a Unit class ................................................................................................................................. 150
8.6.1 Support for changing parent of a contained basic block of a Unit class/UCM ............................... 151
8.6.2 Deleting a contained block of a Unit class ...................................................................................... 152
8.6.3 Support for change parent by function from Unit class/UCM ........................................................ 152
8.6.4 Support for change parent from a Unit class/UCM ......................................................................... 156
8.7 Import/export of Class-based recipes ............................................................................................................. 159
8.7.1 Component dependencies in Import/Export .................................................................................... 159

4 www.honeywell.com
CONTENTS

8.7.2 Export and Import support for enumeration sets ............................................................................. 163
8.7.3 Import/Export of Public enumeration holder blocks ....................................................................... 164
8.7.4 Import/Export of a Phase block type with parameter type Public enumeration .............................. 166
8.7.5 Import/Export of Map block types .................................................................................................. 168
8.7.6 Import/Export of Unit classes .......................................................................................................... 170
8.7.7 Import/Export of proxy strategies .................................................................................................... 173
8.8 Batch Search Scenarios ................................................................................................................................... 177
8.8.1 Searching for an enumeration set .................................................................................................... 177
8.8.2 Searching for public enumerations .................................................................................................. 177
8.8.3 Searching for private enumeration .................................................................................................. 179
8.8.4 Searching for batch scenarios .......................................................................................................... 181
9 Migration and Interoperability ........................................................................................................... 189
9.1 Pre-R410 to R410 migration considerations ................................................................................................... 190
9.2 About interoperability ..................................................................................................................................... 191
9.3 Considerations for controller OPM from R410 to future releases .................................................................. 192
10 Troubleshooting scenarios related to Batch/ProcOps implementation ..................................... 193
10.1 The CEEs Activity Memory Capacity has been reached .............................................................................. 195
10.2 SIMCOMMAND is not allowed with activities ........................................................................................... 196
10.3 Failure of synchronizing scheduled parameters at the end of pre-execution ................................................ 197
10.4 SCM/RCM cannot transition to inactive state .............................................................................................. 198
10.5 Activity is not available in the middle of batch – for Class-based recipe only ............................................ 199
10.6 RCM remains in the idle state and does not acquire .................................................................................... 200
10.7 RCM is not idle and does not acquire ........................................................................................................... 201
10.8 Phase block displays Child Activity Create Warning ................................................................................... 202
10.9 Activity is not available in CEE and ACTOPT is set to AUTO ................................................................... 203
10.10 Loss of communication with the controller ................................................................................................ 204
10.11 IR Phase block cannot connect to Master Recipe without an activity ........................................................ 205
10.12 Invalid child activity due to Phase block connections ................................................................................ 206
10.13 Internal memory error ................................................................................................................................. 207
10.14 Failure of user-created activity during memory allocation ........................................................................ 208
10.15 Failure of synchronizing scheduled parameters during initialization ......................................................... 209
10.16 Database errors ........................................................................................................................................... 210
10.17 Child Activity Create Fail ........................................................................................................................... 211
10.18 CEE does not contain sufficient memory ................................................................................................... 212
10.19 Cannot load NUMACT when too many activities are running in CEE ..................................................... 213
10.20 Cannot start batch due to lack of activity in the controller ......................................................................... 214
10.21 Cannot load NUMACT through Load While Active when the controller is in Idle state .......................... 215
10.22 Cannot load CEE because of the tagged objects limitation ........................................................................ 216
10.23 Cannot create X_DATAINIT block ............................................................................................................ 217
10.24 Cannot create child activity due to invalid Phase block configuration ..................................................... 218
10.25 Cannot create activity when NUMACT is zero .......................................................................................... 219
10.26 Cannot allocate CAMs internal memory .................................................................................................... 220
10.27 CAM does not reduce NUMACT ............................................................................................................... 221
10.28 Cannot allow activity when the controller is in SIMFREEZE ................................................................... 222
10.29 Phase block cannot acquire child RCM/SCM in another cluster ............................................................... 223
10.30 Child SCM/RCM stops to respond in another cluster ................................................................................ 224
10.31 Child SCM/RCM stops to respond in another cluster using a Master Recipe ............................................ 225
10.32 Child SCM/RCM stops to respond in another cluster using instance based activities ............................... 226
10.33 Phase block cannot acquire child RCM/SCM using another Phase block equipment name ...................... 227
10.34 Cannot enter an RCM arbitration queue when another entity acquires an RCM ....................................... 228
10.35 Can enter an RCM arbitration queue when another entity acquires an RCM ........................................... 229
10.36 Failure for user activity creation ................................................................................................................. 230

5
CONTENTS

10.37 Parent RCM hangs and Phase block actively polling for resource RCM/SCM using another Phase
blocks Equipment name ................................................................................................................................... 231
10.38 Resources not available during load time ................................................................................................... 232
10.39 Cannot start batch due to lack of memory in the controller ....................................................................... 233
10.40 Insufficient memory in the middle of a batch ............................................................................................. 234
10.41 Child or parent RCM/SCM name is unresolvable ..................................................................................... 235
10.42 Orderly removal of requester ...................................................................................................................... 236
10.43 Requester cannot acquire resource and resource has no queue .................................................................. 237
10.44 Unexpected removal of resource ................................................................................................................ 238
10.45 Reload of resource after deletion of resource while requester.acqstate=error ............................................ 239
10.46 Disorderly removal or unexpected damage of requester ............................................................................ 240
10.47 Phase block cannot store all formula parameters ....................................................................................... 241
10.48 Phase block cannot read all report parameters ........................................................................................... 242
11 Notices ............................................................................................................................................... 243
11.1 Documentation feedback .............................................................................................................................. 244
11.2 How to report a security vulnerability .......................................................................................................... 245
11.3 Support .......................................................................................................................................................... 246
11.4 Training classes ............................................................................................................................................. 247

6 www.honeywell.com
1 About This Guide

This guide provides information about how to plan, configure, operate, and troubleshoot Experion sequential
and procedural control.

Revision history
Revision Date Description
A February 2015 Initial release of document.

7
1 ABOUT THIS GUIDE

1.1 Basic concepts and terms


The following table defines some common industry and Honeywell-specific terms that are associated with
sequential, procedure, and batch control.

Attention
Honeywell-specific terms are identified with an asterisk (*)

Term/Abbreviation Description
Allocation A form of coordination control that assigns a resource to a batch or unit. Note
that an allocation can be for the entire resource or for portions of a resource.
Alternative path Part of a Recipe Procedure, where only one of the alternative step sequences
is activated.
Application Control Environment/ACE* Experion Level 2/3 supervisory control platform that executes on a Windows
platform not within a hardened purpose built controller, such as C300.
Arbitration A form of coordination control that determines how a resource should be
allocated when there are more requests for the resource than can be
accommodated at one time.
Asset hierarchy A concept in Enterprise Model (similar to Plant Data Model) to define the
containment-based hierarchical model of equipment entities and unit
equipments.
Basic control Control that is dedicated to establishing and maintaining a specific state of
equipment or process condition. It may include regulatory control,
interlocking, monitoring, exception handling, and discrete or sequential
control.
Batch In this document, a batch means an entity that represents the production of a
material at any point in the process.
Batch control Control activities and control functions that provide a means to process finite
quantities of input materials by subjecting them to an ordered set of
processing activities over a finite period of time using one or more pieces of
equipment.
Batch ID A string to identify a Control Recipe. Batch ID is not critical to a Master
Recipe.
Batch process A process that leads to the production of finite quantities of material by
subjecting quantities of input materials to an ordered set of processing
activities over a finite period of time using one or more pieces of equipment.
Central repositories* Experion system location for storage of the equipment hierarchy, class
information, unit tags, recipe parameters, formula parameters, etc. This may
be a combination of applications such as pieces stored as types in Control
Builder and other pieces stored in the Enterprise Model Builder (EMB).
Child recipe In a recipe that has two or more layers, the child recipe is at lower level, and
is controlled by the recipe above it. The parent/child concept in layered
recipe is not associated with parent/child relationship in user-defined
template function
Class-based recipe Class-based recipes function allows you to build a single recipe against a
group of similar units, and instantiate multiple instances at run-time. These
instances can be executed simultaneously against different units. The recipe
is built once, tested once, and then run as many instances as needed (within
the system limits). Without Class-based recipes function, you have to build a
recipe for every single unit instance and maintain a large number of recipes.
Each recipe instance must be tested individually, so the testing effort could
be significant. Class-based recipes function helps reduce the cost on recipe
engineering, maintenance, and testing.

8 www.honeywell.com
1 ABOUT THIS GUIDE

Term/Abbreviation Description
Cluster block* A tag block that represents a local cluster for establishing intercluster peer-
to-peer communication.
Cluster ID* The unique identifier configured (either automatically or manually) for each
cluster involved in intercluster peer-to-peer.
Common device Control Modules* A Control Module (CM) configured to act as resource to be controlled and
acquired by SCMs and Recipes.
Common resource A resource that can provide services to more than one requester. Note that
common resources are identified as either exclusive-use resources or shared-
use resources.
Control Module The lowest level grouping of equipment in the physical model that can carry
out basic control. This term applies to both the physical equipment and the
equipment entity.
Control Recipe A type of recipe which, through its execution, defines the manufacture of a
single batch of a specific product. A Control Recipe is the result of loading a
Master Recipe and resides in the controller (real-time).
Control Recipes are instantiated from Master Recipes and they are the
executable version of the Master Recipes. A Control Recipe is associated
with a specific Unit instance selected by the operator/program, and executes
against that Unit instance at run-time.
Coordination control A type of control that directs, initiates, and/or modifies the execution of
procedural control and the utilization of equipment entities.
Data block* A non-executable basic block that contains custom parameters. It is created
from Phase block type, and contained by recipes or SCMs. Data block is
typically used to carry recipe level formula and report parameters, and it is a
means to automatically align formula and report parameters between the
Phase block and its underlying recipe or SCM (by using the same data
structure defined in the Phase/Data block).
Enterprise An organization that coordinates the operation of one or more sites.
Equipment control The equipment-specific functionality that provides the actual control
capability for an equipment entity, including procedural, basic, and
coordination control, and that is not part of the recipe.
Equipment module A functional group of equipment that can carry out a finite number of
specific minor processing activities.
Equipment operation An operation that is part of equipment control.
Equipment phase* An SCM created to implement a phase to control a specific equipment entity.
An equipment phase can be implemented also with a Unit Control Module
(UCM) that is linked to a Control Recipe.
Equipment procedure A procedure that is part of equipment control.
Equipment unit procedure A unit procedure that is part of equipment control.
Exception handling Those functions that deal with plant or process contingencies and other
events which occur outside the normal or desired behavior of batch control.
Exclusive-use resource A common resource that only one user can use at any given time.
Food and Drug Administration/FDA Responsible for compliance with pharmaceutical regulation in and for the
United States. For more information, refer to https://
www.honeywellprocess.com/library/support/Documents/Customer/
Series_C_IO_Users_Guide_EPDOC-X126-en-430.pdf.
Formula In ISA-S88.01 terms, a category of recipe information that includes process
inputs, process parameters, and process outputs. In Honeywell terms, the
preferred/recommended implementation of formula is by using Phase block
formula and report parameters.

9
1 ABOUT THIS GUIDE

Term/Abbreviation Description
Formula parameter definition* A set of user defined variables used in a Phase block to communicate with
the underlying SCM or Recipe.
Functional asset model A model representing the "Functions" performed within a Batch
manufacturing facility. The functions are clearly defined and define the
"contract" between the requesters of the function and the providers, which
allows a single Recipe to execute different actual process actions (such as
SCMA on AssetA, SCMB on AssetB, RCMD on AssetD) against different
Assets, while providing a single consistent view from the requestor (such as
FEED).
Handler* The execution engine for a Recipe or a Sequential Control Module.
Header The administrative information in the recipe is referred to as the header.
Typical header information may include the recipe and product identification,
the version number, the originator, the issue date, approvals, status, and other
administrative information.
The International Electrotechnical The international standards and conformity assessment body for all fields of
commission/IEC electrotechnology. The American National Standards Institute (ANSI) is a
member of IEC. For more information, refer to http://www.iec.ch/.
IEC output* A step output in SCM or RCM of type S_IEC, N_IEC or R_IEC. These
outputs are used to control parameters in Common Device Control Modules.
IEC exit processing* The output processing which takes place when a step is about to be
deactivated and the next step is becoming the active step. This is an internal
concept that is not visible to the user. Typical actions are: resetting the
destination value to OFF (for N_IEC outputs) and releasing the device, if
required.
The International Society of Mission is to maximize the effectiveness of ISA members and other
Automation/ISA practitioners and organizations worldwide to advance and apply the science,
technology, and allied arts of instrumentation, systems, and automation in all
industries and applications. For more information, refer to http://
www.isa.org/.
Intercluster peer-to-peer* Communication between two controllers in separate Experion clusters.
Implies that the configuration for each controller involved is in a separate
ERDB.
Layered recipe Multiple recipes that are linked together in a hierarchical fashion (procedure,
unit procedure, operation and phase). The recipe at higher level in the
hierarchy controls the one(s) below it. The execution of layered recipe
manages the acquisition of unit and equipment, formula and report parameter
passing between recipe layers, state tracking and propagation between recipe
layers, mode attribute handling etc, in addition to managing execution of the
sequences.
Linked phase* A phase that is implemented with a Phase block.
Map block* Map block types define functions and references that can be contained by
Unit classes/Unit.
Master Recipe A type of recipe that accounts for equipment capabilities and may include
process cell-specific information.
Class-based Master Recipes are built against Unit classes. They serve as
"recipe templates."
Mode The manner in which the transition of sequential functions are carried out
within a procedural element or the accessibility for manipulating the states of
equipment entities manually or by other types of control.

10 www.honeywell.com
1 ABOUT THIS GUIDE

Term/Abbreviation Description
Null Phase block* Null Phase block is a special configured Phase block which doesn't control
any recipe or SCM. Null Phase block contains custom parameters. It has the
ability to store formula parameters to their destination, and retrieve report
data from the source of the report parameters. Null Phase block is normally
used to carry recipe level local formula and report parameters. It can also be
used in parallel execution in a recipe sequence to create delay.
Operation A procedural element defining an independent processing activity consisting
of the algorithm necessary for the initiation, organization, and control of
phases.
Parent recipe One of the recipes in two consecutive layers in layered recipes. Parent recipe
is the one at upper level, and controls the recipe below it. The Parent/Child
concept in layered recipe is completely different from Parent/Child
relationship in User Defined Template function.
Phase The lowest level of procedural element in the procedural control model.
Phase block Phase block is a custom block type used for defining formula and report
parameters. It defines the interface between recipe layers.
Phase level contract formula parameter Formula data structure owned by a Phase. It is the contract between the
Phase block and its underlying Recipe/SCM, therefore it is the same data
structure owned by the underlying Recipe/SCM. The data in this structure
gets passed to the underlying recipes/SCMs when the Phase is executed. It is
a subset of its parent formula data.
Phase level contract report parameter Report data structure owned by a Phase block. It is the contract between the
Phase block and its underlying Recipe/SCM, therefore it is the same data
structure owned by the underlying Recipe/SCM. It stores report data coming
from underlying Recipes/SCMs, and it is a subset of its parent report data.
Physical asset model A model representing the Physical Equipment upon which the control
strategies are executed. This model defined to the level of granularity needed
to support aspects of Modular Batch Automation that support the definition
of control strategies at a logical functional level for subsequent execution
against the defined Assets.
Procedural control Control that directs equipment-oriented actions to take place in an ordered
sequence to carry out some process-oriented task.
Procedural element A building block for procedural control that is defined by the procedural
control model.
Procedure The strategy for carrying out a process. In general, it refers to the strategy for
making a batch within a process cell. It may also refer to a process that does
not result in the production of product, such as a clean-in-place procedure.
Procedure Analyst* Honeywell's product that provides the ability to do post batch execution
analysis, and generate batch reports.
Process A sequence of chemical, physical, or biological activities for the conversion,
transport, or storage of material or energy.
Process action Minor processing activities that are combined to make up a process
operation. Process actions are the lowest level of processing activity within
the process model.
Process operation Starting, controlling, and ending a process or procedure.
Procedure function chart A chart of transition conditions and phases to define the execution order in
Recipe Procedure.
Process cell A logical grouping of equipment that includes the equipment required for
production of one or more batches. It defines the span of logical control of
one set of process equipment within an area.
This term applies to both the physical equipment and the equipment entity.

11
1 ABOUT THIS GUIDE

Term/Abbreviation Description
Process control The control activity that includes the control functions needed to provide
sequential, regulatory, and discrete control and to gather and display data.
Process input The identification and quantity of a raw material or other resource required to
make a product.
Process output An identification and quantity of material or energy expected to result from
one execution of a Control Recipe.
Process parameter Information that is needed to manufacture a material but does not fall into the
classification of process input or process output. Examples of process
parameter information are temperature, pressure, and time.
Process stage A part of a process that usually operates independently from other process
stages and that usually results in a planned sequence of chemical or physical
changes in the material being processed.
Proxy node* A node that exists for configuration and handle-to-name resolution of a node
existing in another cluster. Acts as a stand-in (proxy) for configuring peer
references to a controller in a separate cluster. It is contained by a cluster
block.
Recipe* Refers to both instance-based recipes (RCMs) and Class-based recipes.
Recipe level contract formula parameter Formula data structure owned by a recipe. It is the contract between the
recipe and the Phase controlling it (if the recipe is not at top level), therefore
it is the same data structure owned by the controlling Phase block. It is
passed to the contained Phases.
Recipe level contract report parameter Report data structure owned by a recipe. It is the contract between the recipe
and the Phase controlling it (if the recipe is not at top level), therefore it is the
same data structure owned by the controlling Phase block. It stores report
data coming from the child recipes/SCMs.
Recipe level local formula parameter Formula data structure used by recipe sequence. It does not get passed to the
contained phases.
Recipe level local report parameter: Report data structure used by recipe to store data computed by its sequence.
Recipe management The control activity that includes the control functions needed to create,
store, and maintain general, site, and Master Recipes.
Recipe operation An operation that is part of a recipe procedure in a Master Recipe or a
Control Recipe.
Recipe phase A phase that is part of a recipe procedure in a Master Recipe or a Control
Recipe.
Recipe Procedure The part of a recipe that defines the strategy for producing a batch.
Recipe Unit Procedure A unit procedure that is part of a recipe procedure in a Master Recipe or a
Control Recipe.
Requester Requester performs the acquisition. For example, the requester can be a
Control Recipe.
Resource Resource is being acquired by the requester. For example, the resource can
be a UCM, CM, SCM, or Recipe.
Shared-use resource A common resource that can be used by more than one user at a time.
Scope of Responsibility/SOR A method for identifying functions/operations associated with a given entity.
State The condition of an equipment entity or of a procedural element at a given
time. The number of possible states and their names vary for equipment and
for procedural elements.

12 www.honeywell.com
1 ABOUT THIS GUIDE

Term/Abbreviation Description
Step block A basic block contained in an SCM or Recipe Procedure. The step block can
perform a subset of actions defined in IEC 61131 for sequential control and
additional Honeywell-specific actions for the purpose of providing
equipment control, interfacing with or performing basic control or helping in
the implementation of coordination control. The step block is also a general
purpose block for reading and writing values from within any sequence or
procedure
TotalPlant Batch Honeywell's Batch product. Supports ISA S88.01 batch terminology.

Note
TotalPlant Batch (TPB) is a legacy batch product that is not
available for new sale. However, Honeywell continues to support the
existing TotalPlant Batch (TPB) customer. New batch customers are
recommended to buy the Experion Batch Manager (EBM).

Transition condition A directional link between phases with a dynamic or static condition to
control the execution of the Recipe Procedure. The transition condition is
always true. In case of alternative paths, a real condition is required for
dynamic selection of the active path.
Unit A collection of associated control modules and/or equipment modules and
other process equipment in which one or more major processing activities
can be conducted. Other things to consider include the following:
• This term applies to both the physical equipment and the equipment
control
• Examples of major processing activities are react, crystallize, and make a
solution.
Unit class Unit classes are used for organizing plant equipment into classes from which
you can build Class-based Master Recipes and instantiate Unit instances.
Unit classes provide you the necessary functions and references for building
Master Recipes.
Unit instance Unit instances are strategies instantiated from a Unit class.
Unit Procedure A strategy for carrying out a contiguous process within a unit. It consists of
contiguous operations and the algorithm necessary for the initiation,
organization, and control of those operations.
Unit supervision The control activity that includes control functions needed to supervise the
unit and the unit's resources.
Standard Description
IEC 61131-3 Defines automatic execution of Sequential Function charts in programmable
controllers.
IEC 61512-1 (Also Known As: ANSI/ISA– Here: Provides examples for different operational modes.
88.01–1995 )
IEC 61512-2 (Also Known As: ANSI/ISA– Here: Defines automatic execution of procedure function charts.
88.00.02–2001)

13
1 ABOUT THIS GUIDE

14 www.honeywell.com
2 Configure Batch Preferences

As the name suggests, this task is about configuring your preferences for building and operating batches. This
task can be accomplished using the Tools > Batch Preferences menu of Control Builder.
The Batch Preferences dialog box consists of the following tabs.
• Batch Preferences
• Manage intercluster peer-to-peer
• InterCluster Look Up
• QVCS
Batch Preferences configuration can be exported and imported. During a clean install or after a migration from a
pre-R410 release, default values are set for all the fields in the Batch Preferences tabs. However, you can review
and re-configure, if required.

Attention
Any changes made on this form are applied only for objects that are created after the changes are made. It does not
apply to already created/running objects.

Related topics
“Batch Preferences tab” on page 16
“Manage intercluster peer-to-peer tab” on page 19
“Inter Cluster Look Up tab” on page 22
“QVCS tab” on page 23

15
2 CONFIGURE BATCH PREFERENCES

2.1 Batch Preferences tab


The Batch Preferences tab is used for configuring activity-related and intercluster peer-to-peer related
preferences.
While building Master Recipes, you must configure the following options from the Batch Preferences tab. The
following figure illustrates the Batch Preferences tab.

• MAXOWNERS of MR: The MAXOWNERS parameter of the Master Recipe specifies the number of
Control Recipes that can be executed simultaneously against a Master Recipe. The value configured here
becomes the default value for the applicable blocks.You cannot execute more than 20 Control Recipes
simultaneously for a Master Recipe. The range for this parameter is 1 to 20 and the default value of is 4.
For example, if you specify MAXOWNERS of MR as 10, you can run up to 10 Control Recipes
simultaneously for the Master Recipe. If you attempt to run more than 10 Control Recipes, the additional
Control Recipes are queued up and are executed only if any of the Control Recipes in the owner list
completes the execution.
Reconfiguration affects only the Master Recipes that are created after this change is made. It does not affect
already created Master Recipes.

• Cluster ID: This parameter specifies a unique identifier for each cluster that is participating in intercluster
peer-to-peer communication. The Cluster ID must be manually configured from the Batch Preferences tab.
The Cluster ID is auto generated when the Batch Preferences is configured.

Attention
When there is a change in the Cluster ID, the controller must be reloaded.
• Automatically Generate Batch ID: This parameter specifies the option for automatically creating Batch ID
for batches. By default, this option is enabled.

16 www.honeywell.com
2 CONFIGURE BATCH PREFERENCES

When this option is enabled, the Batch ID is created automatically. The automatically generated Batch ID
contains a part of the activity ID. For example, if the activity ID is $ACTIVITY_9B0116D9181701CB, the
Batch ID is 9B0116D9181701CB.

Attention
Even though "Automatically Generate Batch ID" option is enabled, you can always provide your own Batch ID
when you create an activity through Activity UI or Activity Creation API. The auto-generated Batch ID is replaced
by the one you provide. Also, when this option is disabled, if you try to create a batch without providing a Batch
ID, an error message appears and you are prompted to enter a Batch ID.
• Automatically Assign Mastership: This parameter specifies the option of automatic assignment of Master
Cluster ID. By default, this option is enabled.
When this option is enabled, the Cluster ID configured in the Batch Preferences tab is automatically
assigned to the Master Cluster ID (X_MASTERCLSUTERID) parameter of the Phase block type.
The X_MASTERCLSUTERID parameter is available in the Fixed tab of the Phase block type's PDE.

Attention
You must enable Automatically Assign Mastership option before configuring any new Phase block type
participating in intercluster peer-to-peer communication.

The following figure illustrates the Fixed tab of the Phase block type.

Figure 1: Fixed tab of Phase block type


The following options can be configured either during build time or during runtime and are applicable only for
the manually created activities. However, if you make any changes during runtime, they are applied only to the
activities that are created after the changes are made.
Activity Remove Type: This parameter specifies how an activity may be removed after its execution is
completed. It can also be configured from the Activity Detail Pane of the Activity Summary display. The default
option of Activity Remove Type is "Auto."
The options are as follows:
• Auto: The Activity is automatically removed once it reaches the Post-Execution stage.
• User or App: The Activity must be manually removed using the "Remove" command once it reaches the
Post-Execution stage This configuration is propagated to each activity. You can change the option for the
individual activity from Activity Detail Pane of the Activity Summary display.

Attention
When the activity is removed from Activity Summary Display, the activity is disassociated from its Recipe/SCMs.

Activity Reset Options: This parameter specifies the state in which the associated RCM/SCM/Control Recipe
can issue a reset command. By default, the options are disabled (check box is cleared). You can select either one
or all the options of the Activity Reset Options.
The options are as follows:
• Completed
• Terminal Stopped
• Aborted
The following table explains the behavior of Activity Remove Type and Activity Reset Options. The Activity
Remove Type works in conjunction with the Activity Reset Options.

17
2 CONFIGURE BATCH PREFERENCES

Activity Remove Type


Auto User or App
Off Recipe is in the Complete, Stopped, or Recipe is in the Complete, Stopped, or
Activity Reset
Aborted state until it is reset by an operator Aborted state until it is reset by an operator
Options -
or a program. After reset, recipe is or a program. After reset, recipe remains in
Completed,
automatically removed from the Batch list. the Batch list until it is manually removed.
Terminal
Stopped, or On After recipe is in Complete, Stopped, or After the recipe is in Complete, Stopped, or
Aborted Aborted state, it automatically resets and is Aborted state, it automatically resets but
removed from the Batch list. Batches remain on the Batch list until manually
disappear once they are no longer running. removed.

18 www.honeywell.com
2 CONFIGURE BATCH PREFERENCES

2.2 Manage intercluster peer-to-peer tab


The Manage intercluster peer-to-peer tab is used for configuring the communication number (Comm. #) for
each controller participating in intercluster peer-to-peer communication.
The following figure illustrates the Manage intercluster peer-to-peer tab.

If you are using intercluster peer-to-peer function, you must configure the following options from the Batch
Preferences tab.
In addition, you must configure the following options from the Manage intercluster peer-to-peer tab before
loading the controller.

Attention
• The communication start and end range must be within 1000 to 3000 and the communication number (Comm. #)
of each controller participating in intercluster peer-to-peer communication must be unique.
• If you modify the communication range for a running controller, refer to the Control Building User's Guide for
procedure on how reload a reload a running controller after configuration changes.

• New Comm# Start Range: This parameter specifies the starting range of each controller participating in
intercluster peer-to-peer communication for each cluster.
• New Comm# End Range: This parameter specifies the ending range of each controller participating in
intercluster peer-to-peer communication for each cluster.
• Set New Comm# In Range: This parameter is used for finding all the non-proxy nodes that are outside of
the range and select a new valid entry within the range. The new values are displayed in "New Comm.#"
column of "Controller Table."

19
2 CONFIGURE BATCH PREFERENCES

• Set Proxy New Comm# Range: This parameter is used for finding all the proxy nodes and setting the
communication number from "Origin Comm.#" value to the "New Comm.#" column in the "Controller
Table." This attempt may fail if the "New Comm.#" value is invalid.
• Commit Changes: This parameter is used for acquiring the values configured in the "New Comm.#" and
updating the "Controller Table" to reflect the new values.
• Populate Controller Table: This parameter is used for viewing the configured communication value for
each controller in the "Controller Table." The "Controller Table" is displayed as follows only when you click
Populate Controller Table.

Figure 2: Controller Table

Each field of the "Controller Table" is explained.


– Controller Name - Displays the controller name. For example, C200E, ACE, and so on.
– Comm # - Displays the communication number that is assigned to the controller.
– Origin Comm # - Displays the communication number based on the proxy origin node in the remote
cluster. The communication number of the proxy node in this cluster must be the same as that of the
origin node in the different cluster. By default, the value of the Origin Comm # is -1.
– New Comm # - Displays the new communication number to override the existing communication
number. The following changes cannot be made to the New Comm #. If you try to make any changes,
respective error messages appear for each scenario.
– The communication number cannot be changed for a loaded strategy.
– The new communication number which conflicts with another new communication number must not
be selected.
– The new communication number conflicting with a communication number that is already used by
another controller must not be selected.
– The new communication number selected for the secondary controller must not be invalid.

20 www.honeywell.com
2 CONFIGURE BATCH PREFERENCES

– The selected new communication number cannot be applied to the controller because a container
module is assigned to another user.
– Information - Displays the status information of the controller. That is, Loaded Strategy, SECONDARY,
and so on.

Attention
– The "Controller Table" does not always display the changes accurately. If the modified/expected value is not
displayed in the table, switch between the tabs on Batch Preferences to view the expected changes.
– From the "Controller Table," you can modify the communication range (within the start and end range) only
for the controllers that are not loaded. If you try to modify the communication range for the loaded controllers,
an error message appears in Information column of the "Controller Table."

For more information on configuring intercluster peer-to-peer communication, refer to the “Intercluster peer-to-
peer communication” on page 115.

2.2.1 Example for configuring intercluster peer-to-peer communication from Batch Preferences
Consider that ACE in cluster 1 and redundant C200E Controllers in cluster 2 are participating in intercluster
peer-to-peer communication. Assume the following:
1. Cluster 1 is the local cluster and Cluster 2 is the origin cluster.
2. The communication range for cluster 1 is between 2000 and 2250 and cluster 2 is between 1000 to 1500.
3. The communication number of ACE in cluster 1 is 2001 and C200E Controller in cluster 2 is 1001.

To configure intercluster peer-to-peer communication options in the local cluster from Batch Preferences
1 Choose Tools > Batch Preferences.
The Batch Preferences window opens.
2 On the Batch Preferences tab, configure Cluster ID for a cluster participating in intercluster peer-to-peer
communication.
3 Select Automatically Assign Mastership to specify the Cluster ID for a newly created Phase block type.
4 Click the Manage intercluster peer-to-peer tab.
5 Click Populate Controller Table.
The Controller Table pane appears. The communication number (2001) is assigned to the ACE and is
displayed in the Comm # column of the Controller Table.
6 If you want to modify the communication number (2001) to a different number, enter the new value in New
Comm.# column of the Controller Table.
7 Click Commit Changes to save the modified value.
The modified communication number appears in the Comm # column of the Controller Table.
8 Create C200E Controller of origin cluster 2 as a proxy node in cluster 1.
9 Repeat steps 4 and 5 to populate the controller table.
The Controller Table displays the communication numbers of ACE and C200E Controllers. The
communication number of C200E Controller is 1001 and the origin communication number is also 1001.
10 If you want to modify the communication range to a different range, enter the start and end ranges in New
Comm# Start Range and New Comm# End Range boxes, respectively.
11 Click Set New Comm# In Range to assign the new communication range.
12 Click Commit Changes to update new communication range in the Controller Table.
13 Click OK to save the changes.

21
2 CONFIGURE BATCH PREFERENCES

2.3 Inter Cluster Look Up tab


The Inter Cluster Look Up tab is used for resolving the tag name of a controller or an RCM/SCM that is
participating in intercluster peer-to-peer communication.
The following figure illustrates the Inter Cluster Look Up tab.

If a tag does not exist, an error message appears as "a tagged block does not exist with the selected EEC and
IOC." In addition, an internal error appears if the internal software used is not appropriate.

22 www.honeywell.com
2 CONFIGURE BATCH PREFERENCES

2.4 QVCS tab


The QVCS tab is used for viewing the Qualification and Version Control System properties for Batch
Preferences. It also allows you to initiate changes to the qualification state or the apply/remove labels. Note that
you need the Version Control System license to use this tab.
The following figure illustrates the QVCS tab.

23
2 CONFIGURE BATCH PREFERENCES

24 www.honeywell.com
3 Build an equipment model

Equipment model building consists of defining the following.


• Creating a Phase block type to define the following:
– a "function" to be used by Unit class definition and recipes.
– the formula and report parameter structure for the "function."
• Configuring the functions that need to be executed by a unit.
• Building Unit classes for organizing plant equipment into classes from which you can build Class-based
Master Recipes and instantiate Unit instances.
• Instantiating Unit instances from Unit classes. At runtime, Control Recipes execute against the units.
The following figure illustrates an example equipment model.

Figure 3: Example equipment model for Yogurt production

As illustrated in this example, there are two types of units: Mixer and Fermentor. Homogenize (Homog) is one
of the functions that need to be executed by Mixers.
The following flow chart describes the sequence of the tasks to be performed for equipment building.

25
3 BUILD AN EQUIPMENT MODEL

Figure 4: Work flow for equipment building

In the yogurt production example, our Mixer Unit class can perform different functions. The functions for our
example are two Material Additions, Temperature Control, Homogenize, and Transfer Out. Hence, the
following Phase block types can be created for the functions: HOMOG (for homogenize function), MAT_ADD
(for two material addition functions), TEMP_CTL (for temperature control function), XFR_OUT (for the
transfer out function).
The following diagram explains the equipment model tree.

26 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

Figure 5: Work flow for Yogurt production example

In this example MIXER_MAP refers to the Map block. The functions configured in the Map blocks are
HOMOGENIZE, MILK_ADD, HAND_ADD, TEMP_CONTROL, and TRANSFER_OUT. MIXER refers to
the Unit class. MIXER1 (M1) and MIXER2 (M2) are the Unit instances that are instantiated from the MIXER
Unit class. The functions configured in the Map block type are used to configure a Master Recipe. At runtime,
the values of the Unit instance are used to run the recipes.

Related topics
“Building a Map block type” on page 28
“Building a Unit class” on page 39
“Building a Unit instance” on page 44

27
3 BUILD AN EQUIPMENT MODEL

3.1 Building a Map block type


Map block types define functions and references that can be contained by Unit classes/Unit.
Map blocks contained by Unit classes have the "structural" definition of functions and references. Typically, the
functions and references are not linked to any specific modules, blocks, or parameters. These functions and
references are resolved to specific modules (RCMs/SCMs) and container blocks/basic blocks/parameters
respectively when a Unit instance is instantiated from the Unit class. Also, these functions and references are
used to configure a Master Recipe.
Map block types support the following types of references.
• Function - Defines the functions that may be executed by the Unit class/Unit.
• Block Reference - Defines a block level reference associated with the Unit class/Unit. One reference
provides access to all parameters of the block.
• Parameter Reference - Defines a parameter reference associated with the Unit class/Unit.
As illustrated, the PDE is used to create a Map block type (MIXER_MAP) and define functions and references
for the block type. These functions and references are then a part of the Unit class when the Map block type is
dropped into the Unit class.

Figure 7: Example of a Map block type configuration

Related topics
“Creating a Map block type” on page 28
“Common guidelines for creating functions/block references/parameter references” on page 29
“Function references” on page 29
“Block references” on page 32
“Parameter references” on page 35

3.1.1 Creating a Map block type

Prerequisites
The following components referred in the Map block type must exist.
• Phase block types
• User-Defined Templates (UDTs)
• Custom Block Types (CBT)
• Referenced Unit classes

To create a Map block type


1 In the Control Builder, choose File > New > Type > Map Block.
The Library & Type dialog box appears.

28 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

2 In the Library Name box, select an existing user library name or type a new user library name.

Attention
You must adhere to the following guideline while creating a Map block type.
• The library name of a Map block type can include all characters except Tab, Forward slash (/), Back slash (\),
Less than (<), Greater than (>), Double quote ("), Asterisk (*), Question mark (?), Vertical bar (|), and Colon
(:).

3 In the Type Name box, type a name for the Map block type.
4 Click OK.
The Map block type is added in the Control Builder library and the Map block type icon appears as follows:

The Map block Parameter Definition Editor (PDE) opens up. You can continue with adding the Map block
references.
For detailed information about maintaining the Map block type, refer to “Maintaining a Map block type” on
page 147.

3.1.2 Common guidelines for creating functions/block references/parameter references


• Name must be unique within the Map block. If the name already exists, an error message appears.
• If the description is empty, the name is used to set the default description.
• The length of the name must not exceed 40 characters.
• The length of the description must not exceed 255 characters.

3.1.3 Function references


A function is created to refer to an SCM, an RCM, a Master Recipe, a proxy SCM or a proxy RCM, executed
for a unit. The functions are defined using Phase types and are used to build a Master Recipe. A Master Recipe
uses the function and the Control Recipe resolves the references during the recipe execution. A function (an
SCM, an RCM, a Master Recipe, a proxy SCM, or a proxy RCM) must contain a Data block that matches the
associated Phase type.

29
3 BUILD AN EQUIPMENT MODEL

A function contains the following fields in PDE.


• Function Name: Parameter name associated with a reference in a Map block.
• Function Description: Description for a reference in a Map block.
• Library Name: It is combined with Phase type to define the full name of a Phase block type or a Phase
block UDT.
• Phase Type: The Phase block type or a Phase block UDT that determines the following:
– Phase block type created when a function is configured in the Master Recipe.
– Recipes/SCMs to be specified for the associated function block reference/Data block.
To configure a function, the Phase type must be selected from the available list of Phase types.
The following figure illustrates how function references are created using PDE.

Figure 8: Example for function reference created using PDE

The following figure illustrates an example for configuring function reference values in a Map block that is used
in a Unit class or a Unit instance.

Figure 9: Example for function reference in a Map block

After a function reference has been created, and the Map block type has been dropped into a Unit class, the Unit
class is associated with a Master Recipe. The function can be dropped into the Master Recipe logic. At that
time, a Phase block is created and automatically configured to execute the function. The Phase block's
NAMEREF parameter value is automatically configured with the following syntax:
MR.UNIT[1].MAP.MILK_ADD.FCN.
For more information about the different layers in Master Recipe, refer to the “Common ways of adding
different recipe layers in a Master Recipe” on page 65 and the “Alternate ways of adding different recipe layers
in a Master Recipe” on page 72.

30 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

Examples for different functions


• Consider that the Phase type is a Phase block type. In this scenario, the function can be configured as
follows:
– Function name: REACTION
– Phase type: PHASE:REACTION
– Function reference value: R1_REACTION

Attention
R1_REACTION has the data block of type PHASE:REACTION.
• Consider that the Phase type is a Phase block UDT. In this scenario, the function can be configured as
follows:
– Function name: REACTION_UDT
– Phase type: UDT_EXAMPLE:REACTION_UDT
– Function reference value: R1_REACTION_UDT

Attention
R1_REACTION_UDT has the data block of type REACTION_UDT. Valid references for
R1_REACTION_UDT are those Recipes/SCMs that have a Data block created from
<UDT_EXAMPLE>:REACTION_UDT, or derivation children of <UDT_EXAMPLE>::REACTION_UDT.

For more information about the usage of UDT, refer to "Considerations for creating function references"
topic in the Batch Overview and Planning Guide.

3.1.3.1 Guidelines for creating functions


You must adhere to the following instructions while creating a function in a Map block.
• If the function name is empty, the Phase type name (without the library name) associated with the function is
used to set the default name. However, if the function name is already used by the Map block, a unique
default name is assigned by appending a number.
• The name cannot contain any of the following characters.
– Space, Tab, Comma (,), Forward slash (/), Back slash (\), Less than (<), Greater than (>), Single quote ('),
Double quote ("), Asterisk (*), Question mark (?), Vertical bar (|), Colon (:), and Semi-colon (;).

Attention
You can modify an existing Map block function, can delete a function, and can add a new function reference
through the Functions tab of the Map block PDE. For more information about modifying a Map block functions
and the related rules, refer to “Maintaining a Map block type” on page 147.

For more information about the common guidelines for references, refer to the “Common guidelines for creating
functions/block references/parameter references” on page 29.

3.1.3.2 Configuring functions

Prerequisites
• Necessary Phase block type to be configured for Recipes/SCM must exist.
• A Map block type exists.

To configure functions
1 In the Control Builder library, double-click a Map block type.
The Map block PDE appears with the Functions tab selected by default.

31
3 BUILD AN EQUIPMENT MODEL

2 In the Library Name column of any empty row, click the arrow .
A list of existing Control Builder libraries of type Phase block type is auto populated.
3 Select a library name from the list.
4 In the Phase Type column, click the arrow .
A list of existing Phase types in the selected library is auto populated.
5 Select a Phase type from the list to add a function type to the Map block type.
When you enter a Phase type through selection, by default, a name and a description are added to the
Function Name and the Function Description columns respectively. You can change the name and
description, if required.
6 Click Save.
The Map block type is configured with a function reference.

3.1.4 Block references


A block reference is used in expressions and allows you to create a reference name that provides access to
multiple parameters or block parameters associated with the reference type.
A block reference can reference basic blocks like data acquisition or an entire template like a Control Module
UDT for an analog input. Any parameter of a basic block reference can be accessed through the Map block. If a
UDT reference is used, any block and parameter in the UDT can be referenced.
A block reference contains the following fields in PDE.
• Block Reference Name: Parameter name associated with a reference in a Map block.
• Block Reference Description: Description for a reference in a Map block.
• Library Name: It is combined with Block type to define the full name of a Block type or UDT.
• Block Type: An Experion-resident block type or UDT associated with a block reference.
To configure a block reference, a Block type must be selected from the available block types list. A Block
Reference is used when the same data structure is used for all units within a Unit class.
The following figure illustrates how block references are created using PDE.

32 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

Figure 10: Example for block reference created using PDE

The following figure illustrates an example for configuring block reference values in a Map block that is used in
a Unit class or a Unit instance.

Figure 11: Example for block reference in a Map block

For more information about the user-defined template (UDT), refer to Sequential Control User's Guide.

Examples for different block references


• Consider that the block type is a tagged block type. In this scenario, the block reference can be configured as
follows:
– Block reference name: CommandSCM
– Block type: SYSTEM:SCM
– Block reference value: SCM_01(tag)
This block reference allows the Master Recipe to access the parameters of an SCM. Blocks contained by the
SCM are not accessible. The SCM can be commanded by an expression with the following syntax:
MR.UNIT[1].MAP.CommandSCM.BREF.Command:=2. 'MR.UNIT[1].MAP' provides access to the
selected unit, '.CommandSCM.BREF' is the block reference, and Command is a parameter of
SYSTEM:SCM.
• Consider that the block type is a UDT. In this scenario, the block reference can be configured as follows:
– Block reference name: TemperatureCM
– Block type: USER:TIC
– Block reference value: TIC101 (It is an instance derived from the CM UDT USER:TIC)
This block reference allows the Master Recipe to access all parameters of USER:TIC, including contained
block and parameters. The temperature PV can be read by an expression with the following syntax:
MR.UNIT[1].MAP.TemperatureCM.BREF.PIDA.PV. 'MR.UNIT[1]' provides access to the selected unit,
'MAP' is the Map block contained in the Unit, '.TemperatureCM.BREF' is the block reference, and PIDA.PV
is a block and parameter contained by USER:TIC. This scenario is useful if the Control Modules are
identical for equipment.

33
3 BUILD AN EQUIPMENT MODEL

• Consider that the block type is a basic block. In this scenario, the block reference can be configured as
follows:
– Block reference name: TemperaturePID
– Block type: REGCTL:PID
– Block reference value: CM_01.PIDA (can be any tag.BB where the BB is derived from REGCTL:PID)
This block reference is used in the expression and created in the Map block as follows: "MR.UNIT[1].MAP.
TemperaturePID.BREF.PV"
• Consider that the block type is a basic block UDT. In this scenario, the block reference can be configured as
follows:
– Block reference name: NumericUDT
– Block type: USER:NUMERIC_UDT
– Block reference value: TIC101.NUMERIC_UDT_1(tag.BBUDT) where the basic block is derived from
USER:NUMERIC_UDT.
This block reference is used in the expression and created in the Map block as follows: "MR.UNIT[x].MAP.
NumericUDT.BREF.PV"

Attention
If the same basic block is used in different Control Modules, you can select the reference type as a basic block or a
basic block UDT. For example, if Numeric blocks are used in two different Control Modules then reference type
can be selected as a basic block. That is, Numeric or if both basic blocks are derived from the same UDT then
reference type can be Numeric UDT.

For more information about the usage of UDT, refer to "Considerations for creating block references" topic in
the Batch Overview and Planning Guide.

3.1.4.1 Guidelines for creating block references


You must adhere to the following instructions while creating a block in a Map block.
• If the block name is empty, the UDT name (without the library name) associated with the block is used to set
the default name. However, if the block name is already used in the Map block, a unique default name is
assigned by appending a number.
• Name must begin with an alphabetic character. If the name does not begin with an alphabetic character, an
error message appears.
• Block type reference name must not contain special characters (!, @, #, $, %, ^, &, *, (, ), _). If the name is
entered with a special character, an error message appears.
• Block reference definitions are associated with the CEE-executable block types. Each reference name must
be associated to one of the basic blocks/UDT/tag block in Experion.
• Block reference type is an Experion-resident block type or UDT associated with a block reference. It is used
when the same data structure is used for all units within a Unit class.
For more information about the considerations for block references, refer to the "Considerations for creating
block references" topic in the Batch Overview and Planning Guide.
For more information about the common guidelines for references, refer to the “Common guidelines for creating
functions/block references/parameter references” on page 29.

3.1.4.2 Configuring a block reference

Prerequisites
• Necessary custom block types and user-defined templates must exist.
• A Map block type exists.

34 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

To configure a block reference


1 In the Control Builder library, double-click a Map block type.
The Map block PDE appears with the Functions tab selected by default.
2 Select the Block Reference tab.
The block reference configuration form appears.
3 In the Library Name column of any empty row, click the arrow .
A list of existing Control Builder library names appears.

4 Select a library name from the list.


5 In the Block Type column, click the arrow .
An auto generated list of existing block types or UDTs in the selected library appears.
6 Select a block type from the list.
By default, a unique block reference name and description are added in the Block Reference Name column
and Block Reference Description column respectively. The name and description may be changed.
7 Save the changes and close the PDE.
Note: You can modify an existing block reference by changing name, description, and block type by
adhering to rules for modification. You can also add a new block reference and can delete an existing block
reference. For more information about modifying an existing block reference and to know about the related
rules, refer to “Modifying a block reference”.

3.1.5 Parameter references


A parameter reference is created to refer to a parameter during recipe execution. A Master Recipe uses
parameter references and resolves them during recipe execution. A parameter reference can be selected from
one of the following parameters available in the Control Builder.
• CEE Resident parameters
• OPC Gateway parameters
• Server Peer Responder or other Subsystem (such as PMD) parameters

35
3 BUILD AN EQUIPMENT MODEL

However, parameters of blocks that require special connection processing cannot be configured as a parameter
reference. The excluded blocks are:
• Foundation Fieldbus blocks
• Experion Highway Gateway (EHG) blocks
• Wireless blocks
• R(emote)EE block
• Universal Control Network Interface (UCNIF) block

Attention
• If an OPC Gateway parameter is configured as a parameter reference, the Master Recipe referring to these
parameters must be loaded to an ACE. If the Master Recipe referring to these parameters is loaded to a non-ACE,
the parameter reference is invalid and the Control Recipe execution is blocked.
• If an external reference to a Server Peer Responder or other Subsystem (such as PMD) parameter is configured as
a parameter reference of a Unit and the Unit is loaded to a different control execution environment (CEE) than the
Master Recipe, it is necessary to create or verify existence of a communication path between the Master Recipe's
execution environment and external reference. This can be done by adding a read of at least one parameter of the
Server or other subsystem module to the Master Recipe's CEE.

A parameter reference contains the following fields in PDE.


• Parameter Reference Name: Parameter name associated with a reference in a Map block.
• Parameter Reference Description: Description for a reference in a Map block.
• Parameter Type: Data type associated with the parameter. It determines the data type to be used while
configuring the parameter for reference.
– Integer32 (INT32)
– FLOAT64
– STRING
– Enumeration (ENUM)
– BOOLEAN
The value of the parameter reference must be a parameter with the same type as the parameter type.
The following figure illustrates how parameter references are created using PDE.

Figure 12: Example for parameter reference created using PDE

The following figure illustrates an example for configuring parameter reference values in a Map block that is
used in a Unit class or a Unit instance.

36 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

Figure 13: Example for parameter reference in a Map block

Example for creating parameter references


Consider that the parameter type is a data type of FLOAT64. In this scenario, the parameter reference can be
configured as follows:
• Reference name: TemperatureSP
• Reference type: FLOAT64
• Reference: TIC101.PIDA.SP
This parameter reference is used in the expression and created in the Map block as follows:
"MR.UNIT[x].MAP. TemperatureSP := 100"

Attention
The parameter reference type is used only when a single value is common between Units in the Unit class.

3.1.5.1 Guidelines for creating parameter references


You must adhere to the following instruction while creating a parameter in a Map block.
• If the parameter name is empty, the data type name (without the library name) associated with the parameter
is used to set the default name. However, if the parameter name is already used by the Map block, a unique
default name is assigned by appending a number.
For more information about the common guidelines for references, refer to the “Common guidelines for creating
functions/block references/parameter references” on page 29.

3.1.5.2 Configuring a parameter reference

Prerequisites
A Map block type exists.

To configure a parameter reference


1 In the Control Builder library, double-click a Map block type.
The Map block PDE appears with the Functions tab selected by default.

37
3 BUILD AN EQUIPMENT MODEL

2 Select the Parameter Reference tab.


The parameter reference configuration form appears.
3 In the Parameter Type column of an empty row, click the arrow .
A list of existing parameter types appears.

Attention
The parameter type can be one of the following:
• Integer32
• Float64
• String
• Enumeration (ENUM)
• Boolean

4 Select a parameter type from the list as appropriate.


As illustrated, by default, a unique parameter reference name and a description are added in the Parameter
Reference Name and Parameter Reference Description column respectively.

You can also type in a parameter reference name first. A parameter type is added in the Parameter Type
column by default.
5 Save the changes and close the PDE.
Note: You can modify the name, description, and parameter type of a parameter reference by adhering to
rules. For more information about modifying the parameter reference, refer to “Modifying a parameter
reference”.

38 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

3.2 Building a Unit class


Unit classes are used for organizing plant equipment into classes from which you can build Class-based Master
Recipes and instantiate Unit instances. Unit classes provide the necessary functions and references for building
Master Recipes. If you refer to the example equipment model for yogurt production, Mixer 1 and Mixer 2 units
can be grouped to form the Mixer Unit class. The units Fermentor 1 and Fermentor 2 can be grouped to form
the Fermentor Unit class. The functions for our Mixer Unit class are two Material Additions, Temperature
Control, Homogenize, and Transfer Out. The following figure illustrates the functions of the Mixer Unit class.

Figure 14: Example Unit class with functions

Attention
If you have only one unit in your process cell, there is no need to create a Unit class. However, as a best practice and
considering future expansions, it is recommended to create a Unit class even if you have one unit.

A Unit class is configured as a user-defined template (UDT) of UCM. Hence, all parameters and configuration
available for UCMs apply to Unit classes as well. A Unit instance is derived from a Unit class based on the
UDT. The relationship between a Unit class and a Unit instance is the same as the relationship between a UDT
and it's derivation children. You can build Master Recipes using a Unit class.
Map blocks provide the functions and references for a Unit class. When a Map block type is dropped into a Unit
class, the functions and references defined in the Map block type become part of the Unit class. Additional
block types may be dropped into the Unit class and optionally connected to perform the following:
• Unit-specific logic
• Store parameter values such as level and temperature

A Unit class supports only the following blocks.


• All blocks from the LOGIC library

39
3 BUILD AN EQUIPMENT MODEL

• All blocks from the MATH library


• All blocks from the UTILITY library except ALMWINDOW and ANNPANEL blocks
• AUXCALC block
• ENHAUXCALC block
• DEVCTL block
• Map block type
• Custom data blocks

As illustrated, a Unit class (04Y_MIXER_C) can be created with the Map block (MIXER_MAP). The functions
defined by the Map block type YOGURT_LIBRARY:04Y_MIXER_MAP become part of the Unit class when
the Map block type is dropped into the Unit class.

Figure 15: Unit class

You can also configure a UCM instead of a Unit class for building the Master Recipe. For information about
configuring a UCM, refer to the "Configuring a UCM" topic in the Sequential Control User's Guide.
Before building a Unit class, you must be aware of the restrictions for modifying a Unit class and the
differences between a Unit class and a Unit Control Module (UCM).
For more information about the following topics, refer to the Batch Overview and Planning Guide.
• Restrictions for modifying a Unit class
• Differences between a Unit class and a Unit Control Module (UCM)
For information about modifying a Unit class, refer to the “Maintaining a Unit class” on page 150.

Related topics
“Creating a Unit class” on page 41
“Associating a Map block type with a Unit class” on page 41

40 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

3.2.1 Creating a Unit class

To create a Unit class


1 In the Control Builder, choose File > New > Unit Class.
The Library & Type dialog box appears.
2 In the Library Name box, select an existing user library name or type a new user library name.
3 In the Type Name box, type the name for the Unit class.
4 Click OK.
The Unit class is created and the Unit class icon appears in the Library View.

As illustrated, the Unit class 04Y_MIXER_C appears in the user defined library YOGURT_TEMPLATES.

Next steps
To configure the references (function, block, and parameter), refer to the “Instantiating a Unit instance from a
Unit class” on page 45. However, the references are typically configured while building the Unit instance.

3.2.2 Associating a Map block type with a Unit class


A Master Recipe can use the functions, block, and parameter references defined within a Map block type only
when the Map block type has been dropped into a Unit class and the Unit class has been associated with the
Master Recipe. When the Unit class is instantiated, the functions are linked to specific sequences (like SCMs)
for the unit.

41
3 BUILD AN EQUIPMENT MODEL

Figure 16: Map block type associated with a Unit class

As illustrated, the Unit class contains the Map block along with its functions, block, and parameter references.

Prerequisites
• Unit class exists.
• Map block type exists.

To associate a Map block type with a Unit class


1 In the Control Builder library, double-click the Unit class.
The Unit class chart appears.
2 From the Control Builder library, drag the Map block type in to the Unit class chart.
The Map block instance appears in the Unit class chart.

42 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

3 Double-click the Map block.


The Map block configuration form appears.
4 On the Main tab, type a name for the Map block in the Name box. This name represents the collection of
functions and references defined by the Map block type for the Unit class.
5 (Optional) Configure any Function, Block, and Parameter reference default values that are common among
Unit instances of the Unit class. Configuration of these references is not typical in a Unit class. The different
references for each unit is configured in the Unit instance.
To configure function reference, refer to the “Instantiating a Unit instance from a Unit class” on page 45.
6 Click OK.
The Map block is saved and associated to the Unit class in the Control Builder library.
7 Click Save.
The Unit class is saved with the Map block.

43
3 BUILD AN EQUIPMENT MODEL

3.3 Building a Unit instance


Unit instance is an instantiation of a Unit class. A Unit instance defines a specific CM, SCM, RCM, and/or
Master Recipe that the unit executes against using the Map block.
A Unit instance can be built without a Unit class. However, as a best practice, it is recommended to build a Unit
class considering the future expansions.
For more information about the blocks supported, refer to the “Building a Unit class” on page 39.

Figure 17: Unit instances M1 and M2 from Unit class Mixer

As illustrated, Unit class Mixer is instantiated and configured to represent physical units M1 and M2. As part of
instantiation, the functions (MAT_ADD, TEMP_CTL, HOMOG, and XFEROUT) present in the Unit class are
propagated to the units so Control Recipes created from a Master Recipe associated with the Unit class can use
the functions during runtime. For more information about using the functions in a Master Recipe, refer to
“Creating a Master Recipe” on page 58.

Related topics
“Instantiating a Unit instance from a Unit class” on page 45
“Validating a Unit instance” on page 48
“Validation log details” on page 49
“Loading a Unit instance” on page 50

44 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

3.3.1 Instantiating a Unit instance from a Unit class

Prerequisites
• Unit class exists.
• Function references configured in a Map block type must have the Data block of the same Phase block type.
(optional)
• Control strategies and Recipes/SCMs to be referenced by the unit must exist.

To instantiate a Unit instance from a Unit class


1 In the Control Builder library, right-click the Unit class and click Instantiate.
The Unit class instance is added to the Control Builder Project tree with a default name. If required, you can
retain the name or you can modify as appropriate.
For example, consider that you are instantiating the Unit class 04Y_MIXER_C. An instance of
04Y_MIXER_C with a default name 04Y_MIXER_C_1 appears in the Source and Destination column.
You can modify the default name in the Destination column as 04YM1_UNIT. 04YM1_UNIT appears in
the Project tree along with the Map block MIXER_MAP configured in the Unit class 04Y_MIXER_C.
2 Click Finish.
The Unit instance is added in the Control Builder Project tree and the Map block present in the Unit class
also appears in the Unit instance.
In the Map block configuration form you can refer a function, a parameter reference, or a block reference to
the Map block contained by a Unit class.
The reference can be a name of an SCM, an RCM, a Master Recipe, a proxy SCM, or a proxy RCM that
executes for the function of a Unit. The function reference must have a Data block that matches with
associated function type.

To configure a function reference


1 From the Project view, double-click a Unit class/UCM.
The Unit class/UCM chart view opens.
2 Double-click the Map block instance contained by the Unit class/UCM.
The Map block configuration form appears.
3 Click the Function Reference tab.

45
3 BUILD AN EQUIPMENT MODEL

4 In the Reference column, click the Point Picker


The Point Selection window appears to select a reference value for the function.
An error occurs if the reference does not adhere to the following rule.
• The reference value must be a Recipe/SCM that has a Data block that matches the Phase type of the
function. The Data block matches the Phase type of the function if the Data block has been created from
the Phase type of the function, or it has been created from a derivation child of the Phase type of the
function.
If a default reference value is configured in the Unit class, the value is automatically propagated to a Unit
instance on creation. This is useful if multiple or all units of the Unit class use the same value for the
reference. You may change the value if required.
If you click Function Reference tab, the Point Selection window lists all Recipes/SCMs with Data blocks
that match the Phase type of the function.
5 Select a value of function from the list.
6 Click OK.
The function reference is associated to the Map block.

To configure a block reference


1 In the Control Builder library, right-click a Map block instance contained by a Unit class/UCM and select
Block Properties.
2 Click the Block Reference tab.

3 In the Reference column, click the Point Picker


The Point Selection window appears to select a reference value for the block reference.
An error occurs if the reference does not adhere to the following rule.
• The reference value must be a block that matches the block type of the block reference. The block
matches the block type of the block reference if the block has been created from the block type of the
block reference, or it has been created from a derivation child of the block type of the block reference.
If a default reference value is configured in the Unit class, the value is automatically propagated to a Unit
instance on creation. This is useful if multiple or all units of the Unit class use the same value for the
reference. You may change the value if required.
If you click Block Reference tab, the Point Selection window lists the blocks that match the block type of
the block reference.
4 Select a block name from the list.
5 Click OK.
The block reference is associated to the Map block.

46 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

To configure a parameter reference


1 In the Control Builder library, right-click a Map block instance contained by a Unit class/UCM and select
Block Properties.
2 Click the Parameter Reference tab.

3 In the Reference column, click the Point Picker


The Point Selection window appears to select a reference value for the parameter reference.
An error occurs if the target reference does not adhere to the following rule.
• The reference value must be a parameter with a data type that matches the parameter type of the
parameter reference.
If a default reference value is configured in the Unit class, the value is automatically propagated to a Unit
instance on creation. This is useful if multiple or all units of the Unit class use the same value for the
reference. You may change the value if required.
If you click Parameter Reference tab, the Point Selection window lists the matching parameters of the
selected Recipe/SCM.
4 Select a value of parameter reference from the list.
5 Click OK.
The parameter reference is associated to the Map block.

For example, consider that you are configuring the XFEROUT function in the MAP block MIXER_MAP.
You may select the Function Reference from the Point Selection window. The following image illustrates
the example configuration.

47
3 BUILD AN EQUIPMENT MODEL

Figure 18: Example configuration for adding reference in the Map block

3.3.2 Validating a Unit instance


The following validation is performed for a Unit instance.
• All references (function, block, and parameter references) configured in the Unit instance are checked for
adherence to configuration rules.
• NULL Map reference is detected when a function reference, block reference, and/or parameter reference of a
MAP block contained in a Unit instance is not configured.
• Invalid OPC references are detected.
For more information about the OPC references, refer to the Control Builder Components Theory.
The validation of the Unit instance is useful after the following modifications are made.
• Function/block/parameter references have been added to a Map block type that is the derivation parent of a
contained Map block of the Unit instance.
• A Map block type (a derivation parent of a contained Map block of a Unit instance) is modified.
• The Data block of an SCM, RCM, Master Recipe, Proxy SCM or Proxy RCM has been deleted or its type
has been changed and the SCM, RCM, Master Recipe, Proxy SCM or Proxy RCM might be referenced by a
function of a contained Map block of the Unit instance.
• New Map blocks are added to the Unit instance, or the Unit class derivation parent of the Unit instance.
• Any modifications made to a template referenced by a Map block contained by the UCM.

48 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

Prerequisites
• Unit instance exists.
• A Map block is contained by the Unit instance and the Map block has been configured.

Tip
UCM and Unit instance are the same.

To validate a Unit instance


1 From the Project view, right-click Unit instance.
2 Select Validate Block Reference.
The Confirm Validation of Block and References dialog box appears.
3 Select the object you want to validate and click Continue.
The Validate Block and References dialog box appears with the validation status.
The following figure displays the Validate Block and References dialog box.

The status of the block references are listed in the ERROR(S) OCCURRED section.
The following list illustrates the various validation statuses and a brief description of each status.
• Pass: The validation of block reference is successful.
• Fail: The validation of block reference has failed.
• Incomplete: The block selected for validation has references other than OPC references.
• Not Validated: The block selected for validation does not have any references.
• Aborted: The validation of block reference is cancelled.
If any error occurs, click View Error log and scroll to the end of the list to view the errors.

Attention
For more information about the errors, refer to the Control Builder Error Code Reference.

4 Click Close.

3.3.3 Validation log details


The Validate Block and References dialog box displays only the block and its validation status. However, you
can view the complete details in the Err_log.txt file.
The Err_log.txt file displays the following information.
• Total number of connections

49
3 BUILD AN EQUIPMENT MODEL

• OPC References Status


• Block References Summary Status
• Validation status
• User who performed the block reference validation
The following figure illustrates a portion of the error log file that contains validation details.

Figure 19: Validation error log file

The OPC Reference Status and the Block References Summary status provide the following information.
• Total Refs: Total number of references in the block
• Validated Refs: Total number of validated references
• Passed Refs: Total number of references that passed validation
• Failed Refs: Total number of references that failed validation
If you have selected multiple blocks for validation, then the log file lists the validation data sequentially.
If errors are encountered during validation of block references, the error description along with the error code is
listed in the log file.

3.3.4 Loading a Unit instance


After building a Unit instance, it must be assigned and loaded to a CEE.

Prerequisites
• Unit instance exists.

50 www.honeywell.com
3 BUILD AN EQUIPMENT MODEL

• Controller must be already loaded.

To load a Unit instance


1 From the Control Builder Project tree, select the Unit instance.
2 In the Control Builder toolbar, click Execution Environment Assignment icon.
The Execution Environment Assignment dialog box appears.
3 Select the appropriate Unit instance from the Available Modules list.
4 Select the CEE from the Assign To list.
5 Click Assign.
6 Click Close.
The Unit instance is assigned to the selected CEE and appears in the CEE.
7 Select the assigned Unit instance from the Control Builder Project tree.
8 In the Control Builder toolbar, click Load.
On successful loading, click Close. The Unit instance is loaded to the selected CEE.

51
3 BUILD AN EQUIPMENT MODEL

52 www.honeywell.com
4 Building a Master Recipe

In EBM, a Master Recipe can be configured as one of the following:


• General CBR
Note: The General CBR is a non S88 Master Recipe.
• Procedure
• Unit Procedure
• Operation
The following table lists the icons for each of the Master Recipe types in Control Builder/Recipe Builder.
Master Recipe icon in Control Builder/Recipe Builder Master Recipe type
General CBR

Procedure

Unit Procedure

Operation

Tip
It is recommended to create the Master Recipe from the bottom level. That is, start with Operations then create Unit
Procedures, and finally Procedures. This is because, Operations must exist when you have to use them in a Unit
Procedure.

About Context Pane


Context Pane is a tree view, which includes the SCM library by default. The predefined block types (including
HANDLER, STEP, SYNC, and TRANSITION) available in the SCM library can be used during recipe
building. The units (Unit Class/UCM) are dragged from the Project view or the library view into the Context
Pane to define the units the Master Recipe executes. These are the units to be selected and optionally acquired
during the recipe execution.
By default, the Context Pane is open. However, the Context Pane can be closed/hidden. If it is closed, right-
click the Master Recipe chart and select "Display Context Pane" to open the Context Pane. The following figure
depicts the Context Pane.

53
4 BUILDING A MASTER RECIPE

Figure 21: Context Pane

The Context Pane displays the following components during recipe building.
• Unit class/UCM. In the above example, the unit is displayed as UNIT[1] = (04Y_MIXER_C).
04Y_MIXER_C is the name that is presented to the Operator during Unit selection. UNIT[1] is the
parameter name and index that is used by the Master Recipe 04YM_3_MAKING to reference parameters of
the unit.
• Any Map block contained by the Unit class/UCM.
• Other Master Recipes where the Unit class is configured as a primary unit.

About primary unit


A primary unit determines the Asset for the Batch based on the Unit selection. If a primary unit is not
configured for the Master Recipe, then the asset for the Batch is based on the asset of the Master Recipe. The
primary unit is displayed as the first Unit in the Context Pane of the Master Recipe and is always referenced as
UNIT[1]. If a primary unit is not configured, then UNIT[1] is not used. A unit is configured as a primary unit of
a Master Recipe as follows:
• When the first Unit Class/UCM is dragged to the Context Pane of a “Unit Procedure” or “Operation” Master
Recipe, the Unit Class/UCM is automatically configured as the primary unit.
• When a Unit Class/UCM is dragged to the Context Pane of a Master Recipe in which the primary unit is not
configured, then you are prompted to set the Unit as the primary. If you select Yes, the Unit Class/UCM is
configured to be the primary unit.
When the Unit class/UCM is configured as the primary unit, the unit is automatically configured to be acquired
when the Control Recipe executes.

About Unit Selection tab


Unit Selection tab is available in the Master Recipe configuration form. The parameters on the tab are
automatically configured as each Unit class/UCM is dragged from the Project view or the library view into the

54 www.honeywell.com
4 BUILDING A MASTER RECIPE

Context Pane. This tab is used to select the Unit class and whether the units need to be acquired during recipe
execution. Unless specified explicitly, the units need to be selected at runtime for recipe execution.
If a unit is selected during recipe configuration, the recipe becomes instance-based recipe. To configure a Class-
based recipe, the Unit class needs to be selected during recipe configuration.
The following figure illustrates the Unit Selection tab.

Figure 22: Unit Selection tab

The following fields are available in the Unit Selection tab for configuring the units.
• Number of Units (NUMUNITS): Configures the number of units for a Master Recipe.
• A table contains the following columns.
– Index: Displays the index of the unit selection to be used to configure unit passing, unit selection, and
unit acquisition. It is used to reference the parameters of the unit.
– Unit Class: Configures the Unit class by selecting the Unit class from the Point Selection window.
– Name: Configures the name to be displayed to the Operator in the Activity display. By default, the Unit
class name appears.
– Unit: Selects Unit instance for the Control Recipe to execute against at runtime. This can be modified by
the Operator at runtime.
– Acquire?: Configures the acquire option for each unit in each row. If the Acquire? is configured as
"Yes," the unit is acquired based on the recipe layer. Based on the recipe layer, the unit acquisition occurs
as follows:
– If the recipe runs in the top layer, the unit is acquired.
– If the recipe runs in the child layer, the unit is acquired if the unit is not acquired by its parent.

55
4 BUILDING A MASTER RECIPE

About unit passing mechanism


Unit passing is a method of passing a selected unit from a parent recipe layer to a child recipe layer. It is
achieved through Phase blocks contained by a Master Recipe. The following illustration explains the unit
passing mechanism.

Figure 23: Unit passing mechanism

The following parameters are introduced to support the unit passing.


• Unit Reference (X_UNITNAMEREF): It retrieves a unit from the recipe.
• Unit Target (X_UNITTARGREF): It stores the unit retrieved from the recipe to the child recipe.
The Unit Reference (X_UNITNAMEREF) and Unit Target (X_UNITTARGREF) parameters are
automatically configured during Master Recipe creation. Additional manual configuration of unit passing is
required for the following:
• More than one unit is passed to the child.
• The unit passed to the child is not the primary unit of the child.

Attention
Up to 10 unit passing parameters can be configured in a Phase block contained by a Master Recipe.

At runtime, the unit is passed as follows:


• If the unit has been selected, it is passed to the child recipe.
• If the selected unit has been acquired by the current recipe layer, the information about the current owner is
passed to the child recipe.
This information is stored by the child recipe and is used for unit acquisition.
Once the child recipe execution is complete, the following information is retrieved from the child recipe.
• current unit selection from the child
• information about the current owner of the unit

56 www.honeywell.com
4 BUILDING A MASTER RECIPE

Related topics
“Creating a Master Recipe” on page 58
“Common ways of adding different recipe layers in a Master Recipe” on page 65
“Building Expressions for Master Recipes” on page 68
“Alternate ways of adding different recipe layers in a Master Recipe” on page 72
“Configuring unit passing parameters” on page 78
“Configuring the number of Control Recipes for a Master Recipe” on page 80
“Configuring activities for a Master Recipe” on page 82
“Validating a Master Recipe” on page 83
“Loading a Master Recipe” on page 85

57
4 BUILDING A MASTER RECIPE

4.1 Creating a Master Recipe


To create a Master Recipe, you need to perform the following tasks.
1. Configure a Data block for the Master Recipe
2. Associate the Unit class/UCM to the Master Recipe
3. Configure the Master Recipe
4. Configure the unit passing parameters (optional)

Prerequisites
• Phase block type of the Data block of the Master Recipe exists.
• Necessary child level recipes must exist only if the Master Recipe is driving another Recipe/SCM.
• CEE must be configured and loaded with Number of Activities greater than zero.

To create a Master Recipe


1 In the Control Builder or Recipe Builder, choose File > New > Class Based Recipe.
2 Click any one of the following submenus.
• General CBR
• Procedure
• Unit Procedure
• Operation
The Master Recipe configuration form appears. The Parameters tab is selected by default.
The Master Recipe with a default name appears in the Project tree.
3 Next to the Data Block Type box, click Browse icon to select a Phase block type that acts as a Data block
for the Master Recipe when added to it.
The Point Selection window with the list of Phase block types appears.

58 www.honeywell.com
4 BUILDING A MASTER RECIPE

4 From the list, select a Phase block type and click OK.
The selected Data block appears in the Data Block Type box.
5 In the configuration form, click Main tab.
6 In the Name box, type a name for the Master Recipe or you can retain the default name.
7 In the Public Name box, type a name for recipe to be displayed in the Station.. For more information about
the Public Name, refer to the Procedure and Sequence Custom Display Building Guide.
8 On the Activities tab, observe that the User or App option is selected in the Activity Creation option list
by default.
9 Click Arbitration tab.
10 The Maximum Granted Requesters (MAXOWNERS) is set with the value from the Batch Preferences.
The value can be modified from the Arbitration tab. It indicates that the maximum number of Control
Recipes that can execute simultaneously against the same Master Recipe.
11 Click OK.
The Master Recipe opens in the Control chart and appears in the Project tree. A Context Pane attached to it
displays the SCM/RCM blocks. This new pane defines the Unit Context Pane for recipe building.
The Context Pane can be closed/hidden. To open the Context Pane, right-click the Master Recipe chart and
select "Display Context Pane."

Next steps
After a Master Recipe is created, you need to associate it with a Unit class to define references available in the
Map block that can be used to configure a recipe.

59
4 BUILDING A MASTER RECIPE

4.1.1 Associating a Unit class/UCM to a Master Recipe


You can associate a Unit class/UCM to a Master Recipe by dragging the Unit class/UCM into the Context
Pane.

Attention
The procedure for associating a UCM to a Master Recipe is similar to the procedure for associating a Unit class to a
Master Recipe. The UCM is dragged from the Project view into the Context Pane of a Master Recipe chart.

Prerequisites
• Master Recipe exists.
• Unit class exists and contains a Map block.

To associate a Unit class to a Unit procedure or an Operation Master Recipe


1 Drag the Unit class from library view into the Context Pane of the Master Recipe chart.
For more information about the Context Pane, refer to the “Building a Master Recipe” on page 53.

As illustrated, the Context Pane has the predefined SCM library (including HANDLER, STEP, SYNC, and
TRANSITION blocks) and the Unit instances (04Y_MIXER_C and 04Y_FERMENTOR_C) are associated
to the Master Recipe (04Y_4_YOGURT).
When a Unit class is added to the Context Pane of a Unit Procedure or Operation, the unit is configured in
the Unit Selection tab as a primary unit.

60 www.honeywell.com
4 BUILDING A MASTER RECIPE

Attention
When you drag and drop the Unit class from Project view to the Context Pane, a default name is set to the Unit
selection. To rename the Unit selection, update the NAME parameter available in the Unit Selection tab of the
Master Recipe configuration. Renaming the Unit class from the Project view does not affect the name of the Unit
selection.

2 Click Save.
The Unit class is added to the Context Pane.

To associate a Unit class to a Procedure or a General CBR Master Recipe


1 Drag the Unit class from library view into the Context Pane of the Master Recipe chart.
If a primary unit is not configured for the Master Recipe, a confirmation message appears to set the selected
Unit class as the primary unit.
2 Click Yes to set the selected Unit class as the primary unit. Or, click No to add the Unit class as UNIT(n)
depending on the number of units available in the Context Pane.
The UNIT(n) denotes the number of units associated with the Master Recipe. For example, if the UNIT(n) is
UNIT(2) then it denotes that there are two units associated with the Master Recipe and it is the second unit
of the Master Recipe.
The Unit class appears in the Context Pane.
For more information about the primary unit, refer to the “Building a Master Recipe” on page 53.
3 Click Save.
To use Unit classes in a recipe, you can also manually select the Unit class from the Unit Selection tab of
the Master Recipe configuration form.

To manually select the Unit class from the Unit Selection tab
1 Right-click the Master Recipe and click Module Properties.
The Master Recipe configuration form opens.
2 Click the Unit Selection tab to configure a unit to the Master Recipe.
The following figure displays the Unit Selection tab.

61
4 BUILDING A MASTER RECIPE

3 Configure the Number of Units (NUMUNITS) parameter.


The rows are added in the table according to the NUMUNITS parameter.
The maximum limit of NUMUNITS parameter is 50.
4 Click Browse on the Unit Class column.

62 www.honeywell.com
4 BUILDING A MASTER RECIPE

The Point Selection window opens. A list of Unit classes available in the library appears.

5 Select a Unit class from the list.


6 Click OK.
The selected Unit class appears in the row. By default, the Unit class name appears in the Name column. An
error message appears if you type a duplicate name in the Name column.

63
4 BUILDING A MASTER RECIPE

7 Click Browse on the Unit column.


The Point Selection window opens. A list of Unit instances instantiated from the Unit class is displayed.

8 (Optional) Select a Unit instance from the list.


An error message appears when you enter a unit manually and if the unit is not the instance of the Unit class.
9 Click OK.
10 Click OK.

Next steps
If you are configuring multiple units and passing the units from the parent recipe layer to the child recipe layer,
refer to the “Configuring unit passing parameters” on page 78. Ensure that the Unit class passed from the parent
matches the Unit class passed to the child.

64 www.honeywell.com
4 BUILDING A MASTER RECIPE

4.2 Common ways of adding different recipe layers in a Master Recipe


You can add different layers (Operations, Phase, Unit Procedure, and Procedure) of a recipe in a Master Recipe.
The following are the common ways through which recipe layers can be added in a Master Recipe.
• Adding a Function in a Master Recipe
• Adding a Master Recipe from a Context Pane into a Master Recipe
The following are the alternate methods through which recipe layers can be added in the Master Recipe.
• Adding a Phase block type in a Master Recipe
• Adding a Master Recipe in a Master Recipe
• Adding a Proxy Master Recipe in a Master Recipe
• Adding an RCM in a Master Recipe
• Adding an SCM in a Master Recipe

Related topics
“Adding a Function in a Master Recipe” on page 65
“Adding a Master Recipe from a context pane into a Master Recipe” on page 66

4.2.1 Adding a Function in a Master Recipe


When you add a function in the Master Recipe chart, the unit passing parameters and the formula/report
parameters are automatically configured.
The following parameters of the Phase block are auto-configured.
• Unit Name Reference (X_UNITNAMEREF)
• Unit Target Reference (X_UNITTARGETREF)
• Use Name Reference (X_USENAMEREF)
• Resource Name Reference (X_NAMEREF)

Prerequisites
• Unit class containing a Map block with functions defined must exist.
• Master Recipe with Unit class associated with it must exist.

To add a function from a context pane into Master Recipe


1 From the Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 In the Context Pane, expand the Unit class configured in the Master Recipe.
3 Drag the function configured in the Map block to the chart view.
The Phase block of the contained function is created in the chart view.
The Phase block is automatically configured to perform the following:
• Execute the child based on the MILK_ADD function.
• Pass the unit selected from the 04Y_MIXER_C class to the child.
• Store formula parameters to the child.
• Retrieve report parameters from the child.

65
4 BUILDING A MASTER RECIPE

4 Save the changes and close the Master Recipe chart.

4.2.2 Adding a Master Recipe from a context pane into a Master Recipe
When you add a Master Recipe from the context pane into another Master Recipe, the unit passing parameters
and the formula/report parameters are automatically configured.
The following parameters are auto-configured.
• Unit Name Reference (X_UNITNAMEREF)
• Unit Target Reference (X_UNITTARGETREF)
• Resource Name (EQUIPNAME)

Prerequisites
• Unit class has been associated with an Operation level Master Recipe.
• Master Recipe with Unit class associated with it must exist.

To add a Master Recipe from a context pane into Master Recipe


1 From the Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 In the Context Pane, expand the Unit class configured in the Master Recipe.
3 From the Context Pane, select and drag the Master Recipe configured in the Unit class to the chart view.

66 www.honeywell.com
4 BUILDING A MASTER RECIPE

The Phase block of the Master Recipe is created in the chart view. The parameters of the Phase block
(Master Recipe) are auto-configured to perform the following:
• execute the child recipe 04YM_3_MAKING.
• pass the unit selected from the 04Y_MIXER_C class to the child.
• store formula parameters to the child.
• retrieve report parameters from the child.
4 Save the changes and close the Master Recipe chart.

67
4 BUILDING A MASTER RECIPE

4.3 Building Expressions for Master Recipes


Expressions for a Master Recipe consists of the following:
• Parameter references
• Direct references
• Indirect references
You can use direct or indirect (preferred) references to build the expressions in a Master Recipe
(04Y_4_YOGURT) to access (for reading and writing) parameters of a Unit class (04Y_MIXER_C) associated
with the Master Recipe.
You can access the following types of parameters.
• Parameters of Experion (direct reference) using the syntax point.parameter.value
• Parameters of the Unit instance (UCM)
• Parameters of blocks contained by the UCM
• Parameter references of a Map block contained by the UCM
• Parameters or block.parameters of block references of a Map block contained by the UCM
An indirect reference can be used in expressions in the same way a parameter (Tag.Block.Parameter) can be
used in an expression. However, an indirect reference has more parts and complexity than a parameter
reference.
The syntax for an indirect reference is MasterRecipe.UNIT[x] where, UNIT[x] is the selected unit name for the
index "x" at runtime.
For example, for the Master Recipe 04Y_4_YOGURT, the Context pane displays the units that have been
configured for the Master Recipe.

Figure 24: Master Recipe 04Y4_4_YOGURT

The first unit is displayed as UNIT[1] = (04Y_MIXER_C) where UNIT[1] is a parameter of the Master Recipe
(04Y_4_YOGURT) and 04Y_MIXER_C is the Unit class. At runtime, the Control Recipe created from the
Master Recipe executes against a UCM that is selected by the operator or an external application. Since the

68 www.honeywell.com
4 BUILDING A MASTER RECIPE

selected UCM is not known when building the expressions for the Master Recipe, access to the parameters of
the selected UCM is configured using an indirect reference that is resolved upon selection of the UCM.
After the unit is known, parameters associated with the unit may be accessed:
• 04Y_4_YOGURT.UNIT[1].STATE - provides access to the value of the STATE parameter for the selected
UCM.
• 04Y_4_YOGURT.UNIT[1].XFER.PV - provides access to the value of XFER.PV, where XFER is a user-
configured block in the 04Y_MIXER_C Unit class.
• 04Y_4_YOGURT.UNIT[1].MIXER_MAP.MIXER_LEVEL.PREF - provides access to the parameter
value associated with MIXER_MAP.MIXER_LEVEL.PREF, where MIXER_MAP is the name of the
map block contained in the UCM and MIXER_LEVEL.PREF is a parameter reference of the map block. At
runtime the Tag.Block.Parameter specified in the selected UCM for the parameter reference is accessed.
• 04Y_4_YOGURT.UNIT[1].MIXER_MAP.TEMPSP.BREF.PV - provides access to the parameter value
associated with MIXER_MAP.TEMPSP.BREF.PV, where MIXER_MAP is the name of the map block
contained in the UCM, the TEMPSP.BREF is a block reference (of type UTILITY:NUMERIC) of the map
block, and PV is a parameter of the NUMERIC block. At runtime the Tag.Block specified in the selected
UCM for the block reference is used.

4.3.1 Building Expressions using an indirect reference


This section provides an example of how to configure a STEP block with a STEP output that stores the value of
a parameter of a unit block reference.

Prerequisites
• Map block type with a block reference exists.
• Unit class with a contained Map block derived from the Map block type exists.
• Master Recipe exists and the Unit class is associated with it.

To build an Expression using an indirect reference


1 From the Project view, double-click the Master Recipe.
The Master Recipe chart is displayed.
2 In the Context Pane, expand the SCM library.
The list of blocks are displayed.
3 From the Context Pane, drag and drop a TRANSITION block into the chart view.
4 Add an expression to the TRANSITION block.
5 Double-click the new STEP output on the STEP block.
The STEP block configuration form is displayed.
6 Click the Points... on the configuration form.
The Point Selection dialog box is displayed.

69
4 BUILDING A MASTER RECIPE

7 Select the recipe and the associated UNIT[1] parameter.


8 Click the Get Choices for Reference to display the Unit class and the contained blocks.
9 Select the Master Recipe and the contained Map block and then select the block reference parameter.

10 Click the Get Choices for Reference to display the block type associated with the block reference.
The Point Selection dialog box is displayed.

70 www.honeywell.com
4 BUILDING A MASTER RECIPE

11 Select the block type and the parameter.


12 Click OK to close the Point Selection dialog box and complete the expression configuration.

13 Click OK to close the STEP configuration form.


14 Save and close the Master Recipe chart.

71
4 BUILDING A MASTER RECIPE

4.4 Alternate ways of adding different recipe layers in a Master Recipe


This section describes about the alternate ways to add the recipe layers to the Master Recipe.
The alternate methods are explained in the following order.
• Adding a Phase block type in a Master Recipe
• Adding a Master Recipe or Proxy Master Recipe in a Master Recipe
• Adding an RCM/SCM in a Master Recipe
This method may be used to execute the following:
• Instance based child recipes or SCM that are not designated through a Unit function.
• Child recipes that provide a mechanism to select a Unit during recipe execution. For example, a formula
parameter that identifies the selected Unit which can be passed to the child recipe and the child recipe can
select and acquire the Unit by using the step outputs.

Related topics
“Adding a Phase block type in a Master Recipe” on page 72
“Adding a Master Recipe (Proxy Master Recipe) in a Master Recipe/RCM” on page 73
“Adding an RCM or SCM in a Master Recipe/RCM” on page 74
“Example for using an RCM or an SCM configured to use HISTVALUE and RECTARGET as a child of a
Master Recipe/Control Recipe” on page 75

4.4.1 Adding a Phase block type in a Master Recipe


The following method is useful when the child recipe or SCM does not contain a Data block.
The following parameters needs to be manually configured.
• Formula and report parameters of the Phase block
• Unit Name Reference (X_UNITNAMEREF)
• Unit Target Reference (X_UNITTARGETREF)
• Resource Name (EQUIPNAME)
• Resource Name Reference (X_NAMEREF)
• Use Name Reference (X_USENAMEREF)

Prerequisites
• Phase block type must exist.
• Master Recipe must exist.

To add a Phase block type in a Master Recipe


1 From the Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 From the library view, select and drag the Phase block type into the chart view.
The Phase block is created in the chart view.

72 www.honeywell.com
4 BUILDING A MASTER RECIPE

3 Double-click the Phase block to open the Module Properties.


4 On the Phase Settings tab, configure the Resource Name (EQUIPNAME) parameter with the name of the
child recipe to be executed.
5 On the Formula Parameters and the Report Parameters tabs, observe the formula and report parameters.
6 Save the changes and close the Master Recipe chart.

4.4.2 Adding a Master Recipe (Proxy Master Recipe) in a Master Recipe/RCM


This method may be used to execute the following:
• a child Master Recipe or Proxy tag of a Master Recipe that contains a Data block
• a child recipe that provides a mechanism to select a unit during recipe execution
For example, a formula parameter that identifies the selected unit can be passed to the child recipe and the child
recipe can select and acquire the unit using STEP outputs.

Attention
This is the only method to be used when executing a Master Recipe in a different cluster.

For more information about selecting and acquiring the units using the STEP outputs, refer to the “Unit
configuration using a STEP output” on page 97.
When you configure a Master Recipe in the Master Recipe chart, the following parameters are automatically
configured.
• Formula/report parameters
• The Resource Name (EQUIPNAME) parameter is auto-configured to be set to the Master Recipe to be
added.
Note: The steps for adding a Proxy tag of a Master Recipe in a Master Recipe/RCM are the same steps as
described below for adding a Master Recipe.

Prerequisites
• Master Recipe which needs to be added in the Master Recipe must exist and contain a Data block.

73
4 BUILDING A MASTER RECIPE

• Master Recipe must exist.

To add a Project Recipe (Master Recipe) in a Master Recipe/RCM


1 From the Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 If you add the project recipe to the RCM, from the Project view, double-click the RCM.
The RCM chart view opens.
3 From the Project view, drag the Master Recipe into the chart view. The Phase block type of the Master
Recipe/RCM is created in the chart view.

Attention
An error message appears when you select a Master Recipe, which does not contain a data block type to be used in
the Master Recipe.

4 On the Phase Settings tab, observe that the Resource Name (EQUIPNAME) parameter is auto-configured.
5 On the Formula Parameters and the Report Parameters tabs, observe that the formula and report
parameters are auto-configured and set to default values.
6 Click OK.
7 Save the changes and close the Master Recipe chart.

4.4.3 Adding an RCM or SCM in a Master Recipe/RCM


This method may be used to execute the following:
• an RCM or SCM that contains a Data block
• a child that is not designated through a Unit function.
When you configure an RCM or SCM in the Master Recipe/RCM chart, the following parameters are
automatically configured:

• Formula/report parameters.
• The Resource Name (EQUIPNAME) parameter is auto-configured to be set to the RCM or SCM.

74 www.honeywell.com
4 BUILDING A MASTER RECIPE

To add an RCM and Proxy tag of an RCM or SCM in a Master Recipe/RCM are the same steps as described
below for adding an SCM.

Prerequisites
• SCM to be added in the Master Recipe must exist and have a Data block.
• Master Recipe/RCM must exist.

To add an RCM or SCM in a Master Recipe/RCM


1 From the Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 If you add an SCM to the RCM, from the Project view, double-click the RCM.
The RCM chart view opens.
3 From the Project view, drag the project recipe (SCM) into the chart view.
The data block of the SCM is created in the chart view.

Tip
The parameters of the Phase block (SCM) are auto-configured.

4 On the Phase Settings tab, observe that the Resource Name (EQUIPNAME) parameter is auto-configured.
5 On the Formula Parameters and the Report Parameters tabs, observe that the formula and report
parameters are auto-configured.
6 Click OK.
7 Save the changes and close the Master Recipe chart.

4.4.4 Example for using an RCM or an SCM configured to use HISTVALUE and RECTARGET as a child
of a Master Recipe/Control Recipe
A child Phase block in a Master Recipe may be configured to kick off a child RCM or SCM configured to use
HISTVALUE and RECTARGET parameters. If the child executed is always the same RCM or the SCM, it may
be configured by setting the EQUIPNAME to an SCM name and the formula parameters are manually

75
4 BUILDING A MASTER RECIPE

configured to <SCM name>.RECTARGET[1]. <SCM name>.RECTARGET[2], and so on. The report


parameters are configured to SCM.HISTVALUE[1], SCM.HISTVALUE[2], and so on.
If the child Recipe or the SCM is selected at runtime through a Unit map, all children must be of the same type
and all children must be configured to use HISTVALUE and RECTARGET parameters. There cannot be a mix
of two units with SCM children and a third unit with an RCM child.
You must first configure the equipment model and then the Master Recipe to enable them have a child SCM,
which is selected at runtime through a Unit map where the child SCMs for all the units are configured to use
HISTVALUE and RECTARGET parameters.
As a first step to create/configure an equipment model, you need to create Phase block types that may be shared
across Unit classes/Unit instances. As mentioned in the Batch Overview and Planning Guide, Phase block types
are used for defining formula and report parameters of functions contained by Unit classes/Units, and those
functions define the "capabilities" of the Unit classes/Unit instances.

To configure the equipment model for enabling a Master Recipe to have a child SCM selected at runtime through a
Unit map
1 Create a Phase block type. For example, YOGURT_LIBRARY:FCN with the formula and report parameters
defined as per the FCN requirements.

2 Create a Map block type. For example, 04_Y_MIXER_MAP.


3 Instead of adding a Function (in this example, FCN to 04_Y_MIXER_MAP), add a block reference name as
FCN with a Library Name as SYSTEM and block type as SCM

.
4 Create a Unit class. For example, 04_MIXER_C.
5 Drag and drop the Map block type into the Unit class.
6 Instantiate two units (for example, 04YM1_UNIT, and 04YM2_UNIT) from the Unit class.
7 Modify 04YM1_UNIT and set the reference value for FCN in the Map block 04_Y_MIXER_MAP to
SCM1.

8 Modify 04YM2_UNIT and set the reference value for FCN in the Map block 04_Y_MIXER_MAP to
SCM2.

To configure a Master Recipe to have a child SCM that uses SCMHISTVALUE and RECTARGET parameters
1 Drag and drop the Unit class 04_MIXER_C into the Master Recipe 04_Y_YOGURT.
2 Drag and drop the Phase block type YOGURT_LIBRARY:FCN from the library tree into the Master Recipe.

76 www.honeywell.com
4 BUILDING A MASTER RECIPE

3 Perform the following steps to manually configure the Phase block type.
a Enable the Use Name Reference parameter on the Phase Settings tab of the Phase block configuration
form.
b Configure the Resource Name Reference parameter as <Master Recipe name>.UNIT[1].<Map block
name>.FCN.BREF on the Phase Settings tab of the Phase block configuration form.

c Configure the formula value or value reference for each formula parameter on the Formula Parameter
tab of the Phase block configuration form.
d Set the parameter reference to <Master Recipe name>.UNIT[1].<Map block
name>.FCN.BREF.RECTARGETVALUE[index] for each formula parameter on the Formula
Parameter tab of the Phase block configuration form so that the parameter in the Phase block
corresponds to the correct RECTARGET index in the child.

e Set the parameter reference to <Master Recipe name>.UNIT[1].<Map block


name>.FCN.BREF.HISTVALUE[index] for each report parameter on the Report Parameter tab the
Phase block configuration form so that the parameter in the Phase block corresponds to the correct
HISTVALUE index in the child.

77
4 BUILDING A MASTER RECIPE

4.5 Configuring unit passing parameters


The number of units can be configured and referenced using the UNITPASS[x] and the EQUIPNAME
parameters of the Phase block contained by the Master Recipe.
The Phase block supports configuration to pass and retrieve Unit selection between recipe layers. Configuration
for unit passing includes the following:
• Number of units to be passed.
• For each unit to be passed, the Unit selection in the Master Recipe to be passed and the target unit in the
child recipe.

Attention
Only units of the Master Recipe can be referenced.

Prerequisites
• Master Recipe must exist.
• Multiple Unit classes exist and are associated with the Master Recipe.
• Phase block must exist in the Master Recipe.

To configure unit passing parameters


1 Double-click the Master Recipe from Project view.
The Master Recipe chart view opens.

Attention
When you configure the Master Recipe from the Context Pane,
• Unit Name Reference (X_UNITNAMEREF) and Unit Target Reference (X_UNITTARGETREF)
parameters are auto-configured.
• By default, the Number Of Units (X_NUMUNITS) parameter is configured as 1.

2 Select the Phase block to pass more than one unit.


3 Double-click the Phase block.
The Phase block configuration form opens.
4 On the Main tab, configure the Number Of Units (X_NUMUNITS) parameter as greater than one.
Additional rows are added for configuring the unit passing parameters (Unit Name Reference
(X_UNITNAMEREF) and Unit Target Reference (X_UNITARGETREF)).
The Unit Name Reference designates the Unit selection to be passed from the Master Recipe to the child.
The Unit Target Reference designates the Unit in the child recipe that the Unit selection is passed to and
retrieved from.
5 Click Browse icon on the empty row of the Unit Name Reference (X_UNITNAMEREF) parameter.
The Point Selection window opens.

78 www.honeywell.com
4 BUILDING A MASTER RECIPE

6 Select the recipe and the associated unit passing parameter. The Units are displayed with their index in the
Context Pane of the Master Recipe . Select the UNITPASS parameter and index, with the same index as the
Unit to be passed to the child recipe.
7 Click OK.
8 The Unit Target Reference designates the Unit in the child recipe that the Unit selection is passed to and
retrieved from. The following provides an indirect reference to a Unit in the child: 04Y_4_YOGURT.
04YF_3_TRANSFER.EQUIPNAME.UNITPASS[1].
04Y_4_YOGURT.04YF_3_TRANSFER.EQUIPNAME supplies the runtime value of the name of the child
recipe of the Phase block (04Y_4_YOGURT.04YF_3_TRANSFER). UNITPASS[1] identifies that the
second unit in the child is stored to and retrieved from.
Select the UNITPASS parameter and index, with the same index as the Unit to be passed to the child recipe.

9 Click OK.
The Phase block configuration form closes.
10 Save and close the Master Recipe chart view.

79
4 BUILDING A MASTER RECIPE

4.6 Configuring the number of Control Recipes for a Master Recipe


The MAXOWNERS parameter of the Master Recipe specifies the number of Control Recipes that can be
executed simultaneously against a Master Recipe.
When a Master Recipe is created, the MAXOWNERS parameter of the Master Recipe is initialized to the value
of MAXOWNERS of MR defined on the Batch Preferences. After the Master Recipe is created, the Master
Recipe value of the MAXOWNERS parameter may be modified from the Arbitration tab of the Master Recipe.
The default value of MAXOWNERS of MR on the Batch Preference is set to 4. Modifications to the
MAXOWNERS of MR on the Batch Preference affects the newly created Master Recipes, and does not
change the MAXOWNERS parameter of the existing Master Recipes.

Prerequisites
Master Recipe must exist.

To configure number of Control Recipes for a Master Recipe


1 Right-click the Master Recipe and click Module Properties.
The Master Recipe configuration form opens.
2 Click the Arbitration tab to configure the number of Control Recipes for a Master Recipe.
The following figure displays the Arbitration tab.

3 In the Requests Granted section, configure the Maximum Granted Requesters (MAXOWNERS).

80 www.honeywell.com
4 BUILDING A MASTER RECIPE

Attention
• The default value is auto-populated based on the value of MAXOWNERS of MR in the Batch Preferences.
• You cannot execute more than 20 Control Recipes simultaneously for a Master Recipe
• At runtime, a child Master Recipe is acquired by its parent Control Recipe to ensure that the number of
Control Recipes created simultaneously from the Master Recipe does not exceed MAXOWNERS. A new
child Control Recipe is created, but is not acquired, therefore the MAXOWNERS and NUMOWNERS
parameters of the child Control Recipe are displayed as zero. The name of the parent Control Recipe is
displayed as the owner of the child Control Recipe for display navigation.

4 In the Requests Pending section, configure the Maximum Waiting Requesters (QUEUESIZE) based on
your requirement.
This parameter is used to configure the number of Control Recipes that can be in queue.

Attention
You cannot create more than 10 waiting requesters for a Master Recipe.

5 Click OK.

81
4 BUILDING A MASTER RECIPE

4.7 Configuring activities for a Master Recipe


After you have configured a Master Recipe, it is recommended to configure the activity creation options for the
Master Recipe.

Prerequisites
Master Recipe must exist.

To configure activities for a Master Recipe


1 Right-click the Master Recipe and click Module Properties.
The Master Recipe configuration form opens.
2 Click the Activities tab to configure the activities for a Master Recipe.
3 Configure the Type of Activity (ACTTYPE) as "Batch" or "Procedure" based on your requirement.
The Batch Summary Display lists all the activities created as "Batch" and the Procedure Summary Display
lists all the activities created as "Procedure." The Activity Summary Display lists both type of activities. The
Create UI display also lists activities based on the value of this parameter.
4 Configure the Activity Creation option (ACTOPT) as "User or App" or "None" based on your
requirement.
• If you configure the ACTOPT as "User or App," a Control Recipe can be created from the Master
Recipe.
An activity is associated to a Master Recipe as soon as a Control Recipe is created for it. The Master
Recipe appears in the Create Batch UI list and an activity is created.
• If you configure the ACTOPT as "None," the Master Recipe cannot be created as a top level activity,
and does not appear in the Create Batch UI as an option during activity creation. If the Master Recipe is
executed as a child, then the child activity is created.
5 Click OK.

82 www.honeywell.com
4 BUILDING A MASTER RECIPE

4.8 Validating a Master Recipe


Master Recipe validation can be performed manually as described in this section. Also, the Master Recipe is
validated when it is loaded.
The following references are detected while validating the Master Recipe.
• Unreferenced formula and report parameter is detected when a Data block/Phase block has an enabled
formula or report parameter value that is not referenced by the recipe.
• Invalid OPC references are detected.
For more information about the OPC references, refer to the Control Builder Components Theory.
• Unit classes or UCMs referenced by a Master Recipe. It is recommended that the validation is performed on
the referenced UCMs or the UCMs that are created from the referenced Unit classes.
• Invalid indirect reference is detected when the indirect references are configured incorrectly. An indirect
reference can become invalid when a Unit class is changed before the Master Recipe is loaded.
• Phase block with mismatched function is detected when a contained Phase block of the recipe is configured
as follows:
– The Phase block has a formula or a report parameter reference that is an indirect reference through the
EQUIPNAME parameter, and
– The Phase block has been configured with a Unit class function and the contained Phase block type does
not match the Function Type of the referenced function.
• Phase block with mismatched EQUPNAME is detected when a contained Phase block of the recipe is
configured as follows:
– The Phase block has a formula or a report parameter reference that is an indirect reference through the
EQUIPNAME parameter, and.
– The EQUIPNAME parameter value references a Recipe/SCM or Proxy Master Recipe/RCM/SCM and
the Data block of the referenced child does not match the Phase block type of the contained Phase block.
The validation of the Master Recipe is useful after the following modifications are made.
• New parameters have been added to a Phase block type that is contained by a Master Recipe or an RCM.
• Unit classes associated with the Master Recipe have been modified.
• Manual configuration of the Phase block contained by the Master Recipe/RCM has been performed for the
following scenarios.
– EQUIPNAME parameter has been modified.
– X_NAMEREF parameter has been modified (applies to Master Recipe only).
– Formula/Report parameters have been enabled.
• The Data block of an SCM, RCM, Master Recipe, Proxy SCM or Proxy RCM has been deleted or its type
has been changed and the SCM, RCM, Master Recipe, Proxy SCM or Proxy RCM might be referenced by a
function of a contained Map block of the Unit instance.

Prerequisites
• Master Recipes and RCMs exist.
• Unit classes or UCMs referenced by a Master Recipe must exist.
• Formula and Report parameters of the Data block/Phase block must be configured.
• OPC references must be configured.

To validate a Master Recipe


1 In the Control Builder library, right-click the Master Recipe.
2 Select Validate Block Reference.
The Confirm Validation of Block and References dialog box appears.

83
4 BUILDING A MASTER RECIPE

3 Select the object you want to validate and click Continue.


The Validate Block and References dialog box appears with the validation status.
The following figure displays the Validate Block and References dialog box.

The status of the block references are listed in the ERROR(S) OCCURRED section.
The following list illustrates the various validation statuses and a brief description of each status.
• Pass: The validation of block reference is successful.
• Fail: The validation of block reference has failed.
• Incomplete: The block selected for validation has references other than OPC references.
• Not Validated: The block selected for validation does not have any references.
• Aborted: The validation of block reference is cancelled.
If any error occurs, click View Error log and scroll to the end of the list to view the errors.

Attention
For more information about the errors, refer to the Control Builder Error Code Reference.

4 Click Close.

Next steps
For more information about the validation log details, refer to the “Validation log details” on page 49.

84 www.honeywell.com
4 BUILDING A MASTER RECIPE

4.9 Loading a Master Recipe


The Master Recipe you create must be assigned and loaded to a CEE.

Attention
Loading of Master Recipe is not allowed without a CBR license. An error occurs when you load a Master Recipe
without CBR license.

Prerequisites
• Master Recipe is created.
• Associated ACE, C200E, C300, SIM-ACE, SIM-C200E, or SIM-C300 controllers are already configured.
• For the CEE, the Master Recipe is to be assigned to the Number of Activities (NUMACT) parameter which
must be configured on the Batch tab of the CEE configuration form.

Attention
The number of activities can be configured and loaded using the Load Values While Active option while CEE is
"Active" only if the value has been increased.
Load Values While Active fails if the NUMACT parameter value on the Project view is lesser than the
NUMACT parameter value in the loaded CEE.
For more information about the NUMACT parameter, refer to the “Activities Configuration” on page 109.

To load a Master recipe


1 From the Control Builder Project tree, select the Master Recipe.
2 In the Control Builder tool bar, click Execution Environment Assignment icon.
The Execution Environment Assignment dialog box appears.
3 Select the appropriate Master Recipe from the Available Modules list.
4 Select the CEE from the Assign To list.
5 Click Assign.
6 Click Close.
The Master Recipe is assigned to the CEE.
7 From the Control Builder Project tree, select the Master Recipe and click .
The Master Recipe is loaded to the selected CEE.

85
4 BUILDING A MASTER RECIPE

86 www.honeywell.com
5 Unit Configuration, Passing, and Acquisition

About unit acquisition


EBM supports a functionally complete set of operations that can be used for configuring, acquiring, passing,
and releasing units. The units needed for the entire batch can be selected at the top level recipe, prior to the start
of the batch. The top level recipe passes the units to the lower layers. You have the option to configure the
recipes to acquire all units needed for the entire batch up front by the top level recipe, or acquire the units at
each layer when they are needed.
A unit acquisition mechanism is needed in order to handle multiple recipes sharing the same unit. Unit
acquisition happens based on how the Unit acquisition is configured in the Master Recipe. The following are the
different methods through which unit configuration can be performed.
• Drag and drop of a unit into the Context Pane and manually select the units to be acquired from the Unit
Selection tab
• Write a STEP output expression
• Select "Acquire On Behalf (ACQONBEHALF)" option from the Recipe Settings tab
• Manually select the units during runtime

Attention
If two units of the same Unit class need to be selected at the same time by a Control Recipe, two unit selections must
be configured with the same Unit class.

The unit can be passed from a parent recipe layer to a child recipe layer. For more information about overview
of unit passing mechanism, refer to the “Building a Master Recipe” on page 53.
For more information about configuring the unit passing parameters, refer to the “Common ways of adding
different recipe layers in a Master Recipe” on page 65 and the “Alternate ways of adding different recipe layers
in a Master Recipe” on page 72.

Related topics
“Unit configuration using drag and drop method” on page 88
“Unit configuration from Unit Selection tab” on page 90
“Unit configuration using a STEP output” on page 97
“About "Acquire On Behalf (ACQONBEHALF)" option” on page 100
“Configuring unit acquisition using ACQONBEHALF parameter” on page 102
“Unit selection and acquisition during runtime” on page 103
“About releasing resources” on page 105
“Releasing a resource using STEP output” on page 107

87
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.1 Unit configuration using drag and drop method


A simplest way of configuring a unit, is by dragging and dropping a Unit class from the library view to the
Context Pane of the Master Recipe. This method is used to configure the Unit class used by the Master Recipe.
Using this method, multiple units may be configured. However, additional units are not automatically
configured for unit acquisition. The additional units needs to be manually configured for unit acquisition.

To configure a unit using drag and drop method


1 From Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 From the library view, select and drag the appropriate Unit class into the Context Pane of the Master
Recipe.
If the Master Recipe is configured as a "Procedure" or "General CBR" type, a confirmation message appears
to set the selected Unit class as the primary unit.
If the Master Recipe is configured as a "Unit Procedure" or "Unit Operation" type, the first unit is
automatically configured as the primary unit.
3 Click Yes to set the selected Unit class as the primary unit. Or, click No to add the Unit class as UNIT(n)
depending on the number of units available in the Context Pane..
The Unit class appears in the Context Pane.
The unit selection is automatically configured in the Unit Selection tab. The following figure depicts the
automatic configuration of the unit.

4 On the Unit Selection tab, manually select "Yes" on the "Acquire?" column in the table to configure the
unit acquisition for the child units.

88 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

Tip
The child units can be added by modifying the NUMUNITS parameter value. To configure the child units, refer
to the “Configuring a unit using the Unit Selection tab”.
In addition, you can also use any of the methods described in the “Unit Configuration, Passing, and
Acquisition” on page 87.

5 Click OK.
6 Click Save.

Next steps
Refer to the “Loading a Master Recipe” on page 85.

89
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.2 Unit configuration from Unit Selection tab


This is an alternate option to configure the units.
Unit Selection tab is available in the Master Recipe configuration form. The parameters on the tab are
automatically configured as each Unit class/UCM is dragged from the Project view or the library view into the
Context Pane. This tab is used to select the Unit class and whether the units need to be acquired during recipe
execution. Unless specified explicitly, the units need to be selected at runtime for recipe execution.
If a unit is selected during recipe configuration, the recipe becomes instance-based recipe. To configure a Class-
based recipe, the Unit class needs to be selected during recipe configuration.
The following figure illustrates the Unit Selection tab.

Figure 25: Unit Selection tab

The following fields are available in the Unit Selection tab for configuring the units.
• Number of Units (NUMUNITS): Configures the number of units for a Master Recipe.
• A table contains the following columns.
– Index: Displays the index of the unit selection to be used to configure unit passing, unit selection, and
unit acquisition. It is used to reference the parameters of the unit.
– Unit Class: Configures the Unit class by selecting the Unit class from the Point Selection window.
– Name: Configures the name to be displayed to the Operator in the Activity display. By default, the Unit
class name appears.
– Unit: Selects Unit instance for the Control Recipe to execute against at runtime. This can be modified by
the Operator at runtime.

90 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

– Acquire?: Configures the acquire option for each unit in each row. If the Acquire? is configured as
"Yes," the unit is acquired based on the recipe layer. Based on the recipe layer, the unit acquisition occurs
as follows:
– If the recipe runs in the top layer, the unit is acquired.
– If the recipe runs in the child layer, the unit is acquired if the unit is not acquired by its parent.

5.2.1 Guidelines and considerations for unit configuration from Unit Selection tab
You must adhere to the following guidelines and understand the considerations for configuring a unit from the
Unit Selection tab.
• The Unit Selection tab may be used to configure the units for the Master Recipe.

Attention
If a unit is configured to be acquired and if it is not selected before starting the batch then the recipe does not run.
It is the control engineer's responsibility to prompt the operator to select the unit through interactive instructions.
• In the Unit Class column, when you select a Unit class or Unit instance, by default, the Name column
obtains the Unit class name or the instance name unless you type a different name.
• You can copy an existing row to an empty row. The unit details are copied to the empty destination and a
warning message appears; prompting you to name the unit. When you accept the warning message, the
Name column of the new row is renamed. Hence, duplicate value is avoided.
• In the Context Pane, if you delete a unit from the middle, the unit in the middle row of the Unit Selection
tab is removed if the unit and its parameters are not referenced.
For example, consider that there are three units associated with the Master Recipe. In this scenario, if you
delete the middle unit, the values of the middle row is removed if the unit and its parameters are not
referenced.
• If you delete the unit from the Context Pane of the Master Recipe chart, the last row is removed in the Unit
Selection tab if the unit and its parameters are not referenced.
• If you delete a primary unit from the Context Pane of the Master Recipe chart, the first row in the Unit
Selection tab is retained without data.
• If you delete a unit of the Unit Selection tab, an error appears if the unit is in use and is not removed from
the form. But if the unit and its parameters are not referenced, the data is removed.
• If you delete the unit at the middle row in the form, if the unit and its parameters are not referenced, the data
is removed.
• Multiple row copying and removal is not supported in Master Recipe form.
• A row can be copied on an existing row to overwrite unit configuration. An error message appears on
overwrite if the selected unit is already in use.
• If you decrease the value of the NUMUNITS parameter from the form, units from end rows onwards are
removed if they are not referenced.
• If you increase the value of the NUMUNITS parameter from the form, new rows are added at the end. New
row can also be added by right-clicking a row and select Append Row. However, the Insert Rows option is
not available in the Unit Selection tab. Though the rows can be appended using the Append Row option,
the newly added rows cannot be configured unless the NUMUNITS parameter is configured.
• If you decrease the value of the NUMUNITS parameter and the present Unit classes are used from the end
row(s) onwards, an error message appears. For example, two Unit classes are present in the list and you
decrease the value in the NUMUNITS box from two to one when last Unit classes is in use, the following
error message is displayed.

91
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.2.2 Unit configuration using the Unit Selection tab


Unit configuration can be performed using the Unit Selection tab of the Master Recipe configuration form.
In this scenario, the unit acquisition happens only when the Control Recipe is in "Starting" state.

Prerequisites
• Master Recipes (of type Procedure, Unit Procedure, Operation, and General CBR) must exist.
• Unit class must exist in the library.

To configure a unit using the Unit Selection tab


1 Right-click the Master Recipe and click Module Properties.
The Master Recipe configuration form opens.
2 Click the Unit Selection tab to configure a unit to the Master Recipe.
The following figure displays the Unit Selection tab.

92 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

3 Configure the Number of Units (NUMUNITS) parameter.


The rows are added in the table according to the NUMUNITS parameter.
The maximum limit of NUMUNITS parameter is 50.
4 Click Browse on the Unit Class column.

93
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

The Point Selection window opens. A list of Unit classes available in the library appears.

5 Select a Unit class from the list.


6 Click OK.
The selected Unit class appears in the row. By default, the Unit class name appears in the Name column. An
error message appears if you type a duplicate name in the Name column.

94 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

7 Click Browse on the Unit column.


The Point Selection window opens. A list of Unit instances instantiated from the Unit class is displayed.

8 (Optional) Select a Unit instance from the list.


An error message appears when you enter a unit manually and if the unit is not the instance of the Unit class.
9 Click OK.
10 Select Yes on the Acquire? column to acquire the unit during recipe execution.

95
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

11 Click OK.

Attention
Although the default unit may be selected using the Unit Selection tab during the Master Recipe configuration,
you can modify the unit selection at runtime.

Next steps
Refer to the “Loading a Master Recipe” on page 85.

96 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.3 Unit configuration using a STEP output


When you want to use a STEP output to acquire a unit during recipe execution, you have to perform the
following:
• write an expression to select the unit using UNITNUM (of the Master Recipe) and NUM (of the Unit
instance) parameters.
• write an expression to acquire a unit using UNITACQFL[x] (of the Master Recipe) parameter, where x
denotes the unit number.
In this scenario, the unit is acquired after a recipe starts its execution.

Note
If Common devices are configured in a different cluster, SCM step output cannot be used to acquire/release the
common device using DSA.

To release the resource using the STEP output, refer to the “Releasing a resource using STEP output” on
page 107.

Prerequisites
• Master Recipe configured with Unit class exists.
• Verify the unit selection has not been acquired by a higher level recipe to avoid unit acquisition deadlock.
Before acquiring the unit, ensure the following:
• The unit has been selected.
• Programmatically select and acquire the unit.
• Select the unit using the formula parameter from the parent if the unit is being acquired when it is
configured for intercluster peer-to-peer communication.

To select a unit by writing an expression using UNITNUM[x] and NUM parameters


1 From Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 From the Context Pane, drag the STEP block into the Master Recipe chart.
The STEP block appears in the Master Recipe chart.
3 Click Add in the STEP block.
The empty row is added to the STEP block.
4 Double-click the empty row in the STEP block.
The STEP block configuration form appears.
5 On the Out.#1 tab, click Points.
The Point Selection window appears.
6 Select the Master Recipe and the associated UNITNUM[x] parameter from the list.
7 Click OK.
The selected Master Recipe and the parameter appear in the Output Expression box.
8 Assign the NUM parameter of the unit to be acquired.

97
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

Attention
In order to select the Unit instance for the Master Recipe, assign the NUM parameter of the specific Unit instance,
as illustrated in the figure (04Y_4_YOGURT.UNITNUM[1]:=04F1_UNIT.NUM).
If you assign the NUM parameter of the Unit instance that is not configured for the Master Recipe or associated
with the Unit class, no configuration error is reported. However, an error message appears during the STEP
execution.

9 Click OK.
10 Save the changes in the Master Recipe chart and close the chart.
The configured unit is selected when the STEP is executed. Using this method, a unit can be selected at each
layer.

To acquire a unit by writing an expression using UNITACQFL[x] parameter


1 From Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 From the Context Pane, drag the STEP block into the Master Recipe chart.
The STEP block appears in the Master Recipe chart.
3 Click Add in the STEP block.
The empty row is added to the STEP block.
4 On the Out.#1 tab, click Points.
The Point Selection window appears.
5 Select the Master Recipe and the associated UNITACQFL[x] parameter from the list.
6 Click OK.
The selected Master Recipe and the parameter appear in the Output Expression box.

98 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

7 Assign the number 1 to the expression.

The UNIT(n) denotes the number of units associated with the Master Recipe. For example, if the UNIT(n) is
UNIT(2) then it denotes that there are two units associated with the Master Recipe and it is the second unit
of the Master Recipe.
8 Click OK.
9 Save the changes in the Master Recipe chart and close the chart.
The configured unit is acquired when the STEP is executed for the Control Recipe.

Attention
Without selecting the unit using the STEP output, the units can also be selected when the Operator selects the unit
during recipe execution and the unit can be acquired using the STEP output.

Next steps
Refer to the “Loading a Master Recipe” on page 85.
For detailed information about configuring the STEP output for releasing the resource, refer to the “Releasing a
resource using STEP output” on page 107.

99
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.4 About "Acquire On Behalf (ACQONBEHALF)" option


"Acquire On Behalf (ACQONBEHALF)" option is configured for a Master Recipe or SCM to indicate the
mechanism for resource acquisition. Resource acquisition can be done in one of the following scenarios.

• on behalf of the running object (self): Resources acquired using this option are available only for self.
• on behalf of a top level parent: Resources acquired using this option are available for self and child recipes.
The resources can be units such as child RCMs/SCMs and Common Devices.
By default, for a recipe, resources are acquired by self. However, if one Master Recipe is driving other Master
Recipes and you want to use the same unit for multiple recipes, you can configure ACQONBEHALF as
"Parent" for the child recipes. The "Acquire On Behalf (ACQONBEHALF)" option is available in the Recipe
Settings tab of the Master Recipe configuration form.

Figure 26: Recipe Settings tab

The "Acquire On Behalf" configuration does not affect the acquisition of child Master Recipes/SCMs, if the
invoking Phase block is enabled with the following parameters.
• ACQUIREOPT
• EXECUTEOPT
• TERMSTATEOPT
• RELEASEOPT
In such a scenario, the child Master Recipes/SCMs are always acquired by the Control Recipe containing the
Phase block that invokes the Master Recipe/SCM.

100 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

In the SCM, the "Acquire On Behalf" configuration is only applicable when the PEERALGOPT parameter is
configured as "Auto." In addition, Alias table configuration must be done in the SCM to acquire Common
Devices.
RCM does not support "Acquire On Behalf (ACQONBEHALF)" parameter.
"Acquire On Behalf (ACQONBEHALF)" parameter is supported only for recipes within the same cluster.
The "Acquire On Behalf" configuration has no effect on top level Control Recipe or SCM. In such a scenario,
self-unit acquisition occurs regardless of the ACQONBEHALF configuration.
This unit information is updated in the parent Control Recipe unit selection.
By default, the unit is selected and acquired by the parent and is not changed by the child recipe.
If the unit is selected and acquired on behalf of parent by the child recipe, the child cannot automatically release
the acquisition of the unit. This is because, the child is not the owner of the unit. If the acquisition is not
released, the parent has no knowledge of the selected unit and is the acquisition owner (itself) of the unit. If the
parent does not manually release the unit through recipe logic, the units are released automatically when the
parent transitions to terminal state.
If a unit was selected by the child, but was not acquired by the child on transition to terminal state of the child,
the parent has knowledge of the selected unit and that there is no acquisition owner of the unit.
If a unit was selected by the child and the unit is the primary unit of the parent, the Parent Asset of the Parent is
modified to be Parent Asset of the selected Unit.

Acquisition of a primary unit must only be performed by a child using "Acquire On Behalf" parameter.

Attention
It is not recommended to perform the primary acquisition of more than one layer in a layered recipe hierarchy.
For example, a primary unit of a Unit Procedure must only be acquired by a direct child (Operation). This behavior is
not enforced by configuration, but if it is not followed, the Procedure Analyst Equipment Model would be incorrect.

101
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.5 Configuring unit acquisition using ACQONBEHALF parameter


A Procedure invokes a Unit Procedure, and a Unit Procedure invokes an Operation. In this scenario, the Unit
Procedure and the Operation both acquire on behalf of parent. The objects acquired by the Unit Procedure and
the Operation are owned by the Procedure.
The Common Devices acquired by the SCM/Phase are owned by the Procedure if the SCM/Phase is configured
with ACQONBEHALF parameter as "Parent." Therefore, a Procedure can drive the objects/Common Devices
configured in a recipe at any level using the ACQONBEHALF parameter.
In this scenario, the unit acquisition happens only when the Control Recipe is in "Starting" state.

Prerequisites
• All layers (Procedure, Unit Procedure, Operation, Phase/SCM) must exist.
• Necessary Phase blocks configured in each layer to drive the child must exist.
• If the child is an SCM, Common Device configured with the SCM must exist.

To configure unit acquisition using the ACQONBEHALF parameter at all child recipe layers
1 Right-click the Master Recipe and click Module Properties.
The Master Recipe configuration form opens.
2 On the Recipe Settings tab, configure the Acquire On Behalf (ACQONBEHALF) parameter as "Self" or
"Parent."
3 On the Recipe Settings tab, observe that the In Normal Termination (RLSRESNORM) parameter is
disabled and the In Abnormal Termination (RLSRESABNORM) parameter is enabled, by default. If the
child layer is an SCM, on the Other Settings tab, observe that the In Normal Termination
(RLSRESNORM) parameter is disabled and the In Abnormal Termination (RLSRESABNORM)
parameter is enabled, by default.
4 Click OK.
5 Click Save and close the Master Recipe chart.

To configure unit acquisition at the parent recipe layer


1 Right-click the Master Recipe and click Module Properties.
The Master Recipe configuration form opens.
2 On the Phase Settings tab of the Phase block that is configured in the parent Master Recipes/RCMs/SCMs,
disable the Release Equipment After Execution (RELEASEOPT) parameter.
3 Click OK.
4 Click Save and close the Master Recipe chart.

Next steps
Refer to the “Loading a Master Recipe” on page 85.

102 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.6 Unit selection and acquisition during runtime


Although you can select the units during Master Recipe configuration, the unit selection can be modified during
the Control Recipe creation. However, the unit acquisition happens when the Control Recipe is in "Starting" or
"Running"states depending on the unit acquisition configuration.
In this scenario, the unit selection happens before the Control Recipe is started.

Prerequisites
Activity has been created.

To select and acquire a unit during runtime


1 From the Activity Summary Display, select the activity, and then click the Activity Detail Pane.
The Activity Detail Pane appears.

2 Click the Unit Selection tab.


3 In the New Value column, select the unit from the list.

103
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

4 Click Apply.
The selected unit is updated to the Control Recipe Value column.
5 Select the activity and click Start to create the Control Recipe.
The Control Recipe execution starts and acquires the unit during the "Starting" state.

104 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.7 About releasing resources

Releasing the resources using Control Recipe

Control Recipes are removed when the Control Recipe transitions to TERMINAL state. Therefore, the Control
Recipe releases any acquired resources (Units/Common Devices/ChildRCM/SCM/Control Recipe) when it
transitions to TERMINAL state. However, the Control Recipe does not release any resources that were acquired
on behalf of parent. Units acquired on behalf of the Control Recipe by its child recipes, are released.
By default, for Master Recipes, the Normal Release resource (RLSRESNORM) parameter is set to "FALSE"
and the Abnormal Release resource (RLSRESABNORM) is set to "TRUE."
When Normal Release resource (RLSRESNORM) and Abnormal Release resource (RLSRESABNORM)
parameters are enabled for a Master Recipe, the Control Recipe releases the resources (Common Devices/
ChildRCM/SCM/Control Recipe) owned on behalf of the parent or self.

Attention
Units acquired by a parent and passed to the child Control Recipe through unit passing mechanism cannot be released.

If a unit was selected and acquired on behalf of parent by the child, the child cannot automatically release the
unit, since the child is not the owner of the unit. The child can release the unit based on "Release Resources
Options" as follows:
• If the unit is not released (RLSRESNORM is FALSE), the parent has knowledge of the selected unit and
will be the owner of the unit.
• If the parent does not manually release the unit, the release occurs when the parent transitions to terminal
state.
For example, UnitProc1 invokes Oper1. Oper1 selects and acquires a unit on behalf of UnitProc1. On
termination of Oper1, the selection and acquisition information is returned to UnitProc1 through unit passing
mechanism. The unit is now acquired and owned by UnitProc1. Hence, the unit is released only when
UnitProc1 terminates.
When a resource is acquired on behalf of parent, the resource can only be released by the owner of the resource.
For example, consider that a resource is acquired by a Control Recipe/SCM and needs to be released by a
different Control Recipe/RCM/SCM. In this scenario, it is the responsibility of the Control Recipe or SCM logic
to release the unit. In addition, the acquirer for both objects is a Control Recipe that is a common parent for both
objects.
Example: Resource is Common Device
The flow of unit acquisition and release is explained.
PROCEDURE
UNITPROCEDURE1 acquires on behalf of Parent (PROCEDURE) and starts OPERATION1.
OPERATION1 acquires on behalf of parent (PROCEDURE) and starts SCM1.
SCM1 acquires COMMONDEVICE1 on behalf of parent (PROCEDURE) and completes.
OPERATION1 completes.
UNITPROCEDURE1 starts OPERATION2.
OPERATION2 acquires on behalf of parent (PROCEDURE) and starts SCM2.
SCM2 uses COMMMONDEVICE1 and releases (on behalf of PROCEDURE).
In this case, PROCEDURE does not know that COMMMONDEVICE1 was acquired on its behalf. Therefore,
the lower levels in the recipe layer need to take care of releasing the resources manually.
Example: Resource is SCM
The flow of unit acquisition and release is explained.

105
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

PROCEDURE
• UNITPROCEDURE1 (ACQUIRE ON BEHALF OF PARENT) : UNITPROCEDURE1 acquires
OPERATION1, but does not release OPERATION1 (owned by PROCEDURE)
• UNITPROCEDURE2 (ACQUIRE ON BEHALF OF PARENT) : OPERATION1 (this can be run by
UNITPROCEDURE2, because when it attempts to acquire and is successful because acquire for
PROCEDURE who already has acquired it.)
Abort handler for UNITPROCEDURE2 (and UNITPROCEDURE1) must be cleaned up. A STEP output
can be stored to the Phase block (RELFL) to release the resource. In this case, PROCEDURE does not know
that OPERATION1 was acquired on its behalf. Therefore, the lower levels in the recipe layer need to take
care of abnormal termination manually. If UNITPROCEDURE2 (or some other RCM) does not release
OPERATION1, it remains acquired; there is no RCM that can automatically release it.
If the ACQONBEHALF parameter is set to "Parent,"
• The units that are owned by the Control Recipe are released when the Control Recipe completes.
• The Control Recipe releases the units that are acquired after the execution of a child of Control Recipe/
SCM.
• The Control Recipe releases the resources that are acquired by a Control Recipe/SCM on behalf of parent
after the execution.

Releasing the resources using an RCM/SCM


When Normal Release resource (RLSRESNORM) and Abnormal Release resource (RLSRESABNORM)
parameters are enabled for an RCM/SCM, the resources owned by the RCM/SCM on behalf of the parent or self
are released.
By default, for RCMs/SCMs, the Normal Release resource (RLSRESNORM) parameter is set to "TRUE" and
the Abnormal Release resource (RLSRESABNORM) is set to "TRUE."

Attention
It is recommended that the engineer must set the RLSRESNORM parameter to "FALSE" when the ACQONBEHALF
parameter is set to "Parent."
UCM acquired by an RCM is released on termination of the RCM regardless of the normal or abnormal release
resource parameters.

Example
PROCEDURE
UNITPROCEDURE1 (ACQUIRE ON BEHALF OF PARENT): UNITPROCEDURE1 acquires OPERATION1
(ACQUIRE ON BEHALF OF PARENT).
OPERATION1 acquires an SCM (ACQUIRE ON BEHALF OF PARENT)
SCM acquires a Common Device (ACQUIRE ON BEHALF OF PARENT)
When the SCM reaches terminal state, the Common Device is released automatically.
If Normal Termination if "OFF," a STEP output R_IEC is required for releasing the resource.
In this case, PROCEDURE does not know that a Common Device was acquired on its behalf. Therefore, the
lower levels in the recipe layer need to take care of releasing the resources manually.

106 www.honeywell.com
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

5.8 Releasing a resource using STEP output


It is recommended to release a resource using STEP output if the resource has been acquired using STEP
output.

To release a resource by writing an expression using UNITRELFL[x] parameter


1 From Project view, double-click the Master Recipe.
The Master Recipe chart view opens.
2 From the Context Pane, drag the STEP block into the Master Recipe chart.
The STEP block appears in the Master Recipe chart.
3 Click Add in the STEP block.
The empty row is added to the STEP block.
4 On the Out.#1 tab, click Points.
The Point Selection window appears.
5 Select the Master Recipe and the associated UNITRELFL[x] parameter from the list.
6 Click OK.
The selected Master Recipe and the parameter appear in the Output Expression box.
7 Assign the number 1 to the expression.

8 Click OK.
9 Save the changes in the Master Recipe chart and close the chart.
The configured unit is released when the STEP is executed for the Control Recipe.

107
5 UNIT CONFIGURATION, PASSING, AND ACQUISITION

108 www.honeywell.com
6 Activities Configuration

Activity is a mechanism used to “frame” a series of actions that occurs in a plant within a defined beginning and
end time period. An activity is capable of representing everything from a complex series of actions, (for
example, a batch that makes products across multiple units), to a limited set of actions focused on a specific
task, (for example, adding material to a mixer). Activities are associated with Recipes/SCMs, and may be built
from a series of Parent and Child Activities dependent on the level of modularity and complexity of the actions
being framed. An Activity is also meant to represent the entire lifecycle of a Batch (Pre-Execution, Execution,
and Post-Execution), or a series of actions (such as Batch created, Batch started, Batch executed, Batch
completed, and Batch removed). An Activity is equivalent to a Batch in batch applications, or a Procedure in
Procedural Operations.
Activities can be created and accessed from Activity displays. Operators interact with the activities from
Station.
To support activities for Recipes/SCMs, the CEE where the Recipes/SCMs run must be configured to enable
activities. In addition, minimal configuration may be required for each Recipe/SCM.
Refer to the following for more information.
1. For information about overview of activities, refer to the Batch Overview and Planning Guide.
2. For information about activity-related configuration, refer to the “Configure Batch Preferences” on page 15.
3. For information on creating a batch or procedure, refer to the Operator's Guide.

About CEE configuration for activities


The following parameters must be configured from the CEE configuration form to enable activities.
• Number of Activities (NUMACT): Determines the maximum number of activities that can be created in
the CEE. It is limited to 1000 and the default value is 0.

Attention
– The number of activities can be increased without inactivating the CEE. However, if you increase the number
of activities, you need to perform a "Load Values While Active" on the CEE to apply the change in runtime.
– The time taken to load the CEE varies based on the number of activities (NUMACT parameter) configured in
the CEE block.
• Max init state period for Activity (MAXACTPERIOD): Speeds up the initialization of activities that are
associated with SCMs and recipes with slow execution periods. The value of this parameter applies to all
manually created activities in the CEE. This parameter can be used to reduce the time between when an
activity is created and when an Operator or API can interact with the activity.
Example: If the MAXACTPERIOD is 500 ms and the PERIOD of the associated RCM/SCM is 2 seconds,
then the activity executes with a period of 500 ms during the initialization state. Once the initialization is
complete, the activity aligns its execution period with the associated RCM/SCM. The value of this
parameter applies to all the manually-created activities in the associated CEE.

About Recipe/SCM configuration for activities


Recipes/SCMs can be configured as a batch or procedure type of Activities. In addition, activities for RCM/
SCMs can be configured to be created automatically and/or by an operator or a program.

109
6 ACTIVITIES CONFIGURATION

The following parameters must be configured from the Recipe/SCM configuration form for activities.
• Type of the Activity (ACTTYPE): Determines the type of activity associated with the Recipe/SCM.
The default value for Recipes is "Batch" and the default value for SCMs is "Procedure."

Attention
Batch ID is mandatory for batches. It is optional for ProcOps. Since Batch ID is optional for ProcOps, be cautious
about using Batch ID to filter alarms or events; some of the alarms or events might be missed.
• Activity Creation Option (ACTOPT): Determines how the activity can be created. It can be configured as
follows:
– None: A child activity can be created for Child Master Recipes/Child RCMs. But, a child activity cannot
be created for SCMs.
– Auto: An activity is automatically created when the RCM/SCM is commanded to "Start" and the activity
retains the current formula/report values of the RCM/SCM. Note that this option is applicable only for
RCMs/SCMs. Activities for Master Recipes cannot be created automatically.
– User or App: Recipe/SCM is displayed in the Activity List and the activity can be created manually by
an operator or through an application.
– All: An Activity can be created "Automatically" or "User or App." This option is not applicable for
Master Recipes.
The default value of ACTOPT for newly created Master Recipes is "User or App" and the default value for
RCMs and SCMs is "None."

Attention
If you are migrating from pre-R410 to R410 pre-R102 to R120 release, the default value of ACTOPT for RCMs
and SCMs is "None."

Related topics
“Configuring activities for CEE” on page 111
“Configuring activities for RCM/SCM” on page 112
“Configuring activities for a Master Recipe” on page 82

110 www.honeywell.com
6 ACTIVITIES CONFIGURATION

6.1 Configuring activities for CEE

To configure CEE for activities


1 Right-click the CEE of the activity-supported controller and select Module Properties.
The CEE configuration form appears.
2 Click the Batch tab.
3 In the Batch Events Memory box, select the batch events settings.
4 In the Number of Activities (NUMACT) box, enter a number for this parameter to configure number of
activities that can be created in this CEE.

Attention
• You cannot create an activity without specifying the number of activities in the CEE.
• The number of activities configured does not affect the number of Experion license points available to you.

5 Select the maximum initialization state period for the activity from the Max init state period for Activity
(MAXACTPERIOD) list.
6 Click OK.
7 Load the CEE, and the configured number of Activities are loaded.

Attention
Load Values While Active fails if the NUMACT parameter value on the Project view is lesser than the
NUMACT parameter value in the loaded CEE.
For more information about the "Load Values While Active" option, refer to the Control Building User's Guide.

The status of the configured parameters can be viewed from the Statistics tab of the CEE configuration
form.

111
6 ACTIVITIES CONFIGURATION

6.2 Configuring activities for RCM/SCM

To configure RCM/SCM for activities


1 Right-click RCM/SCM and click Module Properties.
The RCM/SCM block properties window opens.
2 Click the Activities tab.
3 In the Configuration box, select the Type of the Activity (ACTTYPE).
• If the activity is a batch activity, select Batch.
• If the activity is a procedural activity, select Procedure.
4 Select the Activity Creation Option (ACTOPT) from the list.
5 Click OK.
6 Assign the RCM/SCM to the CEE and load the activity-supported controller.

Attention
• Recipes/SCMs cannot be inactivated if there are Activities created from them.
• The ACTTYPE parameter can be modified using the "Load Values While Active" option when the RCM/SCM
is in "Active" state. For more information about the "Load Values While Active" option, refer to the Control
Building User's Guide.

112 www.honeywell.com
6 ACTIVITIES CONFIGURATION

6.3 Configuring activities for a Master Recipe


After you have configured a Master Recipe, it is recommended to configure the activity creation options for the
Master Recipe.

Prerequisites
Master Recipe must exist.

To configure activities for a Master Recipe


1 Right-click the Master Recipe and click Module Properties.
The Master Recipe configuration form opens.
2 Click the Activities tab to configure the activities for a Master Recipe.
3 Configure the Type of Activity (ACTTYPE) as "Batch" or "Procedure" based on your requirement.
The Batch Summary Display lists all the activities created as "Batch" and the Procedure Summary Display
lists all the activities created as "Procedure." The Activity Summary Display lists both type of activities. The
Create UI display also lists activities based on the value of this parameter.
4 Configure the Activity Creation option (ACTOPT) as "User or App" or "None" based on your
requirement.
• If you configure the ACTOPT as "User or App," a Control Recipe can be created from the Master
Recipe.
An activity is associated to a Master Recipe as soon as a Control Recipe is created for it. The Master
Recipe appears in the Create Batch UI list and an activity is created.
• If you configure the ACTOPT as "None," the Master Recipe cannot be created as a top level activity,
and does not appear in the Create Batch UI as an option during activity creation. If the Master Recipe is
executed as a child, then the child activity is created.
5 Click OK.

113
6 ACTIVITIES CONFIGURATION

114 www.honeywell.com
7 Intercluster peer-to-peer communication

Intercluster peer-to-peer function enables communication between batch layers distributed in two or more
Experion clusters. This function allows a parent recipe in one cluster to control its child recipes in another
cluster. The clusters participating in intercluster peer-to-peer communication may be in the same or different
FTE communities.
The following figures illustrate how intercluster peer-to-peer communication can be configured between recipe
layers:

115
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

Figure 27: Intercluster peer-to-peer examples

Intercluster peer-to-peer communication enables you to create multiple child recipes for a parent recipe across
clusters.
Restrictions applicable for a CEE peer-to-peer communication in a cluster are also applicable for intercluster
peer-to-peer communication. For more information about the CEE peer-to-peer communication, refer to the
Control Builder Components Theory.
Intercluster peer-to-peer is supported between a C300 Controller and other controllers such as C300, C200E,
and ACE. Similarly, intercluster peer-to-peer is supported between a C200E/ACE Controller and other
controllers such as C300, C200E, and ACE. However, intercluster peer-to-peer is not supported between the
controllers that are in simulation environment. The controllers participating in intercluster peer-to-peer can
reside in different clusters in the same or different FTE community.

116 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

To configure intercluster peer-to-peer, ensure that you have a user account belonging to the Local Engineers
group.

Related topics
“Terms used in intercluster peer-to-peer communication” on page 118
“Intercluster peer-to-peer communication example configuration” on page 119
“Task sequence for implementing intercluster peer-to-peer communication” on page 121
“Guidelines for configuring intercluster peer-to-peer communication” on page 123
“Configuring Phase block type mastership” on page 124
“About cluster block” on page 126
“About proxy blocks” on page 128
“Validation of proxy blocks” on page 133
“Export and import support for a proxy block ” on page 135
“Bulk build support for a proxy tag” on page 136
“About building recipes through intercluster peer-to-peer communication” on page 137

117
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.1 Terms used in intercluster peer-to-peer communication


The following table defines Honeywell-specific terms that are associated with intercluster peer-to-peer
communication.
Terms Description
Origin cluster In a multi-layered recipe, the origin cluster is the cluster that contains the
top level recipe.
Local cluster A local cluster enables you to create proxy recipe and the related
components for the recipe running in the origin cluster.
Cluster block A tag block that represents a local cluster for establishing intercluster
peer-to-peer communication.
Cluster ID The unique identifier configured (either automatically or manually) for
each cluster involved in intercluster peer-to-peer.
Intercluster peer-to-peer Communication between two controllers in separate Experion clusters.
Implies that the configuration for each controller involved is in a separate
ERDB.
Proxy node A node that is contained by a cluster block and acts as a proxy for
configuring peer references to a controller in the origin cluster.
Proxy origin node A tag that is contained by a cluster block and acts as a proxy for
configuring peer references to a controller in the origin cluster.
Proxy origin tag A proxy origin tag refers to the tag in the origin cluster. The proxy tag
refers to the proxy origin tag.
Proxy tag A tag that is contained by a proxy node and acts as a proxy for
configuring peer references to a controller in another cluster.
Proxy FTEB An FTEB block that is contained by a cluster block and represents a non-
redundant or a primary FTEB block in the origin cluster.
Proxy origin FTEB A proxy origin FTEB refers to the platform block in the origin cluster.
The proxy FTEB refers to the proxy origin FTEB.

118 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.2 Intercluster peer-to-peer communication example configuration


The following example explains how to configure intercluster peer-to-peer communication between the same
FTE community.

Figure 28: Intercluster peer-to-peer communication in same FTE

In this example, SERVER5 is the local cluster, SERVER2 is origin cluster, and they are in same FTE
community. In the origin cluster SERVER2, top level recipes MASTERRECIP_1123, RCM_01, and SCM_01
reside in the C300 Controller C300_213. In the local cluster SERVER5, a cluster block SERVER2 is configured
with a proxy node C300_213 including the proxy tags MASTERRECIP_1123, RCM_01, and SCM_01. In the
local cluster SERVER5, C300 Controller C300_1 is configured with the Master Recipes MR1_PRNT and
MR1_PRNT to execute the child recipes MASTERRECIP_1123, RCM_01, and SCM_01.
The following example explains how to configure intercluster peer-to-peer communication between the clusters
in different FTE communities.

119
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

Figure 29: Intercluster peer-to-peer communication in different FTE

The configuration to establish intercluster peer-to-peer communication between clusters in the same or different
FTE community is identical. However, router configuration must be performed separately if the clusters are in
different FTE communities.

Attention
For more information about the router configuration, hardware requirement, and network topology for intercluster
peer-to-peer communication, refer to the Fault Tolerant Ethernet (FTE) Best Practices document.

In this example, SERVER5 is the local cluster, SERVER2 is origin cluster, and they are in different FTE
communities. In the origin cluster SERVER2, top level recipes MASTERRECIP_1123, RCM_01, and SCM_01
reside in the C300 Controller C300_213. In the local cluster SERVER5, a cluster block SERVER2 is configured
with a proxy node C300_213 including the proxy tags MASTERRECIP_1123, RCM_01, and SCM_01. In the
local cluster SERVER5, C300 Controller C300_1 is configured with the Master Recipes MR1_PRNT and
MR1_PRNT to execute the child recipes MASTERRECIP_1123, RCM_01, and SCM_01.
For detailed steps to configure intercluster peer-to-peer communication, refer to “Intercluster peer-to-peer
communication configuration example” on page 137.

120 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.3 Task sequence for implementing intercluster peer-to-peer


communication
The following table lists the general tasks to be performed and the reference topics for implementing intercluster
peer-to-peer communication.
Task Reference
Understand the intercluster peer-to-peer communication “Terms used in intercluster peer-to-peer communication” on
terms. page 118
Choose clusters across which you need to establish “Batch Preferences tab” on page 16
intercluster peer-to-peer communication.
Assign cluster IDs.
Choose controllers that need to participate in intercluster “Manage intercluster peer-to-peer tab” on page 19
peer-to-peer communication.
“Example for configuring intercluster peer-to-peer
Assign a communication range for each of the controllers communication from Batch Preferences” on page 21
that participate in intercluster peer-to-peer communication.
Configure Phase block type mastership to use the origin “Configuring Phase block type mastership” on page 124
cluster Phase block type across clusters participating in
intercluster peer-to-peer communication. Note
“Batch Preferences tab” on page 16
Note
Phase block type mastership needs to be configured
if the mastership is not assigned from Batch
Preferences.

The following table lists the tasks to be performed in the origin cluster and the reference topics for
implementing intercluster peer-to-peer communication.
Tasks to be performed on the origin cluster Reference
Build the top level recipes. Based on your requirement, refer to “Building a Master
Recipe” on page 53 or "Creating an RCM instance" topic in
the Sequential Control User's Guide.
Export the Phase block type of the top level recipe. “Import/Export of a Phase block type with parameter type
Public enumeration” on page 166
Validate the top level recipe. “Validating a Master Recipe” on page 83

The following table lists the tasks to be performed in the local cluster and the reference topics for implementing
intercluster peer-to-peer communication.
Tasks to be performed on the local cluster Reference
Configure instances of cluster, controller, Recipes as per the 1. “Configuring a cluster block” on page 126
origin cluster. 2. “Configuring a proxy node” on page 130
1. Configure cluster block (for cluster) 3. “Import/Export of a Phase block type with parameter
2. Configure proxy node (for controllers) type Public enumeration” on page 166
3. Import the Phase block type of the Recipes residing in 4. “Configuring a proxy tag” on page 131
the origin cluster
4. Configure proxy tags (for Recipes/SCMs)
Build a Master Recipe and then add the proxy tag to the “Building a Master Recipe” on page 53
Master Recipe chart.
Validate cluster block. “Validating a Cluster block” on page 133
Validate proxy node. “Validating a proxy node” on page 134
Validate proxy tag. “Validating a proxy tag block” on page 134

121
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

Tasks to be performed on the local cluster Reference


Validate proxy FTEB block. “Validating a proxy FTEB block” on page 133
Assign and load the Master Recipe to the controller.

122 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.4 Guidelines for configuring intercluster peer-to-peer communication


You must adhere to the following guidelines while configuring intercluster peer-to-peer communication.
• If the clusters participating in intercluster peer-to-peer are in a different FTE community, you need to
establish communication between the clusters through a router.

Attention
For more information about the router configuration, hardware requirement, and network topology for intercluster
peer-to-peer communication, refer to the Fault Tolerant Ethernet (FTE) Best Practices document.
• The IP addresses of the clusters participating in intercluster peer-to-peer communication must be configured
in the server hosts file.
For more information about configuring host file, refer to the Server and Client Configuration Guide.
• The proxy node name and the proxy tag name must be unique in local and origin clusters.
• Server DSA must be correctly configured on each cluster, which is participating in intercluster peer-to-peer
communication, to ensure that the displays function accurately in the Station. All servers in these clusters
must be configured to subscribe to both alarm and data. For more information about configuring DSA and
subscribing to alarms and data, refer to the "Configuring Distributed System Architecture" section of the
Server and Client Configuration Guide.
• The IP addresses of the CEEs participating in intercluster peer-to-peer must be unique across clusters.

123
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.5 Configuring Phase block type mastership


You must maintain a Phase block type mastership, which enables to use the same phase block type by recipes or
proxy blocks across clusters.
Phase block type mastership determines the master cluster of a Phase block type and only a master cluster can
modify the Phase block type. You can import the Phase block type to another cluster, which has a different
cluster ID from the Phase block type master, the destination cluster becomes the slave cluster. You cannot
modify the imported Phase block type. For example, consider that the cluster (SERVER1) is auto-assigned with
the mastership option and configured as master cluster of a Phase block type (AGIT). In this scenario, when you
export the Phase block type (AGIT) and import it to another cluster (SERVER2), the cluster (SERVER2)
becomes the slave cluster. You cannot manipulate the Phase block type in the cluster (SERVER2).

Prerequisites
• Clusters are configured.
• Unique cluster ID is assigned to the clusters.

To configure Phase block mastership


1 In Control Builder, click Tools > Batch Preferences.
2 In the dialog box that appears, on the Batch Preferences tab, select Auto Assign Mastership check box.
3 Click OK.
4 In the Control Builder library, double-click a Phase block and then click the Fixed tab.
The cluster ID appears in the Default Value column.
The cluster is defined as the master cluster since the cluster ID of the Phase block is identical to the cluster
ID of the cluster block. The master cluster can modify the Phase block.
5 Export the Phase block to a selected location and then import it to another cluster. The destination cluster
becomes the slave cluster and the Phase block is added as read-only in the master cluster.
The cluster that has a different cluster ID from the Phase block master is defined as the slave cluster. A slave
cluster cannot modify the Phase block it has imported.
If you want to modify the Phase block type, modify it in the master cluster before exporting the Phase block
type from the master cluster. You can import the modified Phase block type to the slave cluster using the
overwrite option.

Attention
You cannot modify the Phase block that is configured as mastership during run time. If you try to do so, an error
message appears.

7.5.1 Changing the Phase block mastership in the current master cluster
You can change the Phase block mastership using one of the following methods.
• Changing the Phase block mastership from Phase block PDE
• Changing the Phase block mastership from the Batch Preferences tab

To change the Phase block mastership from Phase block PDE


1 In the Control Builder library, double-click the Phase block type.
The Phase block PDE appears with the Formula Parameters tab selected by default.
2 Click the Fixed tab and then replace the existing cluster ID with a new cluster ID in the Default Value
column.
3 Close the Phase block PDE.

124 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

The cluster that has identical cluster ID becomes the Phase block master and the current master cluster is
configured as slave cluster.
4 Perform the following steps in the current master cluster.
a Click Tools> Batch Preferences.
b On the Batch Preferences tab, clear the Automatically Assign Mastership check box.

To change the Phase block mastership from the Batch Preferences tab
• Perform the steps in the current slave cluster.
a Click Tools> Batch Preferences.
b On the Batch Preferences tab, select the Automatically Assign Mastership check box.
c Click OK to save the changes.
d In the Control Builder library , double-click the Phase block type.
The Phase block PDE appears with the Formula Parameters tab selected by default.
e Click the Fixed tab and replace the existing cluster ID in the Default Value column with the cluster ID
of the current slave cluster.
f Close the Phase block PDE.
The current slave cluster is configured as the new Phase block master.

125
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.6 About cluster block


A tag block that represents a local cluster for establishing intercluster peer-to-peer communication.
Origin cluster
In a multi-layered recipe, the origin cluster is the cluster that contains the top level recipe.
You can configure the proxy blocks in the origin cluster in the following order.
1. Origin cluster block
2. Proxy origin FTEB
3. Proxy origin node
4. Proxy origin tag
The proxy origin FTEB, proxy origin node, and proxy origin tag must exist in the Control Builder Project view
of the origin cluster. If these proxy blocks are not configured in the origin cluster, proxy blocks do not appear in
the origin cluster.

7.6.1 Guidelines for configuring the cluster block


You must adhere to the following guidelines for configuring a new cluster block name or renaming the existing
cluster block.
• The clusters must be on the same Experion release.
• The cluster block name must be valid.
– If the server is redundant, the cluster name would be the server name minus A or B.
– If the server is non-redundant, the cluster name would be the server name.
• The server name and the IP address of the cluster with which the communication is being established must
be available to the cluster which is initiating the communication.
• Cluster block name must be the host name of the origin ERDB.
• The cluster IDs and the cluster names must be unique across clusters.
• The communication number (Comm#) must be unique for all clusters.

7.6.2 Configuring a cluster block


You must configure a cluster block to represent the origin cluster with which the local cluster needs to establish
a communication. For example, a cluster block SERVER5 created in the server SERVER4 represents the origin
cluster.

To configure a cluster block


1 Click File > New > Cluster in the Control Builder.
The cluster configuration form appears. The Tag Name box contains a default cluster name.
2 Type a name for the cluster in the Tag Name box.
3 Type a cluster name in the Cluster Name box.
4 Click OK.
The cluster block appears in the Control Builder Project view if the entered details are correct.
The cluster block appears in the Control Builder Project view with an invalid block indicator if any of the
prerequisites are not met.

126 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

Attention
• After the cluster block is added to the Project view, the following menus are disabled for the cluster block.
– Rename
– Copy
– Load
– Load With Contents
– Load Server Points
– Delete Server Points
– Upload Server Config. Data
– Resolve Substitute Connections
• It is recommended that before deleting a cluster block, you must first delete proxy nodes, proxy tags, and
proxy FTEBs contained within the cluster block.

7.6.3 Sharing a public enumeration set across clusters


A public enumeration set can be shared across clusters using the Export/Import functionality. Whenever there is
a change in the Phase block type/public enumeration set in origin cluster, ensure that the Phase block type/
public enumeration set changes are reflected in the local cluster. If the Phase block type/public enumeration set
changes are not reflected in the local cluster, an error message appears during import.
When a public enumeration set is used in a Phase block type in the origin cluster, the Phase block type and the
public enumeration set must be exported together from the origin cluster. The exported Phase block type and the
public enumeration set must be imported together to the local cluster. If the Phase block type and the public
enumeration set are not imported together to the local cluster, an error message appears during import.

7.6.4 Selecting units across clusters


When a recipe is running across clusters, the units can be selected only through unit passing mechanism. When
the parent recipe and the child recipe are running in different clusters, the parent recipe can only pass the unit to
the child recipe. To pass the unit to the child recipe, you have to configure the formula parameter of the Phase
block type in the parent recipe.
For more information about the unit passing mechanism, refer to the “Unit Configuration, Passing, and
Acquisition” on page 87.

127
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.7 About proxy blocks


A proxy block is a tag block that represents the origin block in the local cluster.
Prior to configuring a proxy block, ensure that the respective origin block must exist in the origin cluster. For
example, if you configure a proxy node, ensure that the controller is present in the origin cluster.
To enable intercluster peer-to-peer, you must create the following proxy blocks.
• Proxy origin node: A proxy origin node refers to the platform block in the origin cluster. The proxy node
refers to the proxy origin node.
• Proxy origin tag: A proxy origin tag refers to the tag in the origin cluster. The proxy tag refers to the proxy
origin tag.
• Proxy origin FTEB: A proxy origin FTEB refers to the platform block in the origin cluster. The proxy
FTEB refers to the proxy origin FTEB.
• Proxy node: A node that is contained by a cluster block and acts as a proxy for configuring peer references
to a controller in another cluster.
• Proxy tag: A tag that is contained by a proxy node and acts as a proxy for configuring peer references to a
controller in another cluster.
• Proxy FTEB: An FTEB block that is contained by a cluster block and represents a non-redundant or a
primary FTEB block in the origin cluster.
You must create the proxy blocks in the local cluster to configure intercluster peer-to-peer communication
between the local cluster and the origin cluster.

Note
If you make any changes to the proxy origin blocks, you must validate the proxy blocks to ensure that the changes
are reflected in the local cluster.

An example configuration of the proxy blocks across clusters is illustrated in the following figure.

128 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

Figure 30: Proxy blocks configuration in the Control Builder

If you encounter any errors while configuring the proxy blocks, refer to the
• Control Builder Error Code Reference for the respective error codes.
• “Troubleshooting scenarios related to Batch/ProcOps implementation ” on page 193 for the troubleshooting
scenarios.

7.7.1 Configuring a proxy FTEB block


You must configure the proxy FTEB block if the recipes are built and executed under the C200E Controller
across clusters.
An FTEB exists for configuration and handle-to-name resolution of an FTEB block that exists in origin cluster.
It acts as a stand-in (proxy) for establishing intercluster peer-to- peer communication between the origin and the
local clusters. The cluster block contains the proxy FTEB block. The cluster block contains the proxy FTEB
block.
You must configure a proxy FTEB block to represent a non-redundant or primary FTEB block in origin cluster.

Note
Only the primary FTEB can act as a proxy node.

Prerequisites
• Proxy cluster is configured.
• Proxy origin FTEB block is configured in the origin cluster.

129
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

To configure a proxy FTEB


1 In the Control Builder Project view, right-click a cluster block and then click Create Proxy FTEB block.
The proxy FTEB configuration form appears.
2 Click the point picker to select the Tag Name for the proxy FTEB block.
The selected proxy origin FTEB name appears as the proxy FTEB name. In the proxy FTEB configuration
form, observe that the Parent Name and the Cluster Name are automatically assigned, respectively.
3 Click OK.
The proxy FTEB block appears in the Control Builder Project view in the cluster block.
The proxy FTEB block appears in the Control Builder Project view with an invalid block indicator if any of
the prerequisites are not met.

Attention
• The proxy FTEB block must be deleted/renamed/reassigned in the local cluster when the corresponding proxy
origin FTEB is deleted/renamed/reassigned in the origin cluster.
• To delete a proxy FTEB block, right-click the FTEB block and select Delete or press DELETE, respectively.

7.7.2 Configuring a proxy node


You can configure a proxy node to represent a platform block in another cluster containing the proxy origin tag
blocks. You can configure a maximum of 120 proxy nodes in one ERDB.
General QVCS rules apply to the proxy node when the proxy node is in QVCS.

Prerequisites
• Cluster block is configured.
• Proxy origin nodes are configured in another cluster where all the proxy origin tags reside.

To configure a proxy node


1 In the Control Builder Project view, right-click a cluster block and then click Create Proxy Node.
The proxy node configuration form appears. The Tag Name box contains a default proxy node name.
2 Click the point picker .
The Point Selection dialog box appears to select the appropriate node from the nodes available in the origin
cluster.
3 (Optional) In the Tag Name box, type a valid proxy origin node.
4 Click OK.
The selected node is added in the Tag Name box.
The following parameters in the proxy node configuration form are added with auto-populated values.
• IP Address
• Proxy Origin Node type
• Parent Name
• Cluster Name
5 Click OK.
If the proxy origin node is not in the same FTE or if it is in a different FTE community, the proxy node
appears in the Control Builder Project view with an invalid block indicator.

130 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

Attention
After the proxy node is added in the Control Builder Project view, the following menus are disabled for the proxy
node.
• Rename
• Copy
• Load
• Load With Contents
• Load Server Points
• Delete Server Points
• Upload Server Config. Data
• Resolve Substitute Connections

7.7.3 Guidelines for configuring proxy tag


You must adhere to the following guidelines before configuring the proxy tag.
• The proxy origin tag must be Recipe/SCM.
• A valid proxy node for the proxy origin node must exist in the local cluster.
• Proxy tag must be of the same type as the proxy origin tag.
• Proxy origin tag block has to be assigned to a proxy origin node.
• General QVCS rules apply to the proxy tag when the proxy tag is in QVCS.
• Phase block type used by proxy origin tag block must be imported prior to creating proxy tag blocks.

7.7.4 Configuring a proxy tag


You can configure the number of proxy tags to be equivalent to the number of process points that is allowed in
one ERDB.

Prerequisites
• Origin cluster block, proxy origin node, and proxy origin tag must exist.
• Data block of the proxy origin tag must exist in the local cluster.
• Proxy origin tags must be configured and assigned in proxy origin node.

To configure a proxy tag


1 In the Control Builder Project view, right-click the proxy node and then click Create Proxy RCM, Create
Proxy SCM, or Create Proxy CBR.
The proxy tag configuration form appears with a default tag name.
2 Click the point picker .
The Point Selection dialog box appears to select the appropriate tag from tags available in the origin proxy
node.
3 (Optional) In the Tag Name box, type a valid proxy origin tag.
4 Click OK.
If the proxy origin tag is not in the same FTE or if it is in a different FTE community, the proxy tag appears
in the Control Builder Project view with an invalid block indicator.

131
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

Attention
After the proxy tag is added in the Control Builder Project view, the following menus are disabled for the proxy
tag.
• Rename
• Copy
• Load
• Load With Contents
• Load Server Points
• Delete Server Points
• Upload Server Config. Data
• Resolve Substitute Connections

132 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.8 Validation of proxy blocks


All proxy blocks must be validated in the local cluster when there is a modification in the proxy blocks
configured in the origin cluster. The modification to the proxy blocks can be one of the following:
• Deleting/reassigning/renaming of proxy blocks in the origin cluster.
• Deleting/reassigning/renaming of proxy blocks that are under QVCS control.
The proxy blocks can be validated in the following order.
• Cluster block
• Proxy FTEB block
• Proxy node
• Proxy tag
All proxy blocks can be validated at once. For a few validation scenarios, illegal configuration of the proxy
origin blocks are automatically handled. For example, proxy tags configured in an invalid proxy node can be
assigned to a valid proxy node using the auto assignment of proxy tags. However, if multiple proxy tags are
selected for validation, auto assignment of proxy tags to proxy node functionality does not work.
During validation, if there is a mismatch in the configuration of the proxy blocks in the origin and local clusters,
an error message appears. You must take action accordingly.

7.8.1 Validating a Cluster block

Prerequisites
Cluster block is configured.

To validate a Cluster block


1 In the Control Builder Project view, right-click the cluster block and then click Validate Block References.
The Confirm Validation of Block References dialog box appears.
2 Click Continue.
The validation status and the respective warning/error messages are displayed in the Validate Block and
References dialog box.
3 Click Close.
To view the error logs, click View Error Log.

7.8.2 Validating a proxy FTEB block

Prerequisites
• Origin cluster block, proxy origin FTEB, and proxy origin tag must exist.
• Data block of the proxy origin tag must exist in the local cluster.
• Child recipes must be created and assigned in the proxy origin node.

To validate a proxy FTEB block


1 In the Control Builder Project view, right-click the proxy FTEB block and then click Validate Block
References.
The Confirm Validation of Block References dialog box appears.
2 Click Continue.
The validation status and the respective warning/error messages are displayed in the Validate Block and
References dialog box.

133
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

3 Click Close.
To view the error logs, click View Error Log.

7.8.3 Validating a proxy node

Prerequisites
• Origin cluster block, proxy origin node, and proxy origin tag must exist.
• Data block of the proxy origin tag must exist in the local cluster.
• Child recipes must be created and assigned in the proxy origin node.

To validate a proxy node


1 In the Control Builder Project view, right-click the proxy node and then click Validate Block References.
The Confirm Validation of Block References dialog box appears.
2 Click Continue.
The validation status and the respective warning/error messages are displayed in the Validate Block and
References dialog box.
3 Click Close.
To view the error logs, click View Error Log.

7.8.4 Validating a proxy tag block

Prerequisites
• Origin cluster block, proxy origin node, and proxy origin tag must exist.
• Data block of the proxy origin tag must exist in the local cluster.
• Child recipes must be created and assigned in the proxy origin node.

To validate a proxy tag block


1 In the Control Builder Project view, right-click the proxy tag block and then click Validate Block
References.
The Confirm Validation of Block References dialog box appears.
2 Click Continue.
The validation status and the respective warning/error messages are displayed in the Validate Block and
References dialog box.
3 Click Close.
To view the error logs, click View Error Log.

134 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.9 Export and import support for a proxy block


Export and import functionality is supported for all proxy blocks, including the cluster block.

Attention
• If a child proxy block is exported without its associated parent proxy block, the child proxy block is imported
under the Unassigned list in the Control Builder Project view.
For example, if a proxy tag block is imported and its parent block is missing the exported file, the imported proxy
tag blocked is added to the Unassigned list in the Control Builder Project view.
• The Data block associated with the proxy origin tag must be exported and imported before configuring a proxy tag
in the local cluster.

Prerequisites
• Origin cluster block, proxy origin node, and proxy origin tag must exist in the local cluster.
• Imported Data block of the proxy origin tag must exist in the local cluster.
For more information about export and import functionality and export/import procedure, refer to the Control
Building User's Guide.

135
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.10 Bulk build support for a proxy tag


Bulk build operation is supported only for a proxy tag.

Attention
Bulk build is not supported on other proxy blocks such as, Cluster block, proxy nodes, or proxy FTEB blocks.

Prerequisites
• Cluster block, proxy node, and proxy tag are configured.
• Proxy tag is assigned to a proxy node.
For more information about performing the Bulk Build related operations, refer to the Control Building User's
Guide.

136 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

7.11 About building recipes through intercluster peer-to-peer


communication
Both instance-based recipe and Class-based recipe can be configured and monitored through intercluster peer-
to-peer communication across clusters. Before you configure Recipes in the local cluster, you must ensure that
the following:
1. Cluster block
2. Proxy node
3. Proxy tag (for example, RCM, SCM, and Master recipe.)
4. Phase block type associated with the Recipes must be exported from the origin cluster and imported to the
local cluster.
5. Public enumeration (if there is any) associated with the Phase block type must be exported from the origin
cluster and imported together to the local cluster.

Attention
Unit passing across clusters is not permitted.

7.11.1 Intercluster peer-to-peer communication configuration example


This section explains about how to build a recipe in intercluster peer-to-peer communication.
For example, consider that there are two clusters (SERVER5 and SERVER2) participating in intercluster peer-
to-peer communication. In this scenario, assume that the cluster SERVER2 is an origin cluster and the cluster
SERVER5 is the local cluster. The controllers C300_1 and C300_213 are configured in the respective clusters.

Figure 31: Class-based recipe building in intercluster peer-to-peer communication

Prerequisites
• Two servers in same FTE community or different FTE communities.

137
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

• User account belonging to the Local Engineers group.


• Host files must be in synchronization.
• Cluster IDs must be assigned to the clusters in both origin and local clusters. For more information about
assigning the cluster IDs, refer to the “Batch Preferences tab” on page 16.
• Ensure that the communication range for each controller is defined in the Batch Preferences menu. For
more information about defining the communication range, refer to the “Manage intercluster peer-to-peer
tab” on page 19.
• Ensure that controllers are configured and loaded in both clusters.

To build a recipe in the origin cluster


1 Export the Phase block type associated with the recipe.
2 Build the Master Recipe.
For building the Master Recipe, refer to the “Building a Master Recipe” on page 53.

To build a recipe in the local cluster and establish intercluster peer-to-peer communication
1 Click File > New > Cluster in the Control Builder.
The cluster configuration form appears. The Tag Name box contains a default cluster name.
2 Type a name for the cluster as "SERVER2" in the Tag Name box.
3 Type the cluster name as "SERVER2" in the Cluster Name box.
4 Click OK.
5 In the Control Builder Project view, right-click a cluster block and then click Create Proxy Node.
The proxy node configuration form appears. The Tag Name box contains a default proxy node name.
6 Click the point picker .
The Point Selection dialog box appears to select the proxy node name as "C300_213" from the nodes
available in the origin proxy cluster.
7 (Optional) In the Tag Name box, type the proxy node name as "C300_213."
8 Click OK.
9 Import the Phase block type exported from the origin cluster.
10 In the Control Builder Project view, right-click the proxy node and then click Create Proxy CBR.
The proxy tag configuration form appears with a default tag name.
11 Click the point picker .
The Point Selection dialog box appears to select the proxy tag name as "MASTERRECIP_1123" from the
tags available in the origin proxy node.
12 (Optional) In the Tag Name box, type the proxy tag name as "MASTERRECIP_1123."
13 Click File> New > Master Recipe > Procedure.
The Master Recipe configuration form appears.
14 On the Parameters tab, click browse icon to select the Phase block type imported from the origin cluster
(SERVER2).
15 On the Main tab, type the Master Recipe name as "MASTERRECIP_1123" in the Name box.
16 Click OK.
The Master Recipe configuration form is closed.
17 From the Control Builder Project view, drag the proxy tag ("MASTERRECIP_1123") to the Master Recipe
("MR1_PRNT") chart.
18 Close the Master Recipe ("MR1_PRNT") chart.
19 Assign and load the Master Recipe ("MR1_PRNT") to the controller C300_1.
20 Create activity to run the Recipes.

138 www.honeywell.com
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

For more information about the activity creation, refer to the "Creating a batch or procedure" topic in the
Operator's Guide.

139
7 INTERCLUSTER PEER-TO-PEER COMMUNICATION

140 www.honeywell.com
8 Maintain equipment model

This chapter explains about the changes made to the equipment model while the batches are executing against
the unit instances instantiated from the unit class.

Related topics
“Restrictions for modifying enumeration sets” on page 142
“Change parent support for a Phase block/Data block” on page 143
“Maintaining Phase types” on page 144
“Support for change parent by function from Master Recipe chart” on page 145
“Maintaining a Map block type” on page 147
“Maintaining a Unit class” on page 150
“Import/export of Class-based recipes” on page 159
“Batch Search Scenarios” on page 177

141
8 MAINTAIN EQUIPMENT MODEL

8.1 Restrictions for modifying enumeration sets


The following modifications cannot be made if an enumeration set is referenced/used in any block type/UDT or
any other strategies.
• The existing enumeration set (private and public) cannot be deleted.
• The enumeration set ordinal values cannot be modified.
However, a new enumeration set member (enumeration string and enumeration ordinal) can be added to an
existing enumeration set, even if the enumeration set is used in any block type/UDT or any other strategies.
Enumeration string can be modified even if the enumeration set is used in any block type/UDT or any other
strategies.
A public enumeration holder cannot be deleted from the library view if it contains configured enumeration sets.

142 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

8.2 Change parent support for a Phase block/Data block


Change parent functionality can be performed when a different set of parameter values need to be configured to
the Phase block/Data block. Therefore, the Phase block/Data block inherits new parameter values from the new
parent.
Change parent functionality enables you to change the parent of a Phase block/Data block. During the change
parent operation, the source parameter value is copied to the target parameter value.
While changing the parent support for an enumeration set, you must consider the following:
• Source and target blocks have identical parameter names but different enumeration set names. Default
enumeration value exists in the target block.
• Source and target blocks have identical parameter names but different enumeration set names. Default
enumeration value does not exist in the target block.
• Source and target blocks have identical parameter names. Source data type is enumeration and target data
type is integer.
• Source and target blocks have identical parameter names. Source data type is integer and target data type is
enumeration.
The following table describes the behavior for the enumeration data type.
Source Data type Target Data type Expected behavior
INT ENUM The target parameter is set to the value
of the enumeration set whose ordinal
value matches with the integer value of
the source parameter.
FLOAT ENUM The target parameter is set to the value
of the enumeration set whose ordinal
value matches with the float value of
the source parameter.
ENUM ENUM The target parameter is set to the value
of the enumeration set.
STRING ENUM The target parameter is set to the value
of the enumeration set whose
enumeration value matches with the
string value of the source.
BOOLEAN ENUM The target parameter is set to the
ordinal value of the enumeration value.
ENUM INT The target parameter is set to the
ordinal value of the enumeration value.
ENUM FLOAT The target parameter is set to the
ordinal value of the enumeration value.
ENUM STRING The target parameter is set to the string
value of the enumeration value.
ENUM BOOLEAN The target parameter is set to true if the
source parameter has ordinal value
greater than zero.
The target parameter is set to false if
the source parameter has the ordinal
value zero.

For information about using change parent functionality on different blocks, refer to the Control Building User's
Guide and Sequential Control User's Guide.

143
8 MAINTAIN EQUIPMENT MODEL

8.3 Maintaining Phase types


The parameters that are already defined in the Phase block type can be deleted or modified only when the
Recipes are not loaded. However, the formula and report parameter references associated with the added
function is NULL and must be manually entered in the Phase block type.

Prerequisites
• A Phase block type to be configured for Recipes exists in the library.
• Ensure that the Master Recipe configured with the Phase block type is not loaded.

To maintain a Phase block type


1 In the Control Builder or Recipe Builder library, double-click the Phase block type.
The Phase block Parameter Definition Editor (PDE) window opens.
2 In the Formula Parameters tab, modify/delete the existing parameter values.
New formula parameters can also be added to the Phase block type. However, the values of the newly added
parameters in the Recipes must be manually modified.
3 In the Report Parameters tab, modify/delete the existing parameter values.
New report parameters can also be added to the Phase block type. However, the values of the newly added
parameters in the Recipes must be manually modified.
4 In the Enumerations tab, modify/delete the existing enumeration values.
New enumerations can also be added to the Phase block type.
5 Click Save on the tool bar.
The Phase block type configuration is saved.

Next steps
For information about configuring the Phase block type, refer to the Sequential Control User's Guide.

144 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

8.4 Support for change parent by function from Master Recipe chart
A function used by a Master Recipe can be changed to a new function using "Change parent by function"
feature.
"Change parent by function" feature is supported from the Master Recipe chart. Using this feature, a parent of a
Phase block referring to a Map block function (referred as the source function) can be changed to another
function (referred as the target function) in one of the Map blocks contained by a Unit class/UCM.
In the Master Recipe chart, Change parent by function operation is available only for Phase blocks. Change
parent operation displays an error if a Phase block is not configured to use a function.
The Resource Name Reference (X_NAMEREF) parameter of the Phase block is auto-configured to the newly
selected function. However, unit configuration remains unchanged. Formula and report parameters need to be
manually configured.

Prerequisites
• Map block type is configured with functions.
• Map block is contained by a Unit class/UCM.
• Master Recipe exists and uses a Unit class/UCM.
• Master recipe must not be loaded.

To change parent by function from Master Recipe chart


1 From the Control Builder Project view, double-click a Master Recipe.
The Master Recipe chart opens.
2 Right-click a Phase block containing a function reference in the chart and select Change Parent by
Function.
The Change Parent By Function wizard appears.
The Selected Function list contains the current Map block function name that is configured for the selected
block.
3 From the Available Functions list, select the one or more instances and then click Select > to move all the
listed instances to the Selected Functions list.
You can also click Select All >> to move all the listed instances to the Selected Functions list.
4 From the Select New Parent list, select a new function as a target function.
The Select New Parent contains the functions available for change parent operation within the Unit class/
UCM.
The source function name and target function name must be different. If you select identical name as source
function and target function, an error message appears.
5 Click Next to navigate to the Validation page.
6 Click Validate to initiate the validation of the change parent operation.
The validation of one selected function occurs at a time. Any error during validation is displayed in the
Change Parent Results box. Only functions that completes validation without errors and no warning are
automatically selected and are allowed for change parent operation.
7 Click Next to navigate to the Change Parent page when the validation succeeds.
8 Click Change Parent to initiate the change parent operation of the selected function.
After you perform change parent operation by function, you can observe the following configuration of a
Phase block.
• The Phase block X_NAMEREF parameter is set to UNIT[X].MAP.'TO'FCN.
• The Unit passing parameter configuration remains same.
• The new parameters has default configuration.

145
8 MAINTAIN EQUIPMENT MODEL

9 Click DONE when the change parent operation is completed.

146 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

8.5 Maintaining a Map block type


A Map block type associated with function types, block references, and parameters can be modified or deleted.
You can maintain a Map block type by adding, modifying, or deleting a parameter reference or a basic block
reference or a function reference to the Map block type.

Attention
You can modify an existing Map block function, can delete a function, and can add a new function reference through
the Functions tab of the Map block PDE.

For adding or modifying a reference, refer to


• “Configuring functions” on page 31.
• “Configuring a block reference” on page 34.
• “Configuring a parameter reference” on page 37.

Prerequisites
• Map block type exists.
• Map block type is defined with function references, block references, and/or parameter references.

To modify a Map block type


1 In the Control Builder library, double-click a Map block type.
The Map block type's PDE appears.
2 Select a row that contains a function.
3 Modify a Map block type function using one of the following methods.
a Double-click the Function Name or Function Description column and change the name or description
for an existing function.
b In the Phase Type column, click the arrow .
A list of existing Phase types appears from the selected library. The existing Phase type can be changed
by selecting a different Phase type from the list.
Note: If you want to modify a block type by changing an existing block with a new block name, the new
block name must exist in the Control Builder library.
4 Close the PDE.
A confirmation message appears.
5 Click Yes.

Attention
If you try to modify a function name or a phase type of a Map block that is already in use in an Unit class/UCM,
an error message appears. However, you can modify the function description even when the Map Block type is
used in any of the Unit class/UCM.

To delete a Map block function


1 In a Map block PDE, select a row that contains the Map block function you want to delete.
2 Right-click a function and click Delete from the shortcut menu or press DELETE from the keyboard.
The selected Map block function is deleted from the PDE.
3 Close the PDE.
A confirmation message appears.
4 Click YES.

147
8 MAINTAIN EQUIPMENT MODEL

Attention
If you try to modify a Map block function that is in use, an error message appears.

You can select Save As or Save As Renew to save the changes as another copy of Map block.

8.5.1 Guidelines for modifying a reference


Guidelines for modifying a parameter reference or a basic block reference or a function reference is similar to
creating a parameter reference or a basic block reference or a function reference. For more information about
the guidelines, refer to
• “Common guidelines for creating functions/block references/parameter references” on page 29
• “Guidelines for creating block references” on page 34
• “Guidelines for creating functions” on page 31
• “Guidelines for creating parameter references” on page 37
You must adhere to the following guidelines in addition to the guidelines described in the topic “Guidelines for
creating parameter references” on page 37 while modifying the parameter reference.
• If you want to modify or delete a parameter reference name, ensure that the Map block is not contained by a
Unit class/UCM. Otherwise, an error message appears while saving the modifications to the Map block type.
However, you can select Save As or Save As Renew to save the changes as another copy of a Map block
type.
• You can also copy one parameter reference from one row to any other empty row and can change the order.
• The following changes can be made while modifying an existing parameter reference type by changing the
parameter type.
– If the reference type is configured as BOOLEAN, you can configure the parameter as UINT8.
– If the reference type is configured as ENUM, you can configure the parameter as INT32 and vice versa.
– If the reference type is configured as FLOAT64, you can configure the parameter as one of the following:
– FLOAT64
– INT16
– UINT16
– INT32
– INT8
– UINT8
– UNIT32
– INT64
– UNIT64
– If the reference type is configured as INT32, you can configure the parameter as one of the following:
– INT16
– UINT16
– INT32
– INT8
– UINT8
– UNIT32
– If the reference type is configured as BOOLEAN, you can configure the parameter as UINT8 and
BOOLEAN.

148 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

You must adhere to the following guidelines in addition to the guidelines described in the topic “Guidelines for
creating block references” on page 34 while modifying the block reference.
• If you want to modify a block reference name, ensure that the Map block is not contained by a Unit class/
UCM. Otherwise, an error message appears while saving the modifications to the Map block type. However,
you can select Save As or Save As Renew to save the changes as another copy of a Map block type.
• If you want to modify a block reference name, ensure that the Map block is not loaded. Otherwise, an error
message appears while saving the modifications to the Map block type.

149
8 MAINTAIN EQUIPMENT MODEL

8.6 Maintaining a Unit class


You can copy, delete, and import a Unit class. You can also perform a change parent operation on a Unit class.
When you modify a Unit class, the modification propagates to the derivation children of a Unit class.
Modification must adhere to the existing UDT rules.

Prerequisites
• Unit class/UCM must exist.
• Unit instances are instantiated from a Unit class.

To copy a Unit class


1 In the Control Builder or Recipe Builder library, right-click a Unit class/UCM, and select Copy.
The Name New Function Block(s) dialog box appears. The Destination column contains a default name
for the copied UDT or Unit class.

As illustrated, a copy of Unit class 04Y_MIXER_C is created, and by default a new block
04Y_MIXER_C_1 appears in the Destination block.
You can change the default name of the new block as appropriate or can retain it.
2 Click Finish.
A copy of the existing Unit class or UDT is created with a new designated name. In the Control Builder
library it appears in the same Library Containment view as the source Unit class. The copied UDT/Unit class
contains all the components of its source.

150 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

As illustrated, 04Y_MIXER_C is created as a copied Unit class of 04Y_MIXER_C_1.

To delete a Unit class or a Unit instance


1 In the Control Builder or Recipe Builder library, right-click a Unit class or a Unit instance and select Delete.
A confirmation window appears.
2 Click Delete Selected Object(s).
The selected Unit class or Unit instance deletes from the library.

Attention
A Unit class or an UCM cannot be deleted if at least one loaded Master Recipe is configured with that Unit class
or with a derivation child of the Unit class. If you try to delete the Unit class that is configured with a loaded
Master Recipe, an error occurs.

8.6.1 Support for changing parent of a contained basic block of a Unit class/UCM
In a Unit class/UCM, when a contained basic block is selected for a block type change, the parent of the
contained block can be modified. If there are any errors in selecting the parent, the errors can only be detected
during the validation phase of the change parent operation and the operation is unsuccessful.
Change parent on a contained basic block of a Unit class/UCM can be performed only when
• no Master Recipes can be affected by the modification made in the Unit class/UCM.
• or, Master Recipes that can be affected by the modification made in the Unit class/UCM are not loaded.

Note
Change parent cannot be performed on a contained block of a Unit class or UCM when at least one loaded Master
Recipe is affected by Unit Class or UCM.

For detailed steps on changing parent, refer to “Support for change parent from a Unit class/UCM” on page 156

151
8 MAINTAIN EQUIPMENT MODEL

8.6.2 Deleting a contained block of a Unit class

Prerequisites
A contained block saved to the ERDB cannot be deleted from a Unit class or a UCM in the following scenarios.
• A Master Recipe that is configured with a Unit class, which has references to the modified Unit class or
UCM.
• A Master Recipe that is configured with a Unit class, which has references to a derivation child of the
modified Unit class.
If any error occurs during the deletion of Unit class, you can perform a browser search to find all the master
recipes, which have reference to the Unit class as the modification can have an impact on the referred master
recipes. For more information about performing a search, refer to “Searching for batch scenarios” on page 181

To delete a contained block of a Unit class


1 In the Control Builder or Recipe Builder library, right-click a block added to a Unit class chart.
2 Click Delete.
The block is removed from the Unit class chart.
3 If you want to save the delete, click Save or close the Unit class chart and click Yes in the confirmation
dialog box.
The contained block is deleted from the Unit class.

8.6.3 Support for change parent by function from Unit class/UCM


"Change Parent by Function" from Unit class/UCM allows change parent of a function defined in the Map
block type (referred as the source function) to another function (referred as the target function) in one of the
Map blocks contained by a Unit class/UCM.
When you add a new function to a Map block contained by a Unit class and the Unit class is used by a Master
Recipe, the new function becomes a replacement for an existing function. The new function uses a different
Phase type from the existing function.
For example, consider that you are performing "Change Parent by Function" for AGITATE function with
XFER_IN function configured in a Map block type (04Y_FERMENTOR_MAP) of a Unit class
(04_FERMENTOR_C). In this scenario, AGITATE function is called as source function and XFER_IN is called
as target function. The parent of AGITATE function is changed to the parent of XFER_IN function.
When this operation is invoked on a Unit class, the following actions are taken.
1. All Phase blocks in the library and project view referring to source function are identified.
2. Change parent is performed using target function.
When this operation is invoked on a Unit instance, the following actions are taken.
1. All Master recipes that use the Unit instance and Phase blocks referring to the source function.
2. Change parent is performed using target function.
After the change parent operation, Phase blocks are automatically configured to a newly selected function. The
Resource Name Reference (X_NAMEREF) parameter of the Phase block is auto-configured to the newly
selected function. However, unit configuration remains unchanged. Formula and report parameters need to be
manually configured.

Prerequisites
• Map block type exists.
• Unit class/UCM exists and contains a Map block.

152 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

• Master recipe uses the Unit class/UCM.

To change parent by function from Unit class/UCM


1 In the Control Builder library, right-click a Unit class/UCM and select Change Parent by Function.
The Change Parent By Function wizard appears.

2 From the Select Function list, click the function you want to use as a source function.
The Select Function list contains all the functions available in the Unit class/UCM. A Unit class/UCM can
have one or more Map blocks with functions configured in it.
All the instances of the selected function are listed in the Available Functions column.
3 From the Available Functions list, select the one or more instances and then click Select > to move all the
listed instances to the Selected Functions list.
You can also click Select All >> to move all the listed instances to the Selected Functions list.

153
8 MAINTAIN EQUIPMENT MODEL

4 From the Select New Parent list, select a new function as a target function.
The Select New Parent contains the functions available for change parent operation within the Unit class/
UCM.
The source function name and target function name must be different. If you select identical name as source
function and target function, an error message appears.

5 Click Next to navigate to the Validation page.

154 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

6 Click Validate to initiate the validation of the change parent operation.


The validation of one selected function occurs at a time. Any error during validation is displayed in the
Change Parent Results box. Only functions that completes validation without errors and no warning are
automatically selected and are allowed for change parent operation.

7 In the Select column, select or clear the check boxes to select the functions to change parent. You cannot
select a function that failed validation.
8 Click Next to navigate to the Change Parent page when the validation succeeds.

155
8 MAINTAIN EQUIPMENT MODEL

9 Click Change Parent to initiate the change parent operation of the selected function.
After you perform change parent operation by function, you can observe the following configuration of a
Phase block.
• The Phase block X_NAMEREF parameter is set to UNIT[X].MAP.'TO'FCN.
• The Unit passing parameter configuration remains same.
• The new parameters has default configuration.
10 Click DONE when the change parent operation is completed.

8.6.4 Support for change parent from a Unit class/UCM


Change parent feature is supported from the Unit class/UCM library view. Using this feature, a parent of a Unit
class/UCM can be changed to another parent of a Unit class/UCM present in the library view.

Prerequisites
• Unit class/UCM and its instances are not used in Master Recipes.
• Map block is configured in the Unit class/UCM.
• Map block is not used in Master Recipes.

To change parent from Unit class/UCM


1 In the Control Builder library, right-click a Unit class/UCM and select Change Parent.
The Change Parent wizard appears.

2 (Optional) Click the Child of Selected item to change the parent of the unit instances.
3 From the Available Functions list, select the one or more instances and then click Select > to move all the
listed instances to the Selected Functions list.
You can also click Select All >> to move all the listed instances to the Selected Functions list.

156 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

4 From the Select New Parent list, select a new function as a target function.
The Select New Parent contains the functions available for change parent operation within the Unit class/
UCM.
The source function name and target function name must be different. If you select identical name as source
function and target function, an error message appears.

5 Click Next to navigate to the Validation page.

157
8 MAINTAIN EQUIPMENT MODEL

6 Click Validate to initiate the validation of the change parent operation.


The validation of one selected function occurs at a time. Any error during validation is displayed in the
Change Parent Results box. Only functions that completes validation without errors and no warning are
automatically selected and are allowed for change parent operation.

7 Click Next to navigate to the Change Parent page when the validation succeeds.
8 Click DONE when the change parent operation is completed.

158 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

8.7 Import/export of Class-based recipes


Import and export functionality available in Control Builder is supported for all the components of Class-based
recipes. These include block types, templates, and strategies. Block types include Public enumeration holders,
Phase block types, and Map block types. Templates include Unit classes or UDTs created for Phase block types
or Recipes/SCMs. Strategies include instance of a recipe, SCM, Unit instance, or a Master Recipe. If
configured, Class-based recipe strategies also include intercluster peer-to-peer blocks – cluster, node, and proxy
tag (proxy SCM, proxy RCM, and proxy Master Recipe).
For more information about the guidelines for Import/Export, refer to Control Building User's Guide.

Related topics
“Component dependencies in Import/Export” on page 159
“Export and Import support for enumeration sets” on page 163
“Import/Export of Public enumeration holder blocks” on page 164
“Import/Export of a Phase block type with parameter type Public enumeration” on page 166
“Import/Export of Map block types” on page 168
“Import/Export of Unit classes” on page 170
“Import/Export of proxy strategies” on page 173

8.7.1 Component dependencies in Import/Export


Class-based recipes system components are dependent on one or more of the other components to achieve the
necessary functionality. For example, a Master Recipe using a Unit class or a Master Recipe using a Phase block
as it’s Data block. Such scenarios lead to dependency of components. If a Master recipe is using a Unit class,
the Master Recipe has a dependency on that Unit class. Similarly, if it is using multiple Unit classes, it would
have a dependency on all those Unit classes.
You should know the component dependencies before exporting and importing. To successfully import a
component, it is important to ensure that its dependencies can be resolved during import. This can be achieved
either by importing the dependent components also or by ensuring that dependent components are already
present in the Control Builder before importing the component.
The following illustration depicts a Master Recipe PROD_PROC that is using three Unit classes - PRETREAT,
PROCESS, and DISTRIBUTION. Apart from that, it is also using LIB_PHASE:PHASE_1 as its Data Block.
Hence, the Master Recipe PROD_PROC is dependent on the Unit classes namely - PRETREAT, PROCESS,
DISTRIBUTION, and Phase block type LIB_PHASE:PHASE_1.

159
8 MAINTAIN EQUIPMENT MODEL

Figure 32: An example Master Recipe that is using three Unit classes

Attention
If you export the Master Recipe, Unit instances, and Control Modules, all the dependent library blocks such as Unit
class, Map block types, Phase block type, and Custom blocks are exported. However, if you export only the Unit class,
the Unit class and the Map block types are exported. Therefore, you must manually export the Phase block types and
Custom blocks.

Component dependencies can also be multilevel caused by indirect references of the dependent components. In
the following example, Master Recipe ‘DIST_OP1’ is dependent on the following:
• On Unit class named ‘Distribution’ because it is using it.
• On Map block type ‘LIB_MAP:SET1’ because Unit class ‘DISTRIBUTION’ is having an instance of Map
block ‘LIB_MAP:SET1.’
• On Phase block type ‘LIB_PHASE: PHASE_1’ because Map block ‘LIB_MAP:SET1’ has a function
named FUNCTION1 that has Phase type as ‘LIB_PHASE:PHASE_1’.
• On Public enumeration holder block ‘LIB_PE:PUBLIC1’ because Phase block type
‘LIB_PHASE:FUNCTION1’ has a parameter named F3 and F5 of enumeration type that are using
enumeration sets name #EN1 and #EN2. Enumeration sets #EN1 and #EN2 are defined in Public
enumeration holder block ‘LIB_PE:PUBLIC1’.
You can also use Experion Search utility to find the dependencies of a component. For more information about
search support for batch objects, refer to the topic “Searching for batch scenarios” on page 181.

Attention
Public enumeration sets are not exported automatically. They need to be explicitly exported while exporting a Phase
block type.

The following figure illustrates the export and import of the Master Recipe ‘DIST_OP1’.

160 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

Figure 33: An example for export and import of a Master Recipe

Export of Master Recipe with dependencies


As described previously, the Master Recipe ‘DIST_OP1’ has the following dependencies.
• On Unit class ‘Distribution’
• On Map block type ‘LIB_MAP:SET1’
• On Phase block type ‘LIB_PHASE:PHASE1’
• On Public enumeration holder block ‘LIB_PE:PUBLIC1’
You must export Master Recipe ‘DIST_OP1’ and all its dependencies to successfully import into another server
or import in the same server sometime later. The following are the steps to export Master Recipe ‘DIST_OP1’
along with its dependencies.
1. Choose File > Export or right-click the object and click Export.
The Export dialog box appears.
2. Click Browse and select the directory where you want to save the exported objects.
Note: The directory C:\ProgramData\Honeywell\Experion PKS\Ixport is selected by default.
3. Select ‘DIST_OP1’, ‘Distribution’, ‘LIB_MAP:SET1’, ‘LIB_PHASE:PHASE1’, ‘LIB_PE:PUBLIC1’ and
click Export.
The components selected for export is displayed in the Selected Objects For Export list.

161
8 MAINTAIN EQUIPMENT MODEL

The Exporting Data dialog box appears. The Status column in the Exporting Data dialog box displays the
status of each point. After the Export is complete, the Exporting Data dialog box closes automatically if
there are no errors.

Note
Export Dependencies option does not work at all the level of the Class-based recipe components. For example, the
public enumeration holder block LIB_PE:PUBLIC1 is not manually exported since implicit export of the public
enumeration holder block is not supported. However, the references (can be function, block, and/or parameter) and
the indirect references are exported when you select Export Dependencies check box.

Import Master Recipe with dependencies


Master Recipe ‘DIST_OP1’ has the following dependencies.
• On Unit class ‘Distribution’
• On Map block type ‘LIB_MAP:SET1’
• On Phase block type ‘LIB_PHASE:PHASE1’
• On Public enumeration holder block ‘LIB_PE:PUBLIC1’
To successfully import, you must select the Master Recipe ‘DIST_OP1’ and all its dependencies for import.
Perform the following steps to import Master Recipe ‘DIST_OP1’ along with its dependencies.
1. Choose File > Import.
The Import dialog box appears.
2. Click Browse and select the directory from where you want to import the objects.
3. Select ‘DIST_OP1’, ‘Distribution’, ‘LIB_MAP:SET1’, ‘LIB_PHASE:PHASE1’, ‘LIB_PE:PUBLIC1’ and
click Import.
The components selected for import are displayed in the Selected Objects For Import list.

162 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

Attention
When the Master Recipe is imported without its dependencies, it results in an error and the import operation stops.
If the Master Recipe ‘DIST_OP1’ is not imported along with its dependencies and also if those dependencies do
not exist in the library, a similar error is reported. To resolve this import error, you must re-import the Master
Recipe with all the dependencies or before importing, ensure that all dependencies are available in the library.

The Importing Data dialog box appears. The Status column displays the status of each point. After the
Import is complete, the Importing Data dialog box closes automatically if there are no errors. If any errors
are encountered during Import, the Importing Data dialog box persists until you click Close to quit the
Importing Data dialog box.

8.7.2 Export and Import support for enumeration sets


Export and import functionality is supported for both private and public enumeration sets. However, note that
private enumeration sets are automatically exported and imported with the Phase block types in which they are
defined. Hence, there is no need to manually export or import private enumeration sets.
Public enumeration holder blocks must be specified to be exported and imported with any Phase block type that
references to the public enumeration holder block.

Attention
As a best practice, export all public enumeration holder blocks while exporting a Phase block type. To identify the
Phase block types having references to public enumeration sets configured in public enumeration holder block, use
"Parameter Search" functionality.
For more information about public enumeration search, refer to the “Searching for public enumerations” on page 177.

163
8 MAINTAIN EQUIPMENT MODEL

You must consider the following while importing public enumeration holder block with the Overwrite Existing
Objects option.
• The new public enumeration holder block containing identical enumeration set members and any additional
enumeration set members can be imported.
• The new public enumeration holder block containing different enumeration set members cannot be
imported.

Attention
It is recommended to import the public enumeration holder blocks and their associated Phase block types
simultaneously. Importing of a Phase block type fails if the public enumeration holder blocks are not being imported
or if the public enumeration sets do not exist in the ERDB. To search for the public enumeration sets configured in the
Phase block types, refer to the topic “Searching for public enumerations” on page 177.

If you select the Overwrite Existing Objects option and import a public enumeration holder block having the
same name as an existing public enumeration holder block,

• The new public enumeration holder block may contain new ordinal values for the enumeration value.
• The new public enumeration holder block may contain additional enumeration values.
For more information about export and import functionality, refer to the Control Building User's Guide.

8.7.3 Import/Export of Public enumeration holder blocks


Public enumeration holder blocks can be exported or imported using the Import/Export functionality available
in Control Builder. A public enumeration holder block can be exported or imported independently as it does not
have a dependency on other components. However, the public enumeration sets and the associated Phase block
types must be imported together.

Export of Public enumeration holder block


1 Choose File > Export or right-click the object and click Export.
The Export dialog box appears.
2 Click Browse and select the directory where you want to save the exported objects.

Note
The directory C:\ProgramData\Honeywell\Experion PKS\Ixport is selected by default.

3 Select the Public enumeration holder block to be exported and click Export.
The components selected for export is displayed in the Selected Objects For Export list.

164 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

Public enumeration holder block is exported under new directory named as


‘ENUM_LIBRARY.ENUM_HOLDER’. To import this Public enumeration holder block to another server,
then the folder ‘ENUM_LIBRARY.ENUM_HOLDER’ needs to be copied to that server. After copying the
folder to the another server, you can use Control Builder Import function to import the block.

Import Public enumeration holder block


1 Choose File > Import.
The Import dialog box appears.
2 Click Browse and select the directory from where you want to import the objects.
3 Select Public enumeration holder block, for example ‘ENUM_LIB:ENUM_HOLDER_1’, and click Import.
On successful import, Public enumeration holder block is created in the library.

Import Public enumeration holder block when it already exists in the library
1 Choose File > Import.
The Import dialog box appears.
2 Click Browse and select the directory from where you want to import the objects.
3 Select Public enumeration holder block, for example ‘ENUM_LIB:ENUM_HOLDER_1’.
4 Select Overwrite Existing Objects check box and click Import.
On successful import, Public enumeration holder block overwrites the existing Public enumeration holder
block available in the library.

165
8 MAINTAIN EQUIPMENT MODEL

Attention
Import of public enumeration holder blocks can cause errors if it already exists because of the following reasons.
• Import with overwrite results in deletion of enumeration set that is used in a Phase block type.
• Import with overwrite results in deletion of enumeration value that is used in a Phase block type
• Import with overwrite results in change of enumeration ordinal that is used in a Phase block type
In all these cases an error is reported and the import operation stops.

8.7.4 Import/Export of a Phase block type with parameter type Public enumeration
Phase block types can be exported or imported using the Import/Export functionality available in Control
Builder. A Phase block type can have a dependency on the Public enumeration holder block if the Phase block
type has one or more parameters of type Public enumerations. To successfully import the Phase block type,
either the Public enumeration holder block needs to be imported along with Phase block type or it needs to be
available in the Control Builder library before importing the Phase block type.

Attention
Public enumeration sets are not exported automatically. They need to be explicitly exported while exporting a Phase
block type.

Export of Phase block type with Public enumeration holder


1 Choose File > Export or right-click the object and click Export.
The Export dialog box appears.
2 Click Browse and select the directory where you want to save the exported objects.

Note
The directory C:\ProgramData\Honeywell\Experion PKS\Ixport is selected by default.

3 Select the Phase block ‘PHASE_LIB:PB_BLOCK_1’ and Public enumeration holder block
‘ENUM_LIB:ENUM_HOLDER’ to be exported and click Export.
The components selected for export is displayed in the Selected Objects For Export list.

166 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

Phase block type and Public enumeration holder block is exported under new folders named as
‘PHASE_LIB.PB_BLOCK_1’ and block ‘ENUM_LIB.ENUM_HOLDER’. To import this Phase block type
to another server, then both the folders ‘PHASE_LIB.PB_BLOCK_1’ and
‘ENUM_LIBRARY.ENUM_HOLDER’ needs to be copied to that server. After copying the folder to the
another server, you can use Control Builder Import function to import the block.

Import of Phase block type with Public enumeration holder block


1 Choose File > Import.
The Import dialog box appears.
2 Click Browse and select the directory from where you want to import the objects.
3 Select Phase block type, for example ‘PHASE_LIB:PB_BLOCK_1’ and Public enumeration holder block,
for example ‘ENUM_LIB:ENUM_HOLDER_1’, and click Import.
The components selected for export is displayed in the Selected Objects For Export list.

167
8 MAINTAIN EQUIPMENT MODEL

On successful import, Phase block type and Public enumeration holder block are created in the library.

Attention
When the Phase block type is imported without its dependency, it results in an error and the import operation
stops. If the ‘PHASE_LIB:PB_BLOCK_1’ is not imported along with Public enumeration holder block
‘ENUM_LIB:ENUM_HOLDER’ and also if Public enumeration holder block does not exist in the library, then an
error is reported. To resolve this import error, you must re-import the Phase block with all the dependencies or
before importing ensure that all the dependencies are available in the library.

8.7.5 Import/Export of Map block types


Map block types can be exported or imported using the Import/Export functionality available in Control
Builder. A Map block type can have a dependency on user-defined block types like Phase block types or
Custom Data block types. A Map block type has a dependency on a Phase block type if the Map block type
references it as a type in the definition of a function reference. Similarly, Map block type has a dependency on a
Custom Data block type if a Map block type references it as a type in the definition of a block reference. Also,
the block reference added using a standard block in the Control Builder library does not add a dependency
because it is present by default. For example: block reference to ‘REGCTL:PID’ does not add a dependency.
For a Map block type, dependencies can also be multilevel caused indirectly by dependencies of components on
which it is dependent on other components. For example, if a Map block type depends on a Phase block type
and that in turn uses public enumeration holder block, the Map block type has a dependency on that public
enumeration holder block too.

Export of Map block type


Map block type ‘MAP_LIB:MAP_BLOCK_1’ has the following dependencies.
• On Phase block types ‘PHASE_LIB:PB_BLOCK_1’ and ‘PHASE_LIB:PB_BLOCK_2’
• On Phase block template ‘PB_BLOCK_2T’
• On public enumeration holder block ‘ENUM_LIB:ENUM_HOLDER’. This is a dependency because Phase
block types ‘PHASE_LIB:PB_BLOCK_1’ and ‘PHASE_LIB:PB_BLOCK_2’ use the public enumeration
holder block ‘ENUM_LIB:ENUM_HOLDER’.
Perform the following steps to export the Map block type ‘MAP_LIB:MAP_BLOCK_1 along with its
dependencies.

168 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

1. Choose File > Export or right-click the object and click Export.
The Export dialog box appears.
2. Click Browse and select the directory where you want to save the exported objects.

Note
The directory C:\ProgramData\Honeywell\Experion PKS\Ixport is selected by default.
3. Select PHASE_LIB:PB_BLOCK_1’, ‘PHASE_LIB:PB_BLOCK_2’, ‘PB_BLOCK_2T’,
‘ENUM_LIB:ENUM_HOLDER,’ and Map block type ‘MAP_LIB:MAP_BLOCK_1’ and click Export.
The components selected for export is displayed in the Selected Objects For Export list.

The selected Map block types and the referenced custom block types, UDTs are exported. The Map block type,
Phase block type, Phase template, and public enumeration holder blocks are exported under new folders. To
import this Map block type to another server, all the exported folders need to be copied to that server. After
copying the folder to another server, you can use Control Builder Import function to import the block.

Import of MAP block type


Map block type ‘MAP_LIB:MAP_BLOCK_1’ has the following dependencies.
• On Phase block types ‘PHASE_LIB:PB_BLOCK_1’ ad ‘PHASE_LIB:PB_BLOCK_2’
• On Phase block template ‘PB_BLOCK_2T’
• On public enumeration holder block ‘ENUM_LIB:ENUM_HOLDER’. This is a dependency because Phase
Block types ‘PHASE_LIB:PB_BLOCK_1’ and ‘PHASE_LIB:PB_BLOCK_2’ use the public enumeration
holder block ‘ENUM_LIB:ENUM_HOLDER.’
Perform the following steps to import the Map block type ‘MAP_LIB:MAP_BLOCK_1 along with its
dependencies.
1. Choose File > Import.
The Import dialog box appears.

169
8 MAINTAIN EQUIPMENT MODEL

2. Click Browse and select the directory from where you want to import the objects.
3. Select ‘PHASE_LIB:PB_BLOCK_1’, ‘PHASE_LIB:PB_BLOCK_2’, ‘PB_BLOCK_2T’,
‘ENUM_LIB:ENUM_HOLDER’ and Map block type ‘MAP_LIB:MAP_BLOCK_1’ and click Import.
The components selected for import are displayed in the Selected Objects For Import list.

On successful import, the Map block and the dependent Custom Data blocks, UDTs are created in the
library.

Attention
When the Map block type is imported without its dependency, it results in an error and the import operation stops.
If the Map block type ‘MAP_LIB:MAP_BLOCK_1’ is not imported along with its dependencies and also if those
dependencies do not exist in the library, a similar error is reported. To resolve this import error, you must re-import
the Map block type with all the dependencies or before importing ensure that all the dependencies are available in
the library.

8.7.6 Import/Export of Unit classes


Unit class can be exported or imported using the Import/Export functionality available in Control Builder. A
Unit class can have a dependency on user-defined block types, such as a Map block type or a Custom Data
block type. A Map block type has a dependency on a Phase block type if the Map block type references it as a
type in definition of function reference. Similarly, a Map block type has a dependency on a custom Data block
type if the Map block type references it as a type in definition of block reference.
For a Unit class, dependencies can also be multilevel caused indirectly by dependencies of components on
which it is dependent. For example, assume that a Unit class contains a Map block type that depends on a Phase
block type. In this scenario, if the Phase block type used in the Map block type uses a public enumeration holder
block then the Map block type has a dependency on public enumeration holder block.

170 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

In the following example, the Unit class ‘Distribution’ is dependent on the following:
• On Map block type 'LIB_MAP:SET1' because Unit class 'DISTRIBUTION' has an instance of Map block
'LIB_MAP:SET1.'
• On Phase block type 'LIB_PHASE: PHASE_1' because Map block 'LIB_MAP:SET1' has a function named
FUNCTION1 that has Phase Type as ‘LIB_PHASE:PHASE_1’. Similarly, it has a dependency on Phase
block types 'LIB_PHASE: PHASE_2,' 'LIB_PHASE: PHASE_3,' and 'LIB_PHASE: PHASE_4.'
• On public enumeration holder block 'LIB_PE:PUBLIC1' because Phase block type
'LIB_PHASE:FUNCTION1' has a parameter named F3 and F5 of enumeration type that are using
enumeration sets name #EN1 and #EN2. Enumeration sets #EN1 and #EN2 are defined in public
enumeration holder block 'LIB_PE:PUBLIC1.'
The following figure illustrates the export and import of Unit class 'Distribution.'

Figure 34: An example for export and import of a Unit class

Export of Unit class


As described previously, the Unit class 'Distribution' has the following dependencies.
• On Map block type 'LIB_MAP:SET1'
• On Phase block types 'PHASE_LIB:PB_BLOCK_1,' 'PHASE_LIB:PB_BLOCK_2,'
'PHASE_LIB:PB_BLOCK_3,' and 'PHASE_LIB:PB_BLOCK_4'
• On public enumeration holder block 'ENUM_LIB:ENUM_HOLDER'
Perform the following steps to export Unit class 'Distribution' along with its dependencies.
1. Choose File > Export or right-click the object and click Export.
The Export dialog box appears.
2. Click Browse and select the directory where you want to save the exported objects.
Note: The directory C:\ProgramData\Honeywell\Experion PKS\Ixport is selected by default.
3. SelectUnit class 'Distribution,' 'PHASE_LIB:PB_BLOCK_1,' 'PHASE_LIB:PB_BLOCK_2,'
'PHASE_LIB:PB_BLOCK_3,' 'PHASE_LIB:PB_BLOCK_4,' 'ENUM_LIB:ENUM_HOLDER,' and Map
block type 'MAP_LIB:MAP_BLOCK_1' and click Export.
The components selected for export is displayed in the Selected Objects For Export list.

171
8 MAINTAIN EQUIPMENT MODEL

The selected Unit class, Map block types and referenced custom Data block types, UDTs are exported. The
Map block type, Phase block type, Phase template, and public enumeration holder blocks are exported under
new folders To import this Unit class type to another server, all the exported folders and their content needs
to be copied to that server. After copying the folder to another server, you can use Control Builder Import
function to import the block.

Import of Unit class


Unit class 'Distribution' has the following dependencies.
• On Map block type 'LIB_MAP:SET1'
• On Phase block types 'PHASE_LIB:PB_BLOCK_1,' 'PHASE_LIB:PB_BLOCK_2,'
'PHASE_LIB:PB_BLOCK_3,' and 'PHASE_LIB:PB_BLOCK_4'
• On public enumeration holder block 'ENUM_LIB:ENUM_HOLDER'
Perform the following steps to import Unit class ‘Distribution’ along with its dependencies.
1. Choose File > Import.
The Import dialog box appears.
2. Click Browse and select the directory from where you want to import the objects.
3. Select Unit class 'Distribution,' 'PHASE_LIB:PB_BLOCK_1,' 'PHASE_LIB:PB_BLOCK_2,'
'PHASE_LIB:PB_BLOCK_3,' 'PHASE_LIB:PB_BLOCK_4,' 'ENUM_LIB:ENUM_HOLDER,' and Map
block type 'MAP_LIB:MAP_BLOCK_1' and click Import.
The components selected for import are displayed in the Selected Objects For Import list.

172 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

On successful import, the Unit class 'Distribution' and the dependent custom block types, UDTs are created
in the library.

Attention
When the Unit class is imported without its dependency, it results in an error and the import operation stops. If the
Unit class ‘Distribution’ is not imported along with its dependencies and also if those dependencies do not exist in
the library, a similar error is reported. To resolve this import error, you must re-import the Unit class with all the
dependencies or before importing ensure that all the dependencies are available in the library.

8.7.7 Import/Export of proxy strategies


Proxy strategies can be exported or imported using the Import/Export functionality available in Control Builder.
Proxy strategies can include the following:
• cluster representing remote server cluster
• proxy node representing controller configured in the remote server cluster
• proxy tags that represent recipes/procedures on the remote server cluster
Proxy tags can be one of the three types, that is, proxy Master Recipe, proxy RCM, or proxy SCM. Proxy
cluster does not have any dependencies and can be imported or exported independently. Proxy node has a
dependency on proxy cluster since it is an assignment parent of proxy node. To import a proxy node, ensure that
either the proxy cluster is imported along with the proxy node or it exists before importing the proxy node.
Proxy tags (proxy Master Recipe, proxy RCM, and proxy SCM) have a dependency on proxy nodes since it is
an assignment parent of proxy tag. Proxy tags can have a dependency on a Phase block type if they are using it
as a Data block. Dependencies of proxy tag can also be multilevel caused indirectly by dependencies of
components on which it is dependent. For example, if a proxy tag depends on a Phase block type and if that
Phase block type uses Public enumeration holder block then the proxy tag has a dependency on that Public

173
8 MAINTAIN EQUIPMENT MODEL

enumeration holder block. To import proxy tags, ensure that either all its dependencies are imported along with
it or they already exist before importing the proxy tag.
In the following example proxy tag ‘PRETREAT_UP’ is dependent on the following:
• On Phase block type ‘LIB_PHASE: PHASE_2’ because it is using it as a Data block
• On proxy node ‘C200E_25’ because it is an assignment parent
• On Cluster block ‘CLUSTER_7’ because it is a cluster block and parent of proxy node ‘C200E_25’
The following figure illustrates the export and import of the proxy tag ‘PRETREAT_UP’.

Figure 35: An example for export and import of a proxy tag

Export of proxy strategies


As described previously, the proxy tag ‘PRETREAT_UP’ has the following dependencies.
• On Phase block type ‘LIB_PHASE: PHASE_2’ because it is using it as a Data block
• On proxy node ‘C200E_25’ because it is an assignment parent
• On cluster block ‘CLUSTER_7’ because it is a cluster block and parent of proxy node ‘C200E_25’
Perform the following steps to export the proxy tag ‘PRETREAT_UP’ along with its dependencies.
1. Choose File > Export or right-click the object and click Export.
The Export dialog box appears.
2. Click Browse and select the directory where you want to save the exported objects.
Note: The directory C:\ProgramData\Honeywell\Experion PKS\Ixport is selected by default.
3. Select proxy tag ‘PRETREAT_UP’, ‘PHASE_LIB:PB_BLOCK_2’, ‘C200E_25’, and ‘CLUSTER_7’ and
click Export.
The components selected for export is displayed in the Selected Objects For Export list.

174 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

The selected proxy tag, Phase block, proxy cluster, and proxy node are exported. To import this proxy tag to
another server, all the exported folders and their content needs to be copied to that server. After copying the
folder to another server, you can use Control Builder Import function to import the block.

Import of proxy strategies


Proxy tag ‘PRETREAT_UP’ has the following dependencies.
• On Phase block type ‘LIB_PHASE: PHASE_2’ because it is using it as a Data block
• On proxy node ‘C200E_25’ because it is an assignment parent
• On Cluster block ‘CLUSTER_7’ because it is a cluster block and parent of proxy node ‘C200E_25’
Perform the following steps to import proxy tag ‘PRETREAT_UP’ along with its dependencies.
1. Choose File > Import.
The Import dialog box appears.
2. Click Browse and select the directory from where you want to import the objects.
3. Select proxy tag ‘PRETREAT_UP’, ‘PHASE_LIB:PB_BLOCK_2’, ‘C200E_25,’ and ‘CLUSTER_7’ and
click Import.
The components selected for import are displayed in the Selected Objects For Import list.

175
8 MAINTAIN EQUIPMENT MODEL

On successful import, the proxy tag ‘PRETREAT_UP’ and the dependent blocks are created in the Control
library.

Attention
If the proxy tag ‘PRETREAT_UP’ is not imported along with its dependencies and also if those dependencies do
not exist in the library, then an error is reported. To resolve this import error, you must re-import the proxy tag
with all the dependencies or before importing, ensure that all the dependencies are available in the library.

176 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

8.8 Batch Search Scenarios

Related topics
“Searching for an enumeration set” on page 177
“Searching for public enumerations” on page 177
“Searching for private enumeration ” on page 179
“Searching for batch scenarios” on page 181

8.8.1 Searching for an enumeration set


Before making any changes to a public/private enumeration set used in a Phase block type, you need to assess
the impact of the public/private enumeration set. The changes can include adding/modifying/deleting
enumeration set members of the public/private enumeration set. It also includes the operation performed from
Control Builder such as Import With Overwrite option.
The search returns one of the following results based on the search criteria.
• Lists all Phase block instances and templates where parameter of enumeration type is defined and its
enumeration value.
• Lists the name of the public enumeration holder block where the enumeration set is defined in the "Block
Type " column.
• Lists an empty parameter name if the enumeration set that are not used to define any parameter.
This result helps you to identify the public enumeration sets that are defined but not used.

Note
The search results may also list all formula/report parameters of type private/public enumeration type defined in the
Phase block type.

To find all instances of the enumeration sets , you can use the "Search for parameter in the system (Parameter
search)" functionality available in the Experion Search utility.

To launch Configuration Studio


1 Click Start > Honeywell ExperionPKS > Configuration Studio.
The Configuration Studio window opens.
2 Select a server or a system from the list, and click Connect to logon to the system or server.
3 In the left pane, click the system (or server) to display the Search tasks in the right pane of the
Configuration Explorer tab.
4 Click Search for parameter in the system (Parameter search) from the Search tasks list to launch the
Experion Search utility.

8.8.2 Searching for public enumerations


Following are the search criteria to be used for searching the public enumeration set.
• Enum=<EnumerationSet>: Lists all enumeration sets whose name matches the enumeration set name
including public enumeration set.
• Enum=<EnumerationHolder>.<EnumerationSet>: Lists only the enumeration set defined in a public
enumeration holder block.
• Enum=<EnumerationHolder>: Lists the usage of all the public enumerations defined in a public
enumeration holder block.

177
8 MAINTAIN EQUIPMENT MODEL

Prerequisites
• A public enumeration holder block exists and it is defined with a public enumeration set.
• A parameter type of the Phase block type is configured as "ENUM."

To search for public enumeration using "Enum=<EnumerationSet>" criteria


1 In the Search for Parameter(s) text box, type Enum=<EnumerationSet>. For example, type
enum=OFF_ON.
2 Click Search.
The results are displayed in the right pane.

To search for public enumeration using "Enum=<EnumerationHolder>.<EnumerationSet>" criteria


1 In the Search for Parameter(s) text box, type Enum=<EnumerationHolder>.<EnumerationSet>. For
example, type enum=GLOBAL.OFF_ON.
2 Click Search.
The results are displayed in the right pane.

178 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

To search for public enumeration using "Enum=<EnumerationHolder>" criteria


1 In the Search for Parameter(s) text box, type Enum=<EnumerationHolder>. For example, type
enum=GLOBAL.
2 Click Search.
The results are displayed in the right pane.

8.8.3 Searching for private enumeration


Following are the search criteria to be used for searching the private enumeration set.
• Enum=<EnumerationSet>: Lists all enumeration sets whose name matches the enumeration set name
including public enumeration set.
• Enum=<PhaseBlock>.<EnumerationSet>: Lists only the enumeration set defined in a Phase block type.

179
8 MAINTAIN EQUIPMENT MODEL

• Enum=<PhaseBlock>: Lists all the Phase block types and the enumeration set defined in a Phase block type.

Prerequisites
• A Phase block type configured with private enumeration sets exists.
• A parameter type of the Phase block type is configured as "ENUM."

To search for private enumeration using "Enum=<EnumerationSet>" criteria


1 In the Search for Parameter(s) text box, type Enum=<EnumerationSet>. For example, type
enum=desttank.
2 Click Search.
The results are displayed in the right pane.

To search for private enumeration using "Enum=<PhaseBlock>.<EnumerationSet>" criteria


1 In the Search for Parameter(s) text box, type Enum=<PhaseBlock>.<EnumerationSet>. For example, type
enum=04YF_XFEROUT_PH.desttank.
2 Click Search.
The results are displayed in the right pane.

180 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

To search for private enumeration using "Enum=<PhaseBlock>" criteria


1 In the Search for Parameter(s) text box, type Enum=<PhaseBlock>. For example, type
enum=04YF_XFEROUT_PH.
2 Click Search.
The results are displayed in the right pane.

8.8.4 Searching for batch scenarios


Before making any changes to the components used in the Recipes/SCM, you need to assess the impact of those
components used in the Recipes/SCM. The components include the Phase block type, Map block type, and the
Unit class. In addition, you need to identify the usage of those components in Recipes/SCM. For example, a
master recipe can use the Phase block to invoke another Master Recipe/RCM.
To perform the batch search, you can use the "Determine where an object is used in the system (Where Used)"
functionality available in the Experion Search utility.

To launch Configuration Studio


1 Click Start > Honeywell ExperionPKS > Configuration Studio.
The Configuration Studio window opens.
2 Select a server or a system from the list, and click Connect to logon to the system or server.
3 In the left pane, click the system (or server) to display the Search tasks in the right pane of the
Configuration Explorer tab.
4 Click Determine where an object is used in the system (Where Used) from the Search tasks list to launch
the Experion Search utility.

To search for batch scenarios using Phase block name


1 In the Search For text box, type the Phase block name. For example, type the Phase block name as
04YF_AGITATE_PH.
2 Click Search.
The results are displayed in the right pane.
The following figure displays the search result for Recipes/SCM where the Phase block is used as a Data
block.

181
8 MAINTAIN EQUIPMENT MODEL

The following figure displays the search result for Recipes where the Phase block is used as a derivation
child.

The following figure displays the search result for Recipes/SCM where the Phase block is used as an
instance.

182 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

The following figure displays the search result for Recipes where the Phase block is used as an instantiation
parent.

The following figure displays the search result for Recipes/SCM where the Phase block is used in an
expression.

183
8 MAINTAIN EQUIPMENT MODEL

To search for batch scenarios using Map block name


1 In the Search For text box, type the Map block name. For example, type the Map block name as
"04Y_FERMENTOR_Map."
2 Click Search.
The results are displayed in the right pane.
The following figure displays the search result for the Unit class/UCMs that uses the Map block type.

To search for batch scenarios using Unit class name


1 In the Search For text box, type the Unit class name. For example, type the Unit class name as
"04Y_FERMENTOR_C."

184 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

2 Click Search.
The results are displayed in the right pane.
The following figure displays the search result for the Master Recipes that refers to a Unit class/UCM.

To search for batch scenarios using child master recipe name


1 In the Search For text box, type the child master recipe name. For example, type the child Master Recipe
name as "04YF_3_MAKING."
2 Click Search.
The results are displayed in the right pane.
The following figure displays the search result for the Recipes where the Recipes are referred as equipment
name.

185
8 MAINTAIN EQUIPMENT MODEL

To search for batch scenarios using "Function = "


1 In the Search For text box, type the function references. The function references can be in one of the
following format.Function=MapBlock nameFunction=UnitClass name Function=MapBlock.FunctionName
2 Click Search.
The results are displayed in the right pane.
The following figure is an example for "Function =04Y_FERMENTOR_MAP." This search is used to find
the list of Phase blocks as an indirect reference through Unit class.

The following figure is an example for "Function =04Y_FERMENTOR_C." This search is used to find the
list of Phase blocks used as an indirect reference through Unit class.

The following figure is an example for "Function =04Y_FERMENTOR_MAP.AGITATE." This search is


used to find the list of Phase blocks as an indirect reference through Unit class.

186 www.honeywell.com
8 MAINTAIN EQUIPMENT MODEL

187
8 MAINTAIN EQUIPMENT MODEL

188 www.honeywell.com
9 Migration and Interoperability

About migrating from R410 to future releases


EBM supports On-Process Migration (OPM) of controller. As part of controller OPM, the Master Recipes/
RCMs/SCMs are migrated. Activities associated with RCMs/SCMs can be migrated at all stages (Pre-
Execution, Execution, and Post-Execution). However, activities associated with Master Recipes can be migrated
only if they are in Pre-Execution or Post-Execution stages.
Note that, Server OPM with Control Recipes is fully supported.
For more information about migrating from R410 to future releases, refer to the appropriate Experion migration
documentation.

Related topics
“Pre-R410 to R410 migration considerations” on page 190
“About interoperability” on page 191
“Considerations for controller OPM from R410 to future releases” on page 192

189
9 MIGRATION AND INTEROPERABILITY

9.1 Pre-R410 to R410 migration considerations


There are no mandatory migration guidelines applicable for migrating a pre-R410 EBM system to an R410
EBM system. Also, general Experion migration guidelines hold good for EBM migration. However, the
following specific configuration/settings must be reviewed to employ the R410 EBM features after migration.
• Activity-related configuration
• Intercluster peer-to-peer communication-related configuration

Activity-related configuration
The new EBM R410 features are not enabled for strategies that are migrated from a pre-R410 release. You may
review the configuration options to enable the new features in EBM R410. The following activity-related
parameters can be reviewed after migrating to R410 to use new features.
• Number of Activities (NUMACT)
• Parameter Initialization Option (PARAMINIT)
• Activity creation option (ACTOPT)
• Type of the Activity (ACTTYPE)
To review and re-configure these parameters, refer to the “Activities Configuration” on page 109. Additionally,
you can also refer to the “Configure Batch Preferences” on page 15 to review and configure some more activity-
related configuration.

Intercluster peer-to-peer communication-related configuration


After migrating to R410R120, you can review the following if you plan to use any of the controllers for
intercluster peer-to-peer communication.
• New Comm# Start Range and New Comm# End Range
• Cluster ID
For more information about configuring the intercluster peer-to-peer communication-related parameters, refer to
the “Configure Batch Preferences” on page 15 chapter.

190 www.honeywell.com
9 MIGRATION AND INTEROPERABILITY

9.2 About interoperability


General Experion interoperability is applicable for EBM as well. For more information about Experion
interoperability, refer to the Experion R410 General Release Software Change Notice.
C200 does not support Activities and Class-based recipes. However, a Phase block in C200E/C300/ACE can be
connected to an SCM in C200 in the same cluster.
Following are the interoperability considerations when the Server/Console, Station, and Tools are in R410
release and the controller is in pre-R410 release.
• An RCM/SCM cannot automatically create activities even if the "ACTOPT " parameter is "Auto" or "All,"
since the functionality is not supported for a pre-R410 CEE.
• An RCM/SCM is not available in Activity Detail Pane even if the "ACTOPT" parameter is "UserOrApp" or
"All," since the functionality is not supported for a pre-R410 CEE.
• An error message appears when pre-R410 controllers are loaded with the CEE-resident parameters
(ACTTYPE, ACTOPT, and NUMASSOCACT).

191
9 MIGRATION AND INTEROPERABILITY

9.3 Considerations for controller OPM from R410 to future releases


As mentioned in the beginning of this chapter, controller OPM is not supported if there are activities executing
for Master Recipes. However, you can still choose to perform an OPM in such a scenario. If you choose to do
so, be aware that once the OPM is complete, the activities are removed and all data associated with them are
lost.
You can decide the OPM option by reviewing the following parameters.
• Control Recipes count (NUMACTCR): Used for determining the number of activities associated with
Master Recipes that are currently executing.
• Migration options (ACTCRMIGOPT): Used for selecting the migration option.
– Disabled (default): Use this option if you want to prevent the OPM when the activities associated with
Master Recipes are executing. That is, you want to prevent the OPM when the value of NUMACTCR is
greater than zero.
– Forceremove: Use this option if you want to go ahead with the OPM even if the activities associated with
Master Recipes are executing. That is, you want to proceed with OPM even when the value of
NUMACTCR is greater than zero. However, as mentioned earlier, in such a case, after OPM, the
activities are removed and all data associated with them are lost.
For more information on performing controller OPM, refer to the appropriate Experion migration
documentation.

192 www.honeywell.com
10 Troubleshooting scenarios related to Batch/
ProcOps implementation

Related topics
“The CEEs Activity Memory Capacity has been reached” on page 195
“SIMCOMMAND is not allowed with activities” on page 196
“Failure of synchronizing scheduled parameters at the end of pre-execution” on page 197
“SCM/RCM cannot transition to inactive state” on page 198
“Activity is not available in the middle of batch – for Class-based recipe only” on page 199
“RCM remains in the idle state and does not acquire” on page 200
“RCM is not idle and does not acquire” on page 201
“Phase block displays Child Activity Create Warning” on page 202
“Activity is not available in CEE and ACTOPT is set to AUTO” on page 203
“Loss of communication with the controller” on page 204
“IR Phase block cannot connect to Master Recipe without an activity” on page 205
“Invalid child activity due to Phase block connections” on page 206
“Internal memory error” on page 207
“Failure of user-created activity during memory allocation ” on page 208
“Failure of synchronizing scheduled parameters during initialization” on page 209
“Database errors” on page 210
“Child Activity Create Fail” on page 211
“CEE does not contain sufficient memory” on page 212
“Cannot load NUMACT when too many activities are running in CEE” on page 213
“Cannot start batch due to lack of activity in the controller” on page 214
“Cannot load NUMACT through Load While Active when the controller is in Idle state” on page 215
“Cannot load CEE because of the tagged objects limitation” on page 216
“Cannot create X_DATAINIT block” on page 217
“Cannot create child activity due to invalid Phase block configuration ” on page 218
“Cannot create activity when NUMACT is zero” on page 219
“Cannot allocate CAMs internal memory” on page 220
“CAM does not reduce NUMACT” on page 221
“Cannot allow activity when the controller is in SIMFREEZE” on page 222
“Phase block cannot acquire child RCM/SCM in another cluster” on page 223
“Child SCM/RCM stops to respond in another cluster” on page 224
“Child SCM/RCM stops to respond in another cluster using a Master Recipe” on page 225
“Child SCM/RCM stops to respond in another cluster using instance based activities” on page 226
“Phase block cannot acquire child RCM/SCM using another Phase block equipment name” on page 227
“Cannot enter an RCM arbitration queue when another entity acquires an RCM” on page 228
“Can enter an RCM arbitration queue when another entity acquires an RCM ” on page 229

193
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

“Failure for user activity creation” on page 230


“Parent RCM hangs and Phase block actively polling for resource RCM/SCM using another Phase blocks
Equipment name” on page 231
“Resources not available during load time” on page 232
“Cannot start batch due to lack of memory in the controller” on page 233
“Insufficient memory in the middle of a batch” on page 234
“Child or parent RCM/SCM name is unresolvable ” on page 235
“Orderly removal of requester” on page 236
“Requester cannot acquire resource and resource has no queue” on page 237
“Unexpected removal of resource” on page 238
“Reload of resource after deletion of resource while requester.acqstate=error” on page 239
“Disorderly removal or unexpected damage of requester” on page 240
“Phase block cannot store all formula parameters” on page 241
“Phase block cannot read all report parameters” on page 242

194 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.1 The CEEs Activity Memory Capacity has been reached

Diagnostic check
When you increase the NUMACT and perform a Load while Active, the CAM cannot create enough memory for
all of the activities. During loading, an error message The CEEs Activity Memory Capacity has been reached
appears .

Attention
This error is very critical because the CEE does not have sufficient function block memory which exceeds the
limitation. Therefore, it is recommended not to run this scenario.

Cause
The controller does not have sufficient memory for all the activities. TOTALACTCAP is less than NUMACT
and it represents the memory that is successfully used for the activities.

Solution
Since the TOTALACTCAP is less than the NUMACT, the NUMACT must be reduced. Therefore, ensure that
TOTALACTCAP and NUMACT are equal or the NUMACT must be less than the TOTALACTCAP.

195
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.2 SIMCOMMAND is not allowed with activities

Diagnostic check
You cannot change the SIMCommand because the controller is configured with the activities.
Or
The Store to SIMCommand is rejected because the controller is configured with the activities.

Cause
Simulation environment has NUMACT configured as non-zero.

Solution
Reduce the NUMACT to zero and then perform a load when the operation is active to the CEE block.

196 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.3 Failure of synchronizing scheduled parameters at the end of pre-


execution

Diagnostic check
An error appears during the synchronization of the following:
• Activity Stage = Failed
• Activity Status = Error
• Activity Status Description = Activity Out of Sync

Cause
When a created activity transitions from pre-execution to execution, it attempts to synchronize its scheduled
parameters with its associated SCM/RCM. This is required because you can change the phase of execution in
the associated SCM/RCM between the time of activity it creates and starts.

Solution
• The MAXACTPERIOD must be less that the Phase Execution period of the associated RCM/SCM.
• Check for the MAXACTPERIOD and compare it with the Phase Execution period of the associated RCM/
SCM.
• Change the Phase Execution Period to the default value (-1) and then reload the RCM/SCM.

197
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.4 SCM/RCM cannot transition to inactive state

Diagnostic check
The RCM/SCM cannot transition to inactive state, if there is any activity associated with the RCM/SCM.

Cause
One or more activities are associated with the RCM/SCM.

Solution
1. Ensure that there are no activities associated with RCM/SCM. This means that the activities are not in Exec
or Pre Exec stage from the activity summary display.

Attention
Pre-Exec, Exec, and Post-Exec are the stages of an activity.
2. If the activity is in Exec stage, wait till the activity completes the execution, which means that the activity
reaches Pre-Exec/Post Exec stage.
3. Remove the activities which are in Pre Exec/Post-Exec stage.
4. Ensure the parameter NUMASSOCACT equals to zero, which is displayed in the module properties of
RCM/SCM block. Therefore, when the value is zero, SCM/RCM can be inactivated.

198 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.5 Activity is not available in the middle of batch – for Class-based


recipe only

Diagnostic check
In the middle of a batch, the activity can be insufficient in the controller, if there are no enough activities
allocated at the configuration time. Therefore, a batch cannot continue and a diagnostic alarm appears and
display on system notification display appears in the Station.

Cause
When CURRNUMACT reaches to TOTALCAPACT, you fail to create another activity due to unavailability of
activity in controller.

Solution
• Increase the number of activities and perform a CEE reload when active.
• If the number of activities reaches the maximum, the strategy can be re-configured. Therefore the number of
activities required must be within the range of activities that must be configured.
• Wait for another batch to complete and to free the activity. The diagnostic alarm appears once an activity is
available.

199
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.6 RCM remains in the idle state and does not acquire

Diagnostic check
RCM remains in the idle state and does not acquire.

Cause
The initialization of an activity fails when the RCM is in Idle state.

Solution
Ensure MAXACTPERIOD of the CEE is equal to the Phase period of the RCM.

200 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.7 RCM is not idle and does not acquire

Diagnostic check
The activity acquires an RCM successfully, but it does not have the control of the RCM.
• Activity Stage = Pre-Exec
• Activity Status = Info
• Activity Description = Unsuitable Equipment State

Attention
The final states are Idle, Complete, Stopped, and Aborted. In this scenario, the RCM is in any other state such as,
Running, Holding, and Aborting, and so on.
The Arbitration tab of an RCM indicates that the activity acquires.

Cause
• An RCM is not in Idle state/any terminal state.
• Another owner has acquired an RCM is acquired.

Solution
• After an RCM reaches a final state such as Idle, Complete, Stopped, or Aborted, the activity issues a reset
command to the RCM.
• The activity Status and Description is set to OK.
• Now, the activity can control an RCM and can issue a start command.

Attention
The activity acquires an RCM to issue a reset and start commands under the following conditions.
• If an RCM does not acquire.
• If an RCM is not available in the states such as, Complete, Stopped, or Aborted.

201
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.8 Phase block displays Child Activity Create Warning

Diagnostic check
The Phase block displays Child Activity Create Warning during execution.

Cause
The Phase block sends a create activity to the child RCM. This activity fails to create. However, the Phase block
continues to execute without an activity. The CAMM errors (CAMmemnotAllocated,
NotEnoughMemforNUMACT or OutofActivities) might cause this error.

Solution
1. Check for the NUMACT and TOTALCAPACT and increase the NUMACT.
2. Reload the strategies and restart the batch.

202 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.9 Activity is not available in CEE and ACTOPT is set to AUTO

Diagnostic check
An RCM/SCM attempts to create an activity, but none are available. An RCM/SCM continues to execute
without an activity. The ExecStatus of the RCM/SCM sets to ‘Fail’ and the ExecDesc sets to ‘Activity not
associated’.

Cause
• The user loads RCM/SCM block to CEE.
• The user commands the RCM/SCM block to start.

Solution
Load the NUMACT value to a maximum limit (1000) When it reaches the maximum limit then remove the
activities that are available in pre-execution/post execution stage.

203
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.10 Loss of communication with the controller

Diagnostic check
SAM is not aware of the loss of communication with a controller. If SAM requests the RCM run count from a
controller that is not connected then an error on the request appears. This clears the RCM count for that
controller and recalculates the total run count.

Cause
SAM service does not run.

Solution
SAM is not directly involved in the recovery of the communication with the controller. When the
communication is restored, SAM requests to the controller and it handles normally.

204 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.11 IR Phase block cannot connect to Master Recipe without an activity

Diagnostic check
The error Conf with MR and No Activity appears.

Cause
• The Phase block is configured with a Master Recipe, but an RCM does not consist of an activity that is
configured.
• The Phase block can be configured with Master Recipes, but an activity must be available with an RCM.

Solution
You must reload and reconfigure the RCM to create activities.

205
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.12 Invalid child activity due to Phase block connections

Diagnostic check
The Phase block stops to execute and does not communicate to child activity. The Phase block displays an error
message Child activity is invalid. However, an RCM also displays the same error.

Cause
Child is in a peer controller and you perform a cold start when the child RCM is in idle state. The child activity
does not appear and hence the Phase block can not communicate with it.

Solution
You must reset the parent RCM and then the Phase block appears blank or another activity name appears in the
equipment. However, it no longer communicates to the same activity.

206 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.13 Internal memory error

Diagnostic check
Following are the errors that appear.
• Activity Stage = Failed
• Activity Status = Error
• Activity Status Description = Internal Error

Cause
Following are the causes.
• Initialization of the activity data block fails.
• The activity cannot access its data block.
• The activity cannot access its associated entity.
• The activity cannot access its execution object.

Solution
1. Check that the CEE is in RUN State.
2. Do not perform CEE with a Cold Start and check the CURRNUMACT is less than the TOTALCAPACT.
3. Remove the activity that fails and create a new activity for the same entity.

207
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.14 Failure of user-created activity during memory allocation

Diagnostic check
The user creates an activity and it appears as follows.
• Activity Stage = Failed
• Activity Status = Error
• Activity Status Description = Controller Out Of Memory

Cause
• The activity that is available receives a create request from CAM.
• The activity cannot acquire the required memory because the memory is not sufficient in the controller or
continuous memory is not available in the controller.
• This activity transitions from initialization to a failed state.

Solution
1. Controller memory is not available for a new activity. Therefore, wait for the running batches to complete.
2. Remove the activities that are available in Post-Exec stage.
3. Create a user created activity.

208 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.15 Failure of synchronizing scheduled parameters during initialization

Diagnostic check
An error appears during the synchronization of the following:
• Activity Stage = Failed
• Activity Status = Error
• Activity Status Description = Activity Out of Sync

Cause
When the created activity completes to initialize its data block, it attempts to synchronize its scheduled
parameters with its associated SCM/RCM. This is required because the activity runs at a faster duration than the
associated SCM/RCM during the initialization state.

Solution
1. An activity must not run at a faster rate than its associated RCM/SCM.
2. Ensure to maintain minimum gap between the MARACTPERIOD of a CEE and the Phase Execution period
of the RCM/SCM
3. Load both the parameters with the default values of the Phase execution period of an SCM/RCM.

209
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.16 Database errors

Diagnostic check
Database errors appear.

Cause
• Inconsistency between the DATA and the X_DATAINIT blocks.
• X_DATAINIT block is missing in an RCM/SCM.

Solution
You must identify the database errors and limit the impact to the system.
You must enhance the ERDB checker to verify the consistency of the ERDB for the following conditions.
• Identify missing X_DATAINIT blocks : Find all RCMs/SCMs, which must contain a X_DATAINIT block.
• Enumerate all RCMs/SCMs and an SCM/RCM UDTs must match the following conditions.
– PARAMINIT=Enabled AND (contains block of type phase with name DATA) AND (does not contain
block of type phase with name X_DATAINIT)
• Identify all X_DATAINIT blocks , which are not required for the current SCM/RCM configuration.
• Enumerate all RCMs/SCM and SCM/RCM UDTs matching the following conditions.
– PARAMINIT=Disabled AND (does not contain block of type phase with name DATA) AND (contains
block of type phase with name X_DATAINIT)
• Identify inconsistencies between DATA and X_DATAINIT
• Enumerate all RCMs/SCM and SCM/RCM UDTs matching the following conditions.

Attention
You cannot create and delete X_DATAINIT blocks and the system does not perform as expected. Hence, consider the
following:
• Take a backup of the ERDB.
• Reimport an SCM/RCM from a valid export file.
• If you are using a QVCS, checkout a valid version.
• Perform a pair of opposite changes to delete or create a X_DATAINIT block.

210 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.17 Child Activity Create Fail

Diagnostic check
If the Phase block is configured to create an activity against a Master Recipe, an error appears informing that the
parent Phase block reacts in a different way for various errors.
An error message “Child Activity Create Fail” appears with an IR also.

Cause
If the parent Phase block receives OutofActivities or OutofMemory, it tries to create an activity. However, if
another error appears that includes the error of the Phase block, it does not proceed. Therefore, the following
error Child Activity Create Fail appears.

Solution
• Ensure to contain enough memory in the controller.
• Ensure to configure an RCM that drives an MR with activities.
• Ensure the CURRNUMACT is less than the TOTALCAPACT.

211
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.18 CEE does not contain sufficient memory

Diagnostic check
When the number of activities are stored, function block memory for such activities must be available.
However, due to insufficient CAM internal memory for such allocation there is no change with the current
NUMACT and the current activities. The load fails and the following error message CAMs internal Memory
was not allocated because the CEE does not have enough function block memory appears.

Cause
Blocks that are loaded consume memory more than the CEE memory.

Solution
Unload blocks from the Monitoring view of the CEE and ensure that the USEDMEMINK is less than the
TOTALMEMINK.

212 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.19 Cannot load NUMACT when too many activities are running in CEE

Diagnostic check
CEE consists of X number of activities and you try to load a NUMACT that is less than X, CEE rejects with an
error message informing that too many activities are configured in the CEE. If this error appears, the load fails
with no change to the controller.
An error message Too many running activities in CEE and cannot reduce NUMACT appears.

Cause
When performing Load While Active to load NUMACT, NUMACT is less than current NUMACT in
controller.

Solution
When performing Load While Active to load NUMACT, NUMACT must be greater or equal to current
NUMACT in controller.

213
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.20 Cannot start batch due to lack of activity in the controller

Diagnostic check
Due to lack of activity in the controller, batch is in starting state informing that the controller is out of activity.

Cause
Controller is loaded with zero NUMACT or CURRNUMACT and has reached to TOTALCAPACT. You try
tocreate another activity by starting the new batch.

Solution
• Increase the number of activities and perform a CEE reload when it is active.
• If the number of activities reaches the maximum, the strategy can be re-configured. Therefore the number of
activities required must be within the range of number of activities that are configured.
• Wait for the completion of the batch and the activities are available. Therefore, once the activity is available,
the diagnostic alarm appears .

214 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.21 Cannot load NUMACT through Load While Active when the
controller is in Idle state

Diagnostic check
When you try to load NUMACT that is less than the current value in the controller and the controller is in the
idle state, the error CodeFbMustBeInactiveOrIdle appears. Hence, the CEE fails with the following error
message CEE101: FB Must Be Inactive or CEE Idle.

Cause
Controller is in the Idle state when loading NUMACT through Load While Active.

Solution
Controller must be put into Run state by COLDSTART or WARMSTART.

215
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.22 Cannot load CEE because of the tagged objects limitation

Diagnostic check
During loading of the CEE, an error appears informing that the load fails with no modification to the running
CEE. and the number of tagged objects that are available. Hence, this is the check for the available tagged
blocks.

Cause
CEE has reached its maximum limitation for the tagged objects.

Solution
Check for the available number of tagged blocks before you load the CEE.

216 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.23 Cannot create X_DATAINIT block

Diagnostic check
When you attempt to configure an SCM/RCM to use data initialization, the selected configuration does not
occur for the given SCM/RCM.

Cause
• RCM/SCM configuration change requires internal generation of a X_DATAINIT block. However the
RCM/SCM contains a block with the name X_DATAINIT.
• RCM/SCM configuration change requires internal generation of a X_DATAINIT block. However the
RCM/SCM exceeds the number of possible component blocks.

Solution
1. Rename the block X_DATAINIT and then perform the operation .
2. Run the ERDB checker to view the situation for the affected SCM/RCM.
3. Reduce the number of component blocks or defragment the SCM/RCM by unassigning and assigning
depending on the results of ERDB checker.

217
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.24 Cannot create child activity due to invalid Phase block


configuration

Diagnostic check
There is no notification of any invalid configuration. The Phase block does not attempt to initiate a child activity
creation.

Cause
If the Phase block is configured in any of the invalid configuration a child activity does not create.
• Execute on the Equipment = FALSE
• Wait for terminal state = FALSE
• Null Phase block ( EquipName is blank ) and usenameref is false.
• Parent RCM does not have an associated activity.
• Child RCM is in a R400.

Solution
Before you execute the Phase block, ensure to perform the following:
1. Execute on the Equipment = TRUE
2. Wait for terminal state = TRUE
3. Phase block contains either EQUIPNAME or X_NAMEREF and it must not be NULL.
4. Parent RCM must have an associated activity.
5. Child RCM must not be in prior to R410.

218 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.25 Cannot create activity when NUMACT is zero

Diagnostic check
You try to create an activity but the CEE does not have any activities (NumAct = 0), which means that there is
failure when you try to create activity.

Cause
NUMACT equals zero.

Solution
• Change NUMACT to a value larger than zero.
• Re-configure RCMs or do not allow to create activity on this CEE.
• Before you create an activity, assign the CEEs to an RCM with NUMACT > 0 .

219
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.26 Cannot allocate CAMs internal memory

Diagnostic check
An error appears for the CREATEACTIVITY parameter, which indicates that theCAMs internal memory is not
allocated.

Cause
When you create a new activity from either an RCM or SCM, and the CAMs memory is not allocated.

Solution
Increase the number of activities and try to reload the CEE.

220 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.27 CAM does not reduce NUMACT

Diagnostic check
Too many running activities cannot reduce NUMACT when you try to reduce the number of activities in CEE.
CAM does not reduce NUMACT because of too many running activities in CEE.

Cause
NUMACT is reduced and the CEE is loaded. However, currently there are too many activities running in the
CEE.

Solution
Decrease the number of activities or wait until the CEE uses less activities and reloads. This error appears when
the CEE is in idle state and you start the CEE and run it until the current number of activities decreases.

221
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.28 Cannot allow activity when the controller is in SIMFREEZE

Diagnostic check
Cannot allow activity when the controller is in SIMFREEZE. Therefore, you cannot change the number of
activity to non-zero because the controller is in SIMFREEZE.

Cause
Loading of CEE or loading while active CEE is issued to a simulation environment with SimState is in
SIMFREEZE and the number of activity is configured to something non-zero.

Solution
Reduce the NUMACT to zero and then load values when the operation remains active to the CEE block.

222 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.29 Phase block cannot acquire child RCM/SCM in another cluster

Diagnostic check
• You navigate from Parent RCM/SCM and try to determine all the requesters of the child.
• You navigate to parent RCM detail display to find the child SCM/RCM, which stops to respond in
ACQUIRING state and navigate to detail display Arbitration tab.

Cause
In remote cluster, a child RCM/SCM does not load to a controller. However, in local cluster, EQUIPNAME or
X_NAMEREF is blank or incorrect in the Phase block.

Solution
• In remote cluster, load a child RCM/SCM to Monitoring view.
• In local cluster, ensure that the EQUIPNAME or X_NAEREF in Phase block remains same as the proxy
name of a child RCM/SCM.

223
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.30 Child SCM/RCM stops to respond in another cluster

Diagnostic check
Child SCM/RCM stops to respond in another cluster.

Cause
• A child RCM/SCM does not load in another cluster
• DSA is not configured among clusters.
• Communication loss between the local cluster controller and the remote cluster controller.

Solution
• Check if an RCM/SCM is loaded and activated in another cluster.
• DSA must be configured among clusters.
• In the CEE, Peer Communication tab of local cluster, check that the Initiator and Responder connections
are open.

224 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.31 Child SCM/RCM stops to respond in another cluster using a Master


Recipe

Diagnostic check
A child SCM/RCM stops to respond in another cluster using a Master Recipe.

Cause
• A child RCM/SCM does not load in another cluster.
• DSA is not configured among clusters.

Solution
• Check if an RCM/SCM is loaded and activated in another cluster.
• DSA must be configured among clusters.

225
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.32 Child SCM/RCM stops to respond in another cluster using instance


based activities

Diagnostic check
A Child SCM/RCM stops to respond in another cluster using instance based activities.

Cause
• A Child RCM/SCM does not load in another cluster.
• DSA is not configured among clusters.

Solution
• Ensure to load and activate an RCM/SCM in another cluster.
• DSA must be configured among clusters.

226 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.33 Phase block cannot acquire child RCM/SCM using another Phase
block equipment name

Diagnostic check
Phase block cannot acquire a child RCM/SCM using another Phase block equipment name.

Cause
• Equipment name in Phase block does not match with a Child RCM/SCM name.
• For X_NAMEREF in Phase block, reference given into Unit Instance does not match with a Child
RCM/SCM name.

Solution
• Equipment name in Phase block must match with a Child RCM/SCM name.
• For X_NAMEREF in Phase block, reference given into Unit Instance must match with a Child RCM/SCM
name.

227
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.34 Cannot enter an RCM arbitration queue when another entity


acquires an RCM

Diagnostic check
The Arbitration tab of an RCM displays an error message Unmanaged Conflicts.
When the activity is trying to acquire an RCM, the following message appears.
• Activity Stage = Pre-exec
• Activity Substate = ???
• Activity Status = Info
• Activity Status Description = Acquiring Resource

Cause
The activity tries to execute every cycle to acquire an RCM or enter the arbitration queue.

Solution
In Arbitration tab of an RCM, NUMOWNERS must be less than MAXOWNERS. Else, you must wait for
NUMOWNERS to become less than MAXOWNERS.

228 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.35 Can enter an RCM arbitration queue when another entity acquires
an RCM

Diagnostic check
The Arbitration tab of an RCM indicates the queue order and displays Some Waiting Requests.
When the activity is in an RCM arbitration queue, the following message appears.
• Activity Stage = Pre-exec
• Activity SubState = ???
• Activity Status = Info
• Activity Status Description = Acquiring Resource

Cause
The activity enters an RCM arbitration queue and the control of an RCM is based on the order of the queue that
is available. However, it is added in the queue in the order of the requests that are received.

Solution
In Arbitration tab of an RCM, NUMOWNERS must be less than MAXOWNERS. Else, you must wait for
NUMOWNERS to become less than MAXOWNERS.

229
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.36 Failure for user activity creation

Diagnostic check
Cannot create user activity.

Cause
Blocks that are loaded consume memory more than the CEE memory.

Solution
1. Activate the module.
2. Ensure that the SAM service is running.
3. Enter the Batch ID in the ASD for that particular batch.
4. Ensure to select the Automatically Generate Batch ID check box on the Batch Preferences tab.

230 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.37 Parent RCM hangs and Phase block actively polling for resource
RCM/SCM using another Phase blocks Equipment name

Diagnostic check
The parent RCM hangs in the Phase block and the Phase block’s Equipment name status displays as Actively
polling for resource RCM/SCM.

Cause
Phase block’s Equipment name is blank.

Solution
Re-configure and load the strategy with valid equipment name.

231
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.38 Resources not available during load time

Diagnostic check
Resource is not available during load time.

Cause
Unavailability of CEE resources like memory or peer resources.

Solution
Delete the blocks that are not required from the CEE that consumes the resources.

232 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.39 Cannot start batch due to lack of memory in the controller

Diagnostic check
Cannot start batch due to lack of memory in controller

Cause
Due to unavailability of CEE memory during starting of the activities.

Solution
Delete the blocks that are not required from the CEE.

233
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.40 Insufficient memory in the middle of a batch

Diagnostic check
Memory is not sufficient in the middle of a batch.

Cause
Unavailability of CEE memory during the execution of activities/CR

Solution
Delete the blocks that are not required from the CEE.

234 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.41 Child or parent RCM/SCM name is unresolvable

Diagnostic check
Child or parent RCM/SCM name is unresolvable.

Cause
• Child RCM/RCM block is not configured properly.
• Child RCM/SCM block may not exist in the CEE.

Solution
Load the child RCM/SCM or check the child RCM/SCM configuration, which is driven by the parent blocks.

235
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.42 Orderly removal of requester

Diagnostic check
Orderly removal of requester.

Cause
This scenario occurs with standalone requesters or RCMs. If an RCM is deleted in a state where it or its Phase-
FBs did not release all resources. In this scenario, assume that all CEEs are in RUN state and all communication
between requesters and resources work.
During the removal operation, the requester sends a release request to the resource. The removal is delayed until
the resource confirms the release request. If the release request is not confirmed, the removal operation is
rejected.

Solution
Force Delete or disorderly remove or damage of requester. For more information, refer to the topic “Disorderly
removal or unexpected damage of requester” on page 240

236 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.43 Requester cannot acquire resource and resource has no queue

Diagnostic check
Requester cannot acquire resource and resource has no queue.

Cause
This scenario occurs frequently on resources without a queue.

Solution
Requester monitors the ownership information of resource.
The requester repeats the request, until the resource is available.
Normally, the resource accepts the request. If the resource cannot be acquired (for example, two or more
requesters are in the same situation), the scenario repeats, until the resource is acquired.

Note
This scenario has no adverse effects and recovery occurs completely automatically.

237
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.44 Unexpected removal of resource

Diagnostic check
Unexpected removal of resource, for example UCM, SCM, RCM, CM or Master Recipe.

Cause
This scenario occurs, when a resource (for example UCM, SCM, or Master Recipe) is deleted, while a requester
(for example Control Recipe) acquires it.
The requester recognizes the lack of the resource through an existing connection, which results in a
communication error. Therefore, the requester changes the acquisition state (ACQSTATE) from "ACQUIRED"
to "Error." If the requester is a standalone requester no further action occurs. If the requester is an RCM or a
Phase-FB, an appropriate error appears with a suitable response (for example, RCM sets to Held). The response
may require some user defined engineering (for example, Hold-Condition, or some option to be set).

Solution
The requester must provide the resource.
Requester executes a RELEASE command to reset the requester to INITIAL state. For more information refer
to the topic “Reload of resource after deletion of resource while requester.acqstate=error” on page 239.

238 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.45 Reload of resource after deletion of resource while


requester.acqstate=error

Diagnostic check
Reload of resource after deletion of resource while requester.acqstate = error.

Cause
The reload of the resource occurs such that the requesters does not need to be reloaded and connections between
requesters and the resource are re-established in a valid configuration.
This scenario allows a recovery of the requester. The recovery is very rare because it depends on the user
defined configuration and its behavior in time.

Solution
1. The resource reserves fixed time window on activation to accept only acquired re-requests. The initial
arbitration requests cannot be accepted during this period.
2. The requester is provided with the already acquired resource prior to its inactivation an opportunity to obtain
the ownership again before other requesters acquire the resource.
3. The requester performs an acquisition re-request on the resource after reload of the resource.
If communication cannot be established, the requester remains in acqstate=error.

239
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.46 Disorderly removal or unexpected damage of requester

Diagnostic check
Disorderly removal or unexpected damage of requester.

Cause
This scenario occurs, if the requester is removed or damaged without the resource being released.
Following are the examples.
• Force-Delete while peer-to-peer communication is interrupted.
• Power-Cycle of Box having the CEE with the requester, while resource is in a different off-node CEE.
The resource remains owned by the requester, which represents an inconsistent system state.

Solution
1. Reload the resource to initiate the resource (this may create a ripple effect, if resource.maxowners > 1 and
the resource were owned by multiple requesters, some of them not deleted).
2. Reload the requester and requester re-acquire the resource. As re-acquisition has no effect on the resource,
this restores a consistent system state between the requester and the resource.
3. Set CLRQUEUEOPT=ON (By, default this parameter is ON for all resources except UCM. Hence this
action is required for UCM only) , inactivate and activate the resource.

240 www.honeywell.com
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.47 Phase block cannot store all formula parameters

Diagnostic check
Phase block cannot store all formula parameters.

Cause
This scenario occurs, if parameter references configured for the Phase block cannot be accessed since they are
removed or a communication problem exists.

Solution
1. Operator changes SCM.MODEATTR=OPERATOR, and performs the necessary parameter adjustments.
Operator provide a START command to the SCM (child recipe (RCM or CR)) and changes
SCM.MODEATTR=PROGRAM. Hence, the Phase block automatically resumes control of the SCM (child
recipe (RCM or CR)).
2. Operator must terminate the recipe.

241
10 TROUBLESHOOTING SCENARIOS RELATED TO BATCH/PROCOPS IMPLEMENTATION

10.48 Phase block cannot read all report parameters

Diagnostic check
Phase block cannot read all report parameters.

Cause
This scenario occurs, if parameter references configured for the Phase block cannot be accessed, since they are
removed or a communication problem exists.

Solution
1. Operator performs manual stores to the report parameters of the Phase block. If a manual store is performed,
the EXECSTS of this parameter is restored. Phase block continues to process as soon all “bad” parameters
are restored. Note: Standard functionality creates a CHANGE event for all parameter changes to trace
operator interventions.
2. Operator changes SCM.MODEATTR=OPERATOR, corrects the situation (for example, correcting cable
failures, reloading other controllers, let engineer reload a missing CM), provides a RESET command to the
SCM (child recipe (RCM or CR)) and changes SCM.MODEATTR=PROGRAM. Hence, the Phase block
automatically resumes control of the SCM (child recipe (RCM or CR)).

Note
Solution 1 and 2 can be combined. However, solution 1 cannot be applied after Solution 2 has been completed.
3. Operator must terminate the recipe.

242 www.honeywell.com
11 Notices

Trademarks
Experion®, PlantScape®, SafeBrowse®, TotalPlant®, and TDC 3000® are registered trademarks of Honeywell
International, Inc.
OneWireless™ is a trademark of Honeywell International, Inc.

Other trademarks
Microsoft and SQL Server are either registered trademarks or trademarks of Microsoft Corporation in the
United States and/or other countries.
Trademarks that appear in this document are used only to the benefit of the trademark owner, with no intention
of trademark infringement.

Third-party licenses
This product may contain or be derived from materials, including software, of third parties. The third party
materials may be subject to licenses, notices, restrictions and obligations imposed by the licensor. The licenses,
notices, restrictions and obligations, if any, may be found in the materials accompanying the product, in the
documents or files accompanying such third party materials, in a file named third_party_licenses on the media
containing the product, or at http://www.honeywell.com/ps/thirdpartylicenses.

243
11 NOTICES

11.1 Documentation feedback


You can find the most up-to-date documents on the Honeywell Process Solutions support website at:
http://www.honeywellprocess.com/support
If you have comments about Honeywell Process Solutions documentation, send your feedback to:
[email protected]
Use this email address to provide feedback, or to report errors and omissions in the documentation. For
immediate help with a technical problem, contact your local Honeywell Process Solutions Customer Contact
Center (CCC) or Honeywell Technical Assistance Center (TAC) listed in the “Support and other contacts”
section of this document.

244 www.honeywell.com
11 NOTICES

11.2 How to report a security vulnerability


For the purpose of submission, a security vulnerability is defined as a software defect or weakness that can be
exploited to reduce the operational or security capabilities of the software.
Honeywell investigates all reports of security vulnerabilities affecting Honeywell products and services.
To report a potential security vulnerability against any Honeywell product, please follow the instructions at:
https://honeywell.com/pages/vulnerabilityreporting.aspx
Submit the requested information to Honeywell using one of the following methods:
• Send an email to [email protected].
or
• Contact your local Honeywell Process Solutions Customer Contact Center (CCC) or Honeywell Technical
Assistance Center (TAC) listed in the “Support and other contacts” section of this document.

245
11 NOTICES

11.3 Support
For support, contact your local Honeywell Process Solutions Customer Contact Center (CCC). To find your
local CCC visit the website, https://www.honeywellprocess.com/en-US/contact-us/customer-support-contacts/
Pages/default.aspx.

246 www.honeywell.com
11 NOTICES

11.4 Training classes


Honeywell holds technical training classes on Experion PKS. These classes are taught by experts in the field of
process control systems. For more information about these classes, contact your Honeywell representative, or
see http://www.automationcollege.com.

247
11 NOTICES

248 www.honeywell.com

You might also like