Uploaded by Ernar Saleshov

exp16r501rev001studentbook

advertisement
Automation College
Experion PKS: Control Execution
Environment CAB + ACE Implementation
EXP-16 R501 Student Guide
Rev 00.1
04/2018
Book 1 of 1
.
Notices
While this information is presented in good faith and believed to be accurate, Honeywell assumes
no responsibility for any errors that may appear in this courseware. The courseware is presented
on an “as-is” basis. Honeywell disclaims the implied warranties of merchantability and fitness for a
particular 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 indirect, special or consequential damages even
if Honeywell is informed of the possibility of these damages. The information and specifications in
this courseware are subject to change without notice.
No part of this courseware may be reproduced or transmitted in any form or by any means. It is
intended for the use of the original purchaser only. Copying, duplicating, selling or otherwise
distributing the courseware is a violation of law. The materials and workbooks comprising the
courseware may not, in whole or part, be copied, photocopied, reproduced, translated or reduced
to any electronic medium or machine-readable form without prior consent in writing from
Honeywell.
This courseware is the confidential and proprietary information of Honeywell. The courseware may
only be used by the person who attended the Honeywell class. The courseware may only be used
in conjunction with a Honeywell system at the company that paid for the class. Only Honeywell
may use the courseware for training purposes.
This class has special equipment configurations that are appropriate only for training and should
not be used for any other purpose.
Experion, Da Vinci, IntelliMap, MXOpen, MXProLine, TotalPlant, PlantScape, TDC 3000,
Uniformance, Universal Control Network, RTU2020, and ControlEdge PLC are registered
trademarks of Honeywell International.
These commodities, technology or software were exported from the United States in accordance
with the Export Administration Regulations. Division contrary to U.S. law prohibited.
Copyright © 2018 Honeywell Inc.
Honeywell International, Inc.
Automation College
Global Learning Services
Program Objectives
EXP-16 R501
Tab
1
Lesson
Introduction
Objectives
Course Introduction
Custom Algorithm Block Overview
Custom Data Block Overview
Explain CAB Documentation Structure
2
CDB Definition and Design
Custom Data Block Configuration Overview
Build a Custom Data Block
3
Introduction to CDB Labs
Create a New CDB Type
Create New CDB Using an Existing CDB Type
4
CAB Definition and Design
CAB Configuration Overview
Build the Custom Algorithm Block
Describe Execution Modes in CAB
Define Access Levels and Access Locks
Describe CDP and Parameter Reference Attributes
Describe the Support of CAB on C300
5
Introduction to VB .NET IDE
6
Introduction to CAB Labs
Introduction to VB .NET IDE
Create a New CAB Type
Open New Block Type for Edit
Create a CAB Instance
Configure Parameter References Tab
Modify a Custom Algorithm Block
7
Configure Insertion Points
Describe Insertion Points
Create a CAB Block as Insertion Point to a
REGCTL Block
Create a CAB without Insertion Point
Create a CAB with Insertion Point
8
Special Considerations
Describe Special Considerations for CAB on C300
9
10
ACE Concepts (ACE Only)
Examine ACE and Sim-ACE Functionality
Describe Support Availability of ACE
Describe ACE-T
Describe Execution Order of Points
Describe Inter-Cluster Peer-Peer Communication
Configure Inter-Cluster Peer-Peer Communication
(Reference Only)
Read/Write a TPS Point Using ACE-T (Reference
Only)
CAB - Additional Programming Considerations (ACEOnly)
Describe Additional Math Functions within VB.Net
Describe CAB Time Settings
Honeywell Confidential and Proprietary
Page: 1 of 2
2018/04/16
Program Objectives
Describe Additional Execution Mode
Considerations in ACE
Configure CAB using Time and Math Functions
11
Configure Dynamic Re-Referencing (ACE Only)
Describe Dynamic Re-Referencing
Configure CAB for Dynamic Re-Referencing
12
Test and Debug CAB (ACE Only)
Test and Debug CAB
Test and Debug CAB
13
Access History Using a CAB (ACE Only)
Describe History Access Using CAB
Configure CAB Block for History Access
14
Access File Using a CAB (ACE Only)
Describe File Access with Read/Write Functionality
Using CAB
Configure CAB Block for File Access with Write
Functionality
Configure CAB Block for File Access with Read
Functionality
15
Manage Custom Algorithm Blocks (ACE Only)
Manage Custom Algorithm Blocks
Describe QVCS Operations for CAB and CDB
Export and Import a CAB
Verify Instance and Recover Source Code
Perform Basic QVCS Operations Using CAB
16
Planning CAB and CDB (ACE Only)
Hardware Requirements for CAB and CDB
Design the Usage of the CAB
Design the Usage of the CDB
Describe Planning Required for QVCS
Describe Migration and Interoperability
17
Migrate a CL Program to CAB (ACE Only)
Describe How to Migrate a CL Program to CAB
Migrate a CL Program to CAB
18
Troubleshooting CAB and CDB (ACE Only)
Troubleshooting CAB and CDB
ACE Node Behavior for Some Critical Problems
19
Final Project
Create a CAB to Calculate Feed Enthalpy
Honeywell Confidential and Proprietary
Page: 2 of 2
2018/04/16
Course Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Introduction
1
Course Introduction
4/17/2018
Purpose of this Course
• As its main focus, this course gives you the information to implement
and deploy Custom Algorithm Blocks
• At the end of this course, you will be able to:
–
–
–
–
–
Introduction
Become familiar with ACE functionality
Configure CABs
Configure CDBs
Configure an OPC Gateway
Configure an Inter Cluster Gateway
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Course Introduction
4/17/2018
Who Should Attend
• Engineers responsible for configuration of CABs
• Plant personnel whose job functions include supporting ACE and C300
nodes
• You should have the following skills to be effective in creating CABs and
CDBs:
–
–
–
–
Familiarity with the basic principles of control systems
Familiarity with the architecture and functionality of the Experion system
Good working knowledge of the Experion Control Builder application
Proficiency in Microsoft Visual Basic .NET programming (for CABs only)
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Course Introduction
4/17/2018
Course Scope
• The following topics are outside the scope of this course:
– OPC server implementation
– VB .NET programming
– Windows system administration
– C300 Controller operations
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Course Introduction
4/17/2018
Course Organization
• The course is presented with:
– Descriptions of concepts and tasks related to building CABs
• Instructor-delivered sessions
– Hands-on lab exercises with step-by-step instructions
• You are assigned a system consisting of a SIM-ACE, SIM-C300, Flex
Station, and server
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Course Introduction
4/17/2018
Conclusion
Course Introduction
Completion
Certificate
Proceed to the next module in your course material
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Course Introduction
4/17/2018
Custom Algorithm Block Overview
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Custom Algorithm Block Overview
4/17/2018
What is a Custom Algorithm Block?
• CAB - Custom Algorithm Block
• CABs are similar to “native” Control Builder function blocks in both
purpose and structure
Example native
function block
CAB function
block
• CAB function blocks let you define both the algorithm and the data
structure of the function block
• CABs can be used in ACE and C300 with 50 mSec and 20 mSec both
• Native blocks derive their pre-defined algorithm, parameters and
variables from ERDB
• You create the CAB algorithm, parameters and variables
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Custom Algorithm Block Overview
4/17/2018
Native Function Block versus CAB
MSVS
algorithm
Library
definition for
algorithm
MSVS
variables
ERDB
variables
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Custom Algorithm Block Overview
4/17/2018
Why Use a CAB?
• Create custom control algorithms with custom parameters when a
“native” function block is insufficient
• Migrate custom control applications from another platform to Experion:
– For Example: Migrating AM/CL (Application Module/Control Language)
programs from an Application Module in a TDC System to
ACE Node in an Experion System
• CAB development requires a CAB developer license from Honeywell
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Custom Algorithm Block Overview
4/17/2018
Conclusion
Custom Algorithm Block Overview
Completion
Certificate
Proceed to the next module in your course material
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Custom Algorithm Block Overview
4/17/2018
This page intentionally left blank
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Custom Algorithm Block Overview
Custom Data Block Overview
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
13
Custom Data Block Overview
4/17/2018
What is a Custom Data Block (CDB)?
• CDB - Custom Data Block
• The CDB allows the creation of custom parameters that can be both
written to and read from by other control modules in the Experion
environment
• The CDB is similar to the CAB in design with the exceptions being the
CDB does not support:
– Custom Algorithms
– Parameter References
• CDBs can reside in ACE, C300, and C200/C200E
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Custom Data Block Overview
4/17/2018
Why Use a CDB?
• CDBs can be used in conjunction with both “native” Control Builder
function blocks and CABs
• CDBs are used when you need to create custom parameters which can
be accessed by other Control Modules (CMs) in Experion
• CDBs are standard with Control Builder and do not require a license
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
15
Custom Data Block Overview
4/17/2018
Example CDB Usage Scenarios
• Hold data that characterizes temperature at one position within one Plug
Flow Reactor (PFR) zone
– Refer to the topic, “CDB to hold sensor data,” in the Custom Algorithm Block
and Custom Data Block User’s Guide
• Transfer an array of temperature and position readings for processing in
CAB
– Refer to the topic, “CDB to consolidate array data,” in the Custom Algorithm
Block and Custom Data Block User’s Guide
• Display data from other systems
– Use OPC Gateway to collect OneWireless sensor data and monitor from
CDB
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
16
8
Custom Data Block Overview
4/17/2018
Conclusion
Custom Data Block Overview
Completion
Certificate
Proceed to the next module in your course material
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
17
Custom Data Block Overview
4/17/2018
This page intentionally left blank
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
18
9
Custom Data Block Overview
Explain CAB Documentation Structure
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
19
Explain CAB Documentation Structure
4/17/2018
CAB Documentation
• Your main guide is the Custom Algorithm Block and Custom Data Block
User’s Guide in PDF collection:
– Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block
and Custom Data Block Users guide
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
20
10
Explain CAB Documentation Structure
4/17/2018
Related Experion References
Experion references you may need to use CAB and ACE include:
• Custom Algorithm Block and Custom Data Block User's Guide
– Supports CAB and CDB configuration
• Control Builder Components Theory
– Supports insertion points
• Parameter Definition Editor Reference
– Supports PDE tasks
• Application Control Environment User Guide
– Supports ACE
• SIM-ACE User Guide
– Supports CAB algorithm off-process debugging
• Application Control Environment User Guide
– Defines requirements
• C300 Controller User Guide
– Supports C300
• Qualification and Version Control User Guide
– Provides information about QVCS support for custom blocks
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
21
Explain CAB Documentation Structure
4/17/2018
Conclusion
Explain CAB Documentation Structure
Completion
Certificate
Proceed to the next lesson in your course material
Introduction
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
22
11
Explain CAB Documentation Structure
4/17/2018
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Custom Data Block Configuration Overview
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Custom Data Block Configuration Overview
4/17/2018
Configuration Overview
• CDB Configuration
involves:
– Creating the CDB
Type in a custom
library
– Adding the CDB to a
Control Module (also
known as
“Instantiating”)
CDB
Instance
CDB Type
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Custom Data Block Configuration Overview
4/17/2018
CDB Characteristics
• You define Custom Data Parameters (CDPs) for the CDB
• Unlike a CAB, a CDB does not use custom algorithms or parameter
references
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Custom Data Block Configuration Overview
4/17/2018
Custom Data Parameter (CDP)
• Maximum limit of 2800
• Configure CDPs in Control Builder
• CDPs are variables, visible within the program and within Experion, as a
whole
– They are “public” in that any agent that has access to the Experion Name
Space can read them
– Similarly, CDPs can be written by any Experion agent subject to stored
access checks specified by the Block Designer
• Note: Array Parameters count as one parameter no matter how many
elements there are
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Custom Data Block Configuration Overview
4/17/2018
Conclusion
Custom Data Block Configuration Overview
Completion
Certificate
Proceed to the next module in your course material
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Custom Data Block Configuration Overview
4/17/2018
This page intentionally left blank
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Custom Data Block Configuration Overview
Build a Custom Data Block
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Build a Custom Data Block
4/17/2018
Build the CDB
• Launch the CDB Development Environment from Control Builder
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Build a Custom Data Block
4/17/2018
Build the CDB
• Once the CDB Development Environment launches, you
– Create a new custom library name or access an existing custom library, and
– Create a new CDB block name
Custom Library
Name
Block Type Name
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Build a Custom Data Block
4/17/2018
Build the CDB
• After specifying the library and block names for your CDB
– The Parameter Definition Editor opens, and
– You define Custom Parameters from the Value CDPs tab
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Build a Custom Data Block
4/17/2018
Custom Parameter Tab Attributes
Parameter Attribute
Valid values
Parameter Name
First character of the parameter name should be an
alpha character.
Only "_" character is allowed in the parameter name
other than alphanumeric characters
The maximum length is 12 characters
The parameter name will always convert to
upper case
Parameter Description
Any character with maximum length of 255
First Dimension Array Size
>= 0 and <= 10,000
0 - means parameter is not arrayed
Second Dimension Array Size
>= 0 and <= 10,000
0 - means second dimension is not specified
Specify first dimension array size to enter
the second dimension array size
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Build a Custom Data Block
4/17/2018
Custom Parameter Tab Attributes
First Dimension Lower bound
Positive/Negative INT16 value
Specify first dimension array size to enter this
attribute
Second Dimension Lower
bound
Positive/Negative INT16 value
Specify second dimension array size to
enter this attribute
Configuration Load
LOAD - Load the parameter value
NOLOAD - Do not load the parameter value
Access Lock
APPDEVONLY
ENGINEER
OPERATOR
PROGRAM
SUPERVISOR
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Build a Custom Data Block
4/17/2018
Custom Parameter Tab Attributes
Data Type
BOOLEAN
DELTATIME
FLOAT64
INT32
STRING
TIME
TIMEOFDAY
Default Value
Specific to data type attribute
Minimum Value
Specific to data type attribute
Maximum Value
Specific to data type attribute
Size
>= 0
Parameter Help String
No limit
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
13
Build a Custom Data Block
4/17/2018
Conclusion
Build a Custom Data Block
Completion
Certificate
Proceed to the next lesson in your course material
CDB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Build a Custom Data Block
4/17/2018
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Topic: Introduction to CDB Labs
Contents
Create a New CDB Type .......................................................................................................................3
Create New CDB Using an Existing CDB Type ..................................................................................13
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CDB Labs
Create a New CDB Type
Create a New CDB Type
Objectives

Create a CDB.

Configure a single variable in CDB.

Utilize the CDB within a CM, as a storage for Totalizer output.

Download the containing CM to the server.

Monitor the CDB online, and verify storage function of a CDB.
Prerequisites

Experion PKS Server with Configuration Studio installed.
Introduction
This lab can be performed with either the SIM-ACE or the SIM-C300, at load time you can choose
either controller.
The purpose of the lab is to explore the functionality of a CDB as it can store user-defined
variable(s). The functionality is the same as that performed by numeric block, but since this is a
user-defined block, the storage variable type can be a selection of available data types within the
CAB structure.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Introduction to CDB Labs
Create a New CDB Type

Step
1
Action
Open Configuration Studio.
Click on Start and select Honeywell Experion Tools > Configuration Studio
2
In the Connect window, select the System representing your assigned system.

Click Connect.
ATTENTION
Ask your instructor if you are not sure which server or
system to select.
4
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CDB Labs
Create a New CDB Type

Step
3
4/15/2018
Action
From Configuration Explorer, choose Control Strategy, then

Select Configure process control strategies.

Result: Control Builder opens.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Introduction to CDB Labs
Create a New CDB Type

Step
4
6
Action
In Control Builder, select File > New > Type > Custom Data Block
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CDB Labs
Create a New CDB Type

Step
5
Action
Enter the following details in the Block Type dialog (where ## appears, enter your
assigned Team number):
Custom Library Name:
TEAM##_CDB
Block Type Name:
FLOW_RATE
Click OK.
6
Under the Value CDPs tab enter the following details:
Parameter Name:
FLOWRATE_A
Parameter Description:
Flow from Flow_CDP
Data Type:
Float64
First Dimension Array Size:
0
Access Lock:
Operator
Configuration Load:
Load
Result: The parameter FLOWRATE_A can be changed on the function block in Project
and/or Monitoring because the Configuration Load selection is “Load” and Access Lock
is Operator.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Introduction to CDB Labs
Create a New CDB Type

Step
7
Action
Click on the Symbol Attribute tab and using the Parameter Picker (
FLOWRATE_A.
), select
Enter the following details:
Input Top Pin: 0
Monitor Face:
0
Result: When you add the CDB Flow_Rate to a Control Module, the parameter
FLOWRATE_A will appear as an input pin and on the function block in Monitoring.
8
Close the CDB.

8
Click Yes to save CDB.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CDB Labs
Create a New CDB Type

Step
9
Action
Create a new Control Module with the following properties:

Tag Name: FLOWRATE_TEAM##

Item Name: FLOWRATE_TEAM##_ITEM

Parent Asset: Training
and click OK.
4/15/2018
10
Add NUMERIC and TOTALIZER blocks to the chart and wire them. Also add the
Flow_Rate CDB to the Control Module.
11
Double-click the NUMERICA block and enter Actual Value of 1. Click OK.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Introduction to CDB Labs
Create a New CDB Type

Step
12
10
Action
Wire the TOTALIZERA block to the FLOWRATE_A pin of the FLOW_RATEA CDB
block.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CDB Labs
Create a New CDB Type

Step
Action
13
Save changes to the Control Module (CM) and assign it to the CEE of the ACE or C300.
14
Download and activate Control Module FLOWRATE_TEAM##. Double-click the CM in
the Monitoring tab to open its monitoring Chart.
15
Double-click on the COMMAND function of TOTALIZERA block. Command the state to
RESET then START.
Result: The STATE of TOTALIZERA block changes to RUNNING.
16
Check that the Control Module is working correctly in Control Builder and Station.
Result: Totalizer values increment.
ATTENTION
Change the station security level to mngr.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Introduction to CDB Labs
Create a New CDB Type
This page was intentionally left blank.
12
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CDB Labs
Create New CDB Using an Existing CDB Type
Create New CDB Using an Existing CDB Type
Objectives

Create a new CDB using the existing CDB you had created in the previous lab.
Prerequisites

Experion PKS server with Configuration Studio installed.
Introduction
In this lab, you create a new CDB using the existing CDB which was created in the previous lab.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
Introduction to CDB Labs
Create New CDB Using an Existing CDB Type

Step
1
Action
Open the FLOW_RATE CDB you just created and Add the following information under
the Value CDP tab:
Parameter Name:
Flowrate_B
Parameter Description:
Flow from Flow_B
Data type:
Float 64
Access Lock:
Operator
Configuration Load:
Load
ATTENTION
In the lab exercise, the Access Lock of operator is used for training
convenience. At your site, you may want to consider using higher
access levels for your custom parameters.
2
3
Click on the Symbol Attribute tab and enter the following details:
Parameter:
Flowrate_B
Input Top Pin:
3
Monitor Face:
3
Click File > Save As and enter the following details:
Custom Library Name:
Team##_CDB
Block Type Name:
FLOWRATE_V1
Click OK and close the CDB.
Result: A new CDB Type appears in the library Team##_CDB.
4
14
Open Control Module FLOWRATE_TEAM## in Project of Control Builder.

Delete the old CDB block.

Add the new Flowrate_V1 CDB block.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CDB Labs
Create New CDB Using an Existing CDB Type

