Industrial IT. 800xA - Engineering System Version 4.1. Graphics

Size: px
Start display at page:

Download "Industrial IT. 800xA - Engineering System Version 4.1. Graphics"

Transcription

1 Industrial IT 800xA - Engineering System Version 4.1 Graphics

2

3 Industrial IT 800xA - Engineering System Version 4.1 Graphics

4 NOTICE 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 hardware described in this document. This document and parts thereof must not be reproduced or copied without written permission 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 89/336/EEC and in Low Voltage Directive 72/23/EEC. Copyright by ABB. All rights reserved. Release: June 2005 Document number: 3BSE030335R4101 TRADEMARKS All rights to trademarks reside with their respective owners.

5 TABLE OF CONTENTS About This Book General...15 Intended User...15 How to Use This Book...15 Where to Start...15 Building Graphic Elements, and Graphic Displays...16 Faceplates...16 Basic Building Blocks Provided by ABB...16 Assigning and Building Expressions...16 Sizes and Scaling of Faceplates...16 Use of Warning, Caution, Information, and Tip Icons...17 Document Conventions...18 Terminology...19 Related Documentation...22 Section 1 - Introduction Product Overview...23 What You Can Do with Graphics...23 Prerequisites and Requirements...24 Section 2 - Graphics Builder Adding Graphic Aspect to an Object and Open Graphic Builder...25 Graphics Builder...27 Features...28 Starting Graphics Builder...28 Setting Options in Graphics Builder BSE030335R4101 5

6 Table of Contents Working with Generic Elements Toolbox Window...31 Select Generic Elements From the Toolbox...35 Adding Graphic Libraries to the Toolbox...37 Extending the Graphic Libraries Window...39 Copy, Paste, and Paste All...40 External ActiveX Controls...40 External ActiveX Controls with Design Time Licenses...41 Expression Builder...43 The Top Half of the Expression Builder The Bottom Half of the Expression Builder...48 Assign Expressions to Properties...54 Object list...55 Populate the Object List...56 Element Browser...58 Saving, Deploying and Deleting Graphic Aspects...60 Saving...60 Deploying...60 Deleting...60 Properties Window...61 Section 3 - Graphic Aspects The Graphics Aspect System...63 Creating a New Graphic Aspect...64 Relevance of Structures for Graphic Aspects Object Aware and Generic Graphic Aspects...66 Built in Graphic Aspect Categories...66 Subsets of Elements Building Blocks Used in Graphic Aspects...69 Expressions...70 Direct References to Aspect Object Properties...71 Sub Properties of Object Properties...72 Examples of Expressions BSE030335R4101

7 Table of Contents Input Properties...74 Implementing Sub Elements With Input Properties...74 ObjectPropertyRef Properties...75 Object References in Graphic Aspects...78 Presentation of Object References...78 Using Relative and Absolute References...78 The Anatomy of Absolute References...79 Support for Composite Object Types...80 Standard Input Handling for Graphic Aspects...81 Standard Input Handling in Object Aware Graphic Aspects...81 Click Transparency...83 The EnableInput Property...84 Click Transparency in Graphic Aspects...85 Security...86 Miscellaneous...88 Setting the Background Color of Graphic Aspects...88 Background Color of Graphic Displays...88 Background Color of Graphic Element Instances...89 Background Color of Primitive Elements...90 Controlling the Update Rate of Data Subscriptions...90 Enable/Disable Blinking Colors...91 Precautions When Importing/Exporting Aspects...91 Precautions When Copying Graphic Aspects...92 Bad Data Presentation...92 Graphic Aspect Priority...93 Graphic Displays...93 Graphic Elements...93 Display Exchange Time...93 The PgSubscriptionControl Object...94 The IPgCompositeObjectList interface...98 NLS Handling of Far East Languages in Graphics...99 Resizing Code BSE030335R4101 7

8 Table of Contents Section 4 - Faceplate Framework Faceplate Overview Header Area LockControl Alarm Control Indicators and Aspect Links Area Faceplate Element Area Buttons Area View Selection Buttons Support for Composite Object Types in Faceplates Create a New Faceplate Configuring the Faceplate Layout Tab Indicators Tab Configuring Indicators Configuring Aspect Links Buttons Tab Elements Tab On-Line Help Tab Internationalization of Faceplates Expression Syntax in Faceplates Security Operations Operation/Permission Mapping on Faceplate a Aspect Category Section 5 - Configuring Faceplate Elements Built in Property Elements Property Reference Properties Assigning an Override Expression to the ObjectPropertyRef Property Supplying Data Quality Information to Property Elements Error Presentation Direct and Applied Action BSE030335R4101

9 Table of Contents Apply Operation Cancel Operation Distinction Between Current and Entered Value Input Operations Independent of Subscribed Data Validation of Input Local Data Entry Enabling Write Operations Option (Radio) Button Behavior Configuring Faceplate and Property Elements Using Basic Mechanisms Support in the Faceplate Aspect Category How to Write to the Properties of an Object In Faceplate Elements Section 6 - Configuring Property Elements How to Write to the Properties of an Aspect Object Configuring Direct Entry Windows Positioning of the Direct Entry Window Controlling the Lifetime of the Direct Entry Window Creating a Direct Entry Window from Visual Basic Code The OnChange Event Controlling a Direct Entry Window via Graphic Primitives Stepsize and limits in the PgNumericDew Direct Entry Window Changing Font Size in Direct Entry Windows Automatically Invoked Direct Entry Windows Visual Basic Error Handling Input Session Handling Starting an Input Session The DoApply Event The DoCancelSession Event Responding to Data Entry Operations Ending an Input Session When Performing an Apply Operation The DoEnableApplyButton Event Broadcasting to Sibling Elements BSE030335R4101 9

10 Table of Contents Section 7 - Maintenance The Display Tool Diagnostics Window Frequently Asked Questions (FAQ) Edit is Dimmed or Missing in the Context menu Edit Imported Graphics Aspect with 3rd party ActiveXs Limit of 256 Element Instances in VB Out of Memory in Graphics Builder Far East Languages are not Correctly Presented Problems with Elements in Frame Control How to Avoid Allocating GDI Objects Run Time Error 13 in Graphics Builder Section 8 - Tutorial Tutorial 1 - Building a Graphic Display How to Build a Graphic Display Adding Graphic Elements to the Graphic Display Using Logical Colors Tutorial 2 - Building a Graphic Element Creating a Graphic Element Building a Graphic Element Changing Properties for the Generic Element Assigning Expressions to Properties Deploying a Graphic Element Tutorial 3 - Creating and Configuring Faceplates Appendix A - Standard Building Blocks Graphic Primitives Common Properties ErrorPresentation Presentation Event Declarations AdvantArc BSE030335R4101

11 Table of Contents PgBar Layout BarLimit Input handling ErrorPresentation AdvantBezier AdvantChord AdvantCone AdvantEllipse AdvantHscale AdvantLimit (only valid for AdvantBar) AdvantNumeric Strike Through AdvantObjectTrim Error Presentation PgErrorIndic AdvantPie AdvantPipe AdvantPolygon AdvantPolyline AdvantRectangle AdvantBar AdvantText AdvantVscale Special Elements Aspect Link PgEventTunnel AlarmControl AspectViewCt Composite Object List ABB Subelements Bar BSE030335R

12 Table of Contents Bar Styles FourLimits TwoLimits Property Elements Indicator Push Button Toggle Button IBar Input Field CheckBox Option Button Apply Button Cancel Button Direct Entry Windows PgDEW PgNumericDEW PgIntegerDEW PgStringDEW PgBoolDEW PgTimeDEW Formatting rules PgDateDEW Appendix B - Sizes of Faceplates Default Faceplate Element Default Faceplate Sizes of Each Default Component in a Faceplate Non-default Faceplate Size of Each Part of the Components Header Status-, Navigation Bar and Buttons Element Tab Rows BSE030335R4101

13 Table of Contents Example Appendix C - Create New Aspect Categories with Templates Create a New Aspect Category Appendix D - Adding Members Add Member Window Adding Methods/Events Adding Properties INDEX 3BSE030335R

14 Table of Contents 14 3BSE030335R4101

15 About This Book General This book contains information about Industrial IT 800xA System Graphics. Intended User The book is intended for engineers who configure and use graphic aspects (graphic elements, graphic displays and faceplates). It also includes information about the basic building blocks provided by ABB. Industrial IT 800xA System Graphics is often referred to as Process Graphics or Graphics. It is assumed that you are familiar with the concept of Aspect Objects, Aspects, Structures etc. before you start using this book. The reader should have experience with process control systems and Microsoft Windows operating systems. In general, Microsoft Windows functions are not described in this instruction. How to Use This Book For a quick hands-on start to Graphics, go to Section 8, Tutorial. The section Frequently Asked Questions (FAQ) on page 182, contains useful information, which can facilitate your work with Graphics. Where to Start If you are a first-time user, refer to Section 1, Introduction to learn about the basic functions and features for this software option. 3BSE030335R

16 How to Use This Book About This Book Building Graphic Elements, and Graphic Displays Refer to Section 2, Graphics Builder, to learn what you need to do in Graphics Builder, to build graphic elements and graphic displays. Faceplates Refer to Section 4, Faceplate Framework to learn more about how to configure faceplates. Basic Building Blocks Provided by ABB Refer to Appendix A, Standard Building Blocks to learn more about the graphics provided by ABB. The Primitives (primitive elements) and Subelements included in this appendix are those supplied by ABB at delivery. Assigning and Building Expressions Refer to Section 3, Graphic Aspects to learn more about expressions and how you use them. Sizes and Scaling of Faceplates Refer to Appendix B, Sizes of Faceplates to learn more about Faceplates. 16 3BSE030335R4101

17 About This Book Use of Warning, Caution, Information, and Tip Icons Use of Warning, Caution, Information, and Tip Icons This publication includes Warning, Caution, and Information where appropriate to point out safety related or other important information. It also includes Tip to point out useful hints to the reader. The corresponding symbols should be interpreted as follows: Electrical warning icon indicates the presence of a hazard which could result in electrical shock. Warning icon indicates the presence of a hazard which could result in personal injury. Caution icon indicates important information or warning related to the concept discussed in the text. It might indicate the presence of a hazard which could result in corruption of software or damage to equipment/property. Information icon alerts the reader to pertinent facts and conditions. Tip icon indicates advice on, for example, how to design your project or how to use a certain function Although Warning hazards are related to personal injury, and Caution hazards are associated with equipment or property damage, it should be understood that operation of damaged equipment could, under certain operational conditions, result in degraded process performance leading to personal injury or death. Therefore, comply fully with all Warning and Caution notices. 3BSE030335R

18 Document Conventions About This Book Document Conventions The following conventions are used for the presentation of material: The words in names of screen elements (for example, the title in the title bar of a window, the label for a field of a dialog box) are initially capitalized. Capital letters are used for the name of a keyboard key if it is labeled on the keyboard. For example, press the ENTER key. Lowercase letters are used for the name of a keyboard key that is not labeled on the keyboard. For example, the space bar, comma key, and so on. Press CTRL+C indicates that you must hold down the CTRL key while pressing the C key (to copy a selected object in this case). Press ESC E C indicates that you press and release each key in sequence (to copy a selected object in this case). The names of push and toggle buttons are boldfaced. For example, click OK. The names of menus and menu items are boldfaced. For example, the File menu. The following convention is used for menu operations: MenuName > MenuItem > CascadedMenuItem. For example: select File > New > Type. The Start menu name always refers to the Start menu on the Windows Task Bar. System prompts/messages are shown in the Courier font, and user responses/input are in the boldfaced Courier font. For example, if you enter a value out of range, the following message is displayed: Entered value is not valid. The value must be 0 to 30. You may be told to enter the string TIC132 in a field. The string is shown as follows in the procedure: TIC132 Variables are shown using lowercase letters. sequence name 18 3BSE030335R4101

19 About This Book Terminology Terminology The following is a list of terms, associated with Industrial IT 800xA System, that you should be familiar with. The list contains terms and abbreviations that are unique to ABB or have a usage or definition that is different from standard industry usage. Term ActiveX Aspect Aspect Category Aspect Object Type Aspect Objects Aspect Server Description Microsoft standard for user interface components, based on definition of software interfaces. An aspect is a description of some properties of a real world entity. The properties described could be mechanical layout, how the object is controlled, a live video image, name of the object etc. A specialization of an aspect type. For example, the aspect type Graphic Display includes the categories Overview, Group and Object Display. An Aspect Object type defines certain characteristics that are shared between several Aspect Object instances, such as a basic set of common aspects. This makes it possible to create and efficiently re-use standardized solutions to frequently recurring problems. For example, rather than building an Aspect Object from scratch for every valve in a plant, you can define a set of valve types, and then create all valve objects as instances of these types. A computer representation of a real world entity like a pump, a valve, an order or a virtual object like a service. This computer representation is implemented by the 800xA System. An Aspect Object works like an information container for it s aspects. A server that runs the central functions of the Aspect Object architecture, such as Aspect Directory, Structure and Name Server, Cross Referencing, File Set Distribution, etc. 3BSE030335R

20 Terminology About This Book Aspect System Composite Aspect Object Type Faceplate Graphic Display Industrial IT 800xA System Node Term Description A software system, which implements one or several aspect types by providing one or several aspect system objects. A composite Aspect Object type describes a set of Aspect Objects organized in a structure, with a parent object and one or several child objects. The children in a composite object type are called formal instances, because they inherit from object types defined elsewhere in the Object Type Structure, but they are not actual instances. When a composite object is instantiated actual instances are created for these child objects. 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. 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. A computer system that implements the Industrial IT vision. A computer communicating on a network e.g. the Internet, Plant, Control or IO network. Each node typically has a unique node address with a format depending on the network it is connected to. 20 3BSE030335R4101

21 About This Book Terminology Term Description OPC/DA Permission Process Object Property Security Server An application programming interface defined by the standardization group OPC Foundation. The standard defines how to access large amounts of real-time data between applications. The OPC standard interface is used between automation/control applications, field systems/devices and business/office application. A permission groups a set of operations that require the same authority. For each operation defined for an aspect, the aspect category specifies the permission needed to use that interface. A process concept/equipment e.g. valve, motor, conveyor or tank. 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. Security controls a user s authority to perform different operations on Aspect Objects, depending on several parameters: The user s credentials, as provided by Windows The node where the user is logged in. This makes it possible to give a user different authority depending on where he/she is located, e.g. close to the process equipment, in a control room, or at home accessing the system through Internet. The operation the user wants to perform the operation on. A node that runs one or several Afw Services. It is the part of the software that supply data to a subscriber. 3BSE030335R

22 Related Documentation About This Book Structure View Term Description A hierarchical tree organization of Aspect Objects. Each structure is used to define a certain kind of relation between Aspect Object. The functional structure defines how a function can be divided into sub functions, the location structure defines how different objects are located within each other. The control structure defines how functions are executed by tasks, controllers etc. An Aspect Object can be located in several structures, for example both in a functional structure and in a location structure. An Aspect can have several ways to be presented depending on the task performed, like viewing or configuration. Each presentation form is called a view. Related Documentation Category Title Description Installation Industrial IT 800xA System Installation This book describes how to install the Industrial IT 800xA System, including the requirements on the hardware. It also describes the basic configuration needed to be done in order to start the system. Configuration Industrial IT 800xA System Operator Workplace Configuration Industrial IT 800xA System Administration and Security This book describes how to configure the Industrial IT 800xA System Operator Workplace. This book describes how to set security and perform SW maintenance in Industrial IT 800xA System. 22 3BSE030335R4101

23 Section 1 Introduction Product Overview Process Graphics consists of a graphic run-time viewer included in the 800xA System. It also includes the software option 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. What You Can Do with Graphics You can do the following with Graphics: Build graphic elements Configure faceplates Configure graphic displays View graphics Use faceplates for information and control You can also find the following information in this book: A tutorial Detailed information about the basic building blocks provided by ABB There are two methods for building graphics: Building graphics while connected to a workplace, please see Industrial IT 800xA Operator Workplace Configuration. Building graphics while not connected to a workplace, please see Section 8, Tutorial for details. 3BSE030335R

24 Prerequisites and Requirements Section 1 Introduction Prerequisites and Requirements Industrial IT 800xA System Graphics runs on the Microsoft Windows 2000/XP Professional operating system. All hardware and software requirements are listed in Industrial IT 800xA System Installation. Please note that you will need to have VisualBasic 6.0 SP6 installed on the node to be able to build graphics. It is required that you are familiar with the graphical user interface of Microsoft Windows 2000/XP Professional. You should also a have general knowledge of common terms such as menus, buttons, drag/drop etc. It is also useful if you are familiar with Microsoft Visual Basic since Graphics Builder works in conjunction with it. To deploy graphics you must belong to the Industrial IT group Application Engineer and the Windows group Power User, or higher. 24 3BSE030335R4101

25 Section 2 Graphics Builder Graphics Builder is a tool, which enables configuration of graphic aspects, for example graphic displays, graphic elements and faceplate elements. It is a tool built on Visual Basic. This section gives you a description of the tools added to standard Visual Basic. Graphics Builder provides several powerful features for configuring graphic aspects, and writing expressions. Even though the Visual Basic environment is a full-fledged programming environment, the configurator of graphic displays or graphic elements is not required to be a programmer or have a Visual Basic background. Graphics Builder allows the full power of Visual Basic if needed. The Visual Basic code panes are available and the environment is accessible. Adding Graphic Aspect to an Object and Open Graphic Builder You start your work by adding a graphic aspect to an Aspect Object or by choosing Edit mode for an existing graphic aspect. To add a graphic aspect: 1. Select the object to which you want to add a graphic aspect in Plant Explorer and open the context menu. 2. Select New Aspect. 3. Select for example Graphic Element from the dialog box and give the aspect a proper name. 3BSE030335R

26 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. Aspect Object Graphic Aspect (Graphic Element) Preview Area with Edit Button Figure 1. Graphic Element Aspect added to an Aspect Object in Plant Explorer 26 3BSE030335R4101

27 Section 2 Graphics Builder Graphics Builder Graphics Builder Figure 2 shows the interface of the Graphics Builder. Library Property Window Expression Builder User Window Working Area Element Browser Figure 2. Graphics Builder 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. 3BSE030335R

28 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. Starting Graphics Builder There are a few different ways to start the Graphics Builder Right-click on a graphic aspect; select Edit, from the context menu. Click the Edit button, which is displayed when aspects have not been previously deployed. Right-click on a graphic background in an actual runtime view, and select Edit. 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). 28 3BSE030335R4101

29 Section 2 Graphics Builder Setting Options in Graphics Builder Setting Options in Graphics Builder There are some optional preferences that you can set for Graphics Builder. You can decide to use live data in design mode, to have additional Visual Basic functionality and to have access to a debug menu. There is also an option to show the Element Browser and Expression Builder at startup or not. Select Graphics Builder Options in the Tools menu. Figure 3. Graphics Builder Options 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 checkbox 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. 3BSE030335R

30 Setting Options in Graphics Builder Section 2 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 checkbox to select Advanced User Mode. Debug Click the Debug checkbox to get access to an additional debug menu. Element Browser Click the checkbox to show Element Browser at startup. Expression Builder Click the checkbox to show Expression Builder at startup. 30 3BSE030335R4101

31 Section 2 Graphics Builder Working with Generic Elements Working with Generic Elements Toolbox Window Click on Tool in the menu line and then click on the Graphic Libraries line in the drop-down menu. You can then choose the libraries you want to use by just clicking in the selection boxes according to Figure 4. Figure 4. The Graphic Libraries Dialog Box The main objectives of the toolbox window are: Provide primitive elements and subelements. More information is found in Select Generic Elements From the Toolbox on page 35. Provide third party ActiveX Controls. Refer to Adding Graphic Libraries to the Toolbox on page 37 for further information. 3BSE030335R

32 Working with Generic Elements Section 2 Graphics Builder Visual Basic controls Special Graphic Primitives Graphic Primitives Subelements Subelements + Property elements Extended Primitives Figure 5. Standard Toolboxes in Graphics Builder 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 83. AlarmControl is a template object for an alarm button for faceplates and AspectViewCt shows a view of an aspect on the graphic display. CompisiteObj displays a list of objects in a composite object. All Special elements are described thoroughly in Special Elements on page BSE030335R4101

33 Section 2 Graphics Builder Working with Generic Elements Extended Primitives These are additional primitive elements provided by ABB. Extended Primitives in the toolbox display these additional primitive elements. See Figure 5. Graphic Primitives Click on the button Graphic Primitives in the toolbox to display the set of available primitive elements. The primitive elements provided by ABB are described in Graphic Primitives on page 213. 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 Faceplates. The subelements provided by ABB are described in ABB Subelements on page 277. Symbol elements The symbol library is found in the Tool->Graphic Libraries menu of the Graphic Builder. This library contains symbols according to Figure 6. 3BSE030335R

34 Working with Generic Elements Section 2 Graphics Builder Figure 6. The Symbol Library Symbol Factory Controls The library Symbol Factory Controls (Figure 7) contains a large set of ActiveX Controls which can be used in graphics. Drag and drop either the SFStandard control (the Cool Pump ) or the SFCutaway (the bar graph) control into the graphics. In the property dialog of SFStandard, it is also possible to select between many different basic shapes for presentation of that control. Figure 7.The Symbol Factory Controls Library 34 3BSE030335R4101

35 Section 2 Graphics Builder Select Generic Elements From the Toolbox Select Generic Elements From the Toolbox The toolbox provides the chosen generic elements used to build graphics. 1. Click the icon for the desired generic element (ActiveX control) in the toolbox. The cursor changes to a crosshair in the Graphic Builder workspace. 2. Place the cursor at any point in Graphics Builder s workspace. 3. Click and hold the left mouse button. 4. Drag the cursor diagonally to the opposite corner of the bounding rectangle. 5. Release the mouse button. The selected element now appears inside a bounding rectangle in the workspace. VB only allows 256 graphic elements/active X controls in a graphic display. The use of Control arrays solves this problem. See Select Generic Elements From the Toolbox on page 35. 3BSE030335R

36 Select Generic Elements From the Toolbox Section 2 Graphics Builder Project Explorer Property Window Expression Builder Object Browser Element Browser Toolbox Deploy Create New Wizard Figure 8. Some of the Buttons of the Graphic Builder How to Allow More Than 256 Elements in VB When creating (dragging or otherwise) graphic elements or ActiveX controls into the graphic display, an error message indicating Only 256 different elements are allowed in VB is displayed. When the graphic element or ActiveX control is added from the Toolbox, the error message: Reached limit: cannot create any more controls for this form is displayed. When the graphic element or ActiveX control is added from the Element Browser, the error message: AddControlToDisplay Failed to add control is displayed. The solution to this problem is the use of control arrays. If you create for example five buttons and give them all the same name, they can 36 3BSE030335R4101

37 Section 2 Graphics Builder Adding Graphic Libraries to the Toolbox count as one. Simply give every new button the same name as the first button. (This is done in 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 index. Adding Graphic Libraries to the Toolbox Subelements and Primitives are grouped together in different Graphic Libraries. To add libraries to the toolbox: 1. Open the Graphic Libraries window in the Tools menu. 2. Select by checking one or more of the listed Libraries. 3. Click on the Apply or OK button. The selected libraries are presented under their respective button in the toolbox. Figure 9. Graphic Libraries Window 3BSE030335R

38 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. Figure 10. Open Components Dialog Box A dialog box opens, where you uncheck the tools you want to delete. Then you click on the Apply or OK button. The Graphic Libraries Extended Primitives Type and Primitives Type. Delete by uncheck them and click on the Apply or OK button. Figure 11. The Component Dialog Box Deleting tools from the toolbox is also described in Visual Basic s on-line help file. 38 3BSE030335R4101

39 Section 2 Graphics Builder Extending the Graphic Libraries Window Extending the Graphic Libraries Window The toolbox tabs reflects the objects created in the Graphics Structure. Each tab in the toolbox corresponds to an object in the Graphics Structure. There are two categories of objects that can be created in the Graphics Structure, Graphic Subelements object type and Graphic Primitive object type. For each object of Graphic Primitive object type one or several aspects of category Graphic Primitive are created. Each of those will refer to a.dll file with external ActiveX controls. For each object of Graphic Subelements object type, one or several generic graphic aspects are created. The generic graphic aspects and the external ActiveX controls from the.dll file will appear in the toolbox in the Graphics Builder in the tab corresponding with the Graphic Library that is checked in the Graphic Library Window, see Adding Graphic Libraries to the Toolbox on page 37. The objects in the Graphics Structure are configured as follows below. Generic Graphic Aspects: a. Select Graphics Structure in Plant Explorer. Select the Graphics Tools object. b. Select an existing object of category Graphic Subelements object type, or create a new object by selecting New Object from the context menu and select Graphic Subelements object type, enter a name and click Create. c. Create a new graphic aspect, see Adding Graphic Aspect to an Object and Open Graphic Builder on page 25. Edit the graphics aspect and deploy it. External ActiveX Controls: a. Select Graphics Structure in Plant Explorer. Select the Graphics Tools object. 3BSE030335R

40 Copy, Paste, and Paste All Section 2 Graphics Builder Copy, Paste, and Paste All b. Select an existing object of category Graphic Primitive object type, or create a new object by selecting New Object from the context menu and select Graphic Primitive object type, enter a name and click Create. 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. You can copy an expression and paste (assign) it toanother property or expression variable. Select Select an element property or an expression variable that has been assigned an expression, and then click on the Copy button to copy the expression. Select another element property or expression variable and then click on Paste button to paste (assign) the copied expression. The paste operation will replace (delete) any expression assigned to that property or expression variable. You can also select multiple elements in the graphic aspect and click on Paste All button to paste (assign) the copied expression to a property of all the selected elements. External ActiveX Controls For information about how to install external (3rd party) ActiveX controls (not provided by ABB) please read the suppliers documentation. ActiveX components need to be installed on all operator workplaces where they will be used. If not, they will not be shown. External ActiveX Controls are NOT described in this manual or any other related document delivered by ABB. Licenses for external/third party ActiveX controls, are not included in the 800xA System. For information about how to obtain these licenses, see the instructions from each supplier. See also External ActiveX Controls with Design Time Licenses on page BSE030335R4101

41 Section 2 Graphics Builder External ActiveX Controls External ActiveX controls are added to the toolbox by using the Graphic Libraries window: 1. Add the library to the Graphic Libraries window, see Extending the Graphic Libraries Window on page 39. To create a new object, see Step b under Extending the Graphic Libraries Window on page 39 and enter the name you want to appear on the button in the toolbox. 2. Add to toolbox, see Adding Graphic Libraries to the Toolbox on page 37. External ActiveX controls can also be added to the toolbox using Visual Basic s Components window. This approach has several drawbacks. The controls have to be found in a usually very long list of libraries, and the names of the libraries are often not very self-explanatory. The ActiveX controls will be added to the currently selected toolbox. This has to be repeated for each graphic aspect that will use the external ActiveX control. External ActiveX Controls with Design Time Licenses Some third party ActiveX controls has design time licenses but not run time licenses. Configuration of graphic aspects, using ActiveX controls with design time licenses, can only be done on nodes on which design time licenses for used ActiveX controls are installed. Graphic displays, which use graphic elements containing design time licensed controls, must be configured on the same node as the one on which the display element was configured. Therefore, if a design time license for an ActiveX control is installed on a single node, then configuration of graphic aspects that uses this control directly, or indirectly, must be performed on this node. Note that this applies also to running tools such as import/export, configuration wizard and backup/restore. These tools may implicitly cause "deploy" of handled graphic aspects. These tools therefore must be executed on machines on which design time licenses are installed. Graphic aspects can then be used on nodes, on which design time licenses are not installed. Run time versions of the ActiveX controls must be made available on these nodes though, i.e. controls must be registered on these nodes. 3BSE030335R

42 External ActiveX Controls Section 2 Graphics Builder Licensing must be activated for graphics aspects that need to contain licensed 3d party ActiveX controls. This is done by selecting Require License Key in the Tools menu. 42 3BSE030335R4101

43 Section 2 Graphics Builder Expression 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. Avoid assigning constant values using Expression Builder. It unnecessarily increases the CPU load and in many cases it does not work at all. 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 99. The Top Half of the Expression Builder The top half shows all the names of the properties of the selected element in the left column. In the right column, the expressions assigned to those properties are displayed. The following tabs represent different ways to sort properties of the selected element. 3BSE030335R

44 The Top Half of the Expression Builder Section 2 Graphics Builder The Alphabetic tab. The properties are sorted in alphabetic order, same as in the Visual Basic properties window. The Categorized tab. The property categories are listed as a tree structure. By default all categories are expanded. The available categories depend on the properties exposed by the element. The Assigned Tab. The properties with assigned values are displayed first. Defined expression variables are displayed in the Edit Variables tab The Edit Variables tab. All expression variables defined in the graphic element are listed here. Figure 12. Edit Variables Tab 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. 44 3BSE030335R4101

45 Section 2 Graphics Builder The Top Half of the Expression Builder 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. 3. Force execution of expressions by calling m_sc.executeexpressions. Expression variables in contrast to object properties do not possess quality attributes. An expression variable will have the vtempty value when some variable referenced by the expression, has an empty value. One example is when data has not been received for a referenced object property. See Bad Data Presentation on page 92 for more information. 3BSE030335R

46 The Top Half of the Expression Builder Section 2 Graphics Builder You can edit an expression assigned to a property or an expression variable via Edit Expression tab. Select the property or expression variable that has been assigned an expression. The Edit Expression tab and Copy button becomes enabled, see Figure 13. Figure 13. Selecting an Expression assigned to a property or an Expression Variable Click on 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 on Update button to confirm the changes. 46 3BSE030335R4101

47 Section 2 Graphics Builder The Top Half of the Expression Builder Figure 14. Edit expression tab 3BSE030335R

48 The Bottom Half of the Expression Builder Section 2 Graphics Builder The Bottom Half of the Expression Builder The bottom half of the Expression Builder contains five tabs. ObjectProperty tab It allows you to get dynamic data from an object and connect it to the selected graphic element. Figure 15.Object Property Tab For a generic graphic aspect is the ObjectProperty tab 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 55 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. 48 3BSE030335R4101

49 Section 2 Graphics Builder The Bottom Half of the Expression Builder The Subproperty list, which displays subproperties of the selected object property. The list allows you to define which subproperty is relevant for the expression. Figure 16.Subproperty List 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 72. 3BSE030335R

50 The Bottom Half of the Expression Builder Section 2 Graphics 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. Figure 17. Color Tab 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 s unnecessary to use the VB code pane. 50 3BSE030335R4101

51 Section 2 Graphics Builder The Bottom Half of the Expression Builder The Input Properties tab is displayed below. Figure 18. Sub Property Selector 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 72. 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. 3BSE030335R

52 The Bottom Half of the Expression Builder Section 2 Graphics Builder Figure 19. The Add Property Dialog 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. Figure 20. Modify Dialog 52 3BSE030335R4101

53 Section 2 Graphics Builder The Bottom Half of the Expression 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). Figure 21. Text row in Expression Builder Select Resource Manager Aspect Text from the Resource Manager aspect in the selected language Select language in the text string Figure 22. The National Language Support Tab 3BSE030335R

