3BSE030335-510 en System 800xa Engineering 5.1 Process Graphics Based On Visual Basic
3BSE030335-510 en System 800xa Engineering 5.1 Process Graphics Based On Visual Basic
ABB may have one or more patents or pending patent applications protecting the intel-
lectual property in the ABB products described in this document.
The information in this document is subject to change without notice and should not be
construed as a commitment by ABB. ABB assumes no responsibility for any errors that
may appear in this document.
In no event shall ABB be liable for direct, indirect, special, incidental or consequential
damages of any nature or kind arising from the use of this document, nor shall ABB be
liable for incidental or consequential damages arising from use of any software or hard-
ware described in this document.
This document and parts thereof must not be reproduced or copied without written per-
mission from ABB, and the contents thereof must not be imparted to a third party nor used
for any unauthorized purpose.
The software or hardware described in this document is furnished under a license and
may be used, copied, or disclosed only in accordance with the terms of such license. This
product meets the requirements specified in EMC Directive 2004/108/EEC and in Low
Voltage Directive 2006/95/EEC.
TRADEMARKS
All rights to copyrights, registered trademarks, and trademarks reside with their respec-
tive owners.
Section 1 - Introduction
Product Overview ............................................................................................................17
What You Can Do with Graphics.........................................................................17
Prerequisites and Requirements ......................................................................................18
3BSE030335-510 5
Table of Contents
6 3BSE030335-510
Table of Contents
3BSE030335-510 7
Table of Contents
8 3BSE030335-510
Table of Contents
Section 7 - Maintenance
The Display Tool ...........................................................................................................169
Diagnostics Window......................................................................................................174
Frequently Asked Questions (FAQ) ..............................................................................183
Edit is Dimmed or Missing in the Context menu...............................................183
Edit Imported Graphics Aspect with 3rd party ActiveXs ..................................183
Edit a Graphic Display in a Remote Desktop Session .......................................183
Limit of 256 Element Instances in VB...............................................................184
“Out of Memory” in Graphics Builder...............................................................185
Far East Languages are not Correctly Presented................................................185
Problems with Elements in Frame Control ........................................................185
How to Avoid Allocating GDI Objects ..............................................................185
3BSE030335-510 9
Table of Contents
Section 8 - Tutorial
Tutorial 1 - Building a Graphic Display........................................................................ 190
How to Build a Graphic Display........................................................................ 191
Adding Graphic Elements to the Graphic Display ............................................ 192
Using Logical Colors ......................................................................................... 193
Tutorial 2 - Creating a Graphic Display without an Existing Application.................... 195
Tutorial 3 - Building a Graphic Element....................................................................... 199
Creating a Graphic Element............................................................................... 200
Building a Graphic Element .............................................................................. 201
Changing Properties for the Generic Element ................................................... 202
Assigning Expressions to Properties.................................................................. 203
Deploying a Graphic Element............................................................................ 204
Tutorial 4 - Creating and Configuring Faceplates ......................................................... 205
10 3BSE030335-510
Table of Contents
AdvantPipe .........................................................................................................253
AdvantPolygon...................................................................................................255
AdvantPolyline...................................................................................................256
AdvantRectangle ................................................................................................258
AdvantBar ..........................................................................................................259
AdvantText .........................................................................................................261
AdvantVscale .....................................................................................................263
Special Elements ...........................................................................................................266
Aspect Link ........................................................................................................266
PgEventTunnel ...................................................................................................268
AlarmControl .....................................................................................................270
Lock Control ......................................................................................................272
AspectViewCtl ...................................................................................................272
TrendViewCtl .....................................................................................................273
Size Display .......................................................................................................274
Composite Object List........................................................................................276
Resource Tools ...................................................................................................277
ABB Subelements .........................................................................................................278
Bar ...........................................................................................................278
Property Elements .........................................................................................................284
Indicator ...........................................................................................................286
Push Button ........................................................................................................289
Toggle Button.....................................................................................................291
IBar ...........................................................................................................295
Input Field ..........................................................................................................299
CheckBox ...........................................................................................................303
Option Button.....................................................................................................307
Apply Button ......................................................................................................309
Cancel Button.....................................................................................................309
Direct Entry Windows ...................................................................................................309
PgDEW ...........................................................................................................310
PgNumericDEW ................................................................................................311
3BSE030335-510 11
Table of Contents
INDEX
12 3BSE030335-510
About This Book
General
This instruction contains information about IndustrialIT 800xA System Graphics.
Document Conventions
Microsoft Windows conventions are normally used for the standard presentation of
material when entering text, key sequences, prompts, messages, menu items, screen
elements, etc.
Electrical warning icon indicates the presence of a hazard which could result in
electrical shock.
Warning icon indicates the presence of a hazard which could result in personal
injury.
3BSE030335-510 13
Terminology About This Book
Tip icon indicates advice on, for example, how to design your project or how to
use a certain function
Although Warning hazards are related to personal injury, and Caution hazards are
associated with equipment or property damage, it should be understood that
operation of damaged equipment could, under certain operational conditions, result
in degraded process performance leading to personal injury or death. Therefore,
fully comply with all Warning and Caution notices.
Terminology
A complete and comprehensive list of Terms is included in the IndustrialIT
Extended Automation System 800xA, Engineering Concepts instruction
(3BDS100972*). The listing included in Engineering Concepts includes terms and
definitions as they that apply to the 800xA system where the usage is different from
commonly accepted industry standard definitions and definitions given in standard
dictionaries such as Webster’s Dictionary of Computer Terms.
Term Description
Faceplate A faceplate is an aspect that provides a graphical
representation of a certain aspect object, with
presentation of certain properties related to the object,
and mechanism for operator interaction such as on/off,
increase/decrease, etc. Aspect Object types often
include several faceplate aspects, providing different
presentation and interaction possibilities.
Graphic Display A graphic display is an aspect that provides a visual
presentation. It consists of static graphics representing
for example tanks, pipes etc., and graphic elements that
present dynamic information. Graphic displays are often
used to present the state of a process or a part of a
process, but are useful in any context where dynamic
graphical information is needed.
14 3BSE030335-510
About This Book Related Documentation
Term Description
Process Object A process concept/equipment e.g. valve, motor,
conveyor or tank.
Property A data field on an aspect of an Aspect Object that can be
accessed through OPC using the standard Aspect
Object reference syntax.
A data field on an ActiveX control accessible from the
Visual Basic editor.
IDE Integrated Development Environment.
Related Documentation
A complete list of all documents applicable to the 800xA IndustrialIT Extended
Automation System is provided in Released User Documents, 3BUA000263*. This
document lists applicable Release Notes and User Instructions. It is provided in
PDF format and is included on the Release Notes/Documentation media provided
with your system. Released User Documents are updated with each release and a
new file is provided that contains all user documents applicable for that release with
their applicable document number. Whenever a reference to a specific instruction is
made, the instruction number is included in the reference.
3BSE030335-510 15
Related Documentation About This Book
16 3BSE030335-510
Section 1 Introduction
Product Overview
Process Graphics consists of a graphic run-time viewer included in the 800xA
System. It also includes Graphics Builder which is based on Microsoft Visual
Basic. Visual Basic skills are by no means required to use Graphics Builder, but it
could very well extend its possibilities.
Throughout this manual the term Visual Basic refers to Visual Basic 6.0.
3BSE030335-510 17
Prerequisites and Requirements Section 1 Introduction
In Windows 7, using the Aero theme will lead to screen latency issues in the VB
Graphics Builder because the Aero theme uses advance rendering schemes. To
use VB Graphics, turn off the Windows Aero theme and switch to None or
Windows Classic. The behavior of VB IDE in Windows 7 will then be the same
as that in Windows XP.
18 3BSE030335-510
Section 2 Graphics Builder
3BSE030335-510 19
Adding Graphic Aspect to an Object and Open Graphic Builder Section 2 Graphics Builder
4. Go to the aspect in the aspect list and select it. Open the context menu for the
aspect and select Edit or click on Edit in the Preview Area.
5. The Graphic Builder opens up and you can edit your graphic aspect.
20 3BSE030335-510
Section 2 Graphics Builder Graphics Builder
Graphics Builder
Figure 2 shows the interface of the Graphics Builder.
Property
Toolbox Window
Expression
Builder
User
Window
Element
Browser
Working
Area
When you are working with graphic aspects the main objectives of Graphics Builder
are to:
• Configure graphic aspects.
• Deploy graphic aspects. The graphic is distributed and saved in the deploy
action.
3BSE030335-510 21
Features Section 2 Graphics Builder
Features
Graphics Builder has a lot of Visual Basic features. The following features are
specific for Graphics Builder:
• An Expression Builder that allows you to assign expressions, that is to specify
subscriptions and specify the relationship between the process data and the data
that is to be displayed.
• A Graphic Libraries dialog that allows you to add Primitives and
Subelements to your toolbox.
• An Element Browser in which you can select appropriate graphic elements.
• A Deploy function that stores the graphic aspects and enables viewing of
process displays by process operators. Before a graphic element is deployed, it
can only be seen in the Graphics Builder.
• A help function that offers you access to on-line help and on-line
documentation for the Graphics Builder.
• Ability to define input properties using the Expression Builder.
These features are accessed through the pull-down menu in the menu bar or through
tool buttons.
How to exit the Graphics Builder. After deploy and exit from Graphics Builder
you get a popup window saying, “Do you want to save the changes?”. Press No to
avoid another popup window next time you edit the same graphic aspect (saying that
a later version exists).
22 3BSE030335-510
Section 2 Graphics Builder Setting Options in Graphics Builder
Live Data in Design mode. The Live Data option enables you to display dynamic
data in graphic elements when you are using graphic aspects in design mode. Mark
the check box to select live data in design mode.
Note that live data results in a higher CPU usage, which in turn leads to slower
operation of Graphics Builder.
Advanced User Mode. The Advanced User Mode option gives you access to
more menus and functions in Visual Basic. If you have not selected Advanced User
Mode, some menus or menu items are dimmed, which means that they are
unavailable. Click in the check box to select Advanced User Mode.
3BSE030335-510 23
Working with Generic Elements Section 2 Graphics Builder
Debug. Click the Debug check box to get access to an additional debug menu.
Element Browser. Click the check box to show Element Browser at startup.
Expression Builder. Click the check box to show Expression Builder at startup.
24 3BSE030335-510
Section 2 Graphics Builder Toolbox Window
Subelements +
General Special Extended Primitives Graphic Primitives Property elements
The available libraries you can access through the Tool menu are:
General. This is Visual Basic’s own built in controls (Graphic libraries). They are
always included in the toolbox. Click on the General button to display them.
Special. The Special section contains five additional graphic elements. Aspect Link
displays an aspect when pressed. PgEventTunnel is used to tunnel events, see Click
Transparency on page 78. AlarmControl is a template object for an alarm button for
faceplates and AspectViewCtl shows a view of an aspect on the graphic display. The
TrendViewCtl element is used for showing a mini-view of a trend display in a
graphic aspect. CompositeObj displays a list of objects in a composite object.
All Special elements are described thoroughly in Special Elements on page 266.
3BSE030335-510 25
Toolbox Window Section 2 Graphics Builder
Subelements (and Property Elements). These are subelements from the Graphics
structure. Click on the button Subelements in the toolbox to display the set of
available subelements and property elements. Property elements can be used to
build faceplate elements.
The subelements provided by ABB are described in ABB Subelements on page 278.
26 3BSE030335-510
Section 2 Graphics Builder Select Generic Elements From the Toolbox
3BSE030335-510 27
Select Generic Elements From the Toolbox Section 2 Graphics Builder
28 3BSE030335-510
Section 2 Graphics Builder Adding Graphic Libraries to the Toolbox
3BSE030335-510 29
Adding Graphic Libraries to the Toolbox Section 2 Graphics Builder
Deleting Graphic Libraries From the Toolbox. You delete tools by clicking on the
Aspect menu in the menu line of the Graphic Builder and then selecting
Components. See Figure 10.
A dialog box opens, where you uncheck the tools you want to delete. Then you click
on the Apply or OK button.
30 3BSE030335-510
Section 2 Graphics Builder Adding Graphic Libraries to the Toolbox
Deleting tools from the toolbox is also described in Visual Basic’s on-line help file.
3BSE030335-510 31
Extending the Graphic Libraries Window Section 2 Graphics Builder
32 3BSE030335-510
Section 2 Graphics Builder External ActiveX Controls
c. Select the Graphic Primitive aspect and in the Main View type in the
path to the .dll file you want to add and click Apply.
Environment variables can be used in the path definition, for example if
the file myDll.dll exists in ...\OperateIT\ProcessPortalA\bin directory,
the path can be written: $PRODUCT$\bin\myDll.dll.
3BSE030335-510 33
Expression Builder Section 2 Graphics Builder
Expression Builder
Properties of elements in the configured graphic aspect can be assigned.
• Constant values. Assigned using the Properties window.
• Expressions. Assigned using Expression Builder.
34 3BSE030335-510
Section 2 Graphics Builder The Top Half of the Expression Builder
The Expression Builder can be opened from the View menu. To set properties for
a certain element, it needs to be selected first.
The Expression Builder is used to subscribe for and calculate data, which will be
presented in graphic aspects. Subscribe for data, is to trigger the influx of data to the
graphic aspect. A relationship between object properties and properties of generic
elements is specified.
The Expression Builder supports the use of object property references, logical
colors, expression variables, input properties and NLS text through simple click and
browse operations. This functionality combined with Visual Basic expression
features makes a powerful tool.
You have to browse to select entities from the bottom half of the Expression Builder,
for example object property references or logical colors. They cannot be written
directly in the expressions. The expression language is based on standard Visual
Basic.
The Expression Builder does not have full Unicode support and requires the
correct language setting when using Far East languages, see NLS Handling of Far
East Languages in Graphics on page 98.
3BSE030335-510 35
The Top Half of the Expression Builder Section 2 Graphics Builder
• The Edit Variables tab. All expression variables defined in the graphic element
are listed here.
You can also create a new expression variable via this tab. Click on the Add button,
enter the name of the new expression variable and assign the variable an expression.
The expression variable function enables reuse of frequently used expressions.
Expression variables store intermediate results from expressions and make
expressions shorter and more readable.
Expression variables can be used as means for Visual Basic code, for example in
faceplate elements to read values produced by the expression. It is therefore possible
to set up a subscription for an object property to an expression variable and enter
Visual Basic code, for example in the OnPostDataChange event.
It is also possible to use expression variables to “input” values to expressions from
Visual Basic code. Perform the following steps.
1. Define an expression variable without an expression connected to it, and refer
to it from expressions.
2. Set the value of the expression variable from Visual Basic.
36 3BSE030335-510
Section 2 Graphics Builder The Top Half of the Expression Builder
3BSE030335-510 37
The Top Half of the Expression Builder Section 2 Graphics Builder
Select the Edit Expression tab. The expression is displayed in tokenized format as
shown in Figure 14. You can edit a token by using the keyboard or by using the
bottom half of the expression builder. Note that Color and NLS Text tokens can be
edited only via the bottom half of the expression builder. Click Update to confirm
the changes.
38 3BSE030335-510
Section 2 Graphics Builder The Bottom Half of the Expression Builder
ObjectProperty Tab. It allows you to get dynamic data from an object and connect
it to the selected graphic element.
For a generic graphic aspect the ObjectProperty tab is not shown. The Expression
Builder determines if the tab should be shown by checking the existence of the
ObjectPath property.
The ObjectProperty tab contains three lists:
• The object list, which displays object references. See Object List on page 46
for more information.
• The object property list, which displays the properties of the selected object.
To add a property to the expression, select it and press the Insert button, or just
double-click the property. You can also write a path and property name directly
in the Property field. If the property doesn’t exist, a failure message will
appear.
3BSE030335-510 39
The Bottom Half of the Expression Builder Section 2 Graphics Builder
The selected subproperty is Value by default. The other subproperties all return
data quality information regarding the transfer of data. Note that Value is not
displayed in the expression entry field. More information on quality attributes
can be found in Sub Properties of Object Properties on page 64.
40 3BSE030335-510
Section 2 Graphics Builder The Bottom Half of the Expression Builder
Color Tab. It enables you to choose colors from a logical color set. Select the drop
down list and choose a color set and then select a color from the list below.
Variables Tab. It displays the expression variables, you previously created, in the
Edit Variables tab, in the top half of the Expression Builder. To add a reference to
an expression variable to an expression, simply click on the variable you want to
add.
Select Variables tab and highlight the expression variable you want to add, then
click Insert.
Now the variable should be visible in the expression entry field in the top half of the
Expression Builder.
Input Properties Tab. Defining input properties is useful for subelements, property
elements and graphic elements. By defining them, it is possible to implement the
presentation part of the subelement using Expression Builder. Therefore, it is
unnecessary to use the VB code pane.
3BSE030335-510 41
The Bottom Half of the Expression Builder Section 2 Graphics Builder
This tab allows you to add, modify and insert a reference to the selected input
property in the selected expression.
The SubProperty selector list is only visible when you select an input property of
the Type ObjectPropertyRef.
The list contains alternatives, which helps you establish if the quality of data is ok,
and if it is writable. For more information about the alternatives in the Sub
Property Selector refer to Sub Properties of Object Properties on page 64.
In many cases the Input Properties tab supersedes the use of the Add Members
tool.
The Add button opens up the AddProperty dialog, which allows you to define a
new input property.
42 3BSE030335-510
Section 2 Graphics Builder The Bottom Half of the Expression Builder
If you select an input property and press the Insert button, a reference to the
selected input property is inserted in the expression (That is the entry field of the
selected expression in the top half of the Expression Builder).
The Modify button allows you to modify existing input properties. Name and Type
cannot be modified.
3BSE030335-510 43
The Bottom Half of the Expression Builder Section 2 Graphics Builder
NLS Text Tab. This tab allows you to internationalize your text strings.
Select the aspect containing the text for your graphics. See Figure 22.
If you select language in runtime, you can see the text from the Resource
Manager Aspect. If the text is %NLS%, the text is missing in the Resource
Manager aspect or the addressed Resource Manager aspect does not exist.
Click on the Insert button at the bottom of the Expression Builder and a reference to
the NLS string is inserted to the property (see Figure 21).
Select Resource Text from the Resource Manager Select language in the text string
Manager Aspect aspect in the selected language
44 3BSE030335-510
Section 2 Graphics Builder Assign Expressions to Properties
Expressions for an element are not included when you copy it. You must enter the
same expressions for the copy
3BSE030335-510 45
Object List Section 2 Graphics Builder
Object List
The object list in the Expression Builder is the same as in Element Browser.
Therefore, changes take immediate effect both in Expression Builder and Element
Browser. In Expression Builder, the list is visible when the Object property tab is
selected. Note that the object list contains object references that can be either
absolute or relative.
If you right-click on one of the object references, you created in the object list, a
context menu with the following options appears.
• Properties, see explanation below.
• Delete, deletes the selected object reference.
• Delete all, deletes all object references in the object list that not are used in the
currently edited graphic aspect.
• Autopopulate adds all child objects (the other objects below the selected
object in the tree structure), to the object list.
Properties, opens an Object reference dialog. It contains the following options:
46 3BSE030335-510
Section 2 Graphics Builder Populate the Object List
• Reference type drop down list, where you can choose either Absolute or
Relative reference type.
The functional difference between absolute and relative references
Object references in graphic aspects can be either relative or absolute.
The difference is when the aspect is copied from one object to another.
If the reference is absolute, the new aspect will show data from the same
object as before, but if the reference is relative, the aspect will always
show data of the object it resides on, or underlying objects. In the object
type structure, the only choice is relative references while it is possible
to use either relative or absolute references in the functional or location
structure. See Expressions on page 62.
• Detailed, contains information about relative and resolved absolute references.
– For relative references, the exact definition of the relative path.
Can be a bit complex. The default representation of a relative reference
uses full path and structure qualification.
– For a resolved absolute reference the name is shown (aspect category
Name).
• Object Proxy Name, at the bottom you can add a proxy name (default name:
m_Object) that enables you to change values for objects. This gives you a
representation of the object in the Visual Basic code pane.
The object proxy concept is part of “Aspect Object Automation”.
Note, there are situations when the object proxy is null, for example when there is
a broken reference. Remember to always check this before use!
• Browse button (...), when you click at the browse button a dialog box is shown
where you can choose another object that will replace the old object reference.
3BSE030335-510 47
Populate the Object List Section 2 Graphics Builder
48 3BSE030335-510
Section 2 Graphics Builder Element Browser
Element Browser
The main objective of the Element Browser window is to select and add graphic
elements to a graphic aspect.
The Element Browser does not have full Unicode support and requires the correct
language setting when using Far East languages, see NLS Handling of Far East
Languages in Graphics on page 98.
To select a graphic element and adding it to a graphic, follow the steps below.
1. Open the Element Browser in the Tools menu.
2. Populate the object list, see Populate the Object List on page 47.
3. Select the graphic element you want to add to the graphic aspect.
4. Press the Add Element button.
You can also add elements by dragging them from Plant Explorer into the Graphic
display.
3BSE030335-510 49
Element Browser Section 2 Graphics Builder
When you instantiate a graphic element it is automatically added to the list in the
Toolbox window and remains there even if it is deleted in Plant Explorer. Do not
try to fix a graphic display by creating a new graphic element with the same name
as the one you have deleted. It won’t work. Instead, delete the graphic element
instance from the graphic display, also remove it from the components window.
Then, you create a new graphic element aspect, and let it replace the old (deleted)
graphic element instance in the graphic display.
50 3BSE030335-510
Section 2 Graphics Builder Saving, Deploying and Deleting Graphic Aspects
Deploying
To deploy a graphic aspect, you either click the Deploy button in the toolbar, or
choose Deploy from the File menu. Deploy means the graphic aspects are saved,
distributed and made viewable in the workplace. They are now launched for real
operation. If a graphic aspect is not deployed, it is only visible in the Graphics
Builder.
To deploy graphics, the user should belong to the IndustrialIT group Application
Engineer.
When you deploy a graphic aspect the following message appears in Audit trail:
Graphic aspect deployed: <object name> : <aspect name>
For more information about Audit trail see IndustrialIT 800xA, System,
Administration and Security (3BSE037410*).
In a Multi System Integration environment, the Visual Basic application does not
respond while deploying a graphic aspect. This occurs if there are many files in
the default temporary folder.
Execute the following steps to delete all files from the default temporary folder.
1) Select Run from Start.
2) Type %TEMP% in the Run dialog box and click OK. This opens the default
temporary folder.
3) Select the temporary files to be deleted and press DELETE. This prompts for a
confirmation. Click Yes to delete. Otherwise, click No.
A warning message appears if any other program is currently using the temporary
file selected to be deleted.
3BSE030335-510 51
Saving, Deploying and Deleting Graphic Aspects Section 2 Graphics Builder
Deleting
To delete a graphic aspect, right-click it in Plant Explorer and choose Delete from
the context menu.
52 3BSE030335-510
Section 2 Graphics Builder Properties Window
Properties Window
The Properties window is one of the standard windows in Visual Basic. It shows all
the properties belonging to the currently active ActiveX control. The properties can
either be sorted in alphabetic order (with the Alphabetic tab) or in categories (with
the Categorized tab). The categories are presented as a tree structure. By default, all
categories are expanded. The available categories depend on the categories exposed
by the control.
Open the properties window by choosing Properties Window in the View menu.
Choosing colors and fonts for a graphic element is done through color and font
dialog boxes, which you open by clicking on the down-arrow buttons at the far right
of the Properties window.
A value entered in the Properties window is ignored at runtime if an expression
has been entered for the same property in Expressions Builder.
You can find more details about the Properties window in the Visual Basic’s on-line
help file.
3BSE030335-510 53
Properties Window Section 2 Graphics Builder
54 3BSE030335-510
Section 3 Graphic Aspects
This section describes aspects defined by the Graphics aspect system, commonly
called Graphic Aspects. For each graphic aspect, an ActiveX control is
implemented using Visual Basic. To some extent, the user is assumed to be familiar
terms like UserControl relating to the implementation of ActiveX controls using
Visual Basic.
Graphic aspects are described in this section, Section 6, Configuring Faceplate
Elements and in Section 5, Configuring Property Elements. The separation is
somewhat arbitrary, but this chapter mainly describes mechanism that are common
for all graphic aspects. Section 6, Configuring Faceplate Elements describes
additional mechanisms and methods that are used for elements implemented to
support input operations, typically faceplate and property elements.
Nothing prevents input operations from being performed in any graphic aspect.
That is, Graphics does not require a clear separation between ordinary graphic
displays and faceplates.
3BSE030335-510 55
Creating a New Graphic Aspect Section 3 Graphic Aspects
Graphic elements on the other hand are building blocks that are used when
configuring graphic displays, or other graphic elements, but also faceplates, see
Section 4, Faceplate Framework.
The user reference manual refers to graphic aspect(s) when the distinction between
Graphic Display and Graphic Element aspects is of no importance. Otherwise, it
refers to graphic displays or graphic elements.
56 3BSE030335-510
Section 3 Graphic Aspects Relevance of Structures for Graphic Aspects
5. Enter an aspect name and click Create. The created aspect is added to the
object’s aspect list.
6. Right-click it and choose Edit from the context menu. The Graphics Builder is
launched.
3BSE030335-510 57
Object Aware and Generic Graphic Aspects Section 3 Graphic Aspects
The invocation object is set up differently for graphic displays and for instances of
graphic elements:
• Graphic Element aspects has a property named ObjectPath. This allows object
aware graphic element instances to be parameterized with a reference to an
object. This parameterization takes place automatically when using the
Element Browser, see Element Browser on page 49.
• For graphic displays the invocation object is set up in runtime by the runtime
system.
58 3BSE030335-510
Section 3 Graphic Aspects Built in Graphic Aspect Categories
Table 2. Built in Aspect Categories Used for Object Aware Graphic Aspects
ABB provides libraries of object aware graphic aspects as part of the OCS
Integration packages for various controllers, while others may be built by you, or
purchased from other sources in the form of graphic libraries.
3BSE030335-510 59
Subsets of Elements Section 3 Graphic Aspects
Subsets of Elements
There are a number of terms that are used to define different subsets of elements
used by and produced by Graphics. In some cases these terms are equivalent with
names of aspect categories. This section tries to clarify these terms.
Factors that control if an element belongs to a certain subset are the following:
• Object awareness. Whether the element is object aware or not.
• Implementation. Whether implemented as a graphics aspect using the Graphics
builder or if implemented in any other way
• Usage. Whether the element is used directly by the process operator in the run
time situation or if it is a building block.
60 3BSE030335-510
Section 3 Graphic Aspects Building Blocks Used in Graphic Aspects
Implemented
using
Subset Object aware Usage
Graphics
Builder
Element X X X
Graphic aspect X Yes X
Graphic Display Yes Yes By operator
Graphic Element Yes Yes Building block
Generic graphic aspect No Yes Building block
Generic Element No X Building block
Object aware graphic Yes Yes X
aspect (So far always)
Generic graphic aspects constitutes, as can be seen from Table 4, the subset of the
graphic aspects that are implemented using the Graphic Builder. Other generic
elements are Graphic Primitives, Extended Graphic Primitives, standard Visual
Basic components and third party ActiveX controls.
3BSE030335-510 61
Expressions Section 3 Graphic Aspects
Expressions
Expressions are used in graphic aspects to implement following functions:
• Specify subscriptions to and calculations on data (properties of aspect objects)
to be presented.
• Define the usage of logical colors.
• Implement the effect of input properties, see Input Properties on page 66.
• Definition of NLS text.
Expressions are assigned to properties of elements used in the graphic aspect. The
expression syntax is based on standard Visual Basic. However, additions are made
to facilitate the functions above. Expressions are defined using the Expression
Builder, see Expression Builder on page 34.
Expression variables, can be used to reduce the complexity of individual
expressions and to improve performance by create intermediate results from
calculations that can be reused several times.
Execution of an expression takes place automatically when any input data to the
expression changes. Therefore, execution takes place for the following reasons:
• Initially when the graphic element is presented. The initial execution handles
constant values applied to input properties of the graphic element. As an
example, an NLS text has to be provided using an expression, even if the text as
such, is static. Such a text, thus is assigned during the initial execution.
• When values changes of object properties that are subscribed to.
• Continuously to redraw blinking parts of the graphic aspect. See
Enable/Disable Blinking Colors on page 88 for information on avoiding
unnecessary blink execution.
• When the configuration of the logical color is changed.
62 3BSE030335-510
Section 3 Graphic Aspects Direct References to Aspect Object Properties
For more information about object references, see Object References in Graphic
Aspects on page 70.
For a structured property, <property name> is a sequence of names, separated by
periods. A reference to a property High of a structured property Limits would be:
Limits.High
3BSE030335-510 63
Sub Properties of Object Properties Section 3 Graphic Aspects
Attributes Description
Value The value for the object property is returned.
Initialized False until first data received from OPC.
QualityOk False if data has not been received, or is not good for
any reason.
QualityBad True when it is determined that data really is bad.
QualityBad is false while waiting for first update.
QualityUncertain True when the communication is determined to be
uncertain by OPC
QualityCode Returns the raw quality value received from OPC
TimeStamp Returns the timestamp of the data value typed as Date.
FloatClass Values returned are:
0 - The value is not a floating point value or if it is a non
extreme floating point value
1 - The value is the positive infinity
2 - The value is the negative infinity
3 - The value is not a number (NAN)
For more information, see below.
WriteAccessGranted False when the accessed aspect object property is not
writable by its nature or when the user is not permitted
to write to the aspect object property.
64 3BSE030335-510
Section 3 Graphic Aspects Examples of Expressions
The FloatClass sub property exists to avoid crashes caused by floating point
numbers that are not normal numbers. Therefore float numbers corresponding to
FloatClass <> 0, are replaced with 1.0. The FloatClass property is there to indicate
that such a replacement has been done.
Examples of Expressions
The extensions of Visual Basic expression syntax is that object property references
can be used in an expression at any point where Visual Basic allows a variable to be
used.
The following is an example of a legal expression:
AI.117:Control Connection:VALUE*14.2
This expression means that the VALUE property of object AI.117 multiplied
with 14.2 is assigned the property to which this expression is applied.
The following is an example of an expression that uses nested IIf statements:
3BSE030335-510 65
Input Properties Section 3 Graphic Aspects
Input Properties
By input properties we mean properties of a graphic aspect that can be referenced by
expressions within the graphic aspect. Input properties are defined and referenced
using the Expression Builder, see Expression Builder on page 34.
From the outside of a graphic aspect, an input property is just any other property of
an ActiveX control, in this case the control that implements the graphic aspect. The
concept is used as a method of creating properties and making them accessible from
expressions within the graphic aspect. The term is also used to create a distinction
between these properties and properties of constituent elements, that is, properties to
which expressions are assigned.
An input property is defined to be either static or dynamic. Define a property as
being static when you expect it to only be used for static parameterization of the
graphic aspect. If it is to be used for dynamic values you should define it as
dynamic. The difference between the two is not very important though. Defining a
property as dynamic is a slight time optimization, but it adds a bit more code to the
graphic aspect.
Another way to implement input properties is to use the Add Member tool in
Graphics Builder. In this case, the property is implemented Visual Basic style, but
the developer doesn’t have to write the implementing code, that is all taken care of
by the Add Member tool. The tool isn’t limited to properties only but can also
handle methods, events and NLS text. More information on the Add Member tool
can be found in Appendix D, Adding Members.
66 3BSE030335-510
Section 3 Graphic Aspects ObjectPropertyRef Properties
ObjectPropertyRef Properties
A special kind of input property, see Input Properties on page 66, is the
ObjectPropertyRef property. This property offers the possibility to create property
elements, see Property Elements on page 284.
An ObjectPropertyRef property is defined as an input property, using the Expression
Builder, by selecting the property type ObjectPropertyRef.
The static value assigned to an ObjectPropertyRef property is a reference to an
aspect object property. It is assigned using the properties window in the Graphics
Builder. This reference permits a two way communication with the referenced
property. For information about how to perform a write operation to an aspect object
property referenced by an ObjectPropertyRef property, see How to Write to the
Properties of an Aspect Object on page 142.
ObjectPropertyRef properties can be referenced from expressions within the graphic
aspect. In this case the values of the referenced aspect object properties are retrieved
by the expressions.
The value retrieved by an expression from an ObjectPropertyRef property, can be
overridden by the user of the graphic aspect, by assigning an override expression to
the ObjectPropertyRef property. That is, an expression inside the graphic aspect
retrieves, in this case, not the value of the referenced aspect object property, but the
value provided by the override expression assigned to the ObjectPropertyRef.
ObjectPropertyRef properties are special in this, that they can be assigned both the
static reference value and an override expression and both are valid at the same time.
For more information about this functionality, see Assigning an Override
Expression to the ObjectPropertyRef Property on page 160.
3BSE030335-510 67
ObjectPropertyRef Properties Section 3 Graphic Aspects
Attributes Description
Value The value for the object property is returned.
If the reference value has not been set, the returned value
is vtEmpty.
If an override expression is assigned, see above, the
expression value is returned.
Initialized False until first data received from OPC.
If the reference value has not been set, the returned value
is false.
If an override expression is assigned, see above, the
returned value is true.
QualityOk False if data has not been received, or is not good for any
reason.
If the reference value has not been set, the returned value
is false.
If an override expression is assigned, see above, the
returned value is true.
68 3BSE030335-510
Section 3 Graphic Aspects ObjectPropertyRef Properties
Attributes Description
QualityBad True when it is determined that data really is bad.
QualityBad is false while waiting for first update.
If the reference value has not been set, the returned value
is True.
If an override expression is assigned, see above, the
returned value is False.
QualityUncertain True when the communication is determined to be
uncertain by OPC.
If the reference value has not been set, the returned value
is False.
If an override expression is assigned, see above, the
returned value is False.
QualityCode Returns the raw quality value received from OPC.
If a reference value has not been set or if an overriding
value is dynamically provided, the returned value is 192
(good).
TimeStamp The function returns the timestamp of the data value
typed as Date.
FloatClass Values returned are:
0 - The value is not a floating point value or
if it is a non extreme floating point value
1 - The value the positive infinity
2 - The value is the negative infinity
3 - The value is not a number (NAN)
About FloatClass, see Sub Properties of Object
Properties on page 64.
WriteAccessGranted False when the accessed aspect object property is not
writable by its nature or when the user is not permitted to
write to the aspect object property.
ReferenceSet Returns true if a reference value has been set.
3BSE030335-510 69
Object References in Graphic Aspects Section 3 Graphic Aspects
• Absolute reference
AI.117
• Relative references
.
..
./Level
./Tank/Level
An absolute reference is presented with the name of the referenced object. Behind
the scene, an absolute reference is stored in a more complex way though, see The
Anatomy of Absolute References on page 71.
When manually entering an absolute object reference, for example by typing into
the ObjectPath property of an instance of an object aware graphic element, it is
possible to specify the object by typing an object path like Reactor/Temp.
A relative reference is presented with a period, which denotes the invocation object
for the graphic aspect, optionally followed an object path. For more information
information about relative object references, see Support for Composite Object
Types on page 72.
70 3BSE030335-510
Section 3 Graphic Aspects The Anatomy of Absolute References
3BSE030335-510 71
Support for Composite Object Types Section 3 Graphic Aspects
Automatic resolving using the deploy operation can lead to resolve errors if you
are not careful, e.g. by importing a graphic aspect into a system and deploying it,
references may be resolved to point to any object that happen to be correctly
named
./FormalInstanceName
A Process Control Solution can be programmed as a composite object in the Object
Type Structure. A small example of a composite cbject would be a Dual Pump Set
that contains 2 motors, 2 Valves, discharge pressure and suction pressure. Besides
the control code, a composite object type may contain composite graphic elements.
A composite graphic element is a graphical representation of the process solution
that may contain both static (process lines) and dynamic elements (motor, valve,
pump etc). The composite elements and other graphic elements are used from
graphic displays to visualize a complete part of the process.
72 3BSE030335-510
Section 3 Graphic Aspects Support for Composite Object Types
The standard input handling with respect to composite graphic element can be
broadly classified into two categories.
a. Non delegated Input Handling
In non delegated input handling, the child elements in a composite graphic
element have their EnableInput property set to False. For example, when
using a graphic element from a simple object, like an analog input object,
in a graphic element for a composite object type, like some kind of reactor,
if it is decided to disable the standard input handling for the analog input
object, set the EnableInput to False for the analog input element. On left
clicking the part of the reactor element that is implemented using the
analog input element, the invoked (default) aspect is typically the
faceplate for the reactor object.
b. Delegated Input Handling
A composite graphic element, and all, or some of its child elements can
support standard input handling. This can be done by setting the
EnableInput to True for the child elements that needs to support input
handling.
A composite graphic element can disable its own input handling and
delegate it to child elements that have their EnableInput set to True. To
support this behavior in a composite graphic element, the following
changes have to be implemented.
3BSE030335-510 73
Support for Composite Object Types Section 3 Graphic Aspects
74 3BSE030335-510
Section 3 Graphic Aspects Support for Composite Object Types
IPgIDoNotImplement
MouseInputButMy
ChildrenDo
There is also support for performing write operations to any object within
(instances of) the object type. Writing to an object is enabled by creating a proxy for
it, see Object List on page 46. See also How to Write to the Properties of an Object
In Faceplate Elements on page 167.
For the newly created graphic elements in System Version 4.0 SP1 Ru7a (and later
versions) and System Version 5.0 SP1 (and later versions), remove commenting
from the existing code.
For graphic elements that originate from versions prior to System Version 4.0 SP1
Ru7a and System Version 5.0 SP1, manually add the code. If nested graphic
elements with more than one level exist (that is, a composite graphic element
contains another composite graphic element), manually add the code for all levels of
composite graphic elements.
If a Graphic Element is overlapped by a Composite Graphic Element, the default
aspect of the Graphic Element cannot be opened because of higher stacking order
of the Composite Graphic Element.
3BSE030335-510 75
Standard Input Handling for Graphic Aspects Section 3 Graphic Aspects
76 3BSE030335-510
Section 3 Graphic Aspects Standard Input Handling for Graphic Aspects
If Button = vbLeftButton
If m_sc.CancelInputSession = False Then
m_sc.ShowDefaultAspect
End If
ElseIf Button = vbRightButton Then
m_sc.ShowContextMenu
End If
Else
m_sc.MouseUp Button, Shift
End If
End Sub
3BSE030335-510 77
Click Transparency Section 3 Graphic Aspects
looks at the parent of the generic element. If it is object aware, the aspect object has
been identified. Otherwise the call searches further upwards.
A graphic display does not call up the default aspect when clicked on the
background area of the graphic display aspect.
To enable the calling up of the default aspect, uncomment the following code in
the UserControl_MouseUp event handler, and re-deploy the aspect.
m_sc.ShowDefaultAspect
Click Transparency
The input handling described in Standard Input Handling in Object Aware Graphic
Aspects on page 76, generally requires that generic elements used (e.g. primitive
elements) are click transparent. What is meant by that is that elements clicked at
does not “absorb” the click event. Instead, the generic element is pervious and the
click event is received by the user control that implements the input handling of the
graphic aspect.
Graphic Aspect
(as seen as a
working area in
Graphic Builder)
Generic Element
(have to be click
transparent to not
absorb the click event).
78 3BSE030335-510
Section 3 Graphic Aspects The EnableInput Property
configured graphic aspect. Doing that, makes events generated on top of a graphic
element “tunnel” through non click transparent controls, effectively making them
click transparent.
The PgEventTunnel element is found under the Special tab in Graphics Builder.
Normally you should try to use elements that are click transparent when you
implement a graphic aspect. As the usage of the PgEventTunnel element has a
negative side effect. A disadvantage is that the input function of any control put into
the graphic aspect is disabled.
For information about click transparency and graphic aspects, see Click
Transparency in Graphic Aspects on page 80.
3BSE030335-510 79
Click Transparency in Graphic Aspects Section 3 Graphic Aspects
Windowless BackStyle
property property
Recommended True Transparent
Good False Opaque
Not recommended False Transparent
Not recommended True Opaque
In the recommended case, the HitTest function specifies the click sensitivity of the
graphic aspect.
The following code shows the standard implementation of the HitTest function in a
Graphic aspect:
80 3BSE030335-510
Section 3 Graphic Aspects Object Highlight
Object Highlight
To reduce the risk of operating the wrong object when several faceplates are open at
the same time, the Object Highlight function will indicate all graphic elements on a
graphic display that corresponds to the active faceplate. All corresponding elements
will be surrounded by corner brackets (when using the default configuration) see
Figure 30. The Object Highlight is operator specific and is only visible on the
current workplace.
If a graphic element consists of a group of smaller graphic elements the EnableInput
property for these inner elements should be set to False, otherwise the corner
brackets will be presented for every single element in the group.
If an inner element in a group points to a child object, the EnableInput property
should be True to enable standard input handling for this element, that is, mouse
clicking and object marking and highlight.
3BSE030335-510 81
Object Highlight Section 3 Graphic Aspects
Graphic elements on the same aspect object within faceplate elements on a faceplate
will automatically have no Object Highlight, without setting the EnableInput
property.
Figure 30. Example of an active faceplate and its corresponding graphic objects.
When using hot-keys the Object Highlight also reduces the risk of operating the
wrong object. Hot-keys configured to highlighted objects only operate on the
objects connected to the active faceplate. When the Object Highlight mode has the
default setting 1, Follow faceplate (see Configuration on page 82), it is not required
to move the cursor over an object to apply commands on the object. Make sure that
the object of interest is surrounded by corner brackets (activate the corresponding
faceplate) before pressing any hot keys.
Configuration
The following User Profiles is used when configuring Object Highlight:
• Object Highlight mode has three values for configuration of how to control
what objects to be highlighted (default value = 1).
82 3BSE030335-510
Section 3 Graphic Aspects Auto Configured Trend Displays
Security
Graphic aspects support security. A hard security check is also done by the OPC,
which makes sure that no data is read or written without the required permissions.
3BSE030335-510 83
Security Section 3 Graphic Aspects
Operation Description
Read The user has permission to see the graphic aspect dialogs in Plant
Explorer.
Modify The user has permission to start the Graphics Builder to modify the
aspect and save the changes but not to deploy it.
Deploy The user has permission to deploy the aspect in the Graphics Builder
loading it into the system.
The Edit button will be dimmed if the user is not granted configure permission on
an aspect.
84 3BSE030335-510
Section 3 Graphic Aspects Miscellaneous
Miscellaneous
Setting the Background Color of Graphic Aspects
The background color of graphic displays, graphic elements and primitive elements
can be controlled. For each of these there is a separate mechanism.
Common for the graphic elements and primitive elements that do not posses a
transparent background, is that they may be made to appear transparent by setting
the background to the same color as the surrounding surface, sometimes called
pseudo transparency. There are different mechanisms for graphic elements and
primitive elements to achieve pseudo transparency.
3BSE030335-510 85
Setting the Background Color of Graphic Aspects Section 3 Graphic Aspects
Value of the
GeneralBackColor Resulting color
property
A static value other The background color of the graphic is set to the value of
than -1 the GeneralBackColor property.
The default value of the GeneralBackColor property is -1 is for all aspect categories
other than Faceplate Element.
The default value of the logical color GeneralBackColor is dark green.
Assigning an expression to the GeneralBackColor property is done using the
Expression Builder with the subscription control selected. Selecting the subscription
control is done using the drop down menu of the property window.
86 3BSE030335-510
Section 3 Graphic Aspects Setting the Background Color of Graphic Aspects
Other static value than -1 The background color of the graphic element is set
to the value of the BackgroundColor property
3BSE030335-510 87
Controlling the Update Rate of Data Subscriptions Section 3 Graphic Aspects
The effect of the previous expression is that the color of the bar blinks when the
object is in the alarm state, and shows steady state color NormalColor, when the
object is not.
Note that the expression is executed anytime the color (blink color) changes.
Therefore, blink colors should be used with care as they might cause high CPU load.
88 3BSE030335-510
Section 3 Graphic Aspects Precautions When Importing/Exporting Aspects
The configurator of a graphic element can reduce total CPU load caused by blinking
by adding an expression to the “EnableBlink” property of the
PgSubscriptionControl m_sc. Using the example above, add the following
expression to the EnableBlink property:
.:Control Connection:IsAlarm
Import. You probably want to restore the graphic elements and hence preserve
existing unique identities, i.e you want the graphic display to look the same as it did.
If the graphic element is created with a new unique identity, previous references to
the aspect will not work.
Export. When a graphic aspect is exported, the object the aspect belongs to needs to
exported as well to keep all identities intact. However, this may not be enough
though. The object can in turn belong to a hierarchy of objects, and in this case the
whole structure needs to be available when the graphic aspect is imported. This
means that the entire object structure needs to be exported, though not necessarily in
the same afw file.
When exporting a graphic element to another system, the logical color relies on
the target system having the corresponding color definitions.
3BSE030335-510 89
Precautions When Copying Graphic Aspects Section 3 Graphic Aspects
90 3BSE030335-510
Section 3 Graphic Aspects Bad Data Presentation
GDI objects are available for operator specific activities, that is, the operator may
not be able to perform any activities in the workplace. Do not exceed 5,000 GDI
objects.
Quad displays allow the operators to open several graphic displays. These are used
on single or double monitor client nodes. The quad displays are recommended not
to be used on multi monitor client nodes for graphic displays including several
graphic elements.
3BSE030335-510 91
Display Exchange Time Section 3 Graphic Aspects
Graphic Displays
Graphic Displays are by default defined as having low priority and are distributed on
demand when selected from the workplace. A downloaded aspect is stored in the
cache-directory on the client. It is however possible to change the priority.
Graphic Elements
A Graphic Element is by default defined as having high priority and is distributed to
the client on connection to the server. The priority for Graphic Elements as for
Displays can be altered either to a pre-defined or a custom level.
For more information on FSD, priorities and how to create custom priorities refer to
IndustrialIT 800xA, System, System Installation (3BSE034678*).
92 3BSE030335-510
Section 3 Graphic Aspects The PgSubscriptionControl Object
Method Description
GetInvocationObjectId A method which returns the “AfwObjectID” of the object, which is
presented by the graphic aspect.
GetInvocationObject A method which returns the IAfwObject interface pointer which
represents the “aspect object”, which is presented by the graphic
aspect. Available in object aware graphic aspects only.
Avoid using this function for future compatibility. Use
GetInvokationObject2 instead.
GetInvokationObject2 A method which returns the IABBObject interface pointer which
represents the “aspect object”, which is presented by the graphic
aspect. Available in object aware graphic aspects only.
ReportError This method should be called to report errors that occur during the
execution of Visual Basic code.
ExecuteExpressions Forces execution of all expressions of the graphic aspect.
GetObjectPropertyProxy Returns a proxy, of the ABB property type, for an aspect object
property referenced using an ObjectPropertyRef.
Note, there are situations when the object property proxy is null, for
example when there is a broken reference. Remember to always
check this before use!
StartInputSession Starts an input operation (session).
EnableApplyButton Enables or disables apply depending on the flag parameter.
When calling this method the faceplate elements in the same
faceplate/overlap display receives the DoEnableApplyButton event.
RequestApply Requests apply. E.g. used in the implementation of ApplyButton
property element.
CancelInputSession Requests cancel. E.g. used by the Cancel property element.
TriggerSessionTimeout Should be called on user actions to keep session alive.
3BSE030335-510 93
The PgSubscriptionControl Object Section 3 Graphic Aspects
Method Description
MouseMove Should be called when the mouse is moved to control element
marking.
MouseDown Should be called when a mouse button is pressed. For future
compatibility.
MouseUp Should be called when a mouse button is released. For future
compatibility.
ShowContextMenu Called to invoke the context menu for the object represented by the
graphic aspect.
ShowDefaultAspect Called to invoke the default aspect for the object represented by the
graphic aspect.
ShowAspect Called to invoke a specific aspect for the object represented by the
graphic aspect.
ShowAnyAspect Called to invoke any aspect from any object.
GetContextMenuObject Called to get a pointer to a context menu object allowing the graphic
aspect to add entries to the context menu.
BroadcastSiblingEvent Called to generate the SiblingEvent event, in all sibling elements.
94 3BSE030335-510
Section 3 Graphic Aspects The PgSubscriptionControl Object
Method Description
GetCompositeObjectList Returns an IPgCompositeObjectList object containing the object
identities for the objects in a composite object. This object can then
be used to populate the list in a Composite Object List element.
GetCompositeObjectList has a filter parameter, FilterEnum, which
can have the following values:
• All - all objects in the composite are returned
• WithDefaultAspect - only objects for which there is a default
aspect are returned
• WithFaceplate - only objects for which there is a faceplate aspect
are returned
GetContent GetContent is used to get a hold of the ABBContent object for the
current panel where a Composite Object List element is running.
When hold of the ABBContent is achieved, it is used in the Composite
Object List element to bring up the context menu, when right clicking
an object name. When left clicking an object name in the list the
ABBContent is used to navigate to the default aspect of the object
clicked.
Property Description
EnableBlink By setting EnableBlink to false, expression execution as a result of
blink color changes stops
To reduce CPU load, EnableBlink should be set to false, for an
element that can not blink.
3BSE030335-510 95
The PgSubscriptionControl Object Section 3 Graphic Aspects
Property Description
GeneralBackColor For graphic display, the background color of the graphic display.
For graphic element, the default value of the “BackgroundColor
property, of the graphic element.
UpdateRate Requested update rate for subscriptions on cyclic data. The default
value is 0, which means that the update rate is determined by the
aspect object providing the data. The unit is milliseconds.
Events. The subscription control generates the events described in Table 13.
Function Description
OnSubscriptionChange This event is triggered at the invocation of the graphic aspect. It is
invoked late enough for the invocation object, and other properties of
the element, to have received their values. It is invoked before any
expressions are called
The method is also called after any assignment to the ObjectPath
property, i.e. for elements executing in the Graphics Builder.
The method is used to initialize VB code that has been added.
OnPreDataChange Executes just before expressions are executed
OnPostDataChange Executes after expressions have been executed
DoApply Do apply. This event is triggered as a result of the user performing an
apply operation, see the RequestApply method in The
PgSubscriptionControl Object on page 92.
To receive the event, the graphic aspect must call the method
EnableApplyButton(True) in advance. Otherwise no event is fired.
96 3BSE030335-510
Section 3 Graphic Aspects The IPgCompositeObjectList interface
Function Description
DoCancelInputSession Do cancel. This event is triggered as a result of the user performing a
cancel operation, see the CalcelInputSession in The
PgSubscriptionControl Object on page 92.
To receive the event the graphic aspect must have started a session
by calling the method StartSession().
DoEnableApplyButton Event that is broadcasted to graphic aspects within the same
faceplate /graphic display as a result of a request to enable the apply
button.
OnSiblingEvent Event generated as a result of a sibling element calling the
BroadcastSiblingEvent method, see The PgSubscriptionControl
Object on page 92.
Function Description
NumberOfSubObjects Returns the number of objects recorded in the Composite Object List.
GetSubObjectId Returns the object identity of the object in that index position.
3BSE030335-510 97
NLS Handling of Far East Languages in Graphics Section 3 Graphic Aspects
Resizing Code
When creating a graphic aspect you specify a graphic aspect category. The template
code associated with the specified aspect category is then copied to the new aspect.
The copied template code contains, among other things, the default behavior for
resizing of the graphic aspect. This code exists in UserControl_Resize, where there
is code, which repositions all constituent controls.
The code for resizing can be changed by the user. The following tags must be
removed to avoid the standard resizing code.
a. $$ABB_BEGIN_USERCONTROL_RESIZE before the
UserControl_Resize function.
b. $$ABB_END_USERCONTROL_RESIZE after the UserControl_Resize
function.
Reasons for doing this may be:
• The user wants another resizing behavior than the original behavior.
• Element performance can be improved by handwriting code optimized for the
specific situation.
98 3BSE030335-510
Section 3 Graphic Aspects Resizing Code
• The graphic aspect is to contain controls which are not handled correctly by the
template code, for example lists and tabbed controls. If such controls are used,
each loop must contain tests on the control type to allow each control type to be
handled correctly.
Do not assign Font property for the controls through Visual Basic code if the
standard resize code is used. The size of the fonts is controlled by standard resize
code and the result becomes undetermined if the code tries to affect the font. This
may cause random text sizes to be shown when the graphic is resized.
Change the Font property of the controls only through the Input Properties in the
Expression Builder. For more information on defining and assigning expressions
using the expression builder, see Expression Builder on page 34.
3BSE030335-510 99
Resizing Code Section 3 Graphic Aspects
100 3BSE030335-510
Section 4 Faceplate Framework
The faceplate framework is an aspect system with the intention to provide a uniform
and easy to configure way to create faceplates. The faceplates consists of three
runtime views and are used to monitor and control the process.
Reduced Faceplate View (optional). The contents have typically been optimized
to cover the most frequently used process operator actions.They are small in size to
be able to have several faceplates for different objects visible at the same time.
Faceplate View (mandatory). This view is intended to cover the normal process
operator actions. It is the default view. The faceplate elements used here have a
default size to fit into this view.
3BSE030335-510 101
Section 4 Faceplate Framework
Selecting Different Views. The active faceplate view is indicated at the bottom of
the faceplate where the corresponding View selection button is pressed in. For non-
existing views the corresponding view selection button is dimmed. Simply click on
the View selection buttons to select view.
Examples of the three predefined faceplate views are displayed below.
Note that the normal view is the default size of the template for faceplates.
To adjust the size to reduced or extended see Layout Tab on page 118.
102 3BSE030335-510
Section 4 Faceplate Framework
Figure 33. Reduced Faceplate, Faceplate and Extended Faceplate View Example
3BSE030335-510 103
Faceplate Overview Section 4 Faceplate Framework
Faceplate Overview
From a configurator’s point of view, the faceplate is divided into a number of areas,
each separately configurable.
Read about the contents of the faceplate areas here and you will use the knowledge
later on in Configuring the Faceplate on page 116.
104 3BSE030335-510
Section 4 Faceplate Framework Faceplate Overview
Alarm control
Object Lock
Header Area
Indicators and
Aspect Links Aspect Link
Area
Faceplate Element
Area
Buttons Area
Apply Button
(dimmed in this view)
3BSE030335-510 105
Header Area Section 4 Faceplate Framework
Header Area
Each faceplate contains a Header Area, which consists of the following Faceplate
parts:
• Object lock control (optional)
• Object name (mandatory)
• Object description (mandatory)
• Alarm control (optional)
Table 15 describes the user profile used to control the visibility of the faceplate
header information.
Lock Control
In environments where several operator workplaces can control the same objects the
Object Lock function will give one operator the sole right to operate one or several
106 3BSE030335-510
Section 4 Faceplate Framework Lock Control
objects. The Lock Control button is optional. The faceplate framework just reserves
space for it in the header area.
To configure the Object Lock function, copy an instance of the LockControl aspect
from the Graphics Structure to your object type. For more information about the
LockControl aspect see Lock Control on page 272. The LockControl aspect
interacts with the Lock Server. For configuration and use of the Lock Server, please
refer to the manual IndustrialIT, 800xA, System, Administration and Security
(3BSE037410*).
If Autolock is enabled the object will be locked from the moment the user opens the
faceplate. When the faceplate is closed, the Lock Status will revert to unlocked.
If the Object Lock function is controlled manually, the user will lock an object by
clicking the Object Lock push button, see Figure 36. In some cases the lock required
option may be enabled. Then all buttons and commands will be dimmed until the
user clicks the Object Lock button.
The following strategy is used for backward compatibility with the existing property
LOCK:
1. If there is an instance of the LockControl aspect on the object. The Lock Server
is used to handle object locking.
2. If a property LOCK exist for the object. This property controls the object
locking with or without support from the application.
3. If neither of the above exists object locking is not used.
For performance reasons if no LockControl aspect exists it is possible to avoid
searching for the existence of a property LOCK by unchecking the user profile
UseOfLockProperty. That is, for those not interested in using the object lock
functionality.
To switch between Autolock and manual lock, change the FaceplateAutoLockObject
profile value in the Graphic Profile Values UserProfile.
3BSE030335-510 107
Lock Control Section 4 Faceplate Framework
The graphic element in the graphic display is surrounded by a white frame on all
workplaces, indicating that the object is locked, see Figure 37.
The white frame is supplied by the graphic element. If a new graphic element is
created the support for the white lock frame is included. For existing graphic
elements the white lock frame has to be added manually. A rectangular Shape
control is used with BackStyle=Transparent, BorderWidth=3. The following
properties are assigned via the ExpressionBuilder tool:
BorderColor=FaceplateLockedByMe,
Visible=IIF(EnableInput and (.:Globl Properties Definition:ControlUseLock
and 1) and (.:Globl Properties Definition:ControlLockStatus and 1), true,false)
108 3BSE030335-510
Section 4 Faceplate Framework Lock Control
The Object Lock push button will have different appearance depending on the lock
state, see Table 16 or Table 17 (depending of the type of lock)..
Background
Lock status Button Icon
Color
Unlocked Raised Bluegrey
If the object is locked by another operator no operation is possible until the lock has
been released. The possible ways to release an object lock is first the operator that
owns the lock can manually unlock it, or he can close the faceplate. The object lock
may time out after a default time of four minutes. A privileged user may also break
the object lock via the context menu the Lock Control.
3BSE030335-510 109
Alarm Control Section 4 Faceplate Framework
Alarm Control
The Alarm Control button is optional and indicates the alarm state of the object, and
it enables you to acknowledge the alarms. The alarm control is an aspect of type
graphic element. The faceplate framework just reserves space for it in the header
area of a faceplate and shows it if the object has an aspect by the name
AlarmControl. To simplify the alarm button configuration there is a default
AlarmControl aspect. For more information on the AlarmControl graphic element
refer to AlarmControl on page 270.
Status indicators are typically configured to the left, and aspect links to the right
The maximum number of indicators and aspect links allowed in the status and
navigation bar is controlled by layout settings in the config view of the faceplate.
A default configured faceplate view has space for a total sum of 6 indicators and
aspect links. You can also configure the amount of rows to be displayed in the Status
and navigation bar area. For more info on how to configure this, see Layout Tab on
page 118.
110 3BSE030335-510
Section 4 Faceplate Framework Buttons Area
Each tab in a tab group contains one aspect view. A scrollbar becomes visible when
there is not enough space to show all the tabs in a tabgroup.
The faceplate element area in Figure 39 contains 2 tabgroups ordered horizontally.
In order to see Limits tab, you would have to select it, since Block is currently the
active tab in the right most tabgroup.
Buttons Area
Buttons that control properties of the object can be inserted in the Buttons area.
The number of button positions shown per row depends on the width of the
faceplate view. The default number of button positions per row is six.
If a button is positioned at position 7 it is discarded if there is only one button row,
the default, or positioned first on the second row when there are more than one
button row configured.
3BSE030335-510 111
View Selection Buttons Section 4 Faceplate Framework
You can configure the Apply button to be visible or not. If visible, it is always
positioned to the right (static position). For information on how to configure the
Button area see Buttons Tab on page 127.
A button can have two different action types, direct or applied. Default value is
System Default. See Direct and Applied Action on page 162 for more information.
Pin Button
By default the faceplates are unpinned. The faceplate will not be replaced by
another faceplate if it is pinned. It means that if you have one faceplate on the screen
and wants to open another one, the first one will be exchanged. To make the new
faceplate appear in a new window, you can configure the faceplate to be pinned.
Follow the steps below to pin your faceplates:
1. Expand the Library Structure.
2. Select Default View Class, Faceplate System View Class.
3. Select the default aspect and open the config view.
4. A list appears where you select Pinned.
5. Change the value to Local and in the Boolean value area and enter Yes.
112 3BSE030335-510
Section 4 Faceplate Framework Support for Composite Object Types in Faceplates
With this configuration the faceplates will always be pinned in your Workplace.
It is also possible to set only one faceplate to be pinned. See figure below:
Pin Button
In this case the first faceplate on the screen is pinned. The next faceplate that is
brought up is placed in a second window. If you want a third faceplate to appear on
the screen, the second faceplate has to be pinned as well. Otherwise the second
faceplate will be exchanged by the third.
3BSE030335-510 113
Create a New Faceplate Section 4 Faceplate Framework
2. Add an aspect by right-clicking in the Aspect area and choose New Aspect
from the Context menu. The New Aspect window is presented.
3. Select Faceplate aspect system, Faceplate aspect type, and finally the
Faceplate aspect category in the aspect list.
114 3BSE030335-510
Section 4 Faceplate Framework Create a New Faceplate
4. Preferably, do not change the name of the aspect, since typically it only exists
one faceplate per object type. Click Create. The created aspect is added to the
object’s aspect list.
To make the newly created faceplate aspect to be the default aspect, see the manual
IndustrialIT 800xA, Operations, Operator Workplace Configuration
(3BSE030322*).
3BSE030335-510 115
Configuring the Faceplate Section 4 Faceplate Framework
Note that if the faceplate is Inherited (True), changes can only be made in the
object type.
116 3BSE030335-510
Section 4 Faceplate Framework Configuring the Faceplate
3BSE030335-510 117
Layout Tab Section 4 Faceplate Framework
Layout Tab
In the Layout tab you specify which of the three runtime views should be present
and their geometrical layout. The faceplate view is mandatory. There are check
boxes for including the Reduced and/or Extended faceplate views.
Enable/disable of faceplate views requires restart of Plant Explorer and Operator
Workplace.
118 3BSE030335-510
Section 4 Faceplate Framework Layout Tab
The default size of the faceplate element aspects is designed with the pre-configured
values of the faceplate width and height in mind. If you still want to make changes,
see Appendix C, Create New Aspect Categories with Templates for more
information.
Figure 45 displays the configurable parameters in the Layout tab which affect the
overall layout of the faceplate.
The update rate for subscribed properties for indicators in the Status and Navigators
area and for buttons in the Button area are initially set to 1 second. This value can be
configured with a new value specified in milliseconds. The update rate for a
faceplate element aspect is handled by each individual aspect themselves and is by
default set to 1 second. In other words, changing the update rate within the Layout
tab does not have any affect on the faceplate element aspects used.
3BSE030335-510 119
Header Tab Section 4 Faceplate Framework
Header Tab
In the Header tab (see Figure 46) you can configure override settings for how to
locate the Lock button and the Alarm button. These configuration settings are
performance related and can be used to speed up the call-up time of the faceplate.
From a functional point of view it is no longer required to make copies of the
LockControl and the AlarmControl aspects to the object type if it is okay to use the
standard aspects found in the Graphics Structure, below Graphic Tools -> Special.
120 3BSE030335-510
Section 4 Faceplate Framework Header Tab
If the Lock Service is disabled only a search for legacy lock handling is
performed.
3BSE030335-510 121
Indicators Tab Section 4 Faceplate Framework
Indicators Tab
The Indicators tab allows you to configure which indicators and aspect links to
display in the status and navigation area of the faceplate. You can decide in which
position to display them, depending on the selected view.
Configuring Indicators
Table 18 displays the configurable parameters in the Indicators tab which affect the
Status and Navigation area in the faceplate.
122 3BSE030335-510
Section 4 Faceplate Framework Indicators Tab
Parameter Description
Icons/Labels The list of Icons/Labels used to represent the result of the
object properties subscribed for and specified in the
Expression field as an expression. If the result of the
expression is 0, Icon no. 1 is displayed. If the expression is
1, icon no. 2 is displayed, etc. See Figure 48 for an
example.
Expression A calculation which results in an integer value. The result
must be in the range from 0 to number of Icon/Labels
configured - 1. See Expression Syntax in Faceplates on
page 136 for more information.
Reduced pos Specifies the position of the indicator in the Reduced view
starting at position 1 and counted from left to right with
increasing numbers.
Click in the Icons/Labels field, and a dialog box opens. Add the number of icons or
labels you want to use for each indicator. Each entry in the Labels dialog is
numbered from 0, 1,2 to N-1.
By clicking in the leftmost “grey” column you select an entire indicator row. Now
you can Delete the selected row or change its position up or down with the spin
buttons.
3BSE030335-510 123
Indicators Tab Section 4 Faceplate Framework
The result of the configured expression must be in the same interval as the number
of Icons/Labels. A trick is to add an empty icon/label at the first position to show
nothing as a default value when the result is zero.
Index 0
Index 1
Indicators are preferably positioned to the left in the Status and Navigation area.
Example.
To configure the first icon/label to be shown, if a property LIMIT is below 50, and
the second icon/label to be shown if the value is above 50, set the expression for the
indicator to:
iif($'.:Control Connection:LIMIT' < 50,0,1)
The indicator appears in the following way, if the expression for the indicator is
wrongly set, or the expression or expression value causes an error condition.
124 3BSE030335-510
Section 4 Faceplate Framework Indicators Tab
Parameter Description
Object The object whose aspect should be displayed.
Aspect The aspect to be displayed as an overlap window.
View Selected view for the chosen aspect. If a view is selected,
the link can have no verb
AspectVerb Verbs connected to the aspect. If a verb is selected the link
can have no view.
Icon/Label The label, an icon or the aspect icon to be displayed on the
aspect link.
Label color The text color used if a label is used.
Reduced pos The position within the Reduced view.
See same parameter in Table 18 for more information.
Faceplate pos The position within the faceplate view.
Extended pos The position within the extended view.
FontSize The size of the text.
When clicking the Object field a dialog opens where an object has to be selected.
If the faceplate is configured in the Object Type Structure, only objects in the same
object type can be chosen. In all other structures it is possible to chose any object.
3BSE030335-510 125
Indicators Tab Section 4 Faceplate Framework
Aspect verb is an operation without parameters. The operation is pointed out using
an Aspect Link and is executed when the link icon on the faceplate is pressed.
Aspect verb enables the system configurator to through an Aspect Link, access for
example on-line help. This means that an on-line help page will show up when the
Aspect Link is pressed.
In the picture below the aspect Graphics Element was chosen and has one verb,
Edit.
When pressing the icon for the aspect link in the faceplate defined in the picture
above, the verb Edit will execute. That would be the same as opening the Graphic
Element aspect and pressing the Edit button. See IndustrialIT 800xA, Operations,
Operator Workplace Configuration (3BSE030322*) for more details on using
Global Verbs.
126 3BSE030335-510
Section 4 Faceplate Framework Buttons Tab
Buttons Tab
The Buttons tab allows you to configure a number of buttons for use in the Buttons
area of the faceplate. The behavior of the buttons is specified via the Action column
and is by default set to SystemDefault. See Direct and Applied Action on page 162
Currently only buttons of PushButton type are supported. These buttons have a
static graphical presentation. The button appears as sunken until the mouse button is
released and the same value is written each time the button is pressed.
3BSE030335-510 127
Buttons Tab Section 4 Faceplate Framework
Parameter Description
Object The object whose property should be used.
Icon/Labels The label or icon used as caption.
Property name The object property used to set the value when the button is
pressed.
Property type The datatype of the selected object property (ReadOnly).
Property value The value to be set when pressing the button.
Enabled An expression specifying whether the button is enabled,
dimmed or invisible. No expression means that the button is
always enabled. [0 - dimmed, 1 - enabled, 2 - invisible].
Tooltip text Text describing the button when the mouse is on top of it.
Reduced pos The position within the Reduced view.
See same parameter in Table 18 for more information.
Faceplate pos The position within the faceplate view.
Extended pos The position within the extended view.
Action Sets direct or applied action. See Direct and Applied Action
on page 162. Default value is System Default.
Note that it is possible for buttons to overlap. More than one button can have the
same position. In this case, only one of the overlapping buttons should be visible,
that is only one button can have the expression value 1 or 0. Overlapping buttons
can be used to change the configuration of a faceplate in runtime, showing different
buttons with different configurations for different states.
To inactivate the Apply button for a view uncheck the Apply present check boxes
on the right side of the window.
The Apply button is always located to the right in the button area and can not be
repositioned.
128 3BSE030335-510
Section 4 Faceplate Framework Elements Tab
Elements Tab
The elements tab is used to configure the faceplate element area. Aspects can be put
in directly, or they can be organized in tab groups.
3BSE030335-510 129
Elements Tab Section 4 Faceplate Framework
130 3BSE030335-510
Section 4 Faceplate Framework Elements Tab
3BSE030335-510 131
Elements Tab Section 4 Faceplate Framework
When you click in a cell in the Caption column, a dialog window according to
opens. In this dialog you can enter the Tab name (see Figure 55).
Label checked
Tab text
The last column, User Roles, is used to define which category of users that shall be
allowed to see the tab. It is by default set to EveryOne, see Figure 57.
Only the users in the defined group can see the tab and its content. If the column
line is empty or specifies EveryOne, all users can see the tab.
132 3BSE030335-510
Section 4 Faceplate Framework Elements Tab
Parameter Description
Object The object whose aspect should be placed in the element
area.
Aspect The faceplate element aspect (or other aspect) placed in
the faceplate element area.
View Selected aspect view for the chosen aspect.
Tab group The tab group identity as a string e.g. as a numeric value
0,1,... The group identity is not shown anywhere.
Leave this field empty if you do not want the configured
aspect to be part of a tab group.
Caption The name of the tab.
User Roles Specifies who can see this tab. Default is EveryOne. Empty
field is also EveryOne.
3BSE030335-510 133
On-Line Help Tab Section 4 Faceplate Framework
134 3BSE030335-510
Section 4 Faceplate Framework Internationalization of Faceplates
Internationalization of Faceplates
Label names, tooltip texts and the caption of used tabs in tab groups can be
internationalized.
Check the NLS Text Reference option button when a Labels/Icon dialog is
displayed, and click on the Browse button (see Figure 59).
A new dialog opens (see Figure 60). Select the Resource Manager aspect to be used
which contains a list of identifiers representing the wanted text. Select the wanted
identifier and press the OK button.
Now the same dialog box as before opens (see Figure 56 and Figure 59), but with
the native text included (see Figure 61).
3BSE030335-510 135
Expression Syntax in Faceplates Section 4 Faceplate Framework
Resource id
selected
Corresponding
text in selected
Locale.
When you click on the OK button, the selected text will be changed in the faceplate
tab.
136 3BSE030335-510
Section 4 Faceplate Framework Security
Absolute references to objects can also be used. See the following examples:
$’ObjectReference:aspectName:propertyName’
$’ObjectReference/FormalInstanceName:aspectName:propertyName’
Only object paths where the first object has a unique name can be referenced
using absolute references.
The aspect name in a syntax of an object property reference can be omitted,
although it is not recommended to omit the aspect part because of performance
reasons. In this case every aspect on the invocation object is searched for looking for
the requested property instead of the specified one.
The syntax of expressions used in faceplates differs from the syntax used for graphic
aspects in general (See Expressions on page 62).
Security
Faceplates support security. A hard security check is also done by the OPC, making
sure that no read or write operation is performed without the user having the
required permissions.
Operations
There are two security operations in faceplates, further explained in Table 22. They
are used to control whether the user is allowed or denied to see different views or
configure the aspect.
Operation Description
Read The user has permission to see the main and config views.
Write The user has permission to modify the aspect
3BSE030335-510 137
Operation/Permission Mapping on Faceplate a Aspect Category Section 4 Faceplate Framework
If a user does not have configure permissions it won’t be possible to modify the
faceplate. When the Config view is selected in the context menu by a user with less
permissions, it would for example be possible to see all the values in the Layout tab,
but not to modify them. It is not possible to change any of the values on the
parameters, and all the buttons and choices are dimmed.
When a faceplate is brought up in runtime, the aspect pointed out by the aspect link
is dimmed if the user is not granted read operation on the aspect.
A button is dimmed if the user is not granted modify operation the aspect object
property the button is configured to perform the write operation to.
138 3BSE030335-510
Section 4 Faceplate Framework Operation/Permission Mapping on Faceplate a Aspect Category
3BSE030335-510 139
Operation/Permission Mapping on Faceplate a Aspect Category Section 4 Faceplate Framework
140 3BSE030335-510
Section 5 Configuring Property Elements
3BSE030335-510 141
How to Write to the Properties of an Aspect Object Section 5 Configuring Property Elements
'Declaration
Private WithEvents m_Property As ABBProperty
......
Private Sub SomeSub()
....
' Set up the property proxy
' "ThePropertyRefProperty" is the name of the
' ObjectPropertyRef property
Set m_Property = _
m_sc.GetObjectPropertyProxy("ThePropertyRefProperty")
The ABBProperty object is by default configured for asynchronous write. When the
write is complete the WriteComplete event is received.
142 3BSE030335-510
Section 5 Configuring Property Elements Configuring Direct Entry Windows
Name DEW
PgNumericDEW
PgIntegerDEW
PgStringDEW
PgBoolDEW
PgTimeDEW
PgDateDEW
When a Direct Entry Window for a specific data type is needed, the corresponding
data type specific object is created.
3BSE030335-510 143
Positioning of the Direct Entry Window Section 5 Configuring Property Elements
X
Y
Position the DEW Below a Control. The PositionUnder method is called when
you want to position the DEW below the control. The distance is given between the
lower/left corner of the element and the upper/left corner of the DEW (see Figure 64
below):
144 3BSE030335-510
Section 5 Configuring Property Elements Positioning of the Direct Entry Window
X
Y
Y
X
3BSE030335-510 145
Controlling the Lifetime of the Direct Entry Window Section 5 Configuring Property Elements
146 3BSE030335-510
Section 5 Configuring Property Elements The OnChange Event
3BSE030335-510 147
Stepsize and limits in the PgNumericDew Direct Entry Window Section 5 Configuring Property
Graphic primitives that support auto creation of a Direct Entry Window also support
positioning of the DEW. The AdvantNumeric primitive for example, has the
following properties that controls the position of the Direct Entry Window:
• DisplacementX - controls displacement in the X direction
• DisplacementY - controls displacement in the Y direction
• RightOf - Boolean that control whether the created Direct Entry Window
should be place right of (True) or below the control (False)
Graphic primitives that support auto creation of a Direct Entry Window all have the
EnableInput property. A Direct Entry Window is only created if EnableInput
is set to True.
For the graphic primitives AdvantBar and PgBar, setting EnableInput to true has
an additional effect. The code described above has also to be added. The bars then
shows the transparent “drag handle” to inform the user that input is enabled. When
the user left-clicks in the Bar, the Direct Entry Window is displayed and the drag
handle transforms to a highlighted state.
148 3BSE030335-510
Section 5 Configuring Property Elements Changing Font Size in Direct Entry Windows
sets the max value to 120 and the min. value to -10 and the stepsize to 1.3.
The stepsize can be adjusted by calling the EnableLimits function. The call
sets the stepsize to 1.0 while the previously set limits are maintained. The call
disables the max and min. limits while the stepsize is set to 2.0.
Note that the examples above requires a typed DEW though these methods are
NumericDEW specific. A typed DEW can be retrieved from an untyped one using
the GetTypedDew method.
3BSE030335-510 149
Changing Font Size in Direct Entry Windows Section 5 Configuring Property Elements
5. Click Apply. Plant Explorer Workplace must be shut down and opened again
for the changes to take effect.
6. An example of a Direct Entry Window with font size 18pt is shown in
Figure 67 below.
150 3BSE030335-510
Section 5 Configuring Property Elements Automatically Invoked Direct Entry Windows
Name Description
ActivateCondition This property should be connected to an expression, which
sets it to true when data has been received via data
subscription.
DefaultActivation This property is set to a value, which controls the DEW
activation policy. Values are:
• Deactivated - Automatic DEW activation is not used.
• Activated - Automatic DEW activation is used. The DEW
is invoked the first time that the ActivateCondition
property changes from false to true.
• Reactivated - The DEW is invoked every time that the
ActiveCondition property changes from false to true.
• SystemDefault - The activation policy is controlled by
the DEWActivation user profile value.
3BSE030335-510 151
Visual Basic Error Handling Section 5 Configuring Property Elements
152 3BSE030335-510
Section 5 Configuring Property Elements Starting an Input Session
Some lines have been removed for clarity in the above code.
The call m_sc.StartInputSession starts the input session. The effect is:
• If there is already an input session in progress, it is terminated before the new is
started.
• It directs the m_sc_DoApply event, see below, to the graphic aspect that has
started the input session when the operator performs an apply operation.
The call to m_sc.TriggerSessionTimeout triggers the session time out.
After the time-out period (currently fixed to 30 seconds), the input session is
cancelled. The m_sc.TriggerSessionTimeout should be called repeatedly on
every operator action while the session is in progress, to keep it alive.
3BSE030335-510 153
The DoApply Event Section 5 Configuring Property Elements
154 3BSE030335-510
Section 5 Configuring Property Elements Responding to Data Entry Operations
This callback is received whenever the entered value in the DEW is changed.
The call m_sc.EnableApplyButton Valid enables or disables the apply button,
depending on the Valid flag, that is whether the entered value is correct, see
Validation of Input on page 164.
The call m_sc.TriggerSessionTimeout re-triggers the session time-out.
3BSE030335-510 155
Ending an Input Session When Performing an Apply Operation Section 5 Configuring Property
156 3BSE030335-510
Section 6 Configuring Faceplate Elements
Faceplate Elements are used in Faceplates. Faceplate elements do not only support
presentation of data, but also allow a user to perform operations towards a
supervised and controlled process.
This chapter describes the preferred procedure for configuring Faceplate Elements
which involves the usage of Property Elements. Using Property Elements, the
creation of Faceplate Elements is greatly simplified, as it requires little or no VB-
code to handle input. The property elements encapsulates the implementation of
basic mechanisms such as input session handling and security handling.
It is possible to configure Faceplate Elements without the usage of Property
Elements by using the basic mechanisms described in Section 5, Configuring
Property Elements. If you need to implement Faceplate Elements this way, you
should also read Configuring Faceplate and Property Elements Using Basic
Mechanisms on page 166.
Faceplate Elements should typically be created using the Faceplate Element aspect
category, even if the Faceplate Framework supports showing aspects of any category
as “faceplate elements”. One feature of the Faceplate Element aspect category is
that faceplate elements created from it does not support “invoking the default
aspect” by left clicking it. The reason is that the Faceplate, containing the Faceplate
Element typically is the default aspect.
Property elements used in the design of Faceplates Elements may either be built in,
(provided as part of Graphics), or be implemented by the user by using mechanisms
described in Section 5, Configuring Property Elements. Following sections describe
built in property elements and descriptions of common characteristics of Property
Elements.
3BSE030335-510 157
Built in Property Elements Section 6 Configuring Faceplate Elements
Obsolete item
ApplyButton
CancelButton Indicator
CheckBox OptionButton
InputField PushButton
ToggleButton
Ibar
158 3BSE030335-510
Section 6 Configuring Faceplate Elements Property Reference Properties
Many built in property elements, like the IBar element, support presentation of
process values. The primary sources of data for these element are the object
properties to which references are set up using the ObjectPropertyRef properties.
3BSE030335-510 159
Assigning an Override Expression to the ObjectPropertyRef Property Section 6 Configuring
Assignments Function
Assign a property reference using the Write (input) operations and the
property window presentation function both use the
property reference
Assign an expression using the The presented data is received from the
Expression Builder expression. Only local input is possible,
see section Validation of Input on page
164 and Local Data Entry on page 165.
Assign a property reference using the Write (input) operations use the property
property window and an expression reference but the presented values is
using the expression builder received from the assigned expression
160 3BSE030335-510
Section 6 Configuring Faceplate ElementsSupplying Data Quality Information to Property Elements
It should be noted that the type of the referenced variable need not be Boolean. It
can be any supported data type. Yet, when overriding the reference of the
ObjectPropertyRef, by assigning an expression, this expression should always
provide a Boolean value.
Error Presentation
Property elements, that present data, indicate bad or uncertain data using the
standard presentation for uncertain and bad data, see error presentation in Graphic
Primitives on page 213. That is, an uncertain value is crossed over with a single line.
Replacing the value with “XXX” indicates a bad value.
3BSE030335-510 161
Direct and Applied Action Section 6 Configuring Faceplate Elements
Apply Operation
An operator can perform an apply operation in several ways:
• By clicking the apply button in the faceplate.
• By clicking on an instance of the property element ApplyButton in a graphic
aspect.
• When the operator presses the Enter key on the keyboard.
In addition, it is possible to create a “custom implementation” of the apply operation
by calling m_sc.RequestApply in an element based on any event.
162 3BSE030335-510
Section 6 Configuring Faceplate Elements Cancel Operation
Cancel Operation
An operator can perform a Cancel operation in several ways:
• By pressing the Esc key on the keyboard
• By waiting until the input session times out (30 seconds)
• By clicking on an instance of the Cancel property element.
• By clicking on the background of a graphic aspect when an input session is in
progress.
• By changing to another tab in a faceplate when an input session is in progress.
An input operation is started when the user clicks at the property element and it
lasts until the write operation to the process is completed, or it is cancelled.
For property elements that use a Direct Entry Window (DEW), the requirement is
not a problem. The user sees the entered value in the DEW until the input operation
is completed.
For ToggleButton and PushButton (with property IndicateValue set to true) it is
indicated that an operation is in progress by dimming the button. For example, when
clicking at either button, the button immediately changes state to indicate the
desired value, but the button is dimmed until the input operation is completed. The
dimming thus indicates to the user that the value indicated by the position of the
button is not the current value of the process.
The CheckBox and OptionButton elements, does not indicate that an operation is in
progress. When an input operation is not in progress, either element reflects the state
of the process. When the user clicks at an element, it immediately changes to reflect
the desired value of the process.
3BSE030335-510 163
Input Operations Independent of Subscribed Data Section 6 Configuring Faceplate Elements
If you think the distinction between current and entered values is important, you
should not use CheckBox and OptionButton elements (and neither PushButton
and ToggleButton elements).
Use other constructions, where there is a separation between the presented value
and the entered value.
Users that do not find it acceptable that input operations are affected by subscribed
data should use other constructions.
Validation of Input
Direct Entry Windows (DEW) and Property Elements check operator entered
values. This is to verify that those values are formally correct. The Apply button is
dimmed until the operator-entered value is valid.
Property elements also allow hosting elements (elements instantiating them) to
perform additional validation, in case applied action is used. Whenever the entered
changed, e.g. by typing in a DEW, the OnChange event is sent to the hosting
element:
Public Event OnChange (ByRef value As Variant, ByRef valid As
Boolean)
The valid flag reflects if the entered value is formally valid The hosting element
can in addition determine that the entered value is not valid. The client then sets the
valid flag to false. The effect is that the apply button is not enabled.
164 3BSE030335-510
Section 6 Configuring Faceplate Elements Local Data Entry
Note that, in spite of the event’s name, the event is sent also when direct action is
used, just before the write operation is to be performed.
By setting the cancel parameter to true in response to the OnApply event, the client
element can inhibit the write operation.
3BSE030335-510 165
Option (Radio) Button Behavior Section 6 Configuring Faceplate Elements
166 3BSE030335-510
Section 6 Configuring Faceplate Elements How to Write to the Properties of an Object In Faceplate
Type an
Object Proxy
name here
In the Object Proxy Name input field, at the bottom of the dialog box, you add a
proxy name (e.g. m_Object). This gives you a representation of the object in the
Visual Basic code pane.
The declaration looks like:
3BSE030335-510 167
How to Write to the Properties of an Object In Faceplate Elements Section 6 Configuring Faceplate
End Sub
168 3BSE030335-510
Section 7 Maintenance
Graphic Graphic
Display Elements Subelements
A Typical Graphic
Structure are:
The graphic subelements
are included in a graphic
element. These are
then included in the graphic
display.
3BSE030335-510 169
The Display Tool Section 7 Maintenance
This means that, if you change the information in the Graphic aspect which is
also a part of another Graphic aspect (see Figure 71), you have to deploy not only
the changed subelement, but also all items containing info from it.
To help you find graphic aspects that got their information (source code) changed
but which have not been deployed, you can use the Display Tool. With the help of
the Display Tool it is easy for you to see which graphic aspects that have to be
deployed.
The following prerequisites exists for running the Display Tool.
• A running default system.
• A defined default Workplace for the actual user. The default workplace is
defined in the Workplace Profile Values aspect for each user in the
User Structure.
The Display Tool does not have full Unicode support and requires the correct
language setting when using Far East languages, see NLS Handling of Far East
Languages in Graphics on page 98.
You start the Display Tool from the Start menu, ABB Industrial IT >
800xA System > Display Tool. A window according to Figure 72 opens. From the
File menu, select Set System/Environment. A new dialog will appear where you
choose the system and the environment to work in.
In a table all items with changed but not deployed source code are shown.
170 3BSE030335-510
Section 7 Maintenance The Display Tool
Description of the Display Tools Interface. In the Display Tool (see Figure 72)
you find a display area with four columns:
• AspectName
In this column you find the name of the graphic aspect
• ObjectName
In this column you find the path to the Aspect Object, which contain the
graphic aspect
3BSE030335-510 171
The Display Tool Section 7 Maintenance
• Newer Source
– If Yes
The deployed version is older than the source file. Deploy!
– If No
The deployed version and the source file are the same.
• Newer Dependencies
– If Yes
The graphic aspect contains an instance of another graphic aspect. For this
instance there is a newer version. Deploy!
– If No
The graphic aspect is from the same time or older than the graphic aspect
you have accessed.
• Deploy Needed
– Yes: If either Newer Source or Newer Dependencies (or both) is/are Yes
– Yes, modification not allowed: If either Newer Source or Newer
Dependencies (or both) is/are Yes, but when modification is not allowed.
– No: If both Newer Source and Newer Dependencies are No.
The area in the upper left corner contains options to select one of the structures, all
structures or libraries in the system that have to be searched. By default No
Selection is chosen.
If All Libraries Without System Extensions option is selected, it displays all the
libraries that are not a part of the system extensions.
If All Libraries With System Extensions option is selected, it displays all the
libraries in the system including the system extension libraries.
If Search in all Structures option is selected, the aspects belonging to all the
structures are displayed.
If there are two system extensions in the system, for example, Process Portal A and
AC 800M, the selection will contain Process Portal A Libraries and AC 800M
Libraries. Select any one to display the libraries belonging to the specific system
extension.
172 3BSE030335-510
Section 7 Maintenance The Display Tool
If no libraries are selected, by default all the libraries are searched. After the
required selections are made, the Populate button is pressed to begin the search of
the aspects.
In the upper part of the interface there are some radio buttons:
• If you select Deploy Required only graphic aspects that have to be deployed
are shown.
• If you select All, every graphic aspect are shown in the list.
• If you select Autoresolve, the program will try to solve object references
automatically.
• If you select Deploy, the aspects will be deployed.
• If you select Check Unsolved Properties, all object references will be checked
for unsolved references. No deploy.
How to deploy with the help of the display tool. When you have a list selected,
you can easy deploy all or just a selection of the presented graphic aspects. If you
want to deploy:
• All presented graphic aspects
Just click on the Deploy All in List button
• Just a selection of the presented items
Select the items you want to deploy and click on the Deploy Selected button.
The deploy function takes same time per graphic aspect, so, if you are in a hurry,
only deploy the items needed for the moment.
When you perform a deploy operation with the Display Tool the following
message appears in Audit trail:
Display Tool session started
Graphic aspect deployed: <object name> : <aspect name>
Display Tool session terminated
For more information about Audit trail see IndustrialIT 800xA, System,
Administration and Security (3BSE037410*).
3BSE030335-510 173
Diagnostics Window Section 7 Maintenance
Diagnostics Window
The Diagnostics Window shows background information about graphic displays,
elements and faceplates. To display the Diagnostic Window open the context menu
of a graphic display or element and choose Diagnostics, see Figure 73. If you are
not an application engineer the Diagnostics option in the context menu will not be
visible by default. In that case you have to press the Alt+Shift keys at the same time
as you click the left mouse button to view the Diagnostics option.
The information presented in the Diagnostics Window depends on where you click,
when invoking the window. If you click on the background of the display, then
Diagnostics Window shows information about the entire display. If you click at a
graphic element, then Diagnostics Window shows information regarding the
element clicked at.
The Diagnostic Window has three tabs:
• General Tab
• OpcData Tab
• Error Messages Tab
174 3BSE030335-510
Section 7 Maintenance Diagnostics Window
Diagnostics Window shows a snapshot of data acquired when invoking it. On two
tabs, there are refresh buttons which triggers fetching of fresh information.
General Tab. The General tab has four areas, see Figure 74.
The content in the General tab and the Error message tab show data for all elements
in the graphic display. The OpcData tab only contains information regarding one
specific element. If the Diagnostics Window is opened when the cursor is pointing
at an element, the OpcData tab will show data for that element. If the cursor is
pointing at the background when the Diagnostics Window is opened the OpcData
tab will show a list of all used element, and you have to choose one of them to see
data for that element.
3BSE030335-510 175
Diagnostics Window Section 7 Maintenance
Parameter Description
Total number of items The number of object properties subscribed for (via
OPC).
Number of failed items Shows the number of items for which a subscription
could not be set up. This figure corresponds to all items
presented, on the Opcdata tab, which have a HRESULT
that is not OK.
The value should be 0 unless it contains references to
OPC items that have been deleted or renamed. If the
value is not 0, performance is considerably affected.
Number of bad items Shows the number of items for which a bad OPC status
(no value known) has been received (the status is OPC
server dependent). This figure corresponds to all items
presented, on the OpcData tab, which have a "B" in the
quality field.
Number of uncertain Shows the number of items with uncertain quality, i.e.
items for which a value exists which may be too old. This
figure corresponds to all items presented, on the
OpcData tab, which have a "U" in the quality field.
Non received items Shows the number of items for which the subscription
was set up properly but for which no data has been
received. This figure corresponds to all items presented,
on the OpcData tab, which have "NI" in the quality field.
Number of good items Shows the number of items, which has received data
with a good quality. This figure corresponds to all items
presented, on the OpcData tab, which have a "G" in the
quality field.
176 3BSE030335-510
Section 7 Maintenance Diagnostics Window
Parameter Description
Number of VB Shows the number of errors in the Visual Basic code. If the
Errors value is greater than 0, click on the Error messages tab for
information. See Diagnostics Window on page 181.
Number of Shows the number of errors in the expressions. If the value
expression is greater than 0, click on the Error messages tab for
information. See Diagnostics Window on page 181.
Parameter Description
GDI objects Shows the number of Graphics Device Interface (GDI)
objects active in the current workplace the present time.
There is a maximum of 10 000 GDI objects per process.
User objects Shows the number of User objects (windows, menus,
cursors, semaphores etc.) active in the current workplace
the present time. There is a maximum of 10 000 User
objects per process.
The Timing summary area presents timing information for the entire graphic
aspect. The time required to call up the graphic aspect may be divided in three main
parts:
• Creation. If the CoCreateinstance parameter is large it is the amount of
controls and graphic aspects used and their complexity that causes the long call
up time. Consider also to make use of windowless controls, that is, controls or
graphic aspects with the properties BackStyle=Transparent and
Windowless=True.
3BSE030335-510 177
Diagnostics Window Section 7 Maintenance
Parameter Description
Get File Set Shows the time required to check and fetch the latest
version of the display and the graphic elements.
Create SubsMan Shows the time required to create the subscription
manager.
Load Subscription Shows the time required to set up the subscription for
the display.
CoCreateInstance Shows the time required for creating all objects of which
the display consists.
InplaceActivation Shows the time to inplaceactivate the display.
178 3BSE030335-510
Section 7 Maintenance Diagnostics Window
Parameter Description
RuntimeInit The first time a display is called up, this time may be
much longer than at subsequent call-ups as the Init time
then includes setting up the subscription.
EndCreate (excl. Shows the time required to create the display excluding
Paint) the actual drawing on the screen.
Paint start Not used
First data received Shows the time from call-up to the first item data has
been received.
Latest data Shows the time required from call-up to the latest item
received data has been received.
All data received Shows the time required from call-up until data for all
items has been received.
The Object list at the top of the tab, contains a list of referenced objects (not
elements). The item table, below the list, shows all items, of the object selected in
the list, which are referenced in the graphic aspect for which the Diagnostics
Window was invoked.
3BSE030335-510 179
Diagnostics Window Section 7 Maintenance
The list shows the names of referenced objects. If there is any problem with the
subscription for a certain object, then the name is prefixed with a "*". With "any
problem is, in this case, meant that either did the subscription not succeed
(HRESULT == OK) for all items or that some of the items have a quality which is
not good (G).
Pressing the Refresh button updates the information presented on the OpcData tab.
The Item table contains information listed in Table 30.
Field Description
Property Name The name of the referenced property.
Aspect The name of the aspect which defines the referenced
property.
Data Type Shows the type of the data that has been received. I.e. it
does not show the canonical data type of the item, but
the received data type.
Value Value
Quality The Opc Quality. Presents the main categorization of the
quality and the numerical value of quality word. Main
categorization values are:
• G - Good
• U - Uncertain
• B - Bad
• NI - "Not initialised". Data has not been received
from the OPC handler
Time Stamp The time of the day associated with the value of the item.
HRESULT Returns the result of setting up the subscription for each
item. The presented value is either OK or Error followed
by the numerical value of the HRESULT.
180 3BSE030335-510
Section 7 Maintenance Diagnostics Window
Field Description
Access Shows if the property, "to its static nature" is
• R - readable
• W - writable
• RW - readable and writable.
Quality Info Shows the quality information, which is taken from the
Opc Quality. The following are the values shown here.
• Property not writable
• Operation not permitted
• Not lock owner
• System in frozen simulation mode
Error Messages Tab. The Error Messages tab shows errors for the element selected
in the Error elements list, see Figure 76. The Error elements list only shows
elements in which errors have been reported.
3BSE030335-510 181
Diagnostics Window Section 7 Maintenance
The fields in the Expression Error List are presented in Table 31.
Field Description
Property Shows the name of the property to which the "failing"
expression is connected as <Control name>:<Property
name>. Expressions connected to expression variables
are identified by the name of the expression variable.
Description The problem, as identified by Visual Basic, i.e. the
Description field shows the value of Err.Description at
the time of the problem.
Event Event. The name of the "event" which triggered the
execution of the expression (probably not so interesting).
The VB Error List shows information about errors that has occurred in Visual
Basic code, provided that error reporting is implemented in Visual Basic code.
If errors are reported according to the standard described in Visual Basic Error
Handling on page 152, i.e. the error message has been generated with a statement
like the following:
Call ReportError("<NameOfSub>", Err.source, _
Err.Description, "", 0)
then the VB Error List contains information according to Table 32.
Field Description
Description The problem, as identified by Visual Basic, i.e. the
Description field shows the value of Err.Description at
the time of the problem. This field, more precisely, shows
the value of the 3d parameter in the call to ReportError.
Method The name of the Sub in which the error occurred.
Or more precisely, this field shows the value of the first
parameter in the call to ReportError.
182 3BSE030335-510
Section 7 Maintenance Frequently Asked Questions (FAQ)
3BSE030335-510 183
Limit of 256 Element Instances in VB Section 7 Maintenance
184 3BSE030335-510
Section 7 Maintenance “Out of Memory” in Graphics Builder
the Name field in VB Properties window. The “Do you wish to create a control
array” dialog box is displayed once. Click Yes to confirm. Now all buttons will
count as one, they will work properly due to the fact that they have their own
indexes.
3BSE030335-510 185
“Run Time Error 13” in Graphics Builder Section 7 Maintenance
Depending on how many graphic aspects you want to view at the same time, it is
recommended to not use more than 2000 GDI objects in one graphic aspect.
186 3BSE030335-510
Section 7 Maintenance Problems with Resizing of Graphic Aspects
4. Click Advanced.
5. For Windows XP / Windows 2003, the following appears.
3BSE030335-510 187
Problems with Resizing of Graphic Aspects Section 7 Maintenance
6. Select the required setting from the DPI Setting drop down list.
7. Click OK.
8. Click Apply and then OK, to apply the settings to the system.
188 3BSE030335-510
Section 8 Tutorial
In this chapter you find some tutorials and information about how to build, test,
save, deploy and use graphic elements and faceplates. The tutorials consists of the
following sections:
3BSE030335-510 189
Tutorial 1 - Building a Graphic Display Section 8 Tutorial
190 3BSE030335-510
Section 8 Tutorial How to Build a Graphic Display
3BSE030335-510 191
Adding Graphic Elements to the Graphic Display Section 8 Tutorial
Select Properties window in the View menu if not already open. Change
BottomRightEnd, TopLeftEnd, and Orientation in order to get the
desired look.
7. Add two arrows to show direction of the flow between the tanks.
Select the Extended Primitives tab and use the AdvantArrow tool.
Place the arrows on the pipe.
192 3BSE030335-510
Section 8 Tutorial Using Logical Colors
3. Repeat the steps, which you just did, but place LI330 on the Lower tank
instead. Press OK.
4. Add the ValveUni object, MV103, to the Element Browser. Select the graphic
element Display Element Reduced Icon in the right list, press Add Element
and place it on the pipe.
So far we have the valve and the tanks with their level indicators.
3BSE030335-510 193
Using Logical Colors Section 8 Tutorial
194 3BSE030335-510
Section 8 Tutorial Tutorial 2 - Creating a Graphic Display without an Existing Application
3BSE030335-510 195
Tutorial 2 - Creating a Graphic Display without an Existing Application Section 8 Tutorial
Follow the steps below to add the Display Element Reduced Icon for the object
MB301 (see Figure 85) using an object type graphic element.
1. Use the Element Browser in Graphic Builder. Select Tools > Element
Browser.
2. Click Browse and browse the Object Type Structure to the right library and
select the object type MotorBi. Click OK.
196 3BSE030335-510
Section 8 Tutorial Tutorial 2 - Creating a Graphic Display without an Existing Application
3. The Element Browser now looks like in Figure 86. Select the graphic element
Display Element Reduced Icon, and click Add Element. Drag the icon to the
right position in the graphic display.
4. Write the name MP301 in the Object Path property in Properties Window.
3BSE030335-510 197
Tutorial 2 - Creating a Graphic Display without an Existing Application Section 8 Tutorial
8. Repeat the steps, for all the objects you want to add to the display.
After the application is created, all graphic elements and displays containing
unresolved references must be deployed to obtain the connection with the object
variables and dynamic data.
198 3BSE030335-510
Section 8 Tutorial Tutorial 3 - Building a Graphic Element
3BSE030335-510 199
Creating a Graphic Element Section 8 Tutorial
200 3BSE030335-510
Section 8 Tutorial Building a Graphic Element
3BSE030335-510 201
Changing Properties for the Generic Element Section 8 Tutorial
202 3BSE030335-510
Section 8 Tutorial Assigning Expressions to Properties
3. Select FillColor property to assign an expression. Move the cursor to the right
column “the expression entry field”.
4. Type “iif(“
3BSE030335-510 203
Deploying a Graphic Element Section 8 Tutorial
204 3BSE030335-510
Section 8 Tutorial Tutorial 4 - Creating and Configuring Faceplates
Indicator
Aspect link
Bar
Command button
Push buttons
Creating a Faceplate Element. Add a new Faceplate Element aspect to the same
object type as in tutorial 3, by right-click on the object and then select New Aspect.
1. Go to Process Graphics, select Graphic Element, then Faceplate Element.
2. Name the Faceplate Element. “Faceplate Element1” and press Create.
3. Click on edit and the Graphics Builder is launched. The grey area represents
the Faceplate Element.
3BSE030335-510 205
Tutorial 4 - Creating and Configuring Faceplates Section 8 Tutorial
206 3BSE030335-510
Section 8 Tutorial Tutorial 4 - Creating and Configuring Faceplates
We have now created a Faceplate Element which contains a bar and an input field.
3BSE030335-510 207
Tutorial 4 - Creating and Configuring Faceplates Section 8 Tutorial
6. Select Element tab, click in the Aspect field. Select Faceplate Element1 in the
drop down list. Click Apply.
208 3BSE030335-510
Section 8 Tutorial Tutorial 4 - Creating and Configuring Faceplates
8. Click Ok.
9. Click on the Expression field, a new window Expressions show up and then
type iif($’./AI1_12:Function Block:ParError’,1,0). Click Ok.
10. Click on the Faceplate Pos field, enter “1” and press Apply.
3BSE030335-510 209
Tutorial 4 - Creating and Configuring Faceplates Section 8 Tutorial
210 3BSE030335-510
Section 8 Tutorial Tutorial 4 - Creating and Configuring Faceplates
3BSE030335-510 211
Tutorial 4 - Creating and Configuring Faceplates Section 8 Tutorial
212 3BSE030335-510
Appendix A Standard Building Blocks
Graphic Primitives
This section describes primitive elements found on the graphic primitives tab in the
toolbox of Graphics Builder In the first section, common properties are listed, and
subsequent sections each describe a separate graphic primitive.
Common Properties
NAME DESCRIPTION
AdvantArc Draws an arc inside a bounding rectangle.
AdvantBar Bar graph.
AdvantBezier Draws a Beziér line (curved line) between an
array of points.
AdvantChord Draws a chord inside a bounding rectangle.
AdvantCone Draws a cone inside a bounding rectangle.
AdvantEllipse Draws an ellipse inside a bounding rectangle.
AdvantHscale Horizontal placed scale.
AdvantLimit Limit indicator.
AdvantNumeric Text box with numeric formatting.
AdvantObjectTrim Trim element for max four traces.
AdvantPie Draws a pie slice inside a bounding rectangle.
3BSE030335-510 213
Common Properties Appendix A Standard Building Blocks
NAME DESCRIPTION
AdvantPipe Draws a pipe inside a bounding rectangle.
AdvantPolygon Draws a filled polygon bounded by an array of
points.
AdvantPolyline Draws a polyline between an array of points.
AdvantRectangle Draws a rectangle between a top-left and a
bottom-right point. The rectangle can appear with
rounded corners.
AdvantText Text box.
AdvantVscale Vertical placed scale.
PgBar Bar graph with limits and error presentation.
PgErrorIndic Used as overlay to other elements. Displays the
error state.
The following section presents a list of properties common for all graphic primitives
in Table 33.
ErrorPresentation
The ErrorPresentation is used in the PgBar element, AdvantNumeric element,
PgErrorIndicator and in the AdvantObjectTrim.
214 3BSE030335-510
Appendix A Standard Building Blocks Common Properties
3BSE030335-510 215
Common Properties Appendix A Standard Building Blocks
For the OpcStatus property, the values presented, (0-3) refer to bit field consisting
of bits 6 and 7 of the property. The primitive, that presents the error, masks out
the bit field and makes the comparison with it.
Possible value for the OpcStatusProperty, thus, are 0 - BAD, 64 - UNCERTAIN, 128
- NOTRECEIVED and 192 - GOOD. The default value of OpcStatus, as presented
in the properties window, is 192.
Presentation
OpcStatus[6,7] AppError
0:GOOD 1:UNCERTAIN 2:BAD
0: BAD
64: UNCERTAIN
192: GOOD
The status “NOT RECEIVED” means that the primitive that implements the error
presentation, does not draw at all.
216 3BSE030335-510
Appendix A Standard Building Blocks Common Properties
Tool Tip. The Tool TipText property contains a text string shown as a Tool tip
whenever the mouse pointer is held over a Graphic Primitive. This property
however, is only valid for a primitive that has an EnableInput property and it is set to
True. If the EnableInput property is set to False, the primitive is considered click-
transparent and no Tool tip is shown.
Visibility. You can show or hide a Graphic Primitive dynamically by setting the
value for Visibility in Expression Builder to TRUE or FALSE.
Line Properties. All lines drawn in the primitive elements are controlled by the
Line Width, Line Color and Line Style.
Line Styles. The LineStyle property specifies the style of the line.
1 DASH
2 DOT
3 DASHDOT
3BSE030335-510 217
Common Properties Appendix A Standard Building Blocks
5 TRANSPARENT
Solid lines can be any width. Any other style uses a line width of 1 no matter of
the value in LineWidth.
Smooth Property. Smooth is defined in the range 0 to 100. When Smooth is set >
0, the function includes as many (visible) points as specified, between the original
points. Then the bezier algorithm shapes each straight line into an arc instead.
Smooth applies to the primitive AdvantPolygon and AdvantPolyline.
The angles can be changed either by holding down the left mouse button while
dragging the handles (the cursor changes to AllsizeArrow when moved by a handle)
or by entering the desired values in the StartAngle and StopAngle properties.
218 3BSE030335-510
Appendix A Standard Building Blocks Common Properties
To Move a Point. You can change the look of the above defined primitives by
moving one or more of its point(s). See Figure 101 below.
New Point
3BSE030335-510 219
Common Properties Appendix A Standard Building Blocks
Fill Properties. Many primitive elements are area filled. The filling is controlled by
FillColor, FillStyle and FillColor2. The FillStyle2 is effective when one of the
hatched or shading patterns is used. The FillStyle property specifies how the area fill
would appear.
220 3BSE030335-510
Appendix A Standard Building Blocks Common Properties
Fill Styles. The FillStyle property specifies how the area fill would appear.
1 TRANSPARENT
2 BDIAGONAL
3 CROSS
4 DRAGCROSS
5 FDIAGONAL
3BSE030335-510 221
Common Properties Appendix A Standard Building Blocks
7 VERTICAL
9 HORIZONTAL
SHADE
222 3BSE030335-510
Appendix A Standard Building Blocks Common Properties
11 HORIZONTAL
3DSHADE
3D Frame Properties. All rectangle shaped primitive elements have the ability to
show a 3D frame around the element. The 3D frame is controlled by FrameWidth,
FrameColor, FrameColor2 and 3D-Effect.
3BSE030335-510 223
Event Declarations Appendix A Standard Building Blocks
RAISED SUNKEN
Event Declarations
Following controls generate events when clicked:
• AdvantBar
• PgBar
• AdvantLimit (only valid for AdvantBar)
• AdvantNumeric
• AdvantText
• AdvantVscale
• AdvantHscale
These elements each have at least the following properties, that controls the
generation of events:
224 3BSE030335-510
Appendix A Standard Building Blocks Event Declarations
3BSE030335-510 225
Event Declarations Appendix A Standard Building Blocks
Following events are generated when clicking at controls that are click sensitive:
226 3BSE030335-510
Appendix A Standard Building Blocks AdvantArc
The client controls the lifetime of the DEW. The DEW lives as long as the client
element maintains a reference to is. In a VB program it may look the following way:
AdvantArc
An AdvantArc is a simple primitive element displaying a part of an ellipse.
3BSE030335-510 227
PgBar Appendix A Standard Building Blocks
After creation the bounding rectangle can be manipulated to change size and
position of the Arc.
PgBar
A Graphic Primitive with the ability to draw a bar-graph symbol with two hatched
limit areas or 8 limit markers (depending on the Style property).
The PGBar includes ErrorPresentation.
The bar is able to respond on mouse click. If part of the bar has been clicked, a
DEW is shown. Through this DEW, the values of the bar can be changed.
Layout
Style = EightLimits
The bar is displayed with max 8 limits. All limits with values inside the range of the
bar are shown.
228 3BSE030335-510
Appendix A Standard Building Blocks PgBar
Style = TwoLimits
The bar is displayed with max 2 limits, which is determined by Limit1 and Limit2.
Limit1 is high limit and Limit2 is low limit.
Limits with values inside the range of the bar are shown. The limits are shown as
two hatched areas.
Limit1
Limit2
Limit3
Limit1
Limit4
Value
Limit5 Value
Limit6
Limit2
Limit7
Limit8
In the EightLimits case, the limits can be made invisible by setting corresponding
LimitStyleN property to INVISIBLE. Limits are also made invisible by setting the
limit value out of range.
BarLimit
The bar limits are used in the PgBar, and control the appearance and the behavior of
the limit. The properties are:
3BSE030335-510 229
PgBar Appendix A Standard Building Blocks
Filled Notfilled
LeftSideSymmetric
LeftSideLeft
LeftSideRight
RightSideSymmetric
RightSideRight
RightSideLeft
Invisible
230 3BSE030335-510
Appendix A Standard Building Blocks PgBar
3BSE030335-510 231
PgBar Appendix A Standard Building Blocks
FrameWidth2
232 3BSE030335-510
Appendix A Standard Building Blocks PgBar
Input handling
Input of values can be initialized by clicking at different target areas of the Bar
primitive. If the EnableInput property is set to TRUE, input related to the Value
property can be initialized. Setting EnableInputLimits to True, enables input
associated with the limits. Target areas for Value and for Limits are shown below.
Clicking at a target area, fires the events described in Event Declarations on page
224. The target parameter of each event has the following coding:
Target Value
Value 0
Limit 1 1
Limit 2 2
...
Limit 8 8
3BSE030335-510 233
PgBar Appendix A Standard Building Blocks
If the AutoDew property is set to True, clicking at either target area brings up a
DEW that is initialized with the value of the property related to the target area. The
initial value of the DEW is taken from corresponding property.
The value of the DEW can be changed using a dragging operation, in addition to
changing the value using the provisions of the DEW.
A drag handle is shown to indicate that input for the value is enabled, i.e. that
EnableInput is set to True. When a value operation has been started, the drag handle
is filled to indicate this. The drag handle is moved, to indicate the new value before
it is entered, also in the case that the new value has been entered using the DEW.
Also for limits, there is a “drag handle” visible in while an input operation is in
progress.
ErrorPresentation
The PgBar element supports error presentation See ErrorPresentation on page 214.
The following shows error presentation specifically for this bar.
UNCERTAIN
ErrorUncertainColor
BAD
ErrorFramecolor
ErrorFillColor
ErrorBackground
ErrorColor
234 3BSE030335-510
Appendix A Standard Building Blocks AdvantBezier
AdvantBezier
A Bezier is like a polyline where the connecting lines are formed using the bezier
algorithm instead of straight lines.
Each point of a bezier curve is controlled by the point itself and two “gravity”
points, which control the shape of the curve. The endpoints have only one “gravity”
point.
After creation the bounding rectangle can be manipulated to change size and
position of the Bezier. See Point List on page 219 for manipulating single points.
Gravity points are moved in the same way as other points.
3BSE030335-510 235
AdvantChord Appendix A Standard Building Blocks
NAME DESCRIPTION
AddPoint(x,y,x1,y1,x2,y2) Adds one point with the given
coordinates and gravity points.
DeleteAllPoints() Deletes all points of the curve.
AdvantChord
An AdvantChord is a closed figure bounded by the intersection of an ellipse and a
line segment.
After creation, the bounding rectangle can be manipulated to change size and
position of the Chord.
236 3BSE030335-510
Appendix A Standard Building Blocks AdvantChord
3BSE030335-510 237
AdvantCone Appendix A Standard Building Blocks
AdvantCone
The AdvantCone primitive draws a cone consisting of four vertices connected by
straight lines.
The cone can be any color, any line width, many different line styles and solid area
fill, hatched area fill or shaded area fill.
After creation the bounding rectangle can be manipulated to change size and
position of the AdvantCone.
238 3BSE030335-510
Appendix A Standard Building Blocks AdvantEllipse
AdvantEllipse
An AdvantEllipse Primitive is an ellipse with a frame and an area fill.
3BSE030335-510 239
AdvantHscale Appendix A Standard Building Blocks
After creation the bounding rectangle can be manipulated to change size and
position of the Ellipse.
AdvantHscale
An Hscale is a primitive with the ability to show a horizontal scale. The scale can
contain labels as well as minor and major tics. The background of the scale is
transparent.
0.0 100.0
240 3BSE030335-510
Appendix A Standard Building Blocks AdvantHscale
After creation the bounding rectangle can be manipulated to change size and
position of the scale.
3BSE030335-510 241
AdvantHscale Appendix A Standard Building Blocks
LabelStyle = CENTRIC
0,0 5000000,0 10000000,0
LabelPosition = DOWN
LabelStyle = CENTRIC
0,0 5000000,0 10000000,0
LabelPosition = UP
LabelStyle = ALIGNED
0,0 10000000,0 LabelPosition = DOWN
LabelStyle = ALIGNED
0,0 10000000,0
LabelPosition = UP
242 3BSE030335-510
Appendix A Standard Building Blocks AdvantLimit (only valid for AdvantBar)
UP
DOWN
LEFT
RIGHT
3BSE030335-510 243
AdvantLimit (only valid for AdvantBar) Appendix A Standard Building Blocks
After creation the bounding rectangle can be manipulated to change size and
position of the Limit.
244 3BSE030335-510
Appendix A Standard Building Blocks AdvantNumeric
AdvantNumeric
An AdvantNumeric has the ability to show a number as formatted text.
#,###
#,###0.0
kr #,###0.0
Strike Through
If the formatted text extends outside the width of the available draw area, the font is
changed to a strike through font. This is to prevent any misunderstanding caused by
a message not being displayed in its full length.
Different from earlier editions is that the font is not changed to strike through if a
text’s height is greater than the height of the text box in the AdvantNumeric control,
but only when it exceeds in length.
The strike through font can be disabled using the StrikeThrough property
(Table 56).
3BSE030335-510 245
AdvantNumeric Appendix A Standard Building Blocks
246 3BSE030335-510
Appendix A Standard Building Blocks AdvantNumeric
3BSE030335-510 247
AdvantNumeric Appendix A Standard Building Blocks
* DisplacementY
Numeric
*DisplacementY DisplacementX
248 3BSE030335-510
Appendix A Standard Building Blocks AdvantObjectTrim
AdvantObjectTrim
A graphic primitive with the ability to show up to four trim curves. The trim curve
shows the most current 120 samples of the input, the CurveNValue property. The
sample time is determined by the sample time (TotalTime/240).
Error Presentation
The ObjectTrim can show error presentation for each curve. If the input for a curve
is in error, an error indicator is showed at the left side of the pane.
The trim curve is drawn in the color set in the CurveNColor property.
The background of the trim area is determined by the Fill properties.
After creation the bounding rectangle can be manipulated to change size and
position of the ObjectTrim.
3BSE030335-510 249
AdvantObjectTrim Appendix A Standard Building Blocks
250 3BSE030335-510
Appendix A Standard Building Blocks PgErrorIndic
PgErrorIndic
The ErrorIndicator Primitive can be used as overlay for other Primitives to show
some error status. It is windowless and can therefore be laid over other primitives
that are windowless.
Is used as overlay to other elements and displays the error state.
When the error state is “GOOD” the primitive is not visible at all.
3BSE030335-510 251
AdvantPie Appendix A Standard Building Blocks
AdvantPie
The AdvantPie draws a pie slice a closed figure bounded by the intersection of an
ellipse and line segments towards the center of the ellipse.
After creation the bounding rectangle can be manipulated to change size and
position of the element.
252 3BSE030335-510
Appendix A Standard Building Blocks AdvantPipe
AdvantPipe
The AdvantPipe draws a pipe with area fill.
TopLeftEnd TopLeftEnd
Right Left
BottomRightEnd BottomRightEnd
Left Right
The pipe can be any color, any line width, a number of different line styles, solid
area fill, hatched area fill and shaded area fill. The pipe can be cut 45 degrees in one
or both ends. Pipe elements can also be combined.
After creation the bounding rectangle can be manipulated to change size and
position of the Pipe.
3BSE030335-510 253
AdvantPipe Appendix A Standard Building Blocks
254 3BSE030335-510
Appendix A Standard Building Blocks AdvantPolygon
AdvantPolygon
A Polygon is a closed figure bounded by a line through a number of points.
After creation the bounding rectangle can be manipulated to change size and
position of the Polygon. See Presentation on page 219 for manipulation of single
points.
3BSE030335-510 255
AdvantPolyline Appendix A Standard Building Blocks
NAME DESCRIPTION
AddPoint(x,y) Adds one point with the given
coordinates.
DeleteAllPoints() Deletes all points of the curve.
AdvantPolyline
An AdvantPolyline draws a line between a number of points.
256 3BSE030335-510
Appendix A Standard Building Blocks AdvantPolyline
After creation the bounding rectangle can be manipulated to change size and
position of the Polyline. See Point List on page 219 for manipulating single points.
NAME DESCRIPTION
AddPoint(x,y,x1,y1,x2,y2) Adds one point with the given coordinates and
gravity points.
DeleteAllPoints() Deletes all points of the curve.
3BSE030335-510 257
AdvantRectangle Appendix A Standard Building Blocks
AdvantRectangle
An AdvantRectangle can draw a rectangle with a frame and an area fill.
The frame can be any color, any line width, a number of different line styles, solid
area fill, hatched area fill and shaded area fill. The corners of the rectangle can be
sharp (90 degrees) or rounded.
After creation the bounding rectangle can be manipulated to change size and
position of the element.
258 3BSE030335-510
Appendix A Standard Building Blocks AdvantBar
AdvantBar
An AdvantBar has the ability to show a vertically or a horizontally placed bargraph
symbol.
3BSE030335-510 259
AdvantBar Appendix A Standard Building Blocks
After creation the bounding rectangle can be manipulated to change size and
position of the Bar.
260 3BSE030335-510
Appendix A Standard Building Blocks AdvantText
AdvantText
A primitive with the ability to show text.
The Tool tip is used in a special way in the primitive element AdvantText. If the text
extends the available draw area, the font will be changed to a strike through font and
the tool tip presented will be the full text. If the text STRING can be drawn in the
draw area, the Comment is usually presented as a tool tip.
Use the StrikeThrough property to disable the strike through function with
caution to avoid misunderstandings if the text is not entirely visible. For more
information see Strike Through on page 245
Note that the tool tip for a graphic item does not work when the item is click
transparent.
3BSE030335-510 261
AdvantText Appendix A Standard Building Blocks
After creation the bounding rectangle can be manipulated to change size and
position of the element.
262 3BSE030335-510
Appendix A Standard Building Blocks AdvantVscale
AdvantVscale
An AdvantVscale has the ability to show a vertically placed scale. The scale
contains labels as well as minor and major tics.
100.0
0.0
After creation the bounding rectangle can be manipulated to change size and
position of the element.
3BSE030335-510 263
AdvantVscale Appendix A Standard Building Blocks
264 3BSE030335-510
Appendix A Standard Building Blocks AdvantVscale
LabelStyle = Aligned
LabelStyle = Centric LabelPosition = Right
LabelPosition = Left
10000000,0
10000000,0
5000000,0
0,0
0,0
LabelStyle = Aligned
LabelStyle = Centric LabelPosition = Left
LabelPosition = Right
10000000,0
10000000,0
5000000,0
0,0
0,0
3BSE030335-510 265
Special Elements Appendix A Standard Building Blocks
Special Elements
Aspect Link
The Aspect Link can be placed in a graphic display and used to open another aspect.
Note that it will always open an overlap from the preview area in the plant explorer,
since the plant explorer does not allow replace.
The Aspect Link is based on a standard Visual Basic CommandButton.
To link the AspectLink component to the desired aspect, click on the aspect
property in the Properties window in the Graphics Builder (Figure 130).
This will open a dialog that allows browsing for any aspect in the system
(Figure 131). The aspect selected in the dialog will be linked the AspectLink object
and opened every time the button is pressed.
266 3BSE030335-510
Appendix A Standard Building Blocks Aspect Link
The "aspect" property can be modified in runtime from Visual Basic code. This can
be used to change the target aspect dynamically.
Valid syntax of the "aspect" property is:
ObjectReference:AspectName
{objectid}:{aspectid}
where ObjectReference is either an absolute or relative reference.
3BSE030335-510 267
PgEventTunnel Appendix A Standard Building Blocks
The table contains custom made properties, plus a few of the most useful properties
for a standard command button.
PgEventTunnel
There are situations when you click within a graphic element or display when you
may not see the context menu (right-click), or may not be able to bring up the
default aspect (left-click), or see any object marking around a graphic element.
The reason is that it is not possible to “click through” some of the controls used in
the graphic element. Examples: Standard Visual Basic and 3rd party ActiveX
controls. Primitive elements described in Graphic Primitives on page 213 do not
have this problem.
If you are obliged to use other elements than the Graphic Primitives, the methods
described below are useful.
268 3BSE030335-510
Appendix A Standard Building Blocks PgEventTunnel
Recommended methods:
• Use click transparent element because mouse events are automatically passed
to its container object, for example Primitives supplied by ABB. This is the
preferred way, no further actions are necessary.
• ActiveX controls that are not click transparent usually are equipped with mouse
action events. This requires that events be handled in Visual Basic code. You
have to add code to, for instance, the mouse events, see example below.
• Event Tunnel control is needed.
Event Tunnel Control
To solve the problem you can place Event Tunnel controls, to cover, and in turn
enable mouse-clicks to tunnel through to the standard input handling. The point is to
be able to tunnel the click through the labels.
The presences of an EventTunnel control marks the whole graphic aspect to capture
and response on all Mouse Events to the container object - the graphic element or
display.
Visual Basic Code. For some controls that have suitable events, Visual Basic code
can solve the problem.
Sometimes controls that ought to be transparent for mouse-event can be altered to
be transparent via Visual Basic code. Tunnel control is a “last alternative solution”.
Example: Code in Visual Basic when standard Label control is used.
....
Label1_MouseMove(...)
m_sc.MouseMove Me, Button, Shift
End Sub
Label1.Click(..)
If Button=VBLeftButton Then
m_sc.ShowDefaultAspect Me
Else If
m_sc.ShowContextMenu Me
End If
End Sub
3BSE030335-510 269
AlarmControl Appendix A Standard Building Blocks
AlarmControl
The AlarmControl is a template object used to indicate the aspect object’s alarm
state, and allows alarm acknowledgement. All alarm icons are built up by a triangle
and a digit, see Table 70. The digit shows the priority level of the alarm, where the
number one represents the most urgent alarm. The number of priority levels is
configured by the system engineer.
For configuration of Alarm Control see the manuals IndustrialIT 800xA, System,
Configuration (3BDS011222*) and IndustrialIT 800xA, System, Administration
and Security (3BSE037410*).
The color setting will follow the Alarm priority color. The edge color of the triangle
is the same as the priority color. Every operator in a system will see the same color
settings for the alarms. For example an alarm icon with priority number one may
have a red edge and a second degree alarm may have an orange edge and so on.
Sometimes it is needed to make the alarm even more visible, for example when
signaling an unacknowledged alarm, and for those situations a blinking icon can be
configured.
Table 70 shows the most common alarm indicators.
Icon Description
Alarm is active and acknowledged.
270 3BSE030335-510
Appendix A Standard Building Blocks AlarmControl
Icon Description
Alarm disabled by a user.
Hidden Alarm.
A white rectangle covering an alarm symbol,
shows that there are hidden alarms for the
object.
Shelved Alarm.
A white circle appearing to the right of the
alarm symbol shows that there are shelved
alarms for the object.
The AlarmControl is different from all the other graphic primitives in the way that it
is not instantiated by dragging it onto a form using the Graphics Builder. Instead
3BSE030335-510 271
Lock Control Appendix A Standard Building Blocks
you have to make a copy of the AlarmControl aspect from the ObjectType Structure
of the connectivity used. If no connectivity is used, make a copy of the
AlarmControl aspect from the Graphic Structure using Plant Explorer.
For further information on the usage of an AlarmControl and faceplate
configuration, refer to Section 4, Faceplate Framework.
Lock Control
Lock Control is a template object used to indicate lock status. It will be copied to the
object type structure when it is used. In environments where several operator
workstations can control the same objects the Object lock function will give one
user the sole right to operate an object. If Autolock is enabled the object will be
locked from the moment the user opens the faceplate. When the Faceplate is closed,
the Lock Status will revert to Unlocked. If the Object Lock function is controlled
manually, the user will lock an object by clicking the Object Lock push button, see
Figure 132. In some cases the lock required option may be enabled. Then all buttons
and commands will be dimmed until the user clicks the Object Lock button.
To make sure you are using the latest kind of Object Lock, check if there is a Lock
Control aspect on the object. The Lock Control aspects communicates with the
Lock Server.
For more information about Lock Control, see Lock Control on page 106.
AspectViewCtl
The AspectViewCtl element is intended to be used as a host to any aspect you might
want to display in a graphical view. This could for an example be an alarm list
(Figure 133).
272 3BSE030335-510
Appendix A Standard Building Blocks TrendViewCtl
The link to the hosted aspect is set up using the Aspect property. If the property is
clicked upon in the Properties window in the Graphics Builder a dialog is shown
allowing you to choose the aspect to be hosted in the control.
TrendViewCtl
The TrendViewCtl element is used for showing a mini-view of a trend display in a
graphic aspect.
The link to the hosted trend display is set up using the Aspect property. When the
property is clicked upon in the Properties window in the Graphics Builder a dialog
showing trend displays is shown allowing you to choose the trend display to be
hosted in the control.
3BSE030335-510 273
Size Display Appendix A Standard Building Blocks
The trend area with grid but without axes appears on the screen. When clicking on
the TrendViewCtl the trend display is shown in a new window, see Figure 134.
Size Display
To achieve the best performance it is important that the graphics displayed have the
right size. If the graphics to be displayed do not fit into the container area without
resizing, recalculation is needed which will take extra time. To minimize this
problem, setup the width and height of the graphic aspects so that resizing is
unnecessary. The Size Display is provided to assist in finding out the actual size of
274 3BSE030335-510
Appendix A Standard Building Blocks Size Display
any display area used. With the information supplied (see Figure 135) it is possible
to create customer specific aspect categories or give instructions for those building
graphic aspects in a way that the graphic aspects builds fits into the Base area or a
Fixed display area of the Operator Workplace.
3BSE030335-510 275
Composite Object List Appendix A Standard Building Blocks
If you left-click an object in the list, the default aspect for that object will pop up in
a new window. There is only one pop up window, and that window will display the
default aspect associated with the latest object that was left clicked.
276 3BSE030335-510
Appendix A Standard Building Blocks Resource Tools
When right-clicking an object in the list the objects context menu will show up,
see Figure 137.
Resource Tools
The Resource Tools shows the number of active GDI objects and USER objects.
With this tool it is possible to insert a visual indicator, to warn the user when the
level of GDI and USER objects has reached threshold value. For example when the
threshold value for the GDI objects is exceeded its background will change color.
The threshold values and the indicator background color are possible to configure.
The default threshold values are 9000 GDI objects and 9000 USER objects.
The default indicator background color is yellow. See the example below, where the
threshold value for the GDI objects is set to 360, but default for the USER objects.
3BSE030335-510 277
ABB Subelements Appendix A Standard Building Blocks
ABB Subelements
These are basic subelements developed by ABB. They are building blocks in
Graphics Builder. You can find the subelements provided by ABB in the toolbox.
Bar
278 3BSE030335-510
Appendix A Standard Building Blocks Bar
A Bar has the ability to show a bar with two hatched limit areas or four limit
markers.
After creation the bounding rectangle can be manipulated to change size and
position of the Bar.
3BSE030335-510 279
Bar Appendix A Standard Building Blocks
280 3BSE030335-510
Appendix A Standard Building Blocks Bar
Events Description
OnMouseDown The mouse is clicked.
3BSE030335-510 281
Bar Appendix A Standard Building Blocks
Bar Styles
The subelement Bar can have two hatched limit areas or four limit markers.
HighLimit2
HighLimit1
?
Value
LowLimit1
LowLimit2
FourLimits
The height of the limits is 1/11 of the subelement height. The height of the bar area
(bar without frame) is 10/11 of the element height. The vertical edges of the bar area
is placed on the center of the limit headers. The FrameWidth cannot exceed 1/2 of
the width of a limit header.
TwoLimits
The bar is resized to fit the subelement. The limits are sized to fit the bar area. The
lower edge of the upper limit area is determined by HighLimit1. The upper edge of
the lower limit area is determined by LowLimit1.
The properties below are set to the given value in accordance with the chosen Style.
282 3BSE030335-510
Appendix A Standard Building Blocks Bar
3BSE030335-510 283
Property Elements Appendix A Standard Building Blocks
Property Elements
Property elements greatly simplify the process of implementing faceplate elements.
It is no longer a necessity to write VB code to implement input functions, although
still possible.
Property elements have more functionality than basic subelements, they are also
developed by ABB. They facilitate presentation of process values, and can handle
input operations to process variables and work as building blocks in Graphics
Builder.
Property elements are located at the SubElements object in the Graphics structure
of Plant Explorer. You find them in the Toolbox under Subelements. Open the
Graphic Libraries window in the Tools menu to populate the toolbox.
The Following elements are described:
• Indicator
• Push Button
• Toggle Button
• IBar
284 3BSE030335-510
Appendix A Standard Building Blocks Property Elements
• Input Field
• CheckBox
• Option Button
• Apply Button
• Cancel Button
CancelButton
CheckBox ApplyButton
IBar InputField
Indicator
OptionButton
ToggleButton
PushButton
3BSE030335-510 285
Indicator Appendix A Standard Building Blocks
Indicator
The indicator element implements an On-Off presentation by means of a filled or an
unfilled rectangle.
Clicking at the element, in case input is enabled and in case the user is authorized to
change the value, brings up a DEW with a set and a reset button. The element
indicates that input is enabled by raising the indicator. The Indicator element is
windowless and transparent.
The properties for Indicator are listed in Table 76.
286 3BSE030335-510
Appendix A Standard Building Blocks Indicator
3BSE030335-510 287
Indicator Appendix A Standard Building Blocks
288 3BSE030335-510
Appendix A Standard Building Blocks Push Button
Push Button
Functions of the Push button property element are:
• It allows write operations to be performed towards an object property.
• It can be used to perform Increase/Decrease operations towards the property.
• It can indicate the state of the property by staying in its sunken position. In this
case, it can be used to implement an option button behavior.
The data type of the property written to, can theoretically be any type that can be
handled by a Variant. Variable types that seem reasonable are Boolean, Integer, Real
and String. To support increase/decrease of the number of operations, the type of the
property must be numeric.
The push button element is windowless and transparent.
3BSE030335-510 289
Push Button Appendix A Standard Building Blocks
290 3BSE030335-510
Appendix A Standard Building Blocks Toggle Button
Events.
• Public Event OnChange (ByVal value As Variant, ByRef valid As Boolean)
• Public Event OnApply (ByVal value As Variant, ByRef valid As Boolean)
More information on events used by property elements is found in Section 6,
Configuring Faceplate Elements.
Toggle Button
The Toggle button element implements an On-Off presentation by being presented
in a raised or in a sunken state. At the same time, it allows the user to toggle a
process state, i.e. when the button is pressed from its raised position, a set operation
is performed. And conversely, when the button is clicked at in its sunken position, a
reset operation is performed.
Note: The operation performed on the object depends on the state of the button,
which, in turn, depends on subscribed data. Thus, if subscribed data are wrong, then
the operation performed, may be the opposite of the operators intention. If this is a
concern, select a solution, in which the operation does not depend on subscribed
data, e.g. use two buttons or use the indicator element.
3BSE030335-510 291
Toggle Button Appendix A Standard Building Blocks
If EnableInput is set to false, the text of the Toggle button is dimmed to indicate it
does not respond to click operations. It is also dimmed if WriteAccessGranted.
292 3BSE030335-510
Appendix A Standard Building Blocks Toggle Button
3BSE030335-510 293
Toggle Button Appendix A Standard Building Blocks
Events.
• Public Event OnChange (ByVal value As Variant, ByRef valid As Boolean)
• Public Event OnApply (ByVal value As Variant, ByRef valid As Boolean)
More information on events used by property elements is found in Section 6,
Configuring Faceplate Elements.
294 3BSE030335-510
Appendix A Standard Building Blocks IBar
IBar
The IBar element presents a numeric value in a bar format.
It also presents limit values. Limits are presented either in the limit marker or the
hatched limit area formats. Up to eight limits can be presented in the limit marker
format. Two limits can be shown in the hatched limit area format.
3BSE030335-510 295
IBar Appendix A Standard Building Blocks
296 3BSE030335-510
Appendix A Standard Building Blocks IBar
3BSE030335-510 297
IBar Appendix A Standard Building Blocks
Events.
• Public Event OnChange (ByVal value As Variant, ByRef valid As Boolean)
• Public Event OnApply (ByVal value As Variant, ByRef valid As Boolean)
• Public Event OnStartSession(ByVal Target As Integer, ByRef Cancel As
Boolean)
The OnStartSession event can be used to disable input for individual limits,
rather than disabling all limits by setting the EnableInput limits property to
false. The target parameter specifies which limit the user clicks at (1=limit1,
2=limit2 ...). By setting the cancel parameter to false, no input operation is
started.
298 3BSE030335-510
Appendix A Standard Building Blocks Input Field
Input Field
This element is used to show and change the value of an object property, where the
object property can be of a number of data types. See property DataType for a list of
available types. If input is enabled, the user can click at the element to bring up a
direct entry window that is suitable for the selected data type.
Formatting rules is found in Direct Entry Windows on page 309.
3BSE030335-510 299
Input Field Appendix A Standard Building Blocks
300 3BSE030335-510
Appendix A Standard Building Blocks Input Field
3BSE030335-510 301
Input Field Appendix A Standard Building Blocks
302 3BSE030335-510
Appendix A Standard Building Blocks CheckBox
Events.
• Public Event OnChange (ByVal value As Variant, ByRef valid As Boolean)
• Public Event OnApply (ByVal value As Variant, ByRef valid As Boolean)
More information on events used by property elements is found in Section 6,
Configuring Faceplate Elements.
CheckBox
The CheckBox element visually looks like the built in VB check box. It is similar to
the ToggleButton element, i.e. it implements an On-Off presentation by being
presented in a checked or unchecked state. At the same time, it allows the user to
toggle a process state, i.e. when the CheckBox is clicked at in its unchecked state, a
set operation is performed. And conversely, when the CheckBox is clicked at in its
checked state a reset operation is performed.
The operation performed on the object depends on the state of the CheckBox,
which, in turn, depends on subscribed data. Thus, if subscribed data is wrong,
then the operation performed, may be the opposite of the operators intention. If
this is a concern, select a solution, in which the operation does not depend on
subscribed data, e.g. use two buttons or use the indicator element.
The grayed state that exists in the VB check box is not, at this point, defined for
the CheckBox element.
The CheckBox element does not have full Unicode support and requires the
correct language setting when using Far East languages, see NLS Handling of Far
East Languages in Graphics on page 98.
3BSE030335-510 303
CheckBox Appendix A Standard Building Blocks
The CheckBox element is not windowless and transparent, tool tip does not show.
304 3BSE030335-510
Appendix A Standard Building Blocks CheckBox
If ResetProperty has a
value and the
corresponding
WriteAccessGranted
sub property is not
true, then the check
box does not react to
click operations.
The property can be
overridden by an
expression set via the
Expression Builder or
via VB code.
ResetValue Variant False The value used in the
reset operation.
3BSE030335-510 305
CheckBox Appendix A Standard Building Blocks
Events.
• Public Event OnChange (ByVal value As Variant, ByRef valid As Boolean)
• Public Event OnApply (ByVal value As Variant, ByRef valid As Boolean)
More information on events used by property elements is found in Section 6,
Configuring Faceplate Elements.
306 3BSE030335-510
Appendix A Standard Building Blocks Option Button
Option Button
The Option button element is similar to the built in VB option button. When you
click on an Option button in a group, it is checked, and all others in the group are
unchecked.
The Option button element does not have full Unicode support and requires the
correct language setting when using Far East languages, see NLS Handling of Far
East Languages in Graphics on page 98.
The Option button element is not windowless and transparent, tooltip does not
show.
3BSE030335-510 307
Option Button Appendix A Standard Building Blocks
When an input
operation is not in
progress, the option
button is checked if
value of the object
property referenced by
PropertyRef is equal to
Value.
Events.
• Public Event OnChange (ByVal value As Variant, ByRef valid As Boolean)
• Public Event OnApply (ByVal value As Variant, ByRef valid As Boolean)
More information on events used by property elements is found in Section 6,
Configuring Faceplate Elements.
308 3BSE030335-510
Appendix A Standard Building Blocks Apply Button
Apply Button
Clicking the Apply button applies the entered value and is equivalent to pressing the
Enter key.
The Apply button is dimmed when there is no valid value to enter.
Cancel Button
Clicking the Cancel button cancels the input session.
3BSE030335-510 309
PgDEW Appendix A Standard Building Blocks
PgDEW
The PgDEW object is used by faceplate elements or other graphic aspects to control
the lifetime of a Direct Entry Window. The PgDEW also allows data independent
retrieval of data from the DEW.
Method Description
Function GetTypedDew() As Object Returns a pointer to the typed DEW
attached to the non-typed DEW.
Function GetValue() As Variant Returns the DEW’s current value.
Sub PlaceAtPosition(ByVal container As Positions the dialog relative to a containers
Object, ByVal posX As Long, ByVal posY window. PosX and posY are coordinates
As Long) relative to the containers upper left corner.
Sub PositionRightOf(ByVal primitive As Positions the dialog to the right of the
Object, ByVal displacementX As Long, control primitive.
ByVal displacementY As Long) DisplacementX/Y – The distance in pixels
between upper-right corner of the control
and the upper-left corner of the DEW
dialog.
Sub PositionUnder(ByVal primitive As Positions the dialog under the control.
Object, ByVal displacementX As Long, DisplacementX/Y – The distance in pixels
ByVal displacementY As Long, ByVal between lower-left corner of the control and
adaptWidth As Boolean) the upper-left corner of the DEW dialog.
AdaptWidth – Has no effect.
Sub SetValue(ByVal Value As Variant) Sets the value to be shown in DEW.
Sub Show(ByVal Show As Boolean) Shows DEW dialog. Prior to calling this
method, one of the three positioning
methods above must be called.
310 3BSE030335-510
Appendix A Standard Building Blocks PgNumericDEW
Events.
• Event OnChange (Value, Valid as Boolean)
Value Change
• Event OnHandsOff ()
Release DEW
PgNumericDEW
Object capable of displaying a dialog where the user can enter a float value.
Method Description
Function GetDEW() As IPgDEW Returns a PgDew object.
Function GetValue() As Single Returns the DEW’s current value.
Sub EnableLimits(ByVal EnableLimits As Enables/disables limit checking of the input
Boolean, ByVal NormalStep As Single) value and sets the step size used in the
increase/decrease operations. By default,
limit checking is turned on and the normal
step size is set to 1.
Sub PlaceAtPosition(ByVal container As Positions the dialog relative to a containers
Object, ByVal posX As Long, ByVal posY window. PosX and posY are coordinates
As Long) relative to the containers upper left corner.
Sub PositionRightOf(ByVal primitive As Positions the dialog to the right of the
Object, ByVal displacementX As Long, control primitive.
ByVal displacementY As Long) DisplacementX/Y – The distance in pixels
between upper-right corner of the control
and the upper-left corner of the DEW
dialog.
3BSE030335-510 311
PgIntegerDEW Appendix A Standard Building Blocks
Method Description
Sub SetMinMax(ByVal MinValue As Single, Sets the min. and max value boundaries.
ByVal MaxValue As Single) The step size is also set to 1/100 times the
span between min. and max.
If this method not has been called, the
default min. and max values are 0 and 100
and the step size is 1.
Sub SetNumberOfDecimals(ByVal Sets the number of decimals to be
NoOfDecimals As Long) displayed.
Sub SetValue(ByVal Value As Single) Sets the value to be shown in DEW. This
value is NOT limited.
Sub Show(ByVal Show As Boolean) Shows DEW dialog. Prior to calling this
method, one of the three positioning
methods above must be called.
Sub PositionUnder(ByVal primitive As Position DEW under a primitive.
Object, ByVal displacementX As Long,
ByVal displacementY As Long, ByVal
adaptWidth As Boolean)
PgIntegerDEW
Object capable of displaying a dialog where the user can enter an integer value.
Method Description
Function GetDEW() As IPgDEW Returns a PgDEW object.
Function GetValue() As Long Returns the DEW’s current value.
Sub EnableLimits(ByVal EnableLimits As Controls whether incr./decr. can exceed the
Boolean, ByVal NormalStep As Long) max/min values.
312 3BSE030335-510
Appendix A Standard Building Blocks PgIntegerDEW
Method Description
Sub PlaceAtPosition(ByVal container As Positions the dialog relative to a containers
Object, ByVal posX As Long, ByVal posY window. PosX and posY are coordinates
As Long) relative to the containers upper left corner.
Sub PositionRightOf(ByVal primitive As Positions the dialog to the right of the
Object, ByVal displacementX As Long, control primitive.
ByVal displacementY As Long) DisplacementX/Y – The distance in pixels
between upper-right corner of the control
and the upper-left corner of the DEW
dialog.
Sub PositionUnder(ByVal primitive As Positions the dialog under the control.
Object, ByVal displacementX As Long, DisplacementX/Y – The distance in pixels
ByVal displacementY As Long, ByVal between lower-left corner of the control and
adaptWidth As Boolean) the upper-left corner of the DEW dialog.
Sub SetMinMax(ByVal MinValue As Long, Sets the min. and max value boundaries.
ByVal MaxValue As Long) The step size is also set to 1/100 times the
span between min. and max (1 is the
smallest possible step size).
If this method not has been called, the
default min. and max values are 0 and 100
and the step size is 1.
Sub SetValue(ByVal Value As Long)Sets Sets the value to be shown in DEW. This
the value to be shown in DEW. This value value will is NOT limited.
will is NOT limited.
Sub Show(ByVal Show As Boolean) Shows DEW dialog. Prior to calling this
method, one of the three positioning
methods above must be called.
3BSE030335-510 313
PgStringDEW Appendix A Standard Building Blocks
PgStringDEW
Object capable of displaying a dialog where the user can enter a string value.
Method Description
Function GetDEW() As IPgDEW Creates an instance of the non-typed DEW
and returns a pointer to it.
Function GetValue() As String Returns the DEW’s current value.
Sub PlaceAtPosition(ByVal container As Positions the dialog relative to a containers
Object, ByVal posX As Long, ByVal posY window. PosX and posY are coordinates
As Long) relative to the containers upper left corner.
Sub PositionRightOf(ByVal primitive As Positions the dialog to the right of the
Object, ByVal displacementX As Long, control primitive.
ByVal displacementY As Long) DisplacementX/Y – The distance in pixels
between upper-right corner of the control
and the upper-left corner of the DEW
dialog.
Sub SetValue(ByVal Value As String) Sets the value to be shown in DEW.
Sub Show(ByVal Show As Boolean) Shows DEW dialog. Prior to calling this
method, one of the three positioning
methods above must be called.
Sub PositionUnder(ByVal primitive As Positions the dialog under the control.
Object, ByVal displacementX As Long, DisplacementX/Y – The distance in pixels
ByVal displacementY As Long, ByVal between lower-left corner of the control and
adaptWidth As Boolean) the upper-left corner of the DEW dialog.
314 3BSE030335-510
Appendix A Standard Building Blocks PgBoolDEW
PgBoolDEW
Object capable of displaying a dialog where the user can chose a true or false state.
Method Description
Function GetDEW() As IPgDEW Returns a PgDEW object.
Function GetValue() As Boolean Returns the DEW’s current value.
Sub PlaceAtPosition(ByVal container As Positions the dialog relative to a containers
Object, ByVal posX As Long, ByVal posY window. PosX and posY are coordinates
As Long) relative to the containers upper left corner.
Sub PositionRightOf(ByVal primitive As Positions the dialog to the right of the
Object, ByVal displacementX As Long, control primitive.
ByVal displacementY As Long) DisplacementX/Y – The distance in pixels
between upper-right corner of the control
and the upper-left corner of the DEW
dialog.
Sub PositionUnder(ByVal primitive As Positions the dialog under the control.
Object, ByVal displacementX As Long, DisplacementX/Y – The distance in pixels
ByVal displacementY As Long, ByVal between lower-left corner of the control and
adaptWidth As Boolean) the upper-left corner of the DEW dialog.
Sub SetButtonText(ByVal eButton As Sets the text to be displayed on one of the
PGDIRECTENTRYWINDOWLib.TF_BUTT buttons.
ON, ByVal bstrText As String) Public Enum TF_BUTTON
TF_TRUE_BUTTON = 1
TF_FALSE_BUTTON
End Enum
Values for the eButton parameter are
TF_TRUE_BUTTON and
TF_FALSE_BUTTON.
Sub SetValue(ByVal Value As Boolean) Sets the value to be shown in DEW.
3BSE030335-510 315
PgTimeDEW Appendix A Standard Building Blocks
Method Description
Sub Show(ByVal Show As Boolean) Shows DEW dialog. Prior to calling this
method, one of the three positioning
methods above must be called.
Sub SetFont(ByVal pUnk As Unknown) Set the font of the buttons. pUnk must point
to an object that supports the interface
IFont. In Visual Basic an object of the type
StdFont can be used.
PgTimeDEW
Object capable of displaying a dialog where the user can enter a time span string.
The time span value is stored as a numeric value representing the time span in
milliseconds.
Formatting Rules
When the user changes the string value in the dialog the string is parsed and
translated to a value representing the time span in milliseconds and the other way
around when the SetValue method is called the milliseconds value is formatted to a
time span string.
316 3BSE030335-510
Appendix A Standard Building Blocks PgTimeDEW
Input Examples.
User input string: “57m 12s”
Value in milliseconds: 3432000
User input string: “57 Minutes 12s”
Value in milliseconds: 3432000
User input string: “ 57 M 12 s ”
Value in milliseconds: 3432000
User input string: “12sec”
The parsing failed and the value is invalid. The Valid flag in the OnChange callback
is set to false.
3BSE030335-510 317
PgTimeDEW Appendix A Standard Building Blocks
Output Examples.
Method Description
Function GetDEW() As IPgDEW Returns a PgDEW object.
Function GetValue() As Double Returns the DEW’s current value in
milliseconds.
Sub PlaceAtPosition(ByVal container As Positions the dialog relative to a containers
Object, ByVal posX As Long, ByVal posY window. PosX and posY are coordinates
As Long) relative to the containers upper left corner.
318 3BSE030335-510
Appendix A Standard Building Blocks PgDateDEW
Method Description
Sub SetValue(ByVal Value As Double) Sets the time span value in milliseconds.
The value is formatted to a time span string
that is displayed in the DEW.
Sub Show(ByVal Show As Boolean) Shows DEW dialog. Prior to calling this
method, one of the three positioning
methods above must be called.
Sub SetShowSignificant(ByVal lVal As Sets number of significant time unit fields to
Long) show. The default value is two significant
fields.
VB Example:
SetShowSignificant 3
SetValue 60123
Output time span string:“1M 2S 123MS”
Sub SetShortTimeFormat(ByVal bVal As Sets short or long printout format. See table
Boolean) above. The default printout format is short.
PgDateDEW
Object capable of displaying a dialog where the user can enter a time and date span
string.
3BSE030335-510 319
PgDateDEW Appendix A Standard Building Blocks
Method Description
Function GetDEW() As IPgDEW Returns a PgDEW object.
Function GetValue() As Double Returns the DEW’s current value.
Sub PlaceAtPosition(ByVal container As Positions the dialog relative to a containers
Object, ByVal posX As Long, ByVal posY window. PosX and posY are coordinates
As Long) relative to the containers upper left corner.
Sub PositionRightOf(ByVal primitive As Positions the dialog to the right of the
Object, ByVal displacementX As Long, control primitive.
ByVal displacementY As Long) DisplacementX/Y – The distance in pixels
between upper-right corner of the control
and the upper-left corner of the DEW
dialog.
Sub PositionUnder(ByVal primitive As Positions the dialog under the control.
Object, ByVal displacementX As Long, DisplacementX/Y – The distance in pixels
ByVal displacementY As Long, ByVal between lower-left corner of the control and
adaptWidth As Boolean) the upper-left corner of the DEW dialog.
Sub SetValue(ByVal Value As Double) Sets the time span value.
Sub Show(ByVal Show As Boolean) Shows DEW dialog. Prior to calling this
method, one of the three positioning
methods above must be called.
320 3BSE030335-510
Appendix A Standard Building Blocks Symbol Factory Control
SFStandard tool
Change the symbol by right-click and choose Properties. Select, for example Valve
and the right symbol.
Add the other Symbol Factory Control symbols using the same procedure.
3BSE030335-510 321
Usage of GDI and USER objects Appendix A Standard Building Blocks
322 3BSE030335-510
Appendix A Standard Building Blocks Usage of GDI and USER objects
3BSE030335-510 323
Usage of GDI and USER objects Appendix A Standard Building Blocks
324 3BSE030335-510
Appendix A Standard Building Blocks Usage of GDI and USER objects
3BSE030335-510 325
Usage of GDI and USER objects Appendix A Standard Building Blocks
326 3BSE030335-510
Appendix A Standard Building Blocks Usage of GDI and USER objects
3BSE030335-510 327
Usage of GDI and USER objects Appendix A Standard Building Blocks
Table 99. Base Load for Instances of Aspect Category 'Graphic Element'
328 3BSE030335-510
Appendix A Standard Building Blocks Usage of GDI and USER objects
3BSE030335-510 329
Usage of GDI and USER objects Appendix A Standard Building Blocks
330 3BSE030335-510
Appendix B Sizes of Faceplates
Height Width
Pixel 220 250
Twip 3300 3750
3BSE030335-510 331
Default Faceplate Appendix B Sizes of Faceplates
Default Faceplate
A faceplate should have default size according to the table below:.
Height Width
Pixel 400 250
In later versions of the product, when faceplates can be grouped together, faceplates
must have the same size to fit in the group display.
332 3BSE030335-510
Appendix B Sizes of Faceplates Non-default Faceplate
Non-default Faceplate
Any view of the faceplate can have almost any size. (The normal faceplate view
should have a height of 400 pixels and a width of 250 pixels.) There is a minimum
size allowed in a faceplate that is a single header with the width of three buttons.
That gives a minimum height of 46 pixels and a minimum width of 126 pixels.
Header
The header has a fixed height of 46 pixels and a non-fixed width, that must be at
least 88 pixels wide.
3BSE030335-510 333
Size of Each Part of the Components Appendix B Sizes of Faceplates
Element
The Faceplate Element varies in size. The faceplate element uses the left over space
in the faceplate. If you want to preserve the aspect ratio and if you want to keep the
font size and so on it is recommended that you calculate the faceplate element
height and width using this document.
Tab Rows
If you are using tabs in any form (happens if you have configured more than one
faceplate element in a faceplate view) each tab row takes 24 pixels in height. More
than one tab group does not take any more space (except if you configure them
vertically, thus adding more pixels on tab heights).
334 3BSE030335-510
Appendix B Sizes of Faceplates Example
Example
Assume that you want to design both a reduced faceplate and a normal faceplate.
The different views should contain these component parts:
3BSE030335-510 335
Example Appendix B Sizes of Faceplates
Reduced Normal
Component
Height Width Height Width
Header 46 - 46 -
Status and 0 0 87 208
Navigation
Buttons 46 167 87 249
Sum 92 167 220 250
Element 58 167 180 250
The element size available is calculated as the space left between the sum of all
other components and the total space in the view.
336 3BSE030335-510
Appendix C Create New Aspect Categories
with Templates
It is possible to create your own aspect categories with templates. This way you can
configure for example background color, you can add a bar or change the size.
3BSE030335-510 337
Create a New Aspect Category Appendix C Create New Aspect Categories with Templates
3. Click on the Categories tab, click the Add button and enter a category name,
we entered “Loram Display”. Close the dialog.
The Graphic Display aspect type now contains “your” aspect category, in this case
Loram Display.
4. Right-click Loram Display, and select New Aspect in the drop-down menu.
5. Navigate to your new aspect category, Process Graphics, Graphic Display,
Loram Display. Click the Create button at the bottom of the dialog
The template from the aspect type, is now copied to your new category.
6. Click Loram Display, in the aspect window, on the right side of Plant
Explorer.
7. Select the Edit button, to open your new aspect category template.
8. Configure the template, change background color, or size. You can even create
cones or bars to be a part of the template.
9. Once the template is configured, simply Select Save in the File menu.
10. Close the Graphics Builder.
11. Go to the aspect window, on the right side of Plant Explorer. Right-click
Loram Display and select Properties in the drop-down menu.
12. In the dialog, Select Aspect Details and click Add. Select Template Aspect
and click OK in the drop-down menu that appears.
13. You are now back in Dialog, click Apply and OK.
Now you have created your own aspect category.
338 3BSE030335-510
Appendix D Adding Members
3BSE030335-510 339
Add Member Window Appendix D Adding Members
Properties field. A list of all members that have been added to the graphic element.
You can only see the member(s) you are currently working with.
340 3BSE030335-510
Appendix D Adding Members Add Member Window
Add Member button. Press Add Member to present the Add Member dialog box,
where you enter a name and select the type (Property, Method or Event).
Do not try to add two or more members with the same name. Doing so will cause
a deploy failure.
Member Types.
• Property is a named attribute of an object. Properties define object
characteristics, such as size and name, or state of an object, such as enabled or
disabled. Properties are visible in the Expressions and Properties windows.
• Method is a built-in routine attached directly to an ActiveX control. It can be
called from a user of graphic elements.
• Event is an action, recognized by an object, for which a user of graphic
elements can write code to respond to you. Events can be generated by a user
action (such as clicking the mouse or pressing a key), by program code, or by
the system, as with timers.
3BSE030335-510 341
Adding Methods/Events Appendix D Adding Members
Delete Member button. Select a member and click Delete Member to remove it
from the list.
Adding Methods/Events
To add methods and events you follow the steps below.
1. Click the Add Member button in the Add Member window.
2. Enter an appropriate name.
3. Select type: Method or Event. You can only do one at a time.
4. Enter an argument if required.
342 3BSE030335-510
Appendix D Adding Members Adding Properties
5. Click OK. The member is now added to the member list. You can only see the
member(s) you are currently working with. Other members, that may have
been added earlier, you can find in the code.
Adding Properties
To add properties you follow the steps below.
1. Click the Add Member button in the Add Member window
2. Enter an appropriate name.
3. Select type: Property.
4. Enter/select data type, default value, runtime behavior, design time behavior in
the Attributes Information fields.
5. Click OK. The member is now added to the list in the Properties field. You can
only see the member(s) you are currently working with. Other members, that
may have been added earlier, you can find in the code.
3BSE030335-510 343
Adding Properties Appendix D Adding Members
344 3BSE030335-510
INDEX
A Aspect Link 209, 266
Absolute, relative reference configure 125
difference 47 Autopopulate 48
ActiveX 183 Autopupulate the object list 48
external ActiveX controls 33
Add Member 339 B
Add member Bar 214, 278
member types 341 Displacement 231
Add member window 339 EnableInputLimits 231, 233
Adding FrameWidth2 231
Graphic libraries 29 LimitHeightN 231
methods and events 342 LimitLineWidthN 231
AdvantBar 259 Orientation 231
AdvantBezier 235 RangeMax 231
AdvantChord 236 RangeMin 231
AdvantCone 238 StartValue 231
AdvantEllipse 239 Style 232
AdvantHscale 240 Value 232
AdvantLimit 243 ValueColor 232
AdvantNumeric 245 ValueColorNeg 232
AdvantObjectTrim 249 BarLimit
AdvantPie 252 LimitColorN 230
AdvantPipe 253 LimitFillN 230
AdvantPolygon 255 LimitStyleN 230
AdvantPolyline 256 LimitValueN 230
AdvantRectangle 258 Bezier 213
Alarm Control 110 Building faceplate elements 141, 157
Alarm indicators 270 Built 59
Alarm status
in Display elements 270 C
Alarm symbols 270 Chord 213
AlarmControl 270 StartAngle 237
Arc 213 StopAngle 237
StartAngle 228 Click transparency 78
StopAngle 228 graphic aspects 80
3BSE030335-510 345
Index
346 3BSE030335-510
Index
G aspect system 55
GDI Objects 185 product overview 17
GDI objects 177, 278, 322 Graphics Builder
Generic element exit 22
changing properties 202 start 22
Generic elements 24 Graphics builder
select 27 Generic elements 24
Graphic aspect setting options 23
creating 56 Graphics builder options
priority 91 advanced user mode 23
Graphic aspect categories debug 24
differences 59 element browser 24
Graphic aspects 55 Enable Autopopulate 24
Background color 88 expression builder 24
background color 85 live data in design mode 23
click transparency 80 Grouping option buttons
copying precautions 90 By connecting to a common process state 166
deleting 52 By defining a local option button group 166
deploying 51
elements 61 H
object references 70 Hot-keys
saving 51 object highlight 82
standard input handling 76 Hscale 213
Graphic display EndValue 241
add graphic elements 192 LabelFont 241
build 191 LabelFormat 241
Graphic element 59 LabelPosition 241
build 201 LabelStyle 241
building 201 MajorStrength 241
create 200 MajorTics 241
deploy 204 MinorStrength 241
white frame 108 MinorTics 241
Graphic elements StartValue 241
assigning an expression to a property 203
limitation 27 I
object highlight 82 IBar 295
Graphic libraries 29 Import aspects 89
Graphic Libraries dialog 22 Import/export tool 89
Graphic primitives 213 Indicator 208
Graphics Input field 206
3BSE030335-510 347
Index
3BSE030335-510 348
Index
3BSE030335-510 349
Index
MajorStrength 264
MajorTics 264
MinorStrength 264
MinorTics 264
StartValue 264
W
Write property 142, 167
350 3BSE030335-510
Contact us
3BSE030335-510
ABB AB Copyright © 2003-2010 by ABB.
Control Systems All Rights Reserved
Västerås, Sweden
Phone: +46 (0) 21 32 50 00
Fax: +46 (0) 21 13 78 45
E-Mail: [email protected]
www.abb.com/controlsystems
ABB Inc.
Control Systems
Wickliffe, Ohio, USA
Phone: +1 440 585 8500
Fax: +1 440 585 8756
E-Mail: [email protected]
www.abb.com/controlsystems