Step
4/15/2018
Action
5
Add another TOTALIZER block and set the Scale Factor to 2.
6
Wire the TOTALIZERA and TOTALIZERA_1 blocks to the FLOWRATE_V1A block as
shown.
7
Close and Save the Control Module FLOWRATE_TEAM##.
8
Download and Activate the Control Module FLOWRATE_TEAM##. Command the two
TOTALIZER blocks to RESET and then START.
9
Ensure that the CM is totalizing from Control Builder Monitoring view or from Station.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Introduction to CDB Labs
Create New CDB Using an Existing CDB Type
This page was intentionally left blank.
16
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
CAB Configuration Overview
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
CAB Definition and Design
1
CAB Configuration Overview
4/17/2018
Configuration Overview
• Create a CAB
Type
– Same concept
as a “class” in
object-oriented
software
terminology
CAB Instance
• Create an
instance from the
CAB type
– Same concept
as “objects” in
object-oriented
software
terminology
CAB Type
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
CAB Configuration Overview
4/17/2018
CAB Development Environment
• Use 2 tools to build a CAB – the PDE and Microsoft Visual Studio .NET
CABs define their control
specific data types or variables
within the PDE. CABs have all
their data types; visible to the
Experion user
Parameter Definition Editor
CABlock.vb
CABs have their algorithms
defined within the CABlock.
These algorithms are
defined in .NET language
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
CAB Configuration Overview
4/17/2018
CAB Development Environment
A Custom Data Parameter
(CDP) data type can be
• Displayed as a block pin
• Used within the algorithm
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
CAB Configuration Overview
4/17/2018
CAB Code
• Algorithms are
defined in the
CABlock.vb tab
of the MSVS
Development
Environment
within Control
Builder
CABlock.vb Tab
Execute() Subroutine
Execute() is a single subroutine that forms the user-supplied interface for all CABs.
It is known to the wider CEE environment.
• Called whenever the containing CEE is in Run and the parent CM is Active.
• Can read and write to CDPs, block scope variables, and local variables as needed.
• Makes reference to parameters owned by other block instances through the
use of CAB Parameter References.
• Can send messages and make use of other CEE-specific APIs.
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
CAB Configuration Overview
4/17/2018
CAB Data Type Categories
• Data type categories within CAB are the following:
– Fixed Definition Parameters (FDP)
– Custom Data Parameters (CDP)
– Parameter References
– Block Scope Variables
– Local Variables
• Data type categories within CAB differ according to persistence,
visibility, and storage
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
CAB Configuration Overview
4/17/2018
Fixed Definition Parameters (FDP)
• FDPs are Honeywell defined and not available for definition by users,
although users can read them and write to some of them
• Maximum limit is 200
– Approximately 50 are currently in use with 150 more reserved for future use
• The platform option parameter, X_PLATOPT, is set to ACEANDC300
CABs that run in ACE and C300
• Some parameters appear on the
Fixed tab of the PDE
– You can specify a default value
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
CAB Configuration Overview
4/17/2018
Custom Data Parameters (CDP)
• Maximum limit of 2800 for ACE and 1500 for C300
• Configured on the Value CDPs tab of the Parameter Definition Editor
• CDPs are visible within CAB and within Experion
– CDPs are "public" in that any agent that has access to the Experion name
space can read them
– Similarly, CDPs can be written by any agent subject to store access checks
specified by the block designer
• Note: Array parameters count as one parameter no matter how many
elements they have
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
CAB Configuration Overview
4/17/2018
Custom Data Parameter – Additional Considerations
• Do not use names that begin with “X_” when naming your CDPs
• Honeywell names its new FDPs with names that begin with “X_” (for
example, X_EXECMODE)
– The “X_” naming convention restriction is PDE enforced
– Ensures that Honeywell will not conflict with a name used as a CDP
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
CAB Configuration Overview
4/17/2018
Parameter References
• Parameter References :
– Process control data elements that exist external to the CAB, but
– Values can be used within the CAB
• Configured on the Parameter References tab of PDE
• Defined on Configuration form
• CAB on C300 supports only static Parameter References
– CAB on ACE supports both static and dynamic Parameter References
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
CAB Configuration Overview
4/17/2018
Block Scope and Local Variables
• Variables that are visible only within the CAB program
• Block Scope variables are persistent and retained across block
executions
• Local variables
– Declared within the Execute() subroutine
– Values are not persistent from one block execution to the next
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
CAB Configuration Overview
4/17/2018
Conclusion
CAB Configuration Overview
Completion
Certificate
Proceed to the next module in your course material
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
CAB Configuration Overview
4/17/2018
Build the Custom Algorithm Block
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
13
Build the Custom Algorithm Block
4/17/2018
Build the CAB
• To build the CAB
– Select New > Type >
Custom Algorithm Block
– Control Builder launches
the development
environment
– Development environment
is called the Integrated
Development Environment
(IDE)
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Build the Custom Algorithm Block
4/17/2018
Build the CAB
• Once the CAB Development Environment launches, you
– Create a New Custom Library Name or access an existing Custom Library,
and
– Create a new CAB Block Name
Custom Library Name
Block Type Name
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
15
Build the Custom Algorithm Block
4/17/2018
Build the CAB
• After specifying the Library and Block Names for your CAB
– The Parameter Definition Editor opens, and
– You define Custom Parameters from the Value CDPs tab
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
16
8
Build the Custom Algorithm Block
4/17/2018
Enter CAB Code
• After defining parameters
– Select the CABlock.vb
tab
– The CABlock.vb tab
contains the framework
of Honeywell-supplied
code with no executable
statements
• Insert the code for your
algorithm under Public
Overrides Sub Execute()
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
17
Build the Custom Algorithm Block
4/17/2018
Save your CAB
• Types of Save
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
18
9
Build the Custom Algorithm Block
4/17/2018
Conclusion
Build the Custom Algorithm Block
Completion
Certificate
Proceed to the next module in your course material
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
19
Build the Custom Algorithm Block
4/17/2018
This page intentionally left blank
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
20
10
Build the Custom Algorithm Block
Describe Execution Modes in CAB
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
21
Describe Execution Modes in CAB
4/17/2018
Overview
• You can configure CAB to execute in either of the two modes
– Atomic Execution Mode
– Distributed Execution Mode
• In the Atomic Execution Mode, the algorithm must complete execution
within 250 milliseconds for ACE (which is one half of ACE base
execution cycle)
– Execution time limit for CAB Blocks running in C300 is based on an
internally maintained count of backward branches and subroutine calls
– Default mode
– Used where the program must complete its execution when scheduled
– Examples: calculate a PV, calculate temperature zone statistics
• In Distributed Execution Mode, algorithm execution is allowed to span
multiple ACE base execution cycles
– Similar in concept to Background CL in AM
– Examples: history, file I/O, CABs that require long computations
– This mode is not supported in CAB Bocks running on C300 Controller
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
22
11
Describe Execution Modes in CAB
4/17/2018
Execution Mode Configuration
• Execution mode is determined by the X_EXECMODE
– Configured in the PDE on the Fixed tab
– Value of this parameter cannot be changed in a CAB instance
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
23
Describe Execution Modes in CAB
4/17/2018
Atomic Execution Mode in C300
• In CAB/C300, the Execution Time Limit is based on internally
maintained count of backward branches and subroutine calls
– An instance is terminated if an activity counter exceeds the limit configured
for the block type
– This limit is provided in the X_BRANCHLIM parameter
• Specifies the maximum count of backward branches and subroutine
calls allowed before the CAB instance is terminated
• X_BRANCHLIM has a default value of 10 and a maximum value of
1000
– Using a value higher
than 10 requires a clear
understanding of both
the CAB algorithm and
the configuration load
of the C300s where the
CAB is to be used
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
24
12
Describe Execution Modes in CAB
4/17/2018
Distributed Execution Mode
• This mode is not supported for CAB running in C300
• In the Distributed Execution Mode, the CAB executes in a process (CAB
client process) different from ACE Base Execution Process and a no
limit execution time
– Distributed Mode Execution is required for CAB Blocks which perform file I/O
or history access but can be configured for any CAB when extended
execution is required
• A Distributed Mode CAB is terminated if the parent CM is inactivated or
CEE goes to IDLE while the CAB is executing
• CAB Programs, to be used as insertion point algorithm, cannot execute
in the Distributed Mode
– Such CAB Blocks must be configured for Atomic Execution
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
25
Describe Execution Modes in CAB
4/17/2018
Conclusion
Describe Execution Modes in CAB
Completion
Certificate
Proceed to the next module in your course material
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
26
13
Describe Execution Modes in CAB
4/17/2018
Define Access Levels and Access Locks
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
27
Define Access Levels and Access Locks
4/17/2018
Setting the Access Level of a CAB Block
• The Access Level of a CAB Block is set under the Fixed tab of the
Parameter Definition Editor in the CAB Type configuration
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
28
14
Define Access Levels and Access Locks
4/17/2018
CAB / CDB Access Locks
• The Access Lock of a CDP determines which external agents can
initiate stores to the parameter
– CDPs are defined on both CABs and CDBs
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
29
Define Access Levels and Access Locks
4/17/2018
CAB / CDB Access Levels
• The user
configures “Access
Level” for each
CDP (Fixed tab)
when the CDP is
created
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
30
15
Define Access Levels and Access Locks
4/17/2018
CAB Access Locks - Example
•
•
•
•
Access Lock is configured in Value CDPs tab of PDE
If we set Access Lock = Engineer, then a user logged on with engineering
privileges using a Station Display, can store to the CDP
Users logged with only supervisor or operator privileges and using the same
display cannot store to the CDP
Supervisory Batch or Continuous Control applications can store to the CDP, as
can any CEE Function Blocks with the capability to initiate stores
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
31
Define Access Levels and Access Locks
4/17/2018
Conclusion
Define Access Levels and Access Locks
Completion
Certificate
Proceed to the next module in your course material
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
32
16
Define Access Levels and Access Locks
4/17/2018
Describe CDP and Parameter Reference
Attributes
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
33
Describe CDP and Parameter Reference Attributes
4/17/2018
Custom Data Parameter Tab Attributes
• Define Custom Parameters from the Value CDPs tab
– Add and delete Custom Parameters from this tab
– Edit designated parameter attributes
– Same tab as CDB, refer to that course material to review
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
34
17
Describe CDP and Parameter Reference Attributes
4/17/2018
Parameter References Tab
• Define Parameter References from its tab
– Add and delete Parameter References from this tab
– Edit Designated Parameter Attributes
• Parameter Reference: Similar to purpose of CL “External” Statement
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
35
Describe CDP and Parameter Reference Attributes
4/17/2018
Parameter Reference Attributes
Parameter Attribute
Valid values
Parameter Name
First character of the parameter name should be
alphabetic.
Only “_” character is allowed in the parameter name
other than alphanumeric characters.
Maximum length for parameter name is 32 characters.
The parameter name will be always converted to upper
case letters.
Parameter Description
Any character with maximum length of 255
Data Type
BOOLEAN
DELTATIME
FLOAT64
INT32
STRING
TIME
TIMEOFDAY
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
36
18
Describe CDP and Parameter Reference Attributes
4/17/2018
Parameter Reference Attributes
Data flow
INPUT – Only reading of Data is allowed
OUTPUT – Only writing of data is allowed
IN/OUT – Data can be either read or write
Dynamic Reference
Dynamic Reference enabled or disabled (only in
CAB/ACE)
• Data Flow
– The attribute specifies the reference is being used for input, output or both
• Dynamic Reference
– Configurable for either static referencing, or for Dynamic Referencing
– This option must always be unchecked for CAB’s running on C300
– Allows you to change the target for the reference “on the fly,” even though
the instance is loaded and executing.
– For more information on Dynamic Referencing, see the Custom Algorithm
Block and Custom Data Block User’s Guide, Dynamic re-referencing of
parameter reference
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
37
Describe CDP and Parameter Reference Attributes
4/17/2018
CDP vs PRef
Custom Data Parameter (CDP)
Parameter Reference (PRef)
CDPs are a prefetch/poststore type
PRef read or write is executed when the
statement is executed.
If the data needs to fetched every cycle,
then CDP has to be used
Complex Data types like Strings, Time, etc.
and the data does not need to be fetched every
cycle, then use PRef
Values of the CDPs are stored within the
CAB
Values of the PRef are stored external to CAB.
CAB stores only pointers to the actual data
Supports Whole Array access
Does not support Whole Array access
Does not support Dynamic Re-referencing
Supports Dynamic Re-referencing (ACE)
Cannot be used for Insertion Points
Used for Insertion Points
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
38
19
Describe CDP and Parameter Reference Attributes
4/17/2018
Parameter Reference Example 1
• Dynamic Reference not Enabled
– Point Name Reference Configured in Project, viewable in Monitoring
Configure Point Name
Reference
Disabled for Dynamic
Re-referencing
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
CAB Definition and Design
39
Describe CDP and Parameter Reference Attributes
4/17/2018
Parameter Reference Example 2
• Dynamic Reference Enabled
– Point Name Reference Configurable in Project or Monitoring
Enabled for Dynamic Rereferencing
Configure Point Name
Reference
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
40
20
Describe CDP and Parameter Reference Attributes
4/17/2018
Using Parameter References in CAB Code
• When the CAB program reads and writes Parameter References,
– The CAB program reads and writes to a predefined member of a class
– Example statement: Flow1.Value = 44.0
– “Float64Pref” class used in our example (DataType = Float64)
• “Value” most commonly used in CAB Code
– “Value” is a member of PRef class
• Commonly used members, in addition to “Value”, of PRef class are
– Read(), Write(), ReadStatus, WriteStatus
– Example statement: Flow1.Write()
– Refer to “Parameter reference classes” in user guide for more details
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
41
Describe CDP and Parameter Reference Attributes
4/17/2018
Using Parameter References in CAB Code
• Value Property acts like a local data cache
– No connection to the world outside the CAB Program
• Read() must be invoked first to transfer data into Value
• Write() must be invoked afterwards to transfer data out of Value
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
42
21
Describe CDP and Parameter Reference Attributes
4/17/2018
Example Fragment using Read(), Write()
• Read() call precedes the use of Value
• Value – accesses or sets value
• Write() call anytime after the Value has been written
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
43
Describe CDP and Parameter Reference Attributes
4/17/2018
Pref Members at a Glance
• Value – accesses or sets value
• Read() - Causes data to be transferred into the block
– Precedes the use of Value for input PRefs
– Attempt to call Read() on an output PRef causes a data access error
• Write() - Causes data to be transferred out of the block
– Called after the Value property has been written
– Attempt to call Write on an input PRef causes a data access error
– Attempt to call Write on a PRef whose WriteStatus is WritePending causes a
data access error and WriteStatus changes to WriteRejected
• ReadStatus - Can be used to identify data access failures
– Returns the data access status for the last Read() or PRefList.Read()
transaction of the PRef. (See "Enumeration CABAccStatusEnum“)
• WriteStatus - Can be used to identify success of local/remote writes
– Returns the data access status for the last Write() or PRefList.Write()
transaction of the PRef. (See "Enumeration CABAccStatusEnum“)
• Refer to “Parameter Reference Classes” in user guide for more details
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
44
22
Describe CDP and Parameter Reference Attributes
4/17/2018
Using Parameter Reference List Class
• Most programs can use PRefList.Read() and PRefList.Write()
– Less coding effort with fewer statements instead of using Read() and Write()
– Groups predefined PRefs so that Read() and Write() operations commanded
in bulk
• PRefList.Read() typically called at the start of Execute()
– Fetch data into the Value property of each input or input/output PRef
• PrefList.Write() typically called at the end of Execute()
– Store data out of the Value properties of output and input/output PRefs
• Distributed CABs should use PRefList.Read() and PRefList.Write()
– If there is more than one PRef parameter to be read or written, since each
read or write incurs the minimum two base cycle delay
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
45
Describe CDP and Parameter Reference Attributes
4/17/2018
Optimization of CAB - PRefList
• PRefList.Read() and PRefList.Write() are functions used for optimization
of CAB performance
• The CAB execution time is enhanced as the read and write functions are
member functions of the PRefList class. This is the Object Oriented
Programming Concept
Parameters in PDE are
variables of PRefList class
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
46
23
Describe CDP and Parameter Reference Attributes
4/17/2018
Example Fragment using PrefList
• Read() call replaced with a call to PRefList.Read()
• Example shows usage of PRefList.read() and PRefList.Write()
– Illustrates that both PRefList.Write() and Write() can be used
– Three of the four Write() calls replaced with single call to PRefList.Write()
– Write() call after the first assignment to MODEATTR.Value is still required as
MODEATTR is written twice within the same execution cycle
– Order of assignments (MODEATTR.Value, MODE.Value, and SP.Value) are
faithfully preserved by PRefList.Write()
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
47
Describe CDP and Parameter Reference Attributes
4/17/2018
Optimization of CAB - PRefList
• PRefListClass - Provides a list interface to reference parameters. This
is a simple user interface to the class. The list interfaces the PREF
values to locally cached variables. The .Value property is the new value
cached locally
• PRefList - user callable list interface to all input and output PRefs. Class
whose purpose is to group predefined PRefs so that Read() and Write()
operations may be commanded in bulk
• Write - Causes data to be transferred out of the block
• Read - Causes data to be transferred into the block
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
48
24
Describe CDP and Parameter Reference Attributes
4/17/2018
Why use CABAccStatusEnum?
• "ReadStatus" and "WriteStatus" provided for each Parameter Reference
– However, statuses can be used or ignored by the CAB programmer
– CAB never aborts program execution or throws an exception in response to
a parameter access error
– If response to error behavior is desired, you must design into the program
• Examples of Status
Check
– If error, do error
processing
– Using “not” and =
– Using <>
– Importing
enumeration, use
shorter form OK
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
49
Describe CDP and Parameter Reference Attributes
4/17/2018
CABAccStatusEnum ReadStatus <>OK Example 1
• Data Access Errors can be reported
– Program Status Descriptor, PROGSTSDESC, a string valued parameter that
can be used within a CAB program to publish the last error detected
– Uses Abort() subroutine to force exception and event if problem discovered
• Parameter Access Errors are returned to the CAB at run time as
members of enumeration CABAccStatusEnum
– More details in user guide in topic "Enumeration CABAccStatusEnum"
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
50
25
Describe CDP and Parameter Reference Attributes
4/17/2018
CABAccStatusEnum ReadStatus <>OK Example 2
• Data Access errors can be handled as “Not a Number (Nan)”
– Writes NaN (that is, a bad value) to the targeted variable
– Any CAB variable can receive a NaN as a valid value
– There is no equivalent to CL/AM ALLOW_BAD in CAB — none is necessary
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
51
Describe CDP and Parameter Reference Attributes
4/17/2018
Conclusion
Describe CDP and Parameter Reference Attributes
Completion
Certificate
Proceed to the next module in your course material
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
52
26
Describe CDP and Parameter Reference Attributes
4/17/2018
Describe the Support of CAB on C300
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
53
Describe the Support of CAB on C300
4/17/2018
CAB on C300
• CAB function blocks can be loaded to a C300 Controller with 50 mSec
and 20 mSec base time period
– There is no performance difference between C300 (50 mSec) and C300 (20
mSec)
• CAB/C300 is a subset of CAB/ACE functionality
– Allows users to create block types and algorithms which run on the C300
Controller
– Some functions supported by CAB/ACE are not supported by CAB/C300
– All functions supported by CAB/C300 are also supported on CAB/ACE
except for redundancy
– As an ACE is not redundant CAB on ACE does not support redundancy
• Provide CAB implementation on a level-1 controller
– Remove dependency on continuous changing VB.NET versions
– Supports run-time emulation of key .NET (ECMA) Value types
• Supports redundancy, RAM Retention Restart, On-Process Migration
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
54
27
Describe the Support of CAB on C300
4/17/2018
CAB in System Context
MS Visual Studio
ERDB
Encompasses
Presents Data Content
Offline Data
CAB Build Time
Presents Operations Data
EPKS Station
CAB Instance
Creates
Caches Operations Data
Instantiates
EPKS Server
CAB Type
Dynamic Links
Dynamic Links
CAB/ACE
CABACE
Executes
CAB/C300
CABC300
Run-Time
Run-Time
Executes
CAB Instance
Run-Time
Run-Time
CAB Instance
Hosts
Hosts
CEE-C300
CEE-ACE
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
55
Describe the Support of CAB on C300
4/17/2018
Enable CAB Run Time
• No change to the C300 hardware
• Software has been implemented with additional run time support
• Restrictions are placed on the Control Execution Environment and the
programming constructs
• Enable CAB run time (ENABLECAB) is the checkbox added in CEE
Properties
– Must be ON to load CAB Types to the C300 Controller
– ENABLECAB is unchecked by default
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
56
28
Describe the Support of CAB on C300
4/17/2018
CAB on C300
• CAB can be programmed in two
modes
X_PLATOPT
ACEONLY
ACEANDC300
ACE


SIM-ACE


C300


SIM-C300


CONTROLLER
– ACEONLY: Default Value
– ACEANDC300: Used to load CAB
on C300
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
CAB Definition and Design
Describe the Support of CAB on C300
4/17/2018
57
CAB on C300
CAB Build-time
Creates
X_PLATOPT= ACEANDC300
CAB
Executes
Executes
SIM-ACE
Executes
Executes
C300
Type
PC-hosted simulation
Type
Embedded host
Runtime
MS .NET
Runtime
Honeywell built
Support
All CAB functionality
Support
CAB Subset
Debugging
Source Level
Debugging
Black box only
Emulation
Performance/Capacity
Emulation
Actual controller
ACE
CAB Definition and Design
SIM-C300
Type
PC-hosted Soft controller
Type
PC-hosted simulation
Runtime
MS .NET
Runtime
Honeywell built
Support
All CAB functionality
Support
CAB Subset
Debugging
Black box only
Debugging
Black box only
Emulation
Actual controller
Emulation
None
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
58
29
Describe the Support of CAB on C300
4/17/2018
Comparison of CAB on ACE and CAB on C300
Functional item
VB.NET Source Code
Custom Parameters
Parameter References
Dynamic Re-referencing
Source Level Debugging on Simulator
Atomic Execution( Periodic, Start to Finish)
Distributed Execution (Background)
Data Acquisition and Regulatory Control
Insertion Points
Operation With Process Special CM
User Written Try-Catch
Supported in CAB/ACE
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Supported in CAB/C300
Yes
Yes
Yes
No
Yes (SIM-ACE)
Yes
No
Yes
Yes
Yes
Yes
No
No
Infinite Loop Protection
Time-based Loop
Termination
Count-based Loop
Termination
VB Statements and Functions
Subset of VB.NET
Subset of CAB/ACE
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
59
Describe the Support of CAB on C300
4/17/2018
Conclusion
Describe the Support of CAB on C300
Completion
Certificate
Proceed to the next lesson in your course material
CAB Definition and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
60
30
Describe the Support of CAB on C300
4/17/2018
Introduction to VB .NET IDE
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Introduction to VB .NET IDE
4/17/2018
MSVS IDE - Introduction
• A Selection of the File > New > Type > Custom Algorithm Block from the
Control Builder menu will invoke the VB.NET IDE
• Alternately a Selection of the View Type or Edit Type on any Pre-built
CAB Block within the Library will invoke the VB.NET IDE
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Introduction to VB .NET IDE
4/17/2018
MSVS IDE - Features
• A CAB and VB.NET Integrated Development Environment (IDE) can be
installed and processed on an Experion FLEX Station
• CAB is built on an Experion FLEX Station and executed on an ACE
Node
• Microsoft Visual Studio (MSVS) IDE is a Customized IDE for CAB
Operations
• A new IDE window opens for every CAB. There is no project workspace
creation
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Introduction to VB .NET IDE
4/17/2018
MSVS IDE - Features
• Provides Standard Feature of IntelliSense
• Provides Coding Interface in VB Scripts using .NET 2012 Environment
• PDE parameters are available in the MSVS IDE
– An ERDB Save will update the ERDB with the compiled version of PDE Data
and the VB.NET Code
• Imports the standard Honeywell supplied namespaces, by default
• Supports Common Language Runtime Debug Environment for Off Line
Simulation Debugging
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Introduction to VB .NET IDE
4/17/2018
MSVS IDE - Introduction
Compile and
ERDB Load
Toolbar
Standard
Toolbar
Parameter
Definition Editor
Code View
Tasks Pane
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Introduction to VB .NET IDE
5
Introduction to VB .NET IDE
4/17/2018
MSVS IDE – Toolbar
• The Save PDE Data
Scripts
will store the PDE Parameters to the VB
• A Build
will perform the compilation process where source code
files are converted into Executable Code
• Cancel
will abort the current build process
• Save to ERDB
Code
will update the ERDB with the last built Executable
• Solution Configurations will determine the
Output Code Configuration as the debug release
will consist of Full Symbolic Debug Information
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Introduction to VB .NET IDE
4/17/2018
MSVS IDE – Save Options
• The IDE supports all Standard Data Save Options
• The Save-Renew PDE Data Option is to be used when an system error
occurs and the user is notified to use the Save-Renew PDE Data
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Introduction to VB .NET IDE
4/17/2018
MSVS IDE – Debug Tools
• The Continue (F5) will run the
program under debug control, until a
breakpoint is hit
• Attach to process will link the IDE to
the debugger through selection of
the ACE Process
• The Step Into (F11) will increment
the program by single step, under
Debug Control
• The New Breakpoint (Ctrl+B) will
insert a new breakpoint at current
cursor location
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Introduction to VB .NET IDE
4/17/2018
Conclusion
Introduction to VB.NET IDE
Completion
Certificate
Proceed to the next lesson in your course material
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Introduction to VB .NET IDE
4/17/2018
This page intentionally left blank
Introduction to VB .NET IDE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Introduction to VB .NET IDE
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Topic: Introduction to CAB Labs
Contents
Create a New CAB Type .......................................................................................................................3
Open New Block Type for Edit ............................................................................................................11
Create a CAB Instance ........................................................................................................................15
Configure Parameter References Tab.................................................................................................23
Modify a Custom Algorithm Block........................................................................................................29
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Create a New CAB Type
Create a New CAB Type
Objectives

Create a new Custom Algorithm Block (CAB) to calculate a simple logic expression. At the
end of the lab, you will have a basic understanding of the development environment and the
steps to build and load a CAB. You will do this lab procedure on Flex Station.
Prerequisites

Experion Flex Station installed with CAB Developer.

Controllers loaded on server.

Application Control Environment installed and loaded on server.
Introduction
In this lab, you will perform the following:

Create a CAB which increments the value of a variable by 3.5 on every execution.

Build the CAB and check for any errors.

Save the CAB to ERDB.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Introduction to CAB Labs
Create a New CAB Type

4
Step
Action
1
Launch Configuration Studio and open Control Builder, if not already open.
2
Select File > New > Type > Custom Algorithm Block.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Create a New CAB Type

Step
3
Action
Complete the Block Type dialog as follows.
Custom Library Name:
TEAM##_CAB
Block Type Name:
FLOW

Click OK to open the Cab Development Environment.
ATTENTION
Remember to use your team number in place of the “##’
4
In the Parameter Definition Editor, select the Fixed tab.
Select the Default Value as ACEANDC300 for the X_PLATOPT parameter.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Introduction to CAB Labs
Create a New CAB Type

Step
5
Action
Click on the Parameter Definition Editor tab and then the Value CDPs tab:
Enter the following Details:
6
6
Parameter Name:
Flow_C
Parameter Description:
CDP In/Out
Data Type:
Float64
First Dimension Array Size:
0
Access Lock:
Operator
Configuration Load:
Load
Default Value:
1.5
Save the data to the PDE by clicking the Save PDE Data icon
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
.
4/15/2018
Introduction to CAB Labs
Create a New CAB Type

Step
7
Action
Click the CABlock.vb tab
ATTENTION
The CAB program given below is also available in the
text file C:\Student\CAB Scripts\Create a New CAB
Type.txt. You can optionally copy the code from this
text file and paste it in CABlock.vb window.
Ensure that you delete all existing code in
CABlock.vb window and then select all text in the
script text file and paste it in CABlock.vb window.
Enter the following under the Public Overrides Sub:
Me.Flow_C.Value += 3.5 ‘me.flow.value +3.5’
ATTENTION
The code “Me.Flow_C.Value += 3.5” adds a value of
3.5 to the default value of 1.5 (Defined in the Value
CDPs tab) every time the CAB block executes. It is
equivalent to the expression
“Me.Flow_C.Value = Me.Flow_C.Value + 3.5”.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Introduction to CAB Labs
Create a New CAB Type

Step
Action
8
Then Build the solution - it will also check for errors in your code - by selecting the Build
Solution button (
).
ATTENTION
If you encounter errors on the build, try to resolve the
errors. Consult the instructor as needed to resolve
errors. If you have no errors, proceed to the next step.
8
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Create a New CAB Type

Step
9
Action
Save the CAB to the ERDB.This will make the CAB available for insertion into Control
Modules.

Click the Save to ERDB icon

Wait for the Save to ERDB completed message at the bottom of the window.

Close the design environment.
.
Result: The new CAB Library Name and new CAB Type appear in the Library tab in
Control Builder.
10
4/15/2018
We will create a Control Module using this CAB block in future labs. Later, you edit and
modify the CAB created in this exercise.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Introduction to CAB Labs
Create a New CAB Type
This page was intentionally left blank.
10
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Open New Block Type for Edit
Open New Block Type for Edit
Objectives

Edit the Custom Algorithm Block (CAB).
Prerequisites

Experion Flex Station installed with CAB Developer.

SIM C300 Controller loaded on server.

Application Control Environment installed and loaded on server.
Introduction
In this lab, you will perform the following:

Change/edit the CAB which was created earlier.

Build the CAB to check for any errors.

Save the CAB to ERDB.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Introduction to CAB Labs
Open New Block Type for Edit

Step
Action
1
ATTENTION
Make sure you Edit CAB Block from Library.
2
Open the CAB Block just created (i.e., Flow) and make amends to the existing entries.
Within the Parameter Definition Editor, click on the Value CDPs tab and enter:
3
Parameter Name:
Flow
Parameter Description:
CDP In/Out
Data Type:
Float 64
Access Lock:
Operator
Configuration Load:
Load
Default Value:
2.5
Once the entries have been made, save the CAB to the PDE by clicking the SAVE to
PDE icon.
ATTENTION
Saving the CAB to PDE saves the parameters to the
development environment. This makes them known to the
system and can then be used in the custom code.
A confirmation message will appear at the bottom of the screen.
4
12
Click on the CABlock.vb tab to open the VB Development Environment.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Open New Block Type for Edit

Step
5
Action
Enter the following under the Public Overrides Sub area.
ATTENTION
The CAB Program given below is also available in the
text file C:\Student\CAB Scripts\Open New Block
Type for Edit.txt. You can optionally copy the code
from this text file and paste it in CABlock.vb window.
Ensure that you delete all existing code in
CABlock.vb window and then select all text in the
script text file and paste it in CABlock.vb window.
Me.flow.value += 3.5 ‘code is same as me.flow.value = me flow.value + 3.5’
6
4/15/2018
When you finish making the entries, click on the Build Solution Icon
there are no errors.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
and ensure
13
Introduction to CAB Labs
Open New Block Type for Edit

Step
7
Action
Next save to the ERDB to make the CAB available for building into Control Modules.
Click on the Save to ERDB Icon.
14

Wait for the Save to ERDB completed message at the bottom of the window.

Close the design environment.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Create a CAB Instance
Create a CAB Instance
Objectives

Create an instance of the Custom Algorithm Block (CAB).
Prerequisites

Experion Flex Station installed with CAB Developer.

SIM C300 Controller loaded on server.

Application Control Environment installed and loaded on server.
Introduction

4/15/2018
In this lab, you will create a new instance of the CAB in a control module and check the
execution of the CAB in SIM-ACE and/or SIM-C300.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Introduction to CAB Labs
Create a CAB Instance

Step
1
Action
Create a new Control Module.
In Control Builder, click File > New > Control Module.
2
16
In the Library Tree window, expand the Team##_CAB tree, and drag the FLOW function
block into the Control Module.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Create a CAB Instance

Step
3
Action
Double click the FLOWA block to configure its parameters.
Select the Value CDPs tab and ensure that the “CDP In/Out” parameter has a value of
2.5.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
17
Introduction to CAB Labs
Create a CAB Instance

18
Step
Action
4
Select the Block Pins tab and add the FLOW parameter as both an input and output and
click OK.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Create a CAB Instance

Step
5
Action
Add a Numeric block from Utility library to the control module.
Double click the Numeric block and enter 0.1 in Actual Value.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
19
Introduction to CAB Labs
Create a CAB Instance

Step
6
Action
Click on the Block Pins Tab.

20
Add PV Parameter as an Input pin and click OK.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Create a CAB Instance

Step
4/15/2018
Action
7
Make the connections as shown. Save the Control Module.
8
Open the properties of the Control Module and enter the following details:
Name:
TEAM##_FLOW_CDP
Item Name:
TEAM##_FLOW_CDP_ITEM
Parent Asset:
TRAINING
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
21
Introduction to CAB Labs
Create a CAB Instance

Step
Action
9
In the Server History tab, click on the point picker for Parameter. Select
TEAM##_FLOW_CDP.NUMERICA.PV as the parameter and check the FAST, STD, and
EXTD history checkboxes and click OK.
10
Save & Close the Control Module. Assign the Control Module to the CEE of ACE. Load
the Control Module to the ACE.
11
Repeat steps 1 to 10 to create another control module.
ATTENTION
In Step 8, enter the following details:
Name:
TEAM##_FLOW2_CDP
Item Name:
TEAM##_FLOW2_CDP_ITEM
Parent Asset:
TRAINING
In step 9, assign the TEAM##_FLOW2_CDP.NUMERICA.PV
parameter to FAST, STD, and EXTD history.
22
12
Save the Control Module. Assign the Control Module to the CEE of C300. Load and
Activate the Control Module.
13
Ensure that both control modules are working correctly. You can verify correct operation
when you open the CMs in Monitoring and observe their PV values increment.
14
After you are satisfied your CMs operate correctly, close both CM’s in Monitoring.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Configure Parameter References Tab
Configure Parameter References Tab
Main Idea
In this lab exercise you will configure the following items:
1. Make a new CAB type.
2. Configure Custom Data Parameters and Parameter References.
3. Write code to read the parameter reference (PV of NUMERIC block) and assign the value
configured in Custom Data Parameter.
4. Add a constant value of 3.6 to this assigned value, in the CAB code.
5. Write back the calculated value to parameter referred to in the parameter reference tab (PV
of NUMERIC block).
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
23
Introduction to CAB Labs
Configure Parameter References Tab

Step
1
Action
Create a new CAB using the same Custom library Team##_CAB.

Name it FLOW_PREF

Click OK to open the Development Environment.
ATTENTION
Remember to use your team number in place of the
“##’
2
In the Parameter Definition Editor, select the Fixed tab.
Select the Default Value as ACEANDC300 for the X_PLATOPT parameter.
24
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Configure Parameter References Tab

Step
3
4
4/15/2018
Action
Enter the following information in Parameter Definition Editor under the Value CDP
tab:
Parameter Name:
Flow_P
Parameter Description:
Faceplate value
Data Type:
Float 64
Access Lock:
Operator
Configuration Load:
Load
Default Value:
2.5
Enter the following information in Parameter Definition Editor under the Parameter
References tab:
Parameter Name:
NUMPV
Parameter Description:
Numeric PV Access
Reference Data Type:
Float 64
Data Flow:
In/Out
Dynamic Reference:
Leave unchecked
5
Save the PDE Data.
6
Click on the Symbol Attribute tab and verify the entries as below:
7
Save the PDE Data.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
25
Introduction to CAB Labs
Configure Parameter References Tab

Step
8
Action
Select the CABlock.vb tab and under the Public Overrides sub.
ATTENTION
The CAB program given below is also available in the text file:
C:\Sudent\CAB Scripts\Configure Parameter References Tab.txt. You
can optionally copy the code from this text file and paste it in CABlock.vb
window.
Note that the CAB Code present in the text file and code provided in this
step is incomplete. You must add a line to increment the NUMPV
parameter by 3.6.
Ensure that you delete all existing code in CABlock.vb window and then
select all text in the script text file and paste it in CABlock.vb window.
Enter the following:
Me.NUMPV.Read()
Me.FLOW_P.Value() = Me.NUMPV.Value
‘<Enter the command to increment the value of NUMPV parameter by 3.6 in this line>
Me.NUMPV.Write()
TIP
To add the missing line: Use “+=” operator to perform the
increment operation.
Example: Me.NUMPV.Value += 3.6
26
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Configure Parameter References Tab

Step
9
Action
Build Solution and ensure there are no errors in the Output screen.
ATTENTION
If you have not added a line in the code to increment
the value of the NUMPV parameter by 3.6, then CAB
code might not work properly.
Contact instructor to enter the missing line in the code.
10
4/15/2018
Save the CAB to ERDB. Close the MSVS Development Environment.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
27
Introduction to CAB Labs
Configure Parameter References Tab

Step
11
Action
Create a new Control Module with the following properties:
Name:
TEAM##_FLOW_PREF
Item Name:
TEAM##_FLOW_PREF_ITEM
Parent Asset:
TRAINING
Add the Function Blocks as shown in the screen capture.
12
Double click the NUMERICA Function block and enter an actual value of 2.3.
Press OK to save change to Function Block and save the control module by clicking on
the save icon
28
.
13
Double Click on FLOW_PREFA Block, Select Monitoring Parameters tab. Add Flow_P
Parameter.
14
Click on the Parameter References tab.

Click on browser button. The point selection window will open select
TEAM##_FLOW_PREF.NUMERICA.PV.

Click OK.
15
Close the Control Module and Assign it to the ACE_EXP16 or C300_EXP16.
16
Download and Activate the new module and check Value of FLOW_P changes as per
NUMERICA. PV in Monitoring and Station.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Modify a Custom Algorithm Block
Modify a Custom Algorithm Block
Objectives

Create a New CAB by modifying an existing CAB.
Prerequisites

Experion Flex Station installed with CAB Developer.

SIM C300 Controller loaded on server.

Application Control Environment installed and loaded on server.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
29
Introduction to CAB Labs
Modify a Custom Algorithm Block

Step
1
From the Library Tree, open the Flow CAB which was created earlier.
2
Click on the Parameter Definition Editor Tab and Click on Value CDP’s Tab
3
4
30
Action

Change the Parameter name from Flow to Flow_CDP .

Save to the PDE (Click the correct Icon
).
Under the CABlock.vb Tab change the coding

Enter Flow_CDP in place of Flow.

Build solution. (use the
Icon to do this)
Click File > Save to ERDB As….
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Modify a Custom Algorithm Block

Step
5
4/15/2018
Action
Enter the new block name FLOW_CDP and click OK to close the CAB window
Environment.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
31
Introduction to CAB Labs
Modify a Custom Algorithm Block

Step
6
32
Action
In the Project tab of Control Builder, open the Team##_Flow_CDP CM.

Drag the Flow_CDP from the Library Tree window under the Team##_CAB.

Double click the Flow_CDPA block to open the parameters window.

Select the Value CDPs tab and verify that a value of 2.5 is present in CDP
IN/OUT. If not present enter the value of 2.5.

Next choose the Block Pins tab and add the Flow_CDP parameter as both an
input and output and click OK.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Introduction to CAB Labs
Modify a Custom Algorithm Block

Step
7
Action
Replace the Flow CAB block with the FLOW_CDP CAB block in the CM. Make the
connections as shown.
ATTENTION
You would need to do this for all control modules
containing the original CAB.
8
4/15/2018
Reload the TEAM##_FLOW_CDP CM and ensure that it runs as designed.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
33
Introduction to CAB Labs
Modify a Custom Algorithm Block
This page was intentionally left blank.
34
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Describe Insertion Points
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Describe Insertion Points
4/17/2018
1
Insertion Point Concept
• An “Insertion Point” is not a Point Type
or Tagged Entity
• Insertion Point refers to a place in the
normal processing sequence of a block
where a CAB algorithm can be inserted
• CAB Instance then executes at the
configured Insertion Point in the
processing sequence
• As an Insertion Point,
Function Block
Processing
occurs in a
Sequence
– The CAB instance will not execute
independently (compared to CAB
Function Block in a Control Module)
– Inserted CAB executes whenever the
Host Native Block runs
• This function is supported in CAB’s
running on ACE and C300
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Block
Processing
Step
Block
Processing
Step n
Block
Processing
Step n+1
Block
Processing
Step n+2
Insertion Points
represent
locations where
a program can
“insert” a Value
Insertion
Point
Location
Insertion
Point
Location n
Insertion
Point
Location
n+1
Describe Insertion Points
4/17/2018
Comparison to CAB as Function Block
• CAB configured as Function Block executes when CM scheduled
– Wiring shown to Transfer Calculated Value
• CAB as Insertion Point executes at point in Processing Sequence
– No wiring, Insertion Point configured on Function Block (PIDA, in our
example)
CAB used as a
Function Block
Configure Insertion Points
CAB used as an
Insertion Point
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Describe Insertion Points
4/17/2018
Insertion Point Purpose
• Main reason: Replace a standard algorithm function block algorithm with
a custom algorithm
– Similar in concept to Insertion Points used in TPS Application Module
– Refer to example scenarios in the Custom Algorithm Block and Custom Data
Block User's Guide
• Other reasons:
– Enhance aspects of the block’s execution, and
– Take advantage of the more complex system functions such as initialization,
anti-reset wind up, range-checking, and alarming that are integral to the
Native Block
• For additional information, refer to Experion R501.1 PDF Collection >
Reference > Control Builder Components Theory:
– Regulatory Control > Regulatory Control Blocks
– Data Acquisition Functions > DATAACQ (Data Acquisition) Block
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Describe Insertion Points
4/17/2018
Insertion Point Locations – RegCtl
• Post_Input – Insert CAB instance after
Input Processing
Block Processing
Steps
Input
Processing
• Pre_Alg – Insert CAB instance before
the Execution of the Algorithm
• Ctl_Alg – Insert CAB Instance to
replace the Regulatory Control
Agorithm
Post_Input
Mode
Processing
Initial Control
Processing
Pre_Alg
Algorithm
Calculation
• Post_Alg – Insert CAB Instance after
Algorithm Processing
• Post_Ctlout – Insert CAB Instance after
the execution of Control Output
Processing
Configure Insertion Points
Insertion Points
Ctl_Alg
Post_Alg
Output
Processing
Post_Ctlout
Feedback
Propagation
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Describe Insertion Points
4/17/2018
Insertion Point Locations – DataAcq
• PV_Alg – Replace DATAACQ PV
Algorithm with a CAB PV Algorithm
• Post_PVChar – Insert CAB Instance
after PV Characterization
• Post_Clampfilt – Insert CAB Instance
after PV Clamping and Filtering
• Post_PVsrc – Insert CAB Instance after
PV Source Selection
• Post_Alarmproc – Insert CAB Instance
after Alarm Processing
Block Processing
Steps
Insertion Points
Input Processing
PV_Alg
PV
Characterization
Post_PVchar
Clamping and
Filtering
Post_Clampfilt
PV Source
Selection
Post_PVsrc
Alarm Processing
Post_Alarmproc
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Describe Insertion Points
4/17/2018
Rules of Insertion Points
• CAB Instances can only be inserted into DataAcq or RegCtl Blocks
– Host block (DataAcq, RegCtl) must reside in the same Control Module as
the CAB Instance
– No graphical connections required from “Native” Block to the CAB Instance
– Only CABs configured for atomic execution can be used
– Parameter references must be used to transfer data with the CAB program
• The CAB Type from which the instance is derived must have its access
level in the “Fixed Definition Parameters” tab set to CONTCONTROL
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Describe Insertion Points
4/17/2018
Inserting a CAB in RegCtl
• To add a CAB as an Insertion Point to a RegCtl (for example, PID),
enter the PID’s Configuration and click on the “Insertion” Tab
• Enter the number of CAB Instances you wish to insert
• Select the Insertion Type
• Add CAB Instances using the browser box available. (Do not add a
Parameter with the Instance, even though the browser has a field for
one)
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Describe Insertion Points
4/17/2018
Inserting a CAB in DataAcq
• The mechanics of inserting a CAB in a DataAcq Block are the same as
inserting a CAB in a RegCtl
• The only difference is the Insertion Points are specific to the DataAcq
Block.
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Describe Insertion Points
4/17/2018
Define and Assign Parameter References
• Parameter References must be used to accomplish data flow into and
out of the CAB insertion program
Define parameter
references in the
CAB type
Assign values to
parameter references
in CAB Instance
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Describe Insertion Points
4/17/2018
Verify Insertion Point Operation
•
Two ways to verify your
Insertion Point worked:
– With the CAB Properties
Form Open, select either
the Configuration
Parameters or the
Monitoring Parameters
Tab, select INSMASTER,
and click Add
– With the RegCtl or
DataAcq Properties Form
Open, select the
Configuration Parameters
Tab, select INSBLOCK,
and click Add
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Describe Insertion Points
4/17/2018
Conclusion
Describe Insertion Points
Completion
Certificate
Proceed to the next module in your course material
Configure Insertion Points
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Describe Insertion Points
4/17/2018
Topic: Configure Insertion Points
Contents
Create a CAB Block as Insertion Point to a REGCTL Block .................................................................3
Create a CAB without Insertion Point ..................................................................................................17
Create a CAB with Insertion Point .......................................................................................................25
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block
Create a CAB Block as Insertion Point to a REGCTL Block
Objectives

Create a CAB Block as Insertion Point to a PID Block.

CAB Block created in this lab can be used in both SIM-C300 and SIM-ACE.
Prerequisites

Experion Flex Station installed with CAB Developer.

SIM C300 Controller loaded on server.

Application Control Environment installed and loaded on server.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
1
Action
Create a New CAB Block with the information provided below.
Custom Library Name:
TEAM##_CAB
Block Type Name:
FILTER_INSERT
Click OK.
2
This opens the Microsoft Development Environment [design] – Parameter Definition
Editor.
Click Fixed and select ACCESSLEVEL as CONTCONTROL.
ATTENTION
You must set the ACCESSLEVEL to CONTCONTROL
while working with Insertion Points.
To use the CAB Block in C300, select ACEANDC300
option for X_PLATOPT Parameter.
4
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
3
Action
Click on the Value CDPs Tab:
ATTENTION
The Parameters mentioned below are also available in
C:\Student\CDP and Pref.xls. Go to the sheet named
FILTER_INSERT. You can optionally copy the Parameters
from this sheet and paste it in Value CDPs Tab.
Enter the following Details:
4/16/2018
Parameter Name:
SHOW_FILTPV
Parameter Description:
Show Filtered PV
Data Type:
Float64
First Dimension Array Size:
0
Access Lock:
Engineer
Configuration Load:
Load
Default Value:
0.0
Parameter Name:
SHOW_NEWPV
Parameter Description:
Show New PV
Data Type:
Float64
First Dimension Array Size:
0
Access Lock:
Engineer
Configuration Load:
Load
Default Value:
0.0
Parameter Name:
SHOW_OLDPV
Parameter Description:
Show Old PV
Data Type:
Float64
First Dimension Array Size:
0
Access Lock:
Engineer
Configuration Load:
Load
Default Value:
0.0
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
Action
ATTENTION
SHOW_FILTPV, SHOW_NEWPV, and SHOW_OLDPV are used to show
the calculation in progress.
SHOW_OLDPV is also used to increment the filtered value and it is an
input to PRef.
A filter value is entered in FILTERNUM.
INIT_FILTER is used to initialize the PV to the current PV on block
startup.
6
Parameter Name:
FILTERNUM
Parameter Description:
User entered filter value
Data Type:
Float64
First Dimension Array Size:
0
Access Lock:
Operator
Configuration Load:
Load
Default Value:
1.0
Parameter Name:
INIT_FILTER
Parameter Description:
Initialize PV value at startup
Data Type:
INT32
First Dimension Array Size:
0
Access Lock:
Engineer
Configuration Load:
Load
Default Value:
1
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
Action
4
In the Parameter References tab enter the parameters and information as given below.
ATTENTION
The parameters mentioned below are also available in
C:\Student\CDP and Pref.xls. Go to the sheet named
FILTER_INSERT. You can optionally copy the
parameters from this sheet and paste it in Parameter
References tab.
You have to copy only one row at a time and paste it
twice in the Parameter References tab in CAB
developer environment.
Parameter1
Parameter name:
NEWPV
Parameter description:
New PV from Numeric Block
Data type:
FLOAT64
Data flow:
INPUT
Dynamic Reference
Unchecked
Parameter2
Parameter name:
FILTERPV
Parameter description:
Filtered PV used as insertion block
Data type:
FLOAT64
Data flow:
OUTPUT
Dynamic Reference
Unchecked
Parameter3
4/16/2018
Parameter name:
OLDERPV
Parameter description:
Older PV
Data type:
FLOAT64
Data flow:
IN/OUT
Dynamic Reference
Unchecked
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
Action
Leave all other values as default.
The Parameter References tab in Parameter Definition Editor appears as shown.
ATTENTION
PRefs are used as inputs/outputs to the block.
You will also be able to use PRefList in VB.NET and
understand its relationship to input/output data flow.
NEWPV is an input from the user entered Numeric value,
FILTERPV is the inserted value sent to the PID block, and
OLDERPV is an input from the CAB’s CDP.
5
Select the Symbol Attribute tab and enter the Monitor face values as indicated in the
screen capture.
ATTENTION
Monitor face values are configured so you can view
the CDP parameters at runtime from the Monitoring
view in Control Builder.
8
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
Action
6
Save the PDE data.
7
Click the CABlock.vb tab to open the VB development environment.
8
Enter the following code
ATTENTION
The CAB program given below is also available in the text file
C:\Student\CAB Scripts\Create a CAB Block as Insertion Point to a
REGCTL Block.txt. You can optionally copy the code from this text file
and paste it in CABlock.vb window.
Ensure that you delete all existing code in CABlock.vb window and then
select all text in the script text file and paste it in CABlock.vb window.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
Action
ATTENTION
The filter calculation is a relatively simple one and not
at all intended for real control applications. It initializes
the filtered PV value on block startup with the INITPV
subroutine using a CDP initially set to 1. The code
then calculates a FILTERPV value. Our goal is to
introduce insertion concepts; a later insertion point lab
will demonstrate an example control scenario.
10
9
When complete, click the Build Solution icon to ensure there are no errors.
10
Save the CAB to the ERDB by clicking the Save to ERDB Icon. Close the Development
Environment.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
11
Action
Create a Control Module with the following properties
Tag name:-
FILTER_INSERT##
Item name:-
FILTER_INSERT##_Item
Parent Asset:- Training ( used Point Picker to assign Asset)
Click OK.
Save the CM
12
In the Library Tree expand TEAM##_CAB and drag the CAB function block named as
FILTER_INSERTA into the Control Module named as FILTER_INSERT##.
Also drag a NUMERIC block and a PID block in the Control Module.
Change the name of NUMERICA block to NUM_PV.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
13
Action
Double-click the PIDA block, select the Monitoring Parameters tab and add the
parameters highlighted in the screen below.
Save the Control Module.
12
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
14
Action
Double click FILTER_INSERTA to open the parameter configuration properties of the
CAB block.
The CAB CDP is as shown below. The Initialize value at start up is reset to 0 once
CAB runs.
ATTENTION
Initial CDP values are shown. INIT_FILTER is reset to
0 once the CAB runs. FILTERNUM is user changed at
runtime to a value less than 1 (for example, 0.5).
15
Go to Monitoring Parameters tab. Add the following parameters
SHOW_FILTPV
SHOW_NEWPV
SHOW_OLDPV
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
16
Action
Enter the CAB Parameter References as shown below. Enter the following details.
NEWPV :
FILTER_INSERT##.NUM_PV.PV
FILTERPV:
FILTER_INSERT##.PIDA.PV
OLDERPV:
FILTER_INSERT##.FILTER_INSERTA.SHOW_OLDPV
Click OK to close the CAB properties.
ATTENTION
PRefs used internally on the CAB block are shown. The CDP
SHOW_OLDPV is used as an input to PRef OLDERPV.
14
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
17
Action
Double click the PID block to open the configure parameter PID block object.
Click the insertion tab and enter following details:
Number of insertions:
1 and Click Enter
Insert type:
Post_Input
CAB Instance:
FILTER_INSERT##.FILTER_INSERTA
Click OK, Save, and Close the Control Module.
ATTENTION
The CAB is referenced from the Insertion tab on the
REGCTL point.
For this example, Post_Input is selected as the
Insert_Type so you can see the PV change.
4/16/2018
18
Assign the CM FILTER_INSERT## to ACE or C300.
19
Download and Activate the CM FILTER_INSERT##.
20
Open the CM in Monitoring mode.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Configure Insertion Points
Create a CAB Block as Insertion Point to a REGCTL Block

Step
21
Action
Enter a NUM_PV value of 25.
On the function block, FILTER_INSERTA

Change the FILTERNUM value to 0.5.

Change the INIT_FILTER value to 1.
Put different values at NUM_PV and observe the CDP values.
SHOW_FILTPV, SHOW_NEWPV and SHOW_OLDPV get updated.
ATTENTION
The CAB shows monitored CDPs mainly to show the
program is calculating values.
In the real world, it is important to display CAB specific
parameters such as INSMASTER more so than CDPs.
22
16
Close the CM in Monitoring.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB without Insertion Point
Create a CAB without Insertion Point
Objectives

In this lab, student will create a CAB without insertion point based on the example provided
in PDF Collection.

CAB created in this lab can be used in both SIM-C300 and SIM-ACE nodes.
Prerequisites

Experion Flex Station installed with CAB Developer.

SIM C300 Controller loaded on server.

Application Control Environment installed and loaded on server.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
17
Configure Insertion Points
Create a CAB without Insertion Point

Step
23
Action
Using the information given, Create a CAB Insertion Algorithm.
Vapor-to-Liquid Ratio control
Control the vapor-to-liquid ratio (VLR) within a fractionation column. Use VLR as the PV
in a PID loop. It is not available as a direct measurement. There is a simple algebraic
formula for computing the VLR.
WL = [ CP/lambda (TT - TR ) + 1 ] WR + CP / lambda (TT - TI) WP
WV = WP + WL
R = WV / WL
Where:
WL = Weight-flow rate of liquid through tray
WV = Vapour flow rate through tray 5
R = Vapour -to - liquid ratio
WR = External reflux-flow rate
WP = Product-draw-flow rate
CP = Heat capacity of liquid
Lambda = Heat of vaporization
TT = Top vapour temperature
TR = External reflux temperature
TI = Temperature on tray 5
18
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB without Insertion Point

Step
24
Action
Using PDF Collection to assist you, create the required CAB and Control Modules you
require.
In PDF Collection, follow the path given below:
Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block and
Custom Data Block users guide > CAB and CDB example scenarios > Formulation
of VLR_CALC without insertion point.
ATTENTION
Create a CAB named VLR_CALC with TEAMI_CAB and also
provide the CM Name as VLRATIO.
Code for the CAB Block is available in PDF Collection under
Experion R501.1 PDF Collection > Configuration > Custom
Algorithm Block and Custom Data Block users guide >
CAB and CDB example scenarios > CAB insertion
algorithm > Define the algorithm for VLR_CALC
In the example given in PDF Collection, AI channels placed in
different CMs are used to feed the values for Top
Temperature, Reflux Temperature, Tray Temperature,
Reflux Flow Rate and Product Flow Rate, in the CAB.
Instead of using AI channels, use the Numeric Block from the
Utility Tree in the Library Tree Window.
Note that there are NO Parameter References in this CAB,
since no insertion is to be performed. All the variables are
Value CDPs.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
19
Configure Insertion Points
Create a CAB without Insertion Point

Step
25
Action
Create the Respective Blocks in a new CM VLRATIO.
ATTENTION
Parameter ORDERINCM for each of the above three
blocks must be assigned manually to achieve the
desired execution order.
Assign the VLRATIO Control Module to CEE of ACE.
20
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB without Insertion Point

Step
26
Action
Add the following Numeric Blocks in VLRATIO.
Numeric Block1
Name:
TOPT
Actual Value:
100
Numeric Block2
Name:
TRAYT
Actual Value:
80
Numeric Block3
Name:
RFXT
Actual Value:
80
Numeric Block4
Name:
RFXFLOW
Actual Value:
80
Numeric Block5
4/16/2018
Name:
DRAWFLOW
Actual Value:
80
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
21
Configure Insertion Points
Create a CAB without Insertion Point

Step
Action
27
Connect the inputs of the CAB VLR_CALC to the Numeric Blocks, as shown in the figure
below.
Download and Activate the CM VLRATIO.
22
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB without Insertion Point

Step
28
4/16/2018
Action
Verify the CAB Algorithm using the NUMERIC Blocks defined as Simulated Analog
Inputs. Change the Values of these Blocks and observe the change in the Value of
PVCALC Parameter of the CAB Block.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
23
Configure Insertion Points
Create a CAB without Insertion Point
This page was intentionally left blank.
24
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB with Insertion Point
Create a CAB with Insertion Point
Objectives

In this lab, students will create a CAB with Insertion Point based on the example provided in
PDF Collection.

CAB created in this lab can be used in both SIM-C300 and SIM-ACE Nodes.
Prerequisites

Experion Flex Station installed with CAB Developer.

SIM C300 Controller loaded on server.

Application Control Environment installed and loaded on server.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
25
Configure Insertion Points
Create a CAB with Insertion Point

Step
1
Action
Using the information given, create a CAB Insertion Algorithm.
ATTENTION
Please note that the VLR example is now to be utilized
for usage of CAB as an insertion block.
26
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Insertion Points
Create a CAB with Insertion Point

Step
2
Action
Vapor-to-Liquid Ratio Control
Control the Vapor-to-Liquid Ratio (VLR) within a Fractionation Column. Use VLR as the
PV in a PID Loop. It is not available as a direct measurement. There is a simple
algebraic formula for computing the VLR.
WL = [ CP/lambda (TT - TR ) + 1 ] WR + CP / lambda (TT - TI) WP
WV = WP + WL
R = WV / WL
Where:
WL = weight-flow rate of liquid through tray 5
WV = vapour flow rate through tray 5
R = vapour - liquid ratio
WR = external reflux-flow rate
WP = product-draw-flow rate
CP = heat capacity of liquid
Lambda = heat of vaporization
TT = top vapour temperature
TR = external reflux temperature
TI = temperature on tray 5
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
27
Configure Insertion Points
Create a CAB with Insertion Point

Step
3
Action
Using PDF Collection to assist you, create the required CAB and Control Modules you
require.
In PDF Collection follow the path given below:
Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block and
Custom Data Block users guide > CAB and CDB example scenarios > CAB
Insertion algorithm
ATTENTION
Provide the CAB Block Name as VLR_CALC_INS. Also provide the
CM Name as VLRATIO_INS
In the example given in PDF Collection, AI channels placed in
different CMs are used to feed the values for Top Temperature,
Reflux Temperature, Tray Temperature, Reflux Flow Rate and
Product Flow Rate, in the CAB. Instead of using AI channels, use the
Numeric Block from the Utility Tree in the Library Tree Window.
Make the changes accordingly in the CAB Block placed in the CM
VLRatio under the Parameter References Tab.
Ensure you have added CAB Instance
(VLRATIO_INS.VLR_CALC_INSA) in Insertion tab of PID
(VLR_CTL1) with Insert Type as Post_Input.
28
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Describe Special Considerations for CAB on
C300
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Describe Special Considerations for CAB on C300
4/17/2018
Excluded Functions for CAB on C300
• Functions which require Large Memory or Physical Hard Disk are not
supported by CAB/C300
–
–
–
–
–
Dynamic Re-Referencing
Distributed Execution
History Access
File Access
Relational Database Access
• Programming Language Usage that are not supported by CAB/C300
–
–
–
–
–
Try-Catch
Aggregate Data Members Of Class CABlock
Structure Variables
Shared Variables
Static Variables
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Describe Special Considerations for CAB on C300
4/17/2018
ECMA .NET Types
• ECMA .NET supports a large set of Classes and Value Types
• CAB/C300 emulates only a subset of these types sufficient to meet the
needs of programming
• A few examples of excluded ECMA .NET Types are listed below
– Decimal
– Short
– Single
• Refer to Appendix D in the Custom Algorithm Block and Custom Data
Block User Guide for details about supported classes and methods in
CAB on C300
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Describe Special Considerations for CAB on C300
4/17/2018
Option Strict
•
Visual Studio .NET enforces strict data typing through the use of
“Option Strict”
– “Option Strict” is present in CABlock Properties under the Project menu
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Describe Special Considerations for CAB on C300
4/17/2018
Option Strict
• For CAB/C300, only Strict Typing is allowed
– When a CAB type is first created, Option Strict is automatically set to On
– If Option Strict is turned off and a build attempted, the following message
occurs
• On selecting OK in this message, Option Strict is set to ON
• For CAB/ACE, programmer can choose whether or not to enforce Strict
Typing
– If Option Strict is turned OFF and a build attempted, the build will proceed
without notification
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Describe Special Considerations for CAB on C300
4/17/2018
CM Process Special
• CM Process Special (CMPS) Option triggers the execution of CMs
outside the Normal Execution Cycle
• CM Process Special is a capability supported by CEE on specific
platforms
– It is independent of CAB Types
• C300-CEE does not support CMPS
– CAB/C300 Code must emulate CMPS execution in response to specific CDP
Values
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Describe Special Considerations for CAB on C300
4/17/2018
Versioning Of CAB/C300 Enablers
•
CAB/ACE maintains versions for buildtime and run-time
– .NET version (DOTNETVER) and CAB
software version (CABSOFTVER) are
used to store the version information
– ERDB can hold 2 versions
– CAB Block Load will be rejected if buildtime and run-time versions do not match
•
CAB/C300 maintains versions for buildtime and run-time
– Minimum required version
(X_CC3MINREQV) and supported version
(CC3SUPRTDV) are used to store the
version information
– ERDB can hold only 1 version
– CAB block can be loaded only when
CAB.X_CC3MINREQV <=
CEE.CC3SUPRTDV
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Describe Special Considerations for CAB on C300
4/17/2018
Special Considerations with CAB on C300
• VB-Only Constructs
– CAB/C300 supports programming constructs of ECMA.NET
– Language functionalities unique to VB.NET are not supported on CAB/C300
• Examples such as usage of CStr() or any construct requiring support from
the name space Microsoft Visual Basic or one of its sub-namespaces
• Usage of keyword “New”
– In CAB/ACE programming usage, “New” and “Private” will instantiate data in
Long Term Heap (LTH).
– In CAB/C300 “New” and “Private” will instantiate data in Short Term Heap
(STH)
• PRef String Size
– In CAB/C300 the PRef Size attribute has been exposed and made
configurable. This is to impose restrictions on communication load
– Default PRef size is 8 characters. Maximum supported size is 255 characters
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Describe Special Considerations for CAB on C300
4/17/2018
Time Zone and Metadata
Parameter/Functionality
•
CAB/ACE
CAB/C300
Time Zone
Configured on Windows OS
Configured with Parameter TIMEZONE
on CEE Block
Daylight Saving Time
Configured on Windows OS
Configured with Parameter
DAYLIGHTTIME on CEE Block
Affected
CAB Functionality
DateTime.Now property
DateTime.Now Property
Parameters of Time Data Type
– As seen in the table above
• Time Parameters in CAB/C300 are dependent on the Time Zone and Daylight
Saving Time Parameters configured in the CEE and NOT on the OS
• Time Parameters in CAB/ACE is dependent on the Operating System (OS) of the
ACE Node
– The precision of time conversion from ECMA.NET to EPKS is as follows
• 1 Millisecond for CAB/ACE
• 100 Microseconds for CAB/C300
•
CAB/C300 uses a leaner implementation of ECMA.NET which does not support
usage of Metadata
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Describe Special Considerations for CAB on C300
4/17/2018
Mathematical Functions
• Mathematical results in
CAB/ACE and CAB/C300 are
consistent, under Normal
Ranges
• Some CAB/C300 results are
NaN when arguments are at
Extreme Values
• CAB/C300 Mathematical
Functions sometimes return
NaN
– Mathematical singularities at
particular argument values
– Finite precision of C300
Function Call
CAB/ACE
Result
CAB/C300
Result
Atan2(-1.0. –INF)
-3.141593
NaN
Atan2(-11.0, 1.0E+17)
-3.141593
NaN
Pow(+INF, 0.0)
1
NaN
Pow(+INF, 10.0)
+INF
NaN
Pow(+INF, -10.0)
0
NaN
Pow(0.0, 0.0)
1
NaN
Pow(-INF, 0.0)
1
NaN
Pow(-INF, 9)
-INF
NaN
Pow(-INF, -9)
0
NaN
-5773501.94
NaN
Tan(1.5707965)
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Describe Special Considerations for CAB on C300
4/17/2018
Restart Modes
• Restart Modes supported by C300
– Warm Restart
• Restart initiated by Operator, typically following a Checkpoint Restore
– Cold Restart
• Restart initiated by Operator, typically following a Checkpoint Restore
– RAM Retention Restart
• Restart following a power down during which RAM contents were
preserved by Local Battery Power
– Switchover resulting in a Hot Restart
• Restart in the new primary after Normal Redundancy Switchover is
induced by command or by failure of the Old Primary
• CAB Infrastructure supports APIs which allows a program to determine
whether a Restart has occurred and the type of Restart
– CAB supports following two APIs
• Restart
• RRRestart (RAM Retention Restart)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Special Considerations
11
Describe Special Considerations for CAB on C300
4/17/2018
Data Handling Across Restart
Preserved across
Checkpoint Restore
Preserved across RAM
Retention Restart
Preserved across
Switchover
FDP
RDERRALM.PR,
WRTERRALM.PR,
EXCPTALM.PR,
TRMNTALM.PR,
RDERRALM.SV,
WRTERRALM.SV,
EXCPTALM.SV,
TRMNTALM.SV
Yes
Yes
Yes
CDP
Access Lock Of
AppDevOnly
Yes
Yes
Yes
CDP
Access Lock Of
ViewOnly
No
Yes
Yes
CDP
Any other Access Lock
Yes
Yes
Yes
PRef
Internal Cached Values
No
No
Yes
Scalar Data Members
No
Yes
Yes
Data Category
CABlocks
•
Data Description
Refer to CAB/C300 Special Considerations  Controller Restarts section
under the Custom Algorithm Block and Custom Data Block User Guide in PDF
Collection for more information
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Describe Special Considerations for CAB on C300
4/17/2018
MU and PU calculations for CAB/C300
•
CAB/C300 can be used to write a variety of applications which account for
corresponding variations in memory usage
– Use the following three categories to understand the characterization of the size
variation
Size
Category
Line
Count
CDP
Count
PRef
Count
Representative
CAB-C300
Type Size
(kilobytes)
Representative
CAB-C300
Instance Size
(kilobytes)
Small
20
1
10
21.6
1.5
Medium
100
15
50
32.8
4.7
Large
200
30
100
45.9
8.6
•
Amount of CPU consumed by the execution of a CAB/C300 Block instance can
vary based on:
CAB Size
Lines Of Number
Number
CPU
– Line count
– Looping
– Program’s general complexity
Category
Code
Of
CDPs
Of
PRefs
100
15
50
Consumption
(PU / Block
Instance)
See Note 1
Medium
6.3
Note 1 - In CEE, one Processing Unit (PU) is equal ¼ the total amount
of time required to process a typical DevCtl CM and a typical RegCtl CM.
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Special Considerations
13
Describe Special Considerations for CAB on C300
4/17/2018
Performance and Capacity
•
CAB configurations are limited by the total memory capacity of the C300.
– This capacity is similar for C300 (20 mSec) Controller
Sr.
No
Feature
Typical
Maximum
1
Loaded CAB
Types
30 to 70
100
2
CAB Instances
Per Type
1 to 10
No Enforced Limit
Limited on memory utilization with
CEE memory
3
CAB Instances
(All Types)
50 to 500
No Enforced Limit
Limited on memory utilization with
CEE memory
4
Fixed Definition
Parameters
(FDP)
-
200
Enforced limit
50 in use
150 reserved
5
User Defined
Parameters
-
1500
CDP counts as one parameter
PRef counts as two parameters
Array counts as one parameter
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Comment
Enforced limit as a constraint on the
CEE memory
Describe Special Considerations for CAB on C300
4/17/2018
Performance and Capacity
•
•
Size of the CAB/C300 Types and Instances are limited due to the resource
constrains in the C300 Controller
Sr. No
Feature
Typical
Maximum
CAB/C300
Type size
2
CAB/C300
Instance size
20 to 200 KB
700 KB
2 to 20 KB
160 KB
Total memory consumed by CAB/C300 Types and Instances can be monitored
using the following parameters in CEE
–
–
–
–
•
1
TOTALMEM
USEDMEM
FREEMEM
MAXFREEBLKSZ
These parameters show the memory consumed by the Native Blocks and CAB
Types/Instances
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
15
Describe Special Considerations for CAB on C300
4/17/2018
Licensing
• Licensing for CAB/ACE and CAB/C300 are equivalent
• There are 3 licensed capabilities
– License for the capability to create and modify CAB Types
• Covered in the CAB developer license
• Applicable to both CAB/ACE and CAB/C300
• Licenses for CAB/ACE and CAB/C300 cannot be availed separately
• Installation is subject to CAB developer license
– License for the capability to create and modify CAB Instances
• Inherent in Experion PKS Control Builder
• Installation includes CAB Instance support as a default option
– License for the capability to run CAB Types in the C300 Controller
• Inherent in the controller personality
• Controller firmware version installation supports the run-time capability
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
16
8
Describe Special Considerations for CAB on C300
4/17/2018
Redundancy Traffic
• Excessive Redundancy Traffic
– CAB/C300 supports redundancy
– Control Parameter Write contributes to redundancy traffic, known as
Redundancy Transfer Count
• May cause a loss of synchronization, but NO loss of control
– Redundancy Transfer Count (RTC) is generated as a result of the following
activities
• Write of CABlock member data
• Write of PRef data
• Write of CDP data
– Excessive RTC can be monitored using Redundancy Traffic Instrumentation
• C300 provides RDNCNTCYCMAX, and RDNXFERMAX parameters
which may be used to assess the level of redundancy traffic
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
17
Describe Special Considerations for CAB on C300
4/17/2018
Redundancy Count Exceeded Alarm
• CEE-C300 monitors the maximum
RTC generated by any cycle once
every 2 seconds
• CEE-C300 reports a high priority
alarm if RTC exceeds a
configurable trip point
– Default value is 112500 bytes
– This value is about 20% lower than
the value at which loss of
synchronization might occur
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
18
9
Describe Special Considerations for CAB on C300
4/17/2018
Size of Looping
• CAB/C300 is intended to support Level One process control
applications
• So CAB programmers must exercise caution if they choose to do any
Iterative programming within the C300
• Looping recommendations in CAB/C300
– Preferably, use Loop Counts which are fixed
• They should be fixed to low values
– For using a loop count which can change with Instance Configuration, make
sure the assigned configuration is limit checked and no looping takes place
if the count falls outside the allowed range
• Maximum loop count should be fixed to low values.
– Never do looping which is open ended, such as in a numerical computation
where desired precision drives the final loop count
– Never do looping where the value of the loop count is affected by process
data or by run-time computed data
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
19
Describe Special Considerations for CAB on C300
4/17/2018
On-Process Migration
•
On-Process Migration (OPM) is supported by CAB/C300
•
Run-time data of the CAB Instance is transferred from primary to secondary,
wherein either is of a different version
– Run-time data transfer does not need support from the CAB programmer
•
Following constraints applies to CAB/C300 during OPM
•
OPM Guidelines for CAB programmers
– EPKS Controller configurations may not change
– CAB Type definitions may not change
– CAB Instance configurations may not change
– State transition of a CAB Instance after OPM switchover is equivalent to the transition
after a normal switchover
– OPM switchover transition can be detected to initialize data on OPM switchover
• Restart = CEESwitchStart is the start condition for an OPM switchover
– Categories of data retained across an OPM switchover are equivalent to those of a
normal switchover
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
20
10
Describe Special Considerations for CAB on C300
4/17/2018
Conclusion
Describe Special Considerations for CAB on C300
Completion
Certificate
Proceed to the next lesson your course material
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
21
Describe Special Considerations for CAB on C300
4/17/2018
This page intentionally left blank
Special Considerations
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
22
11
Describe Special Considerations for CAB on C300
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Examine ACE and Sim-ACE Functionality
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Examine ACE and Sim-ACE Functionality
4/17/2018
Architecture Overview
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Examine ACE and Sim-ACE Functionality
4/17/2018
Application Control Environment
• ACE mirrors the basic operations of a Control Processor Module (CPM)
• Supports execution of Custom blocks
• Provides the additional capability of communicating with OPC Servers
through a FTE or redundant or non-redundant Ethernet network
• Supports Inter-Cluster Peer-to-peer communication
• ACE can access TPS points when connected to the LCN
• Supports execution of applications like Experion Batch Manager (EBM),
Profit Suite
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Examine ACE and Sim-ACE Functionality
4/17/2018
ACE Characteristics
• An ACE can be connected into an Experion PKS network via a single
Ethernet connection, redundant Ethernet, or FTE
• One Experion Server can support up to seven ACE nodes
• Only one ACE per node
• ControlNet supports two directly connected ACE nodes
• ACE node is non-redundant
• ACE cannot reside on the same node as the Experion Server
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Examine ACE and Sim-ACE Functionality
4/17/2018
ACE Characteristics Continued
• A single ACE can have a maximum of 30 connections to components such
as C200s or FIMs connected via an FTE Bridge or ControlNet.
• Loading non-essential software such as Experion Server/Client on an ACE
node is prohibited.
• The ACE Controller can Peer-to-Peer with other ACE controllers
connected to the same Experion server over FTE or Non-FTE networks
• An ACE controller with direct connection to ControlNet or a supervisory
FTE network can peer-to-peer with C200/C200E controllers connected to
the same Experion server
• An ACE controller on a FTE based Experion Process Network (EPN) can
peer to peer with C300 controllers connected to the same Experion server
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Examine ACE and Sim-ACE Functionality
4/17/2018
CDA-SP Service
• Experion CDA-SP service in ACE node must be added to mngr account
in order to communicate with other nodes
– Required for History/File access, OPCG communication and so on
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Examine ACE and Sim-ACE Functionality
4/17/2018
Create an ACE
• In Control Builder, Select File > New > Controllers > ACE – Application
Control Environment
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Examine ACE and Sim-ACE Functionality
4/17/2018
Create an ACE
• Fill in the required
information in the
Configuration
properties dialog box:
– Tag Name
– Item Name
– Host IP Address or
Host Name
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Examine ACE and Sim-ACE Functionality
4/17/2018
Create an ACE
• Once an ACE is created, Control Builder automatically creates a CEE
• Use the left mouse button to Double Click the CEE to open the CEE
configuration window
Double-click
Select this parameter
to enable a SIM-ACE
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
ACE Concepts (ACE Only)
Examine ACE and Sim-ACE Functionality
4/17/2018
9
SIM-ACE Characteristics
•
•
•
•
A SIM-ACE can run any strategy an on-process ACE runs
A SIM-ACE connected to a live system will be able to read live data but not
write back to the process
Reads and writes flow between all simulators for complete debugging
A SIM-ACE is required to do a CAB debug session through Visual Studio
– A debugger cannot be attached to a live on-process ACE
•
The following are rules for peer-to-peer and simulation/non-simulation
communications
Type
Peer to Peer Communication
ACE
Can write to another ACE
Can read from another ACE
Can write to a SIM-ACE
Cannot read from SIM-ACE
SIM-ACE
Can write to another SIM-ACE
Can read from another SIM-ACE
Cannot write to ACE
Can read from ACE
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Examine ACE and Sim-ACE Functionality
4/17/2018
Memory Resources
CEE/CPM M em or y Res our c es and Bloc k Configuration
Definition: M U = M em ory Unit = 1 Kby tes = 1024 by tes
C200
C300
ACE
Maximum Available CEE Memory
4000 MU
16000 MU
128,000 MU
Resources
4095*
Maximum Total Number of CMs, SCMs
1000
4095
(*IOM's not
and IOMs Configurable per CEE
supported)
Maximum Number of Control Modules
with PERIOD set to NOPERIOD,
N/A
N/A
4000
Process Special
Maximum Number of Component Blocks
100
100
100
per CM
Maximum Number of Component Blocks
400
400
400
per SCM
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Examine ACE and Sim-ACE Functionality
4/17/2018
Conclusion
Examine ACE and Sim-ACE Functionality
Completion
Certificate
Proceed to the next module in your course material
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Examine ACE and Sim-ACE Functionality
4/17/2018
Describe Support Availability of ACE
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
13
Describe Support Availability of ACE
4/17/2018
Introduction
• ACE controller requires Server and Station programs to support
Operator Interface, History, and other functions, similar to Control
Processor Module (CPM)
• Only one ACE environment is supported per computer running Windows
2016 Server operating system
– ACE is not qualified to run on the Experion Server node
• Redundant ACE controllers are not supported
• ACE controller supports peer-to-peer communication with other ACE
controllers, and Cx00 controllers
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Describe Support Availability of ACE
4/17/2018
Solution
• Desire to increase availability of typical CAB function in the ACE node
– Not have ACE as a single point of failure
• Run two CAB programs in separate ACE nodes that perform same
function
ACE 1
ACE 2
CAB 1
CAB 1
C300
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
15
Describe Support Availability of ACE
4/17/2018
Issues with solution
• Issue1: Independent programs can have different states and can yield
different results
– Connecting two data sources to same Experion point
• Solution: Program is designing to read the state before running and to
write the state after running
• State Data is stored on the redundant C300 controller (using CDBs)
– Used two variables in CAB to determine which CAB should run
• CABname and CABtorun
• If the two are equal then run, else don’t
– Use SCM to read the state of CAB before running then decide which CAB to
run and then write the desired state to CAB
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
16
8
Describe Support Availability of ACE
4/17/2018
Solution Layout
Write state
Write state
CDB
3?
2
3?
Read state
CAB 1
Run?
2
CAB 2
1
Run?
• Must push data from CABs to CDB since we don’t allow a single source
to pull various data from two distinct data sources
– Experion System Infrastructure is pull design
• Need to optimize writes to minimize pushes
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
17
Describe Support Availability of ACE
4/17/2018
Deciding Which CAB to Run
• Issue: Determining which of the two cab programs is running and which is
not
• Options
– Programs determine which of them to run with internal flags
– External Flag dictate which runs
• External flag method allows for state that neither CAB block is running (*)
A Desired
B Desired
ACE Concepts (ACE Only)
A State
B State
Running CAB
On
On
A
On
Off
A
Off
On
B
Off
Off
*
On
On
B
On
Off
A
Off
On
B
Off
Off
*
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
18
9
Describe Support Availability of ACE
4/17/2018
Conclusion
Describe Support Availability of ACE
Completion
Certificate
Proceed to the next module in your course material
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
19
Describe Support Availability of ACE
4/17/2018
This page intentionally left blank
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
20
10
Describe Support Availability of ACE
Describe ACE-T
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
21
Describe ACE-T
4/17/2018
Overview
• The Honeywell TPS (Total Plant Solution) is the predecessor of the
Honeywell Experion System
• The ACE-T can function as a connectivity link between the Honeywell
TPS system and the Honeywell Experion system
• ACE-T links to TPS through the TPN server which runs as a service on
the ACE-T
• Existing specifications for ACE, OPC Gateway, and TPN Server also
apply to the ACE-T node, which otherwise also includes a direct LCN or
Local Control Network connection
– Since the ACE-T is an ACE with LCN component, it can perform standard
functions such as CAB Programming and CEE Simulation
• The ACE-T hosts an OPC gateway, which can be accessed on an ACE
node, using the OPC Gateway object (or dot operator) method
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
22
11
Describe ACE-T
4/17/2018
Deploy ACE-T
• During Installation, Application Control Environment TPN Connected
option must be selected to deploy ACE-T node
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
23
Describe ACE-T
4/17/2018
Introduction
• A typical purpose of an ACE-T is the LCN Control Cascade
• The term LCN Control Cascade defines a Regulatory Control strategy
utilizing an external data access function block in the ACE-T for
interfacing an Experion block or loop to a TPS RegCtl point
• The Level 1 controller RegCtl block is normally in a Data Highway
controller or UCN controller
The
TheACE-T
ACE-T
Interface
Interface
A
Highway/UCN
level-1
Controller
ACE Concepts (ACE Only)
AnAn
Experion
Experion
System
Systemlevel-1
level-1
controller
controller
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
24
12
Describe ACE-T
4/17/2018
LCN Cascade Control - Concept
PID on TPS
PID on
Experion
TPN Server
OPC Server
Data Transfer
Cascade Regctrl
Primary Regctrl
TPS
ACE Concepts (ACE Only)
ACE-T
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
25
Describe ACE-T
4/17/2018
LCN Cascade Control Strategy
• FIC3241 is a TPS loop available on the LCN
network which shall be in the Cascade loop
• FIC3241 will be in the Cascade mode
• As in a Cascade Control, SP (setpoint) of the
TPS loop will be written into by the primary OP
• The ACE-T provides read-write access to the
TPS point
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
26
13
Describe ACE-T
4/17/2018
LCN Cascade Control Strategy
• OP (output) of the TPS loop will
be monitored in the Experion
system for primary loop control
• An SCM is used in the Experion
CM to achieve a bump-less
control
• The TPS OP limits are also
tested by the SCM
• The SCM will not be able to write
to the TPS point, which requires
the utilization of a UCNOUT
block in the primary CM
• The UCNOUT provides
configurable connections and
compatible data mapping
between controllers
ACE Concepts (ACE Only)
TPS Loop OP is monitored
for Cascade Control
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
27
Describe ACE-T
4/17/2018
OPC Configuration
• A typical OPC Configuration
would comprise of an
Experion ACE accessing
the ACE-T
• The HCI component for data
availability will be
“HCI.TPNServer”
• Experion ACE access of
data is through the DOT
operator
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
28
14
Describe ACE-T
4/17/2018
Experion Primary Loop
• CM_TPNServer is the Control
Module built in an Experion system
to form the primary control loop
• The Primary loop consists of a Data
Acquisition Block and PID pair
• The input of the Data Acquisition
Block is provided by a NUMERIC
block
• The Output of the PID block is
connected to the UCNOUT block
• The UCNOUT block connects to
the TPS points through the OPC
server
• The OPC Server is linked through
the Param connector
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
29
Describe ACE-T
4/17/2018
UCNOUT Block
• The UCN is an acronym for Universal
Control Network
• The UCN Interface block is a
configurable block for creating
regulatory control between the (ACE)
supervisory controller and Process
Managers residing on a UCN in a
connected TPS system
• The Remote Setpoint Control (RSP)
mode is utilized in this strategy
• The RSP is used for Supervisory to
Level 1 controller cascade with a
backup primary also existing in Level 1
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
30
15
Describe ACE-T
4/17/2018
TPS Data access with OPC Gateway
TPS Point Write by the
OPC Gateway in the CM
TPS Point Read by the
OPC Gateway in the SCM
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
31
Describe ACE-T
4/17/2018
Example - Usage of TPS Data in SCM
• First branch increments a counter if OP of the TPS Point is below 85
• Second branch resets the counter if OP of the TPS Point is above 85
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
32
16
Describe ACE-T
4/17/2018
Example - Usage of TPS Data in SCM
Decision
Branch
Branch 2 is
getting
executed
• SCM Executing a normal RUN
• The SCM loops back to the decision branch
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
33
Describe ACE-T
4/17/2018
Conclusion
Describe ACE-T
Completion
Certificate
Proceed to the next module in your course material
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
34
17
Describe ACE-T
4/17/2018
Describe Execution Order of Points
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
35
Describe Execution Order of Points
4/17/2018
Introduction
• ACE provides a configuration option and a scheduling mechanism for an
Operator, CAB program, CM or SCM to trigger the execution of another
Control Module
• This unique feature of ACE CEE is known as Process Special
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
36
18
Describe Execution Order of Points
4/17/2018
Process Special
• Process Specials are also referred to as
– Blocks with no Periods : Process Specials
• Process Specials are devised to support on-demand CM execution for
CMs that do not need to execute periodically
• When a CM with this option is loaded to ACE, it is not assigned to any
cycle, its PHASE parameter is defaulted to 0 and the ORDERINCEE is
not applicable
• Process Special is not supported for SCMs or for any CMs loaded to a
C200 / C200E/ C300, and to SCMs loaded to an ACE
– For SCMs / CMs, the selection of EXECUTION PERIOD parameter to
NONE is not supported in a C200 / C200E/ C300
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
37
Describe Execution Order of Points
4/17/2018
Support for Process Special
• Process Specials are supported only for CM’s in ACE environments
Options for C300
CEE CM
Options for ACE
CEE CM
• The NONE menu item in the Execution Period determines if the block is
to be triggered at a non-periodic rate, on-demand
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
38
19
Describe Execution Order of Points
4/17/2018
Initiation Methods
• A process special request can be triggered using either of following two
methods
– Storing a TRUE value to the BPS parameter
– Storing a non-negative value to the BPSDELAY parameter
• BPS is a Boolean data type, with a TRUE or FALSE data input
• BPSDELAY is a Float64 data type, with the range of pre-execution delay
to be specified in terms of 0 to 86400 seconds
BPS
BPSDELAY
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
39
Describe Execution Order of Points
4/17/2018
Trigger Component Features
• BPS
– Once triggered the BPS cannot be re-triggered until the CM completes its
execution
– Upon CM completion, the BPS is tested for a TRUE value indicating any
pending executions
– Storage of a FALSE to BPS during execution of CM, forces pending
executions to nullify
• BPSDELAY
– Any non-zero value to the BPSDELAY causes the CM to initiate execution,
but stays incomplete until the BPSDELAY seconds time is completed
– Writing a zero to BPSDELAY is equivalent to writing a TRUE to the BPS
parameter
– An under execution CM initiated by the BPSDELAY cannot be stopped, with
the exception that a FALSE be written to the BPS parameter
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
40
20
Describe Execution Order of Points
4/17/2018
Considerations to be undertaken for a Process Special
• Control Loop Considerations
– In the event of a DATAACQ block attached to a PID block the ORDERINCM
parameter for DATAACQ must be lower than the ORDERINCM parameter
for PID
• Process Special for slow periods
– Process Specials are intended to be utilized for CM’s that require execution
on request basis, although Process Specials can be configured for slow
periods of execution through software methods
• Block Scale Period
– SCALEPERIOD parameter can be used with Process Specials
• Can be used with period related parameters of some blocks
– This parameter allows blocks with period-related parameters to be scaled
appropriately based on the time
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
41
Describe Execution Order of Points
4/17/2018
Execution Rules
• When a Process Special is requested, it is executed in the first available
CEE cycle, after any time delay has passed.
• SCALEPERIOD parameter determines the period-related values for the
blocks placed within a CM
• If the CM Process Special Execution occurs before the next scheduled
periodic execution of the block, then the CM will perform both the
Process Special and the periodic block executions
• Process Special Execution will be cancelled by a periodic execution in
the event of a Process Special Time Delay or a simple race condition.
• More information on Process Specials can be accessed on PDF
Collection at
– Experion R501.1 PDF Collection > Configurations > Application Control
Environment Users Guide > Planning and Design> Blocks with no Periods :
Process Specials
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
42
21
Describe Execution Order of Points
4/17/2018
Conclusion
Describe Execution Order of Points
Completion
Certificate
Proceed to the next module in your course material
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
43
Describe Execution Order of Points
4/17/2018
This page intentionally left blank
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
44
22
Describe Execution Order of Points
Describe Inter-Cluster Peer-Peer
Communication
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
45
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
Overview
• Inter-Cluster Peer-Peer
– Between ACE Nodes in different clusters
• Enables Control Cascade and Data Sharing between ACE Nodes
• Features
– Inter-Cluster Gateway Block adds whole array and structure support
– Adds SP push support to some Reg Control Blocks
– Addition of an REEOUT block to push the SP
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
46
23
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
Inter-Cluster Gateway Block
• “Inter-Cluster Gateway Block” (ICG) can be used as an OPC Client and
a “private” OPC Server
• Resides on a designated ACE Node
• Used for
– ACE to ACE Peer-peer Communication in different clusters and
– ACE Peer-peer to other CEE Nodes such as C200, C200E, C300, and
EHGs that reside in different clusters
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
47
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
Complex ICG-OPCG Topology
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
48
24
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
Inter Cluster Gateway
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
49
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
Inter Cluster Gateway
IP address of the ACE on which
this block is configured
IP address of the
remote ACE
Note : An OPC Gateway Block has to be configured in the remote ACE
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
50
25
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
REEOUT Block
• The Remote EEOUT (REEOUT) function block is used to support intercluster ACE to ACE Regulatory Control Cascades
• Usage of REEOUT block
– When Primary regulatory block is in one cluster and the Secondary
regulatory block is in another cluster
• If Primary and Secondary regulatory block are within the same cluster,
then REEOUT block unnecessary
Input
Output
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
51
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
REEOUT Functional Block
• Functional Description
– Basic block that converts data between Experion and IC Gateway
– It also establishes BACKCALC hidden connection between two
Regulatory controls of ACE belonging to different clusters
– The REEOUT block directly takes input from other blocks as SPIN (Set
Point In) and pushes the SPOUT (Set Point Out) to the other cascaded
regulatory block belonging to an ACE of a different cluster
– The connection is established between two Regulatory blocks using a
parameter connector, OPC Gateway Function Block and Inter Cluster
Gateway Function Block
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
52
26
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
REEOUT Functional Block
• The following functionality is included as a part of the REEOUT block
– Fetches SPIN parameter
– Fetches the BACKCALC structure from the configured Secondary point of
different cluster
– Executes required store to the secondary point
• A new store is not sent until the previous one has completed
EPKS in Cluster1 – ACE1
PID
REEOUT
BACKCALC
BACKCALC
EPKS in Cluster 2 –ACE2
PID
SP
ICG
OPC GW FB
pointing to the
2nd cluster
BACKCALC
TC_EXTREFSTRUCT
Note: ICG is not required if the primary and secondary are in the same
cluster
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
53
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
Regulatory Changes
• The following blocks are allowed to have SP pushed to them:
– PID, PID-PL, PIDER, PIDFF, EnhRegCalc and RatioCtl
To be configured on the
secondary block only if
the Primary is in an ACE
that belongs to another
cluster
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
54
27
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
Conclusion
Describe Inter-Cluster Peer-Peer Communication
Completion
Certificate
Proceed to the next module your course material
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
55
Describe Inter-Cluster Peer-Peer Communication
4/17/2018
This page intentionally left blank
ACE Concepts (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
56
28
Describe Inter-Cluster Peer-Peer Communication
Topic: ACE Concepts (ACE Only)
Contents
Configure Inter-Cluster Peer-Peer Communication (Reference Only) ..................................................3
Read/Write a TPS Point Using ACE-T (Reference Only) ....................................................................19
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)
Main Idea
The objective of this lab is to configure an ICG (Inter Cluster Gateway) for cascade control between
ACEs available in two different clusters. (You must use real ACE nodes as SIM_ACE nodes will
not work for this exercise. If you do not have enough lab equipment, complete the lab at the end of
the course and re-configure your SIM_ACE nodes to be real ACE nodes).
ATTENTION
This lab is Reference Only. Do not perform this lab in
class.
In this lab, the scenario discussed is as follows:
1. There are two ACEs, Primary ACE (ACE_PRI) and Secondary ACE (ACE_EXP16), and
are configured in physically separate clusters.
2. A Cascade Control has to be configured between the Primary ACE and the Secondary ACE.
3. The Primary ACE CEE has the Primary Control Loop and the Secondary ACE CEE has the
Cascade Control Loop.
Pre-Requisites
The following Lab setup is expected.
1. A Primary ACE is to host the OPC Gateway. This ACE is connected to its individual
Experion Server.
2. A Secondary ACE is configured on the student ACE. The Secondary ACE will host the IC
Gateway.
3. Both aforementioned ACE-Server pairs are physically separate. The lab MUST use real
ACE nodes as SIM_ACE nodes will not work for the OPCG and ICG exercise.
4. The individual ACE-Server pair forms two different clusters among which communication
is to be established.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
Action
1
ATTENTION
This lab must be performed only on physical ACE
nodes. SIM-ACE does not support this function.
2
Build a new CM in the Primary ACE CEE.
This CM acts a Primary Control Loop and is wired as shown.
3
Enter the information as shown in the CM Properties window:
Tag Name
: CM_PRI
Item Name
: CM_PRI_item
Parent Asset
: Training
Click OK.
4
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
4
5
Action
Enter the following as the PID Properties;
Normal Mode:
AUTO
Normal Mode Attribute:
NONE
Mode:
AUTO
Mode Attribute:
OPERATOR
Open the PID_PRI properties window > Block Pins; and move the output OP pin from
location BOTTOM to location RIGHT.
TIP
Tune the PID on the PID Projects Parameter dialog
box within the Algorithm Tab. Change Overall Gain to
0.4 and T1 to 0.2 for the lab exercise.
Click OK.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
6
Action
Select and move a REEOUT block from the library to the CM.
Configure the REEOUT block as follows
Name:
6
REEOUT_PRI
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
Action
7
Add an OPC Gateway using the selection as File > New > External Servers > OPC-OPC
Gateway.
8
Configure the OPC gateway as follows
Tag Name: OPC_G
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
9
Action
Enter Details for OPC communication
Host IP Address:
Enter IP address for the Primary PID’s ACE
Host Name:
Enter Host Name (If IP not known)
OPC Server Host IP Address:
Enter IP address for the Secondary PID’s ACE
OPC Server Host Name:
Enter Host Name (If IP not known)
OPC Server PROGID:
HCI.OPCGateway
Click OK.
8
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
Action
10
Complete the CM wiring in Project as shown below (a Monitoring example is shown) and
Param Connector to connect the output of REEOUT block to the PID SP of
use the
the Secondary ACE through the OPC Gateway.
ATTENTION
The OPC point has to be entered manually within the
PARAM CONNECTOR rather than using the point
picker
4/15/2018
11
Save and load the CM.
12
Load the OPC Gateway.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
13
Action
Build a new CM in the Secondary ACE CEE.
This CM must contain a Secondary Control Loop as shown in the figure below.
14
10
Enter the information as given below in the CM Properties window:
Tag Name
:
CM_SEC
Item Name
:
CM_SEC_item
Parent Asset
:
<Assign it to the existing Asset>
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
15
Action
Enter the following from the PID Properties window;
Normal Mode:
CAS
Normal Mode Attribute: NONE
4/15/2018
Mode:
CAS
Mode Attribute:
OPERATOR
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
16
Action
Open the PIDA properties window > SetPoint; and add Check the Enable Pushing SP
option
TIP
Tune the PID on the PID Projects Parameter dialog
box within the Algorithm Tab.
Click OK.
12
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
Action
17
Save and Close the CM.
18
Add an Inter Cluster Gateway from;
File > New > External Servers > ICG-Inter Cluster Gateway
19
Configure the Inter Cluster Gateway as follows:
Tag Name: ICG_SEC
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
20
Action
Enter Details for ICG communication
Host IP Address:
Enter IP address for the Secondary PID’s ACE
Host Name:
Enter Host Name (If IP not known)
OPC Server Host IP Address:
Enter IP address for the Primary PID’s ACE
OPC Server Host Name:
Enter Host Name (If IP not known)
Click OK.
14
21
Save and Load the secondary CM.
22
Save and Load the ICG.
23
Activate the Primary CM and OPC gateway on the Primary ACE.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
24
Action
Activate the Secondary CM on the Secondary ACE.
ATTENTION
Note that the ICG is only to be loaded and not activated.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
25
16
Action
Test the peer-peer communication by performing the following steps;

Change the Setpoint of Primary PID (PID_PRI).

Since the Primary PID is in AUTO mode, the OP will be modified.

Observe the Setpoint in the Secondary PID.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)

Step
26
4/15/2018
Action
Observe the changing Setpoint in the secondary PID.

The Setpoint in the Secondary PID (PIDA) will change since it has been
PUSHED in by the ICG.

Since the PIDA is in cascade mode it will take action on the OP.

Change the mode of the secondary PIDA block to AUTO. Make a setpoint
change and observe initialization on the Primary PID block. The Primary PID
block’s INITMAN flag will be ON and the OP will be set equal to the SP of the
secondary.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
17
ACE Concepts (ACE Only)
Configure Inter-Cluster Peer-Peer Communication (Reference Only)
This page was intentionally left blank.
18
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)
Read/Write a TPS Point Using ACE-T (Reference Only)
Objectives