54 Assign Expressions to Properties Section 2 Graphics Builder Assign Expressions to Properties Element properties can be assigned an expression. To assign an expression to a property, do the following. 1. Select an element. 2. Select Expression Builder in the View menu. 3. From the list of properties in the top left column, select the name of the property you want to assign an expression. 4. Assign an expression to the property via the ObjectProperty tab, the Color tab, the Variables tab, the Input Properties tab, the NLS Text tab and/or the keyboard. Each tab contains items. Highlight the item of choice and click Insert. For more information about the syntax for expressions, see Section 3, Graphic Aspects. Expressions for an element are not included when you copy it. You must enter the same expressions for the copy 54 3BSE030335R4101

55 Section 2 Graphics Builder Object list 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: Figure 23. Object reference Dialog 3BSE030335R

56 Populate the Object List Section 2 Graphics Builder 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 70. 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. Populate the Object List A prerequisite before assigning expressions to properties is that the ObjectProperty tab, the object list contains objects. To add an object reference: Either click on the Browse button to open a dialog box, which allows you to choose an object, or drag an object from Plant Explorer. 56 3BSE030335R4101

57 Section 2 Graphics Builder Populate the Object List Figure 24. Add an Object. Autopopulate the Object List Object type structure: If you create a graphic aspect on an object type, the object list, in the Element Browser or Object Property list, will automatically contain all the objects on that object type. Other structures: Right-click on the object in the object list and select Autopopulate in the drop down menu. All child objects (the other objects below the selected object in the tree structure) are added to the object list. Now we have objects to work with. 3BSE030335R

58 Element Browser Section 2 Graphics Builder 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 99. 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 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. Object list Graphic Element list Add Element button Figure 25. Element Browser 58 3BSE030335R4101

59 Section 2 Graphics Builder Element Browser The Graphics Element Browser specific fields and buttons are: Browse button Brings up the object browser, used to populate the object list. Object list The list displays object references. The object list is common for Expression Builder and Element Browser. Graphic Element list This list shows the graphic element aspects, associated with the selected Object. Add Element button Click on this button when you want to add a selected graphic element to your graphic. 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. 3BSE030335R

60 Saving, Deploying and Deleting Graphic Aspects Section 2 Graphics Builder Saving, Deploying and Deleting Graphic Aspects Saving To save a graphic aspect, you either click the Save button in the toolbar, or choose Save from the File menu. Figure 26. Save Button 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 you must belong to the Industrial IT group Application Engineer and the Windows group Power User, or higher. 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 Industrial IT 800xA, System, Administration and Security. Deleting To delete a graphic aspect, right-click it in Plant Explorer and choose Delete from the context menu. 60 3BSE030335R4101

61 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. Figure 27. Properties Window 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. 3BSE030335R

62 Properties Window Section 2 Graphics Builder 62 3BSE030335R4101

63 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 5, Configuring Faceplate Elements and in Section 6, Configuring Property Elements. The separation is somewhat arbitrary, but this chapter mainly describes mechanism that are common for all graphic aspects. Section 5, 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. The Graphics Aspect System The Graphics aspect system defines two aspect types: Graphic Display Graphic Element Aspects created from each aspect type are in most respects the same. They are configured using the same tool, the Graphics Builder, and the same mechanisms can be used in each of them. The major difference is that graphic displays are intended to be handled and invoked directly by the process operator, the person that uses graphics for monitoring and control in the run time situation. 3BSE030335R

64 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. Creating a New Graphic Aspect Below follows a description of how to create a graphic aspect using Plant Explorer. The example is a graphic element but could might as well have been a Faceplate element, Subelement or Graphic Display. 1. Select a structure in the Plant Explorer. 2. Browse to an object in that structure. 3. Add an aspect by right-clicking in the aspect area and choose New Aspect from the context menu. The New Aspect window is presented. 4. Select the Process Graphics aspect system and then the Graphic Element of the Graphic Element aspect type in the aspect category browser and then select the desired aspect category. Figure 28. New Aspect Window - Graphic Element Selected 64 3BSE030335R4101

65 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. Relevance of Structures for Graphic Aspects Graphic aspects may be created on objects found in various structures. The structure used reflects the purpose of the graphic aspect. Structures used and the corresponding purpose of the aspect is described in Table 1. Table 1. Relevance of Structures for Graphic Aspects Structure Object Type Structure Graphics Structure Purpose of aspect A graphic aspect placed on an object type object is inherited by all instances created from the object type. Built in aspect categories suitable for object type objects are Graphic Element, Faceplate Element and Object Display. Aspects placed in the Graphics structure shall be generic. See Object Aware and Generic Graphic Aspects on page 66 for a description of generic elements. The graphic structure is used to create toolboxes in the Graphics builder. An object placed in the Graphics structure corresponds to a toolbox tab. Built in aspect categories suitable for the Graphics structure are Property Element, Subelement and Symbol Element. Any other structure (typically the Functional Structure) Graphic aspects placed in other structures are typically aspects of the Graphic Display aspect category. Graphic aspects placed for example in the functional structure are sometimes called instance graphics. 3BSE030335R

66 Object Aware and Generic Graphic Aspects Section 3 Graphic Aspects Object Aware and Generic Graphic Aspects A major characterization of graphic aspects is to divide them into one of the following subsets: Generic Graphic Aspects Generic graphic aspects are characterized by being applicable regardless of object type and even of the controller family connected to. Generic graphic aspects are therefore quite versatile creatures. Yet, they require more configuration, as every property that requires dynamic data must be connected individually. Generic graphic aspects are entered, using Graphics Builder, by selecting them from the toolbox, see Toolbox Window on page 31. Object Aware Graphic Aspects In object aware graphic aspects there is in contrast to generic graphic aspects, support for object references. The main feature is that there is always an invocation object available in each instance of object aware aspects. The invocation object makes it possible to use relative references to aspect objects, aspects and aspect object properties within the graphic aspect. For more information about graphic aspects dividing into different subsets, see Subsets of Elements on page 68. 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 58. For graphic displays the invocation object is set up in runtime by the runtime system. Built in Graphic Aspect Categories For each of the Graphic Display and Graphic Element aspect types, there are a number of built in (predefined) aspect categories, see Table 2 and Table 3. It is also possible for users of graphics to create custom aspect categories with templates, for more information see Appendix C, Create New Aspect Categories with Templates. 66 3BSE030335R4101

67 Section 3 Graphic Aspects Built in Graphic Aspect Categories By selecting a certain aspect category when you create a graphic aspect, you select a number of predefined quantities like: The default size of the graphic aspect The background color of the graphic aspect A set of properties available Some Visual Basic code that fits with the intention of the aspect category Table 2 describes built in aspect categories used to configure object aware graphic aspects. Table 2. Built in Aspect Categories Used for Object Aware Graphic Aspects Aspect category Graphic Display Object Display Faceplate Element Graphic Element Description The aspect category is intended for instance graphics i.e. graphic displays that are built and placed in a concrete structure, typically the functional structure. The aspect category is intended to be used on object types to be general presentations for all objects of the type The category of graphic aspects used by faceplates to perform monitoring and control of the process Aspects of the Graphic Element aspect category typically represents objects of a certain object type. For example a valve. 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. 3BSE030335R

68 Subsets of Elements Section 3 Graphic Aspects Table 3 describes built in aspect categories to configure generic aspect aspects. Table 3. Built in Aspect Categories Used for Generic Graphic Aspects Aspect category Subelement Property Element Symbol Elements Description Aspects of the Subelement aspect category are generic aspects intended for presentation purposes, i.e. elements with properties to which data can be provided using expressions. Aspects of this category are intended to be used when configuring Faceplate elements. The usage is not limited to faceplate elements though. The Symbol Element aspect category is prepared to create elements of icon type, shapes. The symbol element, by default, contains an Image Control to which a picture (icon, windows metafile, gif-file etc.) can be assigned. Subsets of Elements ABB provides libraries of generic elements, see Appendix A, Standard Building Blocks. 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. 68 3BSE030335R4101

69 Section 3 Graphic Aspects Building Blocks Used in Graphic Aspects Table 4 defines a number of these subsets. The columns describes values of controlling factors. An X means that the factor is not relevant for the subset. Table 4. Subsets of Graphics Elements Subset Object aware Implemented using Graphics Builder Usage 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 aspect Yes Yes (So far always) X 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. Building Blocks Used in Graphic Aspects Elements used in the graphic aspects are: Generic elements Object aware graphic elements Generic elements can be used to implement the static part of the configured graphic aspect. Generic elements can also be used to present dynamic information by connecting expressions to their properties, see Expressions on page 70. Expressions are added using the Expression Builder. 3BSE030335R

70 Expressions Section 3 Graphic Aspects Expressions Object aware elements represent the other way to implement presentation of dynamic information in a graphic aspect. Object aware elements are usually a more convenient to use than generic elements as the only requirement is that a reference to an object is set up, in contrast to defining the data subscription using expressions. Generic elements are, on the other hand much more flexible. 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 74. 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 43. 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 91 for information on avoiding unnecessary blink execution. When the configuration of the logical color is changed. 70 3BSE030335R4101

71 Section 3 Graphic Aspects Direct References to Aspect Object Properties An expression is also recalculated when the value of an expression variable it refers to changes. Direct References to Aspect Object Properties This section describes direct references to aspect object properties. ObjectPropertyRef Properties on page 75 describes property references that are set up using ObjectPropertyRef properties. The syntax for a direct object property reference is the following: <object reference>:<aspect name>:<property name> The <object references> part is either a relative or an absolute reference to an object. Examples of how an object reference is presented are:../level AI.117 For more information about object references, see Object References in Graphic Aspects on page 78. 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 Note that expressions can only refer to leafs of a structured property. 3BSE030335R

72 Sub Properties of Object Properties Section 3 Graphic Aspects Sub Properties of Object Properties Expressions can access quality information about object properties using sub properties. To do this, use the drop-down list in Expression Builder. It contains object property sub properties. See Figure 16 for information on how to select sub properties. Table 5. Sub Properties Attributes Description Value Initialized The value for the object property is returned. False until first data received from OPC. QualityOk QualityBad QualityUncertain QualityCode TimeStamp FloatClass WriteAccessGranted False if data has not been received, or is not good for any reason. True when it is determined that data really is bad. QualityBad is false while waiting for first update. True when the communication is determined to be uncertain by OPC Returns the raw quality value received from OPC Returns the timestamp of the data value typed as Date. 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. 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. 72 3BSE030335R4101

73 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: IIf(.:Control Connection:ALARM_BLK, blockedcolor, IIf(.:Control Connection:ABOVE_HI_LIM2, highalarmcolor, normalcolor)) The symbols blockedcolor, highalarmcolor and normalcolor are logical colors. Expressions can refer, not only to object properties, but also to quality information about object properties, so called sub properties. For more information, see Direct References to Aspect Object Properties on page 71. The following is an example of this: IIf(.:Control Connection:UNIT.QualityBad, highalarmtext, textnormal) This expression evaluates to highalarmtext (which might be an expression variable or an NLS text), in case the QualityBad sub property of the UNIT property of the invocation object for the graphic aspect (. ) is true. Otherwise the expression evaluates to textnormal. 3BSE030335R

74 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 43. 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. Implementing Sub Elements With Input Properties Subelements should typically be implemented by defining its properties as dynamic input properties and by handling data within them using expressions. Subelements implemented this way will offer a performance that is hard, or even impossible, to achieve by using other methods. These optimization apply to all execution of expressions. Other advantages of using expressions within subelements is that it allows logical colors to be used within subelements. 74 3BSE030335R4101

75 Section 3 Graphic Aspects ObjectPropertyRef Properties Especially persons with a programming background, tend to prefer to implement subelements by writing Visual Basic code, possibly using the Add Member dialog to assist in creating the code for the properties, before using the Expression Builder. This was actually the only method that worked before the introduction of input properties, and the method still works. But, even if writing Visual Basic code, rather than using expressions appeals to you, you should still consider using expressions, and input properties, due to the performance advantages it offers. ObjectPropertyRef Properties A special kind of input property, see Input Properties on page 74, is the ObjectPropertyRef property. This property offers the possibility to create property elements, see Property Elements on page 282. 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 152. 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 BSE030335R

76 ObjectPropertyRef Properties Section 3 Graphic Aspects ObjectPropertyRef properties define sub properties, like direct object property references, see Direct References to Aspect Object Properties on page 71, to allow expressions to retrieve quality information about the transfer of the referenced value. All sub properties, that are defined for direct property references, are also defined for ObjectPropertyRef properties. In addition, there are sub properties that concerns the ObjectPropertyRef itself. As the description of sub properties differs from direct references, Table 6 describes sub properties for ObjectPropertyRef properties. Table 6. Sub Properties for ObjectPropertyRef Properties Attributes Description Value Initialized QualityOk 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. 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. 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. 76 3BSE030335R4101

77 Section 3 Graphic Aspects ObjectPropertyRef Properties Table 6. Sub Properties for ObjectPropertyRef Properties (Continued) Attributes QualityBad QualityUncertain QualityCode TimeStamp FloatClass WriteAccessGranted ReferenceSet Description 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. 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. 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). The function returns the timestamp of the data value typed as Date. 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 72. 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. Returns true if a reference value has been set. 3BSE030335R

78 Object References in Graphic Aspects Section 3 Graphic Aspects Object References in Graphic Aspects Presentation of Object References Object references, in graphic aspects, are either absolute or relative. Following lines shows some examples of how object references are presented: 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 79. 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 80. Using Relative and Absolute References Relative references are always used by graphic aspects in object types. Note that it is not possible to set up a reference from a graphic aspect in an object type to an object that is not part of the object type. Absolute references, are the default for references to objects in concrete structures. It is possible to change a reference to an object in a concrete structure, which can make it easier to copy a structure, containing the graphic aspect, and having references in the copied aspect pointing at copied objects rather than the original objects. 78 3BSE030335R4101

79 Section 3 Graphic Aspects The Anatomy of Absolute References The Anatomy of Absolute References An absolute reference is internally stored as a unique identity (a GUID) and/or the rescue name. The state of the reference can be: Unresolved. Only the name exists. The result of entering an object reference by typing the name of an object that does not exist yet, or when several objects with the same name exist. Resolved reference. Consists of a GUID and a name Broken. The reference has been resolved but the object has been removed (or for some reason received a new identity) References need to be resolved to be operational. You can look at object references by opening a graphic aspect in the Graphics Builder. Object references are presented in the object list which are shown in the Expression Builder and in the Element Browser. Unresolved and broken references are marked with a U in the Resolved column. A reference entered by browsing to an object directly becomes a resolved reference. Unresolved and broken object references can be made resolved in two ways: The deploy operation sees that the graphic aspect contains unresolved references and offers the user the opportunity to try to automatically resolve these. You can manually change an object reference by browsing to another object, see Object list on page 55. Automatic resolve, using the deploy operation, works when exactly one object exists with a name matching the reference. If the automatic resolve operation did not work as you would have expected, check that there is exactly one object with the correct name. The name that is stored for resolved references is the name of the referenced object at the time of saving the graphic aspect. If the name of this object changes after deploying the graphic, the reference still works as the object is found based on the GUID. 3BSE030335R

80 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. Support for Composite Object Types There is support, in several ways, for graphic aspects created on composite object types. One essential point in this is that, all objects (formal instances) of the object type are, by default entered into the object list. It is therefore possible to refer to all objects of the object type, both from the Expression Builder and from the Element Browser: Using the Expression Builder, it is possible to create expressions that refer to properties of any object being part of the object type. Using the Element Browser, it is possible to, from within a graphic aspect, to refer to graphic elements that are defined on other objects (formal instances) within the same object type. Graphic aspects can, in principle, be nested to an arbitrary depth. The value of the ObjectPath property of an element instance is than a relative reference, i.e. it typically has the following look:./formalinstancename The EnableInput property, that is available for graphic elements, is also part of the support for composite object types. 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, it may be decided to disable the standard input handling for the analog input object. This is then done by setting EnableInput to false for the analog input element. Therefore, even when left clicking at 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. 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 55. See also How to Write to the Properties of an Object In Faceplate Elements on page BSE030335R4101

81 Section 3 Graphic Aspects Standard Input Handling for Graphic Aspects Standard Input Handling for Graphic Aspects Standard Input Handling in Object Aware Graphic Aspects Graphic aspects implement the standard input handling, which involves identifying the aspect object represented at the point where the user clicks or moves the cursor. Standard input handling then performs one of the following functions: Left clicking invokes the default aspect of the aspect object (of course assuming that there is a default aspect). In the typical case this means to bring up the faceplate for that object Right clicking at a graphic aspect instance invokes the context menu for the aspect object. When pointing at a graphic element, i.e. not the graphic display itself, two things happen: a. A marking rectangle is drawn to make the element representing the aspect object appear like a push button b. A tooltip pops up showing the name of the aspect object 3BSE030335R

82 Standard Input Handling for Graphic Aspects Section 3 Graphic Aspects When creating a graphic aspect of a built in aspect category, the new aspect contains the following code (error handling removed for clarity): Private Sub UserControl_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) m_sc.mousedown Button, Shift End Sub Private Sub UserControl_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) m_sc.mousemove Button, Shift End Sub Private Sub UserControl_MouseUp(Button As Integer, _ Shift As Integer, X As Single, Y As Single) If Shift = 0 Then 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 The control m_sc is an instance of the PgSubscriptionControl that is present in all graphic aspects, except for symbol elements. The API is described in The PgSubscriptionControl Object on page 94. The calls to ShowDefaultAspect and ShowContextMenu, implements corresponding functions. The call to CancelInputSession cancels the input session, (see Input Session Handling on page 164) if a session is in progress and returns, in that case, True. Therefore, the call to ShowDefaultAspect is made, when clicking at the element, only if an input session is not in progress. Calling m_sc.mousemove controls marking, i.e. that the element the user points at is highlighted. 82 3BSE030335R4101

83 Section 3 Graphic Aspects Click Transparency Click Transparency The calls m_sc.mousedown and m_sc.mouseup currently have no function and are called for future compatibility. Input handling calls like m_sc.showcontextmenu, are executed differently when called from an object aware graphic aspect and when called from a generic graphic aspect. These calls need to identify the aspect object represented at the screen location where the operator clicks. If the operator clicks directly at an object aware graphic aspect, the aspect object is the invocation object of the element. When on the other hand, the user clicks at a generic graphic element that is not click transparent, see Click Transparency on page 83, input handling calls, input handling 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. The input handling described in Standard Input Handling in Object Aware Graphic Aspects on page 81, 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). Figure 29. Click Transparency 3BSE030335R

84 The EnableInput Property Section 3 Graphic Aspects Graphic Primitives, (except AdvantObjectTrim) and Extended primitives are click transparent, at least when not been set up to react to click events, see Appendix A, Standard Building Blocks. Primitive elements, with support for input operations, i.e. elements that possesses the EnableInput property, are click transparent only when the EnableInput property is set to false. Other elements, like built in VB controls and most third party ActiveX controls, are not click transparent. To use these, and still use the standard input handling, is possible by incorporating an instance of the PgEventTunnel element into the 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 effect on performance. Another disadvantage of using PgEventTunnel is that the input function of any control put into the graphic aspect is disabled. Yet another problem is that the tooltip function is disabled. For information about click transparency and graphic aspects, see Click Transparency in Graphic Aspects on page 85. The EnableInput Property Aspects of aspect categories Faceplate Element and Graphic Element possess a property named EnableInput. The semantics of this property is the following: When set to true, standard input handling, as describe in Standard Input Handling in Object Aware Graphic Aspects on page 81, is enabled. When set to false the graphic aspect becomes click transparent. How click transparency is implemented in graphic aspects is described in Click Transparency in Graphic Aspects on page 85 The EnableInput property is used when configuring a graphic aspect for a composite object type to be built up from graphic aspects defined by formal instances of the composite object, see Support for Composite Object Types on page BSE030335R4101

85 Section 3 Graphic Aspects Click Transparency in Graphic Aspects Setting the EnableInput property to false of the constituent elements prevents input operations accessing formal instances. It is therefore possible to invoke the default aspect, and context menu, for the composite object rather than for these. Property elements also possess the EnableInput property. Also in this case, setting the property to false makes the element click transparent, again see Click Transparency in Graphic Aspects on page 85, for click transparency of graphic aspects. On the other hand, setting EnableInput to true has to be given an implementation that is specific for each property element, thus with EnableInput is true (the property element typically does not implement standard input handling). Click Transparency in Graphic Aspects Click transparency for graphic aspects is implemented in either of two ways. One way is standard input handling, see Standard Input Handling in Object Aware Graphic Aspects on page 81. The other way is used in graphic aspects that are set up to windowless and transparent, that is, the Windowless property is set to True and the BackStyle property is set to Transparent on the graphic aspects user control. In this 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: Private Sub UserControl_HitTest(X As Single,_ Y As Single, HitResult As Integer) HitResult = vbhitresulthit If (Not m_enableinput) And UserControl.Ambient.UserMode Then HitResult = vbhitresultoutside End If End Sub Thus, a windowless and transparent graphic aspect is click transparent when EnableInput is set to false. The test on UserControl.Ambient.UserMode makes sure that the graphic aspect is not click transparent when handled in the Graphics Builder. Subelements and symbol elements should typically always be click transparent, and these therefore does not possess the EnableInput property. These elements, therefore, by default are click transparent outside the Graphics builder. 3BSE030335R

86 Security Section 3 Graphic Aspects For graphic aspects that are neither windowless nor transparent, input handling is described in Standard Input Handling in Object Aware Graphic Aspects on page 81. Testing of the EnableInput property is in that case, behind the curtain. It is done in a way that is not visible to the configurator of the graphic aspect. 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. Operations There are three security operations in graphic aspects, further explained in Table 7. They are used to control whether the user is allowed or denied to see different views or configure the aspect. Table 7. Graphic Aspect Security Operations Read Modify Deploy Operation Description The user has permission to see the graphic aspect dialogs in Plant Explorer. The user has permission to start the Graphics Builder to modify the aspect and save the changes but not to deploy it. 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. Operation/Permission mapping There is a mapping between operations and permissions for the built-in aspect categories. This shows the permissions a user needs to perform different operations. As displayed in Figure 30 the user needs read permissions to see the Graphic Aspect and configure permission to modify and deploy it. 86 3BSE030335R4101

87 Section 3 Graphic Aspects Security Figure 30. Permission/Operation Mapping on a Graphic Aspect. 3BSE030335R

88 Miscellaneous Section 3 Graphic Aspects 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. Background Color of Graphic Displays The background color of a graphic display is defined by setting the value of the GeneralBackColor property of the displays PgSubscriptionControl object (m_sc).table 8 presents possible values: Table 8. Possible Values of the GeneralBackColor Property of the PgSubscriptionControl Object Value of the GeneralBackColor property Resulting color -1 The background color of the graphic is set to the logical color by the name of GeneralBackColor found in the Graphics Colors color set. (Note that the same name is used for both the property and for the logical color.) A static value other than -1 Expression The background color of the graphic is set to the value of the GeneralBackColor property. By assigning an expression to the GeneralBackColor property, it is possible to set the background color of the graphic to a logical color other than GeneralBackColor The default value of the GeneralBackColor property is -1 is for all aspect categories other than Faceplate Element. 88 3BSE030335R4101

89 Section 3 Graphic Aspects Miscellaneous 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. Background Color of Graphic Element Instances Graphic elements that have been created from any of the built-in aspect categories, has a property BackgroundColor that can be used to control the color of instances of these elements. Table 9 presents values that are relevant for the BackgroundColor property. Table 9. Possible Values of the BackgroundColor Property of Graphic Element Instances Value of the BackgroundColor property Resulting color -1 Pseudo transparent, i.e. the graphic element receives a background color that is the background color of the graphic that instantiates it. This makes the graphic element appear transparent when placed on top of the solid background of the display. Other static value than -1 Expression The background color of the graphic element is set to the value of the BackgroundColor property By assigning an expression to the BackgroundColor property, it is possible to set the background color of the graphic element to a logical color 3BSE030335R

90 Controlling the Update Rate of Data Subscriptions Section 3 Graphic Aspects Background Color of Primitive Elements It is often desirable to make the background of graphic primitives, or even entire primitives, to appear invisible. This can be achieved by setting the background color of the primitive to the logical color GeneralBackColor. This sets the color of the primitive to the background color of the graphic element it is part of, making it pseudo transparent. The GeneralBackColor logical color is special in that it always has the background color value of the graphic display/element in which it is used rather than the color that is globally defined for it. Controlling the Update Rate of Data Subscriptions It is possible to control the rate by which dynamic updates take place in graphic displays and elements. By default, the update rate is not controlled by graphics, but by the configuration of aspects representing the connection to the process. Setting the update rate for: Graphic displays By setting the value of the UpdateRate property, of the graphic display s PgSubcriptionControl object. For instances of graphic elements By setting the value of the UpdateRate property of the graphic element. The unit for these properties is milliseconds. The default value of both properties is 0. The interpretation of the zero value is that the update rate is not determined by graphics but by the underlying integration of the controller. In most cases, the update rate is then determined by means of control connection configuration. Setting a value other than 0 on a graphic display overrides any settings of the update rate on graphic element instances, of that graphic display. The effect of setting UpdateRate properties is determined by the (integration of the) controller that is providing the data. In many cases, it is valid for analog properties but not for properties that by their nature are changed in an event driven fashion. 90 3BSE030335R4101

91 Section 3 Graphic Aspects Enable/Disable Blinking Colors Enable/Disable Blinking Colors Blinking logical colors can be accessed from Expressions.The following is an example of this. iif(.:control Connection:IsAlarm, AlarmColor, NormalColor) 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. 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 To allow an expression to be assigned to the EnableBlink property, you need to select the subscription control in the Graphics Builder. To do this, open the Properties window in Visual Basic, select m_sc PgSubscriptionControl in the drop down box at the top. Precautions When Importing/Exporting Aspects The Import/Export tool can be used to restore graphic aspects, and produce copies of exported aspects. When restoring graphic aspects there are restrictions for both Import and Export. 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. 3BSE030335R

92 Precautions When Copying Graphic Aspects Section 3 Graphic Aspects 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. For more information on importing and exporting aspects, as well as a description of the Import/Export tool, refer to Industrial IT 800xA, System, Operator Workplace Configuration. Precautions When Copying Graphic Aspects If you copy aspects, for example a graphic display that contain graphic elements within Plant Explorer, there are restrictions. When an object which contains graphic displays and graphic elements is copied, all entities get new unique identities. The copied elements are therefore not found by the graphic display, which still refers to the original graphic elements. Bad Data Presentation The preferred way of presenting bad data is to connect a QualityCode sub property to the OpcStatus property of a graphic primitive. This is done by assigning an expression to the OpcStatus property, see Assign Expressions to Properties on page 54. Doing it this way supports a standardized presentation of Good, Uncertain, Bad and similar. Another method of handling bad quality data is based on the values of object properties delivered as Variants. When QualityOk of an object property is not true, its value is set to vtempty, and expression evaluate to vtempty if any of the variables used has the value vtenpty. Expressions can use IsEmpty to test expression variable values. 92 3BSE030335R4101

93 Section 3 Graphic Aspects Graphic Aspect Priority There is another possibility as vtempty is treated as a null value when assigned to a non Variant variable or property, specifically for a boolean, vtempty is assigned as false. As a result, when using conditional expressions (expressions containing nested iif s), the result will always evaluate to the last else branch when data is not good. Graphic Aspect Priority To be able to enhance performance in the system, the File Distribution System (FSD) allows configuration of aspects using priorities. Either an aspect is considered having low priority and is loaded on demand when needed, or it is considered high and distributed to all nodes on startup. If an aspect doesn t have an assigned property level, the system considers the aspect category s priority, and after that the aspect type s. Graphics has two pre-defined priority levels, GraphicDisplay and GraphicElement, defined as aspect objects in the Admin Structure. 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 Industrial IT 800xA, System, Installation. Display Exchange Time Bringing up a graphic display for the first time on each separate machine after a Deploy operation takes a little bit longer than henceforth. Once the display is used it will take less time since the subscription time is faster the second time. 3BSE030335R

94 The PgSubscriptionControl Object Section 3 Graphic Aspects The PgSubscriptionControl Object All graphic aspects except for graphic aspects of the SymbolElement category, contain an instance of the PgSubscriptionControl Object (m_sc). This object plays an important role as being the engine that controls setting up subscriptions and controlling execution of expressions. In addition, the object provides a public interface available for the implementor of graphic aspects when implementing various functions. Methods Table 10 shows methods implemented by PgSubscription Control. Table 10. PgSubscriptionControl Methods Property GetInvocationObjectId GetInvocationObject GetInvokationObject2 ReportError ExecuteExpressions GetObjectPropertyProxy StartInputSession Description A method which returns the AfwObjectID of the object, which is presented by the graphic aspect. 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. 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. This method should be called to report errors that occur during the execution of Visual Basic code. Forces execution of all expressions of the graphic aspect. Returns a proxy, of the ABB property type, for an aspect object property referenced using an ObjectPropertyRef. Starts an input operation (session). 94 3BSE030335R4101

95 Section 3 Graphic Aspects The PgSubscriptionControl Object Table 10. PgSubscriptionControl Methods (Continued) Property EnableApplyButton RequestApply CancelInputSession TriggerSessionTimeout MouseMove MouseDown MouseUp ShowContextMenu ShowDefaultAspect ShowAspect ShowAnyAspect GetContextMenuObject BroadcastSiblingEvent Description 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. Requests apply. E.g. used in the implementation of ApplyButton property element. Requests cancel. E.g. used by the Cancel property element. Should be called on user actions to keep session alive. Should be called when the mouse is moved to control element marking. Should be called when a mouse button is pressed. For future compatibility. Should be called when a mouse button is released. For future compatibility. Called to invoke the context menu for the object represented by the graphic aspect. Called to invoke the default aspect for the object represented by the graphic aspect. Called to invoke a specific aspect for the object represented by the graphic aspect. Called to invoke any aspect from any object. Called to get a pointer to a context menu object allowing the graphic aspect to add entries to the context menu. Called to generate the SiblingEvent event, in all sibling elements. 3BSE030335R

96 The PgSubscriptionControl Object Section 3 Graphic Aspects Table 10. PgSubscriptionControl Methods (Continued) GetCompositeObjectList GetContent Property Description 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 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. 96 3BSE030335R4101

97 Section 3 Graphic Aspects The PgSubscriptionControl Object Properties Table 11 shows properties of PgSubscriptionControl. Table 11. PgSubscriptionControl Properties Property EnableBlink GeneralBackColor UpdateRate Description 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. For graphic display, the background color of the graphic display. For graphic element, the default value of the BackgroundColor property, of the graphic element. 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 12. Table 12. IPgSubscriptionControl Events Function OnSubscriptionChange OnPreDataChange OnPostDataChange Description 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. Executes just before expressions are executed Executes after expressions have been executed 3BSE030335R

98 The IPgCompositeObjectList interface Section 3 Graphic Aspects Table 12. IPgSubscriptionControl Events (Continued) Function Description DoApply DoCancelInputSession DoEnableApplyButton OnSiblingEvent 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 94. To receive the event, the graphic aspect must call the method EnableApplyButton(True) in advance. Otherwise no event is fired. 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 94. To receive the event the graphic aspect must have started a session by calling the method StartSession(). Event that is broadcasted to graphic aspects within the same faceplate /graphic display as a result of a request to enable the apply button. Event generated as a result of a sibling element calling the BroadcastSiblingEvent method, see The PgSubscriptionControl Object on page 94. The IPgCompositeObjectList interface The IPgCompositeObjectList contains identities of the objects in a composite object. The functions in Table 13 are provided with IPgCompositeObjectList. Table 13. IPgCompositeObjectList Functions Function NumberOfSubObjects GetSubObjectId Description Returns the number of objects recorded in the Composite Object List. Returns the object identity of the object in that index position. 98 3BSE030335R4101

99 Section 3 Graphic Aspects NLS Handling of Far East Languages in Graphics The IPgCompositeObjectList doesn't contain any structural information i.e. it doesn't support nesting of composite object types. For example, if a composite object A contains a formal instance of another composite object B, where B has a number of subobjects, the list will include all subobjects in both A and B, without being able to separate B's subobjects from A's subobjects. NLS Handling of Far East Languages in Graphics Many Microsoft and built in Visual Basic controls, do not support Unicode characters i.e. text in Far East languages will not be correctly presented. The controls use multi byte encoding, which supports Far East languages but requires that the correct language setting be used in "Language for non-unicode programs" on Windows XP and appropriate local" on Windows The following parts in Graphics have this limitation: The Property elements Option Button and Check Box. The config view for faceplates. It is therefore necessary to have the correct "Language for non-unicode programs" setting when configuring faceplates. The Display tool. The Tooltip property. The Element Browser and Expression Builder. 3BSE030335R

100 Resizing Code 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 at two places: In UserControl_Initialize there is code, which reads the original positions of all constituent controls. In UserControl_Resize there is code, which repositions all constituent controls. The code for resizing can be changed by the user. 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. 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 BSE030335R4101

101 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. Extended Faceplate view (optional) Contains functions and information intended for the process engineer, or the advanced operator such as a tuning display. Each faceplate also has a Configuration View, which is used to configure the three runtime views, see Configuring the Faceplate on page 114 for more information. In addition there is a Resource view for use by software developers only. A faceplate aspect is typically created and added to the object type (see Create a New Faceplate on page 112) and is often assigned to be the default aspect via the Properties entry in the context menu. 3BSE030335R

102 Section 4 Faceplate Framework Figure 31. Each Faceplate Focus on One Aspect Object 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 BSE030335R4101

103 Section 4 Faceplate Framework Figure 32. Reduced Faceplate and Faceplate View Example Figure 33. Extended Faceplate View Example 3BSE030335R

104 Section 4 Faceplate Framework Invoking a Faceplate Aspect In Figure 34 the faceplate is launched by a left mouse-click on a graphic element placed on a graphic display. Another way of launching a faceplate is to select an aspect in Plant Explorer, and right click the mouse to bring up the context menu, then select one of the three runtime views. Click here to open up the default aspect i.e. a faceplate Figure 34. Graphic Display 104 3BSE030335R4101

105 Section 4 Faceplate Framework Faceplate Overview 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 114. Object Lock Alarm control Indicators and Aspect Links Area Header Area Aspect Link Faceplate Element Area Buttons Area Apply Button (dimmed in this view) View selection Buttons Figure 35. Faceplate Terminology 3BSE030335R

106 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) Object Lock Object Name & Description Alarm Control Figure 36. Example of a Header area LockControl The object lock button is shown as pressed from the moment the user has locked the object until the object lock is released. Object lock will give you the sole right to operate the object. If the object is locked by another user, indicated as a flat button and yellow icon, no operation is possible BSE030335R4101

107 Section 4 Faceplate Framework LockControl The table below shows the different object lock states and their corresponding indications. Table 14. Lock States Displayed in the Object Lock. Lock status Button Icon Background Color Unlocked Raised Bluegrey 00 Lock Property Value Locked by me Sunken White 11 Locked by other Flat Yellow 01 When the object is released by somebody else, the button changes from flat to raised and it turns bluegrey. To lock the object simply press the button. Possible ways to release a lock on an object, is to either click the lock button or to close the faceplate. In case of inactivity of operation action in the faceplate, there is a specific time-out period until the object lock is released. If a Lock property does not exist no Lock Control is drawn. The behaviour of the lock control is further defined by the Graphic ProfileValues Aspect in the User profile of the User Control Structure. If the FaceplateAutoLockObject profile value in the Graphic Profile Values UserProfile is set, will AutoLock be enabled, i.e. Lock Status will be set to Locked by me when the Faceplate is opened. When the Faceplate is closed, the Lock Status will revert to Unlocked. If the FaceplateAutoLockObject profile value in the Graphic Profile Values UserProfile is not set, Lock Status remains as Unlocked when the Faceplate is opened. The only way to change the Lock Status is then to manually click the Lock Icon in the Faceplate. 3BSE030335R

108 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 Alarm Control. 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 272. Indicators and Aspect Links Area In this area of the faceplate you can allocate Indicators and Aspect Links. (How to configure this area is described in Indicators Tab on page 118.) Indicators show a label, or an icon, as the result of a configured expression, which can include one or several object properties subscribed for. The standard format for icons are 32x32 (normal Windows icon size). Aspect links are buttons that act as shortcuts to bring up another aspect as an overlap window. 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 116. Faceplate Element Area Aspects are displayed in the faceplate element area, either alone or included in tab groups. Primarily, faceplate element aspects are intended to be included in this area. Other aspects may also be included. The orientation of those aspects and/or tab groups can be either horizontal (the default order) or vertical, but not both in the same faceplate aspect BSE030335R4101

109 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 37 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. Tab group 1 Tab group 2 Figure 37. Example of a Faceplate Element Area 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. 3BSE030335R

110 View Selection Buttons Section 4 Faceplate Framework 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. 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 123. View Selection Buttons A button can have two different action types, direct or applied. Default value is Direct Action. See Direct and Applied Action on page 142 for more information. Select faceplate view. If a view does not exist, the button representing that view is dimmed. The Push-pin pins the faceplate to the display. The faceplate will not be replaced by another faceplate if it is pinned. Reduced Faceplate Faceplate Extended Faceplate Push-pin Figure 38. View Selection Buttons Support for Composite Object Types in Faceplates Faceplates support composite object types in two ways. When configuring faceplates you can address subobjects to composite objects. You can configure indicators, aspect links and buttons for propoerties of subobjects to the object for which you are configuring a faceplate, see Expression Syntax in Faceplates on page BSE030335R4101

111 Section 4 Faceplate Framework Support for Composite Object Types in Faceplates You can also add an instance of Composite Object List to a faceplate. Composite Object List list is a ready made Faceplate Element which presents all the subobjects of a composite object, see Composite Object List on page BSE030335R

112 Create a New Faceplate Section 4 Faceplate Framework Create a New Faceplate To create a faceplate follow the steps below. 1. Select an Aspect object for the object type to be updated using Plant Explorer. Suitable objects are typically found in the Object Type structure, for example within the Control System Object Type Group. See figure below. Figure 39. Select Aspect Object 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 BSE030335R4101

113 Section 4 Faceplate Framework Create a New Faceplate Figure 40. New Aspect Window 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 Industrial IT 800xA Operator Workplace Configuration. Now the faceplate aspect is configured to be the default aspect for the object. The defaut search path i set in the Library Structure. 3BSE030335R

114 Configuring the Faceplate Section 4 Faceplate Framework Configuring the Faceplate This section explains how to configure the appearance and behavior of the three Faceplate runtime views. The configuration is done in the Config view. You are required to have the Application Engineer role to configure Faceplates. The Config view for faceplates 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 99. Note that if the faceplate is Inherited (True), changes can only be made in the object type BSE030335R4101

115 Section 4 Faceplate Framework Configuring the Faceplate Figure 41. Open Config View The Config view contains the following tabs: Layout Configuration of the Faceplate geometry. Indicators Configuration of the Status and Navigation bar. Buttons Configuration of the Button area. Element Configuration of the Faceplate element area. 3BSE030335R

116 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 checkboxes for including the Reduced and/or Extended faceplate views. Enable/disable of faceplate views requires restart of Plant Explorer and Operator Workplace. Figure 42. Layout Tab with Default Values Default runtime view to be launched when an Operator clicks on a graphics element in a graphics display is the Faceplate view, but this can be changed. Once the faceplate is opened you can also change the view via the View selection buttons. There is also a choice whether to have horizontal or vertical orientation of the faceplate element area BSE030335R4101

117 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 42 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. 3BSE030335R

118 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. Figure 43. Indicators Tab Configuring Indicators Table 15 displays the configurable parameters in the Indicators tab which affect the Status and Navigation area in the Faceplate BSE030335R4101

119 Section 4 Faceplate Framework Indicators Tab Table 15. Indicators Table Parameter Icons/Labels Expression Reduced pos Description 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 44 for an example. 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 132 for more information. Specifies the position of the indicator in the Reduced view starting at position 1 and counted from left to right with increasing numbers. 0 = Not used by this view. The exact position of the indicator depends on No. of indicators per row., and No. of indicator rows Faceplate pos Extended pos The position within the Faceplate view. The position within the Reduced view. 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. 3BSE030335R

120 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 Figure 44. Configuration of Icons/Labels 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) Configuring Aspect Links Table 16 displays the configurable parameters for the Aspect links, which are preferably positioned to the right in the Status and Navigation area. An Aspect Link is a button to be used as a shortcut to call up any type of aspect as an overlap window. Most aspects use their Main view when presented, but this can be specified BSE030335R4101

121 Section 4 Faceplate Framework Indicators Tab For aspect links you can check the Use aspect icon checkbox, to get the aspect icon as a graphical representation of the button, or select a specific icon or label. Table 16. Aspect Links Table Parameter Object Aspect View AspectVerb Icon/Label Label color Reduced pos Faceplate pos Extended pos Description The object whose aspect should be displayed. The aspect to be displayed as an overlap window. Selected view for the chosen aspect. If a view is selected, the link can have no verb Verbs connected to the aspect. If a verb is selected the link can have no view. The label, an icon or the aspect icon to be displayed on the aspect link. The text color used if a label is used. The position within the Reduced view. See same parameter in Table 15 for more information. The position within the Faceplate view. The position within the Extended view. 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. 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. 3BSE030335R

122 Indicators Tab Section 4 Faceplate Framework Figure 45. Aspect Verb for the Aspect Graphic Element 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 Industrial IT 800xA Operator Workplace Configuration for more details on using Global Verbs BSE030335R4101

123 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 command buttons is Direct action, that is, pressing a button directly invokes a write operation. 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. If Apply present is checked, the faceplate size got an Apply button Figure 46. Buttons Tab Table 17 displays the configurable parameters for the Button area. 3BSE030335R

124 Buttons Tab Section 4 Faceplate Framework Table 17. Buttons Table Parameter Object Icon/Labels Property name Property type Property value Enabled Tooltip text Reduced pos Faceplate pos Extended pos Action Description The object whose property should be used. The label or icon used as caption. The object property used to set the value when the button is pressed. The datatype of the selected object property (ReadOnly). The value to be set when pressing the button. An expression specifying whether the button is enabled, dimmed or visible. No expression means that the button is always enabled. [0 - dimmed, 1 - enabled, 2 - visible] Text describing the button when the mouse is on top of it. The position within the Reduced view. See same parameter in Table 15 for more information. The position within the Faceplate view. The position within the Extended view. Sets direct or applied action. See Direct and Applied Action on page 142. Default value is Direct Action. 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. 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 BSE030335R4101

125 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. Figure 47. Elements Tab Aspects of category Faceplate Elements are specifically designed to be used here, but any aspect type can be used. A Faceplate Element aspect has a default size to fit within the default size of a faceplate view to avoid unnecessary rescaling. The ability to call up the default aspect with a left mouse click has been removed because the faceplate is typically the default aspect. 3BSE030335R

126 Elements Tab Section 4 Faceplate Framework By clicking in the Aspect column a drop down menu opens (see Figure 48). In this you can select the aspect you want to be represented as a tab in you faceplate. Figure 48. The Aspect Drop Down Menu Then click in the View column and select view. Click in the Tab Group column and type an identifying string representing the identity of a tab group. A simple number is suitable in most cases because the identification string is not visible for any operator. For example, enter 1 for the first tab group, enter 2 for the second and so on. Each time you want to create tabs for the same tab group, you only have to use the same tab group. The location of the tabs in a group is defined by the order among them and can be altered using the arrow buttons in the upper left corner of the element view BSE030335R4101

127 Section 4 Faceplate Framework Elements Tab Three tabs in tabgroup 1 Two tabs in tabgroup 2 Figure 49. Configuration of Three Tab Groups The result of the configuring in tabgroups will be according to Figure 50. Figure 50. The Three Tabs as Seen in the Faceplate 3BSE030335R

128 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 50). Label checked Tab text Figure 51. The Caption Dialog Box 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 52. 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 BSE030335R4101

129 Section 4 Faceplate Framework Elements Tab Figure 52. Defining of User Role for Faceplate Tabs Table 18. The Elements Tab Columns Parameter Object Aspect View Tab group Caption User Roles Description The object whose aspect should be placed in the element area. The faceplate element aspect (or other aspect) placed in the faceplate element area. Selected aspect view for the chosen aspect. 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. The name of the tab. Specifies who can see this tab. Default is EveryOne. Empty field is also EveryOne. 3BSE030335R

130 On-Line Help Tab Section 4 Faceplate Framework On-Line Help Tab The on-line help tab is used to specify which help text should be displayed when pressing the F1 button from the faceplate. Figure 53. On-Line Help Tab Object Type help The help for the object type is diasplayed. Help Aspect References An aspect is pointed out. The type of help or a help file i addressed in the aspect. Select object and the help aspect. File Reference Here you point out a helpfile (.chm) directly without going through a help aspect. Browse to which help-file you want to point out and fill in the A-link to point out a specific section in the helpfile BSE030335R4101

131 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 54). NLS Text Reference checked Click on the Browse button Figure 54. How to Select the NLS Facility A new dialog opens (see Figure 55). 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. Figure 55. Text Reference Now the same dialog box as before opens (see Figure 51 and Figure 54), but with the native text included (see Figure 56). 3BSE030335R

132 Expression Syntax in Faceplates Section 4 Faceplate Framework Resource id selected Corresponding text in selected Locale. Figure 56. Caption dialog Box With Domestic Text When you click on the OK button, the selected text will be changed in the faceplate tab. Expression Syntax in Faceplates Expressions in faceplates are used either to give as result a value 0, 1 or 2 for the Enabled field for a button, or to return an integer in a limited range from 0 to the number of configured icon/labels -1. Expressions returning other values are considered as invalid. The syntax of an object property reference is: $.:aspect:property The dot., in the syntax above, indicates the invocation object for a faceplate. For object properties of an object that is a formal instance of a composite object type, the full object path must be added: $./FormalInstanceName:aspect:property The following are two examples of expressions in faceplates: $.:Control Connection:VALUE * 2 IIF($.:Tanklimit:limit < 100, 0, 1) 132 3BSE030335R4101

133 Section 4 Faceplate Framework Security Absolute references to objects can also be used. See the following examples: $ ObjectName:aspect:property $ ObjectName/FormalInstanceName:aspect:property 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. Another reason for always including the aspect part is when there are multiple properties with the same name. Omitting the aspect part, the first found property is used on any of the available aspects. The syntax of expressions used in faceplates differs from the syntax used for graphic aspects in general (See Expressions on page 70). Security Operations 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. There are two security operations in faceplates, further explained in Table 19. They are used to control whether the user is allowed or denied to see different views or configure the aspect. Table 19. Faceplate Security Operations Read Write Operation Description The user has permission to see the main and config views. The user has permission to modify the aspect 3BSE030335R

134 Operation/Permission Mapping on Faceplate a Aspect Category Section 4 Faceplate Framework If a user doesn t 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. Operation/Permission Mapping on Faceplate a Aspect Category Figure 57 shows the mapping between operations and permissions in a faceplate aspect category. The user needs read permissions to see the faceplate and configure permissions to modify it BSE030335R4101

135 Section 4 Faceplate Framework Operation/Permission Mapping on Faceplate a Aspect Category Figure 57. Permission/Operation Mapping on a Faceplate Aspect Category 3BSE030335R

136 Operation/Permission Mapping on Faceplate a Aspect Category Section 4 Faceplate Framework 136 3BSE030335R4101

137 Section 5 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 VBcode 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 6, 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 147. 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 6, Configuring Property Elements. Following sections describe built in property elements and descriptions of common characteristics of Property Elements. 3BSE030335R

138 Built in Property Elements Section 5 Configuring Faceplate Elements Built in Property Elements Under the Subelement library tab in the Graphic Builder you find nine (9) predefined Property Elements. In Figure 58 below, you can see the predefined property elements. Obsolete item CancelButton CheckBox InputField ToggleButton ApplyButton Indicator OptionButton PushButton Ibar Figure 58. Predefined Property Elements Property Reference Properties Each Property Element has at least one property of the ObjectPropertyRef type, see ObjectPropertyRef Properties on page 75. ObjectPropertyRef properties allow you to parameterize property elements with references to properties of aspect objects in the system. Assigning a reference value to an ObjectPropertyRef property is done using the Properties window. Clicking the ObjectPropertyRef property in the Properties window invokes a property page that supports browsing to the desired aspect object property, see Figure BSE030335R4101

139 Section 5 Configuring Faceplate Elements Property Reference Properties Figure 59. Property References 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. 3BSE030335R

140 Assigning an Override Expression to the ObjectPropertyRef Property Section 5 Configuring Assigning an Override Expression to the ObjectPropertyRef Property In the normal case, expressions within a property element retrieve values from aspect object properties to which references have been set up by the user of the property element. There is yet another possibility available to the property element user. Values retrieved by expressions within the property element, can be overridden. This is done by assigning expressions to the elements ObjectPropertyRef properties. Expressions inside the property element retrieves, in this case, not the value of the referenced aspect object properties, but values provided by expressions assigned on the outside of the property element to its ObjectPropertyRef properties. ObjectPropertyRef properties are special in this, that they can be assigned both static reference values and expressions and, in that case, both are valid at the same time. Table 20 describes 3 relevant combinations of assignements to an ObjectPropertyRef property. Table 20. Assignments to Properties of ObjectPropertyRef Type Assignments Assign a property reference using the property window Assign an expression using the Expression Builder Assign a property reference using the property window and an expression using the expression builder Function Write (input) operations and the presentation function both use the property reference The presented data is received from the expression. Only local input is possible, see section Validation of Input on page 144 and Local Data Entry on page 145. Write (input) operations use the property reference but the presented values is received from the assigned expression A number of built in property elements have a boolean presentation capability. For example, the PushButton element shows the state of the referenced variable when the IndicateValue property is set to true. The PushButton stays in when the value of the referenced variable is the same as the value written, when pressing the PushButton BSE030335R4101

141 Section 5 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. Supplying Data Quality Information to Property Elements Many property elements possess the ability to indicate bad quality of the data retrieved using an ObjectPropertyRef property. If the ObjectPropertyRef property has not been overridden by an expression, the bad quality presentation is automatic. On the other hand, if the value presented is provided through an expression, the element does not automatically know whether the presented value should be regarded as good or bad. To cope this, many property elements have a property called OpcStatus. The OpcStatus property is intended to control the error presentation of the property element, in case the value presented is provided through an expression. In this case the OpcStatus property should be connected to the QualityCode sub property of the aspect object property providing the error information. An error state in the presented object must anyhow be provided using the AppError property. 3BSE030335R

142 Error Presentation Section 5 Configuring Faceplate Elements 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. Direct and Applied Action Input operations performed by property elements can either be one-step or two-step operations. In this document, one-step operation is called direct operation, and twostep operation is called applied operation. With direct action is meant that a write operation towards an object property is performed directly when the user clicks at a button. When an applied action is performed, the write operation is postponed until the user performs an apply operation. Some property elements, like the Input Field element can only perform applied operations. Other elements, like the Push Button, either performs applied or direct actions depending on the configuration. Property elements in the latter category posses the Action property that can have either of following values: SystemDefault (default) Direct Applied The SystemDefault value means that a user profile value, the AppliedButtonAction profile value in the Graphics Profile Values UserProfile, determines whether the action is direct or applied. 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 BSE030335R4101

143 Section 5 Configuring Faceplate Elements Cancel Operation Cancel Operation 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. 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. Distinction Between Current and Entered Value There is a general requirement that while performing an input operation there must be a clear distinction between an operator s entered value and the current value of the process, i.e. the user should typically see both values in parallel. This requirement is especially relevant in cases when applied action is used. 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. 3BSE030335R

144 Input Operations Independent of Subscribed Data Section 5 Configuring Faceplate Elements 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. 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. Input Operations Independent of Subscribed Data Some users may have the requirement that input operations must not be affected by subscribed data. Some property elements do not comply with this requirement. As an example, the ToggleButton element performs either a set operation or a reset operation depending on the value subscribed from the process. Another example is the PushButton element with the Step property set to true. The element then performs increment/decrement operations by adding the increment value to current value. Validation of Input Users that do not find it acceptable that input operations are affected by subscribed data should use other constructions. 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: 144 3BSE030335R4101

145 Section 5 Configuring Faceplate Elements Local Data Entry 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. Before a write operation is performed by a property element, the OnApply event is sent to the client element: Public Event OnApply (ByRef value As Variant, ByRef cancel As Boolean) 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. The OnApply event presented in section Validation of Input on page 144 allows property elements to be used for data entry operations that are not necessarily directed to an aspect object property. By leaving the ObjectPropertyRef properties of a property element empty, and implementing the OnApply event, the hosting element can become the target of the entered value. The property element still encapsulates details such as DEW handling. Enabling Write Operations Property elements visually indicate (by dimming or not raising) to the user whether write (input) operations are enabled or not. The EnableInput property must be set to true to enable input. In addition property elements also test the WriteAccessGranted subproperty of object properties to which write operations are to be performed. 3BSE030335R

146 Option (Radio) Button Behavior Section 5 Configuring Faceplate Elements The WriteAccessGranted subproperty reflects if the property is writable by its nature. writable from a security point of view. Option (Radio) Button Behavior The option button behavior can be implemented by using the OptionButton element, but also by using the PushButton elements with the IndicateValue property set to true. Option buttons are typically collected into a group, which means that only one of the buttons can be activated at the time. Grouping is implemented by connecting several buttons to a common process state, e.g. to one process variable. When direct action is used, this is often sufficient as, after changing the common process state by pressing a variable of the group, all other buttons of the group change automatically. When applied action is used it is not sufficient just to connect the buttons to a common process as, in this case, the process state is not change until an apply operation is performed.a local option button group should be defined, in addition to the common process state to provide local feedback. A local option button group is defined by setting the OptionButtonGroup property for all buttons in the group to the same number. Buttons with the OptionButtonGroup property set to zero (0) are not part of a local group BSE030335R4101