Read/Write a TPS point using ACE-T.

This lab is for Reference Only. Do not perform this lab in class.
Prerequisites

Experion PKS Server with Configuration Studio installed.

ACE node configured and loaded in Control Builder.

TPS configuration must be performed in ACE-T node.
Introduction
This lab must be performed in a physical ACE-T node, since we cannot write to a TPS point using
Simulation nodes.
In this lab, you will perform the following:

Create an OPC Gateway block to communicate with TPS points.

In a Control Module, read the TPS point.

Use the same Control module to create cascade control between a PID running in ACE
(Primary) and PID running in TPS (Secondary).
o UCNOUT block is used writing to the TPS point.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
19
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)

Step
Action
1
ATTENTION
Do not perform this lab in class. This lab is for
Reference only
2
Launch Configuration Studio and open Control Builder, if not already open.
3
Select File  New  External Servers  OPC- OPC Gateway
4
Enter the following information:
Tag Name: OPC_TPS
Item Name: OPC_TPS_Item
Host IP Address: <Enter the IP address of the ACE node>
OPC Server Host IP Address: <Enter the IP address of the ACE-T node>
OPC Server PROGID: HCI.TPNServer
Click OK.
5
Load and Activate OPC_TPS.
6
Create a new control module with the following properties:
Tag Name: CM_TPS
Item Name: CM_TPS_Item
Asset: TRAINING
Click OK.
20
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)

Step
4/15/2018
Action
7
Drag and drop a Numeric block into the contol module. Double click to open the
properties of NUMERICA block.
8
From the Block Pins tab, delete the Output pin which is already present. Add PV as
Input Pin.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
21
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)

Step
9
Action
Select the Parameter Connector button (
of NUMERICA block.
) in the toolbar and connect it to the PV pin
Enter the parameter name as OPC_TPS.FIC21765.PV in the parameter connector.
22
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)

Step
Action
10
Save the Control module and assign it to the ACE node.
11
Load and activate the CM_TPS.
12
Open CM_TPS in the monitoring side and ensure that the PV value of FIC21765 point is
present..
TIP
PV value of the TPS point has to be checked in Native
Window. If the TPS system interface is configured in
Experion Server, then value of this TPS point can be
viewed in Experion Station itself.
13
4/15/2018
Close CM_TPS. Open CM_TPS from Project tab.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
23
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)

Step
14
Action
Drag and drop the following blocks and connect them as shown on the screen capture.
a. NUMERIC block
b. PID block
c.
UCNOUT block (present in UCNIF library)
d.
15
Double click on Numeric block and enter the Actual Value as 47. Click OK.
16
Open the properties of the PIDA block and enter the following:
Main Tab
Mode: AUTO
Algorithm tab
T1 (minutes) : 10
SetPoint tab
SP : 50
Click OK.
24
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)

Step
17
Action
Select the Parameter Connector button (
pin of UCNOUTA block.
) in the toolbar and connect it to the SPOUT
Enter the parameter name as OPC_TPS.FIC21765.SP in the parameter connector.
18
Open the properties of UCNOUTA block and select the Remote Cascade Type as SPC
Click OK.
4/15/2018
19
Save and close the Control Module.
20
Load and activate CM_TPS.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
25
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)

26
Step
Action
21
Open CM_TPS in monitoring side for monitoring the Output value of the UNCOUT block
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)

Step
22
Action
Ensure that the otuput value of the UCNOUT block is written to the SP of the FIC21765
block.
ATTENTION
TPS point must be in cascade mode.
Control states of UCN and HPM/AM where the point is
located must be selected as FULL CONTROL. Default
Value of these parameters are BASIC CONTROL.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
27
ACE Concepts (ACE Only)
Read/Write a TPS Point Using ACE-T (Reference Only)
This page was intentionally left blank.
28
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Describe Additional Math Functions within
VB.Net
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Describe Additional Math Functions within VB.Net
4/17/2018
CABMath Class
• CAB Math functions are available to the user and are included into the
scripts, default by the preprocessor “Honeywell.CAB.Math”
• There are four CABMath functions available: Min, Max, Sum, and Avg
• Examples of usage
–
–
–
–
MinFlow = CABMath.Min(FLOW1, FLOW2, FLOW3)
MaxFlow = CABMath.Max(FLOW1, FLOW2, FLOW3)
TotalFlow = CABMath.Sum(FLOW1, FLOW2, FLOW3)
AverageFlow = CABMath.Avg(FLOW1, FLOW2, FLOW3)
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Describe Additional Math Functions within VB.Net
4/17/2018
CAB Math Class
A typical Function declaration
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Describe Additional Math Functions within VB.Net
4/17/2018
Using Finalize() method
• Logic using Finalize() method in a CAB block may cause ACE to fail
– If used for other than releasing unmanaged resources
• The Finalize() method should only be used if necessary, and only to
release unmanaged resources.
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Describe Additional Math Functions within VB.Net
4/17/2018
Conclusion
Describe Additional Math Functions within VB.Net
Completion
Certificate
Proceed to the next module in your course material
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Describe Additional Math Functions within VB.Net
4/17/2018
This page intentionally left blank
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Describe Additional Math Functions within VB.Net
Describe CAB Time Settings
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Describe CAB Time Settings
4/17/2018
How Does Experion Use Time?
• Why is Time Important?
– Time synchronization is of prime importance in any process based industry
– Many of the operations are performed in a sequence, or based on shifts and
operator availability
• How does Experion Use Time?
– Experion uses Coordinated Universal Time (UTC) which is raw time with no
time zone and no daylight savings time adjustments
• Example UTC :Tuesday, 2009-02-03 15:35 UTC
– You may be used to seeing the date/time as Feb 3, 2009, 3:35 PM
– Greenwich Mean Time (GMT) used to mean UTC, but GMT term is avoided
• How does Experion Convert Time?
– UTC is stored internally in Experion and is converted to local time when
shown to you using time zone and daylight savings time adjustments
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Describe CAB Time Settings
4/17/2018
How Does CAB Use Time?
• When a CAB Program reads Time from Experion, it is in UTC Format
– If time values need to be written in Experion then they need to be written in
UTC format
– PDE/Control Builder will convert to local time when reading the values for
viewing purposes
• If values are entered in PDE/Control Builder they should be entered in
Local Time
– PDE/Control Builder will internally do the conversion to UTC
• If the CAB Program is moving values to a string for displaying via some
other mechanism, the program is responsible for converting the UTC to
Local Time
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Describe CAB Time Settings
4/17/2018
CAB Date and Time Synchronization
• Execution Environment (EE) Devices (C300, C200/C200E, ACE, FIM,
IOLIM) are synchronized by the Experion Control Data Access (CDA)
server
• Time synchronization for CAB on ACE functionality is NOT synchronized
by CDA
– CAB uses the underlying .NET and Windows OS services of the ACE
platform
– Time sensed within CAB programs is based on Windows OS
synchronization derived from the same Experion server that supplies time
synchronization to CDA
• More information can be found in PDF Collection:
– Experion R501.1 PDF Collection > Reference > Control Builder Components
Theory > Time Support in Experion System > Time Configuration
Considerations
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Describe CAB Time Settings
4/17/2018
CAB Time Example used in Lab Exercise
•
Example of time processing
shows running a block
periodically, synchronous with
local wall clock time
–
Could be useful in calculating
relevant data at the end of an
operator shift
– Intended to run within a CM
that executes periodically,
perhaps once per minute
– lab example uses numerics
as process flow values to be
averaged
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Describe CAB Time Settings
4/17/2018
CAB Time Example – Initial configuration
1. Configure CDPs to display and transport time
2. Configure faceplate to display time or calculated shift values
3. Configure any Parameter References
LASTRUNTIME, a
TIME Data Type, can
be displayed as Local
Time on an
operational display
1.
3.
2.
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Describe CAB Time Settings
4/17/2018
CAB Time Example
• Based on example from user guide
– Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block
and Custom Data Block User's Guide > CAB and CDB Example Scenarios >
Example using data type TIME
Calculate shift hour
using TimeofDay.
Using Mod, you can
calculate a shift
change time for
midnight, 8 AM, or 4
PM from any time of
day. For example, if
the current hour is 9
AM, then ((9+81)/mod 24)=16 which
is 4 PM. In other
words, the shift
interval is hard
coded at 8 hours
CAB - Additional Programming Considerations (ACEOnly)
Shift calculations always
occur at the local
target times regardless of
changes in daylight savings
time
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
13
Describe CAB Time Settings
4/17/2018
CAB Time Example
Evaluated as true if
current hour is midnight,
8 AM or 4 PM
Calculate next shift hour
using TimeofDay. Using
Mod, you can calculate the
next shift change time. For
example, if the current shift
change time is 8 AM, then
(8+8)/mod 24 =16 hours or
4 PM for next shift.
Calculate last run using
UTC, see next slide for
more details
Subroutine DoShiftCalculations() is
declared as type Private.
Recommended to
accurately document the way in which
the subroutine can be used.
CABMath average
used along with PRefs
read and write
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Describe CAB Time Settings
4/17/2018
Converting to UTC and local time
• About the Custom Data Parameter, LASTRUNTIME
– Defined as Experion data type TIME
– TIME is always transported as universal time
– Program must be written to adjust for the difference between its internal
timing (local time) and the externally transported time (universal time)
– The ToUniversalTime method of DateTime is used to do this
– Although Experion transports TIME values as universal time, they are
always displayed as local time, you can view LASTRUNTIME on an
operational display
SHIFTCALC records the
actual time at which the
calculations have occurred
with the Custom Data
Parameter (value CDP)
LASTRUNTIME.
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
15
Describe CAB Time Settings
4/17/2018
Conclusion
Describe CAB Time Settings
Completion
Certificate
Proceed to the next module in your course material
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
16
8
Describe CAB Time Settings
4/17/2018
Describe Additional Execution Mode
Considerations in ACE
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Describe Additional Execution Mode Considerations in ACE
Copyright © 2018 Honeywell International Inc.
17
4/17/2018
Atomic Execution Mode in ACE
• In the Atomic Execution Mode, CAB executes in ACE process
• CEE of ACE monitors the execution of CAB programs
– CAB instances must complete their execution in less than ½ of the Base
Execution Period of the CEE
– If execution of an individual CAB Instance exceeds this duration
• Execution is stopped and the CABSTATE is set to Terminated
• System Alarm is generated
– The Block Instance will not run again until restarted by a user
– After restart, the Alarm and State Parameters return to normal
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Describe Additional Execution Mode Considerations in ACE
Copyright © 2018 Honeywell International Inc.
18
9
4/17/2018
Atomic Execution Mode – Additional Considerations
•
•
There is a potential for Atomic Execution CABs with large numbers of
Parameters to terminate due to timeout when first executed on ACE
Node
This is because of the JIT (Just In Time) compilation functionality of
.NET
–
–
When a CAB is first executed, there is a compilation overhead that is not
present on subsequent executions
You can handle this several ways:
• If it is acceptable in your situation, restart the CAB. Subsequent
Executions should NOT Time Out
• Consider Distributed Mode Execution
• Structure your Atomic Program such that Parameter Access is
distributed over two or more executions, with no more than 1500
Parameters accessed in any execution. Do this by grouping Parameter
Accesses in separate subroutines executed in different Cycles
• Limit the number of Parameters to 750 PRefs and 1500 CDPs
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Describe Additional Execution Mode Considerations in ACE
Copyright © 2018 Honeywell International Inc.
19
4/17/2018
Atomic Execution Mode – Additional Considerations
• Loop Overrun Detection is performed on the basis of CAB Instances
rather than on CAB Types
• If a given Instance uses a flawed program and has data conditions that
allow the flaw to be triggered, it is Taken Out of Service
• If another Instance uses the same program but does not have data
conditions that trigger the defect, it is Not Taken Out of Service
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Describe Additional Execution Mode Considerations in ACE
Copyright © 2018 Honeywell International Inc.
20
10
4/17/2018
CEE and .NET
• ACE CEE uses .NET Thread Abort Services to terminate a Block that is
Executed Too Long
• Characteristics of these services make it impossible for CEE to
terminate a Block under certain unusual circumstances
• In particular, a Block cannot be terminated if it is looping within the
Catch or Finally Clauses of a "Try" Statement
• Honeywell recommends that site practices forbid the use of loops within
Catch or Finally Clauses
– The need for such loops does not arise within CAB Control Programs
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Describe Additional Execution Mode Considerations in ACE
Copyright © 2018 Honeywell International Inc.
21
4/17/2018
CAB Execution
• During execution, a CAB is never interrupted by Data Access Requests
from Outside the Block
– This is true in either Atomic or Distributed Execution Mode
• This feature means that Programmers who Write CAB Programs can do
so without concern that the CAB’s own Data (CDPs) might be Read or
Written by an external agent while their values are under computation
and not ready for use
• In either Atomic or Distributed Execution, Values that are changed
during execution are not updated for access by external agents until the
Block Execution Completes
• Use the CABEXECTIMER Monitoring Parameter to view how fast CAB
is running
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Describe Additional Execution Mode Considerations in ACE
Copyright © 2018 Honeywell International Inc.
22
11
4/17/2018
CAB Execution
• For an Atomic Execution CAB, Values manually or programmatically
changed by external agents storing to the Block while the bBlock is
executing will be used by the Block at its next execution
• For a Distributed Execution CAB, Values manually or programmatically
changed by external agents storing to the Block while the Block is
executing are Cached for the next Execution Cycle
– These Cached Values will be overwritten by any changes to the same
parameters made as a result of Block Execution
– Changes made to Block Parameters when the Distributed Block is not
executing will be used by the Block at its next Execution
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Describe Additional Execution Mode Considerations in ACE
Copyright © 2018 Honeywell International Inc.
23
4/17/2018
Conclusion
Describe Additional Execution Mode Considerations in ACE
Completion
Certificate
Proceed to the next module in your course material
CAB - Additional Programming Considerations (ACEOnly)
Honeywell Confidential
Describe Additional Execution Mode Considerations in ACE
Copyright © 2018 Honeywell International Inc.
24
12
4/17/2018
Topic: CAB - Additional Programming Considerations
(ACEOnly)
Contents
Configure CAB using Time and Math Functions ...................................................................................3
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions
Configure CAB using Time and Math Functions
Objectives

In this lab, you create a CAB which will calculate the average of three flow values at the
desired time.

This lab is performed from a SIM-ACE.
Prerequisites