147 Section 5 Configuring Faceplate Elements Configuring Faceplate and Property Elements Using Configuring Faceplate and Property Elements Using Basic Mechanisms This section contains some specific details that need to be considered when implementing Faceplate Elements without using Property Elements. Support in the Faceplate Aspect Category Faceplate Elements created from the Faceplate Element category has by default the following characteristics: when you left-click on a Faceplate Element, the default aspect is NOT invoked, in contrast to other graphic elements. This is to avoid re-invoking of the faceplate (as it is typically the default aspect of the presented object). Faceplate Elements have support for communication with the Faceplate Session Framework, see Input Session Handling on page 164. The Faceplate Element Aspect Category provides code that is commented out, that is intended to help you add the right code when not using property elements. How to Write to the Properties of an Object In Faceplate Elements It is possible to facilitate writing to properties of an aspect object from any object aware graphic aspect by defining a proxy for it. This mechanism is typically used in faceplates implemented without using property elements. The proxy object is of type ABBProperties and is part of the Aspect Object Automation model. In order to add a proxy for an aspect object, you have to make sure that a reference to that object exists in the object list. For more on object lists see Object list on page 55. 3BSE030335R

148 Configuring Faceplate and Property Elements Using Basic Mechanisms Section 5 Configuring Select the object reference, bring up the context menu and select Properties. This brings up the dialog according to Figure 60. Type in an Object Proxy name here Figure 60. Object Reference Dialog Box 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: Private WithEvents m_object As ABBProperties 148 3BSE030335R4101

149 Section 5 Configuring Faceplate Elements Configuring Faceplate and Property Elements Using To write to a property of an object write code similar to the following example: Private Sub Command1_Click() On Error GoTo Command1_error m_object("controlaspect:value") = 5.2 Exit Sub Command1_error: Call ReportError("Command1_Click", Err.source,_ Err.Description, "", 0) End Sub When the write operation is finished an asynchronous event is received: Private Sub m_object_writecomplete(byval prop As _ ABBOBJECTAUTOMATIONINTERFACESLib.IABBProperty) Some action End Sub 3BSE030335R

150 Configuring Faceplate and Property Elements Using Basic Mechanisms Section 5 Configuring 150 3BSE030335R4101

151 Section 6 Configuring Property Elements This chapter describes configuration of Property elements. Property elements are typically used when implementing Faceplate Elements, but can be used in any graphic aspect. Property elements are graphic aspects that implement input properties of the ObjectPropertyRef property type, see Property Reference Properties on page 138. Property Elements are normally created using the Property Element Aspect Category. Property Elements often implement both presentation and input. This chapter describes basic mechanisms used when implementing Property Elements. Before starting the creation of a property element, read also Section 5, Configuring Faceplate Elements, to read about functions that property elements typically should have. This chapter assumes some knowledge of Visual Basic programming. 3BSE030335R

152 How to Write to the Properties of an Aspect Object Section 6 Configuring Property Elements How to Write to the Properties of an Aspect Object To perform a write operation in a Property Element, to an aspect object property use code similar to the example below. '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") 'Perform the write operation m_property = NewValue... End Sub The ABBProperty object is by default configured for asynchronous write. When the write is complete the WriteComplete event is received. 'Write complete event example Private Sub m_property_writecomplete() On Error GoTo Error_m_Property_WriteComplete ' Do something useful Exit Sub Error_m_Property_WriteComplete: Call ReportError("m_Property_WriteComplete", Err.source,_ Err.Description, "", 0) End Sub BSE030335R4101

153 Section 6 Configuring Property Elements Configuring Direct Entry Windows Configuring Direct Entry Windows This section deals with how to activate and configure Direct Entry Windows (DEW). There are two kinds of objects involved in handling Direct Entry Windows: The PgDEW object The PgDEW object is a data type neutral object that is used for controlling the lifetime of a Direct Entry Window and operator event handling. The communication withpgdew is datatype independent. Objects to control the different datatypes are displayed in Table 21. Table 21. Direct Entry Windows Name PgNumericDEW DEW 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. 3BSE030335R

154 Positioning of the Direct Entry Window Section 6 Configuring Property Elements Positioning of the Direct Entry Window This section describes methods that can be called to control the position of a Direct Entry Window. The methods are implemented by both PgDEW and the data type specific objects. The distances X and Y are always given in pixels. Position the DEW to the Right of a Control The PositionRightOf method is called when you want to position the DEW to the right of the control. The distance is given between the upper/right corner of the element and the upper/left corner of the DEW (see Figure 61 below): X Y Figure 61. How to Configure a DEW to the Right of the Control 154 3BSE030335R4101

155 Section 6 Configuring Property Elements Positioning of the Direct Entry Window 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 62 below): X Y Figure 62. How to Configure a DEW Below the Control Position the DEW relative to a graphic aspect The PlaceAtPosition method is called when you want to position the DEW in relation to the upper left corner of the configured graphic aspect (container). The distance is given between the upper/left corner of the element and the upper/left corner of the DEW (see Figure 63 below): 3BSE030335R

156 Controlling the Lifetime of the Direct Entry Window Section 6 Configuring Property Elements X Y Figure 63. How to Configure a DEW Relative to Graphic Aspect Controlling the Lifetime of the Direct Entry Window The life time of a Direct Entry Window is controlled by keeping a reference to an object representing the Direct Entry Window and releasing it when the Direct Entry Window is to be released. The typical case is that the lifetime is controlled by keeping a reference to the PgDEW object: One example of setting up a reference to a DEW is by doing it in the OnMouseDown event from a primitive that implements automatic creation of the Direct Entry Window: Private WithEvents m_dew As PgDEW Private Sub Bar1_OnMouseDown(..., ByVal autodew As Object)... Set m_dew = autodew... End Sub To remove the Direct Entry Window, the reference is set to nothing, this is typically done in the m_sc_docancelinputsession Event: Set m_dew = Nothing 156 3BSE030335R4101

157 Section 6 Configuring Property Elements Creating a Direct Entry Window from Visual Basic Code Creating a Direct Entry Window from Visual Basic Code Following code gives an example of how to create and handle a Direct Entry Window from Visual Basic code: Private WithEvents m_dew As PgDEW Private Sub CreateNumericDEW() 'Create local instance of typed DEW object Dim NumericDEW As PgNumericDEW Set NumericDEW = New PgNumericDEW 'Set min. and max values NumericDEW.SetMinMax -1.5, 2.2 'Enable limit checking and set stepsize to 0.3 NumericDEW.EnableLimits True, 0.3 'Position the dialog NumericDEW.PositionUnder Me, 110, 10, False 'Show the dialog NumericDEW.Show True 'Get the non-typed DEW Set m_dew = NumericDEW.GetDEW ' Release the typed DEW. ' Lifetime of the DEW is here after controlled by m_dew Set NumericDEW = Nothing End Sub The OnChange Event Direct Entry Windows generates the OnChange event whenever the user changes the entered value. This event can be used to enable or disable the apply button and making sure that an input session does not time out. More information about this is available in Responding to Data Entry Operations on page BSE030335R

158 Controlling a Direct Entry Window via Graphic Primitives Section 6 Configuring Property Elements Controlling a Direct Entry Window via Graphic Primitives Some graphic primitives support automatic creation of DEWs. Set the AutoDEW property to True to activate this function. In order to allow a graphic aspect to gain control over the Direct Entry Window, you should use code according to the following example: Private WithEvents m_dew As PgDEW Private Sub Bar1_OnMouseDown(..., ByVal autodew As Object).. Set m_dew = autodew... End Sub 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 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 BSE030335R4101

159 Section 6 Configuring Property Elements Stepsize and limits in the PgNumericDew Direct Entry Stepsize and limits in the PgNumericDew Direct Entry Window The numeric Direct Entry Window supports interactive operations for increasing and decreasing its value. The quantity by which the value increases or decreases is determined by the stepsize parameter. There are several methods a user can use to increase or decrease the value: Click the spinbuttons (up and down arrows) in the Direct Entry Window. The value is increased/decreased by stepsize Use the up and down arrow keys on the keyboard. The value is increased or decreased by stepsize Holding the shift key down, while pressing the up and down arrow keys on the keyboard, increases or decreases the value by 10 * stepsize. Holding down the control (ctrl) key, while pressing the up and down arrow keys on the keyboard, increases the value by a 10th of stepsize. Use the Page Up and Page Down keys on the keyboard. The step is 10*stepsize. Step size is also set when calling the SetMinMax function. For example when auto creating a Direct Entry Window using a PgBar primitive, the stepsize is set to (RangeMax - RangeMin)/100. The call: m_numericdew.setminmax - 10, 120 sets the max value to 120 and the min. value to -10 and the stepsize to BSE030335R

160 Changing Font Size in Direct Entry Windows Section 6 Configuring Property Elements The stepsize can be adjusted by calling the EnableLimits function. The call m_numericdew.enablelimits True, 1.0 sets the stepsize to 1.0 while the previously set limits are maintained. The call m_numericdew.enablelimits False, 2.0 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. Changing Font Size in Direct Entry Windows The default font size in Direct Entry Windows is 14pt. To change the font follow the steps below: 1. Go to the User Structure. 2. Select a User in the Administrator s Group. 3. Select the configuration view of the Graphics Profile Values aspect BSE030335R4101

161 Section 6 Configuring Property Elements Changing Font Size in Direct Entry Windows 4. In the Name area select DirectEntryWindowFontSize and Base rule. Mark Local and enter the wanted font size in the Value field. See Figure 64. Figure 64. Changing Font Size in Direct Entry Windows 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 65 below. Figure 65. Direct Entry Window Font Size 18pt. 3BSE030335R

162 Automatically Invoked Direct Entry Windows Section 6 Configuring Property Elements Automatically Invoked Direct Entry Windows The property element InputField is prepared with a special quality, which allows its direct entry window to pop up automatically. The operator may click at an element in a graphic display to invoke a faceplate. If a faceplate element in the faceplate contains an instance of an InputField object, which is set up for automatic invocation of its DEW, then the DEW is invoked directly. The operator does not need to click at the input field before entering a new value. The following properties are used to control DEW invocation. Table 22. DEW Invocation Properties Name ActivateCondition DefaultActivation Description This property should be connected to an expression, which sets it to true when data has been received via data subscription. 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. The following is an example of an expression, which could be connected to the ActivateCondition property:.:myaspect:manmode And.:myAspect:ManMode.QualityGood In this case the DEW will be invoked only if the represented object is in manual mode (Property ManMode = True). The test on QualityGood ensures that the DEW is not invoked before Max and Min properties have well defined values in case these are retrieved using data subscription BSE030335R4101

163 Section 6 Configuring Property Elements Visual Basic Error Handling If several InputField elements are used in one faceplate then all but one should have the DefaultActivation property set to Deactivated. Deactivated is the default value. Visual Basic Error Handling The writer of Visual Basic code, should ensure that errors that may occur during execution of the code, are handled in a proper way. A template for handling error code follows. Private Sub MySub_DoApply On Error GoTo Error_MySub_DoApply MySub code here... Exit Sub Error_MySub_DoApply: Call ReportError( MySub_DoApply, Err.source,_ Err.Description,, 0) End Sub The ReportError method reports the errors as Operator Messages. 3BSE030335R

164 Input Session Handling Section 6 Configuring Property Elements Input Session Handling Input sessions is a concept that is used to control input operations. An input session, in this case means an input operation that is carried out with applied action, see Direct and Applied Action on page 142. Input sessions are often used to control the lifetime of a Direct Entry Window. Then, typically an input session is in progress as long as the Direct Entry Window is visible. Input sessions are not limited to the use of Direct Entry Windows though. An input session can also be used to control an input operation in which for example a PushButton property element is used, and applied action is requested for it, see Direct and Applied Action on page 142. Input sessions are typically started by clicking at a click sensitive primitive. A Direct Entry Window may pop up as a result. The input session is then finished either because an apply operation, see Apply Operation on page 142, was performed or because the input session was terminated by performing an Cancel operation, see Cancel Operation on page 143. A graphic aspect controls sessions by using the instance of the PgSubscriptionControl with the name m_sc that is present in every graphic aspect. Sessions can be used in graphic aspects of any aspect category. However, the aspect categories Faceplate Element and Property Element are prepared to simplify the implementation of input sessions. In a newly created Faceplate or Property Element there is code present that implements some calls using sessions and some code with helping comments to make the implementation right. In the following sections parts of the code, relevant for session handling is presented. Some of the code, presented has been uncommented BSE030335R4101

165 Section 6 Configuring Property Elements Starting an Input Session Starting an Input Session The following Sub shows how to start an input session and to trigger the session timeout. The session is started in the "Control"_OnMouseDown event. The text "Control" must be substituted with the name of the element that is clicked at. Private Sub "Control"_OnMouseDown(... )... m_sc.startinputsession m_sc.triggersessiontimeout... End Sub 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 timeout 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. 3BSE030335R

166 The DoApply Event Section 6 Configuring Property Elements The DoApply Event When the user performs the apply operation, the m_sc_doapply event is triggered to allow the element to react to the apply operation. You probably want to write a value to an object. The code example below shows how this is done. Private Sub m_sc_doapply() On Error GoTo Error_m_sc_DoApply Set m_property = _ m_sc.getobjectpropertyproxy("propref") m_property = m_dew.getvalue Exit Sub Error_m_sc_DoApply: Call ReportError("m_sc_DoApply", Err.source,_ Err.Description, "", 0) End Sub The DoCancelSession Event Whenever the input session is cancelled, the m_sc_docancelinputsession event is triggered. In the code example below, the effect of the cancel operation is that a Direct Entry Window is released. Private Sub m_sc_docancelinputsession() On Error GoTo Error_m_sc_DoCancelInputSession Set m_dew = Nothing Exit Sub Error_m_sc_DoCancelInputSession: Call ReportError("m_sc_DoCancelInputSession", _ Err.source, Err.Description, "", 0) End Sub 166 3BSE030335R4101

167 Section 6 Configuring Property Elements Responding to Data Entry Operations Responding to Data Entry Operations While an input session is in progress, the user may repeatedly change the value that is to be entered when the apply operation is performed. The following code shows a typical case where actions are taken in response to the user entering a value in a Direct Entry Value. Private Sub m_dew_onchange(byval Value As Variant, ByVal Valid As Boolean) On Error GoTo Error_m_DEW_OnChange m_sc.enableapplybutton Valid m_sc.triggersessiontimeout Exit Sub Error_m_DEW_OnChange: Call ReportError("m_DEW_OnChange", Err.source,_ Err.Description, "", 0) End Sub 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 144. The call m_sc.triggersessiontimeout re-triggers the session timeout. Ending an Input Session When Performing an Apply Operation An input session is not automatically ended as a result of an apply operation. Code has to be entered to achieve that, if it is the desired behavior. In many cases, to improve the interactive behavior of the input operation, the canceling of the input session is delayed until the property write operation is finished. 3BSE030335R

168 The DoEnableApplyButton Event Section 6 Configuring Property Elements In the following example, the Direct Entry Window is not removed until the write operation has completed. Private Sub m_property_writecomplete() On Error GoTo Error_m_Property_WriteComplete m_sc.cancelinputsession Exit Sub Error_m_Property_WriteComplete: Call ReportError("m_Property_WriteComplete", _ Err.source, Err.Description, "", 0) End Sub The DoEnableApplyButton Event The input session handling provides support for implementing Apply buttons as the m_sc_doenableapplybutton event is received by every element when a request to enable or disable the apply button is made. This event is for example used by the Apply property element. Broadcasting to Sibling Elements There is a broadcasting mechanism that allows an element to send an event to all sibling elements, that is all elements with the same direct parent as the sending element. Sending the event is done by calling the BroadcastSiblingEvent method of the elements PgSubscriptionControl. Receiving the event is done by implementing the OnSiblingEvent event in receiving elements BSE030335R4101

169 Section 7 Maintenance The Display Tool A graphic aspect may consist of information from several other graphic aspects (see Figure 66 below). In the figure you have a graphic display, which contains two graphic elements. These elements include two subelements each. If a subelement is changed and deployed, the compiled information in the graphic display and the graphic elements is wrong, and these items have to be deployed as well. Graphic Display Graphic Elements Subelements A Typical Graphic Structure are: The graphic subelements are included in a graphic element. These are then included in the graphic display. Figure 66. A Typical Graphic Image Structure 3BSE030335R

170 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 66), 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 BSE030335R4101

171 Section 7 Maintenance The Display Tool You start the Display Tool from the Start menu, ABB Industrial IT > 800xA System > Display Tool. A window according to Figure 67 below opens. In a table all items with changed but not deployed source code are shown. Figure 67. Display Tool Description of the Display Tools Interface In the Display Tool (see Figure 67) 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 3BSE030335R

172 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. An area in the upper left corner contains info about the structure, that will be searched. With help of a drop down menu, which you access through the arrow head on the right side of the area, you can select the structure you want to search and view. Default is the Functional Structure presented. A check box, named Search in all structures, will, if checked, present all structures. In the middle of the upper part of the interface you find a pair of 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 BSE030335R4101

173 Section 7 Maintenance The Display Tool 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 Industrial IT 800xA, System, Administration and Security. 3BSE030335R

174 Diagnostics Window Section 7 Maintenance Diagnostics Window The Diagnostics Window shows background information about graphic displays and elements. To display the Diagnostic Window open the context menu of a graphic display or element and choose Diagnostics, see Figure 68. Figure 68. Graphic Display Context menu - Diagnostics 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 Diagnostics Window shows a snapshot of data acquired when invoking it. On two tabs, there are refresh buttons which triggers fetching of fresh information BSE030335R4101

175 Section 7 Maintenance Diagnostics Window General Tab The General tab has three areas, see Figure 69. Figure 69. Diagnostics Window - General Tab 3BSE030335R

176 Diagnostics Window Section 7 Maintenance Table 23 shows the parameters listed in the Subscription overview. Table 23. Subscription overview Parameter Total number of items Number of failed items Number of bad items Number of uncertain items Non received items Number of good items Description The number of object properties subscribed for (via OPC). 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. Shows the number of items for which a bad OPC status (no value known) has been received. This figure corresponds to all items presented, on the OpcData tab, which have a "B" in the quality field. Shows the number of items with uncertain quality, i.e. 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. 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. 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. Error Message Overview shows the number of errors in Visual Basic code and expressions BSE030335R4101

177 Section 7 Maintenance Diagnostics Window The Timing summary area presents timing information for the entire display regardless of where the user pointed when invoking the Diagnostics Window. Some of the timing parameters are listed in Table 24. Table 24. Timing parameters Parameter Grab license Get File Set Create SubsMan Load Subscription CoCreateInstance InPlaceActivation RuntimeInit EndCreate Paint Start First data received Description Shows the time required to check if a user has a valid license for viewing the graphic display. Shows the time required to check and fetch the latest version of the display and the graphic elements. Shows the time required to create the subscription manager. Shows the time required to set up the subscription for the display. Shows the time required for creating all objects of which the display consists. Shows the time to inplaceactivate the display. Without using property server the parameter shows the init time including setting up the subscription and storing the.sub file. 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. Shows the time required to create the display excluding the actual drawing on the screen. Not used Shows the time from callup to the first item data has been received. 3BSE030335R

178 Diagnostics Window Section 7 Maintenance Table 24. Timing parameters (Continued) Parameter Latest data received All data received Description Shows the time required from callup to the latest item data has been received. Shows the time required from callup until data for all items has been received. OpcData Tab Figure 70 shows the OpcData tab. Figure 70. Diagnostics Window - OpcData Tab 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. 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 BSE030335R4101

179 Section 7 Maintenance Diagnostics Window The Item table contains information listed in Table 25. Table 25. Item table Field Property Name Aspect Data Type Value Quality Time Stamp HRESULT Access Description The name of the referenced property. The name of the aspect which defines the referenced property. 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 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 The time of the day associated with the value of the item. 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. Shows if the property, "to its static nature" is R - readable W - writable RW - readable and writable. 3BSE030335R

180 Diagnostics Window Section 7 Maintenance Error Messages Tab The Error Messages tab shows errors for the element selected in the Error elements list, see Figure 71. The Error elements list only shows elements in which errors have been reported. Figure 71. Diagnostics Window - Error Messages Tab The fields in the Expression Error List are presented in Table 26. Table 26. Expression Error List Property Field Description 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 BSE030335R4101

181 Section 7 Maintenance Diagnostics Window Table 26. Expression Error List (Continued) Description Event Field 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. 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 163, 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 27. Table 27. VB Error List Field Description Method 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. 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. 3BSE030335R

182 Frequently Asked Questions (FAQ) Section 7 Maintenance Frequently Asked Questions (FAQ) Edit is Dimmed or Missing in the Context menu Edit is dimmed or missing in the context menu. What could be causing the problem and what should I do? 1. You don t have Visual Basic installed on your machine. 2. You don t have the Graphics Builder option installed on your machine. 3. You tried to edit an inherited aspect, which this is not possible. Go to the object type structure using Goto Type on the context menu and try again. 4. You have to have the application engineer role to edit a graphics aspect. 5. You do not have the required permissions. Edit Imported Graphics Aspect with 3rd party ActiveXs There are error messages displayed, then the area where the missing ActiveXs reside, turns into a picture box. What should I do? 1. Identify the missing ActiveXs. 2. Install them on your PC. Limit of 256 Element Instances in VB When creating (dragging or otherwise) graphic elements or ActiveX controls into the graphic display, an error message indicating that only 256 different elements are allowed in VB is displayed. When the graphic element or ActiveX control is added from the Toolbox, the error message: Reached limit: cannot create any more controls for this form is displayed. When the graphic element or ActiveX control is added from the Element browser, the error message: AddControlToDisplay Failed to add control is displayed BSE030335R4101

183 Section 7 Maintenance Frequently Asked Questions (FAQ) The solution to this problem is the use of Control arrays. If you for example create five buttons, and give them all the same name, they count as one. Simply give every new button the same name as the first one. This is done in 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. Out of Memory in Graphics Builder If there are too many components (Tools->Components) present in the graphics builder you will get an "Out of memory" error when trying to add a new element. Many unused components are unnecessary and might cause slower than usual graphic aspects and deploys. Try unloading the components that are not being used, and then add your element again. You will be notified if you try to unload a component that is being used. The "out of memory" problem should be resolved. Far East Languages are not Correctly Presented Far East languages in e.g. Tool tip and Faceplate configuration view, are not correctly presented. These elements are built on Visual Basic controls which don t have full Unicode support. To present the Far East language text correctly you must have the right language setting in "Language for non-unicode programs" on Windows XP and appropriate local" on Windows For more information see NLS Handling of Far East Languages in Graphics on page 99. Problems with Elements in Frame Control Problems with Frame Control can arise when object marking is not positioned correctly. Elements should be placed on top of a Frame Control rather than using the Frame Control as a container for the elements. To do this you should not have the Frame Control selected when adding other controls and elements. How to Avoid Allocating GDI Objects Graphics Device Interface (GDI) objects are allocated when Graphic aspects use bitmap objects, fonts and such. The number of GDI objects allocated for each graphic aspect can be estimated by using Windows Task Manager. The total number 3BSE030335R

184 Frequently Asked Questions (FAQ) Section 7 Maintenance of GDI objects on one machine is by default limited to GDI objects. 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. Run Time Error 13 in Graphics Builder An error dialog showing Run Time Error 13 may be displayed when you try to change the Object Path property for a Graphic element in display. This occurs if elements from a previous 800xA version is referred. Redeploy the referenced Graphic Elements to resolve the problem BSE030335R4101

185 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: Tutorial 1 - Building a Graphic Display on page 185 How to Build a Graphic Display Adding Graphic Elements to the Graphic Display Using Logical Colors Tutorial 2 - Building a Graphic Element on page 192 Creating a Graphic Element Building a Graphic Element Changing Properties for the Generic Element Assigning Expressions to Properties Deploying a Graphic Element Tutorial 1 - Building a Graphic Display In this tutorial we will build a tank farm with two tanks connected via a valve in the Functional Structure. The levels in the tanks are measured by the Analog Inputs AI1.12 and AI1.13. The tanks are connected to each other through pipes and a valve. The display contains a rectangle at the bottom, which turns red to indicate that fluid passes 3BSE030335R

186 Tutorial 1 - Building a Graphic Display Section 8 Tutorial through the valve. The fluid is measured by the analog input object AI1.14, which must have a value above zero (0) before the rectangle turns red. Upper tank Graphic primitive Valve Pipe Level indicator (Bar) Direction arrow Fluid warning Lower tank (Graphic primitive) Figure 72. Graphic Aspect Designed for Tutorial BSE030335R4101

187 Section 8 Tutorial How to Build a Graphic Display How to Build a Graphic Display You create the graphic display as described below: 1. Add a new object into Functional Structure in Plant Explorer, select the new Storage tanks, Tank Farm object, right-click the new object and select New Aspect from context menu. Figure 73. The Functional Structure in Plant Explorer 2. Select Graphic Display in the New Aspect list. 3. Name the Aspect Tank Farm Overview and click on the Create button. 4. Select the new aspect Tank Farm Overview and press the Edit button in the preview area or select Edit from the context menu. 5. Now Graphic Builder starts, and its dialog windows open. Open Tools menu, select Graphic Libraries and check Graphic primitives and Extended Primitives. 6. Create the tanks, pipes and valve as described below: a. Select Graphic Primitives tab and use the AdvantCone tool from the Graphic Primitives toolbox. Press the left mouse button and drag the mouse to the size of choice, then release the left mouse button. 3BSE030335R

188 How to Build a Graphic Display Section 8 Tutorial b. Open View menu - Properties Window - Direction and change in order to get the desired look. Figure 74. Graphic Primitives Tab c. Build the pipe in between the tanks with the AdvantPipe tool in the toolbox. d. Change the AdvantPipe ends to make it look like a proper connection between them. Select Properties window in the View menu if not already open. Change BottomRightEnd, TopLeftEnd, and Orientation in order to get the desired look. Figure 75. Properties Window 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 BSE030335R4101

189 Section 8 Tutorial Adding Graphic Elements to the Graphic Display Adding Graphic Elements to the Graphic Display You add graphic elements to the graphic display as described below: 1. Use the Element Browser. Open Element Browser in the Tools menu. Click browse and select the AI1.12 MB300AI from Control Structure. Press OK. 2. The Element Browser now looks like in Figure 76. Select the graphic element BargraphMV01, and click Add Element. Drag the bar-graph to the upper tank. AI1.12 Figure 76. Lower Tank Level Display 3. Repeat the steps, which you just did, but place AI1.13 on the Lower tank instead. Press OK. 4. In the Control structure there must be an object type MB300 valve (AC400 connection in this example). If not, create one under the external process objects. 5. Add the valve via the Element Browser. Select the graphic element Valve01 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. 3BSE030335R

190 Using Logical Colors Section 8 Tutorial Using Logical Colors We want a rectangle at the bottom to turn red, when fluid passes through the valve, to indicate dangerous fluid. The fluid is measured by AI1.14. If the value is above 0 the rectangle will turn red and blink. You can use logical colors to perform this function. 1. Click on the Graphic Primitives tab, select the AdvantRectangle tool. Place it below the tanks. It is now time to assign expressions to properties. This is done with the combination of inserting references and typing in the Expression entry field. 2. Mark the rectangle in the workspace area. Open Expression Builder in the View menu. Select the FillColor property, in the top half of the Expression Builder. The expression we will build will eventually look like this: iif(ai1.14:control Connection:VALUE > 0, unackhighalarm, GeneralBackColor) 3. Below is described how to do this: a. Type iif( b. Select the Object property tab in the lower half of the Expression Builder. Select the object AI1.14 and select Value in the sub-property list. c. Click Value - Control Connection from the Object Property list and then select Insert and the reference to AI1.14:Control Connection:Value will be inserted. Note that the above reference cannot be entered, it must be inserted from the bottom part of the Expression Builder. d. Type >0, e. Select the Color tab. Click the drop down menu with the color groups, choose Event Colors, then click UnackHighAlarm, and then Insert a red blinking color. A logical color reference is added to the FillColor property. f. type, 190 3BSE030335R4101

191 Section 8 Tutorial Using Logical Colors g. Repeat 3e, choose Process Graphic Colors and General Back Color. h. Type ) 4. Select the FrameColor property. Click the drop down menu with the color groups, choose Process graphics color, then Insert the GeneralBackColor. 5. Repeat step 4, but do it on the LineColor property instead. The Expression Builder shall now look like Figure 77 below. Figure 77. FillColor property 6. Open the File menu and Deploy. This will save, compile and link your Graphic Display. 7. Close Graphic Builder without save (already done). Hopefully you have accomplished a similar result as shown in Figure 72 on page BSE030335R

192 Tutorial 2 - Building a Graphic Element Section 8 Tutorial Tutorial 2 - Building a Graphic Element Graphic elements are building blocks that are used in displays and in other elements. Graphic elements contain Visual Basic controls, ActiveX controls, sub-elements and primitives. In this tutorial we will create a graphic element aspect and build a Bar element, which could be added to a graphic display. The result of this tutorial will look like Figure 78 on your screen. Figure 78. The Graphic Element IBar 192 3BSE030335R4101

193 Section 8 Tutorial Creating a Graphic Element Creating a Graphic Element 1. To create a new graphic element, start from Plant Explorer. Select Object Type Structure - Object Types - Control System - MB300 Object Types - MB300 Process Objects - MB300 Signals - MB300AI. Right-click the mouse and select New Aspect. Figure 79. Object Type Structure 2. The New Aspect window is opened. Select Show all. 3. Select Process Graphics, Graphic element and Graphic element and name it. 3BSE030335R

194 Creating a Graphic Element Section 8 Tutorial 4. Click Create. 5. Right-click on the created Graphic element. Select Edit, to open up the Graphics Builder. Figure 80. New Aspect 194 3BSE030335R4101

195 Section 8 Tutorial Building a Graphic Element Figure 81. Expression Builder - Object Property Building a Graphic Element To build the new graphic element: 1. Click on the icon for the desired generic element. In our example, it is the PgBar in the Graphic Primitives tab in the toolbox. 2. Place the cursor at any point in the Visual Basic s workspace. 3. Press the left mouse button and drag the mouse to the size of choice, then release the left mouse button. 3BSE030335R

196 Changing Properties for the Generic Element Section 8 Tutorial 4. The selected generic element now appears inside a bounding rectangle in the workspace. Figure 82. PgBar on Object Window With its Properties Window Changing Properties for the Generic Element Properties are changed to adapt the look, in this case color and width of the graphic element. 1. Select the graphic primitive PgBar in the workspace. 2. Open the Properties Window from the View menu. The Properties window is presented (if not already open) BSE030335R4101

197 Section 8 Tutorial Assigning Expressions to Properties 3. Change properties: FrameWidth to three (3), RangeMin to zero (0) and the ValueColor to a favorite color from the palette. 4. Select the object window and in the new properties menu, click BackColor in the right column, and select a nice color from the palette. Assigning Expressions to Properties All properties can be assigned an expression. Expressions can be written directly in the Expression Builder via the keyboard and via the tabs. To assign an expression to a property: 1. Select the Bar in the workspace. 2. Select Expression Builder in the View menu (if necessary: Resize/move the Expression Builder). 3BSE030335R

198 Assigning Expressions to Properties Section 8 Tutorial Figure 83. Expression Builder - Object Colors 3. Select FillColor property to assign an expression. Move the cursor to the right column the expression entry field. 4. Type iif( 5. Select the Object Property tab and select Object.. The. represents the object which the graphic element resides on, and hence receives its value from. Select Value - Control Connection, click Insert BSE030335R4101

199 Section 8 Tutorial Deploying a Graphic Element 6. Then type >60, (this will be the High Level Alarm). 7. Go to Color / Event Color / highalarmsymbol. 8. Click Insert in order to set high level alarm color. 9. Type, 10. Go to Colors / Object Colors / Measure. 11. Click Insert in order to set the non-alarm color. 12. Type ) Value is set with the same method. First select the relative object. and then the property VALUE-Control Connection. Deploying a Graphic Element To deploy the new graphic element: 1. Choose Deploy from the File menu The Deploy function save, compile and link the aspect. If a graphic element is not deployed, you can only use it in Graphics Builder. 2. Confirm the deployment. 3. Exit Graphics Builder and answer No on the question if you want to save the changes (they are already saved). The Tutorial 2 is now done and the object ready for use. 3BSE030335R

200 Tutorial 3 - Creating and Configuring Faceplates Section 8 Tutorial Tutorial 3 - Creating and Configuring Faceplates The faceplate will contain an input field which sets the bar value.it will also contain two buttons T and F. Select T and a smiley icon will appear in the indicator field. Select F and an F will appear in the indicator field. The faceplate also includes an aspect link, which when clicked upon open up the window of the aspect. The result will look like this. Indicator Aspect link Bar Command button Push buttons Figure 84. Faceplate Creating a Faceplate Element Before we start creating the faceplate element, we must create a test environment. We will use a general property aspect to be able to test the faceplate element BSE030335R4101

201 Section 8 Tutorial Tutorial 3 - Creating and Configuring Faceplates Follow the steps to create a general property: 1. Mark the object where the Faceplate should reside by selecting the Object Type structure and browse to the MB300 AI object. The normal case is to create a new object type or to modify an existing one. In this case we modify the existing MB300 AI object type with new aspects. Right-click and select New Aspect. 2. Check the list presentation and find General Properties, name it Props, and press Create. 3. Click on Props in the Aspect list, and you get the menu: Property Configuration. 4. Set the name to BarNum, select Value type to Real. (The bar we will create should later use this value in the faceplate). Click Set. 5. Set a new name to Bool, select Value type Boolean. (The Faceplate we will create should later use this value). Click Set and Apply. 3BSE030335R

202 Tutorial 3 - Creating and Configuring Faceplates Section 8 Tutorial Figure 85. Property Configuration 6. Open aspect MB300AI Type Definitions and it s Aspect Control tab. 7. Mark Props and check Copy when object is created. Uncheck the other two choices Use... and Inherit... Now we have a value for the bar and we will create a Faceplate element. Creating a Faceplate Element 1. Add a new Faceplate Element aspect to the MB300 AI object by right-click on the object and then select New Aspect. 2. Go to Process Graphics, select Graphic Element, then Faceplate Element. 3. Name the Faceplate Element. Faceplate Element1 and press Create BSE030335R4101

203 Section 8 Tutorial Tutorial 3 - Creating and Configuring Faceplates 4. Click on edit and the Graphics Builder is launched. The grey area represents the Faceplate Element. 5. Go to the Tools menu, select Graphic Libraries and mark Subelements. Click Ok. 6. Click on the Subelements tab, select the IBar and place it in the object window, left-click and drag to wanted size. 7. Open the Properties Window area from view menu and set the property EnableInput to True, RangeMax to 100 and RangeMin to Click on ValueRef in Property Window and open the Property Pages menu. 9. Select ObjectProperty tab and Object. and BarNum-Props in the right column. Click Insert. 3BSE030335R

204 Tutorial 3 - Creating and Configuring Faceplates Section 8 Tutorial Figure 86. Graphic Workplace - Insert BarNum The Bar is now placed in the Faceplate Element area BSE030335R4101

205 Section 8 Tutorial Tutorial 3 - Creating and Configuring Faceplates Creating an Input Field. 1. Go to the toolbox, select the Subelements tab, click on the InputField tool and create the button. 2. Open the Expression Builder from view menu. 3. Open Object Property tab. Mark the. object. 4. In the upper field open Max, enter 100 and then open Min and enter Open Properties Window from view menu and select PropertyRef. 6. Click in the right field for PropertyRef and open the dotted menu button. 7. Press the menu button and a new menu Property pages will open. 8. Select object. and the property BarNum-Props. Press OK. 9. Deploy your graphics from the File menu. Confirm deployment, exit and answer no on question to save. 3BSE030335R

206 Tutorial 3 - Creating and Configuring Faceplates Section 8 Tutorial Figure 87. Graphic Workplace - Insert InputField We have now created a Faceplate Element which contains a bar and an input field BSE030335R4101

207 Section 8 Tutorial Tutorial 3 - Creating and Configuring Faceplates Configuring a Faceplate Set up the Button field and faceplate 1. Mark the object where the Faceplate should reside. Right-click and select New Aspect. 2. Mark list presentation and find Faceplate, name it Faceplate1. 3. Select Faceplate1, the unconfigured Faceplate is visible. 4. Select Config view at dropdown menu from the eye. 5. Go to Layout tab and Set MaxNoOfButtonRows to 1 and MaxNumberOfButtonsPerRow to 6. Click Apply. 6. Select Element tab, click in the Aspect field. Select Faceplate Element1 in the drop down list. Click Apply. 3BSE030335R

208 Tutorial 3 - Creating and Configuring Faceplates Section 8 Tutorial Figure 88. Button Field Create the Indicator 1. Select Indicators tab, click in the Icons/Labels field on Indicators row and you get the submenu Labels. 2. Click on the Label/Icon field, press radio button for Label field in the new menu. Enter F in the Label field and click Ok. 3. Click on Color field, select AC400 Event Colors and color AlarmPrio3. Click Ok BSE030335R4101

209 Section 8 Tutorial Tutorial 3 - Creating and Configuring Faceplates 4. In Labels menu click Add and you get a new row. 5. Click on the new Label/Icon field, press radio button for Icon and browse to your Industrial IT System Product s icon library. Click Ok. 6. Select Icon and browse. Choose an icon from your icon library. Click Open and then Ok. 7. The labels dialog should now look like this. 8. Click Ok. 9. Click on the Expression field, a new window Expressions show up and then type $'.:Props:Bool. Click Ok. 10. Click on the Faceplate Pos field, enter 1 and press Apply. Figure 89. The Indicator Labels Dialog Create the Aspect Link 1. Click on the Aspect field under Indicator tab and Aspect Link row, select Trend Display in the drop down list. 2. Click on the Icon/Label field. press the radio button for Use aspect icon. Click Open and then Ok 3. Select Faceplate Pos field, enter 6.Press Apply and an aspect link has been created. 3BSE030335R

210 Tutorial 3 - Creating and Configuring Faceplates Section 8 Tutorial Figure 90. Create Aspect Link Create the Push Buttons 1. Select Buttons tab and click on Icons/Labels field. 2. In the new menu Labels click on Label/Icon. 3. A new menu Add label or Icon comes up. Click on the radio button for the Label field, enter T in the field and click Ok BSE030335R4101

211 Section 8 Tutorial Tutorial 3 - Creating and Configuring Faceplates 4. Click on the Property Name field, select Bool in the drop down list. 5. Click on the Property Value select True in the drop down list. 6. Click on the Faceplate Pos and set it to Click Add and configure the new button field the same as previously described but with the following exceptions. 8. Set Icon/Label to F. 9. Set Property Value to False. 10. Set Faceplate Pos to Press Apply. Figure 91. Create Push Buttons 3BSE030335R

212 Tutorial 3 - Creating and Configuring Faceplates Section 8 Tutorial The Faceplate is now completely configured and ready for test. For information about using faceplates in runtime, from the operators perspective, see Faceplate Overview on page BSE030335R4101

213 Appendix A Standard Building Blocks Graphic Primitives Common Properties 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. Table 28. Graphic Primitives NAME AdvantArc AdvantBar AdvantBezier AdvantChord AdvantCone AdvantEllipse AdvantHscale AdvantLimit AdvantNumeric AdvantObjectTrim AdvantPie DESCRIPTION Draws an arc inside a bounding rectangle. Bar graph. Draws a Beziér line (curved line) between an array of points. Draws a chord inside a bounding rectangle. Draws a cone inside a bounding rectangle. Draws an ellipse inside a bounding rectangle. Horizontal placed scale. Limit indicator. Text box with numeric formatting. Trim element for max four traces. Draws a pie slice inside a bounding rectangle. 3BSE030335R

214 Common Properties Appendix A Standard Building Blocks Table 28. Graphic Primitives (Continued) NAME AdvantPipe AdvantPolygon AdvantPolyline AdvantRectangle AdvantText AdvantVscale PgBar PgErrorIndic Draws a pipe inside a bounding rectangle. Draws a filled polygon bounded by an array of points. Draws a polyline between an array of points. Draws a rectangle between a top-left and a bottom-right point. The rectangle can appear with rounded corners. Text box. Vertical placed scale. DESCRIPTION Bar graph with limits and error presentation. 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 28. ErrorPresentation The ErrorPresentation is used in the PgBar element, AdvantNumeric element, PgErrorIndicator and in the AdvantObjectTrim BSE030335R4101

215 Appendix A Standard Building Blocks Common Properties Table 29. Error Presentation Properties NAME TYPE DEFAULT DESCRIPTION AppError ENUM GOOD Values for the property are: 2- BAD - Bad data 1- UNCERTAIN - Uncertain value. Can only be presented if a good value was previously received 0-GOOD - Good data OpcStatus[6,7] INTEGER GOOD Server status. The source for this property is intended to be an Opc status. The value may be set through e.g. the expression builder, by referring to the sub property QualityCode of some accessed object property. The OpcStatus property masks out bit 6 and 7 from the input (1 byte) and interprets the value the following way: 0- BAD - The presentation is defined by ErrorFrameColor, ErrorColor, ErrorBackground and ErrorFillColor logical colors. The element is marked with a cross in color ErrorColor on a background in color ErrorBackground. 1- UNCERTAIN. Last known value is presented. The element is marked as crossed over with a diagonal line by the color of the ErrorUncertain Color logical color. 2- NOTRECEIVED - The element does not draw at all until data has been received 3- GOOD - All OK 3BSE030335R

216 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, NOTRECEIVED and GOOD. The default value of OpcStatus, as presented in the properties window, is 192. Presentation Table 30. Error Presentation Images OpcStatus[6,7] AppError 0:GOOD 1:UNCERTAIN 2:BAD 0: BAD 64: UNCERTAIN 128: NOT RECEIVED 192: GOOD The status NOT RECEIVED means that the primitive that implements the error presentation, does not draw at all BSE030335R4101

217 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. Table 31. Line Properties Name Type Default Description LineColor COLOR &H & Color of the line. LineStyle ENUM SOLID Style of the line. See below. LineWidth INTEGER 1 Width in pixels of the drawn line. Valid values are any positive integer. Line Styles The LineStyle property specifies the style of the line. Table 32. Line Styles Value Enum Sample 0 SOLID 1 DASH 3BSE030335R

218 Common Properties Appendix A Standard Building Blocks Table 32. Line Styles (Continued) Value Enum Sample 2 DOT 3 DASHDOT 4 DASHDOTDOT 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 BSE030335R4101

219 Appendix A Standard Building Blocks Common Properties Angle Properties The primitive elements AdvantArc, AdvantChord and AdvantPie have round handles at the start and end points. AdvantPie AdvantChord AdvantArc Figure 92. Primitive Elements with Angle Properties 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. Point List The primitive elements AdvantPolyline, AdvantPolygon and AdvantBerzier are defined by a number of connected points. This means that you change their look moving their existing point. It is also possible to add and delete points. This gives you a lot of possibilities to change their look. Below is an example with the AdvantPolyline primitive. 3BSE030335R

220 Common Properties Appendix A Standard Building Blocks 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 93 below. Start Position of Point The Template View of the AdvantPolyline with four points To move a point: Move the cursor to the point so the cursor changes from an arrow to a cross. By holding down the left mouse button you can move the point to a new position. Moved Point The Changed View of the AdvantPolyline with four points Arrow Cursor Cross Cursor Figure 93. Moving an Existing Point To Add a New Point To add a new point: 1. Select the primitive. 2. Move the cursor to a line between two points. The cursor changes to a crosshair (+). 3. Press Shift + left mouse button. The new point is added. New Point Figure 94. Adding a New Point 220 3BSE030335R4101

221 Appendix A Standard Building Blocks Common Properties To Delete a Point To delete a point: 1. Move the cursor to the point. The cursor changes to AllsizeArrow. 2. Press Ctrl + left mouse button. The point is deleted. 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. Table 33. Fill Properties Name Type Default Description FillColor COLOR &H00F7F7F7& Color of the area fill. FillColor2 COLOR &H00BFBFBF& Second color of the rectangle if FillStyle is set to any of the hatched or shading methods. FillStyle ENUM SOLID See below. FillStyle2 ENUM OPAQUE Mode of the background if any of the hatched patterns is used. Can be OPAQUE or TRANSPARENT. Granularity INTEGER 50 Granularity of the shading. This property is only valid on primitive elements with shaded fill styles. 3BSE030335R

222 Common Properties Appendix A Standard Building Blocks Fill Styles The FillStyle property specifies how the area fill would appear. Table 34. Fill Styles Value Enum Sample 0 SOLID 1 TRANSPARENT 2 BDIAGONAL 3 CROSS 4 DRAGCROSS 5 FDIAGONAL 222 3BSE030335R4101

223 Appendix A Standard Building Blocks Common Properties Table 34. Fill Styles (Continued) Value Enum Sample 6 HORIZONTAL 7 VERTICAL The filling is controlled by FillColor, FillStyle and in case of shading also by FillColor2 and Granularity. The FillStyle2 is effective when one of the hatched patterns is used. The FillStyle property specifies how the area fill would appear. Table 35. Shaded Fill Styles Value Enum Sample 8 VERTICAL SHADE 9 HORIZONTAL SHADE 3BSE030335R

224 Common Properties Appendix A Standard Building Blocks Table 35. Shaded Fill Styles (Continued) Value Enum Sample 10 VERTICAL 3DSHADE 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. Table 36. 3D Frame Properties Name Type Default Description Fram3Deffect ENUM RAISED 3D effect of the frame. See Figure 95 below. FrameColor COLOR &H00FDFDFD& Color of the left-top part of the 3D frame. FrameColor2 COLOR &H007F7F7F& Color of the right-bottom part of the 3D frame. FrameWidth INTEGER 1 Width of the 3D frame BSE030335R4101

225 Appendix A Standard Building Blocks Event Declarations The 3D effect of the frame can be RAISED or SUNKEN. If set to RAISED FrameColor is used for the left-top part. FrameColor2 is used for the bottom-right part. If set to SUNKEN the colors will be swapped. RAISED SUNKEN Event Declarations Figure 95. 3D-Effect Property (Raised/Sunken) 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: 3BSE030335R

226 Event Declarations Appendix A Standard Building Blocks Table 37. Event Generation Properties NAME TYPE DEFAULT DESCRIPTION AutoDew Boolean TRUE When set to true, the primitive creates a DEW object, that is conveyed to the client by the autodew parameter of the OnMouseDown event. EnableInput Boolean FALSE If true, the primitive generates events when clicked at BSE030335R4101

227 Appendix A Standard Building Blocks Event Declarations Following events are generated when clicking at controls that are click sensitive: Private Sub PgBar1_OnMouseDown( ByVal button As Long, ByVal target As Long, ByVal xown As Single, ByVal yown As Single, ByVal xcontainer As Single, ByVal ycontainer As Single, ByVal autodew As Object) Private Sub PgBar1_OnMouseMove( ByVal button As Long, ByVal shift As Long, ByVal xown As Single, ByVal yown As Single, ByVal xcontainer As Single, ByVal ycontainer As Single) Private Sub PgBar1_OnMouseUp( ByVal button As Long, ByVal shift As Long, ByVal xown As Single, ByVal yown As Single, ByVal xcontainer As Single, ByVal ycontainer As Single) In most cases, it is just the MouseDown event that is of interest. Parameters that are of interest are target and autodew. The Target parameter states, for primitives that possess more than one click sensitive area, which area was clicked at by the operator. This enables the client of the primitive (typically a faceplate element) to find out which value, typically a property of a process object, shall be affected. E.g. the VScale and HScale primitives use the target property to state whether some max value or some min. value shall be affected. The autodew parameter brings a data entry window (DEW) object to the client. The DEW is a pop-up window that allows the user to enter a new value that is handed over to the client when the user clicks the return key. 3BSE030335R

228 AdvantArc Appendix A Standard Building Blocks 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: Private WithEvents m_dew As PgDEW Private thetarget as Integer Private Sub AdvantBar1_OnMouseDown(ByVal button As Long, ByVal target As Long, ByVal xown As Single, ByVal yown As Single, ByVal xcontainer As Single, ByVal ycontainer As Single, ByVal autodew As Object) Set m_dew = autodew Make sure the dew stays Let thetarget = target '... End Sub Private Sub ReleaseDew() Set m_dew = Nothing Release the DEW End Sub The initial value of the DEW, in general, is the value of the property representing the clicked target. I.e. when clicking at the max value of a VScale/HScale primitive, the DEW pops up showing the value of the MaxValue property. AdvantArc An AdvantArc is a simple primitive element displaying a part of an ellipse. Figure 96. AdvantArc 228 3BSE030335R4101

229 Appendix A Standard Building Blocks PgBar After creation the bounding rectangle can be manipulated to change size and position of the Arc. Table 38. AdvantArc Properties NAME TYPE DEFAULT DESCRIPTION StartAngle INTEGER 135 Starting angle (0-359) of the arc. 0 is positioned at 3 o clock. StopAngle INTEGER 100 Stop angle (0-359) of the arc. If StartAngle and StopAngle are equal a full ellipse is drawn. Additional Properties for AdvantArc are found in: Line Properties on page 217 Angle Properties on page 219 Visibility on page 217 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. 3BSE030335R

230 PgBar Appendix A Standard Building Blocks 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 Limit4 Value Limit5 Limit6 Limit7 Limit8 Limit1 Value Limit2 Style = EightLimits Style = TwoLimits Figure 97. Example of PgBars 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: 230 3BSE030335R4101

231 Appendix A Standard Building Blocks PgBar Table 39. Limit Properties NAME TYPE DEFAULT DESCRIPTION LimitNColor OLE_COLOR &H007F7F7F& Color of the two limits LimitNFill ENUM Not filled Limit fill style (Table 40) LimitNStyle ENUM Invisible Limit style (Table 40) LimitNValue FLOAT 0 Value of limit N Table 40. Limit Fill Styles LeftSideSymmetric Filled Notfilled LeftSideLeft LeftSideRight RightSideSymmetric RightSideRight RightSideLeft Invisible 3BSE030335R

232 PgBar Appendix A Standard Building Blocks The properties of the PgBar are: Table 41. PgBar Properties NAME TYPE DEFAULT DESCRIPTION AutoDEW Boolean TRUE If True and you click on the bar, a Direct Entry Window object is created. It is returned to the client. Displacement 0 Displacement of the Data Entry Window from the bar. Horizontal bar gives displacement downwards. Vertical bar gives displacement to the right. EnableInput Boolean FALSE Enable generation of the events: MouseUp, MouseDown and MouseMove when clicked upon. EnableInputLimits Boolean FALSE Enables input associated with the limits FrameWidth2 INTEGER 0 Defines how far outside the bar the limit object reaches LimitHeight FLOAT 5 Limit height (valid for Eight Limits) LimitLineWidth INTEGER 1 Limit line width (valid for Eight Limits) OpcStatus Integer 192 = Good The Opc status presented by the Input element in case the AutoPresentation property is set to false. More information found in ErrorPresentation on page 214. Orientation ENUM Vertical The orientation of the bar. Can be VERTICAL or HORIZONTAL. RangeMax FLOAT 100 Value of the top or right part of the bar. RangeMin FLOAT -100 Value of the bottom or left part of the bar. StartValue FLOAT 0 Starting point of the bar BSE030335R4101

233 Appendix A Standard Building Blocks PgBar Table 41. PgBar Properties (Continued) NAME TYPE DEFAULT DESCRIPTION Style ENUM EightLimits See Figure 97 above. Value FLOAT 50 Value to control the bar. ValueColor OLE_COLOR &H0000DF00& Color of the area indicating the current bar value ValueColorNeg OLE_COLOR &H00FF0000& Color of the area indicating the current bar value, if the value is below zero Additional properties for PgBar are found in: ErrorPresentation on page 214 Fill Properties on page 221 3D Frame Properties on page 224 Visibility on page 217 FrameWidth2 Figure 98. FrameWidth2 on PgBar Example 3BSE030335R

234 PgBar Appendix A Standard Building Blocks 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. Mouse click target areas Figure 99. Target Areas Clicking at a target area, fires the events described in Event Declarations on page 225. The target parameter of each event has the following coding: Target Value Value 0 Limit 1 1 Limit Limit BSE030335R4101

235 Appendix A Standard Building Blocks PgBar 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 Figure 100. Error Presentation 3BSE030335R

236 AdvantBezier Appendix A Standard Building Blocks AdvantBezier A Bezier is like a polyline where the connecting lines are formed using the bezier algorithm instead of straight lines. Figure 101. AdvantBezier 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 BSE030335R4101

237 Appendix A Standard Building Blocks AdvantChord Table 42. AdvantBezier Properties NAME TYPE DEFAULT DESCRIPTION Additional Properties for AdvantBezier are found in: Line Properties on page 217 Visibility on page 217. Table 43. AdvantBezier methods NAME AddPoint(x,y,x1,y1,x2,y2) DeleteAllPoints() DESCRIPTION Adds one point with the given coordinates and gravity points. Deletes all points of the curve. AdvantChord An AdvantChord is a closed figure bounded by the intersection of an ellipse and a line segment. Figure 102. AdvantChord 3BSE030335R

238 AdvantChord Appendix A Standard Building Blocks After creation, the bounding rectangle can be manipulated to change size and position of the Chord. Figure 103. Another Example of an AdvantChord 238 3BSE030335R4101

239 Appendix A Standard Building Blocks AdvantChord The properties of AdvantChord are: Table 44. AdvantChord Properties NAME TYPE DEFAULT DESCRIPTION StartAngle INTEGER 225 Starting angle (0-359) of the chord. 0 is positioned at 3 o clock. StopAngle INTEGER 135 Stop angle (0-359) of the chord. If StartAngle and StopAngle are equal a full ellipse is drawn. Additional properties for AdvantChord are found in: Line Properties on page 217 Fill Properties on page 221 Visibility on page 217 Angle Properties on page BSE030335R

240 AdvantCone Appendix A Standard Building Blocks AdvantCone The AdvantCone primitive draws a cone consisting of four vertices connected by straight lines. Figure 104. Examples of AdvantCones 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. Table 45. AdvantCone Properties Name Type Default Description ConStrength INTEGER 20 Size of the cone top in percent of full width. If set to 100, the cone top is the same size as the cone bottom, and the cone is drawn as a pipe with flat ends BSE030335R4101

241 Appendix A Standard Building Blocks AdvantEllipse Table 45. AdvantCone Properties Name Type Default Description Direction ENUM DOWN UP, DOWN, RIGHT or LEFT. Additional properties for AdvantCone are found in: Line Properties on page 217 Fill Properties on page 221 Angle Properties on page 219 Visibility on page 217. AdvantEllipse An AdvantEllipse Primitive is an ellipse with a frame and an area fill. Figure 105. Examples of AdvantEllipses 3BSE030335R

242 AdvantHscale Appendix A Standard Building Blocks The properties of the AdvantEllipse are: Table 46. AdvantEllipse Properties Name Type Default Description Additional Properties for AdvantEllipse are found in: Line Properties on page 217 Fill Styles on page 222 Visibility on page 217. 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 Figure 106. AdvantHscale 242 3BSE030335R4101

243 Appendix A Standard Building Blocks AdvantHscale After creation the bounding rectangle can be manipulated to change size and position of the scale. Table 47. AdvantHscale Properties Name Type Default Description EndValue FLOAT 100 The EndValue (Right point on the scale). LabelFont FONT Ambient.Fo nt Font used as labeling the scale. Default font from the container (VB User Control). LabelFormat BSTR #0.0 Format of the scale labels in Excel format. For more information on Excel format, se AdvantNumeric on page 247. LabelPosition ENUM DOWN The position of the label and tics. Can be UP or DOWN. See Figure 107 below. LabelStyle ENUM CENTRIC LabelStyle CENTRIC or ALIGNED. See Figure 107 below. MajorStrength INTEGER 5 The length of the major tics in percent of bounding rectangle height. MajorTics INTEGER 3 Number of major tics. MinorStrength INTEGER 5 The length of the minor tics in percent of bounding rectangle height. MinorTics INTEGER 1 Number of minor tics. The number is the amount of minor tics between two major tics. StartValue FLOAT 0 The StartValue (Left point on the scale). Additional Properties for AdvantHscale are found in: Line Properties on page 217 Visibility on page BSE030335R