Experion Flex Station installed with CAB Developer.

SIM C300 Controller loaded on server.

Application Control Environment installed and loaded on server.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
Action
1
Open Control Builder from Configuration Studio, if not already open.
2
Build new CAB block using following path:
File > New >Type > Custom Algorithm Block.
3
Enter the following information as given below.
Library name:
TEAM##_CAB
Type name:
SHIFTCALC
Click OK.
4
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
4
Action
In the Parameter Definition Editor select Value CDP’s tab and enter the parameters
and information as given below.
Parameter 1
Parameter Name:
LASTRUNTIME
Parameter Description:
time of last shift calculation
Data Type:
TIME
First dimensional Array Size:
0
Access Lock:
VIEWONLY
Configuration Load:
NOLOAD
Parameter 2
Parameter Name:
NEXTHOUR
Parameter Description:
next shift hour
Data Type:
INT32
First dimensional Array Size:
0
Access Llock:
OPERATOR
Configuration Load:
NOLOAD
Parameter 3
Parameter Name:
DUMMYHOUR
Parameter Description:
user entered hour to test CAB
Data Type:
INT32
First dimensional Array Size:
0
Access Lock:
OPERATOR
Configuration Load:
LOAD
Default Value:
18
Parameter 4
4/15/2018
Parameter Name:
CURRENTHR
Parameter Description:
current hour
Data Type:
INT32
First dimensional Array Size:
0
Access Lock:
VIEWONLY
Configuration Load:
NOLOAD
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
Action
Parameter 5
5
6
6
Parameter Name:
AVERAGEFLOW
Parameter Description:
average flow
Data Type:
FLOAT64
First dimensional Array Size:
0
Access Lock:
VIEWONLY
Configuration Load:
NOLOAD
From the Parameter References tab, create 3 parameters:
FLOW1
flow 1 FLOAT64
IN/OUT
FLOW2
flow 2 FLOAT64
IN/OUT
FLOW3
flow 3 FLOAT64
IN/OUT
Save the PDE Data.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
7
Action
Click on Symbol Attribute tab, enter the following information:
Parameter 1
Parameter Name:
NEXTHOUR
Monitoring Face:
2
Parameter 2
Parameter Name:
CURRENTHR
Monitoring Face:
3
Parameter 3
Parameter Name:
DUMMYHOUR
Monitoring Face:
4
Parameter 4
Parameter Name:
AVERAGEFLOW
Monitoring Face:
5
Parameter 5
8
4/15/2018
Parameter Name:
LASTRUNTIME
Monitoring Face:
6
Save the PDE Data.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
Action
Write Coding for CAB
9
Click on the CABlock.vb tab to open the VB Development Environment.
10
Enter the following code into the Public overide area.
ATTENTION
The CAB program given below is also available in the
text file C:\Student\CAB Scripts\Configure CAB
Block for Time.txt. You can optionally copy the code
from this text file and paste it in CABlock.vb window.
Ensure that you delete all existing code in
CABlock.vb window and then select all text in the
script text file and paste it in CABlock.vb window.
Public Class CABlock
Inherits BlockBase
Dim NextCalcHour As Integer ‘Declare variable for next hour
Public Overrides Sub Execute()
Dim CurrentTime As DateTime
Dim CurrentHour As Integer
If Restart <> RestartEnum.None Then
'Calculate next shift change on startup
'Shift changes are midnight, 8:00am and 4:00pm
NextCalcHour = Now.TimeOfDay.Hours
NextCalcHour = (NextCalcHour + 8 - NextCalcHour Mod 8) Mod 24
NEXTHOUR.Value = NextCalcHour
End If
CurrentTime = Now
CurrentHour = CurrentTime.TimeOfDay.Hours
'Current hour to be displayed on faceplate
CURRENTHR.Value = CurrentHour
8
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
Action
Continued :-'For the Lab Exercise, we modified "CurrentHour = NextCalcHour"
'from the User Guide to "DUMMYHOUR.Value = NextCalcHour"
'in order to test your program unless you want to wait 8 hours!
'If CurrentHour = NextCalcHour Then
If DUMMYHOUR.Value = NextCalcHour Then
'calculate the next shift change
NextCalcHour = (CurrentHour + 8) Mod 24
'Note that your Normal Shift change would be calculated
'as midnight, 8:00am and 4:00pm if we used CurrentHour.
'Because we used DUMMYHOUR to test program,
'your NEXTHOUR.value will not be midnight, 8:00am and 4:00pm
NEXTHOUR.Value = NextCalcHour
LASTRUNTIME.Value = CurrentTime.ToUniversalTime
'Do some shift calculations and
DoShiftCalculations()
End If
End Sub
Private Sub DoShiftCalculations()
' Do shift calculations.
PRefList.Read()
AVERAGEFLOW.Value = CABMath.Avg(FLOW1.Value, FLOW2.Value,
FLOW3.Value)
PRefList.Write()
End Sub
End Class
4/15/2018
11
When complete, click the Build Solution Icon and ensure that there are NO Errors.
12
Save to ERDB by Clicking its Icon. Close the Development Environment.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
Action
Create a CAB instance
13
Create a new Control Module using the following information
Tag Name:
SHIFT_CALC##
Item Name:
SHIFT_CALC##
Parent Asset:
Training (Use Point Picker to assign Asset)
Click OK and Save the CM.
14
In the Library Tree expand CABLIB and drag the CAB Function Block named as
SHIFTCALC into the Control Module SHIFT_CALC##.
Add Three Numeric to Control Module SHIFT_CALC## and name them Flow1, Flow2,
and Flow3. Assign Values to the Numerics that will be averaged by your program.
10
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
15
Action
Double click the CAB Block and assign the Numerics to their respective Parameter
References. Click OK
Save and Close the CM.
4/15/2018
16
Assign SHIFT_CALC## to ACE.
17
Download and Activate SHIFT_CALC##.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
CAB - Additional Programming Considerations (ACEOnly)
Configure CAB using Time and Math Functions