244 AdvantHscale Appendix A Standard Building Blocks Below is an example of AdvantHscale. 0, , ,0 LabelStyle = CENTRIC LabelPosition = DOWN 0, , ,0 LabelStyle = CENTRIC LabelPosition = UP 0, ,0 LabelStyle = ALIGNED LabelPosition = DOWN 0, ,0 LabelStyle = ALIGNED LabelPosition = UP Figure 107. Example of AdvantHscale The size of the outer boarder is constant. This means, when the LabelStyle = CENTRIC, that the number of characters in the labels set the size of the scale. More number of characters gives a shorter scale. See Figure 107 above where the number of characters are the same for LabelStyle = ALIGNED and LabelStyle = CENTRIC but the length of the scale differs BSE030335R4101

245 Appendix A Standard Building Blocks AdvantLimit (only valid for AdvantBar) AdvantLimit (only valid for AdvantBar) An AdvantLimit has the ability to show a vertically or horizontally placed limit symbol. Table 48. AdvantLimit Directions Examples LEFT RIGHT FULL UP DOWN LEFT RIGHT Only to be used with AdvantBar. Already included in PgBar. 3BSE030335R

246 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. Table 49. AdvantLimit Properties Name Type Default Description Direction ENUM LEFT The direction of the Limit. Can be UP, DOWN, LEFT or RIGHT. EnableInput Boolean FALSE If true, the primitive generates events when clicked at. Shape ENUM FULL Shape of the filled part of the Limit. Can be LEFT, RIGHT or FULL. Additional Properties for AdvantLimit are found in: Line Properties on page 217 Fill Properties on page 221 Visibility on page BSE030335R4101

247 Appendix A Standard Building Blocks AdvantNumeric AdvantNumeric An AdvantNumeric has the ability to show a number as formatted text. Table 50. Advant Numeric Format Examples Value Format Output #0 #,### #,###0.0 kr #,###0.0 After creation, the AdvantNumeric can be manipulated by changing size and position of its bounding rectangle. When using big numbers it is preferable to use AdvantText, see AdvantText on page 263. 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 51). 3BSE030335R

248 AdvantNumeric Appendix A Standard Building Blocks Disabling the strike through function could lead to misunderstandings when a message text is not entirely visible. It is advisable to consider the type and severity of the message when the function is disabled. Table 51. Advant Numeric Properties Name Type Default Description AutoDEW Boolean True If True and you click on the bar, a Direct Entry Window object is created. It is returned to the client. DisplacementX Integer 3 Displacement of the Data Entry Window from the numeric. See Figure 108 DisplacementY Integer 5 Displacement of the Data Entry Window from the numeric. See Figure 108. EnableInput Boolean False Enable generation of the events: MouseUp, MouseDown and MouseMove when clicked upon. Error Boolean False Error True means that ErrorCaption is displayed instead of the normal value. ErrorCaption String Is displayed when Error=True. Font FONT Default font from the container Font used in the text. Format STRING #0.0 Format of the value in Excel format. Only valid if NumberOfDecimals is set to -1. Se examples in Table 50 or Microsoft Excel Help (1) Halign ENUM CENTER Horizontal alignment of the text inside the frame. Can be LEFT, CENTER or RIGHT BSE030335R4101

249 Appendix A Standard Building Blocks AdvantNumeric Table 51. Advant Numeric Properties (Continued) NumberOfDecimals Integer -1 Sets the number of decimals. NumberOfDecimals controls the Format property. The value -1 represents not valid, meaning that the Format property is active. RightOf Boolean False RightOf true or false means that origo has two different positions. See Figure 108 below, for information. StrikeThrough Boolean TRUE Enable or disable the strike through facility, when the field is exhausted. TextColor Name Type Default Description OLE_COLOR &H & Color of the text. Valign ENUM MIDDLE Vertical alignment of the text inside the frame. Can be TOP, MIDDLE or BOTTOM. Value FLOAT 0.0 The value to display. Additional Properties for Numeric are found in: ErrorPresentation on page 214 Line Properties on page 217 Fill Properties on page 221 3D Frame Properties on page 224 Visibility on page 217. (1) For more information on Excel format, use Microsoft Excel In the Help menu select Microsoft Excel Help. Type in the word format and select Create a custom number format. 3BSE030335R

250 AdvantNumeric Appendix A Standard Building Blocks RightOf = false Numeric * RightOf = true DisplacementY * DisplacementY DisplacementX DisplacementX Data entry window RightOf indicates the position of origo * Figure 108. Displacement of Data entry window For further information, please see Event Declarations on page BSE030335R4101

251 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). Figure 109. ObjectTrim 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. 3BSE030335R

252 PgErrorIndic Appendix A Standard Building Blocks Table 52. AdvantObjectTrim Properties Name Type Default Description CurveNColor OLE_COLOR Color of the N:th trend curve. CurveMinValueN FLOAT -100 Minimum value of the trim area for the N th curve. CurveMaxValueN FLOAT 100 Maximum value of the trim area for the N th curve. CurveNValueN FLOAT 0 Current value (input) for the N th curve. CurveVisibleN BOOL TRUE Visibility of the N th trim curve. GridColor OLE_COLOR &H007F7F7F& Color of grid. GridNumberH INTEGER 5 Horizontal grid size. GridNumberV INTEGER 5 Vertical grid size. GridVisible BOOL TRUE Visibility of grid. TotalTime DOUBLE 0 Total time in date/time format. Additional Properties for AdvantObjectTrim are found in: 3D Frame Properties on page 224 Fill Properties on page 221 ErrorPresentation on page 214. 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 BSE030335R4101

253 Appendix A Standard Building Blocks PgErrorIndic Table 53. PgErrorIndic Properties Name Type Default Description Additional Properties for PgErrorIndic are found in: ErrorPresentation on page 214 Visibility on page 217. Figure 110. Error State Bad Figure 111. Error State Uncertain When the error state is GOOD the primitive is not visible at all. 3BSE030335R

254 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. Figure 112. AdvantPie After creation the bounding rectangle can be manipulated to change size and position of the element. Table 54. AdvantPie Properties Name Type Default Description Additional Properties for AdvantPie are found in: Line Properties on page 217 Fill Properties on page 221 Angle Properties on page 219. Visibility on page BSE030335R4101

255 Appendix A Standard Building Blocks AdvantPipe AdvantPipe The AdvantPipe draws a pipe with area fill. TopLeftEnd Right TopLeftEnd Left BottomRightEnd Left BottomRightEnd Right Figure 113. Examples of AdvantPipes 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. 3BSE030335R

256 AdvantPipe Appendix A Standard Building Blocks Table 55. AdvantPipe Properties Name Type Default Description BottomRightEnd ENUM FLAT Bottom or right end shape (depending of the direction) of the pipe. Can be FLAT, LEFT or RIGHT. Orientation ENUM HORIZONTAL Orientation of the pipe. Can be VERTICAL or HORIZONTAL. TopLeftEnd ENUM FLAT Top or left end shape (depending of the direction) of the pipe. Can be FLAT, LEFT or RIGHT. Additional properties for AdvantPipe are: Line Properties on page 217 Fill Properties on page 221 Visibility on page BSE030335R4101

257 Appendix A Standard Building Blocks AdvantPolygon AdvantPolygon A Polygon is a closed figure bounded by a line through a number of points. Figure 114. Examples of Polygons 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. Table 56. AdvantPolygon Properties NAME TYPE DEFAULT DESCRIPTION Additional properties for AdvantPolygon are: Line Properties on page 217 Fill Properties on page 221 Smooth Property on page 218 Visibility on page BSE030335R

258 AdvantPolyline Appendix A Standard Building Blocks Table 57. AdvantPolygon Methods AddPoint(x,y) NAME DeleteAllPoints() DESCRIPTION Adds one point with the given coordinates. Deletes all points of the curve. AdvantPolyline An AdvantPolyline draws a line between a number of points. Figure 115. AdvantPolyline 258 3BSE030335R4101

259 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. Table 58. AdvantPolyline Properties NAME TYPE DEFAULT DESCRIPTION Additional properties for AdvantPolyline are: Line Properties on page 217 Smooth Property on page 218 Visibility on page 217. Table 59. AdvantPolyline Methods NAME AddPoint(x,y,x1,y1,x2,y2) DeleteAllPoints() DESCRIPTION Adds one point with the given coordinates and gravity points. Deletes all points of the curve. 3BSE030335R

260 AdvantPolyline Appendix A Standard Building Blocks AdvantRectangle An AdvantRectangle can draw a rectangle with a frame and an area fill. Figure 116. Examples of AdvantRectangles 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 BSE030335R4101

261 Appendix A Standard Building Blocks AdvantBar Table 60. AdvantRectangle Properties Name Type Default Description Round INTEGER 0 Percent of rounding of the corners. 0 means a rectangle with no rounding, 100 means fully rounded. Other properties of the primitive element AdvantRectangle are: Line Properties on page 217 Fill Properties on page 221 3D Frame Properties on page 224 Visibility on page 217. AdvantBar An AdvantBar has the ability to show a vertically or a horizontally placed bargraph symbol. Figure 117. AdvantBar 3BSE030335R

262 AdvantBar Appendix A Standard Building Blocks After creation the bounding rectangle can be manipulated to change size and position of the Bar. Table 61. AdvantBar Properties Name Type Default Description AutoDEW Boolean True If True and you click on the bar, a Direct Entry Window object is created. It is returned to the client. Displacement Integer 0 Displacement of the Data Entry Window from the bar. Horizontal bar gives displacement downwards. Vertical bar gives displacement to the right. EnableInput Boolean False Enable generation of the events: MouseUp, MouseDown and MouseMove when clicked upon. MaxValue FLOAT 100 Value of the top or right part of the bar. MinValue FLOAT -100 Value of the bottom or left part of the bar. Orientation ENUM VERTICAL The orientation of the bar. Can be VERTICAL or HORIZONTAL. StartValue FLOAT 0 Starting point of the bar. Value FLOAT 50 Value to control the bar. ValueColorMaxg OLE_COLOR &H0000DF00& Color of the filled value part of the bar then Value is in the interval StartValue-MaxValue. ValueColorMin OLE_COLOR &H00FF0000& Color of the filled value part of the bar then Value is in the interval StartValue-MinValue. Additional properties for the AdvantBar are: Line Properties on page 217 Fill Styles on page 222 3D Frame Properties on page 224 Visibility on page BSE030335R4101

263 Appendix A Standard Building Blocks AdvantText This element should be considered obsolete. The AdvantBar is only present for backward compatibility reasons. In new development, use the graphic primitive PgBar on page 229. AdvantText A primitive with the ability to show text. Figure 118. AdvantText 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 247 Note that the tool tip for a graphic item does not work when the item is click transparent. 3BSE030335R

264 AdvantText Appendix A Standard Building Blocks After creation the bounding rectangle can be manipulated to change size and position of the element. Table 62. AdvantText Properties Name Type Default Description AutoDEW Boolean TRUE At this point, the AutoDEW property has no effect. The Text primitive does not create a DEW. EnableInp ut Boolean FALSE If true, the primitive generates events when clicked at. Font FONT Default font from the container Font used in the text. Halign ENUM CENTER Horizontal alignment of the text inside the frame. Can be LEFT, CENTER or RIGHT. StrikeThro ugh Boolean Enabled Enable or disable the strike through facility, when the field is exhausted. Text STRING (empty) The text to display. TextColor OLE_COLOR &H & Color of the text. Valign ENUM MIDDLE Vertical alignment of the text inside the frame. Can be TOP, MIDDLE or BOTTOM. Additional properties for AdvantText are: Line Properties on page 217 Fill Styles on page 222 3D Frame Properties on page 224 Visibility on page BSE030335R4101

265 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 Figure 119. AdvantVscale After creation the bounding rectangle can be manipulated to change size and position of the element. Table 63. AdvantVscale Properties Name Type Default Description AutoDEW Boolean True If True, a Direct Entry Window object is created and returned to the client when the object is clicked upon. EnableInput Boolean False Enable generation of the events: MouseUp, MouseDown and MouseMove when clicked upon. EndValue FLOAT 100 The EndValue (Highest point on the scale). Font FONT Ambient.Fo nt Font used for labeling the scale. Default font from the container (VB Form). LabelFormat BSTR #0.0 Format of the scale labels in Excel format. For more information on Excel format se AdvantNumeric on page BSE030335R

266 AdvantVscale Appendix A Standard Building Blocks Table 63. AdvantVscale Properties (Continued) Name Type Default Description LabelPosition ENUM LEFT The position of the label and tics. Can be LEFT or RIGHT. LabelStyle ENUM CENTRIC LabelStyle CENTRIC or ALIGNED. In LabelStyle CENTRIC, all major ticks are labeled, in LabelStyle ALIGNED, only the end ticks are labeled regardless of the number of major ticks. MajorStrength INTEGER 10 The length of the major tics in percent of bounding rectangle width. MajorTics INTEGER 3 Number of major tics. MinorStrength INTEGER 5 The length of the minor tics in percent of bounding rectangle width. MinorTics INTEGER 1 Number of minor ticks. The number is the amount of minor tics between two major tics. StartValue FLOAT 0 The StartValue (Lowest point on the scale). Additional properties for AdvantVscale are: Line Properties on page 217 Visibility on page BSE030335R4101

267 Appendix A Standard Building Blocks AdvantVscale LabelStyle = Centric LabelPosition = Left ,0 LabelStyle = Aligned LabelPosition = Right , ,0 0,0 LabelStyle = Centric LabelPosition = Right ,0 0,0 LabelStyle = Aligned LabelPosition = Left , ,0 0,0 0,0 Figure 120. Example of an AdvantVscale 3BSE030335R

268 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. Figure 121. Aspect Link To link the AspectLink component to the desired aspect, click on the aspect property in the Properties window in the Graphics Builder (Figure 122). Figure 122. AspectLink aspect Property This will open a dialog that allows browsing for any aspect in the system (Figure 123). The aspect selected in the dialog will be linked the AspectLink object and opened every time the button is pressed BSE030335R4101

269 Appendix A Standard Building Blocks Special Elements Figure 123. Browse Dialog Table 64. AspectLink Properties Name Type Default Description Appearance Integer 1 0 = Flat, 1 = 3D (See Command Button) aspect String : Specifies in human-readable form, the aspect linked to by the Aspect Link item Defined easily using the Properties window in the Graphics Builder (Figure 122). BackColor OLE_COLOR Default background The Background color of the aspect link. (See Command Button) 3BSE030335R

270 PgEventTunnel Appendix A Standard Building Blocks Table 64. AspectLink Properties (Continued) Name Type Default Description Caption String Aspect Link The text displayed by the aspect link. (See Command Button) DisabledPicture Picture - The picture displayed by the aspect link when enabled is false. (See Command Button) DownPicture Picture - The picture displayed by the aspect link when it is pressed. (See Command Button) Font Font Tahoma The Font used to display the Caption property. (See Command Button) ForeColor OLE_COLOR Black Currently not used. Picture Picture - The picture displayed by the aspect link. 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. 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 BSE030335R4101

271 Appendix A Standard Building Blocks PgEventTunnel 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 3BSE030335R

272 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. An overview of the different states of a standard AlarmControl is displayed in Table 65. Table 65 shows the most common alarm indications. Table 65. Alarm Indications Icon Alarm can be acknowledged Description Alarm is active and acknowledged Alarm is active, but not acknowledged Alarm is automatically disabled by the system Alarm disabled by a user 272 3BSE030335R4101

273 Appendix A Standard Building Blocks AlarmControl Table 65. Alarm Indications (Continued) Icon Description Alarm is idle, that is there are no alarms Alarm is neither active, nor acknowledged The AlarmControl element is intended to be displayed in the header area of a faceplate, and has a reserved place in the faceplate framework Figure 124. Thus, the AlarmControls s aspect object needs to contain a faceplate aspect for the control to be visible, directly or by inheritance. Figure 124. AlarmControl in Faceplate Header 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, but is instead copied from the Graphical Structure using the Plant Explorer The AlarmControl is triggered whenever an event is fired. The faceplate aspect containing the AlarmControl gets the message from an Alarm and Event List aspect. For further information on the usage of an AlarmControl and faceplate configuration, refer to Section 4, Faceplate Framework. 3BSE030335R

274 AspectViewCt Appendix A Standard Building Blocks AspectViewCt The AspectViewCt 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 a trend curve or an alarm list (Figure 125). An aspect hosted in an AspectViewCt is fully functional and its graphical interface can be accessed as usual. Figure 125. AspectViewCt hosting an Alarm and Event List Aspect The link to the hosted aspect is set up using the Aspect property. If the property is clicked upon in the Properties view in the Graphics Builder a dialog is shown allowing you to choose the aspect to be hosted in the control. Table 66. AspectViewCt Properties Name Type Default Description Aspect String - String representation of the Aspect hosted by the AspectViewCt element 274 3BSE030335R4101

275 Appendix A Standard Building Blocks AspectViewCt Composite Object List The Composite Object List element provides fast access to faceplates associated to objects in a composite object. The Composite Object List shows a list of the objects in a composite object and it can be placed in the faceplate for the composite object wherever you want the list to be presented. As with any other faceplate element, it is possible to place the Composite Object List under a tab in a tab group or in the "main view" of the faceplate. It is also possible to combine the Composite Object List with another element. To use the element, copy it from the Graphic Structure to a composite object type or use aspect group. The list element does not show any structural information at all. For example, if a composite object A contains a formal instance of another composite object B, where B has a number of sub objects, the list will include all subobjects in both A and B, without being able to separate B's subobjects from A's subobjects. It just presents a flat list of objects, see Figure 126. Figure 126. Composite Object List Element 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. 3BSE030335R

276 AspectViewCt Appendix A Standard Building Blocks When right clicking an object in the list the objects context menu will show up, see Figure 127. Figure 127. Composite Object List Context Menu 276 3BSE030335R4101

277 Appendix A Standard Building Blocks ABB Subelements ABB Subelements Bar 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. This element should be considered obsolete. The Bar element is present for backward compatibility reasons only. In new development the PgBar should be used instead. A Bar has the ability to show a bar with two hatched limit areas or four limit markers. Figure 128. Bar After creation the bounding rectangle can be manipulated to change size and position of the Bar. Table 67. Bar Properties Property Name Default Remarks BackColor Black Background color of the bar Displacement 0 Displacement of the Data Entry window from the bar. 3BSE030335R

278 Bar Appendix A Standard Building Blocks Table 67. Bar Properties (Continued) Property Name Default Remarks EnableInput False Enable generation of the events: MouseUp, MouseDown and MouseMove when clicked upon. Error False True: ErrorCaption is shown. The bar is hidden. False: The bar is shown ErrorCaption? Indication for Error presentation Font Arial 10 Bold Font used for ErrorCaption mark FrameStyle Sunken Raised or Sunken FrameWidth 0 FrameWidth2 0 Defines how far outside the bar the limit object reaches. HighLimit1 75 Warning limit high marker placement HighLimit1Color Grey Color of the limit and filling HighLimit1Fill Transparent Solid or Transparent HighLimit1Visible True Controls visibility, True or False HighLimit2 85 Alarm limit high marker placement HighLimit2Color Grey Color of the limit and filling HighLimit2Fill Transparent Solid or Transparent HighLimit2Visible True Controls visibility, True or False LowLimit1 25 Warning limit low marker placement LowLimit1Color Grey Color of the limit and filling LowLimit1Fill Transparent Solid or Transparent LowLimit1Visible True Controls visibility, True or False LowLimit2 15 Alarm limit low marker placement 278 3BSE030335R4101

279 Appendix A Standard Building Blocks Bar Table 67. Bar Properties (Continued) Property Name Default Remarks LowLimit2Color Grey Color of the limit and filling LowLimit2Fill Transparent Solid or Transparent LowLimit2Visible True Controls visibility, True or False Orientation Vertical Bar orientation, Vertical or Horizontal RangeMax 100 Top value of the bar RangeMin 0 Bottom value of the bar StartValue 0 Start position of value in the bar Style FourLimits FourLimits or TwoLimits Value 50 Value level ValueColor Green Color of bar and question mark ValueColorNeg Blue Color of bar when value is below Start Value Additional properties for Bar are: Visibility on page 217 The Bar subelement generates an event: Table 68. Event primitives OnMouseDown Events Description The mouse is clicked. 3BSE030335R

280 Bar Appendix A Standard Building Blocks Event signatures Private Sub Bar1_OnMouseDown( ByVal button As Long, ByVal shift As Long, ByVal xown As Single, ByVal yown As Single, ByVal xcontainer As Single, ByVal ycontainer As Single, ByVal autodew As Object) Bar Styles The subelement Bar can have two hatched limit areas or four limit markers. HighLimit2 HighLimit1? Value LowLimit1 LowLimit2 Figure 129. Bar Styles 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 BSE030335R4101

281 Appendix A Standard Building Blocks Bar 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. Table 69. Default Property Values for Bar Styles Property Name FourLimits TwoLimits BackColor Black Black Error False False ErrorCaption?? Font Arial 10 Bold Arial 10 Bold Field1Visible True True FrameStyle Sunken Sunken FrameWidth 1 1 HighLimit2 85 HighLimit2Fill Transparent HighLimit2Color Grey HighLimit2Visible True HighLimit HighLimit1Fill Transparent Transparent HighLimit1Color Grey Grey HighLimit1Visible True True LowLimit LowLimit1Fill Transparent Transparent 3BSE030335R

282 Property Elements Appendix A Standard Building Blocks Table 69. Default Property Values for Bar Styles (Continued) Property Name FourLimits TwoLimits LowLimit1Color Grey Grey LowLimit1Visible True True LowLimit2 15 LowLimit2Fill Transparent LowLimit2Color Grey LowLimit2Visible True Orientation Vertical Vertical RangeMax RangeMin 0 0 StartValue 0 0 Value ValueColor Green Green ValueColorNeg Blue Blue 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 BSE030335R4101

283 Appendix A Standard Building Blocks Property Elements The Following elements are described: Indicator Push Button Toggle Button IBar Input Field CheckBox Option Button Apply Button Cancel Button CheckBox IBar OptionButton PushButton CancelButton ApplyButton InputField Indicator ToggleButton Figure 130. Property Elements 3BSE030335R

284 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 70. Table 70. Indicator Properties Name Type Default Description AppError Enum 0 = Good Property that, in corporation with OpcStatus, controls the Bad (2) and Uncertain (1) presentation of the indicator. Displacement Integer 4 The distance in the X dimension, between the left side of the control and DEW. EnableInput Boolean True Needs to be True to allow input. Font Font Tahoma The font used for caption of the Boolean DEW. FrameColor OLE_COLOR &H00DFDFDF& Color of left top part of 3D frame. FrameColor2 OLE_COLOR &H007F7F7F& Color of bottom right part of 3D frame BSE030335R4101

285 Appendix A Standard Building Blocks Indicator Table 70. Indicator Properties (Continued) Name Type Default Description FrameWidth Integer 3 Width of 3D frame used to indicate input enabled. IndicatorColor OLE_COLOR &H00FFFFFF& The color of the indicator LineWidth Integer 3 Width of the line. OpcStatus Integer 192 = Good Controls the presentation of bad and uncertain values from opc. OpcStatus is only used when SetProperty has been overridden using an expression. ResetCaption String "Off" Caption of the set button on the Boolean DEW. ResetProperty ObjectPropertyRef Empty Reference to the object property that to which ResetValue is written in a reset operation. As with the SetProperty, the property can also be assigned an expression via the Expression Builder or VB code. That overrides the property reference set in the Properties window. If ResetProperty is left empty, reset operations use SetProperty ResetValue Variant False The value used in the reset operation 3BSE030335R

286 Indicator Appendix A Standard Building Blocks Table 70. Indicator Properties (Continued) Name Type Default Description SetCaption String "On" Caption of the set button on the Boolean DEW. SetProperty ObjectPropertyRef Empty Reference to the object property to which SetValue is written in a set operation. The value presented by the indicator is set to true if SetProperty is equal to SetValue.The property can also be assigned an expression via the Expression Builder or VB code. This would override the reference set in the Properties Window. SetValue Variant True The value used in the set operation. Events Public Event OnChange (value As Variant, ByRef valid As Boolean) Public Event OnApply (value As Variant, ByRef cancel As Boolean) More information on events used by property elements is found in Section 5, Configuring Faceplate Elements BSE030335R4101

287 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. Table 71. Push Button Properties Property Type Default Description Action Enum SystemDefault Determines if a direct or an applied action is performed by the element. Caption String On The text on the push button DisableColor OLE_COLOR &H & Color of the disabled text EnableInput Boolean True When set to false, the push button cannot be pressed and it is dimmed. FillColor OLE_COLOR &H00C0C0C0& Color of button background Font Font Tahoma The font of the text FrameColor OLE_COLOR &H00DFDFDF& Color of left top part of 3D frame FrameColor2 OLE_COLOR &H007F7F7F& Color of the bottom right part the 3D frame FrameWidth Integer 3 Width of 3D frame 3BSE030335R

288 Push Button Appendix A Standard Building Blocks Table 71. Push Button Properties (Continued) Property Type Default Description IndicateValue Boolean False When set to true, the button stays in when the value of the property referenced by PropertyRef equals Value. In this case, standard error presentation is based on quality of the object property referenced by PropertyRef. OptionButtonsGroup Integer 0 This property is valid only when IndicateValue is true. In that case it is determined which "local" option button group the PushButton is part of. PropertyRef ObjectPropertyRef Empty Reference to the object property to which a write operation is performed, when the push button is pressed. The property can also be assigned an expression via the Expression Builder or VB code. This overrides the reference set in the Properties window. Step Boolean False When set to true, an increase/decrease operation is performed when the button is pushed. The step size is defined by the Value property BSE030335R4101

289 Appendix A Standard Building Blocks Toggle Button Table 71. Push Button Properties (Continued) Property Type Default Description TextColor OLE_COLOR &H & Color of caption Value Variant True The value written to the PropertyRef property when the push button is pressed. 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 5, Configuring Faceplate Elements. 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. 3BSE030335R

290 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. Table 72. Toggle Button Properties Property Type Default Description Action Enum SystemDefault Determines if a direct or an applied action is performed by the element. AppError Integer 0 = Good Property that, in corporation with OpcStatus, controls the Bad (2) and Uncertain (1) presentation of the button. DisableColor OLE_COLOR &H & Color of the disabled text EnableInput Boolean True If not set, input is not possible. FillColor OLE_COLOR &H00C0C0C0& Color of button background Font Font Tahoma The font used for caption. FrameColor OLE_COLOR &H00DFDFDF& Color of left top part of 3D frame in the buttons raised state and of the bottom right part in the sunken state. FrameColor2 OLE_COLOR &H007F7F7F& Color of left top part of 3D frame in the buttons raised state and of the bottom right part in the sunken state. FrameWidth Integer 3 Width of 3D frame 290 3BSE030335R4101

291 Appendix A Standard Building Blocks Toggle Button Table 72. Toggle Button Properties (Continued) Property Type Default Description OpcStatus Integer 192 = Good Controls the presentation of bad and uncertain values from opc. OpcStatus is only used when SetProperty has been overridden using an expression. ResetCaption String Off Caption of the button in its raised state. ResetProperty ObjectPropertyRef Empty Reference to the object property that receives ResetValue in a reset operation. If ResetProperty is left empty, reset operations are performed on the object property referenced by SetProperty If ResetProperty has a value and the corresponding WriteAccessGranted sub property is not true, then the button is dimmed to indicate "Input not allowed". The property can also be assigned an expression via the Expression Builder or VB code. This overrides the reference set in the Properties window. ResetValue Variant False The value used in the reset operation. 3BSE030335R

292 Toggle Button Appendix A Standard Building Blocks Table 72. Toggle Button Properties (Continued) Property Type Default Description SetCaption String On Caption of the button in its sunken state. SetProperty ObjectPropertyRef Empty Reference to the object property that receives SetValue in a set operation. If the WriteAccessGranted sub property, of the referenced property, is not true, then the button is dimmed to indicate "Input not allowed". The value presented by the indicator is set to true if SetProperty is equal to SetValue.The property can also be assigned an expression via the Expression Builder or VB code. This overrides the reference set via the Properties window. SetValue Variant True The value used in the set operation. TextColor OLE_COLOR &H00FFFFFF& The color of caption text. 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 5, Configuring Faceplate Elements BSE030335R4101

293 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. Table 73. IBar Properties Property Type Default Description AppError Enum 0 = Good Property that, in corporation with OpcStatus, controls the Bad (2), Uncertain (1) and good (0) presentation of the indicator. BarBackground OLE_COLOR &H007F7F7F& Background color of the bar. Displacement Integer 3 Displacement of direct input window. EnableInput Boolean True Controls whether input value operations can be initiated by clicking at the bar. EnableInputLimits Boolean False Controls whether "input value" operations can be initiated by clicking at the bar. ForegroundColor OLE_COLOR &H00DF0000& Foreground color of the bar. FrameColor OLE_COLOR &H00DFDFDF& Color of left top part of 3D frame. 3BSE030335R

294 IBar Appendix A Standard Building Blocks Table 73. IBar Properties (Continued) Property Type Default Description FrameColor2 OLE_COLOR &H007F7F7F& Color of the bottom right part of the 3D frame. FrameWidth Integer 3 Width of 3D frame FrameWidth2 Integer 2 Distance with which limit arrows exceeds out the 3D frame of the bar LimitHeight Integer 9 Controls the height of the "arrow" for limits in the EigthLimits style. LimitLineWidth Integer 1 Line width of limits in the EightLimits style. OPCStatus Integer 192=good Controls the presentation of bad and uncertain values from opc. OpcStatus is only used when SetProperty has been overridden using an expression. Orientation Enum Vertical The orientation can be either be vertical or horizontal RangeMax Single Max value of presented range RangeMin Single 0.0 Min. value of presented range Style Enum EightLimits See Figure BSE030335R4101

295 Appendix A Standard Building Blocks IBar Table 73. IBar Properties (Continued) Property Type Default Description ValueRef ObjectPropertyRef Empty Reference to an object property that controls the value presented by the bar. The property also controls the source for OPC error presentation. Input operations to "the value" of the bar are also performed to the object property referenced by this property. Visibility Boolean True Controls the visibility of the bar. More information on events used by property elements is found in Section 5, Configuring Faceplate Elements. In addition, the IBar has 8 sets of the following properties. X in each name is 1 to 8. Table 74. IBar Additional Properties Property Data type Default Value Description LimitXColor OLE_COLOR &H007F7F7F& The color of limit X. LimitXFill Enum Filled Controls whether the "tail" of a marker style limit is filled or not. 3BSE030335R

296 IBar Appendix A Standard Building Blocks Table 74. IBar Additional Properties (Continued) Property Data type Default Value Description LimitXStyle Enum Invisible Controls the style of limit X. Possible values of the property are: LeftSideSymmetric, LeftSideLeft, LeftSideRight, RightSideSymmetric, RightSideLeft, RightSideRight, Invisible LimitXValue ObjectPropertyRef "" Used to define the object property from which presented data is read and to which write operations are performed relating to limit X. StartValue Double 0.0 The Start value ValueColorNeg OLE_COLOR &H00FF0000& The color of ValueColorNeg 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 BSE030335R4101

297 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 307. Table 75. Input Field Properties Property Type Default Description AppError Enum 0 = Good Property that, in corporation with OpcStatus, controls the Bad (2) and Uncertain (1) presentation of the button. DataType Enum Real The DataType property determines the type of the Direct Entry Window that is created when the user clicks at the element. The property also determines the default formatting used for respective data type. Possible Values are: Real Integer String DateTime Time 3BSE030335R

298 Input Field Appendix A Standard Building Blocks Table 75. Input Field Properties (Continued) Property Type Default Description EnableInput Boolean True Set to True, the Input Field fires a Direct Entry Window when pressed, to allow input of a value (Figure 131). FillColor OLE_COLOR &H00C0C0C0& Background color of the text object. Font Font Tahoma The font used for text. Format String "" Format string for the presented value in Excel format. If the Format property is empty, then a standard format that depends on the DataType property is used. The Format property is not effective and should not be set when the selected DataType is time (interval). FrameColor OLE_COLOR &H00DFDFDF& Color of left top part of 3D frame. FrameColor2 OLE_COLOR &H007F7F7F& Color of the bottom right part the 3D frame. FrameWidth Integer 3 Width of 3D frame used to indicate that an input operation could be started clicking at the element BSE030335R4101

299 Appendix A Standard Building Blocks Input Field Table 75. Input Field Properties (Continued) Property Type Default Description Max Single - Sets the maximum value that can be entered into the DEW Min Single - Sets the minimum value that can be entered into the DEW. NumberOfDecimals Integer 2 Property that controls the number of decimals presented by the input element, in case the data type is Real and when the Format property is empty. OpcStatus Integer 192 = Good Controls the presentation of bad and uncertain values from opc. OpcStatus is only used when SetProperty has been overridden using an expression. PropertyRef ObjectPropertyRef Empty Reference to the object property to be represented by the Input element. An expression written via the expression builder overrides the reference set in Properties window. 3BSE030335R

300 Input Field Appendix A Standard Building Blocks Table 75. Input Field Properties (Continued) Property Type Default Description ShowMillieSeconds Boolean False Used in addition to the Format property to format DateTime and Date formats. StepSize Integer 1 Controls the step between possible values in the DEW. TextAlignment Enum Center Enum that specifies, left, center or right adjusted text. TextColor OLE_COLOR White Color or the text. ActivateCondition Boolean False Property used to control Direct entry windows invocation. Connected to an expression. True when data has been received via data subscription. DefaultActivation Enum 0 = Deactivated Property used to control Direct entry windows invocation. Can be set to: Deactivated, Activated, Reactivated and SystemDefault. See Automatically Invoked Direct Entry Windows on page BSE030335R4101

301 Appendix A Standard Building Blocks CheckBox Figure 131. Input Field DEW 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 5, Configuring Faceplate Elements. CheckBox The CheckBox element visually looks like the built in VB checkbox. 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. 3BSE030335R

302 CheckBox Appendix A Standard Building Blocks The CheckBox element does not support standard error presentation. 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 99. The CheckBox element is not windowless and transparent, tool tip doesn t show. Table 76. CheckBox Properties Property Type Default Description Action Enum SystemDefault Determines if a direct or an applied action is performed by the element. Caption String "Check" Caption of the CheckBox. EnableInput Boolean True If not set, input is not possible. Font Font Tahoma The font used for caption. ForeColor OLE_COLOR &H & The color of caption text BSE030335R4101

303 Appendix A Standard Building Blocks CheckBox Table 76. CheckBox Properties (Continued) Property Type Default Description ResetProperty ObjectPropertyRef Empty Reference to the object property that receives ResetValue in a reset operation. If ResetProperty is left empty, reset operations are performed on the object property referenced by SetProperty. 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. 3BSE030335R

304 CheckBox Appendix A Standard Building Blocks Table 76. CheckBox Properties (Continued) Property Type Default Description SetProperty ObjectPropertyRef Empty Reference to the object property that receives SetValue in a set operation. The value presented by the indicator is set to true if SetProperty is equal to SetValue. If the WriteAccessGranted sub property, of the referenced property, is not true, then the check box does not react to click operations. The property can also be set by an expression via Expression Builder, it can also be set from VB code. SetValue Variant True The value used in the set operation. 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 5, Configuring Faceplate Elements BSE030335R4101

305 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 99. The Option button element is not windowless and transparent, tooltip doesn t show. Table 77. Option Button Properties Property Type Default Description Action Enum SystemDefault Determines if a direct or an applied action is performed by the element. Caption String "On" The text on the push option. EnableInput Boolean True When set to false, the option button cannot be pressed does not react to clicking. Font Font Tahoma The font of the caption. OptionButtonGroup Integer 0 Determines which "local" option button group the option button is part of. 3BSE030335R

306 Option Button Appendix A Standard Building Blocks Table 77. Option Button Properties (Continued) Property Type Default Description PropertyRef ObjectPropertyRef Empty Reference to the object property to which a write operation is performed, when the option button is pressed. The property can be overridden by an expression set via the Expression Builder or via VB code. TextColor OLE_COLOR &H & Color of caption. Value Variant True The value written to the PropertyRef property when the option button is pressed. 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 5, Configuring Faceplate Elements BSE030335R4101

307 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 Figure 132. The Apply Button Clicking the Cancel button cancels the input session. Figure 133. The Cancel button Direct Entry Windows For more information of handling of Direct Entry Window see Configuring Direct Entry Windows on page BSE030335R

308 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. Table 78. PgDEW Methods Method Function GetTypedDew() As Object Function GetValue() As Variant Sub PlaceAtPosition(ByVal container As Object, ByVal posx As Long, ByVal posy As Long) Sub PositionRightOf(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long) Sub PositionUnder(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long, ByVal adaptwidth As Boolean) Sub SetValue(ByVal Value As Variant) Sub Show(ByVal Show As Boolean) Description Returns a pointer to the typed DEW attached to the non-typed DEW. Returns the DEW s current value. Positions the dialog relative to a containers window. PosX and posy are coordinates relative to the containers upper left corner. Positions the dialog to the right of the control primitive. DisplacementX/Y The distance in pixels between upper-right corner of the control and the upper-left corner of the DEW dialog. Positions the dialog under the control. DisplacementX/Y The distance in pixels between lower-left corner of the control and the upper-left corner of the DEW dialog. AdaptWidth Has no effect. Sets the value to be shown in DEW. Shows DEW dialog. Prior to calling this method, one of the three positioning methods above must be called BSE030335R4101

309 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. Table 79. PgNumericDEW Methods Method Function GetDEW() As IPgDEW Function GetValue() As Single Sub EnableLimits(ByVal EnableLimits As Boolean, ByVal NormalStep As Single) Sub PlaceAtPosition(ByVal container As Object, ByVal posx As Long, ByVal posy As Long) Sub PositionRightOf(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long) Description Returns a PgDew object. Returns the DEW s current value. Enables/disables limit checking of the input 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. Positions the dialog relative to a containers window. PosX and posy are coordinates relative to the containers upper left corner. Positions the dialog to the right of the control primitive. DisplacementX/Y The distance in pixels between upper-right corner of the control and the upper-left corner of the DEW dialog. 3BSE030335R

310 PgNumericDEW Appendix A Standard Building Blocks Table 79. PgNumericDEW Methods (Continued) Method Sub SetMinMax(ByVal MinValue As Single, ByVal MaxValue As Single) Sub SetNumberOfDecimals(ByVal NoOfDecimals As Long) Sub SetValue(ByVal Value As Single) Sub Show(ByVal Show As Boolean) Sub PositionUnder(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long, ByVal adaptwidth As Boolean) Description Sets the min. and max value boundaries. 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. Sets the number of decimals to be displayed. Sets the value to be shown in DEW. This value is NOT limited. Shows DEW dialog. Prior to calling this method, one of the three positioning methods above must be called. Position DEW under a primitive. PgIntegerDEW Object capable of displaying a dialog where the user can enter an integer value. Table 80. PgIntegerDEW Methods Method Function GetDEW() As IPgDEW Function GetValue() As Long Sub EnableLimits(ByVal EnableLimits As Boolean, ByVal NormalStep As Long) Description Returns a PgDEW object. Returns the DEW s current value. Controls whether incr./decr. can exceed the max/min values BSE030335R4101

311 Appendix A Standard Building Blocks PgNumericDEW Table 80. PgIntegerDEW Methods (Continued) Method Sub PlaceAtPosition(ByVal container As Object, ByVal posx As Long, ByVal posy As Long) Sub PositionRightOf(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long) Sub PositionUnder(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long, ByVal adaptwidth As Boolean) Sub SetMinMax(ByVal MinValue As Long, ByVal MaxValue As Long) Sub SetValue(ByVal Value As Long)Sets the value to be shown in DEW. This value will is NOT limited. Sub Show(ByVal Show As Boolean) Description Positions the dialog relative to a containers window. PosX and posy are coordinates relative to the containers upper left corner. Positions the dialog to the right of the control primitive. DisplacementX/Y The distance in pixels between upper-right corner of the control and the upper-left corner of the DEW dialog. Positions the dialog under the control. DisplacementX/Y The distance in pixels between lower-left corner of the control and the upper-left corner of the DEW dialog. Sets the min. and max value boundaries. 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. Sets the value to be shown in DEW. This value will is NOT limited. Shows DEW dialog. Prior to calling this method, one of the three positioning methods above must be called. 3BSE030335R

312 PgStringDEW Appendix A Standard Building Blocks PgStringDEW Object capable of displaying a dialog where the user can enter a string value. Table 81. PgStringDEW Methods Method Function GetDEW() As IPgDEW Function GetValue() As String Sub PlaceAtPosition(ByVal container As Object, ByVal posx As Long, ByVal posy As Long) Sub PositionRightOf(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long) Sub SetValue(ByVal Value As String) Sub Show(ByVal Show As Boolean) Sub PositionUnder(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long, ByVal adaptwidth As Boolean) Description Creates an instance of the non-typed DEW and returns a pointer to it. Returns the DEW s current value. Positions the dialog relative to a containers window. PosX and posy are coordinates relative to the containers upper left corner. Positions the dialog to the right of the control primitive. DisplacementX/Y The distance in pixels between upper-right corner of the control and the upper-left corner of the DEW dialog. Sets the value to be shown in DEW. Shows DEW dialog. Prior to calling this method, one of the three positioning methods above must be called. Positions the dialog under the control. DisplacementX/Y The distance in pixels between lower-left corner of the control and the upper-left corner of the DEW dialog BSE030335R4101

313 Appendix A Standard Building Blocks PgBoolDEW PgBoolDEW Object capable of displaying a dialog where the user can chose a true or false state. Table 82. PgBoolDEW Methods Method Function GetDEW() As IPgDEW Function GetValue() As Boolean Sub PlaceAtPosition(ByVal container As Object, ByVal posx As Long, ByVal posy As Long) Sub PositionRightOf(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long) Sub PositionUnder(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long, ByVal adaptwidth As Boolean) Sub SetButtonText(ByVal ebutton As PGDIRECTENTRYWINDOWLib.TF_BUTT ON, ByVal bstrtext As String) Sub SetValue(ByVal Value As Boolean) Description Returns a PgDEW object. Returns the DEW s current value. Positions the dialog relative to a containers window. PosX and posy are coordinates relative to the containers upper left corner. Positions the dialog to the right of the control primitive. DisplacementX/Y The distance in pixels between upper-right corner of the control and the upper-left corner of the DEW dialog. Positions the dialog under the control. DisplacementX/Y The distance in pixels between lower-left corner of the control and the upper-left corner of the DEW dialog. Sets the text to be displayed on one of the buttons. 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. Sets the value to be shown in DEW. 3BSE030335R

314 PgTimeDEW Appendix A Standard Building Blocks Table 82. PgBoolDEW Methods (Continued) Method Sub Show(ByVal Show As Boolean) Sub SetFont(ByVal punk As Unknown) Description Shows DEW dialog. Prior to calling this method, one of the three positioning methods above must be called. 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. Standard time span string format N1T1 N2T2 N3T3 N4T4 Nx Integer values. Tx Time identifier strings. The parsing mechanism accepts optional space characters between the integer values and the case insensitive time identifier strings. For every time unit any of the corresponding time identifier strings (see table below) can be used when entering values in the dialog BSE030335R4101

315 Appendix A Standard Building Blocks PgTimeDEW Time Identifier Strings: Table 83. PgTimeDEW Identifier Strings Time unit Case insensitive time identifier string Value = 1Long format Value > 1Long format Short format Year " Year " Years " Y Month " Month "" Months ""MO" Day " Day "" Days " D Hour Hour " Hours " H" Minute " Minute Minutes "M Second " Second " Seconds " S Millisecond " Millisecond " Milliseconds MS Input Examples User input string: 57m 12s Value in milliseconds: User input string: 57 Minutes 12s Value in milliseconds: User input string: 57 M 12 s Value in milliseconds: User input string: 12sec The parsing failed and the value is invalid. The Valid flag in the OnChange callback is set to false. 3BSE030335R

316 PgTimeDEW Appendix A Standard Building Blocks Output examples The method SetValue is called with a value of SetValue Displayed time span string: 37S 302MS Table 84. PgTimeDEW Methods Method Function GetDEW() As IPgDEW Function GetValue() As Double Sub PlaceAtPosition(ByVal container As Object, ByVal posx As Long, ByVal posy As Long) Description Returns a PgDEW object. Returns the DEW s current value in milliseconds. Positions the dialog relative to a containers window. PosX and posy are coordinates relative to the containers upper left corner. Sub PositionRightOf(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long) Sub PositionUnder(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long, ByVal adaptwidth As Boolean) Positions the dialog to the right of the control primitive. DisplacementX/Y The distance in pixels between upper-right corner of the control and the upper-left corner of the DEW dialog. Positions the dialog under the control. DisplacementX/Y The distance in pixels between lower-left corner of the control and the upper-left corner of the DEW dialog BSE030335R4101

317 Appendix A Standard Building Blocks PgDateDEW Table 84. PgTimeDEW Methods (Continued) Method Sub SetValue(ByVal Value As Double) Sub Show(ByVal Show As Boolean) Sub SetShowSignificant(ByVal lval As Long) Sub SetShortTimeFormat(ByVal bval As Boolean) Description Sets the time span value in milliseconds. The value is formatted to a time span string that is displayed in the DEW. Shows DEW dialog. Prior to calling this method, one of the three positioning methods above must be called. Sets number of significant time unit fields to show. The default value is two significant fields. VB Example: SetShowSignificant 3 SetValue Output time span string: 1M 2S 123MS Sets short or long printout format. See table 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. 3BSE030335R

318 PgDateDEW Appendix A Standard Building Blocks Table 85. PgDateDEW Method Function GetDEW() As IPgDEW Function GetValue() As Double Sub PlaceAtPosition(ByVal container As Object, ByVal posx As Long, ByVal posy As Long) Sub PositionRightOf(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long) Sub PositionUnder(ByVal primitive As Object, ByVal displacementx As Long, ByVal displacementy As Long, ByVal adaptwidth As Boolean) Sub SetValue(ByVal Value As Double) Sub Show(ByVal Show As Boolean) Description Returns a PgDEW object. Returns the DEW s current value. Positions the dialog relative to a containers window. PosX and posy are coordinates relative to the containers upper left corner. Positions the dialog to the right of the control primitive. DisplacementX/Y The distance in pixels between upper-right corner of the control and the upper-left corner of the DEW dialog. Positions the dialog under the control. DisplacementX/Y The distance in pixels between lower-left corner of the control and the upper-left corner of the DEW dialog. Sets the time span value. Shows DEW dialog. Prior to calling this method, one of the three positioning methods above must be called BSE030335R4101

319 Appendix B Sizes of Faceplates To be able to group Faceplates created in different versions of the 800xA System, it is strongly recommended that these guidelines are followed. The appendix is written to assist the Faceplate Element builders in their work and to explain what happens when a faceplate does not behave as expected. All sizes are measured in pixel units unless noted otherwise. Default Faceplate Element To fit into a normal faceplate a Faceplate Element should have default size according to the table below. Table 86. Faceplate Element Size Height Pixel Twip Width The ratio between Height and Width will then be BSE030335R

320 Default Faceplate Appendix B Sizes of Faceplates Default Faceplate A faceplate should have default size according to the table below:. Table 87. Faceplate Size Height Pixel Width In later versions of the product, when Faceplates can be grouped together, Faceplates must have the same size to fit in the group display. Sizes of Each Default Component in a Faceplate A normal Faceplate has a default configuration, which holds: A default sized header A status and navigation bar with 1 row and 6 positions A Faceplate element area A button area with 2 rows and 6 buttons per row The sizes of these are added in the table below. Note that the width is not added since all components reside in the same space width. Table 88. Sizes of Default Component in a Faceplate Component Height Width Header Status and Navigation Element Buttons Sum BSE030335R4101

321 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. Size of Each Part of the Components Each part of a component (for example an aspect link in the Status and Navigation bar) has a more or less fixed size. To best fit in the Faceplate Element, calculate the size it should have according to the rules below. Table 89. Component Size Component Part No Height Width Header 46 - Status and Navigation First Following Element Tab row 24 - Element - - Buttons First Following Header The header has a fixed height of 46 pixels and a non-fixed width, that must be at least 88 pixels wide. 3BSE030335R

322 Size of Each Part of the Components Appendix B Sizes of Faceplates Status-, Navigation Bar and Buttons Indicators, Aspect links and buttons have all the same size that is 38x38 pixels. The space between the "buttons" is 3 pixels wide and high and the bottom horizontal line is 2 pixels high. So, the first "button" is (=44) pixels wide and (=46) pixels high and the following are 3+38 (=41) pixels wide and high. The sum of 6 indicators (and/or Aspect links) on one row is 44+5*41 (=249) pixels wide and 46 pixels high. The sum of 6 buttons (on one row) times 2 rows is 44+5*41 (=249) pixels wide and (=87) pixels high. 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) BSE030335R4101

323 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: Table 90. Example Faceplate Content Component Reduced Normal Header 1 1 MaxNoOfIndicatorRows 0 2 MaxNoOfIndicatorsPerRow 0 5 MaxNoOfButtonRows 1 2 MaxNoOfButtonPerRow 4 5 Elements 1 1 We also want the views to have these sizes: Table 91. Size of Views View Height Width Reduced 150 To fit 4 buttons Normal BSE030335R

324 Example Appendix B Sizes of Faceplates Component Calculation gives these sizes per component in each view: Table 92. Sizes per Component Reduced Normal Height Width Height Width Header Status and Navigation Buttons Sum Element The element size available is calculated as the space left between the sum of all other components and the total space in the view 324 3BSE030335R4101

325 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. Create a New Aspect Category 1. Select the Aspect System Structure in Plant Explorer. 2. Go to Process Graphics and right-click one of the two aspect types, Graphic Display or Graphic Element. A drop down box appears, select Aspect Type Definition. Figure 134. Aspect Type Definition 3BSE030335R

326 Appendix C Create New Aspect Categories with Templates The Aspect Type Definition window is opened. 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. Figure 135. New Aspect Type 4. Right-click Loram Display, and select New Aspect in the dropdown 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 dropdown menu. 12. In the dialog, Select Aspect Details and click Add. Select Template Aspect and click OK in the dropdown menu that appears BSE030335R4101

327 Appendix C Create New Aspect Categories with Templates 13. You are now back in Dialog, click Apply and OK. Now you have created your own aspect category. 3BSE030335R

328 Appendix C Create New Aspect Categories with Templates 328 3BSE030335R4101

329 Appendix D Adding Members Adding a member is applicable for subelements only. The Add Member feature is accessed through the Tools menu. It allows you to add members to graphics. Member is a collective name for property, method, and event. The member is added to the entire graphic and not to any of its single elements. You can find more details about adding properties, methods and events in the Visual Basic s On-line Help file. 3BSE030335R

330 Add Member Window Appendix D Adding Members Add Member Window Open the Add Member window by choosing Add Member in the Tools menu. Figure 136. Add Member Window The main objectives of the Add Member window are: Adding methods and events. Adding Methods/Events on page 332. Adding properties. Adding Properties on page 333. 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 BSE030335R4101

331 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). Figure 137. Add Member Dialog box 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. 3BSE030335R

Industrial IT. 800xA - System PLC Connect System Version 4.0. Operation

Industrial IT. 800xA - System PLC Connect System Version 4.0. Operation Industrial IT 800xA - System PLC Connect System Version 4.0 Operation Industrial IT 800xA - System PLC Connect System Version 4.0 Operation NOTICE The information in this document is subject to change

More information

System 800xA 800xA for Freelance VB Graphics Extension Installation

System 800xA 800xA for Freelance VB Graphics Extension Installation System 800xA 800xA for Freelance VB Graphics Extension Installation System Version 6.0 Power and productivity for a better world T System 800xA 800xA for Freelance VB Graphics Extension Installation System

More information

Engineering Manual Security Lock

Engineering Manual Security Lock DigiVis 500 Engineering Manual Security Lock Version 1.0 SP1 DigiVis 500 Engineering Manual Security Lock Version 1.0 SP1 NOTICE The information in this document is subject to change without notice and

More information

COM600 Station Automation Series External OPC Client Access 3.1. User's Guide

COM600 Station Automation Series External OPC Client Access 3.1. User's Guide COM600 Station Automation Series External OPC Client Access 3.1 1MRS755564 Issued: 10.03.2005 Version: C/21.12.2007 COM600 Station Automation Series External OPC Client Access 3.1 Contents: 1. About this

More information

System 800xA Multisystem Integration

System 800xA Multisystem Integration System 800xA Multisystem Integration System Version 5.1 Power and productivity for a better world T System 800xA Multisystem Integration System Version 5.1 NOTICE This document contains information about

More information

COM600 Station Automation Series MNS is Connectivity (OPC) 3.2. User's Guide

COM600 Station Automation Series MNS is Connectivity (OPC) 3.2. User's Guide MNS is Connectivity 3.2 User's Guide 1MRS756569 Issued: 17.06.2008 Version: A/17.06.2008 User's Guide MNS is Connectivity 3.2 Contents: 1. About this manual... 5 1.1. Copyrights... 5 1.2. Trademarks...

More information

Device Management Basic HART DTM 6.0 Installation

Device Management Basic HART DTM 6.0 Installation Device Management Basic HART DTM 6.0 Installation System Version 6.0 Power and productivity for a better world TM Device Management Basic HART DTM 6.0 Installation System Version 6.0 NOTICE This document

More information

System 800xA Public Address System User Manual

System 800xA Public Address System User Manual System 800xA Public Address System User Manual System Version 6.0 Power and productivity for a better world System 800xA Public Address System User Manual System Version 6.0 NOTICE This document contains

More information

System 800xA Engineering

System 800xA Engineering System 800xA Engineering Engineering and Production Environments System Versions 6.0 Power and productivity for a better world TM System 800xA Engineering Engineering and Production Environments System

More information

Industrial IT. Asset Vision Professional 5.0 SP2. Basic Configuration and Operation

Industrial IT. Asset Vision Professional 5.0 SP2. Basic Configuration and Operation Industrial IT Asset Vision Professional 5.0 SP2 Basic Configuration and Operation Industrial IT Asset Vision Professional 5.0 SP2 Basic Configuration and Operation NOTICE This document contains information

More information

System 800xA. Engineering and Production Environments. Power and productivity for a better world TM. System Version 5.1

System 800xA. Engineering and Production Environments. Power and productivity for a better world TM. System Version 5.1 System 800xA Engineering and Production Environments System Version 5.1 Power and productivity for a better world TM System 800xA System Version 5.1 NOTICE This document contains information about one

More information

MicroSCADA Pro SYS Historian Monitor Configuration

MicroSCADA Pro SYS Historian Monitor Configuration SYS 600 9.3 Trace back information: Workspace Main version a10 Checked in 2012-11-12 1MRS757708 Issued: 30.9.2012 Version: A/30.9.2012 SYS 600 9.3 Contents 1 Copyrights... 2 Introduction... 2.1 This manual...

More information

Industrial IT. Topology Designer. 800xA - System. System Version 4.0

Industrial IT. Topology Designer. 800xA - System. System Version 4.0 Industrial IT 800xA - System System Version 4.0 Topology Designer Industrial IT 800xA - System System Version 4.0 Topology Designer NOTICE The information in this document is subject to change without

More information

System 800xA Engineering Engineering Studio Function Designer Getting Started

System 800xA Engineering Engineering Studio Function Designer Getting Started System 800xA Engineering Engineering Studio Function Designer Getting Started System Version 6.0 Power and productivity for a better world System 800xA Engineering Engineering Studio Function Designer

More information

MicroSCADA Pro SYS

MicroSCADA Pro SYS MicroSCADA Pro SYS 600 9.2 1MRS756170 Issued: 02.03.2007 Version: B/28.03.2008 MicroSCADA Pro SYS 600 9.2 Contents Copyrights...15 1. Introduction...17 1.1. This Manual...17 1.2. Use of symbols...17 1.3.

More information

MicroSCADA Pro SYS Operation Manual

MicroSCADA Pro SYS Operation Manual MicroSCADA Pro SYS 600 9.2 1MRS756118 Issued: 28.02.2007 Version: B/28.03.2008 MicroSCADA Pro SYS 600 9.2 Contents Copyrights...7 1. Introduction...9 1.1. This manual...9 1.2. Use of symbols...9 1.3.