Step
Action
Check for Values Update in CAB Block
18
On the monitoring side open the CM SHIFT_CALC##. Check if the Values are updating
by using the CDP, DUMMYHOUR, and set it equal to NEXTHOUR. When
DUMMYHOUR = NEXTHOUR, your Shift Calc Program runs and averages the Flow
Values.
Note that we used DUMMYHOUR to test our program rather than wait 8 hours for the
actual shift time to occur. As a result, the program changes your NEXTHOUR Value to a
time that will differ from the Normal Shift Change Times of midnight, 8 AM or 4 PM.
12
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Describe Dynamic Re-Referencing
Configure Dynamic Re-Referencing (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Describe Dynamic Re-Referencing
4/17/2018
1
What is Dynamic Re-Referencing?
• When a Parameter is configured for Dynamic Re-referencing Capability,
– The target for the reference can be changed “on the fly,”
– Even though the instance is loaded and executing in ACE
• Example:
– Parameter reference RXFLOW is assigned a specific target, FI222.AI1.PV
– CAB instance is loaded and executing in ACE
– A program or operator could change or re-direct parameter reference
RXFLOW from FI222.AI1.PV to FI333.AI1.PV
FI222.AI1.PV
RXFLOW
reflux flow rate
FI333.AI1.PV
Parameter reference
acts as an alias
Target Values
Configure Dynamic Re-Referencing (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Describe Dynamic Re-Referencing
4/17/2018
Dynamic Re-Referencing Concepts
• This function is supported only on CAB’s executing in ACE Node
– CAB on C300 does not support Dynamic Re-referencing capability
• Source of data can be changed on line, by multiple means;
programmatically, manual or by external sources
• Purpose is convenience of process control and code re-usability
• Re-referenced parameters initially called based on present address
assignment on the block parameters online Parameter References Tab
• Data sources include Native Blocks and CDB
Configure Dynamic Re-Referencing (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Describe Dynamic Re-Referencing
4/17/2018
Dynamic Re-Referencing – Equipment Example
• Assume a plant having two identical zones to be manned
• A single operator manages both the zones and performs Repetitive Tasks
Zone A and associated
monitored Devices
Zone B and associated
monitored Devices
Single Point of Control
Performing Repetitive
Tasks
• The same can be achieved using Re-referencing Functionality of CAB
Configure Dynamic Re-Referencing (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Describe Dynamic Re-Referencing
4/17/2018
Dynamic Re-Referencing – Equipment Example
ZONE A
Parameters
ZONE B
Parameters
CAB with
Re-referencing
Configure Dynamic Re-Referencing (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Describe Dynamic Re-Referencing
4/17/2018
CAB Dynamic Re-Referencing – Monitoring View
• Parameters can be Re-referenced Dynamically from Graphic
Configure Dynamic Re-Referencing (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Describe Dynamic Re-Referencing
4/17/2018
Conclusion
Describe Dynamic Re-Referencing
Completion
Certificate
Proceed to the next module in your course material
Configure Dynamic Re-Referencing (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Describe Dynamic Re-Referencing
4/17/2018
This page intentionally left blank
Configure Dynamic Re-Referencing (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Describe Dynamic Re-Referencing
Topic: Configure Dynamic Re-Referencing (ACE Only)
Contents
Configure CAB for Dynamic Re-Referencing ........................................................................................3
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing
Configure CAB for Dynamic Re-Referencing
Objective
The objective of this lab is to configure a CAB block with dynamic re-referencing.
CAB Block configured in this lab must be used only in SIM-ACE node since dynamic rereferencing is not supported for CAB blocks executing in C300.
Main Idea
In this lab, the scenario discussed is as follows:
1. There are two zones, Zone A and Zone B.
2. Each zone has five temperature and position profiles associated to it.
3. The CAB blocks needs to be configured such that it detects the profile in a particular zone
which has maximum temperature and the position associated to it. Similarly the CAB block
also detects the profile where we have minimum temperature and the position and also the
average temperature.
4. In run-time, we should be able to switch all the parameters from Zone A to Zone B. After
manual committing of re-references, the same CAB block now detects the profile in Zone B
that has maximum temperature and the position associated to it, minimum temperature and
the position associated to it, and also the average temperature.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
1
Action
Create a CAB using the following information:
Library Name: Select TEAM##_CAB from the drop down box
Type Name:
ZONESTATSCABR
Click OK.
4
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
2
Action
The Parameter Definition Editor opens. Click the Fixed Tab and select X_REFMODE
as MAN.
ATTENTION
The default mode for a CAB type for dynamic rereferencing is “automatic.” This mode allows each rereferencing to occur wholly on its own. That is not what
we want for this example. We want all the references
to point to either one zone, or another zone. If the
references were allowed to change individually, we
would get nonsensical results for the statistics.
We want to set the mode for dynamic re-referencing
for ZONESTATSCABR to “manual.” This means that
the entity changing the references, whether a person
or a program, must follow a prescribed protocol. The
protocol ensures that all of the references are changed
as one action for a zone change.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
Action
3
In the Parameter References tab enter the parameters and information as given below.
ATTENTION
The parameters mentioned below are also available in
C:\Student\CDP and Pref.xls. Go to the sheet named
ZONESTATSCABR. You can optionally copy the parameters
from this sheet and paste it in Parameter References tab.
You have to copy only one row at a time and paste it twice in the
Parameter References tab in CAB developer environment.
Parameter1
Parameter Name:
POSITION01
Parameter Description:
01 position in zone
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Parameter2
Parameter Name:
POSITION02
Parameter Description:
02 position in zone
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Parameter3
Parameter Name:
POSITION03
Parameter Description:
03 position in zone
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Parameter4
Parameter Name:
POSITION04
Parameter Description:
04 position in zone
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Parameter5
6
Parameter Name:
POSITION05
Parameter Description:
05 position in zone
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
Action
Similarly define five parameters for temperature in Parameter Reference Tab.
Parameter6
Parameter Name:
TEMP01
Parameter Description:
01 Temperature
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Parameter7
Parameter Name:
TEMP02
Parameter Description:
02 Temperature
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Parameter8
Parameter Name:
TEMP03
Parameter Description:
03 Temperature
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Parameter9
Parameter Name:
TEMP04
Parameter Description:
04 Temperature
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Parameter10
4/16/2018
Parameter Name:
TEMP05
Parameter Description:
05 Temperature
Data Type:
FLOAT64
Data Flow:
IN/OUT
Dynamic Reference:
Checked
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
Action
Similarly define five output parameters in Parameter Reference Tab.
Parameter11
Parameter Name:
MAXTEMP
Parameter Description:
Maximum Temp in zone
Data Type:
FLOAT64
Data Flow:
OUTPUT
Dynamic Reference:
Checked
Parameter12
Parameter Name:
MAXPOS
Parameter Description:
Position in max temp
Data Type:
FLOAT64
Data Flow:
OUTPUT
Dynamic Reference:
Checked
Parameter13
Parameter Name:
MINTEMP
Parameter Description:
Minimum Temp in zone
Data Type:
FLOAT64
Data Flow:
OUTPUT
Dynamic Reference:
Checked
Parameter14
Parameter Name:
MINPOS
Parameter Description:
Position in min temp
Data Type:
FLOAT64
Data Flow:
OUTPUT
Dynamic Reference:
Checked
Parameter15
8
Parameter Name:
AVGTEMP
Parameter Description:
Average temp in zone
Data Type:
FLOAT64
Data Flow:
OUTPUT
Dynamic Reference:
Checked
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
Action
The Parameter Reference tab in the Parameter Definition Editor appears.
4/16/2018
4
Save the PDE Data.
5
Click the CABlock.vb tab to open the VB Development Environment.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
6
Action
Enter the following code.
ATTENTION
Enumeration CABAccStatusEnum is predefined for
use with the ReadStatus and WriteStatus properties of
the parameter reference classes.
CAB uses “IsNan” to test for “Not a Number”, the
equivalent of a bad value.
CAB uses “IsInfinity”, “IsNegativeInfinity”,
“IsPositiveInfinity” to test for various categories of
infinity.
The CAB program given below is also available in the
text file C:\Student\CAB Scripts\Configure CAB for
Dynamic Re-referencing.txt. You can optionally copy
the code from this text file and paste it in CABlock.vb
window.
Note that the CAB Code present in the Text file and
code provided in this step is incomplete. You must
add some statements to Check whether the MINTEMP
parameter is NaN or value of TEMP(I) is less than
MINTEMP parameter.
If one of the above condition is true then assign the
TEMP(I) value to the MINTEMP parameter and
Position(I) value to MINPOS parameter.
Ensure that you delete all existing code in
CABlock.vb window and then select all text in the
script text file and paste it in CABlock.vb window.
TIP
To add missing lines in code: Use an IF statement to
check the conditions. Hint: It is similar to the code
which is used for MAXTEMP parameter. You can
copy, paste, and substitute MINTEMP for MAXTEMP
and MINPOS for MAXPOS.
10
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
4/16/2018
Action
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

12
Step
Action
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
7
Action
When complete, click on the Build Solution icon and ensure there are no errors.
ATTENTION
If you have not added the missing lines in the code,
then the CAB code will not work as intended
Ask your Instructor if you have any questions about
the code you need to add.
8
Save the CAB to the ERDB by clicking on the correct Icon and close the Development
Environment.
9
Create a new Control Module with the following properties:
Tag name:
CMZSTATS##
Item name:
CMZSTATS##_Item
Parent Asset:
Training (Use Point Picker to assign Asset)
Click OK.
Save the CM.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
10
Action
In the Library Tree expand TEAM##_CAB and drag the CAB function block named as
ZONESTATSCABR into the control module.
Save and Close the CM.
11
Assign CMZSTATS## to ACE.
12
Download the CMZSTATS##.
13
If Control Modules CMZA## and CMZB## that represent Zones A and B are not
imported then Import the Control Modules in control builder.
ATTENTION
## stands for your student group number.
The control modules which need to be imported are
present in C:\Student\Control Builder folder.
14
Assign CMZA## and CMZB## to the ACE CEE.
15
Download CMZA## and CMZB##.
16
Open the Station application, if not already open.
Call up the CMZSTATS##.htm display by entering CMZSTATS## in the Command Zone
and pressing the Enter key.
14
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
17
Action
Enter parameter references in the References column as shown below. Be sure to use
your assigned team number as the example shows Team 01.
ATTENTION
The References column will be blank on first load of
the display. Enter only the parameter name to be
referenced.
The Screen Capture shows <BUSY> as a prefix to the
parameter name.
Ensure that you press the ENTER key after entering
the parameter. The <BUSY> prefix appears on
entering the parameter name.
The <BUSY> prefix is an indicator for a re-reference
action in progress.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
18
Action
The Re-referenced parameters can also be entered in Control Builder on the Parameter
References tab of ZONESTATSCABRA block.
On the online change confirmation dialog box, click Yes.
ATTENTION
This is the alternate method to perform the Re-reference. While
a re-reference action is in process, a parameter reference
viewed on the Parameter Reference tab in Monitoring view will
show as Error 2953 in the Configuration Form. The error will
clear when you commit the changes in a later step.
Click OK.
16
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
Action
19
While the tag names for CMZA## tags are being entered, the Re-Ref State of the CAB
block is indicated as TRANSLATING on the HMIWeb display.
20
Re-Ref State of the CAB block can also be viewed on the Main tab of the CAB block
properties.
ATTENTION
You will have to scroll down in the Main tab dialog to
view the remaining properties.
21
4/16/2018
While re-referencing is being done Read Status is indicated as REREFBUSY on the
HMIWeb display.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
17
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

18
Step
Action
22
The Main tab on the CAB block will indicate the same status as the graphic.
23
From the graphic display, click the drop down menu of Re-Ref Commit and select
COMMIT for re-referencing to be committed.
24
Note: the same COMMIT operation can also performed from CAB block properties (Main
tab) in Control Builder
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
25
4/16/2018
Action
The HMIWeb display will display the referenced parameters.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
19
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
26
Action
Click the Parameter References tab.
After re-referencing has completed, the Parameter References tab shows the tag
names that were entered earlier. Instead of Err 2953 appearing, tags appear indicating
re-referencing has been completed.
20
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
Action
27
From Monitoring, open the CM named as CMZA##. Check if the MIN, MAX, AVG output
values update based on changes you make to POSITION and TEMP values.
ATTENTION
MAXTEMP shows the value of maximum temperature
and MAXPOS shows the position associated to the
maximum temperature (MAXTEMP).
Similarly MINTEMP shows the value of minimum
temperature and MINPOS shows the position
associated to minimum temperature (MINTEMP).
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
21
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
28
Action
In the HMIWeb display CMZSTATS## change the tag names to CMZB## as shown
below, i.e., replace CMZA## by CMZB##, for all parameters.
After entering CMZB## tags, <pending> suffixed parameters appear which indicates
re-referencing is pending.
The status then changes to <busy>
29
22
Click the drop down menu of Re-Ref Commit and select COMMIT on the display, for rereferencing to be committed.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing

Step
Action
30
After re-referencing has completed the Parameter References display shows the tag
names that were entered earlier instead of parameter names with a <busy> prefix
indicating that re-referencing has been completed.
31
From Monitoring side, open the CM named as CMZB##. Check if the MIN, MAX, AVG
output values update based on changes you make to POSITION and TEMP values.
ATTENTION
MAXTEMP shows the value of maximum temperature and MAXPOS shows
the position associated to the maximum temperature (MAXTEMP).
Similarly MINTEMP shows the value of minimum temperature and MINPOS
shows the position associated to minimum temperature (MINTEMP).
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
23
Configure Dynamic Re-Referencing (ACE Only)
Configure CAB for Dynamic Re-Referencing
24
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Test and Debug CAB
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Test and Debug CAB
4/17/2018
Overview
• CAB debugging is the evaluation of a CAB
• CAB debugging may be done in either of following two ways;
– Off-process debugging
– On-process debugging
• Off-process debugging is a method of script testing using the inherent
features of a MSVS developer
– Off-process debugging can be equated to white-box testing
– Breakpoints can be assigned to blocks of script
– This method will affect the process, unless the ACE simulation mode has
been enabled
• On-process debugging is the conventional method of online monitoring
of a CAB, as is the case with native blocks
– On-process debugging can be equated to black-box testing
– Internal/local variables can be monitored for validity of algorithm execution
– This method will be oblivious to the process, as a monitoring system
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Test and Debug CAB
4/17/2018
Off-process Debugging
• Off-process debugging
requires that the CAB must
be built with solution
configurations option set to
Debug
Solution
Configurations
• The debug build will append
additional information to be
used by the source level
debugger
• Post debug a final build with
solutions configurations set to
release can be generated
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Test and Debug CAB
4/17/2018
Off-Process Debugging Setup
• Remote Debug Monitor running on SIM-ACE is used for debugging
• Remote Debug Monitor is configured to run as a process
– If it is configured as service, then Visual Studio 2012 allows only the users
with administrator access to attach the debugger remotely
– Select Start > All Programs > Microsoft Visual Studio 2012 > Remote
Debugger Configuration Wizard to configure the Remote
Debugger
Uncheck this option to run the
Remote Debugger as a process
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Test and Debug CAB
4/17/2018
Off-Process Debugging Setup
• Configure the CAB Remote Debugger Service to Log on using the
account in which the CDA-SP is running
• In the Start Parameters box, type the users that you want to allow to
debug their CAB types
– -user <{domain\}user{;<user2>…}> {-timeout <value in seconds>}
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Test and Debug CAB
4/17/2018
Off-Process Debugging Setup
• Local security policy identifies the users who can attach to processes
with a Debugger
– User account in which the CAB Remote Debugger is running must be
provided access for the Debug Programs Policy
• Windows firewall must be configured in Flex Station to allow Remote
Debugging
– A batch file is provided to configure the windows firewall
• Refer to CAB and CDB System Administration  Remote Debugging in
Visual Studio section in the CAB and CDB User Guide for more
information
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Test and Debug CAB
4/17/2018
Off-process Debugging
Managed Code
Option must be selected
ACE.exe is attached
for ATOMIC CABs
cabclient.exe is
attached for
DISTRIBUTED CABs
In case of Multiple SIM-ACE,
the appropriate Process IDs
can be evaluated
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Test and Debug CAB
4/17/2018
Off-process Debugging
•
A “Step into” action
can be performed from
a breakpoint
•
The step under current
execution is by default
indicated in yellow
•
The current step can
be drag and dropped
to any desirable
location, taking data
integrity into
consideration
•
The watch window lists
the data available in
the current context
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Test and Debug CAB
4/17/2018
Off-process Debugging - Exceptions
• An exception is any error condition or unexpected behavior encountered
by an executing program
• Exceptions can be raised because of
– Fault in code or in code that is being called
– Unavailable operating system resources
– Unexpected conditions in the common language runtime
• An Exception is thrown from an area of code where a problem has
occurred
• The Exception is passed up the stack until the application handles it or
the program terminates
• The catch statements are user defined actions on an Exception
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Test and Debug CAB
4/17/2018
9
On-process Debugging
• Monitoring allows Control Builder to view the CAB online
• Any Parameter requiring analysis can be brought out on the Block
Parameter Monitored
as a Faceplate Object
Parameter Monitored
as a Pin
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Test and Debug CAB
4/17/2018
On-process Debugging – Alternate Methods
• Definition of visible parameters is under user control
• Define specific parameters to make internal data visible
• Define parameters permanently to form characteristic attributes of the
Block, or temporarily to support Debug
• Use the Send() Subroutine to forward information to the message
display of Experion Station
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Test and Debug CAB
4/17/2018
Debugging with CAB on C300
• CAB/C300 Programs can be Debugged in any of the three target
environments
– C300, SIM C300, or SIM ACE
• C300 and SIM-C300 Platforms, support “black box” Debugging
– State data is published through CDPs or through message send
• Source Level Debugging is supported only when the CAB/C300 type
runs in SIM-ACE
– Run-time used for source Debugging is different from the Run-time for
Process-connected Control
• It is recommended to include a step of validation on the C300 itself after
Debugging programs of CAB/C300 Type in SIM-ACE
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Test and Debug CAB
4/17/2018
Conclusion
Test and Debug CAB
Completion
Certificate
Proceed to the next module in your course material
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
13
Test and Debug CAB
4/17/2018
This page intentionally left blank
Test and Debug CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Test and Debug CAB
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Topic: Test and Debug CAB (ACE Only)
Contents
Test and Debug CAB .............................................................................................................................3
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Test and Debug CAB (ACE Only)
Test and Debug CAB
Test and Debug CAB
Pre-requisites:





A pre-configured CAB type present in the Library that creates errors and exceptions,
allowing you a way to practice the steps to debug a program.
You need to access a pre-configured and downloaded ACE that is active in the Monitoring
window of the Control Builder.
A Control Module should also be assigned to the CEEACE, which contains the CAB type
for which the debugging will be done. The Control Module should also be downloaded. It
should be active in the Monitoring window of the Control Builder.
This lab can be performed only on ACE node, since SIM-C300 does not support debugging.
IMPORTANT NOTE: Some training centers may have more than one ACE (up to 4)
running on a physical ACE node. In that case, you will need to be careful to run one
debugger at a time on that ACE node.
Introduction:





4/15/2018
Once you create your application and resolve the build errors, you must now correct those
logic errors that keep your application or stored procedures from running correctly.
Using the MSVS debugger,
o You can monitor the variables in your program without adding special debugging
code.
o You can insert breakpoints to freeze code execution at points of interest. When the
program is halted in the break mode, you can view local variables and other relevant
data.
o You can even edit your code and change variable values when halted at a breakpoint.
In this particular exercise, a log file write is being performed with exception handling.
The code shall be first debugged to locate the actual path of the log file being written into.
This requires that you become familiar with the intent of the code when you analyze the
script.
Further exceptions, if any, can be resolved depending on the output log file.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
Action
1
Before Debugging CAB Block, need to start CAB Remote Debug service in ACE node.
2
Login into ACE node and open services.msc in Run window. Open the properties of
CAB Remote Debug service.
3
Select the Logon tab and select the radio button This Account and put mngr user
credentials
4
Click on the General Tab, select Startup Type as Manual and click Apply button to
save the changes.
Enter the Start Parameters as “–user student” and Start the service. Click OK.
TIP
Refer Experion PKS R501.1 PDF Collection > Configuration
> Custom Algorithm Block and Custom Data Block Users
Guide >Configuring the CAB Remote Debug Service
4
5
Login to Flex Station
6
Launch Control Builder from Configuration Studio, if not already open.
7
Create a new CM with following details.
Name:
CM_FILEEDIT##
Item Name:
CM_FILEEDIT##
Parent Asset:
TRAINING
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
8
Action
Open a previously configured CAB type from the Library tree window.

Double-click on the CAB type FILE_EDIT to open its development environment.
ATTENTION
Use the CAB type FILE_EDIT present in the
TEAMI_CAB library.
4/15/2018
9
Open the CAB type FILE_EDIT.
10
Perform a Save to ERDB As… operation on the CAB FILE_EDIT.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
11
6
Action
Save the CAB Type to your respective library.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
12
Action
Open the newly created FILE_EDIT from your respective library if not already open.
Open the PDE and append the FILE_NAME parameter default value with the respective
team number.
ATTENTION
The FILE_NAME parameter is modified to avoid conflict of multiple
student groups using the same CAB type to generate multiple output files.
In the FILE_NAME parameter value “TextFile##_”, ## represents your
student number.
Save PDE Data.
When complete, click the Build Solution icon and ensure that there are no errors.
13
4/15/2018
Save the CAB to the ERDB by clicking the Save to ERDB icon and then close the
Development Environment.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
Action
14
Instantiate the CAB FILE_EDIT from your library to the newly created CM_FILEEDIT##.
Save and load the CM to the ACE CEE. Activate the Control Module.
15
8
Open the CAB if not already open:

Click Debug

Select Attach to Processes
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
16
Action
From the Process Window:

Enter the Qualifier Name as “<Computer Name of ACE Node>.

Eg: E16ACEXX
ATTENTION
After entering the Qualifier Name, if an error occurs,
then check the following in ACE Node:
a) Ensure that CAB Remote Debugger Service and
msvsmon.exe is running in the ACE Node
b) Ensure that Visual Studio 2012 Remote Debugger
is added in the Firewall Exception List on Flex Station
If the error again occurs, follow the procedure in
Experion R501.1 PDF Collection  Configuration
 Custom Algorithm Bock and Custom Data Block
Users Guide  CAB and CDB System
Administration  Remote Debugging using Visual
Studio in PDF Collection.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
17
Action
From the Process window:

Click the Select button for the Attach to Option and ensure that only
Managed(v4.5, 4.0) code is selected.

Check the Show Process from all users checkbox if not checked.
ATTENTION
If there is more than one SIM ACE running, you
identify the Process ID from the ACE’s CEE Properties
in Monitoring.
To debug an Atomic mode CAB, the debugger is
attached to the ACE.exe process of the respective
ACE in which the CAB block is loaded.
For this lab exercise, we are debugging a Distributed
mode CAB, so you need to find and identify the
Process ID of cabclient.exe process.

18
10
Select the cabclient.exe for your Process ID and click Attach.
In the present program, we are attempting to write the CAB log into a file and the file
name is the DATE and TIME stamp on the file creation. What is not understandable from
the program is the path of file creation which is NULL in the argument to
Path.GetFullPath function. This must be identified by debugging.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
19
20
Action
In the Development Environment, click the CABlock.vb tab to view the code.

Next, you insert breakpoints for the CAB program.

To insert the breakpoints in the program, select the RestartEnum.None line,
since the CAB is already running.

Right-click the line of code and select Breakpoint  Insert Breakpoint.
Next, step into the code from this point towards DoWriteToTextFile function to monitor
the log file path being written into.
The “Step Into” button is available on the Debug Toolbar which can be enabled from
View > Toolbars > Debug:
Note: Step into can also be commanded by pressing F11 on your keyboard.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
Action
21
Stepping into the DoWriteToTextFile function will display the lpath string variable in the
watch window. You can note that as the default path for the file storage.
ATTENTION
The path indicated resides on the ACE, although
debugging is performed from the FLEX STATION.
12
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
22
Action
The File Name displays its Date and Time Stamp.
ATTENTION
The File Name will be appended with your student team number, such as
TextFile##_ since we had modified the same while creating a copy of the
CAB FILE_EDIT.
“Program Data” is a hidden folder. To view the Program Data folder, from File
Explorer, select Organizer  Folder and Search Options. In the View tab,
select Show Hidden Files and Folders, click OK.
23
When the contents of the file are evaluated, you will be able to see that the script has
been throwing exceptions, and the exception count has been increasing with every cycle
of the CAB execution.
Next, debug the entire program to evaluate the cause of the exception.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
24
Action
Continue the Step into operation. Perform the Step Into operation until you reach Line
148 in the script. In this case, observe that the execution jumps script line 147 to the
Exception handler, without executing lines 150 through to 154.
ATTENTION
Script line number may vary depending on the code arrangement within
the Development Environment. Refer to the screen example for the
correct line. The script line number can be seen on the status bar.
Result: Line 148 is the point of exception as the RUN_COUNT.Value has not been given
the ToString member access. The error definition is one of type conversion, which can
be also verified from the watch window.
14
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
25
Action
Next, Stop the Debugger to implement the script changes.
To end the Debugging process
4/15/2018

Click the Debug option on the menu bar.

Select Stop Debugging

Close the Development Environment without saving any changes to the ERDB,
by first selecting the YES option from the “CAB Build Manager” and then
selecting the DISCARD option from the “Saving data to the ERDB” dialog box if
it appears
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Test and Debug CAB (ACE Only)
Test and Debug CAB

Step
Action
26
Reopen the FILE_EDIT CAB type from the library.
27
Add the ToString member to the RUN_COUNT parameter to solve the exception.
Modify the following in the CAB script at line 148.
sw.WriteLine("CAB Runs : " + RUN_COUNT.Value.ToString)
28
Build the Solution and Save to ERDB. Click Yes in the CAB Build Manager.
29
Reload and activate the CM_FILEEDIT to ACECEE.
30
As an implementation of the above debugging, you have an exception free script, the
result of which is the CAB log file in the ACE.
ATTENTION
A new file will be generated in the ACE node, as the
previous execution has been terminated. The new file
will be named with the latest Date and Time stamp.
16
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Describe History Access Using CAB
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Describe History Access Using CAB
4/17/2018
Overview
• CAB Program can access history data from several history sources
– Runs in Distributed Mode
• CAB running on C300 does not support History Access
• Honeywell provides Wrapped Methods for CL-like convenience
– Similar in concept to Background CL/AM
– Easier to use than the direct OPC .NET API
• Raw (unwrapped) Methods for History Data Access (HDA)
– Mostly used for 3rd Party HDA Server Access
– Supports advanced functionality apart from that provided by Wrapped
Methods
– Function Limiter prevents use of any constructs that are not allowed
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Describe History Access Using CAB
4/17/2018
History Access Sources
• CAB Block can access Process Data History from these sources:
– Experion Server History
– PHD Server History
– General OPC History Data Access Server
ACE
CM
CAB Block
Experion Server History
PHD Server History
Access History Using a CAB (ACE Only)
General OPC History Data Access Servers
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Describe History Access Using CAB
4/17/2018
History Access Concept
• Implemented using the OPC .Net API instead of direct COM
Programming
• Data Access Methods in two forms
– Wrapped and
– Raw (unwrapped) OPC Calls
CAB Programs
• Functionality Provided:
.Net Client
– Read of data in absolute terms
– Read of data in relative terms
– Read of averaged data
.Net Wrapper
COM \ DCOM
Hidden from User
OPC HDA Server
Experion Server
PHD Server
3rd Party HDA Server
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Describe History Access Using CAB
4/17/2018
History Access – General Steps
• Configure Execution Mode as DISTRIBUTED
• Configure Custom Parameters for storing and displaying History Data
– Transfer history data to parameters from CAB program
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Describe History Access Using CAB
4/17/2018
History Access – General Steps
• Configure CAB Block to display Custom Parameter’s History Data
– Use Symbol Attribute tab in Parameter Definition Editor
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Describe History Access Using CAB
4/17/2018
General Coding Steps to Access History Data
• Create an Instance of the OPC HDA Server used to access History Data
– Dim ExperionServer As Opc.Hda.Server
– ExperionServer = New Opc.Hda.Server
• Connect to the History Server
– History.ConnectToHDAServer(ExperionServer)
• Read the History Data (Wrapped Method Syntax follows)
– GetHistory(HistoryServer, PointParameterName, BeginTime, EndTime,
NumValues, Values, TimeStampArray, HistStatusArray, StatusArray) as
Opc.ResultID
• Disconnect from the History Server
– Use disconnect method or delete CM containing the CAB
• Refer to Custom Algorithm Block and Custom Data Block User's Guide
> CAB API Reference > History APIs for more details
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Describe History Access Using CAB
4/17/2018
History Access - Example
• Refer to example scenarios in the Custom Algorithm Block and Custom
Data Block User's Guide
Declare
Declare
variables
variables
used
used
later
later
in program
in program
withwith
GetHistory
GetHistory
method
method
Specify
SpecifyServer
Server
Host
Host
Name
Name
Property
PropertyisisProgId
ProgIdofof
HwHsc.OPC
HwHsc.OPCserver
server
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Describe History Access Using CAB
4/17/2018
History Access - Example
• Connect to the Server hosting the historian database
– Utilizes Try-catch to Catch Exceptions
Instantiates and
and connects
connects using
using
Instantiates
the ConnecttoHDAServer
ConnecttoHDAServer
the
Wrapped Method
Method
Wrapped
A good
good practice
practice is
is to
to use
use Try-catch
Try-catch Block
Block to
to catch
catch any
any
A
Exception that
that the
the OPC
OPC .NET
.NET API
API calls
calls may
may throw.
throw.
Exception
Throwing exceptions
exceptions is
is the
the mechanism
mechanism that
that OPC
OPC uses
uses to
to
Throwing
report serious
serious errors.
errors.
report
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Describe History Access Using CAB
4/17/2018
9
History Access - Example
• On successful connection to the intended Server,
– History retrieved using the GetHistory Method
– Data transferred to CDPs
GetHistory
GetHistory
Method
Method
Historized
HistorizedPoint
Point
NameName
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Describe History Access Using CAB
4/17/2018
History Access – General Steps
Instantiate
CAB Type
Change Value
to be Historized
Access History Using a CAB (ACE Only)
Values updated
in CAB block
Instance
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Describe History Access Using CAB
4/17/2018
Troubleshooting History Access Problems
• Refer to Custom Algorithm Block and Custom Data Block User's Guide
> CAB API Reference > History APIs for more details. Use the following
tables
– “Exceptions Thrown by ConnectToHDAServer” table
– “Return Values for the GetHistory Method” table
• Exceptions Thrown by ConnectToHDAServer example
– CoCreateInstanceEx: Access is denied. Cause and Solution: Experion PKS
CDA-SP Process on the ACE is not executing under mngr Account
• Return Values for the GetHistory Method example
– E_INVALIDHANDLE. Cause and Solution: Point specified is not a valid point
or the point is not being Historized
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Describe History Access Using CAB
4/17/2018
Conclusion
Describe History Access using CAB
Completion
Certificate
Proceed to the next module in your course material
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
13
Describe History Access Using CAB
4/17/2018
This page intentionally left blank
Access History Using a CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Describe History Access Using CAB
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Topic: Access History Using a CAB (ACE Only)
Contents
Configure CAB Block for History Access ...............................................................................................3
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access
Configure CAB Block for History Access
Introduction
In this lab, you will configure a CM and CAB Block for accessing the Experion Server History Values. Note
that History Access is not supported in C300. This lab must be performed using an ACE Node.
Process Overview
The above diagram shows a CAB block used to access Experion Server history using the distributed
function. Note that the CDA-SP on ACE should run under mngr account for accessing Experion Server
History.
Scenario 1: Build the CM with the NUMERIC block and configure the NUMERICA.PV value for FAST
history.
Scenario 2: CAB block with the Distributed execution mode accesses the history value of Experion
Server.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access
Lab Overview
4
1
Build a CM named as CAB_Hist##.
2
TEAM##_FLOW_CDP.NUMERICA.PV has been assigned to FAST history as a part of an
earlier lab exercise.
3
Create a CAB block with the Distributed Execution mode to access the History value.
4
In the Value CDPs, define different parameters for accessing the history.
5
Experion server name for accessing the history will be specified in the CAB script; enter
the Experion server name whose history needs retrieving.
6
Parameter name definition must be as point.parameter name for which you need to
access history values. Enter the point.parameter name in CAB scripts.
7
The starting time from where you want to retrieve the history values and the ending time
for the history value are default mentioned as 15 minutes prior to current time.
8
Parameter name as HISTCOUNT will display the number (count) of history values
retrieved from Experion Server.
9
A maximum of 100 history values displays in the specified time range entered.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
Action
1
Open Control Builder from Configuration Studio, if not already open.
2
Build a new CAB block using following path
File > New >Type > Custom Algorithm Block.
3
Enter the following information as given below.
Custom Library name:
TEAM##_CAB
Block Type name:
HISTORY_READ
Click OK.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
4
Action
In the Parameter Definition Editor select Value CDPs tab and enter the parameters
and information as given below.
ATTENTION
The parameters mentioned below are also available in C:\Student\CDP
and Pref.xls. Go to the sheet named HISTORY_READ. You can optionally
copy the parameters from this sheet and paste it in Value CDPs tab.
Parameter 1
Parameter name:
HISTVALUES
Parameter Description:
History values
Data Type:
Float64
First dimensional Array size:
500
Access lock:
OPERATOR
Configuration load:
NOLOAD
Parameter 2
Parameter name:
HISTTSS
Parameter Description:
History Time Stamps
Data Type:
Time
First dimensional Array size:
500
Access lock:
OPERATOR
Configuration load:
NOLOAD
Parameter 3
Parameter name:
HISTSTS
Parameter Description:
History value Status
Data Type:
INT32
First dimensional Array size:
500
Access lock:
OPERATOR
Configuration load:
NOLOAD
Parameter 4
6
Parameter name:
HISTCOUNT
Parameter Description:
Number of values to retrieve
Data Type:
INT32
First dimensional Array size:
0
Access lock:
OPERATOR
Configuration load:
NOLOAD
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
Action
Parameter 5
4/16/2018
Parameter name:
ERRORSTATUS
Parameter Description:
Additional status information
Data Type:
STRING
Size:
255
First dimensional Array size:
0
Access lock:
OPERATOR
Configuration load:
NOLOAD
5
Click on fixed tab in Parameter Definition Editor and change the X_EXECMODE to
Distributed.
6
Save the PDE data.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
7
Action
Click on Symbol Attribute tab, enter the following information:
Parameter 1
Parameter name:
HISTCOUNT
Monitoring face:
2
Parameter 2
Parameter name:
HISTVALUES[0]
Monitoring face:
3
Parameter 3
Parameter name:
HISTVALUES[1]
Monitoring face:
4
Parameter 4
Parameter name:
HISTVALUES[2]
Monitoring face:
5
Parameter 5
Parameter name:
HISTTSS[0]
Monitoring face:
6
Parameter 6
Parameter name:
HISTSTS[0]
Monitoring face:
7
Parameter 7
8
Parameter name:
ERRORSTATUS
Monitoring face:
8
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
8
Action
Save the PDE Data.
Write Coding for CAB
9
4/16/2018
Click on the CABlock.vb Tab to open the VB Development Environment.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
10
Action
Enter the following code into the Public overide area.
ATTENTION
The CAB program given below is also available in the text file
C:\Student\CAB Scripts\Configure CAB Block for History Access.txt.
You can optionally copy the code from this text file and paste it in
CABlock.vb window.
Note that the CAB Code present in the Text file and code provided below is
incomplete. You must add a line to Connect to Experion Server.
Ensure that you delete all existing code in CABlock.vb window and then
select all text in the script text file and paste it in CABlock.vb window.
TIP
To add the missing line: Refer “Describe History
Access using CAB” lesson to know the syntax of the
command which is used to connect to Experion Server.
10
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
Action
Continued :--
ATTENTION
Enter the Server name that is assigned to you to replace
“E16ESVXX” in the highlighted text.
Enter the tag name as per your student team number in the
highlighted area in this page.
CAB_HIST## and TEAM##_Flow_CDP Control Modules
should reside in same Control Execution Environment.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
Action
11
ATTENTION
If you have not added the missing line in the code,
then CAB code will not work properly.
Contact the Instructor if you have any questions on
how or what to add as the missing line of code.
When complete, click on the Build Solution icon and ensure that there are no errors.
12
12
Save the CAB to the ERDB by clicking on the Save to ERDB Icon and then close the
Development Environment.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
Action
Create a CAB instance
13
Create a new Control Module with the following properties:
Tag name:
CAB_Hist##
Item name:
CAB_Hist##_Item
Parent Asset:
Training (Use Point Picker to assign Asset)
Click OK and Save the CM.
14
In the Library Tree expand CABLIB and drag the CAB function block named as
HISTORY_READ into the Control Module CAB_Hist##.
Save and Close the CM.
4/16/2018
15
Assign CAB_Hist## to ACE.
16
Download CAB_Hist##.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
Action
Check for Values update in CAB Block
17
14
On the monitoring side, open TEAM##_FLOW_CDP Control Module. Check if the values
are updating.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
18
Action
Open Station application, if not already open.
Open History Assignment from
Configure > History > History Assignment
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
19
Action
Use the point browser to select the TEAM##_FLOW_CDP.
Select Apply to load the point and hence select the corresponding parameter and click
on Close button to close the Point Browser Window.
16
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
20
Action
Repeat the same for the Fast History and the Extended History tabs.
ATTENTION
This is the alternate method to initiate historization of a point,
which is intended to have initiated from Control Builder.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
17
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
21
Action
Open the CAB_Hist Control Module and check if the history values are updating.
ATTENTION
If CAB block shows Cannot Connect to Server in
ERRORSTATUS, then check Experion PKS HCI
Server component is deleted from the System
Management display in Server system.
If History Data is not populating under
HISTVALUES[0], HISTVALUES[1], HISTVALUES[2]
then check the Time Zones , Date &Time in three
nodes Server, ACE & Flex nodes are same or not. If
not same then configure same time zone, Date and
Time in all three nodes.
18
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access

Step
22
Action
Double click on CAB_Hist block, click on Value CDPs tab to check for the value update.
ATTENTION
Your CAB block is collecting History Values every one
second to demonstrate history functionality. At your
site, you may decide to collect data at a slower rate.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
19
Access History Using a CAB (ACE Only)
Configure CAB Block for History Access
This page was intentionally left blank.
20
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Describe File Access with Read/Write
Functionality Using CAB
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
4/17/2018
1
Overview
• File Access lets you create CAB Blocks that Input-Output data to files
– Runs in Distributed Execution mode
• CAB running on C300 does not support File Access
• CAB running on ACE supports file access
– Only R300 and later releases supports CAB accessing the content of the file
• Can Access Binary, Text, and XML Files
– Both Local and Remote File Access are supported
Read/write
Control Module
ACE
CAB Block
PID Block
Content
File
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
2
1
4/17/2018
Directory for CAB files
• When doing CAB file IO, the files are created on the ACE node where
the CAB is running
• CAB runs with the same security permissions as Experion PKS CDA-SP
service
– If CDA-SP is configured to run as MNGR for OPC access, it will not have
administrator privileges. This affects where you can create files on ACE from
within CAB
• Recommended directory structure for creating CAB files is under
– C:\ProgramData\Honeywell\Experion PKS\FileIO\<ACE Server name>
– User needs permission to create a file in different directory
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
3
4/17/2018
File Access Write – General Steps
• Configure the CAB Execution Mode as Distributed
– Select the “Fixed” tab in Parameter Definition Editor
– X_EXECMODE is selected as Distributed
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
4
2
4/17/2018
File Access Write – General Steps
• Configure Custom Parameters for displaying and interacting with user
– Examples include filename and path, time of day, actual data
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
5
4/17/2018
File Access Write – General Steps
• Configure CAB Block to display text file data
– Use “Symbol Attribute” in Parameter Definition Editor
– Examples include filename, and write-enabled
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
6
3
4/17/2018
File Access Write – General Steps
• Insert the code for your algorithm in CABLOCK.vb tab
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
7
4/17/2018
General Planning Steps to Write to a Text File
• Determine if text file needed is text, xml, or binary
– Examples: StreamWriter, XmlTextWriter, BinaryWriter Classes
– Used when you need to generate an entire text file from start to finish
• Find more information about the class and its functions
– Help>Search in CAB Developer Visual Studio environment
– System.IO namespace, System.xml namespace
• Determine if file is local to ACE or remote
– The ACE (and cabclient.exe) process must be executing under a userid that
has network credentials,
– Appendix C: Configuring CAB to support accessing files on remote systems
• Consider using "Try…Catch…Finally" to handle any exceptions that may
occur during file I/O
• Consider usage of CABCOMMAND.Value = CABCommandEnum.Quit
to avoid exception loops
• Refer to Custom Algorithm Block and Custom Data Block User's Guide
> Use of File I/O in CAB for more details
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
8
4
4/17/2018
General Coding Steps to Write to a Text File
• Create an instance of the textwriter used to access file
– Dim sw as StreamWriter = new StreamWriter (“myfile.txt”)
– Dim xw as XmlTextWriter
xw = new XmlTextWriter (path, System.Text.Encoding.ASCII)
• For xml files, write the xml declaration node
– Xw.WriteStartDocument(true) -- produces <?xml version="1.0"
encoding="us-ascii" standalone="yes"?>
• Create the file
– sw = File.CreateText(path)
• Write the elements and sub-elements (xml) or lines (text)
– xw.WriteElementString(“InitialPT”, PT.Value)
– sw.WriteLine(FloatCDP.Value)
• Close the textwriter and the file
– Typically use WriteEndDocument()*, flush(), close() methods
• Refer to documentation – More ways than one to do things!
– Custom Algorithm Block and Custom Data Block User's Guide > Use of File
I/O in CAB. Use CAB Developer Visual Studio Help in IDE.
*xml method
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
4/17/2018
9
File Access Write – Script Example
Send message to
Message Summary
File name
will be
created
later. You
must first
ensure file
name and
path is set.
Create xw object as
XmltextWriter. A File
name is created as per
the data provided in the
string “path” as well as
the file’s encoding
Creates declaration node
and follows W3C standard.
Should declare if XML file
used by others expecting
XML data.
writer class
methods
used to
write to the
file
Access File Using a CAB (ACE Only)
Writer and file closes after completion of
successful writes. File is over-written
when CAB re-executes.
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
10
5
4/17/2018
Let the Methods Do the Work for You!
•
Become familiar with the textwriter
methods and their result
– some additional XmlTextwriter methods
shown in table. Refer to MSVS Help
Access File Using a CAB (ACE Only)
WriteStartDocument
Writes the XML
declaration with the
version "1.0" and
encoding
WriteStartElement
Writes the specified start
tag.
WriteElementString
Writes an element
containing a string value.
WriteEndElement
Closes one element.
WriteEndDocument
Closes any open
elements or attributes.
Close
Closes the writer and file
WriteString
Writes a string.
WriteAttributes
Writes an attribute with
the specified value.
WriteComment
Writes out a comment <!-...--> containing the
specified text.
WriteWhitespace
Writes white space.
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
11
4/17/2018
File Access Write – Configuration
• Instantiate the CAB block into a Control Module
• Enter a file name including path
• Enter the Point Name, Engineering unit, SP, PV for the values to be
written into the file
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
12
6
4/17/2018
File Access Write – General Steps
• Open the xml File in ACE
– Observe that the values entered appear correct
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
13
4/17/2018
File Access Read – General Steps
• Configure the CAB Execution Mode as Distributed
– Select the “Fixed” tab in Parameter Definition Editor
– X_EXECMODE is selected as Distributed
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
14
7
4/17/2018
File Access Read – General Steps
• Configure custom parameters for displaying and interacting with user
– Examples include filename and path, time parameters
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
15
4/17/2018
File Access Read – General Steps
• Configure CAB block to display text file data
– Use “Symbol Attribute” in Parameter Definition Editor
– Examples include filename, read times
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
16
8
4/17/2018
File Access Read – General Steps
• Insert the code for your algorithm in CABLOCK.vb tab
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
17
4/17/2018
General Comments about Reading a Text File
• Determine if text file needed is text, xml, or binary
– Examples: StreamReader, XmlTextReader, BinaryReader Classes
– Useful when files are small or application needs to read entire file
• Find more information about the class and its functions
– Help>Search in CAB Developer Visual Studio environment
– System.IO namespace, System.xml namespace
• Class may not provide validation, assumes (as in XmlTextReader) that
what is being read is valid
• Often requires a loop to iteratively read the contents of the file
– Example: XmlTextReader does not provide a means of randomly reading a
specific XML node
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
18
9
4/17/2018
File Access Read – Script behavior
An object is created as
XmlTextreader and points to
the file to be read
.
The object members are used
to verify the file record limits
and to perform the file read. An
iterative loop is used to read all
of the elements.
.
The file records are stored
in the CDPs. The CDP is an
array of 16 string elements
(PS1-PS16)
.
The file is read on time
basis as specified in the
RTIMER parameter. Only
read file when lower than
the time elapsed since last
read. Complete example
shown in lab exercise
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
19
4/17/2018
File Access Read – General Steps
• Instantiate the CAB block in a Control Module
• Enter the appropriate file name in module properties
• CAB in monitoring mode reads the data from the specified file
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
20
10
4/17/2018
Conclusion
Describe File Access with Read/Write
Functionality using CAB
Completion
Certificate
Proceed to the next module in your course material
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
21
4/17/2018
This page intentionally left blank
Access File Using a CAB (ACE Only)
Honeywell Confidential
Describe
File Access with Read/Write Functionality Using CAB
Copyright © 2018 Honeywell International
Inc.
22
11
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Topic: Access File Using a CAB (ACE Only)
Contents
Describe File Access with Read/Write Functionality Using CAB...........................................................3
Configure CAB Block for File Access with Write Functionality ..............................................................5
Configure CAB Block for File Access with Read Functionality ............................................................19
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Describe File Access with Read/Write Functionality Using CAB
Describe File Access with Read/Write Functionality Using CAB
Process Overview
The diagram shown above is for the Experion blend controller (EBC), Recipe file and the CAB block
with the file read / write functionality.
Scenario 1: A CAB block is configured for writing to a XML file.
Scenario 2: A CAB block is configured for reading the XML file.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Access File Using a CAB (ACE Only)
Describe File Access with Read/Write Functionality Using CAB
Control Overview
Scenario 1 LAB for Write Functionality
1
In this lab, assume an ACE is already built and downloaded.
2
Create the CAB block with the Distributed Execution mode to write in the xml file.
3
Define a parameter named as FILE_NAME used to define the file name with full path. In the
lab, the file name path is defined as C:\Student\ReadWrite\WriteXML1.xml.
4
User needs to create a folder in the ACE node named as ReadWrite in the C:\Student drive.
CAB block will create xml file named as WriteXML1.xml under this folder.
5
Parameter named as PVL is defined for PV low value, enter the PV low value in the CAB block
to which file this will be written.
6
Parameters named as EU are defined for engineering unit, PN for Point name, SP for set point
value, and PVH for PV high value.
7
WRITEERROPT is configured as EVENT, so that an event is reported whenever
WRITESTATUS <> OK.
8
READERROPT is configured as EVENT, so that an event is reported whenever
READSTATUS <> OK.
9
During the CAB instance, enter the values for PVL, EU, PN, SP, and PVH. These values are
written in the xml files, which will be read by EBC.
10
During run time, the CAB block will check for the file in the path specified in the CAB; if the file
already exists, it will update the xml file with new values and if there is no file existing, CAB will
create new xml file with the name specified in the CAB block.
Scenario 2 LAB for Read functionality
4
11
In this lab, assume that an ACE is already built and downloaded.
12
Create the CAB block with the Distributed Execution mode to write in the xml file.
13
Parameter named as FILE_NAME is defined as the file name with full path name from where
CAB will read the content of the file. During the CAB creation, the default value is left blank so
you can enter the file name with full path during CAB Instance.
14
Use Parameter named as RL to read the number of line from the file.
15
Use Parameter PS to read the number of strings from the file.
16
READERROPT is configured as EVENT, so that an event is reported whenever
READSTATUS <> OK.
17
WRITEERROPT is configured as EVENT, so that an event is reported whenever
WRITESTATUS <> OK.
18
During the CAB instance enter the file name with the full path
C:\Student\ReadWrite\WriteXML1.xml. The CAB block will read the content of the existing file.
19
CAB block will read the content of the xml file and it will be shown in the Value CDP tab.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality
Configure CAB Block for File Access with Write Functionality
Main Idea
The CAB created in this lab must be used only in ACE node since C300 does not support File
Access
The objective of this Lab Exercise is to demonstrate the file write capability executed by a CAB.
The script in this particular example creates an XML file at a pre-specified location on the ACE.
In this lab, the scenario discussed is as follows:
1. A pre-specified folder is created on the ACE machine.
2. A set of values to be written into the file will be listed out and entered into the PDE.
3. The set of values to be written into will be CDPs and will be initialized during run time.
4. A CAB program is written on the ACE which will perform the following tasks;
a. Check for the activation time of the CAB and log it as the Start Time of the CAB.
b. Check if any file name with a valid path has been specified, otherwise which the
program shall not execute.
c. On valid availability of the path indicate to the user about file creation using the send
function to send a message to Station’s Message Summary..
d. Initiate a handle as xw to the indicated file path and initiate a file write.
e. Append all relevant data to the file.
f. Create the end of file parameter and close the file successfully using the close
function.
5. After a successful file write the program shall loop back for another write session.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
Action
Create CAB Block
1
Verify that a folder named ReadWrite is on C:\Student of the ACE machine.
ATTENTION
For your lab, this may not need to be done as it should
already be configured for you.
2
Build a new CAB block. Select File > New >Type > Custom Algorithm Block.
ATTENTION
Always create a new CAB block on Flex Machine.
3
Enter the following information.
Custom Library name:
Select TEAM##_CAB
Block Type name:
FILE_WRITE
Click OK.
Result: Microsoft Visual Studio - Parameter Definition Editor opens.
6
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
4
Action
To add a column in the Value CDPs tab click:
View > Configure PDE View…
Select the following parameter attributes:
1. First dimension array lower bound
Click OK.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
5
Action
In the Value CDP’s tab enter the following parameter details:
ATTENTION
The parameters used are also available in C:\Student\CDP and
Pref.xls. Use the sheet named FILE_WRITE. You can optionally copy
the parameters from this sheet and paste it into the Value CDPs tab.
Parameter 1
Parameter name:
FILE_NAME
Parameter description:
File name including path
Data type:
STRING
Size:
64
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Default value:
C:\Student\ReadWrite\WriteXML##.xml
(note ## is your team number)
Parameter 2
Parameter name:
PVL
Parameter description:
PV Low value
Data type:
FLOAT64
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Parameter 3
8
Parameter name:
PN
Parameter description:
Point name
Data type:
STRING
Size:
32
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
Action
Parameter 4
Parameter name:
EU
Parameter description:
Engineering unit
Data type:
STRING
Size:
32
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Parameter 5
Parameter name:
SP
Parameter description:
SP Value
Data type:
FLOAT64
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Parameter 6
4/16/2018
Parameter name:
PVH
Parameter description:
PV High Value
Data type:
FLOAT64
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
Action
Parameter 7
Parameter name:
PT
Parameter description:
Time parameter
Data type:
TIME
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
LOAD
Parameter 8
Parameter name:
PTOD
Parameter description:
Time of day parameter
Data type:
TIMEOFDAY
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
LOAD
Parameter 9
10
Parameter name:
START_TIME
Parameter description:
Time CAB was activated
Data type:
TIME
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
NOLOAD
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
Action
Parameter 10
6
Parameter name:
WF
Parameter description:
Write flag, true = write to file
Data type:
BOOLEAN
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Click the Fixed tab in the Parameter Definition Editor and change the following Default
Values.
a. X_EXECMODE to DISTRIBUTED
b. READERROPT to EVENT
c. WRITEERROPT to EVENT
7
Save the PDE data
File > Save PDE data.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
8
Action
Click Symbol Attribute tab and enter following information:
ATTENTION
The parameters mentioned below are also available in C:\Student\CDP
and Pref.xls. Use the sheet named FILE_WRITE. You can optionally
copy the parameters under the Symbol Attributes heading and paste it in
Symbol Attributes tab
Parameter 1
Parameter name:
DESC
Config face:
0
Monitor face:
0
Parameter 2
Parameter name:
FILE_NAME
Config face:
1
Monitor face:
1
Parameter 3
Parameter name:
WF
Monitor face:
2
Parameter 4
Parameter name:
CABSTATE
Monitor face:
3
Parameter 5
Parameter name:
CABCOMMAND
Monitor face:
4
Parameter 6
Parameter name:
PVL
Monitor face:
5
Parameter 7
Parameter name:
PN
Monitor face:
6
Parameter 8
Parameter name:
EU
Monitor face:
7
Parameter 9
12
Parameter name:
SP
Monitor face:
8
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
Action
Parameter 10
9
Parameter name:
PVH
Monitor face:
9
Save the PDE data.
Write Coding for CAB
10
Click the CABlock.vb tab to open the VB development environment.
11
Enter the following into the Public Overrides area.
ATTENTION
The CAB program given below is also available in the
text file C:\Student\CAB Scripts\Configure CAB
Block for File Access Write Functionality.txt. You
can optionally copy the code from this text file and
paste it in CABlock.vb window.
Ensure that you delete all existing code in
CABlock.vb window and then select all text in the
script text file and paste it in CABlock.vb window.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
12
14
Action
When you complete the coding click the Build Solution icon and ensure there are no
errors.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
13
Action
Save the CAB to the ERDB, by clicking the Save to ERDB icon, and close the
development environment.
Create a CAB instance
14
Create a new Control Module. Select File > New > Control Module
15
Open the Control Module properties window; enter the following information.
Tag name:
CAB_Write##
Item name:
CAB_Write##_Item
Parent Asset:
Training (Use Point Picker to assign Asset)
Save the CM.
16
In the Library Tree expand TEAM##_CAB and drag the CAB function block named as
FILE_WRITE into the CAB_Write## Control Module
Save and Close the CM.
4/16/2018
17
Assign CAB_Write## to ACE.
18
Download and then activate the CAB_Write## Control Module.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
19
Action
From monitoring, open the CM CAB_Write##. Double click on the parameters
mentioned below and enter the corresponding values. Click Yes in the online value
change message box.
PVL:
- 0.0
PN:
- 11_FC01
EU:
- M3/hr
SP:
- 254
PVH:
- 500.0
Click OK and Close the CM.
ATTENTION
Values entered as a part of this step are cleared when
the CM is deactivated.
16
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality

Step
Action
Check for File update
20
Logon to the ACE PC as Student
Explore to following path:
C:\Student\ReadWrite\WriteXML##.xml
Open the WriteXML##.xml file.
Result: You will see the values update when the CM executes.
ATTENTION
For this file write to be successful, the folder (ReadWrite) where this
file is to be created should reside on the C:\ drive of the ACE
machine. Additionally, you may have to remove the “Read Only”
attribute of the folder and/or file.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
17
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Write Functionality
This page was intentionally left blank.
18
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality
Configure CAB Block for File Access with Read Functionality
Main Idea
The CAB created in this lab must be used only in ACE node since C300 does not support File
Access
The objective of this LAB is to demonstrate the file read capability executed by a CAB. The script
in this particular example reads an XML file from a pre-specified location on the ACE. For
continuity, the read is performed on the same file that has been created in the write example
In this lab, the scenario discussed is as follows.
1. In the main loop the program checks if the CAB has just loaded. If it has, then initialize the
CDPs.
2. The initialize subroutine indicates to the user the CAB activation status using the send
function. This status can be seen in Station’s Message Summary.
3. Next the initialize subroutine clears out the string parameter array with a dummy string and
resets all timers.
4. If the CAB has finished the initialization then;
a. The CAB begins a normal run
b. The DoReadXmlFile function is called on the basis that the time to begin Read
(TBR) variable entered is lower than the time elapsed since the CABs last read to the
file
5. The DoReadXmlFile performs the file read using the xr as an object of the XmlTextReader
class.
6. The file is read is performed as follows;
a. A single string for a new line is read.
b. DoReadXmlFile function performs the operation of extracting single lines of the file
read into the String Parameter (PS) variable
7. The timers are now reset by the DoReadXmlFile, which now shall measure the time to the
next file read.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
19
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
Action
Create CAB Block
1
Build a new CAB Block. Select File > New >Type > Custom Algorithm Block
2
Enter the following information:
Custom Library Name:
Select TEAM##_CAB
Block Type Name:
FILE_READ
Click OK.
Result: Microsoft Visual Studio- Parameter Definition Editor opens.
3
Click View > Configure PDE view. Select the following parameter attributes:
1. First dimension array lower bound
2. Size
Click OK.
20
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
4
Action
In the Value CDP’s tab enter the parameters and information related to them as shown.
ATTENTION
The parameters mentioned below are also available in
C:\Student\CDP and Pref.xls. Use the sheet named
FILE_READ. You can optionally copy the parameters
from this sheet and paste it into the Value CDPs tab.
Parameter 1
Parameter name:
AC
Parameter description:
Array counter
Data type:
INT32
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Parameter 2
Parameter name:
FILE_NAME
Parameter Description:
File name including path to the file
Data Type:
STRING
Size:
64
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Parameter 3
4/16/2018
Parameter name:
PD
Parameter description:
Run time
Data type:
DELTATIME
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
21
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
Action
Parameter 4
Parameter name:
PD1
Parameter description:
Time it took to read a XML file
Data type:
DELTATIME
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Parameter 5
Parameter name:
PS
Parameter description:
String parameter
Data type:
STRING
Size:
32
First dimension array size:
16
First dimension array lower bound:
1
Access lock:
PROGRAM
Configuration load:
NOLOAD
Parameter 6
22
Parameter name:
RC
Parameter description:
Run counter
Data type:
INT32
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
Action
Parameter 7
Parameter name:
RDC
Parameter description:
Read counter
Data type:
INT32
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Parameter 8
Parameter name:
READT
Parameter description:
Time it took to read a XML file
Data type:
STRING
Size:
32
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Parameter 9
4/16/2018
Parameter name:
RL
Parameter description:
Number of lines read from XML file
Data type:
INT32
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
23
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
Action
Parameter 10
Parameter name:
RTIMER
Parameter description:
Read XML file timer
Data type:
DELTATIME
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Parameter 11
Parameter name:
START_TIME
Parameter description:
Time CAB was activated
Data type:
TIME
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Parameter 12
Parameter name:
TBR
Parameter description:
Time span for reading a XML file
Data type:
INT32
First dimension array size:
4
First dimension array lower bound:
1
Access lock:
OPERATOR
Configuration load:
LOAD
Default value:
Array[4]
Parameter 13
24
Parameter name:
TIME1
Parameter description:
Starting time for the read timer
Data type:
TIME
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
Action
Parameter 14
5
Parameter name:
DTS
Parameter description:
Read timer
Data type:
STRING
Size:
32
First dimension array size:
0
Access lock:
PROGRAM
Configuration load:
NOLOAD
Click the Fixed tab in Parameter Definition Editor, change the following default values:
a. X_EXECMODE to DISTRIBUTED.
b. READERROPT to EVENT
c. WRITEERROPT to EVENT
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
25
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
6
Action
Save the PDE Data.
Click File > Save PDE data.
7
Click the Symbol Attribute Tab and enter following information:
ATTENTION
The parameters mentioned below are also available in
C:\Student\CDP and Pref.xls. Use the sheet named
FILE_READ. You can optionally copy the parameters
from this sheet and paste it in Symbol Attributes tab.
Parameter 3
Parameter name:
DESC
Config face:
0
Monitor face:
2
Parameter 4
Parameter name:
FILE_NAME
Config face:
1
Monitor face:
3
Parameter 5
Parameter name:
RL
Monitor face:
4
Parameter 6
Parameter name:
RDC
Monitor face:
5
Parameter 7
Parameter name:
READT
Monitor face:
6
Parameter 8
Parameter name:
DTS
Monitor face:
7
Parameter 9
26
Parameter name:
RC
Monitor face:
8
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
Action
Parameter 10
8
Parameter name:
PROGSTSDESC
Monitor face:
9
Save the PDE data.
Write the Code for the CAB Block
9
4/16/2018
Click the CABlock.vb Tab to open the VB development environment.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
27
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
10
Action
Enter the following into the Public Overrides area.
ATTENTION
The CAB program given below is also available in the text file
C:\Student\CAB Scripts\Configure CAB Block for File Access Read
Functionality.txt. You can optionally copy the code from this text file and
paste it in CABlock.vb window.
Ensure that you delete all existing code in CABlock.vb window and then
select all text in the script text file and paste it in CABlock.vb window.
28
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
4/16/2018
Action
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
29
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
Action
11
When you complete the coding, click the Build Solution icon to ensure that there are no
errors.
12
Finally save the CAB to the ERDB by clicking on the Save to ERDB
the development environment.
icon. Close
Create a CAB instance
13
Create a new Control Module. Select File > New > Control Module.
14
Open the Control Module properties window; enter the following information.
Tag name:
CAB_Read##
Item name:
CAB_Read##_Item
Parent Asset:
Training (Use Point Picker to assign Asset)
Click OK and Save the CM.
15
30
In the Library Tree expand TEAM##_CAB and drag the CAB function block FILE_READ
into the Control Module CAB_Read##
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
16
Action
Double-click FILE_READA function block, click on Value CDPs and check the Show
Parameter Names, enter the following file name in FILE_NAME field:
FILE_NAME:
C:\Student\ReadWrite\WriteXML##.xml
(where ## is your team number)
Click OK.
Save and Close the CM.
4/16/2018
17
Assign CAB_Read## to CEE of ACE.
18
Download and activate CAB_Read##.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
31
Access File Using a CAB (ACE Only)
Configure CAB Block for File Access with Read Functionality

Step
Action
Check for Values update in CAB Block
19
32
In monitoring, open the CM named as CAB_Read##. Double-click the FILE_READA
function block and select Value CDPs tab, check the Show Parameter Names
checkbox on left bottom. After some delay, it will display the information in the PS field
from the XML file.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Manage Custom Algorithm Blocks
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Manage Custom Algorithm Blocks
4/17/2018
Verify CAB / CDB Instance Version
• Verify match of CAB program in
ERDB
– Compare parameter
BLOCKTYPEID to verify that
version running is the same as
version in ERDB
– Use the Parameter Comparison
and Reconciliation function
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Manage Custom Algorithm Blocks
4/17/2018
Parameter Comparison and Reconciliation
• The Compare Parameters (Parameter Comparison and Reconciliation)
function extends the load functionality of Control Builder
• Allowing you to view the list of parameters with difference in database
and live values
• Select the parameters that you want to download based on the following
criteria
– The parameter must be controller (CEE) resident, or system repository (SR)
resident
– The parameter being downloaded (from the database) must be different from
the value in the controller prior to the download
• You can invoke Parameter Comparison and Reconciliation (PCR) from a
controller, CEE, FIM, FFLINK, CM or at the device-level during
– Reload operation
– Standalone operation
• For more detail refer Control Building Users Guide in PDF Collection
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Manage Custom Algorithm Blocks
4/17/2018
If CAB Instance Version Changed
• BLOCKTYPEID in controller is different than BLOCKTYPEID in ERDB
– Indicates that the type was modified and not loaded to the instance.
• PROGNAME(0) parameter is also different
– Parameter is a Globally Unique Identifier (GUID) associated with the CAB dll
– Mismatch is a further indication that the type and instance versions do not
correspond
• If the CM contains more than one custom block, the Compare
Parameters function shows parameter differences for all blocks
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Manage Custom Algorithm Blocks
4/17/2018
Verify CAB / CDB Instance Version
• Or simply check and compare of the BLOCKTYPEID parameter of the
loaded block and the block in the ERDB
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Manage Custom Algorithm Blocks
4/17/2018
View a CAB / CDB Type as Read-Only
• To open the Microsoft
Development Environment for a
CAB or CDB in read only mode:
– Select the CAB or CDB you want
to view in the Library tab in
Control Builder
– In the menu bar select
View > Type
• A right click on the CAB or CDB
type and selection of View Type
option will also open the CAB or
CDB in read only mode
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Manage Custom Algorithm Blocks
4/17/2018
Delete a CAB / CDB Block from the ERDB
• If a CAB / CDB type is no longer needed, you can delete it from the
ERDB
• You can also delete Custom CAB / CDB Libraries from the ERDB
• If any of the following conditions exist, you cannot delete CAB / CDB
types:
– The CAB / CDB type is open for edit
– An instance of the CAB / CDB type in use
– Templates of the CAB / CDB type exist
• Anyone with Engineering access can delete CAB / CDB types
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Manage Custom Algorithm Blocks
4/17/2018
Renaming a CAB Instance
• You can rename a CAB / CDB unless either of the following conditions
exists:
– The CAB / CDB type is open for edit
– The CAB / CDB type has an instance loaded to the Monitoring tab
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Manage Custom Algorithm Blocks
4/17/2018
Recover a CAB with Checkpoint Restore
• When using checkpoint
restore command
– All data and programs
associated with a
CAB are recovered
– No different than
using a checkpoint
that contains only
native blocks
• Select the ACE of
interest and command
a restore
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Manage Custom Algorithm Blocks
4/17/2018
Recover a CAB with Checkpoint Restore
• If the checkpoint restore is commanded to an ACE with a preexisting
database
– The existing CAB programs will be deleted and
– Only those CAB programs that were loaded to the ACE when the checkpoint
save operation was executed are reloaded
• Data restored with checkpoint restore is a unified set
– The restored data was captured at one instant in time between block
executions
• Note: If you have a variable that is critical and needs to be restored after
a checkpoint save, you can use a CDP to store the value instead of a
local variable
– Locally defined variable values are not checkpointed and therefore are not
restored.
– CDP values are checkpointed and restored
– PRef values are not saved
– PRef connections are saved IF the PRef is dynamic re-reference enabled
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Manage Custom Algorithm Blocks
4/17/2018
Recovering CAB Source Code
• If you have a CAB loaded and running in the CEE, but have overwritten
(saved over) the source code in the ERDB, it is possible to recover the
source
Right click on
CAB
Copy on-line
source code
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Manage Custom Algorithm Blocks
4/17/2018
Protecting CAB Source Code
• CAB Types can be exported
without the source code
• When these CAB Types are
installed on systems, other
users cannot edit or view the
CAB Type source code
• Exporting CAB Types
without source is performed
using the Export without
Source option present in File
menu in Visual Studio
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Manage Custom Algorithm Blocks
4/17/2018
Export Without Source
• Export without Source option is enabled only when
– CAB Type is in a completed state
– CAB Type is built with a clean compile and the configuration is in “Release”
mode
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
13
Manage Custom Algorithm Blocks
4/17/2018
Protecting CAB Source Code
• An error occurs if the user tried to open the CAB present in the library
• Instance of the CAB does not show the source code in the configuration
properties
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Manage Custom Algorithm Blocks
4/17/2018
Discover CAB / CDB Dependency Relationships
• You can perform a search, from the configuration studio search tool, to
show where CAB and CDB types are used.
CAB Type used
as instance
CAB Type
Instance
name
CAB Type used
as template
Manage Custom Algorithm Blocks (ACE Only)
Template
name
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
15
Manage Custom Algorithm Blocks
4/17/2018
Clipboard functions in a CAB / CDB Block
• A CAB / CDB type performs the following PDE functions in clipboard
– Data duplication within the PDE
– Data duplication to another PDE
– Data duplication with Microsoft Excel
• All the clipboard functions are compatible to Windows standards of
“CTRL + C” for copy and “CTRL + V” for paste
• Data duplication within a PDE is of the following types
– Copy / Paste of selected parameter will create only a new field
– Copy parameters / Paste parameters will duplicate all the attributes, which
are internally managed
• A right click within the PDE will invoke the clipboard functions
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
16
8
Manage Custom Algorithm Blocks
4/17/2018
Conclusion
Manage Custom Algorithm Blocks
Completion
Certificate
Proceed to the next module in your course material
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
17
Manage Custom Algorithm Blocks
4/17/2018
This page intentionally left blank
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
18
9
Manage Custom Algorithm Blocks
Describe QVCS Operations for CAB and CDB
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
19
Describe QVCS Operations for CAB and CDB
4/17/2018
QVCS
• QVCS – Qualification and Version Control System
• QVCS provides version management for all tagged objects and a
customer defined lifecycle management
– Use lifecycle management:
• To define the qualification states objects will go through from inception to
decommissioning
• For the approvals required to move from one qualification state to
another
• To control what qualification state a strategy must be in for downloading
into a control execution environment such as the C300 controller
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
20
10
Describe QVCS Operations for CAB and CDB
4/17/2018
QVCS Support for Custom Blocks
• QVCS supports versioning of
Custom Block Types (CBT) and
Instances
• CBT Objects in the Library Tree
can be versioned like any other
objects in the Project/Library tree
Libraries are not
versioned, but are subject
to renaming and deletion
constraints. Custom Block
Type (CBT) Library cannot
be renamed once a CBT
is in QVCS
– Changes to the CBT Objects can
be tracked in the QVCS Database
New tab added for
Custom Block Types
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
21
Describe QVCS Operations for CAB and CDB
4/17/2018
Check In – Check Out
• QVCS Manager is used to Check In/Check Out the Custom Blocks
to/from QVCS
• Once Checked In, a Custom Block has to be Checked Out for Changes
Right Click and select
QVCS Manager
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
22
11
Describe QVCS Operations for CAB and CDB
4/17/2018
Editing CBT in QVCS
• CAB and CDB has to be Checked Out for making changes
– CAB opens in Read-only Mode while Checked In
• If a CBT has an Instance, then a Save As Operation is required if one of
the following changes are performed
–
–
–
–
Re-name a Parameter
Delete a Parameter
Change a Parameter Data Type
Change a Parameter Dimension
• Save Operation is Permitted for other changes
• If Save Operation is performed after a major change, and the error
shown below occurs
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
23
Describe QVCS Operations for CAB and CDB
4/17/2018
QVCS Lockdown of Edits of CAB/CDB
• CM’s containing CAB/CDB Instances can also be checked into QVCS
• Once Checked In:
– You Cannot Rename a CAB Type that has Instances in CMs checked into
QVCS
– You Cannot Delete a CAB Type that has Instances in CMs checked into
QVCS
– You Cannot Edit a CAB Type that has Instances in CMs checked into QVCS
– You Cannot Save a CAB Type that has Instances in CMs checked into
QVCS (assuming that the Type is still Open for Edit when the CM is
Checked In)
– You Cannot Rename a Custom Library that includes a CAB Type that has
instances in CMs checked into QVCS
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
24
12
Describe QVCS Operations for CAB and CDB
4/17/2018
Load and Delete
• Loading of the Object which contains the Instance of Custom Block
Type (CBT) is permitted only when the Object is Checked In
• Deletion of an Object which contains the Instance of CBT is permitted
only when the Object is Checked In
• Deletion of CBT in the Library is permitted only when the Instances of
the CBT is Removed from ERDB
• Refer to Qualification Version Control System User Guide for
information related to other operations
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
25
Describe QVCS Operations for CAB and CDB
4/17/2018
Conclusion
Describe QVCS Operations for CAB and CDB
Completion
Certificate
Proceed to the next module your course material
Manage Custom Algorithm Blocks (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
26
13
Describe QVCS Operations for CAB and CDB
4/17/2018
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Topic: Manage Custom Algorithm Blocks (ACE Only)
Contents
Export and Import a CAB ......................................................................................................................3
Verify Instance and Recover Source Code ...........................................................................................5
Perform Basic QVCS Operations Using CAB......................................................................................13
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Export and Import a CAB
Export and Import a CAB
Objectives

Understand the Export/Import Operations.
Prerequisites

Experion PKS server with Configuration Studio installed.

Experion Flex Station installed with CAB Developer.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Manage Custom Algorithm Blocks (ACE Only)
Export and Import a CAB

Step
1
Action
Using PDF Collection, go to:
Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block and
Custom Data Block Users guide > CAB Configuration > Manage CAB’s
Use the information here to practice importing and exporting CABs.
TIP
Manage CABs section, in the PDF Collection,
explains about the “Export without Source” Option in
Procedure to export CAB without the source
section. You can follow this procedure to understand
the usage of this option.
4
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Verify Instance and Recover Source Code
Verify Instance and Recover Source Code
Objectives

In this lab, students will create a CAB which will count the number of times the CAB has
been executed after activation of the Control Module.

CAB Block created in this lab must be used only on SIM-ACE.
Prerequisites

Experion Flex Station installed with CAB Developer.

SIM-ACE in loaded and Activated on server.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Manage Custom Algorithm Blocks (ACE Only)
Verify Instance and Recover Source Code

Step
1
Action
Create a new CAB as SEC_COUNT with custom library name set to CABEDIT. In the
Value CDPs tab enter the parameters and information related to them as given below:
Parameter 1
2
Parameter Name
: CABRUNS
Parameter Description
: Number of Seconds
Data Type
: FLOAT64
Size
: Not applicable
First Dimension Array Size
:0
Access Lock
: OPERATOR
Configuration Load
: LOAD
Default Value
: 0.0
Click the Symbol Attribute tab and enter following information:
Parameter 3
6
Parameter Name
: CABRUNS
Config face
:2
Monitor face
:2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Verify Instance and Recover Source Code

Step
3
Action
Click the CABlock.vb tab to open the VB development environment and enter the
following into the Public Class CABlock.
ATTENTION
The CAB program given below is also available in the text
file. C:\Student\CAB Scripts\Verify Instance and recover
source code.txt. You can optionally copy the code from this
text file and paste it in CABlock.vb window.
Note that the CAB code present in the text file and code
provided in this step is incomplete. You must add a line to
read the "seconds" value from CurrentTime parameter and
assign it to CurrentSec parameter.
Ensure that you delete all existing code in CABlock.vb
window and then select all text in the script text file and
paste it in CABlock.vb window.
TIP
To add missing lines in code: Use TimeOfDay function to
read the “seconds” value.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Manage Custom Algorithm Blocks (ACE Only)
Verify Instance and Recover Source Code

Step
4
Action
When you complete the code, click on the build solution icon to ensure that there are no
errors.
ATTENTION
If you have not added the missing lines in the code,
then CAB code might not work as intended.
Contact the instructor to enter the missing lines in the
code.
Verify for a Build Succeeded message in the output window.
ATTENTION
If an error occurs saying “Option Strict ON disallows
implicit conversions from Double to Integer”, then
go to Project  CABlock properties from the menu
bar. Select Compile in the left pane and select OFF
for the Option Strict.
5
6
Save the CAB to the ERDB by clicking on the
environment.
icon and close the development
Create and enter the following information as given below in a new CM Properties
window:
Tag Name
: CM_SHIFT##
Item Name
: CM_SHIFT##_item
Parent Asset
: Training
Click OK.
Assign the CM to the ACE_EXP16 CEE.
8
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Verify Instance and Recover Source Code

Step
Action
7
In the Library Tree, expand CAB library and drag the CAB function block SEC_COUNT
into the Control Module CM_SHIFT##.
8
Download and activate CM_SHIFT##.
9
Open the SEC_COUNTA CAB from the library and add the following code after
Private Sub DoShiftCalculations()
CABRUNS.Value += 1
10
Click on the build solution icon to ensure that there are no errors. Save the CAB to the
ERDB, and acknowledge the CAB Build Manager dialog box.
Close the Microsoft Visual Studio
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Manage Custom Algorithm Blocks (ACE Only)
Verify Instance and Recover Source Code

10
Step
Action
11
Verify that the source code gets updated in the ERDB, by viewing the Source tab in the
CAB Project Properties Window.
12
Reload the CM containing CAB to the ACE CEE, and activate the CM online.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Verify Instance and Recover Source Code

Step
13
4/15/2018
Action
Now verify that the source gets updated in the RTDB, by viewing the Source tab in the
CAB Monitoring Properties Window.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Manage Custom Algorithm Blocks (ACE Only)
Verify Instance and Recover Source Code
This page was intentionally left blank.
12
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB
Perform Basic QVCS Operations Using CAB
Objectives

Understand the basic operations of QVCS.

CAB Block created in this lab can be used in both SIM-C300 and SIM-ACE.
Prerequisites

Experion PKS Flex installed with CAB Developer.

ACE and C300 Controller loaded and activated on server.
Introduction
In this lab, you will perform the following:

Create a CAB block and Control Module.

Perform Check In and Check Out operations for both the Custom Block Type (CBT) and the
Control Module (CM).
o Understand the limitations while performing these operations.

4/15/2018
Perform the revert operation to restore the deleted Control Module into a library.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
Action
1
Launch Configuration Studio and open Control Builder, if not already open.
2
Double click on custom block named FLOW in library.
3
Select File  Save to ERDB As.. option from the toolbar.
4
In the Save As ERDB To dialog box, enter the Block Type Name as CAB##_QVCS
Click OK.
5
Build the CAB block and save it to ERDB. Close the CAB Developer environment.
TIP
If the developer environment is not closed, then the
QVCS Check-in operation cannot be performed.
6
Create a new Control Module with the following properties:
Name: CM##_QVCS
Item Name: CM##_QVCS_Item
Asset: Training
14
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
7
Action
In the library tree, expand TEAM##_CAB and drag the CAB function block named as
CAB##_QVCS into the control module.
Save and Close the CM. Assign CM##_QVCS to ACE.
8
There are two ways to launch QVCS Manager:
a. Click on CM##_QVCS and select Tools  QVCS Manager OR
b. Right click on CM##_QVCS and select QVCS Manager.
9
4/15/2018
Right click CM##_QVCS and select Check In.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
10
Action
In the Check In dialog box, enter Comments as Initial Check-in and click OK.
Note: The Revision Type selection affects how revision data appears. If the Revision Type is
Major, the version is incremented by 1 (for example, v1.00 to v2.00). If the Revision Type is
selected as Minor, then the revision will be incremented by 0.01.(for example, v1.00 to v1.01)
16
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
11
Action
On selecting OK, the following error occurs. This error occurs since the CAB block present in
the Control Module is not checked in.
TIP
The CAB Block Type (present in its library) must be
checked in before the CM (which contains the instance
of CAB block) is checked in.
12
Click OK in the QVCS Report dialog box. Click Cancel in the Check In dialog box.
13
Right click CAB##_QVCS CAB Block in the library and select QVCS Manager.
14
Select Check In.
15
In the Check In dialog box, enter Comments as “Initial Check-in” and click OK.
Result: The QVCS Manager shows the version as 1.0 with comments and other details.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
17
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
Action
16
Repeat Steps 12 to 15 to check in the CM##_QVCS Control Module.
17
Double Click CM##_QVCS in Control Builder. A message occurs which allows the CAB to
open only in Read-only Mode.
Click Cancel.
TIP
To edit an object (CM or CAB) which is checked into
QVCS, the object (CM or CAB) has to be checked out.
18
In QVCS Manager, right click CM##_QVCS and select Check Out.
TIP
Repeat steps 8 through 10 to open QVCS Manager
and select Check Out option.
18
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
19
4/15/2018
Action
In the check out dialog box, enter Check out comments as “Add Block Pin” and Click OK.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
19
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

20
Step
Action
20
Observe that the status in the QVCS Manager shows Checked Out. Also observe that the “+”
symbol shown in the Control Builder for CM##_QVCS indicates that the object is checked out.
21
Double click CM##_QVCS. Open the properties of the CAB##_QVCSA block.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
4/15/2018
Action
22
From the Block Pins tab, add the FLOW parameter as an Output Pin. Click OK in the block
properties.
23
Save and Close the Control Module.
24
In the library, right click CAB##_QVCS and select QVCS Manager.
25
In QVCS Manager, right click CAB##_QVCS and select Check Out.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
21
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
Action
26
Enter the Check Out comments as “Change the rate of increase of the Flow parameter”. On
selecting OK, the following error occurs:
The error occurs since the CM which contains the instance of the CAB block is not checked in.
27
Click OK in the QVCS Report dialog box. Click Cancel in the Check Out Dialog box.
28
In Control Builder, right click CM##_QVCS and select QVCS Manager.
29
In QVCS Manager, right click CM##_QVCS and select Check In. Enter the Check In
Comments as “Added Flow Parameter as Block Pin” and click OK.
30
Note that the CM##_QVCS revision is incremented to 2.
TIP
Since we had selected the Revision Type as Major in an earlier
lab step, the version is incremented by 1 (v1.00 to v2.00).If the
Revision Type is selected as Minor, then the revision will be
incremented by 0.01 (v1.00 to v1.01).
22
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
31
Action
Repeat steps 23 to 25 to check out the CAB##_QVCS.
Observe that the CM (which contains the instance of CAB block) is automatically checked out,
when the CAB block is checked out.
32
4/15/2018
Double click CAB##_QVCS in its library. Select the CABlock.vb tab.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
23
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
33
24
Action
Change FLOW’s decrementing Value from 3.5 to 2.5.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
4/15/2018
Action
34
Build and save the CAB block to ERDB. Close the Microsoft Visual Studio editor.
35
Check in the CAB##_QVCS block from QVCS Manager. Enter the Check In comments as
“Rate of decrement of the Flow parameter is changed to 2.5”.
36
The version of the CAB##_QVCS will be incremented to 2. Note that the CM which contains
the CAB instance will remain checked out, though the CAB block is checked in.
37
Open the CM##_QVCS Control Module.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
25
Manage Custom Algorithm Blocks (ACE Only)
Perform Basic QVCS Operations Using CAB

Step
Action
38
Open the properties of the CAB block. Select the Source tab and check whether the increment
value is updated to 2.5.
39
Click OK in the block properties window. Save and close the Control Module.
Check in CM##_QVCS using the QVCS Manager. Enter Check In comments as
“CAB block (Parent) changes. Increment rate of the FLOW parameter in the CAB block
is changed to 2.5”.
26
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Hardware Requirements for CAB and CDB
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Hardware Requirements for CAB and CDB
4/17/2018
Hardware Requirements
• For the latest in Hardware Requirements, speak with your personal
Honeywell Representative or consult the Spec and Tech Manuals for the
release you are running
• ACE Node must have a minimum of 2 Gigabytes of Memory
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Hardware Requirements for CAB and CDB
4/17/2018
Hardware Requirements
• An important part of hardware planning is to determine the:
– Number of ACE Nodes and C300 Controllers needed
– Number of CB Clients needed for CAB and other strategy development
– Number of CAB Developer Licenses needed
• These choices depends on the level of your CAB, CDB, and Native
Block Development and use
– If you have CAB Development done by a third party or Import CAB
Instances, you only need to be concerned with ACE and/or C300 issues
• Honeywell recommends SIM-ACE Node(s) for Off-process CAB Debug
– SIM-ACE can have the MSVS Debugger attached for Source Code Debug,
whereas ACE, C300, and SIM-C300 cannot
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Hardware Requirements for CAB and CDB
4/17/2018
Additional Information
• To determine your ACE Node Requirements, try to estimate your
anticipated CAB usage. More information can be found in PDF
Collection:
– Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block
and Custom Data Block Users Guide > CAB and CDB System Planning and
Design
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Hardware Requirements for CAB and CDB
4/17/2018
Conclusion
Hardware Requirements for CAB and CDB
Completion
Certificate
Proceed to the next module in your course material
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Hardware Requirements for CAB and CDB
4/17/2018
This page intentionally left blank
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Hardware Requirements for CAB and CDB
Design the Usage of the CAB
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Design the Usage of the CAB
4/17/2018
Design the Usage of Your CAB / CDB
• Take the following certain considerations into account when designing
your CAB / CDB:
– Will it be Instantiated multiple times?
– Will it be used at multiple sites?
– Will it be used identically every time?
– Will it be used as a Standalone Block or an Insertion Point? (CABs only)
• These criteria could influence the CAB Design in terms of generality
– Is it for one specific usage, or will you need to adapt it so it is applicable to
different equipment or process variations?
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Design the Usage of the CAB
4/17/2018
Conceptual Design
• In developing a conceptual design, the control engineer should:
– Develop a solid design concept, including the data content, algorithm,
processing flow, and interaction with other blocks
– Document the concept in sufficient detail so team members can review and
use as a design specification
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Design the Usage of the CAB
4/17/2018
Memory Usage Definitions
• CAB Applications use the following Types of Memories on the ACE
OS Memory
CEE Memory
Pool
Recoverable
Unrecoverable
This memory is a part of the memory managed by the Operating
System. A typical size for this memory for an ACE is 2GB.
This memory is a part of the CEE executable, and managed by the
CEE. The size of this memory in current CEEs is 32MB
Memory labeled as recoverable can be returned for later use, when no
longer needed for type or instance storage
Memory labeled as unrecoverable cannot be returned for later use. An
ACE node reboot is required to "recover" unrecoverable memory.
• CAB/C300 differs from CAB/ACE in the memory used
– Both Block Type and Block Instance comes exclusively from the CEE’s User
Memory Pool
– No additional memory drawn from a separate pool managed by the C300
OS
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Design the Usage of the CAB
4/17/2018
Determine CAB Memory Usage
• CAB Instances require memory from the Block of Memory reserved
within ACE for Instances
• In addition, unlike Native Blocks, CAB Instances also require memory
taken from the general .NET Memory Pool
• If you anticipate significant CAB and Native Block Utilization, do an ACE
Memory Analysis
• Allocations created with the VB.NET “New” Operator are stored in Long
Term Heap for CAB running on ACE
• In CAB/C300, allocations created with the VB.NET “New” Operator are
stored in Short Term Heap and lasts until the current Execution Cycle
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Design the Usage of the CAB
4/17/2018
“Shutdown Horizon”
• Shutdown Horizon is applicable only for CAB on ACE
– CAB/C300 does not have any “shutdown horizon” which must be tracked by
the user
• Both the Recoverable OS Memory and the CEE Memory Pool Memory
associated with an Instance is reclaimed when that instance is deleted
• Each time a CAB Type is modified and the Instance loaded into the
CEE, Unrecoverable OS Memory is used
– Unrecoverable OS memory used for the old CAB Type cannot be reclaimed
until the ACE Node is shut down and restarted
• Unrecoverable OS Memory gets used up, as new CAB Types are added
and loaded, and Existing Types modified and reloaded
– Eventually, the ACE will need to be Shut Down and restarted to reclaim the
memory used by obsolete CAB Types
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Design the Usage of the CAB
4/17/2018
“Shutdown Horizon”
• The system is designed such that under normal to heavy CAB
engineering activities, shutdown and restart will not be required for at
least two years
• Testing and debugging a CAB Instance on a SIM-ACE prior to loading
them to an On Process ACE may lead to an increase in time for the
shutdown horizon due to a decrease in loads and reloads required
• For additional reading on the subject of Designing the Usage of a CAB,
refer to PDF Collection
– Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block
and Custom Data Block > CAB and CDB System Planning and Design
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
Planning CAB and CDB (ACE Only)
13
Design the Usage of the CAB
4/17/2018
MU and PU Calculations for CAB/ACE
•
CAB/ACE can be used to write a variety of applications which account for
corresponding variations in Memory Usage
– Use the following three categories to understand the characterization of the size
variation
Size
Category
Line
Count
CDP
Count
PRef
Count
Representative
CAB-ACE
Type Size
(kilobytes)
Representative
CAB-ACE
Instance Size
(kilobytes)
Small
20
1
10
73
31
Medium
100
15
65
74
61
Large
200
35
140
84
103
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
14
7
Design the Usage of the CAB
4/17/2018
Performance and Capacity
•
CAB configurations are limited by the Total Memory Capacity of the ACE
Sr.
No
Feature
Typical
ACE
Maximum
Comment
ACE
200
400
Enforced limit as a constraint on the
ACE Memory
CAB Instances
Per Type
5
100
Limited on Memory Utilization with
ACE Memory
3
CAB Instances
(All Types)
1000
2000
Limited on Memory Utilization with
ACE Memory
4
Fixed Definition
Parameters
(FDP)
-
200
Enforced limit
50 in use
150 reserved
5
User Defined
Parameters
-
2800
CDP counts as one parameter
PRef counts as two parameters
Array counts as one parameter
1
Loaded CAB
Types
2
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
15
Design the Usage of the CAB
4/17/2018
Conclusion
Design the Usage of the CAB
Completion
Certificate
Proceed to the next module in your course material
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
16
8
Design the Usage of the CAB
4/17/2018
Design the Usage of the CDB
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
17
Design the Usage of the CDB
4/17/2018
Design Usage
• As with the CAB, you must ask certain questions when designing a
CDB:
– Will it be Instantiated multiple times?
– Will it be used at different sites?
– Will the usage be identical in each case?
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
18
9
Design the Usage of the CDB
4/17/2018
Conceptual Design
• Use CDBs in places where “Native” Blocks cannot accomplish a given
task and the Algorithmic Power of the CAB Block is not needed
• Use CDBs when developing new applications, modifying existing
applications, or migrating applications from legacy systems to Experion
• CDBs do not require a license and come standard with Control Builder
• Use CDBs in conjunction with CABs or just for generic data storage in
applications that do not involve CABs
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
19
Design the Usage of the CDB
4/17/2018
Conclusion
Design the Usage of the CDB
Completion
Certificate
Proceed to the next module in your course material
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
20
10
Design the Usage of the CDB
4/17/2018
Describe Planning Required for QVCS
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
21
Describe Planning Required for QVCS
4/17/2018
Specific Rules for CBT Support in QVCS
• It is Not possible for QVCS to revert an earlier version of a Custom
Block Type (CBT) if there are Instances of the Custom Block in the
ERDB
– Example:
• Version 1.0 of CBT contains 1 Parameter, and Version 2 contains 2
Parameters
• In the ERDB, there is an Instance of Version 2 of the CBT
• Reverting to older version of CBT (to Version 1.0) would lead to fewer
parameters than what the Instance has
– If the CBT has been Deleted from the Library, a Revert Operation can
restore it
• CBT can be Deleted from Library only when the Instances of the CBT
does Not Exist in ERDB
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
22
11
Describe Planning Required for QVCS
4/17/2018
Specific Rules for CBT Support in QVCS
• It is Not possible to Check Out an earlier version of a Custom Block
Type (CAB or CDB), even if the Instances of the CBT are Not present in
ERDB
– Check Out can lead to a state where a later version of a CBT has fewer
parameters (and/or different parameters) than an earlier version
• It is Not possible for QVCS to Check Out or revert an Instance of a CBT,
if its version is greater than the version of the CBT in the Library
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
23
Describe Planning Required for QVCS
4/17/2018
CBT Check In Considerations
• When an Object containing an Instance of a CBT is Checked In, QVCS
records the CBT version “Dependencies” of that Object
• Rule: Parent (CBT) must be Checked In before the Child (Instance)
• CBT Can be Checked In independently
• Instances of CBT Cannot be Checked In unless the CBT is Checked In
• CBT Cannot be Checked In, if it is Opened for Editing
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
24
12
Describe Planning Required for QVCS
4/17/2018
CBT Check Out Considerations
• When a CBT or UDT is Checked Out, all the Instances get Checked Out
Automatically
– If any instance is already checked out, an error is generated
• Check Out of non-current version of CBT less than current version is not
allowed
• Check Out an Control Module which contains Instance of CBT or UDT
that Does Not Exist in the Library Cannot be done
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
25
Describe Planning Required for QVCS
4/17/2018
Instantiation Rules
• CBT Can be Instantiated in a Container Object
– Container Can Control Module, Recipe Control Module (RCM), Sequential
Control Module (SCM), and so on
• If the CBT Object is Not in QVCS and Container is in QVCS, then Error
Occurs while Checking In the Container
• If the CBT Object is in QVCS and Container is Not in QVCS, then
– There are No Restrictions on the Container
– Changes made to the CBT when it is Checked Out are propagated to the
instances automatically
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
26
13
Describe Planning Required for QVCS
4/17/2018
QVCS and CAB/CDB
• CAB/CDB Type or its Library Cannot be Edited or Renamed even if all
CMs containing Instances of CAB/CDB are Checked Out
• An Older Version of a CM Can be Restored
– Either by using the QVCS Revert Function, or
– By Checking Out an Earlier Version, with assurance that it will behave in the
same way as when it was Checked Into QVCS
• For this Restore to Work, it is necessary that all CAB Types must exist in
the Custom Library Type exactly as they existed when the CMs
containing Instances of the Types were Checked Into QVCS
• For more information about QVCS Support for Custom Blocks, refer the
Qualification and Version Control System User Guide
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
27
Describe Planning Required for QVCS
4/17/2018
Conclusion
Describe Planning Required for QVCS
Completion
Certificate
Proceed to the next module in your course material
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
28
14
Describe Planning Required for QVCS
4/17/2018
Describe Migration and Interoperability
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
29
Describe Migration and Interoperability
4/17/2018
Interoperability Rules
• R3xx and R4xx ACE running on an R500 System is supported until the
CAB’s are Not re-compiled
For R3XX intermediate Migration need to be
done for compatibility with R500..
• CAB Types created on R500 Control Builder Cannot be loaded on R3xx
and R4xx ACE
• CDB Types created with R500 Control Builder Can still be loaded to
R3xx and R4xx ACE
• If you migrate a strategy that includes CAB/CDB from an R3xx and R4xx
System to R500 and you do not edit the CAB, that strategy will still load
and operate on R3xx and R4xx ACE Controllers
– Edit, Compile and Save of an R3xx and R4xx CAB Type using the R500
CAB Developer makes it usable only on R500 System
– CDB’s edited using the R500 Control Builder can still be loaded to R3xx
ACE Node
• With R500 and R431 backward Compatibility is supported
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
30
15
Describe Migration and Interoperability
4/17/2018
Interoperability of ACE and Different CAB types
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
31
Describe Migration and Interoperability
4/17/2018
Conversion of CAB Types
• If pre-R500 CAB Type is
edited in R500 Control
Builder, it provides the
following message
– On selecting OK, Visual
Studio Conversion
Wizard is launched which
allows the user to
convert the CAB Type to
new format compatible
with R500
• After conversion, these
CAB types cannot be
used in R4xx ACE nodes
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
32
16
Describe Migration and Interoperability
4/17/2018
Conclusion
Describe Migration and Interoperability
Completion
Certificate
Proceed to the next lesson in your course material
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
33
Describe Migration and Interoperability
4/17/2018
This page intentionally left blank
Planning CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
34
17
Describe Migration and Interoperability
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Describe How to Migrate a CL Program to
CAB
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Describe How to Migrate a CL Program to CAB
4/17/2018
CL to CAB Migration - Introduction
• CAB (Control Algorithm Block) scripted in Visual Basic .NET Language
is the Experion equivalent of a Total Plant Solutions (TPS) Control
Language (CL)
• ACE (Application Control Environment) is equivalent to Application
Module (AM) in the TPS
• Background Execution in CL/AM is performed by using the Distributed
Execution in CAB
– Distributed Execution is Not Supported in CAB running on C300
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Describe How to Migrate a CL Program to CAB
4/17/2018
CAB Programs in Sequence Control Applications
• Sequence Block Types or Sequence Programs are designed with Builtin Preemption Mechanisms that accommodate the Wait Operations in
Sequence Control
• CAB Programs Does Not offer such inherent support
– Could be done by explicitly managing state within the program design
• “Steps" could be exited and re-entered with each call to Execute()
– It would be a time consuming design
– SCM’s are used for this purpose
• More information is available in the user’s guide under the topic “CAB
Programs in Sequence Control Applications”
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Describe How to Migrate a CL Program to CAB
4/17/2018
CL to CAB Migration – Scripting Differences
• Initializing Values when the Point first runs
– AM/CL Points to the Restart Values as assignment of local variables
– ACE/CAB supports Restart as an Application Program Interface (API) which
provides a VB Property and can be accessed within the Execute Routine
• Accessing Time Values
– Programs in the AM can use the Date and Time Parameters and it is
necessary to identify the type of the parameter to the compiler
– CAB uses the .NET structure DateTime
• Accessing Array Values
– The ArrayIndices in a CL are determined by the User
– In VB.Net, Arrays are Zero-based which means that the starting index is
always 0
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Describe How to Migrate a CL Program to CAB
4/17/2018
CL to CAB Migration – Example Programs
CL Program
CAB Program
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Describe How to Migrate a CL Program to CAB
4/17/2018
CL to CAB Migration – Scripting Differences
• Converting Values from Integer to String
– In AM/CL, this can be done using the Built-in subroutine CALL
NUMBER_TO_STRING
– In VB.net, a Method performs the action for an Object of String Type and the
Method acts like a function in AM/CL
• Housekeeping in an HPM Secondary
– The Verification of the Point Status and Writes are Non-sequential due to the
Poststore Mechanism of the AM. This is overcome by setting the Point
Processing Special (PPS) Parameter
– The CAB requires a OPC Gateway with TPN Server, and the OPC Access
Mechanism takes care of the Non-sequential Writes
• Converting Enumeration Values to a Number
– The AM/CL uses the built-in function ORD(e), where ‘e’ is the enumeration
– A CAB can use the native TYPECONVERT block, or in VB.NET by defining
a Parameter Reference (ENUM_IN) and its Property Value
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Describe How to Migrate a CL Program to CAB
4/17/2018
CL to CAB Migration – Function Equivalence
• Certain Functions covered in CL/AM have been adapted for the CAB
under .NET Environment
• For instance following Data Types
– Number in CL with Multiple Type Support has equivalence as double
– TIME Date Type of CL is supported with the .NET DateTime Class
• Functionality
– Number_To_String Subroutine creates a Human Readable Characterization
of a Real Number which is supported as "ToString" Method for the "Double"
Class
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Describe How to Migrate a CL Program to CAB
4/17/2018
CL to CAB Migration – Function Equivalence
• Arithmetic Functions
– ABS as abs(x) is supported with the Math Class Library used as Math.Abs(x)
– MAX as Max(x, y,…) is supported as CABMath.Max(x, y, z)
• Certain functions have not been supported such as Multifunction
Controller (MC)
• More information is available at Contents > Experion R501.1 PDF
Collection > Configuration > Custom Algorithm Block and Custom Data
Block User’s guide > Appendix A
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Describe How to Migrate a CL Program to CAB
4/17/2018
CL to CAB Migration – Reserved Words
• Point Properties equated to a Parameter Definition Editor (PDE) in a CL
–
–
–
–
–
–
–
–
ACCESS is Access Lock Attribute in PDE
BLD_VISIBLE is Configuration Load Attribute in PDE
ENGINEER is equated as Access Lock Attribute in PDE
EXTERNAL are Parameter References (PRefs)
LOCAL are Any Variables defined within Execute()
PARAM_LIST is the list of names and types as listed in the PDE
VALUE is the Default Value at Load Time
POINT is the Dynamic Re-referencing Feature of the PRef
• More information is available at Experion R501.1 PDF Collection >
Configuration > Custom Algorithm Block and Custom Data Block User’s
guide > Appendix B
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Describe How to Migrate a CL Program to CAB
4/17/2018
Conclusion
Describe How to Migrate a CL Program to CAB
Completion
Certificate
Proceed to the next module in your course material
Migrate a CL Program to CAB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Describe How to Migrate a CL Program to CAB
4/17/2018
This page was intentionally left blank.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
Topic: Migrate a CL Program to CAB (ACE Only)
Contents
Migrate a CL Program to CAB ...............................................................................................................3
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB
Migrate a CL Program to CAB
Main Idea
The CAB created in this lab must be used only in an ACE node.
The objective of this lab exercise is to demonstrate the migration of a Control Language (CL)
Program to a Custom Algorithm Block (CAB). A sample CL Program is converted into a CAB in
the VB.NET Scripts, and some recommended Step Sequences are suggested.
The CL Program in the lab represents an Interlock Handler where a set of process points are
monitored for healthy status, otherwise which a Pre-defined Sequence of Operations is to be
performed. The approach requires that certain Process Points be set to the Program Mode Attribute.
Attention: Although the CAB Lab Exercise uses a CL/HPM Program as the migration example, in
many cases SCMs are better suited as the migration path for Sequence Programs. Review the
guidelines in the user guide to determine whether an SCM or CAB is best suited as the migration
path for your specific application. The lab exercise has as its main goal an Introduction to Migration
Concepts.
In this lab, the scenario is the following:
1. A Pre-specified CL Program is available. As a standard practice, the CL Program will be
copied into the CAB Scripts as a commented cross reference.
2. A set of points accessed by the “external” identifier will be converted to CAB Parameter
References (PRefs).
3. The local variables will be identified and converted appropriately.
4. The CL Program Body is analyzed and equivalent identifiers will be replaced in the
corresponding CAB.
5. Equivalent functions from CL will be replaced with CAB Class Members.
6. The CAB is then compiled and loaded to verify the logic execution in a debug mode.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
1
Action
Observe that the CL program to be migrated monitors process status and takes action if
necessary.
--****************************************************************************---
LOGIC 2301
-
--****************************************************************************-SEQUENCE IL2301 (HPM;POINT IL2301)
EXTERNAL F2303,PC2301A,P2301,BYP2301,BYP2303,BYP702J
EXTERNAL P2302,PC2302,BYP2302,LC23700,23C702J
PHASE MAIN
SET FL(01)=ON
SET FL(02)=ON
--LOGIC FOR LIQUID CL2 FLOW AND CL2 PRE TO GWL. CHEM. INTERLOC
PHASE START
IF (F2303.PV <= F2303.PVLLTP AND BYP2303.PV=NORMAL) OR
& (P2301.PV >= P2301.PVHHTP AND BYP2301.PV=NORMAL)
& THEN (SET PC2301A.MODATTR=PROGRAM;WAIT 1 SECS;
& SET PC2301A.OP=0;SET FL(01)=OFF)
ELSE (SET PC2301A.MODATTR=OPERATOR;SET FL(01)=ON)
IF (P2302.PV <= P2302.PVLLTP AND BYP2302.PV=NORMAL) THEN
& (WAIT 1 SECS;SET PC2302.MODATTR=PROGRAM;WAIT 1 SECS;
& SET PC2302.OP=0;SET FL(02)=OFF)
ELSE (SET PC2302.MODATTR=OPERATOR;SET FL(02)=ON)
--LOGIC FOR LC23700 WITH FREON COMPRESSOR TRIP
IF (23C702J.PV=TRIP AND BYP702J.PV=NORMAL) THEN
& (WAIT 1 SECS;SET LC23700.MODATTR=PROGRAM;SET
LC23700.MODE=MAN;WAIT 1 SECS;
& SET LC23700.OP=0)
ELSE (SET LC23700.MODATTR=OPERATOR)
GOTO PHASE START
END IL2301
4
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
2
Action
Open a new CAB block under a new Custom Library Name.
Custom Library Name
: TEAM##_CAB_MIGRATE
Block Type Name
: IL2301
Tip
The Block Type Name can be entered as the same
name as the CL program for migration traceability.
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
3
Action
Convert the Local Flags to Value CDPs with the following attributes in the Value CDP’s
tab.
Parameter 1
Parameter name:
FL_01
Parameter description:
FL(01)
Data type:
BOOLEAN
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Default value:
FALSE (Unchecked)
Parameter 2
6
Parameter name:
FL_02
Parameter description:
FL(02)
Data type:
BOOLEAN
First dimension array size:
0
Access lock:
OPERATOR
Configuration load:
LOAD
Default value:
FALSE (Unchecked)
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
4
Action
Convert the EXTERNALs to PReFs with the following attributes in the Parameter
References Tab
ATTENTION
The parameters mentioned below are also available in C:\Student\CDP
and Pref.xls. Use the sheet named IL2301. You can optionally copy the
parameters from this sheet and paste it in the Parameter References Tab.
You have to copy only one row at a time and paste it in the Parameter
References Tab in CAB Developer Environment.
Parameter 1
Parameter name:
F2303_PV
Parameter description:
F2303 Process Variable
Data type:
FLOAT64
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 2
Parameter name:
F2303_PVLLTP
Parameter description:
F2303 PV Low Low Trip Point
Data type:
FLOAT64
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 3
Parameter name:
BYP2303_PV
Parameter description:
BYP2303 Process Variable
Data type:
BOOLEAN
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 4
4/15/2018
Parameter name:
P2301_PV
Parameter description:
P2301 Process Variable
Data type:
FLOAT64
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
Parameter 5
Parameter name:
P2301_PVHHTP
Parameter description:
P2301 PV High High Trip Point
Data type:
FLOAT64
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 6
Parameter name:
BYP2301_PV
Parameter description:
BYP2301 Process Variable
Data type:
BOOLEAN
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 7
Parameter name:
PC2301A_MODATTR
Parameter description:
PC2301A Mode Attribute
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 8
8
Parameter name:
PC2301A_MODE
Parameter description:
PC2301A Mode
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
Parameter 9
Parameter name:
PC2301A_OP
Parameter description:
PC2301A Output
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 10
Parameter name:
P2302_PV
Parameter description:
P2302 Process Variable
Data type:
FLOAT64
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 11
Parameter name:
P2302_PVLLTP
Parameter description:
P2302 PV Low Low Trip Point
Data type:
FLOAT64
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 12
4/15/2018
Parameter name:
BYP2302_PV
Parameter description:
BYP2302 Process Variable
Data type:
BOOLEAN
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
Parameter 13
Parameter name:
PC2302_MODATTR
Parameter description:
PC2302 Mode Attribute
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 14
Parameter name:
PC2302_MODE
Parameter description:
PC2302 Mode
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 15
Parameter name:
PC2302_OP
Parameter description:
PC2302 Output
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 16
Parameter name:
C23C702J_PV
Parameter description:
C23C702J Process Variable
Data type:
BOOLEAN
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
ATTENTION
Parameter 16 represents TPS Tag 23C702J but is renamed as
C23C702J because CAB does Not allow labels starting with a number
10
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
Parameter 17
Parameter name:
BYP702J_PV
Parameter description:
BYP702J Process Variable
Data type:
BOOLEAN
Size:
0
Data Flow:
INPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 18
Parameter name:
LC23700_MODATTR
Parameter description:
LC23700 Mode Attribute
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 19
Parameter name:
LC23700_MODE
Parameter description:
LC23700 Mode
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Parameter 20
4/15/2018
Parameter name:
LC23700_OP
Parameter description:
LC23700 Output
Data type:
FLOAT64
Size:
0
Data Flow:
OUTPUT
Dynamic Reference:
DISABLED (Unchecked)
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
11
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

12
Step
Action
5
Click the Fixed tab in Parameter Definition Editor and change the following default value
of X_EXECMODE to DISTRIBUTED.
6
Save the PDE Data.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
7
Action
Click the Symbol Attribute tab and enter the following information:
Parameter 3
Parameter name:
FL_01
Monitor face:
2
Parameter 4
8
4/15/2018
Parameter name:
FL_02
Monitor face:
3
Click the CABlock.vb tab to open the VB Development Environment.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
13
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
9
Action
Enter the following into the Public Overrides area.
ATTENTION
The CAB program given below is also available in the text file
C:\Student\CAB Scripts\Migrate a CL program to CAB.txt. You can
optionally copy the code from this text file and paste it in CABlock.vb
window.
Ensure that you delete all existing code in CABlock.vb window and then
select all text in the script text file and paste it in CABlock.vb window.
14
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
4/15/2018
Action
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
15
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
ATTENTION
The function PRef_operate performs a repetitive task
and has been incorporated to enhance the readability
and usability of the CAB program.
10
Compile and Save the CAB to the ERDB. Close the Microsoft Visual Studio.
11
Create a new Control Module. Select File > New > Control Module.
12
Open the Control Module properties window; enter the following information.
Tag name:
CM_Migrate##
Item name:
CM_Migrate##
Parent Asset:
Training (Use Point Picker to assign Asset)
Click OK and Save the CM.
16
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
13
In the Library Tree expand TEAM##_CAB_MIGRATE and drag the CAB Function Block
named as IL2301A into the Control Module named as CM_Migrate##.
Save the CM.
14
If CM_CLPOINTS## is not there in the Control Builder then Import CM_CLPOINTS##
from Ixport Folder. Download and then activate the CM_CLPOINTS##
Note: Your lab system may not have LCN Points available, instead CM_CLPOINTS##
has Process Values that can be used to illustrate the concepts involved in CL Migration.
Tip
The path for Ixport folder
C:\Users\Public\Documents\Honeywell\Experion
PKS\Ixport\
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
17
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
15
Double click CM_Migrate## and open the Properties of IL2301A. On the Parameter
References Tab, assign the respective Control Parameters (using the Point Picker) from
CM_CLPOINTS## as follows:
Click on the Check box of Show Parameter Names to view Parameter Names.
F2303_PV:
CM_CLPOINTS##.F2303.PV
F2303_PVLLTP:
CM_CLPOINTS##.F2303.PVLOLM
BYP2303_PV:
CM_CLPOINTS##.BYP2303.PV
P2301_PV:
CM_CLPOINTS##.P2301.PV
P2301_PVHHTP:
CM_CLPOINTS##.P2301.PVHILM
BYP2301_PV:
CM_CLPOINTS##.BYP2301.PV
PC2301A_MODATTR:
CM_CLPOINTS##.PC2301A.MODEATTR
PC2301A_MODE:
CM_CLPOINTS##.PC2301A.MODE
PC2301A_OP:
CM_CLPOINTS##.PC2301A.OP
P2302_PV:
CM_CLPOINTS##.P2302.PV
P2302_PVLLTP:
CM_CLPOINTS##.P2302.PVLOLM
BYP2302_PV:
CM_CLPOINTS##.BYP2302.PV
PC2302_MODATTR:
CM_CLPOINTS##.PC2302.MODEATTR
PC2302_MODE:
CM_CLPOINTS##.PC2302.MODE
PC2302_OP:
CM_CLPOINTS##.PC2302.OP
C23C702J_PV:
CM_CLPOINTS##.23C702J.PV
BYP702J_PV:
CM_CLPOINTS##.BYP702J.PV
LC23700_MODATTR:
CM_CLPOINTS##.LC23700.MODEATTR
LC23700_MODE:
CM_CLPOINTS##.LC23700.MODE
LC23700_OP:
CM_CLPOINTS##.LC23700.OP
And Click OK.
18
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
Save and Close the CM
.
4/15/2018
16
Assign CM_Migrate## to your SIM_ACE.
17
Download and then activate the CM_Migrate## Block.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
19
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
18
Action
Open CM_CLPOINTS## in monitoring and perform the following operations:
Set the Process Variable of following FLAGS to TRUE.
a. BYP2303
b. BYP2301
c. BYP2302
d. 23C702J
e. BYP702J
20
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
Action
19
Put the following loops into auto mode and enter a Setpoint (SP), so that the loops can
operate.
a. PC2301A
b. PC2302
c. LC23700
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
21
Migrate a CL Program to CAB (ACE Only)
Migrate a CL Program to CAB

Step
20
Action
Test the example Interlock Execution by setting any one of the scripted conditions to a
True Condition.
For example, if you need to assert the first condition, from CM_CLPOINTS## perform
the following steps:
1. F2303.PV = 5 (the condition represents the low level trip point)
2. BYP2303.PV = OFF
Result: The condition will result in stopping the PC2301A loop and its output is cut-off.
22
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Troubleshooting CAB and CDB
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
1
Troubleshooting CAB and CDB
4/17/2018
CAB and CDB Troubleshooting and Maintenance
• Trouble Shooting Approaches and Tools
– CAB Instance States
– CAB Alarms
– Debug with SIM-ACE
– CAB Fault Handling
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
2
1
Troubleshooting CAB and CDB
4/17/2018
CAB States
•
Monitor the CABSTATE
Parameter to determine if
the CAB is operating
normally or if an exception
has occurred
•
CABSTATE is a Read-only
Parameter that provides
summary information on the
operating state of the CAB
Instance
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
3
Troubleshooting CAB and CDB
4/17/2018
CAB Instance States
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
4
2
Troubleshooting CAB and CDB
4/17/2018
CAB Instance States Contd…
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
5
Troubleshooting CAB and CDB
4/17/2018
CAB Alarm States
• CAB Programs can work in conjunction with other Blocks to generate
Process Alarms
• CABs also have Four Alarms built into the CAB Infrastructure. These
alarms are
– CAB State Terminated
– CAB State Exception
– Read Error
– Write Error
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
6
3
Troubleshooting CAB and CDB
4/17/2018
Debugging Interlocks and Precautions
• Must only use Source Level Debugging with an Off-process SIM-ACE
• Never attach the MSVS Source Level Debugger to an On-process ACE
because of the possibility of debugger activity freezing control
processing
– Debugger attachment to On-process ACE can be prevented during
installation
• Select the Remote Debugger Option only on Nodes that will run SIMACE but Not ACE
• CAB Remote Debug Service allows you to Set Breakpoints
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
7
Troubleshooting CAB and CDB
4/17/2018
Debugging Interlocks and Precautions (….Contd.)
• If the Debugger is installed on a node that is configured as ACE and the
CAB Remote Debug Service is running, activation of the ACE CEE is
prevented in CB
• If the CAB Remote Debug Service is started after the ACE CEE is
activated, a System Alarm is generated stating that the Debugger is
running
– Disable CAB Remote Debug Service on On-process ACE Nodes
• For additional reading on CAB and CDB Troubleshooting, refer to the
following location in PDF Collection:
– Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block
and Custom Data Block User’s Guide > CAB and CDB Troubleshooting and
Maintenance > Debug with SIM-ACE
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
8
4
Troubleshooting CAB and CDB
4/17/2018
CAB Fault Handling
• The CAB System has Built-in Fault Handling Mechanism, which are
based on the following principles
– A Run-time Fault by a CAB Instance affects only the Source Instance
– CAB Processing is not disrupted as result of external process and system
disruptions, but are optionally notified
• CAB Implements Function Limiter to ascertain the Validity of Code
• The Standard Faults that have been pre-defined are
–
–
–
–
–
–
Parameter Access Faults
Divide-by-zero Handling
Unbounded Recursion
Exception Handling
Overlong Execution
Loops in "Catch" or "Finally" Clauses
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
9
Troubleshooting CAB and CDB
4/17/2018
CAB Fault Handling
• Honeywell recommends the application of following standard practices
–
–
–
–
–
.NET constructs allowed for CAB on ACE and CAB on C300 applications
Summary of CAB fault handling
Summary of site responsibilities for fault handling
Techniques for reporting CAB errors
CAB error messages and codes
• Information on the above practices is available at
– Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block
and Custom Data Block User’s Guide > CAB and CDB Troubleshooting and
Maintenance > CAB Fault Handling
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
10
5
Troubleshooting CAB and CDB
4/17/2018
CAB and CDB Troubleshooting
• For additional information on CAB and CDB troubleshooting, refer to the
following location in PDF Collection:
– Experion R501.1 PDF Collection > Configuration > Custom Algorithm Block
and Custom Data Block User’s Guide > CAB and CDB Troubleshooting and
Maintenance
• For additional information on the MSVS Debugger, refer to the following
location, using the MSVS Help Menu Bar:
– Help > Contents
• Visual Basic (from the Filtered by list)
– Development Tools and Languages > Visual Studio > Application
Development in Visual Studio > Building, Debugging, and Testing >
Debugging in Visual Studio
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
11
Troubleshooting CAB and CDB
4/17/2018
Conclusion
Troubleshooting CAB and CDB
Completion
Certificate
Proceed to the next module in your course material
Troubleshooting CAB and CDB (ACE Only)
Honeywell Confidential
Copyright © 2018 Honeywell International Inc.
12
6
Troubleshooting CAB and CDB
4/17/2018
Topic: Troubleshooting CAB and CDB (ACE Only)
Contents
ACE Node Behavior for Some Critical Problems ..................................................................................3
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Troubleshooting CAB and CDB (ACE Only)
ACE Node Behavior for Some Critical Problems
ACE Node Behavior for Some Critical Problems
Objectives

Understand CAB Troubleshooting Concepts. The CAB Block created in this lab can be used
only on SIM-ACE.

The CAB used in this lab is for training purpose only and is intended to show you run time
problems. Do not use this CAB Block in an On-process ACE node as it introduces run time
exceptions and errors.
Prerequisites

Experion PKS Server with Configuration Studio installed.

Experion Flex Station installed with CAB Developer.
Prerequisites
In this lab, you will create the following issues manually and check how the
CAB/ACE reacts to these problems:

Divide by Zero

Infinite Loop

High Memory Allocation
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Troubleshooting CAB and CDB (ACE Only)
ACE Node Behavior for Some Critical Problems

Step
Action
1
ATTENTION
Do not use this CAB Block in an On-process ACE
Node as it introduces run time exceptions and errors. It
must be performed only with SIM-ACE Nodes
Launch Configuration Studio and open Control Builder, if not already open.
2
Import the following Custom block & Control Module from the database if not already
there in the Control builder.( Path for database is : C:\Users\Public\Public
Documents\Honeywell\Experion PKS\IXPORT\)
Custom Block: TEAMI_CAB:ERROR_SIML
CM Name: CM_ERR_SIM
3
Load and activate the CM_ERR_SIM Control Module to SIM-ACE.
4
In Monitoring, open the CM_ERR_SIM Control Module.
5
Double click on the RUNAWAYMEM Block Pin. In the Request Value Change Dialog
Box, select the “set to true to create a CAB termination due to runaway memory
usage” checkbox.
6
Click Yes in the Change Online Value Dialog and click OK.
Result: The CAB will terminate because of runaway memory usage.
4
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Troubleshooting CAB and CDB (ACE Only)
ACE Node Behavior for Some Critical Problems

Step
7
4/16/2018
Action
Observe that the CABSTATE Parameter changed from NORMAL to TERMINATED.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Troubleshooting CAB and CDB (ACE Only)
ACE Node Behavior for Some Critical Problems

Step
8
Action
Double click ERROR_SIMLA to open its properties. Observe that the Exception Type
and Exception Message Parameters provides the information about the error which has
occurred.
The OutOfMemory Exception means that the ACE Node does not have enough memory
to execute this Block.
ATTENTION
Also note that due to the exception in this block, the execution of other blocks
within the ACE Node is not affected.
To check this, open any control module in the ACE Node which was created
in the previous lab(s) and verify that they continue to operate.
9
Next, return the CAB to its normal state. Double click the RUNAWAYMEM Pin and
uncheck the “set to true to create a CAB termination due to runaway memory
usage” Checkbox.
Click Yes in the Change Online Value Dialog Box and click OK.
10
6
Double click the CABCOMMAND Parameter in the Block.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Troubleshooting CAB and CDB (ACE Only)
ACE Node Behavior for Some Critical Problems

Step
Action
11
Select RUN as the CAB Command. Click Yes in the Change Online Value Dialog Box.
12
Observe that the CAB State changes to NORMAL.
13
Double click on DIV0ERROR Block pin. Select the “Set to true to cause a divide by
zero exception” Checkbox and click Yes
Click OK
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
7
Troubleshooting CAB and CDB (ACE Only)
ACE Node Behavior for Some Critical Problems

Step
14
Action
Note that the CABSTATE changes to EXCEPTION. Open its block properties.
Result: The Exception Type and Exception Message shows the information about the
exception that occurred.
15
8
Observe that the Exception Line Num Parameter shows the line where the error
occurred.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Troubleshooting CAB and CDB (ACE Only)
ACE Node Behavior for Some Critical Problems

Step
Action
16
Click OK in the block properties.
17
Double click on ERROR_SIML Block in library and go to CABlock.vb tab.
In line 34, you will be able to locate the Divide by Xero expression.
18
Close Microsoft Visual Studio.
19
Next, return the CAB to normal. In Control Builder, double click the DIV0ERRPR pin and
uncheck the “Set to true to cause a divide by zero exception” checkbox.
20
Click Yes in the Change Online Value Dialog Box and click OK.
Result: The CABSTATE Parameter automatically changes to NORMAL.
4/16/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
9
Troubleshooting CAB and CDB (ACE Only)
ACE Node Behavior for Some Critical Problems

Step
21
Action
Next, cause an overrun error. Double click the LONGOVERRUN Block Pin and select
the checkbox.
Click Yes in the Confirmation Dialog Box and click OK.
Result: The CABSTATE changes to TERMINATED.
22
Open its Block Properties and check the error details using the Exception Type and
Exception Message Parameters.
The Exception Line Num also shows the line at which the error has occurred.
23
10
Return the CAB to its Normal state. Turn OFF the LONGOVERRUN Block Pin and
repeat steps 10 to 12 to change the CABSTATE back to NORMAL.
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/16/2018
Topic: Final Project
Contents
Create a CAB to Calculate Feed Enthalpy ............................................................................................3
4/15/2018
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
1
This page was intentionally left blank.
2
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Final Project
Create a CAB to Calculate Feed Enthalpy
Create a CAB to Calculate Feed Enthalpy

Step
1
4/15/2018
Action
Diagram of Enthalpy Control Simulation.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
3
Final Project
Create a CAB to Calculate Feed Enthalpy

Step
Action
Legend:
FC70### Feed Flow Controller
FC71### Fuel Flow Controller
TIS### Inlet Temperature Simulator
TI### Inlet Temperature Indicator
TO### Outlet Temperature Indicator
HV### Fuel Heat Value Numeric
Description of Enthalpy Control Simulation
Enthalpy is the amount of energy contained per unit of mass of some material and varies
depending on the heat capacity of the material involved. For example, the amount of
energy contained in one pound of water at 200°F (water has a heat capacity of
approximately 1 (BTU/Lb°F) is more than the amount of energy contained by one pound
of oil at 200°F (oil has a heat capacity of approximately 0.6 BTU/Lb°F). Therefore, if the
composition of the product that is being heated in the furnace is subject to change, it may
be desirable to control the furnace to a constant enthalpy instead of a constant
temperature.
In the present project, we have an existing system with an implementation of feed
forward based furnace control. We shall now generate a CAB based enthalpy control
which can take over from the feed forward control.
Formula used for calculating Enthalpy out:
Hp = (Cp * Factor1) * (Tin-Tref) + (Efficiency * Factor2) * Hval * (Fuel flow / Feed flow)
where
Hp = Feed Enthalpy out in KBTU/Gal
Cp = Specific heat of Feed = 6.25 BTU/Gal DEGF
Tin = Temperature of Feed inlet in DEGF
Tref = Reference temperature = 0 DEGF
Hval = Heating value of Fuel in KBTU/SCF
Feed flow in KB/SD
Fuel flow in KSCF/HR
Efficiency = 0.8
Factor1 = 0.001
Factor2 = 0.571 Factors are used for EU conversion.
2
4
Implement the enthalpy equation as;
HP = (CP * Factor1) * TI.PV + (Efficiency * Factor2) * HV.PV * (FC71.PV/FC70.PV)
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
Final Project
Create a CAB to Calculate Feed Enthalpy

Step
3
Action
Create a CAB ENTHALPY_CTRL within TEAM1_PRJ.
ATTENTION
If you are declaring Enthalpy variables in code then set
the CAB Block properties as follows:
Project  CABlock properties from the menu bar.
Select Compile in the left pane and select OFF for the
Option Strict.
4/15/2018
4
Implement the enthalpy equation in the CAB ENTHALPY_CTRL.
5
Import CM_furnace## and CM_FFD## to ACE CEE.
6
Observe the Feed Forward (FFD) Control generated by CM_FFD## on the fuel flow.
7
Instantiate the CAB Enthalpy inside CM_furnace##. Attach the required inputs to the
CAB block and assign the enthalpy value generated by the CAB to the IN[2] of SP_MUX.
8
Load the CM, Change the fuel flow setpoint from the FFD control to Enthalpy Control, by
changing K selector value of SP_MUX to 1.
9
Observe the Enthalpy Control generated by the CAB block on the fuel flow.
Copyright © 2018 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
5
Final Project
Create a CAB to Calculate Feed Enthalpy
This page was intentionally left blank.
6
Copyright © 2017 Honeywell International Inc.
HPS Automation College written permission required to distribute
Honeywell Confidential and Proprietary
4/15/2018
More Information
To learn more about Automation College,
view a list of global locations and available
training, visit www.automationcollege.com
or email HPSWeb@Honeywell.com
.
Honeywell
Performance Materials & Technologies
Honeywell Process Solutions
Automation College
www.honeywellprocess.com
January 2018
© 2018 Honeywell International Inc.
Download