More information

Industrial IT Quality Control 4.0

Industrial IT Quality Control 4.0 Industrial IT Quality Control 4.0 powered by 800xA extended automation Administrator's Guide System Version 4.0 NOTICE The information in this document is subject to change without notice and should not

More information

VideONet Connect for 800xA User Manual

VideONet Connect for 800xA User Manual VideONet Connect for 800xA User Manual System Version 6.0 Power and productivity for a better world VideONet Connect for 800xA User Manual System Version 6.0 NOTICE This document contains information

More information

MicroSCADA Pro SYS

MicroSCADA Pro SYS MicroSCADA Pro SYS 600 9.2 1MRS756117 Issued: 02.03.2007 Version: B/28.03.2008 MicroSCADA Pro SYS 600 9.2 Contents Copyrights...7 1. Introduction...9 1.1. This manual...9 1.2. Use of symbols...10 1.3.

More information

MicroSCADA Pro SYS Historian Monitor Configuration

MicroSCADA Pro SYS Historian Monitor Configuration SYS600 9.4 Trace back information: Workspace Main version a26 Checked in 2014-05-16 1MRS758121 Issued: 16.5.2014 Version: A/16.5.2014 SYS600 9.4 Contents 1 Copyrights... 2 Introduction... 2.1 This manual...

More information

MicroSCADA Pro SYS Historian Operation

MicroSCADA Pro SYS Historian Operation SYS 600 9.3 Trace back information: Workspace Main version a10 Checked in 2012-11-12 1MRS757707 Issued: 30.9.2012 Version: A/30.9.2012 SYS 600 9.3 Contents 1 Copyrights... 2 Introduction... 2.1 This manual...

More information

Compact Product Suite Compact Control Builder AC 800M Planning

Compact Product Suite Compact Control Builder AC 800M Planning Compact Product Suite Compact Control Builder AC 800M Planning Version 6.0 Power and productivity for a better world TM Compact Product Suite Compact Control Builder AC 800M Planning Version 6.0 NOTICE

More information

Industrial IT. 800xA - System System Version 4.1. Post Installation

Industrial IT. 800xA - System System Version 4.1. Post Installation Industrial IT 800xA - System System Version 4.1 Post Installation Industrial IT 800xA - System System Version 4.1 Post Installation NOTICE The information in this document is subject to change without

More information

System 800xA 800xA for Freelance Product Guide

System 800xA 800xA for Freelance Product Guide System 800xA 800xA for Freelance Product Guide System Version 6.0 Power and productivity for a better world TM System 800xA 800xA for Freelance Product Guide System Version 6.0 NOTICE This document contains

More information

Device Management HART DTM Builder 6.0

Device Management HART DTM Builder 6.0 Device Management HART DTM Builder 6.0 System Version 6.0 Power and productivity for a better world TM Device Management HART DTM Builder 6.0 System Version 6.0 NOTICE This document contains information

More information

Station Automation COM Logic Processor User's Manual

Station Automation COM Logic Processor User's Manual Station Automation COM600 3.4 1MRS756738 Issued: 13.2.2009 Version: B/06.11.2009 Station Automation COM600 3.4 Contents: 1. About this manual... 5 1.1. Copyrights... 5 1.2. Trademarks... 5 1.3. General...

More information

Industrial IT. Fieldbus Basic PROFIBUS DTM / PROFIBUS DTM Builder Version 4.1. Configuration

Industrial IT. Fieldbus Basic PROFIBUS DTM / PROFIBUS DTM Builder Version 4.1. Configuration Industrial IT Fieldbus Basic PROFIBUS DTM / PROFIBUS DTM Builder Version 4.1 Configuration Industrial IT Fieldbus Basic PROFIBUS DTM / PROFIBUS DTM Builder Version 4.1 Configuration NOTICE The information

More information

Device Management PROFIBUS DTM Builder 6.0

Device Management PROFIBUS DTM Builder 6.0 Device Management PROFIBUS DTM Builder 6.0 System Version 6.0 Power and productivity for a better world TM Device Management PROFIBUS DTM Builder 6.0 System Version 6.0 NOTICE This document contains information

More information

MicroSCADA Pro SYS Operation Manual

MicroSCADA Pro SYS Operation Manual SYS 600 9.3 Trace back information: Workspace Main version a9 Checked in 2012-11-09 1MRS756635 Issued: 31.3.2010 Version: C/30.09.2012 SYS 600 9.3 Contents 1 Copyrights... 2 Introduction... 2.1 This manual...

More information

MicroSCADA Pro DMS 600 *4.0. Operation Manual

MicroSCADA Pro DMS 600 *4.0. Operation Manual MicroSCADA Pro DMS 600 *4.0 1MRS755274 MicroSCADA Pro DMS 600 *4.0 Issued: 30.6.2004 Version: A/30.6.2004 Contents: 1. About this manual... 11 1.1. Copyrights...11 1.2. Trademarks...11 1.3. General...11

More information

MicroSCADA Pro DMS 600 *4.1. Operation Manual

MicroSCADA Pro DMS 600 *4.1. Operation Manual MicroSCADA Pro DMS 600 *4.1 1MRS755274 MicroSCADA Pro DMS 600 *4.1 Issued: 30.6.2004 Version: C/28.2.2005 Contents: 1. About this manual... 11 1.1. Copyrights... 11 1.2. Trademarks... 11 1.3. General...

More information

800xA History. Installation. Power and productivity for a better world TM. System Version 6.0

800xA History. Installation. Power and productivity for a better world TM. System Version 6.0 800xA History Installation System Version 6.0 Power and productivity for a better world TM 800xA History Installation System Version 6.0 NOTICE This document contains information about one or more ABB

More information

Industrial IT. 800xA - System 800xA for DCI System Version 4.1. Configuration

Industrial IT. 800xA - System 800xA for DCI System Version 4.1. Configuration Industrial IT 800xA - System 800xA for DCI System Version 4.1 Configuration Industrial IT 800xA - System 800xA for DCI System Version 4.1 Configuration NOTICE The information in this document is subject

More information

System 800xA Device Management FOUNDATION Fieldbus Configuration

System 800xA Device Management FOUNDATION Fieldbus Configuration System 800xA Device Management FOUNDATION Fieldbus Configuration System Version 6.0 Power and productivity for a better world System 800xA Device Management FOUNDATION Fieldbus Configuration System Version

More information

Protection System Simulator SIM600. Installation Manual

Protection System Simulator SIM600. Installation Manual Protection System Simulator SIM600 1MRS756102 Issued: 08.12.2008 Version: B Protection System Simulator SIM600 Contents: 1. About this manual... 5 1.1. Copyrights... 5 1.2. Trademarks... 5 1.3. Guarantee...

More information

MicroSCADA Pro DMS Operation Manual

MicroSCADA Pro DMS Operation Manual DMS 600 4.2 1MRS755274 Issued: 30.6.2004 Version: E/28.3.2008 DMS 600 4.2 Contents: 1. About this manual... 11 1.1. Copyrights... 11 1.2. Trademarks... 11 1.3. General... 11 1.4. Use of symbols... 12

More information

System 800xA Maintenance

System 800xA Maintenance System 800xA Maintenance System Version 6.0 Power and productivity for a better world System 800xA Maintenance System Version 6.0 NOTICE This document contains information about one or more ABB products

More information

Working with Mailbox Manager

Working with Mailbox Manager Working with Mailbox Manager A user guide for Mailbox Manager supporting the Message Storage Server component of the Avaya S3400 Message Server Mailbox Manager Version 5.0 February 2003 Copyright 2003

More information

Connectivity Packages. User's Guide - ANSI Version

Connectivity Packages. User's Guide - ANSI Version Connectivity Packages 1MRS756194 Issued: 30.11.2006 Version: A/30.11.2006 Connectivity Packages Contents Copyrights... 5 1. Introduction...... 7 1.1. Intended audience...... 7 1.2. Related documents.........

More information

System 800xA. 800xA History Installation Manual. System Version 6.0

System 800xA. 800xA History Installation Manual. System Version 6.0 System 800xA 800xA History Installation Manual System Version 6.0 System 800xA 800xA History Installation Manual System Version 6.0 Document Number: 2PAA107280-600 Document Revision: G Release: September

More information

S900 I/O DTM 6.x. System Version 6.0. Power and productivity for a better world TM

S900 I/O DTM 6.x. System Version 6.0. Power and productivity for a better world TM S900 I/O DTM 6.x System Version 6.0 Power and productivity for a better world TM S900 I/O DTM 6.x NOTICE This document contains information about one or more ABB products and may include a description

More information

Advant OCS AC 100 OPC Server Installation

Advant OCS AC 100 OPC Server Installation Advant OCS AC 100 OPC Server Installation System Version 6.0 Power and productivity for a better world TM Advant OCS AC 100 OPC Server Installation System Version 6.0 NOTICE This document contains information

More information

Functional Description DOC01 - Digital Operator Control Version 5.2-0

Functional Description DOC01 - Digital Operator Control Version 5.2-0 Functional Description DOC01 - Digital Operator Control Version 5.2-0 3BTG811792-3021 / A Page 1 NOTICE The information in this document is subject to change without notice and should not be construed

More information

System 800xA Engineering Engineering Studio Topology Designer

System 800xA Engineering Engineering Studio Topology Designer System 800xA Engineering Engineering Studio Topology Designer System Version 6.0 Power and productivity for a better world System 800xA Engineering Engineering Studio Topology Designer System Version

More information

Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007

Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007 Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007 Release 2.3 April 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com

More information

Microsoft Dynamics GP. Extender User s Guide Release 9.0

Microsoft Dynamics GP. Extender User s Guide Release 9.0 Microsoft Dynamics GP Extender User s Guide Release 9.0 Copyright Copyright 2005 Microsoft Corporation. All rights reserved. Complying with all applicable copyright laws is the responsibility of the user.

More information

COM600 series, Version 5.0 Modbus Serial Slave (OPC) User's Manual

COM600 series, Version 5.0 Modbus Serial Slave (OPC) User's Manual CO600 series, Version 5.0 odbus Serial Slave (OPC) User's anual 1RS756913 Issued: 9.10.2009 Version: E/24.5.2017 CO600 series, Version 5.0 odbus Serial Slave (OPC) User's anual Contents: 1. About this

More information

Business Insight Authoring

Business Insight Authoring Business Insight Authoring Getting Started Guide ImageNow Version: 6.7.x Written by: Product Documentation, R&D Date: August 2016 2014 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact,

More information

SIMATIC HMI. WinCC V7.4 SP1 SIMATIC HMI WinCC V7.4 Getting Started. Welcome 1. Icons 2. Creating a project. Configure communication

SIMATIC HMI. WinCC V7.4 SP1 SIMATIC HMI WinCC V7.4 Getting Started. Welcome 1. Icons 2. Creating a project. Configure communication Welcome 1 Icons 2 SIMATIC HMI WinCC V7.4 SP1 SIMATIC HMI WinCC V7.4 Getting Started Getting Started Creating a project 3 Configure communication 4 Configuring the Process Screens 5 Archiving and displaying

More information

System 800xA Spanish Language Package Release Notes System Version 6.0

System 800xA Spanish Language Package Release Notes System Version 6.0 System 800xA Spanish Language Package Release Notes System Version 6.0 Power and productivity for a better world TM System 800xA Spanish Language Package Release Notes System Version 6.0 NOTICE This document

More information

Motor Control and Protection Unit M10x AO Module User Guide

Motor Control and Protection Unit M10x AO Module User Guide Motor Control and Protection Unit M10x AO Module User Guide 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

More information

Microsoft Windows SharePoint Services

Microsoft Windows SharePoint Services Microsoft Windows SharePoint Services SITE ADMIN USER TRAINING 1 Introduction What is Microsoft Windows SharePoint Services? Windows SharePoint Services (referred to generically as SharePoint) is a tool

More information

Cisco TEO Adapter Guide for Microsoft Windows

Cisco TEO Adapter Guide for Microsoft Windows Cisco TEO Adapter Guide for Microsoft Windows Release 2.3 April 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800

More information

800xA History 800xA History Rollup 2 Version RU2 Release Notes

800xA History 800xA History Rollup 2 Version RU2 Release Notes 800xA History 800xA History 6.0.3 Rollup 2 Version 6.0.3 RU2 Release Notes System Version 6.0.3 Power and productivity for a better world NOTICE This document contains information about one or more ABB

More information

Text box. Command button. 1. Click the tool for the control you choose to draw in this case, the text box.

Text box. Command button. 1. Click the tool for the control you choose to draw in this case, the text box. Visual Basic Concepts Hello, Visual Basic See Also There are three main steps to creating an application in Visual Basic: 1. Create the interface. 2. Set properties. 3. Write code. To see how this is done,

More information

MicroSCADA Pro LIB 510 *4.1. Operation Manual

MicroSCADA Pro LIB 510 *4.1. Operation Manual MicroSCADA Pro LIB 510 *4.1 1MRS755361 Issued: 30.06.2004 Version: B/20.12.2004 MicroSCADA Pro LIB 510 *4.1 1. About this manual...7 1.1. Copyrights...7 1.2. Trademarks...7 1.3. General...7 1.4. Use of

More information

Schema Inspector Utility User s Guide V E R S I O N Copyright 2016 Jade Software Corporation Limited. All rights reserved.

Schema Inspector Utility User s Guide V E R S I O N Copyright 2016 Jade Software Corporation Limited. All rights reserved. User s Guide V E R S I O N 2016.0.01 Copyright 2016 Jade Software Corporation Limited. All rights reserved. Jade Software Corporation Limited cannot accept any financial or other responsibilities that

More information

SQL Server 2005: Reporting Services

SQL Server 2005: Reporting Services SQL Server 2005: Reporting Services Table of Contents SQL Server 2005: Reporting Services...3 Lab Setup...4 Exercise 1 Creating a Report Using the Wizard...5 Exercise 2 Creating a List Report...7 Exercise

More information

Customization Manager

Customization Manager Customization Manager Release 2015 Disclaimer This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site references, may change without

More information

CAP 505. User s Guide

CAP 505. User s Guide CAP 505 1MRS752292-MUM CAP 505 Issued: 04.10.2002 Version: L/05.01.2005 1. About this manual...7 1.1. Copyrights...7 1.2. Trademarks...7 1.3. General...7 1.4. Use of symbols...8 1.5. Abbreviations...8

More information

Schema Inspector Utility User's Guide VERSION Copyright 2015 Jade Software Corporation Limited. All rights reserved.

Schema Inspector Utility User's Guide VERSION Copyright 2015 Jade Software Corporation Limited. All rights reserved. VERSION 7.0.12 Copyright 2015 Jade Software Corporation Limited. All rights reserved. Jade Software Corporation Limited cannot accept any financial or other responsibilities that may be the result of your

More information

System 800xA Release Notes Resolved Issues

System 800xA Release Notes Resolved Issues System 800xA Release Notes Resolved s System Version 6.0.2 Power and productivity for a better world System 800xA Release Notes Resolved s System Version 6.0.2 NOTICE This document contains information

More information

Teamcenter 11.1 Systems Engineering and Requirements Management

Teamcenter 11.1 Systems Engineering and Requirements Management SIEMENS Teamcenter 11.1 Systems Engineering and Requirements Management Systems Architect/ Requirements Management Project Administrator's Manual REQ00002 U REQ00002 U Project Administrator's Manual 3

More information

Products that are referred to in this document may be trademarks and/or registered trademarks of the respective owners.

Products that are referred to in this document may be trademarks and/or registered trademarks of the respective owners. 2018 GEOVAP, spol. s r. o. All rights reserved. GEOVAP, spol. s r. o. Cechovo nabrezi 1790 530 03 Pardubice Czech Republic +420 466 024 618 http://www.geovap.cz Products that are referred to in this document

More information

TABLE OF CONTENTS TABLE OF CONTENTS... 1 INTRODUCTION... 2 USING WORD S MENUS... 3 USING WORD S TOOLBARS... 5 TASK PANE... 9

TABLE OF CONTENTS TABLE OF CONTENTS... 1 INTRODUCTION... 2 USING WORD S MENUS... 3 USING WORD S TOOLBARS... 5 TASK PANE... 9 TABLE OF CONTENTS TABLE OF CONTENTS... 1 INTRODUCTION... 2 USING WORD S MENUS... 3 DEFINITIONS... 3 WHY WOULD YOU USE THIS?... 3 STEP BY STEP... 3 USING WORD S TOOLBARS... 5 DEFINITIONS... 5 WHY WOULD

More information

IGSS Configuration Workshop - Exercises

IGSS Configuration Workshop - Exercises IGSS Configuration Workshop - Contents Exercise 1: Working as an Operator in IGSS... 2 Exercise 2: Creating a New IGSS Project... 18 Exercise 3: Create Areas and Diagrams in Definition... 23 Exercise 4:

More information

RTL Design and IP Generation Tutorial. PlanAhead Design Tool

RTL Design and IP Generation Tutorial. PlanAhead Design Tool RTL Design and IP Generation Tutorial PlanAhead Design Tool Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.

More information

SFC Visualization (V8.0 SP1) SIMATIC. Process Control System PCS 7 SFC Visualization (V8.0 SP1) What's new in SFV? 1. SFC Visualization (SFV)

SFC Visualization (V8.0 SP1) SIMATIC. Process Control System PCS 7 SFC Visualization (V8.0 SP1) What's new in SFV? 1. SFC Visualization (SFV) What's new in SFV? 1 SFC Visualization (SFV) 2 SIMATIC Process Control System PCS 7 Programming and Operating Manual Basic SFC settings 3 Configuration 4 Operating and monitoring SFCs 5 Appendix 6 12/2012

More information

IGSS 13 Configuration Workshop - Exercises

IGSS 13 Configuration Workshop - Exercises IGSS 13 Configuration Workshop - Exercises Contents IGSS 13 Configuration Workshop - Exercises... 1 Exercise 1: Working as an Operator in IGSS... 2 Exercise 2: Creating a new IGSS Project... 28 Exercise

More information

Create Your First Print-Quality Reports

Create Your First Print-Quality Reports Create Your First Print-Quality Reports This document supports Pentaho Business Analytics Suite 5.0 GA and Pentaho Data Integration 5.0 GA, documentation revision August 28, 2013, copyright 2013 Pentaho

More information

AIMMS Tutorial for Professionals - Getting Acquainted

AIMMS Tutorial for Professionals - Getting Acquainted AIMMS Tutorial for Professionals - Getting Acquainted This file contains only one chapter of the book. For a free download of the complete book in pdf format, please visit www.aimms.com Aimms 3.13 Copyright

More information

System 800xA 800xA for Freelance Configuration

System 800xA 800xA for Freelance Configuration System 800xA 800xA for Freelance Configuration System Version 6.0 Power and productivity for a better world System 800xA 800xA for Freelance Configuration System Version 6.0 System Version 6.0 NOTICE

More information

FactoryLink 7. Version 7.0. Client Builder Reference Manual

FactoryLink 7. Version 7.0. Client Builder Reference Manual FactoryLink 7 Version 7.0 Client Builder Reference Manual Copyright 2000 United States Data Corporation. All rights reserved. NOTICE: The information contained in this document (and other media provided

More information

800xA for DCI 5.1 Rev E Installation Upgrade Post Installation Maintenance Supplemental Instructions

800xA for DCI 5.1 Rev E Installation Upgrade Post Installation Maintenance Supplemental Instructions Installation Upgrade Post Installation Maintenance Supplemental Instructions 3BUA001686-510 E 3BUA001686-510 E 1 Table of Contents 1 Introduction... 4 2 800xA for DCI Software Release... 4 3 Composer CTK

More information

Desigo CC Graphics Editor Version 2.1 Configuration

Desigo CC Graphics Editor Version 2.1 Configuration Desigo CC Graphics Editor Version 2.1 Configuration A6V10415487_en_a_21 2015-06-23 Building Technologies Copyright Notice Copyright Notice Notice Document information is subject to change without notice

More information

Specification Manager

Specification Manager Enterprise Architect User Guide Series Specification Manager Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents The Specification Manager 3 Specification Manager - Overview

More information

[ Getting Started with Analyzer, Interactive Reports, and Dashboards ] ]

[ Getting Started with Analyzer, Interactive Reports, and Dashboards ] ] Version 5.3 [ Getting Started with Analyzer, Interactive Reports, and Dashboards ] ] https://help.pentaho.com/draft_content/version_5.3 1/30 Copyright Page This document supports Pentaho Business Analytics

More information

Cisco TEO Adapter Guide for

Cisco TEO Adapter Guide for Release 2.3 April 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS (6387) Fax: 408 527-0883 Text Part

More information

Introduction to IBM Rational HATS For IBM System i (5250)

Introduction to IBM Rational HATS For IBM System i (5250) Introduction to IBM Rational HATS For IBM System i (5250) Introduction to IBM Rational HATS 1 Lab instructions This lab teaches you how to use IBM Rational HATS to create a Web application capable of transforming

More information

IBM Notes Client V9.0.1 Reference Guide

IBM Notes Client V9.0.1 Reference Guide IBM Notes Client V9.0.1 Reference Guide Revised 05/20/2016 1 Accessing the IBM Notes Client IBM Notes Client V9.0.1 Reference Guide From your desktop, double-click the IBM Notes icon. Logging in to the

More information

ekaizen Lessons Table of Contents 1. ebook Basics 1 2. Create a new ebook Make Changes to the ebook Populate the ebook 41

ekaizen Lessons Table of Contents 1. ebook Basics 1 2. Create a new ebook Make Changes to the ebook Populate the ebook 41 Table of Contents 1. ebook Basics 1 2. Create a new ebook 20 3. Make Changes to the ebook 31 4. Populate the ebook 41 5. Share the ebook 63 ekaizen 1 2 1 1 3 4 2 2 5 The ebook is a tabbed electronic book

More information

Creating Reports in Access 2007 Table of Contents GUIDE TO DESIGNING REPORTS... 3 DECIDE HOW TO LAY OUT YOUR REPORT... 3 MAKE A SKETCH OF YOUR

Creating Reports in Access 2007 Table of Contents GUIDE TO DESIGNING REPORTS... 3 DECIDE HOW TO LAY OUT YOUR REPORT... 3 MAKE A SKETCH OF YOUR Creating Reports in Access 2007 Table of Contents GUIDE TO DESIGNING REPORTS... 3 DECIDE HOW TO LAY OUT YOUR REPORT... 3 MAKE A SKETCH OF YOUR REPORT... 3 DECIDE WHICH DATA TO PUT IN EACH REPORT SECTION...

More information

Sage Estimating (SQL) v17.13

Sage Estimating (SQL) v17.13 Sage Estimating (SQL) v17.13 Sage 100 Contractor (SQL) Integration Guide December 2017 This is a publication of Sage Software, Inc. 2017 The Sage Group plc or its licensors. All rights reserved. Sage,

More information

TAC Vista Webstation. Operating Manual

TAC Vista Webstation. Operating Manual TAC Vista Webstation Operating Manual TAC Vista Webstation Operating Manual Copyright 2006 TAC AB. All rights reserved. This document, as well as the product it refers to, is only intended for licensed

More information

DigiVis 500 Getting Started Version 1.0

DigiVis 500 Getting Started Version 1.0 DigiVis 500 Getting Started Version 1.0 DigiVis 500 Getting Started Version 1.0 NOTICE The information in this document is subject to change without notice and should not be construed as a commitment

More information

Microsoft Dynamics GP. Extender User s Guide

Microsoft Dynamics GP. Extender User s Guide Microsoft Dynamics GP Extender User s Guide Copyright Copyright 2009 Microsoft Corporation. All rights reserved. Complying with all applicable copyright laws is the responsibility of the user. Without

More information

Acrobat XI Pro Accessible Forms and Interactive Documents

Acrobat XI Pro Accessible Forms and Interactive Documents Contents 2 Types of interactive PDF Form Fields 2 Automatic Field Detection using the Acrobat Form Wizard 5 Creating a Form without the Forms Wizard 6 Forms Editing Mode 6 Selecting a New Form Field to

More information

Studio 5000 Architect Getting Results Guide

Studio 5000 Architect Getting Results Guide Getting Results Studio 5000 Architect Getting Results Guide Rockwell Automation Publication ARCH-GR001I-EN-E Supersedes Publication ARCH-GR001H-EN-E Important user information Read this document and the

More information

ICS Tutorials: Basic Operations

ICS Tutorials: Basic Operations ICS Tutorials: Basic Operations This tutorial introduces the basic components of Builder Xcessory. For more detailed information, see the Builder Xcessory Reference Manual. This book is directly accessible

More information

Compact Product Suite Panel 800 Version 6 Panel Builder Programming and Installation. Version 6.0-2

Compact Product Suite Panel 800 Version 6 Panel Builder Programming and Installation. Version 6.0-2 Compact Product Suite Panel 800 Version 6 Panel Builder Programming and Installation Version 6.0-2 Panel 800 Version 6 - Panel Builder Version 6.0-2 Programming and Installation NOTICE This document contains

More information

DigiVis 500 Operations. Operators Manual

DigiVis 500 Operations. Operators Manual DigiVis 500 Operations Operators Manual DigiVis 500 Operations Operators Manual Version 1.0 SP1 NOTICE The information in this document is subject to change without notice and should not be construed

More information

NiceForm User Guide. English Edition. Rev Euro Plus d.o.o. & Niceware International LLC All rights reserved.

NiceForm User Guide. English Edition. Rev Euro Plus d.o.o. & Niceware International LLC All rights reserved. www.nicelabel.com, info@nicelabel.com English Edition Rev-0910 2009 Euro Plus d.o.o. & Niceware International LLC All rights reserved. www.nicelabel.com Head Office Euro Plus d.o.o. Ulica Lojzeta Hrovata

More information

800xA for Symphony Plus Harmony

800xA for Symphony Plus Harmony 800xA for Symphony Plus Harmony Operation System Version 6.0 Power and productivity for a better world TM 800xA for Symphony Plus Harmony Operation System Version 6.0 NOTICE This document contains information

More information

Management Reports Centre. User Guide. Emmanuel Amekuedi

Management Reports Centre. User Guide. Emmanuel Amekuedi Management Reports Centre User Guide Emmanuel Amekuedi Table of Contents Introduction... 3 Overview... 3 Key features... 4 Authentication methods... 4 System requirements... 5 Deployment options... 5 Getting

More information

Specification Manager

Specification Manager Enterprise Architect User Guide Series Specification Manager How to define model elements simply? In Sparx Systems Enterprise Architect, use the document-based Specification Manager to create elements

More information

SPARK. User Manual Ver ITLAQ Technologies

SPARK. User Manual Ver ITLAQ Technologies SPARK Forms Builder for Office 365 User Manual Ver. 3.5.50.102 0 ITLAQ Technologies www.itlaq.com Table of Contents 1 The Form Designer Workspace... 3 1.1 Form Toolbox... 3 1.1.1 Hiding/ Unhiding/ Minimizing

More information

Forms/Distribution Acrobat X Professional. Using the Forms Wizard

Forms/Distribution Acrobat X Professional. Using the Forms Wizard Forms/Distribution Acrobat X Professional Acrobat is becoming a standard tool for people and businesses to use in order to replicate forms and have them available electronically. If a form is converted

More information

Web Option for OS (V8.0) SIMATIC. Process Control System PCS 7 Web Option for OS (V8.0) Preface 1. Additional documentation

Web Option for OS (V8.0) SIMATIC. Process Control System PCS 7 Web Option for OS (V8.0) Preface 1. Additional documentation Preface 1 Additional documentation 2 SIMATIC Process Control System PCS 7 Function Manual Overview of the Web Option for OS 3 Configuration with Web Option for OS 4 Hardware and Software Requirements 5

More information

Parish . User Manual

Parish  . User Manual Parish Email User Manual Table of Contents LOGGING IN TO PARISH EMAIL... 3 GETTING STARTED... 3 GENERAL OVERVIEW OF THE USER INTERFACE... 3 TERMINATE THE SESSION... 4 EMAIL... 4 MESSAGES LIST... 4 Open

More information

VMp Technical Support Phone: Online request:

VMp Technical Support Phone: Online request: Copyright 2011 ViewCast Corporation. All rights reserved. ViewCast, Niagara SCX, ViewCast logo, Osprey, Niagara, SimulStream, Niagara logo, SchedulStream, GoStream, and ViewCast Media Platform (VMp) are

More information