0% found this document useful (0 votes)
511 views521 pages

Elipse Power User's Manual: Version 6.5.161 (04/12/2023)

Uploaded by

Jeane Monteiro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
511 views521 pages

Elipse Power User's Manual: Version 6.5.161 (04/12/2023)

Uploaded by

Jeane Monteiro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 521

Elipse Power User's Manual

Copyright © 1999 - 2023 Elipse Software Ltda. All rights reserved.


Version 6.5.161 (04/12/2023)
Table of Contents
1 Introduction ................................................................................................................................................ 1
1.1 General Description .............................................................................................................................. 1
1.2 Architecture .......................................................................................................................................... 1
1.3 Block Diagram ....................................................................................................................................... 3
1.4 Domain Structure ................................................................................................................................. 3
1.5 Electrical Model ..................................................................................................................................... 3
1.6 Data Structure ....................................................................................................................................... 3
1.7 Electrical Tools ...................................................................................................................................... 4
1.8 Limitations of Demonstration Mode ................................................................................................. 5
2 Elipse Power Studio .................................................................................................................................... 7
2.1 Starting a Project .................................................................................................................................. 7
2.2 Working Area ........................................................................................................................................ 7
2.3 Settings .................................................................................................................................................. 8
2.4 Toolbars ............................................................................................................................................... 15
2.5 Shortcut Keys ...................................................................................................................................... 31
2.6 Organizer ............................................................................................................................................. 34
2.7 Import and Export .............................................................................................................................. 39
2.8 Properties List ..................................................................................................................................... 60
2.9 Gallery .................................................................................................................................................. 62
2.10 AppBrowser ...................................................................................................................................... 62
2.11 Connect To ........................................................................................................................................ 65
3 Domains .................................................................................................................................................... 67
3.1 E3 Server .............................................................................................................................................. 67
3.2 E3Run ................................................................................................................................................... 67
3.3 E3 Admin ............................................................................................................................................. 68
3.4 IOServer ............................................................................................................................................... 69
3.5 Elipse Power Studio ............................................................................................................................ 69
3.6 Elipse Power Viewer ........................................................................................................................... 70
3.7 Components ........................................................................................................................................ 70
3.8 Creating a Domain ............................................................................................................................. 70
3.9 Configuration ...................................................................................................................................... 76
3.10 Other Options for Windows Notification Area .......................................................................... 100
3.11 Remote Domains ........................................................................................................................... 107
3.12 Generating Logs in Elipse Power ................................................................................................. 111
4 Power Configuration Object ................................................................................................................. 113
4.1 Definition of Standards ................................................................................................................... 113
4.2 Electrical Modeler ............................................................................................................................. 128
4.3 Tools .................................................................................................................................................. 147
5 Synchronizing Data Objects .................................................................................................................. 151
5.1 Synchronizing Existing Data Objects ............................................................................................. 154

I
5.2 SCADA Configuration ...................................................................................................................... 155
6 Drivers ..................................................................................................................................................... 167
6.1 I/O Driver .......................................................................................................................................... 167
6.2 OPC Server ........................................................................................................................................ 179
6.3 OPC Driver ......................................................................................................................................... 179
6.4 OPC UA Driver .................................................................................................................................. 190
6.5 Quality ............................................................................................................................................... 201
7 Frames ..................................................................................................................................................... 206
8 Viewer ..................................................................................................................................................... 209
8.1 Configuration ................................................................................................................................... 209
8.2 Variables in Viewer .......................................................................................................................... 214
8.3 _top Object ........................................................................................................................................ 214
8.4 Viewer Folder .................................................................................................................................... 215
9 PowerExplorer ........................................................................................................................................ 216
10 Screens and Screen Objects ................................................................................................................ 220
10.1 Screen .............................................................................................................................................. 220
10.2 Toolbar ............................................................................................................................................ 222
10.3 Screen Objects ................................................................................................................................ 225
10.4 General Configurations ................................................................................................................. 232
10.5 Color Formatting ........................................................................................................................... 241
10.6 Value Format .................................................................................................................................. 243
11 Links ...................................................................................................................................................... 246
11.1 Simple .............................................................................................................................................. 247
11.2 Bi-directional .................................................................................................................................. 247
11.3 Digital .............................................................................................................................................. 248
11.4 Analog ............................................................................................................................................. 249
11.5 Table ................................................................................................................................................ 249
11.6 Reverse ............................................................................................................................................ 250
11.7 Multiple ........................................................................................................................................... 251
11.8 Link Edition ..................................................................................................................................... 252
11.9 Text-type Properties with Links ................................................................................................... 255
12 Libraries ................................................................................................................................................ 257
12.1 Gallery ............................................................................................................................................. 257
12.2 User Library (ElipseX) .................................................................................................................... 258
12.3 When to Create an ElipseX ........................................................................................................... 267
13 Importing to Screens .......................................................................................................................... 268
13.1 Customizing Libraries .................................................................................................................... 276
14 ActiveX .................................................................................................................................................. 280
14.1 Microsoft Forms ............................................................................................................................ 282
14.2 Elipse KeyPad ................................................................................................................................. 283
15 Data Server ........................................................................................................................................... 285

II
15.1 Counter Tag .................................................................................................................................... 285
15.2 Data Folder ..................................................................................................................................... 286
15.3 Demo Tag ....................................................................................................................................... 287
15.4 Internal Tag .................................................................................................................................... 288
15.5 Line Printer ..................................................................................................................................... 289
15.6 Timer Tag ........................................................................................................................................ 291
16 Database ............................................................................................................................................... 293
16.1 Access Format ................................................................................................................................ 293
16.2 Oracle Format ................................................................................................................................. 295
16.3 SQL Server Format ......................................................................................................................... 298
16.4 PostgreSQL Format ....................................................................................................................... 301
16.5 MySQL Format ............................................................................................................................... 302
16.6 Elipse Power Objects and Permissions ........................................................................................ 304
17 Queries .................................................................................................................................................. 305
17.1 Creating a Query ............................................................................................................................ 306
17.2 Using Query Filters via Scripts ..................................................................................................... 313
17.3 Using Query Recordsets via Scripts ............................................................................................. 313
18 Alarms ................................................................................................................................................... 314
18.1 Alarm Configuration ..................................................................................................................... 314
18.2 Alarm Filter ..................................................................................................................................... 316
18.3 Alarm Server ................................................................................................................................... 322
18.4 Alarm Sources ................................................................................................................................ 331
19 E3Alarm ................................................................................................................................................ 340
19.1 Settings ........................................................................................................................................... 341
19.2 Runtime Behavior .......................................................................................................................... 349
20 Storage .................................................................................................................................................. 355
20.1 Configuration ................................................................................................................................. 357
20.2 Table Configuration ....................................................................................................................... 357
20.3 Fields Object ................................................................................................................................... 367
20.4 Storage Field ................................................................................................................................... 368
21 Historic .................................................................................................................................................. 369
21.1 Settings ........................................................................................................................................... 370
21.2 Fields Object ................................................................................................................................... 375
21.3 Indexes Object ................................................................................................................................ 376
21.4 PrimaryKey Object ......................................................................................................................... 378
22 E3Browser ............................................................................................................................................ 380
22.1 E3Browser's Query Object ............................................................................................................ 381
22.2 Other Settings ................................................................................................................................ 382
23 E3Chart ................................................................................................................................................. 386
23.1 Settings ........................................................................................................................................... 386
23.2 Usage Examples ............................................................................................................................. 410

III
23.3 Specific Runtime Behavior ............................................................................................................ 412
24 TrendAnalysis ...................................................................................................................................... 417
24.1 Displays Tab ................................................................................................................................... 418
24.2 Bookmarks Tab .............................................................................................................................. 424
24.3 Connections Tab ............................................................................................................................ 425
24.4 Display Area ................................................................................................................................... 425
24.5 Keyboard Shortcuts ....................................................................................................................... 431
25 E3Playback ............................................................................................................................................ 433
25.1 E3Playback Object .......................................................................................................................... 433
25.2 User Interface ................................................................................................................................. 433
25.3 Playback Database ......................................................................................................................... 441
25.4 Configuring Elipse Power Database Objects .............................................................................. 443
26 Formulas ............................................................................................................................................... 446
26.1 Settings ........................................................................................................................................... 446
26.2 Templates ....................................................................................................................................... 448
26.3 Units ................................................................................................................................................ 450
26.4 Value Sets ....................................................................................................................................... 450
26.5 Creating a Formula ........................................................................................................................ 451
27 Reports ................................................................................................................................................. 456
27.1 Query Object ................................................................................................................................... 456
27.2 Components ................................................................................................................................... 456
27.3 Settings ........................................................................................................................................... 458
27.4 Creating a Report in Elipse Power ............................................................................................... 469
27.5 Usage Examples ............................................................................................................................. 470
28 Security ................................................................................................................................................. 472
28.1 Users ................................................................................................................................................ 473
28.2 Groups ............................................................................................................................................. 481
28.3 File Protection ................................................................................................................................ 482
29 Elipse Power Viewer and WebViewer ................................................................................................ 486
29.1 Viewer Only (Read-Only Mode) ................................................................................................... 486
29.2 Elipse Power Viewer Execution .................................................................................................... 487
29.3 Elipse Power Viewer Logs ............................................................................................................. 490
29.4 Executing WebViewer ................................................................................................................... 490
30 Hot-Standby ......................................................................................................................................... 494
30.1 Configuring ..................................................................................................................................... 494
30.2 Executing a Redundant Domain .................................................................................................. 495
30.3 Stopping a Redundant Domain .................................................................................................... 495
30.4 Stopping One of the Domain Servers .......................................................................................... 496
30.5 Switch Time Between Servers ...................................................................................................... 496
30.6 Elipse Power Viewer Reconnection .............................................................................................. 496
30.7 Using Databases with Hot-Standby ............................................................................................ 496

IV
31 Advanced Settings ............................................................................................................................... 497
32 E3DataAccess Library .......................................................................................................................... 498
32.1 Events .............................................................................................................................................. 498
32.2 Methods .......................................................................................................................................... 498
32.3 Properties ....................................................................................................................................... 500
33 Frequently Asked Questions .............................................................................................................. 502
33.1 Alarms ............................................................................................................................................. 502
33.2 Data Server ..................................................................................................................................... 503
33.3 Domains and Projects ................................................................................................................... 503
33.4 Elipse Power Viewer ...................................................................................................................... 504
33.5 E3Alarm .......................................................................................................................................... 505
33.6 E3Browser ....................................................................................................................................... 505
33.7 E3Chart ............................................................................................................................................ 505
33.8 Historic ............................................................................................................................................ 505
33.9 I/O Drivers ...................................................................................................................................... 506
33.10 Libraries ........................................................................................................................................ 506
33.11 Line Printer ................................................................................................................................... 507
33.12 Links .............................................................................................................................................. 507
33.13 Oracle Databases ......................................................................................................................... 507
33.14 Overlaying Animations in Objects ............................................................................................. 509
33.15 Remote Domains ......................................................................................................................... 509
33.16 Reports ......................................................................................................................................... 512
33.17 Screen Objects .............................................................................................................................. 513
33.18 SQL Server Databases ................................................................................................................. 513
33.19 Stored Procedure ......................................................................................................................... 514
33.20 Tab Order ...................................................................................................................................... 514

V
CHAPTER
Introduction
1
Elipse Power is a development tool for applications focused on supervising, controlling, and analyzing power systems.
Its goal is gathering on a single tool several different support systems to the operation of power systems with a SCADA
structure, thus making the interaction between the company's different operational sectors easier.
Its development is based on Elipse Power's framework, thus inheriting all features already present in it, such as I/O
Drivers, Screens, data objects, etc.

1.1 General Description


Elipse Power can be executed on Windows 10, Windows 10 Enterprise LTSB or LTSC, Windows 11, Windows
Server 2012 R2, Windows Server 2016, Windows Server 2019, or Windows Server 2022 platforms, using some
features available in these operating systems. Its graphical user interface can also execute on Internet or intranet via
Internet Explorer.
Basic software functions are divided into independent modules, which can process specific activities. Information traffic
management among all modules is coordinated by a main module, E3 Admin, using a technology based on
distributed objects, allowing components to execute either on the same computer or on other computers.
Briefly, Elipse Power consists of a kernel responsible for binding and coordinating the work of several other modules,
which are also information servers. From this point on, the graphical user interfaces are generated, which are available
via either local or Internet clients.
Elipse Power contains the programs described on the next topics.

1.1.1 E3 Server
This is the Application Server, where main processes execute, including real-time communication with control
equipments. The server is also responsible for sending data and Screens to clients connected anywhere on the
network, intranet and Internet. The server can execute many projects at the same time and exchange data with other E3
Servers to accomplish a fail-over, or standby, or to distribute processing loads among the computers.

1.1.2 Elipse Power Studio


Unique configuration tool, acting as a universal development platform with a modern and friendly environment,
including a full graphical and script (VBScript) editor. This allows a project to be edited by many users at the same time,
or that many Elipse Power Studios to be connected to the same remote server, with multiple configurations.

1.1.3 Elipse Power Viewer


Allows operating applications residing in the server from any computer executing the Elipse Power Viewer executable
program or with an Internet browser. In both cases it is not necessary to install the application in the client computer,
because all components, such as Screens, libraries, and ActiveX controls, are automatically downloaded and registered.

1.1.4 E3 Admin
This module is responsible for E3 Server and other Elipse Power module interfaces with users. With it, users can send
commands to an E3 Server, by using its icon on Windows Notification Area, and also control the Domain via command
line.

1.2 Architecture
To supervise a specific process with a SCADA system, usually an application containing the definition of variables
involved is built up, with names and paths, Screens, definitions of alarms and others, which is called an Application
Database.
When this process requires using two or more computers, users must make sure that each application on each
computer exchange data with the others. Most traditional SCADA systems were based on a common structure to
accomplish this task:
· Each SCADA server must have a copy, partial or not, of the application configured on the local database
· Each SCADA server has and executes only one database at a time

1 Introduction
This lead to some management problems, such as applying changes to all servers, controlling application versions, or
else working with different software and hardware manufacturers.
Elipse Power solves this problem by using the concept of Domain, which includes in one single environment the
definition of the computers executing real-time tasks, or servers, and the project databases that must be executed in
these servers, with the possibility of executing many projects in each server. Users can also add, delete, or modify
projects at run time, without affecting other parts of the executing Domain.
Each project can contain any type of object, such as Screens, I/O Drivers, Alarms, Historic, Reports, Formulas, and
Databases, among others. When two or more projects are within the same Domain, they can access properties and
objects among themselves as they reside on a single database. This is possible by using Links, or connections, that an
object can perform with any other. If both objects exist and are executing, the connection is active and any value
change is asynchronously sent among the objects, depending on the connection type. If one of the objects is destroyed
or stopped, the connection is broken, then the application is notified about it and can then indicate that status in a
user-defined way.
The Domain structure is restricted to servers and similar, such as server computers, projects, users, and passwords.
The client interface for operation and visualization, called Elipse Power Viewer, can connect to any E3 Server directly,
with proper Elipse Power Viewer licenses. An Elipse Power Viewer contains these special features:
· Application projects reside exclusively on the server
· Internet Explorer can be used as an operating interface, without any change
· The client interface can alternate from a switched off server or a failed one to the next available server, without
interrupting the monitoring process

One alternative for using an Elipse Power Viewer on the client computer is using the Terminal Service technology.
This is a service that began with Windows NT 4.0, and it is intended to allow remote access among computers via a
protocol called RDP (Remote Desktop Protocol). This protocol allows interaction between a client station and a server
computer, which is accessed remotely. An Elipse Power Viewer is executed in a new user session created on the server
computer which, by its turn, transfers video data to the client computer, and receives back mouse and keyboard events.

Elipse Power architecture


In all cases, a Elipse Power Viewer works as the operation and visualization interface. The only difference resides in the
place of execution, which could be either the client computer, Elipse Power Viewer's regular operation, or the server
computer, with the user operating it physically next to the computer or through Terminal Services. Since a Elipse
Power Viewer is executing directly on the client computer, there is a higher initial traffic for downloading Screens and
objects. This traffic decreases substantially as data changes are reported from the server to the Elipse Power Viewer,
which brings advantages in terms of performance and graphical presentation quality.
Terminal Services, on the other hand, contains a broader range and demands less client computer's processing
capacity when there are few graphical and visual effects, in addition to the possibility of operating Elipse Power in
other operating systems not supported by Elipse Power Viewer, such as Windows CE, Linux, or Unix. However, RDP's
drawback is that it shows only 256 colors, which increases considerably the traffic when there are too many animations
or blinking effects on a Screen. To check the best way to implement multiple accesses to an E3 Server, it is important to

Introduction 2
study each case individually, to define the best alternative for an application. To use RDP with multiple users, it is
necessary to have a licensed Windows 2003 Server SP2, in addition to the same number of available Elipse Power
Viewers on the Server.

1.3 Block Diagram


Elipse Power's internal architecture is completely scalable, with each main task executed by a separate service. The
following diagram shows an overview of its main blocks.

Elipse Power's block diagram


Briefly, an E3 Server is responsible for creating an executing a process, or E3Run, that effectively executes the
application. Within E3Run there are other servers that expose services used by other modules.

1.4 Domain Structure


Each group of servers is composed of either one E3 Server operating isolated, or two E3 Servers in a Hot-Standby
configuration. Actually, each Elipse Power Viewer connects to a Domain rather than to a single server.
After connecting, server and client exchange information and check for the existence of registered and updated system
objects on the client computer. If such objects are not found, the server uploads object definitions, such as user
libraries, according to the need to open each Screen.
From a client's point of view, the download starts on the first Screen, or graphical interface, including any internal
objects that are saved to a cache directory. This process can take a few seconds, depending on the application, but it
brings more benefits next time the user opens the same Screen, because Elipse Power Viewer performs disk and
memory cache. If an Elipse Power Viewer is not closed, by the second time a Screen is opened and it is not
reconfigured, it is already in memory, thus reducing pagination time. If a Screen is modified, then Elipse Power Viewer
must download it again and restart the process.
After opening a Screen, the server and the client exchange only real-time data and queries to the database using a
TCP/IP message system, with high performance when compared to Terminal Services, depending on the application.
This is possible because while an Elipse Power Viewer receives and sends only real-time values and data, a Terminal
Services client sends keyboard and mouse messages and receives images, generating a higher information traffic. An
Elipse Power Viewer connected to an isolated Domain can get information residing only on the active server,
according to user access permissions.

1.5 Electrical Model


The execution of all support systems is based on an electrical model that describes exactly the same configuration
used on the field. This module is registered using an Electrical Model tool. This is a graphical tool, capable of creating
and maintaining the whole power system, configuring all electrical and connectivity information in the system.

1.6 Data Structure


Any field equipment is modeled in native objects, accurately representing a system's structure. This model facilitates the
process of structuring an application, thus promoting its standardization, and maintaining a well-defined hierarchical

3 Introduction
structure, in addition to keep all information about devices in one place.

1.7 Electrical Tools


Based on the electrical model, Elipse Power executes mathematical modules supporting system's operation. These
modules interact, in real time, with a SCADA application directly, retrieving information from the current scenario and
returning this result for each one of these electrical analysis modules. Available modules are:
· Power Flow: Informs the load transfer capacity, their operating limits, and the estimated values of P (active power),
Q (reactive power), I (current), and V (voltage) at points where there are no metering
· Topology Processor: Informs the status of branches, whether they are energized or de-energized, their
unattended load, electrical islands, among others
· Load Shedding: Continuously calculates the balance between power supply and demand, in addition to determine
the sequence for shutting down loads, if a provider, generator or transmission line, fails. This calculation considers
load priorities, facilities capacity, and the current topological status
· State Estimator: Fixes measurements, in real-time, that can be corrupted by errors such as inverted sign or
multiplier prefix. It also allows estimating quantities to which there is no direct metering
· Distribution Load Modeling: Calculates the active and reactive power for each Distribution Transformer, by
considering the monthly power demand of consumers and load's typology
· Self-Healing: Performs automatic functions for isolating and restoring loads by using simulation and
computational speed algorithms, to evaluate the capacity of available circuits and significantly reduce the impact of
failures on companies' quality key indexes
· External Reader: Allows Switches, Breakers, Switch Fuses, or Reclosers that do not have their SwitchPosition
Measurement instantiated in their data object to receive the value informed by this module. It also allows
customizing the way this module provides a value for this Measurement

To access storage configurations of the Self-Healing module, right-click this module, in Server objects - Power -
Configuration - PowerConfiguration, select the Properties item, and click the Self-Healing tab. The window on the
next figure is then displayed.

Self-Healing tab
The available options on this tab are described on the next table.

Introduction 4
Available options on Self-Healing tab
OPTION DESCRIPTION
Store events on a database Enables or disables storing events on a database. This
option corresponds to the Logging property of the Self-
Healing Study

Database Server Indicates a Database object to create tables. This option


corresponds to the DBServer property of the Self-Healing
Study

Prefix for table names Defines a prefix for table names used on the database.
This option corresponds to the TableName property of
the Self-Healing Study

Discard data from the main table Enables or disables discarding data after a certain period
of time. This option corresponds to the EnableDiscard
property of the Self-Healing Study

Discard data older than Determines a time interval, in minutes, hours, days, or
months, in which data is kept on the main table. If table
data is older than the time interval in this option, it is
discarded. This option is equivalent to the DiscardInterval
property of the Self-Healing Study and the option to
select this interval's time unit is equivalent to the
DiscardTimeUnit property of the Self-Healing Study

Perform discard every Determines an interval, in minutes, hours, days, or


months, to discard older data from a table. This option is
equivalent to the VerificationUnit property of the Self-
Healing Study

Move discarded data to the backup table Enables or disables storing discarded data on a
secondary or backup table. This option is equivalent to
the EnableBackupTable property of the Self-Healing Study

Discard from backup data older than Determines the maximum time interval, in minutes, hours,
days, or months, for data on the backup table until being
discarded, regardless of the time that data remains on
the main table. For example, to keep data for 24 months
on the main table and six more months on the backup
table, this option's value must be 30 months. This interval
must always be greater than the one configured in the
Discard data older than item of the main table. This
option is equivalent to the BackupDiscardInterval property
of the Self-Healing Study and the option to select this
interval's time unit is equivalent to the
BackupDiscardTimeUnit property of the Self-Healing Study

Generate tables Generates the structure of tables on the Database

1.8 Limitations of Demonstration Mode


Without a product key, Elipse Power can be executed in Demonstration, or Demo, mode, which is useful for product
evaluation. In this case, the following limitations apply:
· Allows saving projects with up to 20 I/O Tags
· Does not allow working with servers in Hot-Standby mode
· Does not allow working with Remote Domains
· Only allows communicating with one Level 0 (zero) I/O Driver, without Tag limitations. Drivers with a level greater
than 0 (zero) are not allowed
· Does not allow access to Domain configurations, available on the E3 Admin's Domain - Options contextual menu
on Windows Notification Area
· Only the first image of each category in the Symbols Gallery is available
· Only allows opening one Elipse Power Viewer or WebViewer

5 Introduction
· The maximum execution time of a Domain is two hours
· Only allows recording up to 20 I/O Tags on a Storage object
· Allows access as an OPC Server
· Allows executing a playback of the last six hours of data, relative to the current server time, with an unlimited
number of Tags, and all playback resources enabled
· Does not allow using E3 Admin's Export Users tool
· Does not allow using Elipse Power Studio's Import and Export tool
· Allows using up to 100 Measurements
· Allows electrical models with up to 20 inputs from the Power Flow module
· Allows electrical models with up to five Breakers participating on the Load Shedding module
· Does not allow using the State Estimator module
· Does not allow using the Distribution Load Modeling module
· Does not allow using the Self-Healing module
· Allows using up to two Substations
· Allows using up to four Feeders
· Allows using up to two Inverters
· Allows using up to four Photovoltaic Arrays
· Allows saving electrical models, that is, files in EDB format, with up to 20 devices

Introduction 6
CHAPTER
Elipse Power Studio
2
Elipse Power Studio is Elipse Power's development environment. With it, users can create and maintain Domains,
projects, and libraries.
To start an application in Elipse Power Studio, select it on Windows Start menu or double-click the icon created on
Windows Desktop Area during installation.
A protection device must be connected to the correct I/O port, in case of a local edition, or this machine must be on
the same local network that another one with an E3 Server already installed, and with a protection device available.

2.1 Starting a Project


When Elipse Power Studio starts, it opens a dialog box with some options for a project, according to the next figure.

Start Elipse Power Studio window


The available options on this dialog box are described on the next table.
Available options for Start Elipse Power Studio window
OPTION DESCRIPTION
Start Elipse Power Studio No Domain is opened

Create a new Domain Requests a name and a path for a new Domain

Open an existing Domain When clicking Other Files, users can locate a Domain on
a specific folder, or select it on the list of the last edited
applications

2.2 Working Area


Elipse Power Studio comes with a series of configured menus and a toolbar, which are shown when executing it for
the first time. When using a more modern graphical interface, similar to programs such as Microsoft Office, users can
modify these menus and toolbar. When there is no open application, a screen displays less enabled options on menu
bar and on toolbar, but its layout remains the same. The next figure shows Elipse Power Studio's appearance after
creating a new project.

7 Elipse Power Studio


Elipse Power Studio's working area
A Title Bar shows application's path and name, or the name of an object whose view is currently shown on working
area.
A Status Bar shows help information about the screen area under mouse pointer.
A Toolbar shows resources that can be used on Elipse Power.
A Working Area is where views are displayed.

2.3 Settings
Elipse Power allows users to customize some Elipse Power Studio resources, such as toolbars, keyboard, menus, and
mouse, among others.

2.3.1 Appearance
To customize Elipse Power Studio's appearance, click the View - Customize menu. The available options on this item
are described next.

Commands Tab
This tab defines additional icons for the Default toolbar or for the menu bar. To do so, click an icon on the
Commands list and drag it to the Default toolbar or to the menu bar.

Elipse Power Studio 8


Commands tab
The available options on this tab are described on the next table.
Available options for the Commands tab
OPTION DESCRIPTION
Categories Shows the available categories for the Default toolbar or
the menu bar in Elipse Power Studio

Commands Shows the items composing the selected category

Description A short description of the selected option

Toolbars Tab
This tab configures the Default toolbar and the menu bar in Elipse Power Studio.

Toolbars tab
The available options on this tab are described on the next table.

9 Elipse Power Studio


Available options for the Toolbars tab
OPTION DESCRIPTION
Toolbars Lists all available toolbars

Reset Restores the default options for the selected item on the
Toolbars list

Reset all Restores the default options for the Default toolbar, as
well as for the menu bar

New Creates a new toolbar. This option has no effect and it is


kept in Elipse Power for compatibility reasons

Rename Changes the name of the selected toolbar. This option


has no effect and it is kept in Elipse Power for
compatibility reasons

Remove Removes the selected toolbar. This option has no effect


and it is kept in Elipse Power for compatibility reasons

Show legends Shows a legend on the options of the Default toolbar.


This option is not available for the menu bar

Menus Tab
This tab configures Elipse Power menus.

Menus tab
The available options on this tab are described on the next table.
Available options for the Menus tab
OPTION DESCRIPTION
Show menus for Displays an application's pre-defined menu. This option
has no effect and it is kept in Elipse Power for
compatibility reasons

Reset Resets a menu defined in the previous option. This option


has no effect and it is kept in Elipse Power for
compatibility reasons

Menu Animation Selects the type of animation used on menus. Available


options are None (Elipse Power default), Unfold, Slide,
Fade, or [Default] (Windows default)

Elipse Power Studio 10


OPTION DESCRIPTION
Shaded menus Defines whether a menu displays a shaded effect or not

Appearance Tab
This tab changes the appearance of windows and toolbars in Elipse Power Studio.

Appearance tab
The available options on this tab are described on the next table.
Available options for the Appearance tab
OPTION DESCRIPTION
Native Windows Configures Elipse Power Studio's appearance with the
style used on the currently installed Windows color
scheme

Office 2000 Configures Elipse Power Studio's appearance with the


style used on Office 2000 color scheme

Office XP Configures Elipse Power Studio's appearance with the


style used on Office XP color scheme

Office 2003 Configures Elipse Power Studio's appearance with the


style used on Office 2003 color scheme

VS.Net 2005 Configures Elipse Power Studio's appearance with the


style used on Visual Studio .NET 2005 color scheme

Office 2007 (Silver) Configures Elipse Power Studio's appearance with the
style used on Office 2007 Silver color scheme

VS 2008 Configures Elipse Power Studio's appearance with the


style used on Visual Studio 2008 color scheme

VS 2010 Configures Elipse Power Studio's appearance with the


style used on Visual Studio 2010 color scheme

Office 2010 (Silver) Configures Elipse Power Studio's appearance with the
style used on Office 2010 Silver color scheme

Options Tab
This tab configures general specifications of a project. In this item, users can enable or disable options for the Default
toolbar or for a Screen's toolbar.

11 Elipse Power Studio


Options tab
The available options on this tab are described on the next table.
Available options for the Options tab
OPTION DESCRIPTION
Show descriptions Enables Elipse Power to show a brief description on the
options of the Default toolbar and on the options of a
Screen's toolbar whenever the mouse pointer is over an
item

Include shortcut keys Shows or hides shortcut keys on the description of an


option

Large icons Enables large icons on the Default toolbar and on a


Screen's toolbar

2.3.2 Other Settings


Users can configure Elipse Power's Scripts Editor, as well as other options for Domain files by using the Tools -
Options menu, where users have access to the configuration window on the next figures.
The General tab configures general behaviors of object Editors and Domains.

Elipse Power Studio 12


General tab
The available options on this tab are described on the next table.
Available options for General tab
OPTION DESCRIPTION
Activate Script Editor Activates the Scripts Editor when double-clicking an object

Open Properties Window Opens the Properties Window when double-clicking an


object. NOTE: The Properties Window can also be opened
by using the shortcut keys ALT + ENTER or ALT + Double-
click

Show close button on active tab Allows closing the active tab when clicking its Close button.
Clearing the selection of this option places the Close
button on view's right side

Always ask before stopping the Domain If this option is selected, displays a confirmation message
when stopping a Domain using the Runs or Stops
Domain (SHIFT + F9) option on the Default toolbar

Show warning messages from Find/Replace window If this option is selected, all messages displayed on
message boxes during find and replace operations on the
Find and Replace window are always displayed. NOTE: If
this option is in an undetermined state , this indicates
that users deselected the Always show this message
option of the message box for some messages and not
for other messages

The Scripts Editor tab configures Elipse Power's Scripts Editor.

13 Elipse Power Studio


Scripts Editor tab
The available options on this tab are described on the next table.
Available options for Scripts Editor tab
OPTION DESCRIPTION
Collapsible nodes Allows hiding or displaying code blocks in scripts

Margin size Size of the margin containing code blocks

Line numbering Enables line numbering in Scripts Editor

Margin size Size of the margin containing the line numbering

Tab size Determines the number of tab spaces

Font Determines the name of the font used in Scripts Editor

Size Determines the size of the font used in Scripts Editor

NOTE
Close all open Scripts Editors to apply these changes.

The Files tab allows enabling or disabling a CRC (Cyclic Redundancy Check) verification.

Elipse Power Studio 14


Files tab
Every time a project or library is created, Elipse Power internally stores a CRC code for this file's data. Every time a file
is opened, this CRC code is then checked. In case that check fails, that is, its CRC code does not match data, loading
this file is aborted, indicating file's data corruption. This may be due to hardware failures such as memory, network, or
storage device, among others.
However, if a project created with the latest version is then modified in a version previous to 1.00.019 build 203, this
CRC code is not updated. This means that a file cannot be opened again in new versions, because its CRC check fails,
even though this file is not effectively corrupted. To solve this question, enable the Ignore CRC check option. Thus, a
project can be opened in the current version.
In this case, this option must remain enabled until all objects edited in previous versions are saved by the current
version, which then updates its CRC code.

NOTE
It is not recommended to edit project files in older versions of Elipse Power and then open these files in new
versions, because there is no guarantee that file settings are not lost during this procedure.

2.4 Toolbars
Elipse Power's Toolbar contains options that allow executing certain tasks quickly without using menus, such as
opening Organizer. The next table shows all available options for Elipse Power Studio's Default toolbar.
Available options for the Default toolbar
OPTION DESCRIPTION
New Creates a new project (CTRL + N)

Open Project Opens an existing project (CTRL + O)

Save Saves a project (CTRL + S)

Save All Saves the whole Domain (CTRL + SHIFT + S)

Register Libraries Registers all loaded libraries (CTRL + SHIFT + L)

Cut Removes the selected information and transfers it to the


Clipboard (SHIFT + DELETE)

15 Elipse Power Studio


OPTION DESCRIPTION
Copy Copies the selected information and transfers it to the
Clipboard (CTRL + C)

Paste Pastes the selected information from the Clipboard


(CTRL + V)

Undo Undoes the last action executed (ALT + BACKSPACE)

Redo Redoes the last action executed by the Undo option


(CTRL + Y)

Organizer Shows or hides the Organizer (CTRL + SHIFT + O)

Gallery Shows or hides the Gallery (CTRL + SHIFT + G)

Property List Shows or hides the Property List (CTRL + SHIFT + P)

Domain Verifier Verifies errors in a Domain (CTRL + SHIFT + V)

Show in Editor Shows an object in the object's View, if it is selected in


Organizer (ENTER)

Show in Organizer Shows an object in Organizer, if it is selected in the


object's View

Saves and Runs the Domain Saves all settings of projects and libraries, executes a
Domain, and then executes an Elipse Power Viewer (F9)

Runs or Stops Domain Executes or stops the execution of the current Domain
(SHIFT + F9)

Refresh Domain Updates the current Domain (F5)

Runs or Stops Elipse Power Viewer Executes or stops the execution of the current Elipse
Power Viewer (CTRL + F9)

Defragment Files Defragments the specified file

Create Library Package Creates a compressed file with the available libraries in
the Domain

Find Searches for all occurrences of a given text in the whole


Domain (CTRL + SHIFT + F)

Replace Replaces all occurrences of a given text in the whole


Domain (CTRL + SHIFT + H)

Domain's Object Counting Displays a window with the amount of objects available
in a Domain, separated by classes sorted alphabetically
or grouped by modules (CTRL + SHIFT + C)

Script Documentation Generates a documentation for scripts

Version Report Shows project and library versions

WatchWindow Shows or edits Tag and property values in Elipse Power


Studio, at run time (CTRL + SHIFT + W)

2.4.1 Create Library Package


The Create Library Package tool allows creating a compressed file containing one or more libraries from the current
Domain. When selecting this option, the window on the next figure is opened.

Elipse Power Studio 16


Create Library Package window
The available options on this window are described on the next table.
Available options on the Create Library Package window
OPTION DESCRIPTION
Available libraries List with all libraries registered in the current Domain

Selected libraries List with all libraries selected for the library package

Add Adds the selected library on the list Available libraries to


the list Selected libraries

Remove Removes the selected library on the list Selected


libraries, moving it to the list Available libraries

Create Opens a Save As dialog box, which allows selecting


where to save the package with the selected libraries to a
file with an .e3pkg extension

The package created using this option is not automatically added to the current Domain. To do so, right-click the
package in Organizer's Explorer mode and select the Add to Domain . The libraries that compose a package are
not visible in Domain mode, only in Explorer mode, and they cannot be removed from the package.
Library packages contain an Extract Libraries option on its contextual menu, which allows extracting all resources
added to packages. These resources are not added to the current Domain.

NOTE
Users must be careful when trying to add these libraries or resources extracted from a library package to the current
Domain, because if there is already a library with the same identifier, this situation prevents using these libraries until
one of them is removed from the Domain.

2.4.2 Domain Verifier


The Domain Verifier tool verifies configuration errors in the whole Domain, such as objects with the same name and
illegal Links, among others. To use this tool, click Domain Verifier on the Default toolbar to display the window on
the next figure.

17 Elipse Power Studio


Domain Verify window
The available options on this window are described on the next table.
Available options on the Domain Verify window
OPTION DESCRIÇÃO
Clear error list Removes all messages from the list of results

Show information window Displays a window with detailed information about the
selected error

Perform verification Performs a verification process on the current Domain or


on the selected object in Organizer

Export List of Errors Exports the result of a verification to a file in CSV


(Comma-Separated Values) format

Object Full path of the object in error

Error Type of error found

Description Detailed description of the error found

Solution A message suggesting a solution for the error found

Filter Allows filtering the list of errors for the available columns

When clicking the Show information window option, the window on the next figure is displayed.

Problems to Solve window


After solving the error or errors indicated, the window on the next window is displayed.

Elipse Power Studio 18


Window showing a success on the verification
Double-clicking an error on the list selects the corresponding object in Organizer, as shown on the next figure.

Object with errors selected in


Organizer
The Domain Verifier tool is available in Elipse Power Studio's Tools menu and also on the contextual menu of objects
in Organizer. In this case, the verification is performed on the selected object and its children.

2.4.3 Domain's Object Counting


The Domain's Object Counting tool allows viewing the number of existing objects in a Domain, separated by classes
sorted alphabetically or grouped by modules. This counting can also be performed contextually to an object, by right-
clicking an object and selecting the Object Counting item.

Domain's Object Counting window


The available options on this window are described on the next table.

19 Elipse Power Studio


Available options on Domain's Object Counting window
OPTION DESCRIPTION
Sort by Category Displays object counting organized by module

Sort Alphabetically Displays object counting organized alphabetically

Refresh Refreshes the object counting. NOTE: This refresh


process is not automatic, except when a removed object
is the base object of the counting context or when a
Domain is closed

Count ElipseX's Instance Children Includes in the counting internal children of XControl,
XFolder, or XObject instances

Find Allows filtering this list by an object's name or partial


name

NOTES
· The Object Counting contextual menu is not available in Organizer in Domain mode for Settings, Server objects,
Files, and Remote Domains items.
· Individual files on Files item in Organizer in Domain mode allow using the Object Counting contextual menu.
· For password-protected files, they must be open to be added to this counting process.

2.4.4 Find and Replace


The Find tool searches for instances of a given text in a Domain, fully or partially. By the end of this search, users
are presented to a list of results indicating the object or objects where this occurrence was found, its location inside
that object or objects, such as whether it is a property or a Link, and the text containing this occurrence. To use this
tool, select the Find option on the Default toolbar, select the Find item in Elipse Power Studio's Tools menu, or
use the shortcut key CTRL + SHIFT + F. In these cases, the search is always started for the whole current Domain. When
right-clicking an object and selecting the Find option, which is equivalent to shortcut key CTRL + F, the search is always
started from the selected object and its children, if available.

Elipse Power Studio 20


Find window
The available options on this window are described on the next table.
Available options on the Find window
OPTION DESCRIPTION
Find what Text to search for

Look in Searches the whole Domain, on the Find Results 1 (one)


or 2 (two) windows, or only in the selected object

Match case Searches for the specified text exactly as written,


matching its case

Whole word Searches for the specified text as a whole word, without
considering whether this text is contained inside another
text

Use regular expressions Searches for the specified text using a regular
expression feature, described later

Everything Searches for the specified text in object's properties,


Links, scripts, and Picks

Include Formula Data Includes in the search data from a Formula's database

Properties Searches for the specified text only in the values of


properties of objects

Only Names Searches for the specified text only in properties


representing an object's name, such as Name and
ConnectionName

21 Elipse Power Studio


OPTION DESCRIPTION
Links Searches for the specified text only in Links of objects

Only Sources Searches for the specified text only in sources of Links of
objects

Scripts and Picks Searches for the specified text only in scripts and Picks of
objects

Find Results 1 and 2 Shows the search results on the Find Results 1 (one) or 2
(two) windows

Append Results Allows executing a search without removing the results


from previous searches

Find Executes a search using the selected options

When selecting the Use regular expressions option, users can use patterns for character matching, known as Regular
Expressions, to locate text. For example, using the expression "a*c" would allow finding texts "abc", "abbc", or "a123c".
The next table contains some examples of the most common combinations on regular expressions.
Common combinations on regular expressions
COMBINATION DESCRIPTION
a Finds only the "a" character

. (dot) Finds any sequence of characters, except a new line

[a-c] Finds only the characters "a", "b", or "c"

\n, \t Finds the new line or tab characters, respectively

NOTES
· Elipse Power uses the ECMAScript syntax on regular expressions. For more information, please check topic Regular
Expressions on Microsoft Docs.
· Selecting the Use regular expressions option enables the option near the Find what option, which allows
selecting the most common regular expressions for searching.

The next figure shows a Find Results 1 (one) window for a search operation.

Find Results 1 window


The available options on this window are described on the next table.
Available options on the Find Results 1 or 2 window
OPTION DESCRIPTION
Select Previous Selects the previous result on the list of results (CTRL +
SHIFT + F8)

Select Next Selects the next result on the list of results (CTRL + F8)

Go to Result Selects the object that contains the result in Organizer

Elipse Power Studio 22


OPTION DESCRIPTION
Delete Selected Groups Deletes the selected group of search results (DELETE)

Clean Results List Removes all search results from the list of results

Filter Allows filtering the results by using the Object, Location,


and Result columns

Object Full path of the object where the text was found

Location Shows where the text was found, according to the


options selected on the Advanced group of the Find
window

Result Shows the expression where the text was found

NOTE
Groups of results on Find Results 1 (one) and 2 (two) windows can be expanded or collapsed for a better
organization of the search results, specially when selecting the Append Results option.

The Replace tool replaces occurrences found by another specified text. To use this tool, select the Replace tool
on the Default toolbar, select the Replace item in Elipse Power Studio's Tools menu, or use the shortcut key CTRL +
SHIFT + H. In these cases, the replacement is always performed for the whole current Domain. When right-clicking an
object and selecting the Replace option, which is equivalent to shortcut key CTRL + H, the replacement is always
performed from the selected object and its children, if available.

23 Elipse Power Studio


Replace window
The available options on this window are described on the next table.
Available options on the Replace window
OPTION DESCRIPTION
Find what Text to search for and replace

Replace with Text to use when replacing

Look in Performs a replacement in the whole Domain, on Find


Results 1 (one) or 2 (two) windows, or only in the selected
object

Match case Performs a replacement of the specified text exactly as


written, matching its case

Whole word Performs a replacement of the specified text as a whole


word, without considering whether this text is contained
inside another text

Elipse Power Studio 24


OPTION DESCRIPTION
Use regular expressions Performs a replacement of the specified text using the
feature of regular expressions, described on the Find
tool

Everything Performs a replacement of the specified text in properties


of objects, Links, scripts, and Picks

Include Formula Data Includes in the replacement data from a Formula's


database

Properties Performs a replacement of the specified text only in the


values of properties of objects

Only Names Performs a replacement of the specified text only in


properties representing an object's name, such as Name
and ConnectionName

Links Performs a replacement of the specified text only in Links


of objects

Only Sources Performs a replacement of the specified text only in


sources of Links of objects

Scripts and Picks Performs a replacement of the specified text only in


scripts and Picks of objects

Find Results 1 and 2 Shows the replacement results on Find Results 1 (one) or
2 (two) windows

Append Results Allows executing a replacement without removing the


results from previous replacements

Find Executes a search using the selected options without


executing a replacement

Replace Executes a replacement using the selected options for the


first search result on Find Results 1 (one) or 2 (two)
windows

Replace All Executes a replacement using the selected options for all
search results

Replace Selection Executes a replacement only on the selected results on


Find Results 1 (one) or 2 (two) windows

Replace Visible Executes a replacement only on the results displayed


after using the Filter option of Object, Location, or
Result columns on Find Results 1 (one) or 2 (two)
windows

NOTE
To select an object and show the exact location where a text was found or replaced, double-click the corresponding
row on the list of results or press the space bar.

The next table contains the main search options, as well as the limitations for main data types.
Main search options
DATA TYPE EXAMPLE NOTES
Date and Time 02/10/2010 Finds in Date and Time-type
00:00:10 properties. If only a date is specified,
finds all occurrences of that date,
regardless of time. If only a time is
specified, finds all occurrences of that
time, regardless of date. Milliseconds
are ignored during this search

25 Elipse Power Studio


DATA TYPE EXAMPLE NOTES
Integer 0 Finds in all number properties.
100 Searching for 10 finds 10 and 10.0,
but does not find 10.1 or 100

Floating Point 10.0 Finds in all Floating Point-type


40,5 number properties. Searching for 10.1
does not find 10 (integer). Windows
regional settings are considered to
validate a decimal symbol of a
number

Color 255,255,0 Finds only in Color-type properties.


0,0,234 Users must use commas to separate
values, which must comply with the
RGB system, that is, three groups of
values ranging from 0 (zero) to 255

Boolean True Considers Windows language to


False process this search as a search for
Boolean values

String Test Finds entire or partial Strings,


Tag according to the search type, by
entire word or not. Any data type can
be found on String-type properties

2.4.5 Scripts Documentation


The Scripts Documentation tool helps users to organize and document application's scripts. Users can access this
tool in the following ways:
· By clicking on the Default toolbar. With this option, all Domain scripts are stored in a file
· By right-clicking project's or object's name and selecting the Document scripts option. With this option, only
scripts from this object and its child objects are stored in a file

This tool generates a text file that can be edited in any text editor. A documentation file is formatted with a wizard
called Script documentation wizard. This wizard helps users to configure a scripts documentation file.

Script documentation wizard


The Documentation file window defines information about a file that stores application scripts.

Elipse Power Studio 26


Type the name of a file where documentation scripts are generated in the Filename option. Specify a place where this
file must be saved in the Save file in folder option, and, if necessary, click Browse.

Scripts documentation file


Click Next and go to the next window.
The File formatting window allows users to format this file with script information. They can choose between a
simplified documentation, containing only script names, or a complete documentation, containing the whole script
code.

File formatting
For example, the following script:
Sub InitialScreen_KeyDown(KeyCode, Shift)
If (KeyCode = 27) Then
Application.Exit
End Sub

27 Elipse Power Studio


If the selected option is Only the script name, the following text is stored in this file:
InitialScreen_KeyDown(KeyCode, Shift)

If, however, the selected option is The whole script, then this code is stored with the same user-defined format, such
as indentation and blank lines, in Scripts Editor.
Regardless of the selected format, an identifier containing an object name is stored before saving this script, to avoid
conflicts. Consider the next objects.
InitialScreen
CommandButton1
Screen1
CommandButton1

Both scripts, considering the same Click event, would be CommandButton1_Click(). Thus, saving the first object in the
file would be in the next format.
<InitialScreen.CommandButton1:CommandButton1_Click()>
Sub CommandButton1_Click()
...
End Sub

And for the second object the format would be as in the next example.
<Screen1.CommandButton1:CommandButton1_Click()>
Sub CommandButton1_Click()
...
End Sub

This allows correctly identifying each script. Click Next to go to the next window.
On the Scripts separator window, users can define a text that is stored between scripts in a documentation file. Users
can select between blank or customizable lines, and also inform how many of these lines are inserted into this file.

Scripts separator
Users can select a Blank line or a Customizable line. If they select the Blank line option, the documentation file has a
blank line between each script. If they select the Customizable line option, then they can inform one or more
characters to compose the line used as a script separator. These characters are informed in the Type line text option.
If they select the Repeat until the end of the line option, the informed characters are repeated up to the line's size
limit, which is 80 characters. Users can also use more than one line as a separator, blank or customizable. Just inform a
number between 1 (one) and 100 in the Type number of lines of separator option. Click Next to finish the
configuration. After that, this wizard shows a message indicating that both configuration and generation of the file
containing scripts documentation are finished.

Elipse Power Studio 28


Final window to generate a file
Some relevant observations:
· XControl, XFolder, and XObject scripts are saved only once in a file, because they are found during library search.
Instance scripts are stored when an instance's parent object is searched
· Picks are internally scripts; therefore, they are also documented
· File storage is performed alphabetically per object name, inside every project or library
· Users cannot add scripts to an existing file via Wizard. Every time this Wizard is started, a new file is created. In
case it already exists, it is overwritten
· This tool may take a while to generate a documentation file, in case the application is too large and the search
involves many types of objects. To improve a search, try generating a file for each Elipse Power's object type

2.4.6 Version Report


The Version Report tool enables viewing versions and comments of open projects and libraries, whether they belong
to a Domain or not. To access this tool, click on the Default toolbar to display the window on the next figure.

Version Report
The available options on this window are described on the next table.

29 Elipse Power Studio


Available options for Version Report dialog box
OPTION DESCRIPTION
Project/Library Name of an open project or library in a Domain

Version Indicates a project or library version. This version is


generated internally by Elipse Power and it is
incremented every time a project is saved, either manually
or automatically. In case of protected projects and
libraries, if this version cannot be saved, it cannot be
incremented either. However, if users have permission to
open and change a project or library, this version is
incremented normally

Comment Shows a project-related comment. This comment can be


edited via DocString property. In case of libraries, this
field remains blank

NOTE
These fields are strictly for viewing, therefore their edition is not allowed.

2.4.7 WatchWindow
The WatchWindow tool allows viewing and editing the current value of any property or Tag at run time in Elipse
Power Studio. To use this tool, click WatchWindow on the Default toolbar or use the Tools - WatchWindow
menu to display the window on the next figure.

WatchWindow window
The available options on this window are described on the next table.
Available options for the WatchWindow window
OPTION DESCRIPTION
Add Opens a DomainBrowser, an AppBrowser containing
objects created on a server, and selects an object to
display on WatchWindow's window

Remove Removes the selected row from WatchWindow's objects


list

Elipse Power Studio 30


OPTION DESCRIPTION
Refresh Searches for the whole child tree of currently selected
objects on WatchWindow's window

Connect or Disconnect Tries to reactivate a lost connection with a Domain, to


enable viewing it, or disconnect a connection if it is active

Name Shows the viewed Tag or property

Quality Shows the quality of a Tag or property

Timestamp Shows the timestamp of a Tag or property

Value Shows the value of a Tag or property, at run time, and


allows editing it. Please check topic Users for more
information about this column

Status Shows whether a Domain is connected or not

If the Value column displays an indication of Array, this means that the type of this Tag or property is a Variant and
contains an Array. To view or edit all values of this Array, click the cell and select the View Array option. The window on
the next figure is displayed.

Array Editor window


On this window, if any value also displays an indication of Array, its values can be viewed or edited by repeating the
previous procedure.

2.5 Shortcut Keys


Several Elipse Power Studio functions can be accessed directly using shortcut keys. The next tables list all available
shortcut keys.
Shortcut keys for Screen objects on Views
SHORTCUT KEY DESCRIPTION
CTRL + Plus sign (+) Increases zoom. This shortcut key also works at run time

CTRL + Minus sign (-) Decreases zoom. This shortcut key also works at run
time

CTRL + Zero (0) or CTRL + Asterisk (*) Returns to a 100% zoom

CTRL + Five (5) or CTRL + CLEAR Toggles between resizing the Screen to fit in the visible
area and restoring the previous zoom level and scroll
bar position. NOTE: The shortcut key CTRL + Five (5), on
the keypad, is available only when the NUM LOCK option
is disabled

CTRL + Mouse wheel Increases or decreases zoom. This shortcut key also
works at run time

31 Elipse Power Studio


SHORTCUT KEY DESCRIPTION
CTRL + HOME Applies the smallest zoom allowed. This shortcut key
also works at run time

CTRL + END Applies the largest zoom allowed. This shortcut key also
works at run time

CTRL + Comma (,) Applies the previous zoom available on the Zoom menu.
This shortcut key also works at run time

CTRL + Period (.) Applies the next zoom available on the Zoom menu. This
shortcut key also works at run time

CTRL + ENTER Allows editing an object inside a group, a Linear


Rotation, or a Rotation Slider, as long as this object is
not locked

ESC Passes the context of a selection to the parent object of


the selected object inside a group, a Linear Rotation, or
a Rotation Slider

Mouse wheel Scrolls a Screen vertically, or horizontally if only its


horizontal scroll bar is visible. This shortcut key also
works at run time

SHIFT + Mouse wheel Scrolls a Screen horizontally, or vertically if only its


vertical scroll bar is visible. This shortcut key also works
at run time

ALT + ENTER Opens the Properties Window

SHIFT + F10 Opens the contextual menu of the selected object

TAB Moves the selection to the next object in the tab order
of objects, regardless of the value of the Visible
property. NOTE: If the object is in an invisible layer, it is
not selected, regardless of the value of the Visible
property

SHIFT + TAB Moves the selection to the previous object in the tab
order of objects, regardless of the value of the Visible
property. NOTE: If the object is in an invisible layer, it is
not selected, regardless of the value of the Visible
property

Application or menu key Opens the contextual menu of the selected object

DELETE Deletes the selected object

Up arrow Moves the selected object up

ALT + Up arrow Moves the selected object up in a ten times faster step

CTRL + Up arrow Moves the selected Screen down

CTRL + ALT + Up arrow Moves the selected Screen down in a ten times faster
step

SHIFT + Up arrow Decreases the size of the selected object vertically up

SHIFT + ALT + Up arrow Decreases the size of the selected object vertically up in
a ten times faster step

Down arrow Moves the selected object down

ALT + Down arrow Moves the selected object down in a ten times faster
step

CTRL + Down arrow Moves the selected Screen up

CTRL + ALT + Down arrow Moves the selected Screen up in a ten times faster step

SHIFT + Down arrow Increases the size of the selected object vertically down

Elipse Power Studio 32


SHORTCUT KEY DESCRIPTION
SHIFT + ALT + Down arrow Increases the size of the selected object vertically down
in a ten times faster step

Left arrow Moves the selected object to the left

ALT + Left arrow Moves the selected object to the left in a ten times faster
step

CTRL + Left arrow Moves the selected Screen to the right

CTRL + ALT + Left arrow Moves the selected Screen to the right in a ten times
faster step

SHIFT + Left arrow Decreases the size of the selected object horizontally to
the left

SHIFT + ALT + Left arrow Decreases the size of the selected object horizontally to
the left in a ten times faster step

Right arrow Moves the selected object to the right

ALT + Right arrow Moves the selected object to the right in a ten times
faster step

CTRL + Right arrow Moves the selected Screen to the left

CTRL + ALT + Right arrow Moves the selected Screen to the left in a ten times
faster step

SHIFT + Right arrow Increases the size of the selected object horizontally to
the right

SHIFT + ALT + Right arrow Increases the size of the selected object horizontally to
the right in a ten times faster step

F2 Edits the Caption or Value property of the selected


object

CTRL + Spacebar Adjusts the size or position of an object's selection to


the nearest pixel

SHIFT + Drag Selects multiple objects or adds objects to a previous


selection

SHIFT + Click Adds or removes an object from a selection

Shortcut keys for Elipse Power Studio windows


SHORTCUT KEY DESCRIPTION
ESC Returns the keyboard focus to the last opened View, if
available

CTRL + SHIFT + O Opens or moves the keyboard focus to the Organizer

CTRL + SHIFT + G Opens or moves the keyboard focus to the Gallery

CTRL + SHIFT + P Opens or moves the keyboard focus to the Properties List

CTRL + SHIFT + C Opens or moves the keyboard focus to the Domain's


Object Counting window

CTRL + SHIFT + V Opens or moves the keyboard focus to the Domain


Verifier window

CTRL + SHIFT + F Opens or moves the keyboard focus to the Find window

CTRL + SHIFT + H Opens or moves the keyboard focus to the Replace


window

CTRL + SHIFT + W Opens or moves the keyboard focus to the WatchWindow


window

33 Elipse Power Studio


Shortcut keys for grid cells in Elipse Power Studio
SHORTCUT KEY DESCRIPTION
Spacebar Opens a contextual menu with types of Links on the Link
column of the Links tab of the Properties Window or on
the Edit Links window

F4, SHIFT + F4, CTRL + F4, or ALT + Up arrow Opens or closes a combo box on cells that allow selecting
a value from a list of values

ALT + Up or down arrows Opens a combo box on cells that allow selecting a value
from a list of values

ALT + Period (.) Opens a window to edit a value on cells that contain the
option

CTRL + ENTER or ALT + Down arrow Moves the keyboard focus to the configuration window of
values from Digital, Analog, Table and Multiple Links

ESC or ENTER Closes the option opened by the previous shortcut keys

Arrow keys Moves through cells of a grid

Shortcut keys for script Views


SHORTCUT KEY DESCRIPTION
CTRL + A Selects all text from the current script

CTRL + SHIFT + A Opens the AppBrowser

CTRL + E Creates a Run Application Pick

CTRL + F Opens the Find window on the text of the current script

CTRL + H Opens the Replace window on the text of the current


script

CTRL + L Creates a Load Value Pick

CTRL + M Creates an Open Modal Screen Pick

CTRL + T Creates a Toggle Value Pick

CTRL + R Creates a Print Report Pick

CTRL + Plus sign (+) Creates a new script on the selected object and event

CTRL + SHIFT + Plus sign (+) Creates an Open Screen Pick

F3 Moves to the next occurrence on the Find or Replace


windows

SHIFT + F3 Moves to the previous occurrence on the Find or Replace


windows

F7 Compiles the selected script

ALT + F7 Compiles all scripts from the selected event

CTRL + ALT + F7 Compiles all events from the selected object

CTRL + Up or down arrows Moves the selected script up or down, respectively, on


the list with the execution order of scripts of an object

2.6 Organizer
The Organizer allows users to view an application as a whole, helping the edition and configuration of all involved
objects by using a hierarchical tree of options. It contains the Domain and Explorer view modes.

Elipse Power Studio 34


Organizer
The Domain mode shows only information about open objects belonging to a Domain. This information is divided into
Settings, Objects Library, View, and Server Objects groups. Each group presents its objects sorted out alphabetically
inside its respective node.

Domain mode
The Settings group shows all configured servers, as well as names of project and library files belonging to a Domain.
The Objects Library group collects ElipseX objects from all libraries in a Domain, sorted out by type, XControls,
XFolders, and XObjects.
The remaining Elipse Power objects are in View or Server Objects groups. View contains objects executing in the
client machine. Objects executing in the server machine are in Server Objects.
The Explorer mode shows all projects and libraries currently open in Elipse Power Studio, whether they belong to a
Domain or not. These objects are shown inside the project or library they belong to, sorted out alphabetically.

35 Elipse Power Studio


Explorer mode
Application maintenance can be handled in both modes. Operations performed in one mode are immediately reflected
in the other mode. To make it easier to locate all objects, both modes are interchangeable between each other and
between the Design tab in the object's View. To toggle between viewing modes, follow these procedures:
1. In Domain mode, right-click an object and select the Show in Explorer option to view it in Explorer mode.
2. In Explorer mode, right-click an object and select the Show in Organizer option to view it in Domain mode.
3. In either mode, right-click an object and select the Show in Editor option to view it on the Design tab.
4. In any object's View, on the Design tab, right-click an object and select the Show in Organizer or Show in
Explorer option to view it in Organizer, in its respective mode.

When left-clicking an object, its properties can be viewed and edited in the Properties List, if enabled. By right-clicking
an item in Organizer, the options on the next table are displayed.
Available options in Organizer
OPTION DESCRIPTION
Close Closes the current project, library, or library package

Refresh Updates all settings of a project, library, or library


package

Register Registers the selected library, so that all performed


changes are available

Save As Opens a dialog box to save a project or library to the


indicated location

Defragment Defragments a file from the Files group, that is, removes
unnecessary spaces as a result of excluding items,
importing files, or including resources, among others.
After defragmentation, a window is displayed with
information about file's original size, defragmented size,
and percentage of compression

Protection Protects the content of a project or library file against


unauthorized edition, viewing, or execution. For more
information on this option, please check topic File
Protection

New Folder Creates a new Folder in an application

Insert Inserts objects available in Elipse Power into a project or


library. For more information on this option, please check
the respective chapters for each object

Insert Resource Inserts resources into a project, library, or library


packages

Enable or Disable project Enables or disables the selected project. To disable it,
right-click it and select the Disable project option. Notice
that project's icon changes to , indicating that it is
disabled. To enable it, right-click it and select the Enable
project option. NOTE: The disabled icon is also
displayed for projects that are not part of a Domain

Elipse Power Studio 36


OPTION DESCRIPTION
Add to Domain or Remove from Domain Adds or removes a project, library, or library package
from a Domain. To remove from a Domain, right-click it
and select the Remove from Domain option. To add to
a Domain, right-click it and select the Add to the Domain
option

Find Searches for parts of a text in a project. For more


information on this option, please check topic Find and
Replace in this chapter

Replace Searches for parts of a text in a project and replace them


with others. For more information on this option, please
check topic Find and Replace in this chapter

Object Counting Displays the number of existing objects in a Domain or in


the selected object. This option is not available for the
Settings, Server objects, Files, and Remote Domains
items and for library packages

Import or Export Helps users to import and export objects, Links, and
collections. For more information on this option, please
check topic Import and Export in this chapter

Document Scripts Helps users with application's scripts documentation. For


more information on this option, please check topic
Scripts Documentation in this chapter

Verify Verifies errors in an application. For more information on


this option, please check topic Domain Verifier in this
chapter

Edit Links Changes one or more Links, user events, and Link-type
properties in an application, quicker than using the
traditional window. For more information on this option,
please check the Links chapter

Copy or Paste Links Copies or pastes Links from one object to another. The
second option is only displayed if what was copied to the
Clipboard is a Link. If the selected property already
contains a Link, displays a message asking whether this
Link must be overwritten. If Links copied to the Clipboard
are pasted into an object that does not have one of these
properties, they are listed on a message box informing
this problem. The existing properties have their Links
created correctly. Links from ElipseX object's hidden
properties are not copied

Show Class Definition Selects, on the Objects Library item, the class (XFolder,
XObject, or XControl) that defines the instance of the
selected ElipseX. NOTE: For password-protected classes
or libraries, this option is disabled

Properties Opens an object's Properties Window. When this option


is selected on a contextual menu, the first tab to open is
the one to configure that object. For more information on
this option, please check each object's respective chapter.
NOTE: The Properties Window can also be opened by
using the shortcut keys ALT + ENTER or ALT + Double-
click

Load All Objects Loads all objects from the selected group

Close All Objects Closes all objects from the selected group

Save All Objects Saves all objects from the selected group

New Application File (.PRJ) Creates a new project file and adds it to a Domain

37 Elipse Power Studio


OPTION DESCRIPTION
New Objects Library (.LIB) Creates a new library file and adds it to a Domain

Register Loaded Libraries Registers all libraries loaded in a project (CTRL + SHIFT +
L)

Open All Files Traverses all project and library files in a Domain. If a
closed file is found, it is then opened. If a file is protected
by an edition password, this password is then requested.
Elipse Power Studio tries to use the same password for
all protected files. If this password fails for any of these
files, it is then requested again

Close All Files Closes all project and library files in a Domain. If any file
has unsaved changes, Elipse Power Studio then displays
a message asking users whether they want to save them
or not

Defragment All Files Defragments all files from the Files group, that is,
removes unnecessary spaces as a result of excluding
items, importing files, or including resources, among
others. After defragmentation, a window is displayed with
information about files' original sizes, defragmented
sizes, and percentage of compression

Edit Domain activation order Allows changing the activation order of Server objects in
a Domain, as shown on the next figure

Extract Libraries Allows extracting libraries inside a library package, that is,
a file with an .e3pkg extension

NOTE
The options on the previous table are also available by using the shortcut key SHIFT + F10, which corresponds to the
application or menu key .

Domain Activation Order window


When selecting the Defragment option on the contextual menu of a file on the Files group, the window on the next
figure is displayed at the end of the defragmentation process.

Elipse Power Studio 38


Result of defragmenting a file
When selecting the Defragment All Files option on the contextual menu of the Files group, the window on the next
figure is displayed at the end of the defragmentation process.

Result of defragmenting all files


Click Details to view details on each defragmented file, according to the next figure.

Details of all defragmented files

2.7 Import and Export


The import tool in Elipse Power reads information about objects from a CSV (Comma Separated Values) file, and
recreates them in the configuration environment (Elipse Power Studio). For each object, users can get information on
properties, Links, and collection items.

39 Elipse Power Studio


The export tool in Elipse Power stores information about selected objects from the configuration environment (Elipse
Power Studio) into a CSV file. For each object, users can store its properties, Links, and collection items. Therefore,
users can:
· Create new Elipse Power objects from a CSV file, as long as these objects are not direct child objects of the
project or library
· Import or export any property from any type of Elipse Power object
· Import or export any type of Link from Elipse Power objects
· Export any type of Elipse Power's objects collection and import their properties
· Import or export any type of item from Elipse Power's objects collection

Any Elipse Power object can be imported or exported. The selected object for this operation is called the root object.
So, users can import or export a Data Folder with user-defined XObjects, for example, or even export a Screen, listing
all its child objects.
In addition to objects, Links and collections can also be imported and exported. Users have the option to inform
whether they want to import or export Links and collections.

NOTE
The import and export tool only considers properties and Links from Elipse Power objects and collections.
Information not described in properties are not imported or exported. That is, for example, the case of scripts and
internal settings of Screen objects.

2.7.1 CSV File


A CSV (Comma Separated Values) file is a text file based on comma-separated columns, or on any other previously
defined separator. In Elipse Power, these files have information about objects that were exported, and are used in the
import process to create these objects properly in Elipse Power Studio. Each column in a CSV file stands for one or
more properties of an Elipse Power object, and each row stands for an object, Link, or collection item. To ensure that
these files are used correctly, users must pay attention to some details:
· The first row in a CSV file must contain a header identifying all columns correctly
· This header must necessarily contain a column identifying the type of object being imported or exported. This
column's name is ObjectType. Its value is the name of an object's class, such as XObject1, DrawRect, InternalTag,
or AgSimple, except for collections, which display pre-defined keywords, such as ITableBindRow or IAxis
· The header for the next columns must be the name of the property itself
· Columns can be placed in any order in a file. There can be more or less columns, without interfering in the import
or export process. The only mandatory column is ObjectType, because without this column it is impossible to
identify the type of object to create

2.7.1.1 Generating a CSV File Manually


Users can generate a CSV file using Notepad, Excel, or any other Windows application. This file is created considering
the Windows-configured element separator (the user-based configuration, not system-based).
The first row in this file must contain a header with column names. Each column must be a property or an identifier
defined in the template, as seen next. Objects must be placed on rows, and property values on the corresponding
columns. Not all object properties should be listed on the header, nor should all columns be necessarily linked to
properties of a given object.
It is also important that this CSV file contain a column for the Name property. Without this column, it is not possible to
determine where exactly that object must be created. Names display the object's correct hierarchy, and names with
special characters must be delimited by brackets. If an object's name starts with numbers, this name must be also
delimited by brackets.
Next, there is an example of a CSV file that can be manually created in Excel.
1. Open Excel and set the header with the following fields, one for each column, according to the next figure.

Elipse Power Studio 40


A CSV file viewed in Excel
2. Save this spreadsheet with a .csv extension.
3. Close this file in Excel.
4. To import this file in Elipse Power, select an IODriver object and import the generated file using the Import option,
selecting the proper template. Elipse Power then creates the structure according to the CSV file.

2.7.2 Objects
Importing and exporting objects in Elipse Power can be performed for any type of object, except for projects and
libraries. An operation starting at a root object is performed on its properties and child objects. To export objects,
follow these procedures:
1. Right-click an object and select Export.
2. On the dialog box, select a CSV file and click Save.

41 Elipse Power Studio


Exporting an object
During the export procedure, all properties, Links, collections, and collection items from the selected object and from
its children are automatically exported. A CSV file is then generated with one row for each exported object, as well as
for each Link, collection, or collection item available on these objects. For each property, a column is created on a file,
where it is informed the value of that property for each object.
The selected object, called a root object, is exported with the Name property's column blank. For all other cases, this
column contains a hierarchy with names separated by dots. An example of an export process starting at an IODriver
object is shown on the next figure.

Hierarchy of a Driver object


ObjectType;Name;Prop1;Prop2;Prop3
IODriver;;0;True;0
IOBlock;Block1;0;False;0
IOBlockElement;Block1.Element1;0;False;0
IOBlockElement;Block1.Element2;0;False;0
IOBlock;Block2;0;False;0

Elipse Power Studio 42


IOBlockElement;Block2.Element1;0;False;0
IOTag;Tag1,0,True,0

If needed, users can configure object exporting using templates, which are presented on topic Templates. When using
a template, users can configure whether Links, collections, and collection items are exported or not, whether a root
object is exported or not, and which properties of each object must be exported, among other configurations. To do
so, follow these procedures:
1. Right-click an object and select Export.
2. Click Advanced to configure or select a template.
3. On the dialog box, select a CSV file and then click Save.

To import objects, follow these procedures:


1. Right-click an object and select Import.
2. On the dialog box, select a CSV file and then click Open.

Importing objects
When importing, for each row read from a CSV file, there is an identification of an object to create. Only the child at the
end of the hierarchy can be created. The remaining path must already exist. For example, in an object
Folder1.Folder2.Tag, only Tag can be created. Folder1 and Folder2 must exist previously. So, it is allowed to have
only folders on a file, without children. This file may have rows such as the next example.
ObjectType;Name
IOFolder;Folder1

Blank rows, rows where no valid identifier is found, blank columns, and columns with invalid property names are
ignored, without generating an error.

2.7.3 Templates
Templates are INI files used to configure both import and export tools. They inform, for example, which type of
separator is used in a CSV file, whether object Links can be exported, etc. INI files have the following format:
· Rows starting with a semicolon are comments, and are not considered when interpreting a file
· This file is organized in sections, and each section contains one or more variables. Sections are identified by
names inside brackets. Variables are all words before an equal sign. A section cannot contain two variables with
the same name
43 Elipse Power Studio
· Blank rows are ignored

An example of an INI file is displayed next.


; First section
[SECTION1]
Var1=0
Var2=1
; Second section
[SECTION2]
Var1=TRUE
Var3=FALSE

This format is a text that can be easily altered by users, and they can generate a new template by using a regular text
editor. The same template can be used both for importing and exporting objects.
Elipse Power templates allow users to redefine values for columns in a CSV file, as well as for object types. In addition,
they also allow users to group more than one property on the same column. This is all performed by defining
identifiers, which are keywords used in a CSV file, and linked to properties or object classes in an INI file.
In Elipse Power, these templates for this import and export tool are defined with the sections and variables described
on the next table.
Sections defined for Templates
SECTION DESCRIPTION
Header Defines the identifiers allowed for column names and
data types. This section must define the header and
types variables. NOTE: This is a mandatory section for
export

Configuration Defines additional configurations for this import or


export tool. This section must define the separator, root,
link, collection, objectduplicated, and bindduplicated
variables

Types Creates a relationship between data type identifiers and


real object classes. Each identifier listed on the types
variable that is not equal to an object's class name must
be documented in this section, and a variable must be
created for each identifier

Columns Creates a relationship between column name identifiers


and property names. Each identifier listed on the header
variable that is not equal to a property name must be
documented in this section, and a variable must be
created for each identifier

Filter Defines which object classes must be imported or


exported. This section must define one of two variables,
include or exclude. If both are defined, only include is
considered

Variables defined for Templates


SECTION DESCRIPTION
header Defines a column order and identifiers to use. All columns
of a CSV file must be listed, separated by commas. Each
identifier that is not equal to a property name must be
listed in section Columns, each one with a variable.
NOTE: This is a mandatory variable for export

types Defines identifiers for allowed data types in a CSV file.


These identifiers must be listed in this variable, separated
by commas. It is only necessary to define this variable if
there is an identifier that is different from an object's
class name. In this case, for each identifier, there must
also have a variable in section Types

Elipse Power Studio 44


SECTION DESCRIPTION
separator Defines a separator to use for delimiting columns in a
CSV file. In case this variable is not defined, a list
separator configured in Windows is used

root Defines whether a root object is exported or imported,


along with its child objects. In case this variable is not
defined, a root object is used

link Defines whether object Links are exported or imported. In


case this variable is not defined, Links are used

collection Defines whether object collections are exported or


imported. In case this variable is not defined, collections
are used

objectduplicated Defines what to do when a pre-existing object is


imported. Possible values for this variable are 0 -
askalways: Always asks what to do, 1 - changealways:
Always changes all properties of the existing object, 2 -
ignorealways: Always ignores the object being imported,
or 3 - createalways: Always creates a new object, auto-
incrementing its name. In case this variable is not defined,
the askalways value is then applied. This option is not
used in the export process

bindduplicated Defines what to do when a pre-existing Link is imported.


Possible values for this variable are 0 - askalways: Always
asks what to do, 1 - changealways: Always replaces the
existing Link by a new one, or 2 - ignorealways: Always
ignores the Link being imported. In case this variable is
not defined, the askalways value is then applied. This
option is not used in the export process, nor does it have
the createalways value. If used, it is always changed to
askalways

collectionduplicated Defines what to do when a pre-existing collection is being


imported. Possible values for this variable are 0 -
askalways: Always asks what to do, 1 - changealways:
Always replaces the existing collection by a new one, or 2
- ignorealways: Always ignores the collection being
imported. In case this variable is not defined, the
askalways value is then applied. This option is not used
in the export process, nor does it have the createalways
value. If used, it is always changed to askalways

itemduplicated Defines what to do when a pre-existing collection item is


being imported. Possible values for this variable are 0 -
askalways: Always asks what to do, 1 - changealways:
Always changes all properties of the existing item, 2 -
ignorealways: Always ignores the item being imported,
or 3 - createalways: Always creates a new item, auto-
incrementing its name. In case this variable is not defined,
the askalways value is then applied. This option is not
used in the export process

include Defines which object classes must be imported or


exported. This filter is not recursive, that is, if an object
class that may have child objects is included, these child
objects are not automatically included. It cannot be used
along with the exclude variable. Only what is defined in
this variable can be imported or exported

45 Elipse Power Studio


SECTION DESCRIPTION
exclude Defines which object classes must not be imported or
exported. This filter is not recursive, that is, if an object
class that may have child objects is excluded, these child
objects are not automatically excluded. It cannot be used
along with the include variable. Only what is defined in
this variable can be imported or exported

NOTE
A semicolon character cannot be used as a full or partial name of a column, neither can it be used as a full or partial
name for an identifier. This limitation is due to the fact that a semicolon defines a comment in an INI file. Thus, a
variable created in either Columns section or Types section to define an identifier that has a semicolon cannot be
read correctly.

Example:
[Header]
header=ObjectType,Name,DocString,N1/B1,N2/B2,
N3/B3,N4/B4,Scan,AllowRead,AllowWrite
types=Tag,Block,Element

[Configuration]
separator=','
root=true
link=true
collection=true
objectduplicated=askalways
binddupplicated=askalways
collectionduplicated=askalways
itemduplicated=askalways

[Types]
Tag=IOTag
Block=IOBlock
Element=IOBlockElement

[Columns]
N1/B1=N1,B1
N2/B2=N2,B2
N3/B3=N3,B3
N4/B4=N4,B4

[Filter]
exclude=IOFolder

Elipse Software provides some templates for importing or exporting different object types. These templates can also
be used as a basis to create others. Templates are on folder Templates of Elipse Power's installation path.

NOTE
On the import process, columns to use are read directly from a CSV file. On this particular case, there is no need for a
header variable on a template. However, if any column is named using an identifier, this one must be defined on
Columns section or this column is ignored.

2.7.4 Template Settings


The Template Settings is a tool that helps users to create an INI file to be used when importing or exporting Elipse
Power objects. To access it, click Import/Export and, once this option's window is opened, click Advanced. If users
already loaded a template, values of initial options on these tabs reflect that configuration. The available tabs are
described next.
· Settings: On this tab, users can configure valid options for the import process as well as for the export process

Elipse Power Studio 46


Settings tab
The available options on this tab are described on the next table.
Available options for Settings tab
OPTION DESCRIPTION
Columns separator The available options are Use list separator configured
in Windows: Selects the character configured on
Windows as the list separator to use as CSV file's column
separator or Use another character as separator: Lets
users select another character as the column separator

Other settings Defines what is imported or exported, objects, Links, or


collections. The available options are Import/Export root
object, Import/Export links, or Import/Export
collections

Save template When the Save changes from this template in an INI
file option is selected, it defines an INI file where changes
to this template are saved, and this file can then be used
again. When this option is not selected, changes made to
this template are temporarily saved to a file on Windows
temporary folder. This file is used to perform an import
or export process right after configuration, and it is
removed later

· Import: On this tab, users can configure import-only options

47 Elipse Power Studio


Import tab
The available options on this tab are described on the next table.
Available options for Import tab
OPTION DESCRIPTION
Duplicated object import Specifies how Elipse Power must handle the occurrence
of duplicated objects during the import process. The
available options are Ask me what to do in each case,
Always overwrite existing object, Always ignore
duplicated object, or Always create a new object

Duplicated link import Specifies how Elipse Power must handle the occurrence
of duplicated Links during the import process. The
available options are Ask me what to do in each case,
Always overwrite existing Link, or Always ignore
duplicated Link

Duplicated collections import Specifies how Elipse Power must handle the occurrence
of duplicated collections during the import process. The
available options are Ask me what to do in each case,
Always overwrite existing collection, or Always ignore
duplicated collection

Duplicated collection items import Specifies how Elipse Power must handle the occurrence
of duplicated collection items during the import process.
The available options are Ask me what to do in each
case, Always overwrite existing item, Always ignore
duplicated item, or Always create a new item

Elipse Power Studio 48


· Filters: On this tab, users can select classes to use in the import or export process, or which classes not to use

Filters tab
The available options on this tab are described on the next table.
Available options for Filters tab
OPTION DESCRIPTION
Do not filter objects Defines that all objects are imported or exported

Include only these objects Defines which object classes are imported or exported

Exclude only these objects Defines which object classes are not imported or
exported

Change Opens a window for selecting object classes to include


or to exclude

Help Opens a help window for this option

By clicking Change, a window opens to select classes, as shown on the next figure.

49 Elipse Power Studio


Object classes
Classes that initially fill in this list are the ones of the root and child objects, if a new template is being created. Users
can also add other classes, by clicking , or remove a class by clicking .
· Identifiers: On this tab, users can define identifiers for the selected object classes. The initial status of this list is
empty

Identifiers tab
The available options on this tab are described on the next table.
Available options for Identifiers tab
OPTION DESCRIPTION
Class name Indicates the name of the selected class in this option

Elipse Power Studio 50


OPTION DESCRIPTION
Identifier Allows users to change the value to use on the
ObjectType column of the CSV file. This column's initial
value is always the object's class name. For each
changed value here, an entry is generated on the INI file
in Types section. These values are not case-sensitive,
that is, "AAA", "aaa", and "aAa" are the same value. If
users define the same value for more than one type, only
the first type is considered during the import process,
and an object may be created with a wrong type

Add Adds object classes

Remove Removes the selected object class

Help Displays a window with a help text

· Properties: On this tab, users can select which object properties they want to use on the import or export process.
This list's initial value is ObjectType and all other properties must be manually added

Properties tab
The available options on this tab are described on the next table.

51 Elipse Power Studio


Available options for Properties tab
OPTION DESCRIPTION
Column name Allows users to change the value to use as a column's
name on CSV file's header. This column's initial value is
always the name of the property itself. For each changed
value on this column, an entry is generated on the INI file
in Columns section. Column names are not case-
sensitive, that is, "AAA", "aaa", and "aAa" are the same
value. If users define the same column's name for more
than one property, only one of them is properly
identified, and all columns with the same name point to
the same property. In this case, some values may be
overwritten

Property Indicates the property being imported or exported

Sort up and Sort down Redefines column's sort order when changing property's
sort order on the list

Add Adds properties to this list

Remove Removes properties from this list, except for


ObjectType. Alternatively, users can use the DELETE key
to remove a property

Column name Creates a column's name linked to more than one


property. Select the properties to group and then click
this option. Column names are grouped on the same
row, using the column's name defined for the property
at the top of this list

Help Displays a window with a help text

By clicking , a window opens to select properties, as shown on the next figure.

Properties window
The available options on this window are described on the next table.
Available options for Properties window
OPTION DESCRIPTION
Object classes Displays object classes that match the selected filter
starting at the root object

Elipse Power Studio 52


OPTION DESCRIPTION
Add all properties Adds all properties from the selected object type in the
previous option

List all E3 object classes If selected, the object's combo box shows all existing
classes in Elipse Power, regardless of a filter or root
object

Properties Displays properties of the selected object

Properties displayed in bold on this list were already added to the list that defines columns on the CSV file. By double-
clicking a property, users either add it or remove it from the list, depending on whether it was on the list or not. If a
property was grouped with others, a double-click only removes this property from the group, keeping the other
properties correctly grouped.
TextFont-type properties contain internal properties that configure certain font features, such as type and size. They
are exported with the main property's name, according to the object, followed by the name of the internal property,
separated by a period, such as in TextFont.Bold. In the template settings, internal properties are displayed separately,
so that users can select them one by one.

TextFont-type properties

2.7.5 Importing Elipse SCADA Objects to Elipse Power


Starting with Elipse SCADA version 2.29, a new functionality was incorporated, allowing users to import Tags, alarms,
and certain Elipse SCADA's Screen objects into Elipse Power.

2.7.5.1 Alarm Configuration


An Alarm Configuration is exported automatically when exporting Tags, by following the previously described steps. In
addition to the file with Tags, a file is generated with the same name followed by an _Alarms suffix. For example, if the
selected name is "InternalTags", then the generated files are InternalTags.e2f and InternalTags_Alarms.e2f. This second
file with the _Alarms suffix contains the alarm Configuration of all exported Tags. To import these alarms to Elipse
Power, follow these procedures:
1. In Organizer, insert a new Alarm Configuration, and insert an Area.
2. Right-click this Area and select the Import option.
3. If this import process was successful, alarms must appear without any warnings. If the corresponding Tags were
already imported, all references must appear in blue.

2.7.5.2 I/O Tags (PLC and Block)


Elipse SCADA's I/O Tags are imported individually for each I/O Driver. To do so, open an application in Elipse SCADA
and follow these procedures:

53 Elipse Power Studio


1. In Elipse SCADA's Organizer, open the Drivers folder and select a Driver.
2. Click Export.

Exporting Drivers
3. Select a file's location and name to generate. In addition to a file with Tag settings, a new file is generated with the
same name followed by an _Alarms suffix. This file is used later when importing alarm configurations to Elipse
Power.

To import these Tags to Elipse Power, follow these procedures:


1. Insert an I/O Driver in Organizer.
2. Rename this Driver to the same Driver's name used in Elipse SCADA application, so that all Driver's Tag references
are correctly imported later.
3. Right-click the I/O Driver and select the Import item.
4. On the list of file types, select the Elipse SCADA files (*.e2f) option, and then select the file previously exported,
without the _Alarms suffix. There is no need to select a template.

Elipse Power Studio 54


Importing I/O Tags

2.7.5.3 OPC Server's Tags and Settings


1. In Elipse SCADA's Organizer, select the OPCServers item and click the desired OPC Driver.
2. Click Export.

55 Elipse Power Studio


Exporting OPC Server's settings and Tags
3. Select a file's location and name to generate. In addition to this file with OPC Tag settings, a new file is generated
with the same name, followed by an _Alarms suffix. This file is used later when importing alarm configurations to
Elipse Power.

To import these OPC Tags to Elipse Power, follow these procedures:


1. In Organizer, insert a new OPC Driver.
2. Rename this OPC Driver to the same OPC Driver's name used in Elipse SCADA application, so that all OPC Driver's
Tag references are correctly imported later.
3. Right-click this OPC Driver and select the Import option.
4. On the list of file types, select the Elipse SCADA files (*.e2f) option, and then select the file previously exported,
without the _Alarms suffix. There is no need to select a template.

2.7.5.4 RAM and Demo Tags


To export RAM and Demo Tags, follow these procedures:
1. In Elipse SCADA's Organizer, click the Tags item.
2. Click Export.

Elipse Power Studio 56


Exporting RAM and Demo Tags
3. Select a file's location and name to generate. In addition to a file with Tag settings, a new file is generated with the
same name followed by an _Alarms suffix. This file is used later when importing alarm configurations to Elipse
Power.

To import these Tags to Elipse Power, follow these procedures:


1. Insert a Data Server in Organizer.
2. Rename this Data Server to Data, so that all Screen object Links are correctly imported later.
3. Right-click this Data Server and select the Import option.
4. On the list of file types, select the Elipse SCADA files (*.e2f) option, and then select the file previously exported,
without the _Alarms suffix. There is no need to select a template.

2.7.5.5 Screens
Exporting Elipse SCADA's Screens is partial and only supports a subset of Screen objects. To export a Screen, follow
these procedures:
1. In Elipse SCADA's Organizer, select the Screens item and click the desired Screen.
2. Click Export.

57 Elipse Power Studio


Exporting Screens
3. Select a file's location and name to generate.
4. In Organizer, insert a new Screen.
5. Right-click this Screen and select the Import option.
6. On the list of file types, select the Elipse SCADA files (*.e2f) option, and then select the previously exported file.
There is no need to select a template.

If this import process was successful, that Screen is filled with the objects, and no error message is displayed. Image
files used by this Screen must be handled as follows:
· Image files with relative paths in Elipse SCADA's application: These files must be inserted manually as
Resources in Elipse Power projects. Users can insert several resources at once, by right-clicking the Resources
item in Organizer and selecting the Insert resource in option
· Image files with absolute paths: These files must remain on their original directories. Elipse Power searches for
them on the same directory where they can be found by an Elipse SCADA's application

NOTE
It is advisable to insert all files in a project as Resources, so that Elipse Power Viewer can download them
automatically via network. This avoids the need to install all files manually on client machines.

2.7.6 Links
To import or export Links in Elipse Power, users must select the corresponding option in a template. There is no way
to exclude a specific Link type, either all of them are imported or exported, or none at all.
Each Link takes one row in a CSV file. Link identification is performed using the following keywords:
· AgSimple: Simple, Bidirectional, or Reverse Links (they must be distinguished by their Reverse and Bidirectional
properties)
· AnalogBind: Analog Links
· AnimationBind: Digital Links

Elipse Power Studio 58


· TableBind: Table Links

Link properties or fields are imported or exported in the same way as object properties, each one with a column in a
CSV file. All Links have the Source and Property properties; in addition to these ones, the properties for each Link are:
· AgSimple: Reverse, Bidirectional
· AnalogBind: SrcHiValue, SrcLoValue, DstHiValue, DstLoValue
· AnimationBind: BlinkOn, BlinkOff, OnValue, OffValue, BlinkOnValue, BlinkOffValue

Table rows are created according to a user-defined index. If this index is not a number, an error message is then
displayed indicating an invalid name. If this index does not exist, such as when there are only two rows in a table and
users want to insert a row numbered as five, the remaining rows are created with default values.
All Links are imported or exported, regardless of user-selected properties. If a Link to a given property already exists,
users are prompted about what to do. Otherwise, they are created.

Importing a pre-existing Link


In an object's name, users must inform its complete path, in the format Object.Links.Name, such as in the next
example.
'Links indicates it is a Link
'Value is the property with that Link
Text1.Links.Value

2.7.7 Collections and Collection Items


To import or export collections in Elipse Power, users must select the corresponding option in a template. There is no
way to exclude only some collections, either all of them are imported or exported, or none at all.
Columns in each collection depend on the properties of that collection. This is handled the same way as object's
property columns.
In case of collections and collection items, properties must be included in an INI file manually. It is not possible to select
these properties via template settings.
Collections can be imported, and their properties can be updated. Since collections always exist, and there is no way to
create another collection of the same type, users are asked whether they want to ignore or overwrite the existing
collection.
If the collection item being imported already exists, users are asked whether they want to ignore it, overwrite it, or
create a new one. In case users select the later option:
· In case of Pens and Axes, their names are properly auto-incremented
· In case of Table Link rows, they are created at the end of a table
· In case of Legend columns, an error message is displayed informing that either their names are not valid, or that
column already exists and its name cannot be auto-incremented (Legend columns have pre-defined names and
users cannot create columns with different names)

In an object's name, users must inform its complete path, in the format Object.Collection.Name, as in the next
example.
E3Chart1.Pens.Pen1

On the Type column, one of the following keywords must appear:

59 Elipse Power Studio


· IDispChartPen: E3Chart Pens
· ILegendColumn: E3Chart Legends
· IAxis: E3Chart Axes
· ITableBindRow: Table Link rows

2.7.8 Logs and Failure Report


During the import or export process, a log file with errors and other relevant events that occurred during the process
is generated, in case the ImportExport log section is enabled. To enable this section, please check chapter Advanced
Settings.
By the end of the operation, there is an option to view an import failure report. In this report, there is a list of failures
which are probably CSV file errors, such as an object not found.

Import failure report

2.8 Properties List


Properties List is a window for configuring properties of the selected object.
Properties List's title always displays the name of the currently selected object. For this window to be visible in the
project, users must select the Properties List option on View menu. The next figure shows a Properties List of an
I/O Block Element object with its properties sorted alphabetically.

Properties List sorted alphabetically

Elipse Power Studio 60


The Properties List of the next figure displays the previous object with its properties sorted by category.

Properties List sorted by category

NOTE
When selecting multiple objects, the Properties List displays only properties common to the selected objects, with
their values corresponding to the last selected object. The same criteria is used if the Properties List is sorted by
category, that is, the displayed categories correspond to the last selected object.

Properties List's footer displays a quick description of the selected property. The available options on this window are
described on the next table.
Available options on Properties List
OPTION DESCRIPTION
Sort by category Displays all properties of the selected object organized
by category

Sort alphabetically Displays all properties of the selected object organized


alphabetically

Find Allows filtering the list by the property's name or partial


name

Users can configure a value to a property by typing it directly in its respective Value column. On the right side of a
property's name there is an icon that indicates its current status. The icon indicates that property's value is the
default, that is, its value was not modified by the user, and the icon indicates that property's value was modified by
the user. In this case, the modified value appears in bold. In addition, clicking this icon opens a contextual menu with
the options described on the next table.
Available options on property's contextual menu
OPTION DESCRIPTION
Reset Returns the value of the selected property to its default
value, if it was modified by the user

Copy Copies the value of the selected property to the


Clipboard

61 Elipse Power Studio


OPTION DESCRIPTION
Paste Pastes the Clipboard value to the value of the selected
property

Edit Allows editing the value of the selected property

NOTE
The options on a property's contextual menu may be enabled or disabled, depending on property's data type.

2.9 Gallery
Collection of graphical objects, which can be dragged and dropped into application Screens. These objects are
Metafiles (WMF, or Windows MetaFile) objects.

Gallery

2.10 AppBrowser
The AppBrowser is a tool that helps users to develop their applications by informing a logical expression, a Link, or a
value for the property currently manipulated, according to the selected object. Thus, users can minimize errors during
the development of an application.

AppBrowser

Elipse Power Studio 62


The left panel displays Elipse Power objects that can be used to compose the text that is the result of using
AppBrowser. According to its usage context, some objects cannot be used and are not even displayed here.
The center panel shows selected object's methods and properties, and on the right panel there is a help text for the
selected property or method.
The panel at the bottom displays the resulting text from AppBrowser, next to the Paste and Cancel options. Click Paste
to accept the result and copy this value to the desired area or click Cancel to ignore it.

NOTES
· When selecting Tags, the AppBrowser is always opened on the last position, not on the position pointed by the
current link.
· The AppBrowser has an Auto Complete function, that is, type the name of an object to select it automatically.
· If an object on the left panel is inactive, double-click it or press the space bar on the keyboard to activate it.

The AppBrowser can be used via scripts, via Links, or via some object's properties with the name of another object as
their value. Each one of these forms is discussed on the next topics.

2.10.1 Acess via Script


To use AppBrowser from a script, open a script View and click on the toolbar of the Scripts tab. In this mode,
objects are separated as shown on the next figure.

AppBrowser via scripts


The left panel contains the following items:
· The first item, displayed isolated, is the Context. A context object is the one originating the call to AppBrowser,
that is, the script's owner
· The next item is the full Hierarchy to reach a context object, if this context is not in project's root. This object can
be expanded and the context object itself can be seen in this hierarchy
· If the context is not a server object, the third item displayed is the Viewer (the Application object)
· The Server item lists all server objects belonging to an application. If this item is the current context, it contains an
indication of Application
· The Tasks item displays the most common tasks to execute via scripts. These are Open Screen, whose result is an
expression to open the selected Screen and it is equivalent to the Open Screen Pick, and Load Report, whose
result is an expression to load a Report. This item can be displayed or not, depending on whether there are
Reports or Screens on the project
· The VBScript item displays all functions from the VBScript language available for use in scripts
· The E3Globals item displays methods for global usage in Elipse Power

According to the selected object, the center panel shows its properties and methods.

63 Elipse Power Studio


2.10.2 Acess via Link
To access AppBrowser from a Link, open the Properties Window, select the Links tab, the desired property, and then
click on the right. AppBrowser is then opened and objects are displayed according to the next figure.

AppBrowser via Links


In this case, only object properties are displayed on window's center panel. Their methods are not displayed, because
they are not allowed in Links.

2.10.3 Acess via Property


Some properties allow using AppBrowser to help properly fill in the expected value. These properties, when selected,
show a button to the right of the Value field on the Properties List. By clicking it, AppBrowser is opened and
displays only objects that can be used as values for the selected property. Properties and methods of these objects are
omitted. This is the case, for example, of Formula's DBServer property. AppBrowser only shows the existing Database-
type objects in an application.

AppBrowser via property


Properties that allow using AppBrowser are:
· Formula's, Historic's, and Storage's DBServer
· Alarm Server's DataSource
· Viewer's InitialScreen

Elipse Power Studio 64


· FrameSet's SplitLink

2.11 Connect To
The Connect To option is used to determine an Elipse Power Studio connection to a server. This option allows
configuring in which Domain server an Elipse Power Studio must connect, and also allows specifying whether an Elipse
Power Studio must retrieve a license from the server where the Domain executes or if it must retrieve that license from
another server. To use this resource, click the File - Connect To menu to open the dialog box on the next figure.

Connect To window
Available options for Connect To window
OPTION DESCRIPTION
Connect to local server Enables a connection to a local server

Connect to a server in the network Enables a connection to a network server. To do so,


select it on the combo box

Get license from the current Domain server Uses a license from a server executing a Domain

Use license from the following server Uses a license from another server, not the one executing
the current Domain

If a connection to either server, Domain or license, is down, Elipse Power Studio is then disconnected from the other
server. Its last configuration is stored on Windows Registry, and the next time Elipse Power Studio opens, it connects
to both Domain and license servers used for the last time.
If a license server is not available or there are no licenses left, then Elipse Power Studio works in Demo mode. An
Elipse Power Studio without a license, in Demo mode, can only connect to an E3 Server also executing in Demo
mode.
If a license server is other than a Domain server, the name of this license server is displayed in the title of Elipse Power
Studio's window, License on local server or License on <Server_Name>.
If a license server is specified, E3 Server's license window on Domain server identifies the name of a server borrowing a
license for Elipse Power Studio, SERVER1 (License borrowed from SERVER2). In this case a license listed on the
Domain server is not part of the total number of Elipse Power Studio licenses in use on that server.
If a Domain server does not have a license, and an Elipse Power Studio connects to this server by using another
server's license, then this Domain server temporarily switches from Demo to Elipse Power Studio mode, switching
back to Demo mode as soon as this Elipse Power Studio session closes.

NOTE
When Elipse Power Studio is using a license borrowed from another server, it must remain open while this
application is executing. If it is closed while this application is executing, the borrowed Elipse Power Studio license,
which allows executing an application for up to six hours, is released, and E3 Server ends application execution in no
more than 10 seconds.

65 Elipse Power Studio


TIP
When users connect to a server, it is important that applications be opened using a network path. Instead of using c:
\projects\project.dom, use \\server\projects\project.dom. This way, an Elipse Power Studio and a remote E3
Server can access these files using the same path.

Elipse Power Studio 66


CHAPTER
Domains
3
A Domain is a set of objects and configurations that define a supervisory system. It corresponds to an Application in
Elipse SCADA.
Elipse Power is a modular environment to develop and execute supervisory systems, composed by the modules
described on the next sections.

3.1 E3 Server
E3 Server coordinates all Elipse Power modules. It always executes as a service, even in Demo mode, whether it was
registered as a service or with the /regserver parameter, and it must also always be executing. It can also be started
when a local Elipse Power Studio is initialized, or using a shortcut to execute a Domain, such as e3admin -start
app.dom. It is responsible for:
· Checking and managing usage of licenses for different Elipse Power modules
· Starting, stopping, or monitoring Domain's runtime process, E3Run
· Opening, editing, or manipulating DOM files
· Controlling user access to Domain objects
· Monitoring other Domain servers and implementing Hot-Standby

An E3 Server is capable of working with only one Domain file at a time, and this one is called the open Domain.
Domain files can only be manipulated via E3 Server.

3.1.1 Licenses
An E3 Server supports two license modes, Active License and Demo. A license mode is defined during server's
initialization. If there is a valid protection device, Hardkey- or Softkey-type, E3 Server enters the Active License mode.
If no device is detected, it then enters the Demo mode.
If a device changes, E3 Server compares the licenses on this new device with the licenses from the previous device and
then performs the following adjustments:
· If the new licenses are exactly the same in terms of limitations of the ones on the previous device, they are
applied immediately
· If the new licenses are less limited than the ones on the previous device, they are also applied immediately
· If the new licenses are more limited than the ones on the previous device, E3 Server waits two hours for the
previous device to be reconnected. By the end of this period of time, if the licenses remain restrictive, the server is
then restarted and the new licenses are applied

NOTE
For more information about licenses on Elipse Power, please contact Elipse Software's sales department.

3.2 E3Run
E3Run is a process responsible for executing server objects, such as Tags, Alarms, Databases, and Historic objects,
among others, that is, all objects except Screens and Elipse Power Viewers.
E3Run execution is represented by an icon on Windows Notification Area, described on the next table.
Available options for icons on Windows Notification Area
OPTION DESCRIPTION
Running A green arrow is displayed when a Domain is loaded
and executing

Loaded A gray square indicates A Domain is loaded, but not


executing

67 Domains
OPTION DESCRIPTION
Starting A yellow spinning straight line is displayed when a
Domain is starting or stopping. This situation occurs in
cases when a Domain takes too long to start, as a
standby indication

Standby Yellow bars are displayed when a Domain is in standby


mode

E3Run always executes as a service, whether it was registered as a service or with the /regserver parameter. This
process uses the REC protocol to connect to an E3 Server's database queue.

3.3 E3 Admin
E3 Admin is the module responsible for monitoring and controlling an E3 Server. It is depicted by the icon on
Windows Notification Area. This module starts whenever a user logs in Windows, or whenever an E3 Server service
starts.
E3 Admin is also responsible for handling Domain control options via command prompt, such as e3admin
<domain_name> [options] or e3admin [options] <domain_name>. Command prompt options are described on the
next table.
Command prompt options for E3 Admin
OPTION DESCRIPTION
-close or /close Stops and closes the Domain in execution, if there is one.
This option must be used alone

-disableprojects or /disableprojects Disables one or more projects and puts them in


maintenance mode. In case of more than one project,
separate them by a space. Names of projects with spaces
must be enclosed in single or double quotation marks.
Names can be relative to the path of a Domain. This
option must be used alone

-disableserver or /disableserver Disables a server and puts it in maintenance mode. This


option must be used alone and only one server can be
disabled per command line

-enableprojects or /enableprojects Enables one or more projects in maintenance mode. In


case of more than one project, separate them by a space.
Names of projects with spaces must be enclosed in single
or double quotation marks. Names can be relative to the
path of a Domain. This option must be used alone

-enableserver or /enableserver Enables a server in maintenance mode. This option must


be used alone and only one server can be enabled per
command line

-help or /help Shows a dialog box with command prompt options for
E3 Admin, as in the next figure

-load or /load Similar to the start option, but only loads a Domain,
without executing it. This option cannot be used with the
viewer option

-refresh or /refresh Forces a Domain to update without using an Elipse


Power Viewer

-start or /start Starts a user-informed Domain. This option is not


mandatory. Even when it is not informed, the Domain is
started

-stop or /stop Stops the Domain in execution, if there is one. This option
must be used alone

-viewer or /viewer Executes Elipse Power Viewer for the application

Domains 68
Dialog box with E3 Admin's command prompt options
If the load, start, or viewer options are used, Windows 10 or later may ask for an Administrator authorization, a
process known as privilege elevation, whenever E3 Admin has not been started by a system Administrator user, and
depending on Windows User Account Control configuration.
If the logged in user is not an Administrator and Windows User Account Control configuration does not allow the
authorization window, E3 Admin itself displays an error message, such as the one on the next figure.

E3 Admin error message

NOTE
Windows must be restarted to apply User Account Control configurations.

If there are Domain restrictions, the load, stop, refresh, and close options also ask for an Elipse Power user login.

3.4 IOServer
An IOServer is a process responsible for executing I/O Drivers. IOServers are created, maintained, and monitored by
the E3Run process.

3.5 Elipse Power Studio


Elipse Power Studio is an application development and configuration environment. It allows opening and editing .prj
or .lib files. Elipse Power Studio is a multi-user environment, that is, several Elipse Power Studios can work on the
same files at the same time. Elipse Power Studio uses a REC connection to communicate with an E3 Server.

69 Domains
3.6 Elipse Power Viewer
An Elipse Power Viewer is an interface with users at run time, because it displays Screens in execution and allows
operating an application. An Elipse Power Viewer can be executed from anywhere on a network with access to an E3
Server, with no need to copy the application to other Elipse Power Viewers, because Screens and bitmaps are loaded
on demand, at run time.

3.7 Components
A Domain is composed by the files described on the next sections.

3.7.1 Configuration File


A .dom file stores the following types of information:
· Domain configuration options
· A list with .prj and .lib files containing Tags, Screens, and object definitions, among others
· Configurations of servers or computers that execute a Domain
· User configurations and access permissions

3.7.2 Project File


A Domain can have one or more project files. Each .prj file contains object definitions, Tags, Screens, Historics, Alarms,
and bitmaps, among others. The organization of objects inside a .prj file is free. Several Folder levels can be created
inside a project, and each Folder can contain any type of object. Users can split objects from a supervisory system into
two or more .prj files, depending on their needs. At run time, each project can be activated, regardless of the other
ones, even in different servers.

3.7.3 Library File


Library files (.lib) contain definitions of user-defined objects, the ElipseX objects, which can be used in project files.

3.8 Creating a Domain


The ways to create a Domain in Elipse Power are the following:
· Via File - New Domain menu. To do so, at least one project or library must be opened. When users select this
option, Elipse Power then opens a dialog box to select the new Domain's path and name

Creating a new Domain

Domains 70
Next, users must decide whether they want to include open projects or libraries into this new Domain.

Confirming project or library insertion into a new Domain


· Via Elipse Power Application Wizard, which allows creating a new Domain with a project (.prj) or library (.lib) file,
according to the next topic

3.8.1 Application Wizard


Elipse Power Application Wizard is a tool to create a new Domain with a project or a library. This option can be
opened using the following ways:
· By clicking New on Default toolbar
· By selecting the File - New Project menu

Once the Wizard starts, its initial screen is then opened. To proceed, click Next.

Application Wizard's initial screen

3.8.1.1 Application Type


On this screen, users can select between creating a Standard application, an E3 object library, or a Blank
application.
A Standard application is the one whose project contains at least one Viewer, one Screen, and one Data Server, also
with an option to insert, via Wizard, an I/O Driver, a Database, an Alarm Server, and an Alarm Configuration.

NOTE
The I/O Drivers, Databases, and Alarms screens are only displayed when creating a Standard application.

An E3 Object Library is a file used to store several components that can be used in applications.
A Blank application is a project created with no objects.

71 Domains
On the Application name item, specify a name for the .prj or .lib file being created, according to what was selected in
the previous option. The location to save this application is specified on the Save the application in folder item. If
necessary, click Browse.

Options for types of applications


If the informed folder does not exist, users are warned, and they must decide whether they want to create it or not.

Warning of nonexistent folder


Click Next to proceed.

NOTE
The E3 Object Library option is discussed later, in the Libraries chapter.

3.8.1.2 Domain
On this screen, users can decide to which Domain the project or library being created belongs. The Add to the current
Domain option is only enabled if there are active Domains in this application. By clicking this option, this new project
belongs to the current Domain. The Create a new Domain option generates a Domain to which the project or library
belongs. The name of this new Domain is indicated by the Type Domain name option. Finally, with the Don't add to
any Domain option, this project or library does not belong to any Domain.

Domains 72
Options for a Domain
Click Next to proceed.

3.8.1.3 Elipse Power Viewer Resolution


On this screen, users can configure Elipse Power Viewer properties by defining a working resolution for this
application, that is, the resolution of the computer that executes this application. Thus, Screens can have their sizes
defined to fit Elipse Power Viewer's window with no scroll bars. The Screen resolution option allows users to select
from a series of pre-defined resolutions. The Advanced option, on the other hand, allows informing a customized
value.

Options for an Elipse Power Viewer's resolution


Click Next to proceed.

73 Domains
3.8.1.4 I/O Driver
On this screen, users can add an I/O Driver object to this project. If they add it, they can configure a .dll file used by this
Driver, in the I/O Driver filename option. To search for a file, click .

Options for I/O Drivers


Click Next to proceed.

3.8.1.5 Database
On this screen, users can add a Database object to this project. If they add it, they can configure an .mdb file used by
this Database, in the Enter the database name (.MDB) option. To search for a file, click .

Options for databases


Click Next to proceed.

Domains 74
3.8.1.6 Alarms
On this screen, users can add an Alarm Server and an Alarm Configuration object to this project. The Store alarm
events in the database option enables storing information regarding alarms on disk, as long as a Database was
added to this project.

Options for alarms


Click Next to proceed.
After that, Elipse Power Studio displays Wizard's final screen, with a message indicating the end of the process of
creating an application.

Application Wizard's final screen


End this process by clicking Finish.

75 Domains
3.9 Configuration
When using E3 Admin's contextual menu on Windows Notification Area, users can update, execute, stop, or close a
Domain directly with the Refresh , Run , Stop , and Close options, respectively.
In addition, a Domain can be also configured for redundancy and for Remote Domains, among other actions. These
options can be configured via the Domain - Options menu.

E3 Admin configuration options

NOTE
The Domain - Options and Domain - Export Users menus are not available in Demo mode, and the Run
and Stop options are not available if a Domain is in Hot-Standby mode or if it is open on a computer not
belonging to the current Domain.

3.9.1 Automatic Pens Tab


Allows configuring a connection to an EPM (Elipse Plant Manager) server that provides data to an Automatic Pen used in
an E3Chart. For more information about Automatic Pens, please check topic Pens Tab on the chapter about E3Chart.
To open this item, right-click the E3 Admin icon on Windows Notification Area, select the Domain - Options option
to open the window on the next figure, and then click the Automatic Pens tab.

Automatic Pens tab


The available options on this tab are described on the next table.

Domains 76
Available options on the Automatic Pens tab
OPTION DESCRIPTION
Endpoint URL Specifies a path or connection point of an EPM server to
which the Automatic Pen connects, in the format
opc.tcp://[server]:[port]

User Name of a user used when connecting to an EPM server

Password Password of a user used when connecting to an EPM


server

Interface names Name of an I/O Interface object or objects on an EPM


server exposing the addresses of data sources. In case of
multiple objects, use spaces, commas, semicolons, tabs,
or line breaks to separate object names

Connection timeout (ms) Specifies a time-out for a connection to an EPM server, in


milliseconds. Default value of this option is 10000, that is,
ten seconds

Session timeout (ms) Specifies a time-out to renew a communication session to


an EPM server, in milliseconds. Default value of this
option is 600000, that is, ten minutes

Call timeout (ms) Specifies a time-out for a call to an EPM server, in


milliseconds. Default value of this option is 10000, that is,
ten seconds

Security policy Specifies a security policy or cryptography used in a


connection to an EPM server. The available options are
None: Default, does not use any cryptography,
Basic128Rsa15: Uses an RSA algorithm with a 128-bit key
in the connection, Basic256: Uses an AES algorithm with a
256-bit key in the connection, or Basic256Sha256: Uses a
SHA algorithm with a 256-bit key in the connection

Security mode Specifies a security mode used when connecting to an


EPM server. The available options are None: Default,
does not use any security mode, Sign: Uses
authentication when connecting, or SignAndEncrypt:
Uses authentication and encryption when connecting

Historized Tags internal cache Specifies the way of performing a query to data from
historical Tags. The available options are Create internal
cache on demand: Default, data is queried only when a
Tag receives its first request, or Create internal cache on
application start: Data from all Tags is queried during
the process of initializing an application

Default scan value, in case Tag does not have one Specifies a time interval between variations of values of
(ms) Tags that do not have this configuration, such as Internal
Tags. Default value of this option is 1000, that is, one
second. In cases where a Tag contains a configured time
interval between variations of values, that value is used

Test Connection Allows checking whether information to connect to an


EPM server is correct

NOTE
When clicking Apply, the changes performed on this tab are applied the next time the Domain is executed. If the
Domain is already executing, those changes are applied immediately, there is no need to stop the current Domain
and restart it.

77 Domains
3.9.2 Events Recording Tab
Events are divided into System Default Events and Manual Events categories.
System Default Events are events automatically generated by Elipse Power and that may have their registration
enabled or disabled individually. The available events are the following:
· User login or logout
· Changes in user passwords
· Failures in user logins
· Changes on the user database
· Blocking user accounts
· Starting or ending a Domain
· Changes in a Domain, such as inserting, removing, enabling, or disabling projects and libraries, or changing the
configuration of a Domain
· Updates in a Domain, that is, when a user applies changes performed in projects using Elipse Power Studio
· Manual switching of servers in Hot-Standby mode
· Creating users
· Modifying users
· Removing users
· Renaming users
· Changing user policies
· Creating groups
· Modifying groups
· Removing groups
· Renaming groups
· Changing group policies
· Changes on the Events recording tab
· Changes on the Security group of the Properties tab
· Unblocking user accounts

Manual Events are events defined by an application. These events are generated by user-defined scripts, by using the
Application.TrackEvent method. These events can be generated both in Elipse Power Viewer and in E3Run.
Elipse Power Viewer is only a generator of manual events. Use the Application.TrackEvent method to send an event to
E3 Server.
The diagram on the next figure shows how different Elipse Power processes generate and handle system events.

Process diagram

Domains 78
Every E3 Server maintains an internal list of events that must be stored on a database. These events can come from the
following sources:
· Events generated by Elipse Power Viewers using the Application.TrackEvent method
· Events generated internally by an E3 Server
· Events generated by a E3 Server in Standby mode

The E3 Server Standby periodically sends an event list to the E3 Server Hot, because only this one is capable of
storing events on a database. These events are placed on E3 Server Hot's event queue, along with other system
events, that is, the E3 Server Hot centralizes event recording.
If there is a server switching, events that were not recorded yet are automatically sent to the new E3 Server Hot.
E3Run stores on a database all records sent by the E3 Server Hot. E3 Server then informs the name of the Database
and the table to store data.
To configure event recording in Elipse Power, right-click the E3 Admin icon on Windows Notification Area, select the
Domain - Options option to open the window on the next figure, and then click the Events recording tab.

Events recording tab


The available options on this tab are displayed on the next table.
Available options on the Events recording tab
OPTION DESCRIPTION
Enable system events recording Enables event recording in Elipse Power. When selecting
this option, the Table name option must be filled in

Table name Indicates a table where events are stored. This table is
created automatically by E3Run. Fields on this table are
E3TimeStamp (Date/Time): This field is configured by
E3Run and contains the date and time when E3Run sent
that event to the database, EventTime (Date/Time):
Date and time this event actually happened, server's
current date and time, Hot or Standby, when this event
was created, or else the dtTimeStamp parameter specified
by the Application.TrackEvent method, EventMessage
(String): Event message, with a maximum of 200
characters, and EventComment (String): Comment
about this event, with a maximum of 200 characters

79 Domains
OPTION DESCRIPTION
Automatically select application database Enable this option to let E3Run pick up a Database object
to store data. If an application contains only one
Database, this Database is used. If there is more than one
Database, it is recommended to select the Use this
database option

Use this database Enable this option to specify a Database where events are
stored. If the name of a Database was incorrectly
informed, all events remain stored on E3 Server's event
queue, in memory, until a valid Database is selected

Check below the events to be logged Lists all available events in an application for storage

If E3Run must select among several Databases, usually the first Database activated during Domain execution is
selected. If during Domain execution users disable the project containing the Database used to store events, E3Run
automatically picks up another Database available in the application and uses this Database until the previous Database
is re-activated. This implies that, if there are more than one Database in a project, some events may be stored in one
Database while other events are stored in another Database. That is why it is advisable to indicate a specific Database
when there is more than one Database in a project.
When selecting an event on the list and pressing the F2 key, a dialog box for editing that event is opened, displayed on
the next figure.

Event editor
Deselect the Use default message option to change the message of an event. Click to insert a macro in a message.
Only macros allowed for that selected event are displayed on the contextual menu of a message.

Domains 80
Viewing available macros for the selected event
Macros are always in the %MACRO% format. The following macros can be used:
· %%: Inserts a percent sign in a message
· %NAME%: Inserts the name of a user or group that was affected by an event
· %NEWNAME%: Inserts the new name of a user or group that was renamed by an event
· %USER%: Inserts the name of the user that generated the event, or "Anonymous" if there is no user logged in
· %MACHINE%: Inserts the name of the computer where the event was generated
· %SESSION%: Inserts the name of the application where a user was logged in, that is, Elipse Power Viewer, Elipse
Power Studio or E3 Server
· %CAUSE%: Additional information about an event

For example, if the message of a Login Failure event is changed to:


"%USER% user login has failed at computer %MACHINE% (using a %SESSION%): %CAUSE%"

If the Admin user mistypes the password while logging to Elipse Power Viewer, which is executing on the computer
CLIENT004, the following event is then generated:
"Admin user login has failed at computer CLIENT004 (using a Viewer): incorrect login or password"

Default system events are described on the next topics.

3.9.2.1 User Login


User '%USER%' has logged in %SESSION% in machine '%MACHINE%'
Message generated whenever a successful user login occurs either in Elipse Power Studio or in Elipse Power Viewer.
The available macros on this message are:
· %USER% contains the name of the user
· %SESSION% contains "Viewer" or "Studio"
· %MACHINE% contains the name of the computer where this user performed a login

3.9.2.2 User Logout


User '%USER%' has finished their session of %SESSION% in machine '%MACHINE%'
Message generated whenever a user logout occurs either in Elipse Power Studio or in Elipse Power Viewer or
whenever an application is closed without a logout, and in this case this logout is automatic. The available macros on
this message are:
· %USER% contains the name of the user
· %SESSION% contains "Viewer" or "Studio"
· %MACHINE% contains the name of the computer where this user performed a logout

81 Domains
3.9.2.3 Password Change
Password of user '%USER%' has changed in machine '%MACHINE%'
Message generated whenever users change their password by using Viewer's ChangePassword method. The available
macros on this message are:
· %USER% contains the name of the user whose password was changed
· %MACHINE% contains the name of the computer where the password of this user was changed

3.9.2.4 Login Fail


User login '%USER%' in %SESSION% in '%MACHINE%' failed: %CAUSE%
Message generated whenever a user login fails either in Elipse Power Viewer or in Elipse Power Studio. The available
macros on this message are:
· %USER% contains the name of the user
· %SESSION% contains "Viewer" or "Studio"
· %MACHINE% contains the name of the computer where this user tried to perform a login
· %CAUSE% contains a detailed message about this failure. Please check topic Event Causes for more information

3.9.2.5 User Database Change


User '%USER%' has changed user database on machine '%MACHINE%'
Message generated whenever a user database changes, usually via Elipse Power Studio's File - Users menu. The
available macros on this message are:
· %USER% contains the name of the user who edited the user database, or "Anonymous" if there were no users
logged in
· %MACHINE% contains the name of the computer where this user changed the user database

3.9.2.6 Blocked Account


User account '%USER%' has been blocked after login attempt on machine '%MACHINE%'
Message generated whenever a user is blocked due to an excessive number of wrong logins. The available macros on
this message are:
· %USER% contains the name of the user who was blocked
· %MACHINE% contains the name of the computer where this user tried to perform a login

3.9.2.7 Domain Started


Domain has been started by user '%USER%' in %SESSION% in machine '%MACHINE%'
Message generated whenever a Domain starts or is executed. The available macros on this message are:
· %USER% contains the name of the user who executed this Domain, or "Anonymous" if no authentication was
requested when this Domain was executed
· %SESSION% contains "Studio" or "E3 Server"
· %MACHINE% contains the name of the computer where the command to execute this Domain was generated

3.9.2.8 Domain Closed


Domain has been closed by user '%USER%' in %SESSION% in machine '%MACHINE%'
Message generated whenever a Domain is stopped. The available macros on this message are:
· %USER% contains the name of the user who stopped this Domain, or "Anonymous" if no authentication was
requested when this Domain was stopped
· %SESSION% contains "Studio" or "E3 Server"
· %MACHINE% contains the name of the computer where the command to stop this Domain was generated

Domains 82
3.9.2.9 Domain Updated
Domain has been updated by user '%USER%' in %SESSION% in machine '%MACHINE%'
Generated whenever a Domain is updated by clicking Saves and Runs the Domain in Elipse Power Studio, that is,
whenever changes performed on project and library files are applied on E3Run. The available macros on this message
are:
· %USER% contains the name of the user who performed a login in Elipse Power Studio, or "Anonymous" if no user
was logged in
· %SESSION% contains "Studio"
· %MACHINE% contains the name of the computer where Elipse Power Studio was executing

3.9.2.10 Domain Changed


Domain has been changed by user '%USER%' in %SESSION% in machine '%MACHINE%': %CAUSE%
Message generated whenever a Domain file is modified. The available macros on this message are:
· %USER% contains the name of the user who changed this Domain
· %SESSION% contains "Studio" or "E3 Server"
· %MACHINE% contains the name of the computer where the command to change this Domain was generated
· %CAUSE% contains a detailed message about this modification. Please check topic Event Causes for more
information

3.9.2.11 Manual Server Switch


Standby server activated by user '%USER%' in %SESSION% in machine '%MACHINE%'
Message generated whenever the activation of a Domain's backup server is forced, via the Server - Activate option on
E3 Server menu. The available macros on this message are:
· %USER% contains the name of the user who activated the backup server, or "Anonymous" if no authentication was
requested when that server was activated
· %SESSION% contains "E3 Server"
· %MACHINE% contains the name of the computer where the command to activate the backup server was
generated

3.9.2.12 User Created


User '%NAME%' was created by '%USER%' on machine '%MACHINE%'
Message generated whenever a user is created. The available macros on this message are:
· %NAME% contains the name of the user who was created
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where this user was created

3.9.2.13 User Modified


User '%NAME%' was modified by '%USER%' on machine '%MACHINE%'. '%CAUSE%'
Message generated whenever a user account is modified. The available macros on this message are:
· %NAME% contains the name of the user account that was modified
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where this user account was modified
· %CAUSE% contains a detailed message about this modification. Please check topic Event Causes for more
information

3.9.2.14 User Removed


User '%NAME%' was removed by '%USER%' on machine '%MACHINE%'
Message generated whenever a user is removed. The available macros on this message are:
· %NAME% contains the name of the user who was removed
· %USER% contains the name of the user who performed this operation

83 Domains
· %MACHINE% contains the name of the computer where this user was removed

3.9.2.15 User Renamed


User '%NAME%' was renamed to '%NEWNAME%' by '%USER%' on machine '%MACHINE%'
Message generated whenever a user is renamed. The available macros on this message are:
· %NAME% contains the name of the user who was renamed
· %NEWNAME% contains the new user name
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where this user was renamed

3.9.2.16 User Policies


Rights of user '%NAME%' were modified by '%USER%' on '%MACHINE%'
Message generated whenever the rights of a user are modified. The available macros on this message are:
· %NAME% contains the name of the user whose rights were modified
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where the rights of this user were modified

3.9.2.17 Group Created


Group '%NAME%' was created by '%USER%' on machine '%MACHINE%'
Message generated whenever a group is created. The available macros on this message are:
· %NAME% contains the name of the group that was created
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where this group was created

3.9.2.18 Group Modified


Group '%NAME%' was modified by '%USER%' on machine '%MACHINE%'. '%CAUSE%'
Message generated whenever a group is modified. The available macros on this message are:
· %NAME% contains the name of the group that was modified
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where this group was modified
· %CAUSE% contains a detailed message about this modification. Please check topic Event Causes for more
information

3.9.2.19 Group Removed


Group '%NAME%' was removed by '%USER%' on machine '%MACHINE%'
Message generated whenever a group is removed. The available macros on this message are:
· %NAME% contains the name of the group that was removed
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where this group was removed

3.9.2.20 Group Renamed


Group '%NAME%' was renamed to '%NEWNAME%' by '%USER%' on machine '%MACHINE%'
Message generated whenever a group is renamed. The available macros on this message are:
· %NAME% contains the name of the group that was renamed
· %NEWNAME% contains the new group name
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where this group was renamed

Domains 84
3.9.2.21 Group Policies
Rights of group '%NAME%' were modified by '%USER%' on machine '%MACHINE%'
Message generated whenever the rights of a group are modified. The available macros on this message are:
· %NAME% contains the name of the group whose rights were modified
· %USER% contains the name of the user who performed this operation
· %MACHINE% contains the name of the computer where the rights of this group were modified

3.9.2.22 System Events Recording


System Events Recording modified by '%USER%' in %SESSION% in machine '%MACHINE%': %
CAUSE%
Message generated whenever a change in the options of the Events recording tab on the Domain Configuration
window happens. The available macros on this message are:
· %USER% contains the name of the user who changed the Events recording tab
· %SESSION% contains "E3 Server"
· %MACHINE% contains the name of the computer where the Events recording tab was changed
· %CAUSE% contains a detailed message about this modification. Please check topic Event Causes for more
information

3.9.2.23 Domain Security


Domain Security modified by user '%USER%' in %SESSION% in machine '%MACHINE%': %CAUSE%
Message generated whenever a change in the options of the Security group on the Properties tab on the Domain
Configuration window occurs. The available macros on this message are:
· %USER% contains the name of the user who changed the Security group on the Properties tab
· %SESSION% contains "E3 Server"
· %MACHINE% contains the name of the computer where the Security group on the Properties tab was changed
· %CAUSE% contains a detailed message about this modification. Please check topic Event Causes for more
information

3.9.2.24 Account Unblocked


User account '%USER%' was unblocked after login attempt on machine '%MACHINE%'
Message generated whenever a user account is unblocked. The available macros on this message are:
· %USER% contains the name of the user account that was unblocked
· %MACHINE% contains the name of the computer where this user account was unblocked

3.9.2.25 Event Causes


The next table contains detailed descriptions about event messages containing a %CAUSE% macro.
Messages of events with a %CAUSE% macro
EVENT DEFAULT MESSAGE EXAMPLE OF %CAUSE%
Login Fail User login '%USER%' in %SESSION' · Incorrect login or password
in '%MACHINE%' failed: %CAUSE% · Disabled account
· Blocked account
· Expired password
· Error code in hexadecimal format,
such as 'error 0x1234abcd'

Domain Changed Domain has been changed by user · Project 'projectname' added
'%USER%' in %SESSION% in machine (enabled)
'%MACHINE%': %CAUSE% · Project 'projectname' added
(disabled)
· Project 'projectname' removed

85 Domains
EVENT DEFAULT MESSAGE EXAMPLE OF %CAUSE%
· Project/library 'projectname'
renamed to 'newname'
· Project 'projectname' moved
· Project 'projectname' enabled
· Project 'projectname' disabled
· Changes applied in Domain editor
window

User Modified User '%NAME%' was modified by '% 'option' modified from 'oldvalue' to
USER%' on machine '%MACHINE%'. 'newvalue'. Please check table Options
'%CAUSE%' of the Edit User window for examples
of messages

Group Modified Group '%NAME%' was modified by 'option' modified from 'oldvalue' to
'%USER%' on machine '%MACHINE 'newvalue'. Please check table Options
%'. '%CAUSE%' of the Edit Group window for
examples of messages

System Events Recording System Events Recording modified 'option' modified from 'oldvalue' to
by '%USER%' in %SESSION% in 'newvalue'. Please check table Options
machine '%MACHINE%': %CAUSE% of the Events Recording tab for
examples of messages

Domain Security Domain Security modified by user '% 'option' modified from 'oldvalue' to
USER%' in %SESSION% in machine 'newvalue'. Please check table Options
'%MACHINE%': %CAUSE% of the Security tab for examples of
messages

Options of the Edit User window


OPTION DATA TYPE EXAMPLE OF MESSAGE
This is an administrator user Boolean 'User is Administrator' modified from
'Enabled' to 'Disabled'

Disallow password change Boolean 'User cannot change their password'


modified from 'Default' to 'Enabled'

Password expiration Boolean and Integer 'Time (in days) until the password
expires' modified from 'Default' to '1'

Minimum password age Boolean and Integer 'Minimum duration (in days) before a
password can be changed to a new
one' modified from 'Default' to '1'

Minimum password length Boolean and Integer 'Minimum number of characters that
the password must have' modified
from 'Default' to '1'

Alphanumeric password Boolean 'Password must have letters and


numbers' modified from 'Default' to
'Enabled'

Minimum numeric characters in Boolean and Integer 'Minimum number of numbers that
password the password must have' modified
from 'Default' to '1'

Minimum letters in password Boolean and Integer 'Minimum number of letters that the
password must contain' modified
from 'Default' to '1'

Minimum special characters in Boolean and Integer 'Minimum number of special


password characters that the password must
contain' modified from 'Default' to '1'

Domains 86
OPTION DATA TYPE EXAMPLE OF MESSAGE
Uppercase and lowercase characters Boolean 'Password must have uppercase and
lowercase letters' modified from
'Default' to 'Enabled'

Account disabled Boolean 'This account is disabled' modified


from 'Disabled' to 'Enabled'

Account blocked Boolean 'This account is blocked' modified


from 'Disabled' to 'Enabled'

Force password change Boolean 'User must change their password in


the next login' modified from
'Disabled' to 'Enabled'

Ignore case in passwords Boolean 'Check passwords without validating


upper and lower case letters (not
recommended)' modified from
'Default' to 'Enabled'

Password history Boolean and Integer 'Number of recently used passwords


by an user and that can not be
reused' modified from 'Default' to '1'

NOTE
When changing the password of a user in Elipse Power Studio, by using the Users item on the Users and Groups
window of File - Users menu or by using Viewer's UserAdministration method, the event message is "User 'username'
was modified by 'anotheruser' in machine 'computername'. 'User password was changed'".

Options of the Edit Group window


OPTION DATA TYPE EXAMPLE OF MESSAGE
Disallow password change Boolean 'User cannot change their password'
modified from 'Default' to 'Enabled'

Password expiration Boolean and Integer 'Time (in days) until the password
expires' modified from 'Default' to '1'

Minimum password age Boolean and Integer 'Minimum duration (in days) before a
password can be changed to a new
one' modified from 'Default' to '1'

Minimum password length Boolean and Integer 'Minimum number of characters that
the password must have' modified
from 'Default' to '1'

Alphanumeric password Boolean 'Password must have letters and


numbers' modified from 'Default' to
'Enabled'

Minimum numeric characters in Boolean and Integer 'Minimum number of numbers that
password the password must have' modified
from 'Default' to '1'

Minimum letters in password Boolean and Integer 'Minimum number of letters that the
password must contain' modified
from 'Default' to '1'

Minimum special characters in Boolean and Integer 'Minimum number of special


password characters that the password must
contain' modified from 'Default' to '1'

Uppercase and lowercase characters Boolean 'Password must have uppercase and
lowercase letters' modified from
'Default' to 'Enabled'

87 Domains
OPTION DATA TYPE EXAMPLE OF MESSAGE
Ignore case in passwords Boolean 'Check passwords without validating
upper and lower case letters (not
recommended)' modified from
'Default' to 'Enabled'

Password history Boolean and Integer 'Number of recently used passwords


by an user and that can not be
reused' modified from 'Default' to '1'

NOTES
· For more information about the Edit User window, please check topic Users on chapter Security.
· For more information about the Edit Group window, please check topic Groups on chapter Security.
· Options with a Default value on a message indicates that the value of that option is inherited from Domain's
general options.

Options of the Events recording tab


OPTION DATA TYPE EXAMPLE OF MESSAGE
Enable system events recording Boolean 'Enable system events recording'
modified from 'Enabled' to 'Disabled'

Table name String 'Table name' modified from 'Table1'


to 'Table2'

Automatically select application Boolean 'Use this Database' modified from


database 'DB1' to '(automatically select)'

Use this database Boolean and String 'Use this Database' modified from
'DB1' to 'DB2'

Event Boolean 'eventname' modified from 'Enabled'


to 'Disabled'

Options of the Security group on the Properties tab


OPTION DATA TYPE EXAMPLE OF MESSAGE
Disallow password change Boolean 'User cannot change their password'
modified from 'Disabled' to 'Enabled'

Alphanumeric password Boolean 'Password must have letters and


numbers' modified from 'Disabled' to
'Enabled'

Uppercase and lowercase characters Boolean 'Password must have uppercase and
lowercase letters' modified from
'Disabled' to 'Enabled'

Ignore case in passwords Boolean 'Check passwords without validating


upper and lower case letters (not
recommended)' modified from
'Disabled' to 'Enabled'

Username and password must Boolean 'User name and password cannot be
differ the same' modified from 'Disabled' to
'Enabled'

Minimum password length Boolean and Integer 'Minimum number of characters that
the password must have' modified
from 'Disabled' to '6'

Password expiration Boolean and Integer 'Time (in days) until the password
expires' modified from '2' to
'Disabled'

Domains 88
OPTION DATA TYPE EXAMPLE OF MESSAGE
Minimum password age Boolean and Integer 'Minimum duration (in days) before a
password can be changed to a new
one' modified from 'Default' to '1'

Minimum numeric characters in Boolean and Integer 'Minimum number of numbers that
password the password must have' modified
from 'Disabled' to '2'

Minimum letters in password Boolean and Integer 'Minimum number of letters that the
password must contain' modified
from 'Disabled' to '3'

Minimum special characters in Boolean and Integer 'Minimum number of special


password characters that the password must
contain' modified from 'Default' to '1'

Password history Boolean and Integer 'Number of recently used passwords


by an user and that can not be
reused' modified from 'Default' to '1'

Automatic user blocking Boolean and Integer 'Number of failed logins to block user
account' modified from 'Disabled' to
'1'

Automatic user account unblocking Boolean and Integer 'Time (in minutes) to automatically
unblock the user' modified from
'Disabled' to '1'

Password expiration warning Boolean and Integer 'Time (in days) to warn the user
before the password expires'
modified from 'Disabled' to '1'

3.9.3 Hot-Standby Tab


On the Hot-Standby tab, users can enable server redundancy. To open this item, right-click the E3 Admin icon on
Windows Notification Area, select the Domain - Options option to open the window on the next figure, and then
click the Hot-Standby tab.

Hot-Standby tab
The available options on this tab are described on the next table.

89 Domains
Available options on the Hot-Standby tab
OPTION DESCRIPTION
Hot-Standby Enables Hot-Standby mode. If this option is disabled, a
Domain is executed in the server it was loaded, with no
Hot-Standby support. If this option is enabled, users can
select a main server where a Domain executes and,
optionally, a standby server

Main Server Selects the name of the main server to execute a Domain.
To register and configure servers, use the Servers tab

Backup Server If enabled, selects a backup server to execute a Domain.


This server remains in standby, with the application loaded
in E3Run ready for execution if the main server fails, or if
the backup server is manually activated

Activate backup server on local failure Enables an automatic server switching when a local failure
is reported in the main server. Local failures are detected
and reported by an application using the
Application.ReportFailure method. This server switching is
only performed if the backup server has no failures

PING addresses to check network integrity The Hot-Standby algorithm demands a third network entity
(the other ones are the main and backup servers) to
determine whether a network is working. If neither the
integrity address nor the backup server are accessible, the
main server assumes the network interface has problems
and immediately terminates the Domain execution. This
field allows registering multiple network addresses. The
options for this field are the following:
· Allowed separators for each address are space, comma,
semicolon, tab, and line break
· If at least one of the addresses typed in this field returns
success, then the network is considered without failures
· Server names are case insensitive
· Repeated names are discarded
· Spaces before or after server names are trimmed

Time to activate backup server Indicates an activation time for the backup server. Default
value is 15 seconds. This time directly affects the ping
time-out among servers. If it is too low, such as switching
every one second and ping time-out in 160 ms, there may
be spontaneous server switches caused by small network
failures

Backup server pre-activation profile The available pre-activation profiles are Minimal: Activates
only basic services, Maximum: Elipse Power activates the
maximum number of objects when in standby (Links, I/O
Drivers, scripts, and Databases), or Custom: Users can
define which services they want to activate. Each one of
these options can be individually enabled or disabled

Domains 90
OPTION DESCRIPTION
Pre-activate the following services Allows users to select services to activate, as long as the
previous option was configured as Custom. The available
options are Links: Default value is disabled. If enabled,
Links and properties of Link-type in XFolders and
XObjects are evaluated during standby activation, I/O
Drivers (no communication): Default value is disabled. If
enabled, IOServers are created during standby activation.
NOTE: This option is important in applications with several
I/O Drivers, Scripts: Default value is disabled. If enabled, all
object and library event scripts are compiled and activated
during standby activation, or Database: Default value is
enabled. This means that a Database is connected during
standby activation. If disabled, it only prevents connection
to a Database from being created during standby
activation. This option is automatically enabled when the
EnableSynchronization property is set to True

NOTE
When a Domain starts executing, E3 Server always picks an active server alphabetically, regardless of this one being
selected as main or backup. This criteria is used whenever more than one server is a candidate to execute a Domain.
For more information, please check chapter Hot-Standby.

When Hot-Standby is turned on, the following procedures are necessary:


· Define a shared network directory to contain the main copy of all Domain files. This directory must be placed in a
computer that is not part of the Elipse Power Domain
· Create a directory in every E3 Server where an updated copy of all Domain files is kept. E3Run uses this local copy
of project and library files
· Always open the same network DOM file, by using its network path, such as \\server\folder\Domain.dom
· When using Elipse Power Studio, always edit the main copy of projects and libraries, that is, on the network. To
apply changes, copy all modified project and library files to the local directory of Domain servers. After that, click
Saves and Runs the Domain in Elipse Power Studio, so that all changes are applied to the runtime process, or
E3Run

NOTE
REDUNDANCY IS NOT AVAILABLE IN DEMO MODE. When Hot-Standby mode is turned on, all servers must have a
copy of all Domain files (.dom, .prj, and .lib) and the same directory tree.

3.9.4 Projects Tab


Users can add, remove, or edit projects (.prj files) of a Domain. To open this item, right-click the E3 Admin icon on
Windows Notification Area, select the Domain - Options option to open the window on the next figure, and then
click the Projects tab.

91 Domains
Projects tab
The available options on this tab are described on the next table.
Available options on the Projects tab
OPTION DESCRIPTION
Name This option lists all names of projects in an application

Add and Remove By using these options, users can remove or add projects
in an application. To add a project, click Add and then fill
in the Project Name field. To remove a project, select it
and then click Remove. The PRJ file is not deleted from
disk, only from Domain's project list

Project Name Type the name of a project file, which must be a path
relative to Domain's directory, that is, the directory
containing the .dom file, such as Screens.prj or
Hydro\Station1.prj

Maintenance mode (disabled) This option allows disabling project's execution, thus
avoiding errors when a Domain is executed. When this
option is enabled, the icon indicates this project is not
used. Projects displaying an icon are enabled and are
executed

3.9.5 Properties Tab


Allows controlling various Domain configurations. To open this item, right-click the E3 Admin icon on Windows
Notification Area, select the Domain - Options option to open the window on the next figure, and then click the
Properties tab.

Domains 92
Properties tab
The Alarms group contains the Save alarm summary option, which allows saving the alarm summary and therefore
avoiding duplicated alarm notifications when opening or closing a Domain. By default this option is disabled. To enable
it, select the Enabled option on the Enable item and specify a time interval, in minutes, in the Time interval option. The
default time interval of this option is 1 (one) minute. These saved alarms are loaded whenever a Domain is opened and
saved in the interval specified in the Time interval option or whenever a Domain is closed. Saving alarms is not
performed when stopping or executing a Domain, because the alarm summary is kept in memory.

NOTES
· In case of servers in Hot-Standby mode, both servers save the alarms.
· Only alarms visible in the summary are saved.
· When disabling this option, the previously saved alarms are deleted, to prevent outdated information when
enabling this option again.

The General group contains the Domain name option, which allows configuring a friendly name for a Domain. If this
option is left blank, the Domain name then corresponds to the name of the Domain file without its .dom extension. This
name is available via script at run time by using the Domain property of the Domain Information object, such as
"Application.GetObject('[?Server].Domain').Domain".
The IOServer Processes Pool group contains the options described on the next table.
Available options on the IOServer Processes Pool group
OPTION DESCRIPTION
Pool enabled Enables or disables I/O Server's process pool. NOTE:
Make sure that all Drivers in use in an application support
this process pool feature, that is, Drivers must be
compiled with IOKit version 2.0.6 or later. Drivers that
do not support this feature must be configured with their
DisableIOServerPool property in True. Default value for this
option is False

Drivers per process Defines the maximum number of Drivers that execute on
each I/O Server process. NOTE: This limit can be
exceeded if the number of processes in this pool reaches
the maximum configured in the Maximum number of
processes option. Default value for this option is 0 (zero)

93 Domains
OPTION DESCRIPTION
Maximum number of processes Defines the maximum number of I/O Server processes
created by this pool. The value 0 (zero, default) in this
option allows an unlimited number of processes

This configuration can be changed while a Domain is executing, but it only affects Drivers started after that change, or
on the following situations where the Domain is updated:
· By clicking Saves and Runs the Domain in Elipse Power Studio
· By selecting the Domain - Refresh option on E3 Admin menu on Windows Notification Area
· By generating an event forcing E3Run to receive the Domain configuration

NOTE
For more information, please check topic Pool of I/O Server Processes on chapter Drivers.

The Asynchronous Operation Grouping group contains the options described on the next table.
Available options on the Asynchronous Operation Grouping group
OPTION DESCRIPTION
Maximum number of operations per group Defines the maximum number of operations per I/O
Driver stored on E3Run's memory before sending them
to an I/O Server

Maximum wait time (milliseconds) Defines the maximum time an asynchronous operation
can wait in E3Run before it is sent to an I/O Server

The Security group contains the options described on the next table.
Available options on the Security group
OPTION DESCRIPTION
Disallow password change Prevents users from changing their password at run time

Allow changing expired password Allows a user to immediately change their expired
password

Alphanumeric password Determines that a password must contain letters and


numbers

Uppercase and lowercase characters Determines that a password must contain uppercase and
lowercase letters

Ignore case in passwords Indicates that password validation is performed without


considering uppercase and lowercase letters. Enabling
this option is not recommended

Username and password must differ Determines that a user's name and password must not be
the same. This option does not differentiate uppercase
and lowercase letters

Minimum password length Indicates whether a password must contain a minimum


character length. If this option is enabled, configure in the
Minimum characters item a minimum number of
characters for a password

Domains 94
OPTION DESCRIPTION
Password expiration Indicates whether a user's password has an expiration
time. Before reaching this time, a dialog box is displayed
informing how many days are left for expiration and
offering a possibility of changing that password. After
that period of time, the password expires and must be
changed. Defining this value as 0 (zero) allows this user's
password to expire at the end of the current day. NOTE:
If this option is enabled, configure in the Days to expire
item a time period for this password to expire and, if the
configured value is equal to 0 (zero), it is advisable to
disable the Minimum password age option

Minimum password age Indicates whether there is a minimum time in days for
using a user's password before changing it. The value of
the Minimum age in days item must be between 1 (one)
and 730. Defining this value as 0 (zero) allows a user to
change their password immediately. NOTE: If the
Password expiration option is configured, the value of
this option cannot exceed the value configured in the
Days to expire item

Minimum numeric characters in password Indicates whether a password must have a minimum
number of numeric characters. If this option is enabled,
configure in the Minimum numeric characters item a
minimum number of numeric characters for a password

Minimum letters in password Indicates whether a password must have a minimum


number of letters. If this option is enabled, configure in
the Minimum letters item a minimum number of letters
for a password

Minimum special characters in password Indicates whether a password must have a minimum
number of special characters. If this option is enabled,
configure in the Minimum special characters item a
minimum number of special characters for a password

Password history Indicates whether the last passwords of a user are stored
and cannot be used. If this option is enabled, configure in
the Number of passwords item how many passwords
must be stored. After reaching the value indicated in this
item, the oldest password is discarded and can be used
again

Automatic user blocking Determines the maximum number of failed login attempts
to block an account. If this option is enabled, configure in
the Login attempts item the maximum number of
attempts

Automatic user account unblocking Unblocks an account after a certain number of minutes. If
this option is enabled, configure in the Time for
unblocking in minutes item a time to unblock an
account

Password expiration warning Determines a date to start sending daily messages about
the expiration date of a password. After that date, if the
password is not changed, users are blocked and only an
administrator can unblock them. If this option is enabled,
configure in the Period before expiration in days item a
date to start sending messages

Password Blocking
A user's account can be blocked under the following conditions:
· If a password expires (this expiration time can be a global, a group, or a user attribute)

95 Domains
· If users type a wrong password a certain number of times in a row, that is, login failures

Once blocked, an account does not allow login operations. This condition remains until and administrator unblocks its
password manually, or else its blocking time-out expires.

NOTE
The options on the Security group do not apply to Windows users, only to users of an Elipse Power Domain.

The Viewer group contains the options described on the next table.
Available options on the Viewer group
OPTION DESCRIPTION
Compact libraries Enables or disables compressing ElipseX library files for
sending to an Elipse Power Viewer. The default value of
this option is enabled, that is, the file is defragmented
and the objects not used by the Elipse Power Viewer are
removed, thus decreasing the file size. If this option is
disabled, the library files are sent without changes

Server Balloons Enables or disables displaying a window with E3 Server's


active warnings on Elipse Power Viewer, such as license
problems. This window can be closed or minimized, but it
is opened periodically while there are active warnings

Use Microsoft Edge WebView2 to display Web content Enables or disables using Microsoft Edge's WebView2
control as the rendering engine to display Internet
content. This option is applied when starting Viewer

3.9.6 Remote Domains Tab


This tab allows adding, removing, or editing Remote Domains. Use the list on the left to select one or more servers to
change. To open this item, right-click the E3 Admin icon on Windows Notification Area, select the Domain - Options
option to open the window on the next figure, and then click the Remote Domains tab.

Remote Domains tab


The available options on this tab are described on the next table.

Domains 96
Available options on the Remote Domains tab
OPTION DESCRIPTION
Name This options lists the names of Remote Domains in an
application

Add and Remove By using these options, users can add or remove Remote
Domains in an application. To add a Remote Domain on
a network, click Add and then specify the Name and
Domain File fields. To remove a Domain, select it on the
list and then click Remove

Name Determines the name of a Remote Domain. This is a user-


defined name

Domain File Determines the name or network path where a Remote


Domain's .dom file is located

Main server Identifies the main server on the network

Backup server When enabled, identifies a backup server on the network

Domain user Allows recognizing a user with password for each Remote
Domain. The available options are Don't specify
(anonymous) and Use the following account. By
selecting the second option, the User and Password
fields are enabled

User Identifies a user

Password Allows connecting to a Domain using a password

A Remote Domain configuration can provide a way to connect to the local Domain itself. This is called a Local Alias or
a Loopback connection.
This alias is created according to a regular Remote Domain configuration. The server names, main or backup, must be
localhost* or the same name as the computer where the Domain is executing so that it works locally. In this case, for
this configuration to work in Elipse Power Studio, in the Domain File field inform the local path of the DOM file, such
as c:\path\file.dom.

NOTES
· Changing local aliases with an executing Domain IS NOT supported. What happens is that, if the Domain is
executing, Links already resolved as local always remain local, even if the alias is reconfigured to actually connect to
a remote computer. To bypass this situation, restart the Domain
· Loopback connections are not shown on E3 Admin's Licenses window or Statistics, nor need Remote Domain
licenses to work
· * For the localhost name to work, it must be configured to point to IP address 127.0.0.1, which is Windows default
configuration
· For more information about Remote Domains tab configuration, please check topic Connection Configurations

3.9.7 Servers Tab


Users can add, remove, or edit servers of a Domain. Use the list on the left to select one or more servers to change.
This list also indicates whether a server is enabled , in Maintenance mode, or disabled . To open this item, right-
click the E3 Admin icon on Windows Notification Area, select the Domain - Options option to open the window on
the next figure, and then click the Servers tab.

97 Domains
Servers tab
The available options on this tab are described on the next table.
Available options on the Servers tab
OPTION DESCRIPTION
Name List with all servers in an application

Add and Remove By using this option, users can add or remove servers. To
add a network server, click Add and specify the Server
Name and Network Address fields. To add a local server,
specify the Use the following local folder item. To
remove a project, select it on the list and click Remove

Server name Determines a server's name. This is a user-defined name

Network address Inform this server's name on the network. This must be a
computer's name with or without double backslashes at
the beginning, such as \\server or server

Root folder for Domain files Indicates a folder where Domain files (.prj, .lib, etc.) from
the selected server are located. The Leave it blank (Use
.DOM file's folder) option is the default and indicates
that files are on the same folder of the Domain file (.dom).
If users select the Use the following local folder option,
the path typed in that specific field must only contain a
folder, without Domain's file name or extension (.dom)

Maintenance mode (disabled) This option allows disabling a server, thus not using it
when executing the Domain. When this option is enabled,
the icon indicates this server is not used. Otherwise, the
icon indicates this server can be used

3.9.8 Viewer Groups Tab


Users can specify, according to Elipse Power Viewer's IP address, if it can connect, and with which license type, Viewer
Control or Viewer Only.
With this resource, users can completely block a connection, or limit the number and type of licenses to use
simultaneously by a certain group of IP addresses.
To access groups of Elipse Power Viewers, right-click the E3 Admin icon on Windows Notification Area, select the
Domain - Options option to open the window on the next figure, and then click Viewer groups tab.

Domains 98
Viewer groups tab
The available options on this tab are described on the next table.
Available options on the Viewer groups tab
OPTION DESCRIPTION
Name Lists names for all groups of Elipse Power Viewers

Add and Remove Adds or removes groups of Elipse Power Viewers

Group name Enables creating or changing the names of groups of


Elipse Power Viewers

IP list Specifies which IP addresses belong to a group, and thus


share the same connection limits. When an Elipse Power
Viewer tries to connect to an E3 Server, its IP address is
compared to the existing groups. After determining to
which group it belongs, a license restriction is applied to
this Elipse Power Viewer, configured to that group

Add, Edit, and Remove Adds, edits, or removes IP addresses. When a group is
created, it contains no specified IP address, except for the
first group, which is always *.*.*.* and cannot be created
by a user. If users try to save these settings, and a group
contains an empty list of IP addresses, Elipse Power
Studio then displays a warning message. If this group is
kept that way, it is useless

Allow Viewer Control connections When selected, it allows Viewer Control-type connections
for this group

Limit simultaneous license use When selected, it limits using simultaneous Viewer
Control-type licenses down to a certain number. If the
previous option is selected, but this one is not selected,
using simultaneous licenses is unlimited

Allow Viewer Only connections When selected, it allows Viewer Only-type connections
for this group

Limit simultaneous license use When selected, it limits using simultaneous Viewer Only-
type licenses down to a certain number. If the previous
option is selected, but this one is not selected, using
simultaneous licenses is unlimited

99 Domains
Users must notice that these limits are applied after E3 Server's limit, as configured on the protection device. For
example, if a protection device contains ten Elipse Power Viewer licenses and a group specifies a maximum of five
connections, only these five connections are used. However, if a protection device contains five Elipse Power Viewer
licenses and a group specifies a maximum of ten connections, the limit of five connections on the protection device is
used. That is, an Elipse Power Viewer group always has an additional limitation of licenses to apply during Elipse
Power Viewer's connection.
Elipse Power Viewer group configurations must be performed preferably when a Domain is stopped. If they are
performed while a Domain is executing, they are not effective until all Elipse Power Viewers are disconnected.

NOTES
For connections identified as E3AccessLayer and E3DataAccess, which by default do not consume licenses from an E3
Server, Elipse Power Viewer groups' behavior is the following:
· If a group of Elipse Power Viewers does not allow Viewer Control- nor Viewer Only-type connections, then
connection is denied
· If a group of Elipse Power Viewers allows Viewer Control-type connections, then connection is allowed and obeys
the requested access type. For example, for Viewer Only-types a connection is read-only, and for Viewer Control-
types a connection is for reading and writing
· If a group of Elipse Power Viewers allows only Viewer Only-type connections, then connection is allowed and
read-only, even for Viewer Control-type connections

3.10 Other Options for Windows Notification Area


In addition to the options listed on the previous sections, there are other configurations available via E3 Admin's
contextual menu on Windows Notification Area, described on the next topics.

3.10.1 Export Users


This option allows exporting a list, in CSV (Comma-Separated Values) format, of all users configured in the current
Domain. When using this option, the window on the next figure is opened to select a directory to save the file.

Users Export window

Domains 100
NOTES
· This option is not available in Demo mode.
· This option must be performed by a user with the Configure users/groups permission.
· Users selected as Administrators always have permission to configure users and groups, even if this option was
explicitly denied on the Permissions tab.
· This option always exports all information about all users configured in the current Domain.

3.10.2 Shortcuts
This option allows executing applications installed with Elipse Power via E3 Admin's contextual menu on Windows
Notification Area. The following applications can be executed:
· Elipse Event Log Viewer
· Elipse Power Studio
· E3 Tweak
· Elipse Power Viewer

The Log Viewer item opens Elipse Event Log Viewer, already with the file corresponding to the active Elipse
Power log session. For more information about this application, please check Elipse Event Log User's Manual.
If there is a Domain already executing locally, the Elipse Power Viewer item on this menu opens an Elipse Power
Viewer to the local Domain. Otherwise, or if the SHIFT key is pressed, opens Elipse Power Viewer's initial screen,
where users can select the server and other options, as described on topic Elipse Power Viewer and WebViewer -
Elipse Power Viewer Execution - Via Start Menu.

3.10.3 Licenses
Users can view all available licenses via E3 Admin. To do so, right-click E3 Admin's icon on Windows Notification Area
and then select the Licenses option. The window on the next figure is then shown.

E3 Admin - Licenses window


The available options on this window are described on the next table.

101 Domains
Available options on the E3 Admin - Licenses window
OPTION DESCRIPTION
Key Number Informs the number of a protection device, an eight-digit
hexadecimal number with an "HL" prefix if the device is a
hard key or a sixteen-digit hexadecimal number with an
"SL" prefix if the device is a soft key. If no protection
device is detected, then this number is filled with zeroes

E3 Server Indicates the type of E3 Server

Elipse Power Studio Indicates the number of available and in use Elipse
Power Studio licenses

Elipse Power Viewer Indicates the number of available and in use Elipse
Power Viewer licenses

Elipse Power Viewer Only Indicates the number of available and in use Elipse
Power Viewer licenses in Read-Only mode

Substations Indicates the number of available and in use Substation


licenses

Feeders Indicates the number of available and in use Feeder


licenses

Power Measurements Indicates the number of available and in use Elipse


Power Measurement licenses

Wind Turbines Indicates the number of available and in use Wind


Turbine licenses

Photovoltaic Arrays Indicates the number of available and in use Photovoltaic


Array licenses

Inverters Indicates the number of available and in use Inverter


licenses

Power Flow Inputs Indicates the number of available and in use Power Flow
Input licenses

Load Shedding Breakers Indicates the number of available and in use Load
Shedding Breaker licenses

Modeled Loads in Power Indicates the number of available and in use Modeled
Loads in Elipse Power licenses

Modeled Loads for Schematic View Generation Indicates the number of available and in use Modeled
Loads for Schematic View Generation licenses

Loads for State Estimator Indicates the number of available and in use Load for the
State Estimator module licenses

Loads for Distribution Model Indicates the number of available and in use Loads for
Distribution Model licenses

Self-Healing Breakers and Reclosers Indicates the number of available and in use Self-Healing
Breaker and Recloser licenses

Remote Domain (Server) Indicates the number of available and in use Remote
Domain (Server) licenses

Remote Domain (Client) Indicates the number of available and in use Remote
Domain (Client) licenses

I/O points Indicates the number of I/O points

Storage tags Indicates the number of Storage Tags

Drivers Indicates the number of available and in use Drivers

OPC Server Indicates the number of available and in use OPC Server
licenses

Domains 102
OPTION DESCRIPTION
Maximum execution time Indicates the maximum allowed execution time for an
application

TrendAnalysis Indicates the number of available and in use licenses of


the TrendAnalysis object

HASP service Indicates the version of the service for accessing licenses
(HASPLMS)

For more information about Elipse Power's Demo mode limitations, please check topic Limitations of
Demonstration Mode.

NOTE
· Users logged in and identified as E3DataAccess and E3AccessLayer, the Program column on the Logged in users
list, do not consume Elipse Power Viewer licenses from an E3 Server.
· Changes in the N1 to N4 properties of I/O Tags and in the B1 to B4 and Size properties of I/O Blocks consume
licenses.
· Changes in the ItemID property of OPC Tags, OPC Blocks, OPC UA Tags, and OPC UA Blocks consume licenses,
as well as changes in the Size property of OPC Blocks and OPC UA Blocks.
· For the previous cases, it is recommended to deactivate these objects in scripts, by using the Deactivate method,
execute these changes, and then reactivate the objects by using the Activate method.

3.10.4 Statistics
The E3 Admin - Communication Statistics window shows real-time data about network's information traffic. This list is
automatically updated every second. To open this window, right-click the E3 Admin icon on Windows Notification Area
and then select the Statistics option.

E3 Admin - Communication Statistics window


The available options on this window are described on the next table.
Available options on the E3 Admin - Communication Statistics window
OPTION DESCRIPTION
Program Shows the name of the application connected to E3
Server

Computer Shows the name of the computer connected to E3 Server

Address Shows the IP address of the computer connected to E3


Server

Sent data Shows the amount of data already sent

Sending Compression Shows the percentage of compression on sending

Packages Sent Shows the number of packages already sent

Pending Packets Shows the number of packages still pending to send

Pending Data Shows the amount of data still pending to send

103 Domains
OPTION DESCRIPTION
Received data Shows the amount of data already received

Receiving Compression Shows the percentage of compression on receiving

Packages Received Shows the number of packages already received

Connected since Shows the date and time when the program started its
connection

3.10.5 Monitor
The E3 Admin - Monitor window shows real-time information about the status of Domain servers. To do so, right-click
the E3 Admin icon on Windows Notification Area and then select the Monitor option.

E3 Admin - Monitor window


The available options on this window are described on the next table.
Available options on the E3 Admin - Monitor window
OPTION DESCRIPTION
Current domain Name of the active Domain

Ping addresses List with all ping server addresses

Name Server's name

Address Server's network address

Ping Shows network ping status with this server

Clock Shows server's local time

State Shows Domain status on the server (Stopped or


Running)

Connection Shows the status of the DCOM connection with the server

Role Shows a list of functions reported by the server. Possible


values are Active: This is the Domain's active server,
Standby: This is the Domain's standby server,
Failure(n):The server has local failures reported, Priority:
The server requested priority to execute the Domain. This
indication forces the active server to switch to Standby
mode, Candidate: The server is a candidate to execute
the Domain, or E/S: The server contains active IOServers

Domains 104
3.10.6 Start Up
The E3 Admin - Start up window allows users to control the Domain to start automatically. The configured Domain is
only executed if this E3 Server is not in Demo mode. To do so, right-click the E3 Admin icon on Windows Notification
Area and then select the Start up option. The window on the next figure is then displayed.

E3 Admin - Start up window


The available options on this window are described on the next table.
Available options on the E3 Admin - Start up window
OPTION DESCRIPTION
The loaded Domain When starting up, automatically executes the previously
loaded Domain

The configured Domain When starting up, automatically executes a user-


configured Domain

No Domain Does not start any Domain

3.10.7 Printer
This option displays a list of printers found either locally or remotely, and allows users to select one of them to use by
an E3 Server. To do so, right-click the E3 Admin icon on Windows Notification Area and select the Printer option.
The window on the next table is then shown.

E3 Admin - Printer window


The available options on this window are described on the next table.
Available options on the E3 Admin - Printer window
OPTION DESCRIPTION
Printer name Lists the names of all available printers

Default Allows selecting this printer as the default printer

Configure Opens the property window of the selected printer

Browse Allows selecting another network printer and establishing


a connection

105 Domains
3.10.8 About E3 Admin
This option shows the current version of E3 Admin.

3.10.9 Restart E3 Server


This option allows restarting E3 Server and immediately apply any license changes.
If a Domain was defined to start automatically on the Start Up window, the window on the next figure is displayed.

Options to restart an E3 Server with start up configured


The available options on this window are Just restart, without any Domain, which only restarts E3 Server, Run
previously configured Domain, which restarts E3 Server and loads the Domain configured on the Start Up window,
and Load Current Domain, which restarts E3 Server and loads the current Domain, if E3 Server was stopped while a
Domain was executing.
If no Domain was defined to start automatically, the window on the next figure is displayed.

Option to restart an E3 Server without start up configured


In this case, E3 Server is restarted and users can opt by executing or not the current Domain by selecting or
deselecting the Load current Domain when restarting option.

NOTE
By default, E3 Server is restarted using the user who stopped the Domain, but if the Domain configured for starting
up is different from the Domain before restarting, the login window can be displayed for authentication in this new
Domain.

3.10.10 Start or Stop E3 Server


This option starts or stops E3 Server. When the Stop E3 Server option is selected, users are asked to confirm this
operation. If confirmed, the Domain is stopped and closed, and all existing Elipse Power Studios and Elipse Power
Viewers are disconnected, if there are any. Users are notified this does not allow using remote Elipse Power Studios
and Hot-Standby. When an E3 Server is stopped, it can be restarted via Start E3 Server option.

Domains 106
3.10.11 Close E3 Admin
E3 Admin can be closed without closing E3 Server, via Close E3 Admin option. When this happens, E3 Server
continues executing, but no icon appears on Windows Notification Area. In this case, when E3 Admin is not open, error
messages appear as message boxes to all logged in, and active, users on the computer executing that E3 Server.
At any time, E3 Admin can be restarted to control the E3 Server currently executing, by simply starting E3 Admin
without parameters. The installer also creates a shortcut to open E3 Admin directly.

3.11 Remote Domains


A Remote Domain configuration establishes that different servers and Elipse Power Viewers can communicate, where
one application provides data and the other application receives it. The Domain providing data is called the Server
Domain; The Domain using that data is called the Client Domain. A Domain configured as a Client Domain can also
work as a Server Domain, and vice-versa. Remote Domains are not available in Demo mode.

3.11.1 Connection Configuration


Configuring connections with other Elipse Power Domains is performed on the Client Domain, by right-clicking E3
Admin icon on Windows Notification Area, selecting the Domain - Options option, and then selecting the Remote
Domains tab.

Remote Domains tab


In this case, the Domain referenced by this configuration is the Server Domain. Users can also have Domains
referencing each other, working as server and client at the same time of Remote Domains. To configure a Remote
Domain, follow these procedures:
1. Type an alias for the Remote Domain in the Name field. This field is not case sensitive. This name is used in an
application to refer to objects accessed on the Remote Domain.
2. Specify the path of the .dom file of the Remote Domain. This path must be a network sharing that allows access to
this .dom file.
3. Inform the name of the main server, which must be the server containing the Remote Domain specified by the .dom
file path. This configuration is used to find Remote Domain objects at run time.

The Servers and connection options group contains an Advanced option, which allows performing specific
connection configurations among Domains, using the window displayed on the next figure.

107 Domains
Connection Options window
The options on this window are described on the next table.
Available options on the Connection Options window
OPTION DESCRIPTION
Connection timeout (ms) This options controls the maximum time a Client Remote
Domain waits to establish a REC connection with the E3
Server of the Server Domain. Its goal is the same as the
ConnectionTimeout key, configurable using E3 Tweak.
Default value for this option is 2000 ms

Call time-out (ms) This option controls the maximum time a Client Remote
Domain waits for the return from a call to a Server
Domain. If this time is exceeded, this connection is closed
by the client, even if the limits established by the PING
check and Use connection heartbeat options is not
exceeded yet. Default value for this option is 0 (zero),
which disables this limit time

PING check This option allows that, using an ICMP protocol echo
request, a Remote Domain checks if the Server replies
within a time-out. If there is no answer, for any reason,
that computer is considered as offline or turned off. This
check, if enabled, occurs before the connection, avoiding
an attempt to connect to an unavailable computer, and
while the connection is active, forcing an immediate
disconnection

PING timeout (ms) Value, in milliseconds, for a ping check. Default value for
this option is 2000 ms

Use connection heartbeat This option allows that, using a REC protocol mechanism,
the Client Remote Domain checks if the Server keeps the
connection alive, waiting to send periodic heartbeat
messages, even if there is no other communication to
perform. If double the time of the configured heartbeat is
exceeded, with the Client not receiving any message from
the Server, then the Server is considered on failure or
offline, forcing an immediate disconnection

Heartbeat interval (ms) Value, in milliseconds, of the heartbeat interval. Default


value for this option is 2000 ms

Domains 108
OPTION DESCRIPTION
Use asynchronous link creation If this option is selected, Links are created in parallel
among several Domains and the result of that operation
is sent asynchronously, as each Server replies. The
advantage of this option is that it does not lock E3
Server's general Link handling. Only operations of that
same Domain can be locked if the Link creation lasts too
long, which may happen on slow networks. NOTE: This
option is not available for versions prior to 3.2, and
applications developed in previous versions fail with an
error code 8004F108 (incompatible REC version). Default
value for this option is not selected

NOTE
Deselecting the PING check and Use connection heartbeat options simultaneously turns detection of connection
failures extremely slow, in case the Server fails. It is recommended that these two options always remain selected.

In Elipse Power Studio, the full sharing path is used to determine existing objects in the Remote Domain. The name of
the .dom file, without its path, is used to check whether a remote connection is currently performed with the right
Domain, at run time. Thus, if the name of the Domain loaded in the remote E3 Server is not correct, the connection is
not completed and the remote objects are not available.
Another possibility is to keep a copy of the Remote Domain on the Client computer, and type the path of that copy in
the Domain File field. Hence, Elipse Power Studio then uses that local copy to determine which objects exist, allowing
an offline work. This copy must have the same name of the Remote Domain for this connection to work, but the same
directory hierarchy is not necessary.
In addition, for a connection among Domains, all E3 Servers involved must execute the same Elipse Power version.
To enable an E3 Server to accept connections from other Domains, that is, to work as a Remote Domain server, no
further configuration is needed.
After correctly configuring these items, execute all E3 Servers to establish all remote connections.

NOTE
For more information about Remote Domain configuration, please check topic Remote Domains Tab.

3.11.2 Licenses
Both the E3 Server executing the Client Domain, and the one executing the Server Domain must have specific licenses
for Remote Domains.
When this license exists, the E3 Server executing as Server starts accepting an unlimited number of external connections
from other Domains. Likewise, in the E3 Server executing as a Client, users can establish an unlimited number of
connections. For more information about limitations of Elipse Power's Demo mode, please check topic Limitations of
Demonstration Mode.

3.11.3 Link Syntax


With a Remote Domain configuration, the Client Domain can access objects from the Server Domain via scripts, by
using the Application.GetObject method, or via Links, that is, any functionality that creates a connection to another
object, such as user event expressions, ElipseX Object-type properties, Link sources, Alarms, or fields in Historic or
Storage objects, among others. Objects accessed this way can be either Viewer or Server objects.
Access to objects from other Domains is performed via alias or Domain Name, which must precede each object's
complete path, separated by a colon. That is, for Link sources or an Application.GetObject method to reference another
Domain, users must use a DOMAIN:PATH syntax, where DOMAIN is the alias given to that Remote Domain
connection, and PATH is the complete path of an object or property from that Domain. In case of Links, sources may
include expressions referring to several objects, with possible combinations among local objects and Remote Domains,
such as Driver1.Tag1 + Remote:Driver2.Tag1 * 2.
Remote Domain's names may also need brackets, such as [DOMAIN]:PATH. In this case, the same rules applied for
naming objects are valid. Names of Domains need brackets in the following cases:
· Contains any character that is not a letter (a-z | A-Z) when used as the first character of a Domain's name

109 Domains
· Contains any character that is not a letter (a-z | A-Z), a number (0-9), or an underscore (_) when used after the first
character of a Domain's name

3.11.4 User Permissions


Similar to what happens with an Elipse Power Viewer, access to objects from a Remote Domain can be limited to a
Read-Only mode. Whenever this situation occurs, the same type of access limitations applied to a Viewer Only applies
here. However, unlike an Elipse Power Viewer, in this case control is performed per user, and not per IP address or
per product key. To do so, users can use the permission configuration Remote Domain write access, in the Domain
item of a user's Permissions tab.

Permissions for a user for Domains


With that, it may be necessary that the Remote Domain connection specify a user to have complete access to objects of
that Domain. This user must be specified in the User field via the Use the following account option, on Remote
Domains tab of the Client Domain configuration. There, users must specify both login and password of an existing
user in the Domain accessed remotely.
In addition to the Read-Only access mode, users can block remote access completely, which requires the connection
with the Remote Domain to specify a given user to grant access to remote objects. This is performed via the Remote
Domain access permission, also in the Domain item of a user's Permissions tab.

NOTE
The Remote Domain access permission always precedes the Remote Domain write access permission. This means
that, when the first permission is denied, the second one is not used even when explicitly granted. When no access
permission is configured, any Domain can connect remotely to another one by using an anonymous user.

3.11.5 Hot-Standby
A remote connection to the Domain supports Hot-Standby Domains natively. To do so, specify two different server
names, main and backup, in their respective items in the Identifying servers in the network field, on Remote
Domains tab. Users must notice that, for a proper usage of Hot-Standby, these names must be the same ones
configured by the Remote Domain being accessed. Once this configuration is performed at run time, the E3 Server
constantly tries to connect to both servers, routing access of all Application.GetObject methods and Links to the first

Domains 110
accessible server, and that indicates it is executing the Domain. In case the server names change when the Client
Domain is executing, it disconnects and restarts the connection with these new servers.

3.11.6 Connection Management


Even when there is no Hot-Standby configuration, there is a control over the Remote Domain connection between Client
and Server E3 Servers. This connection uses the REC protocol, the same one used between E3 Server, Elipse Power
Viewer, and Elipse Power Studio. Therefore, a REC connection port and its possible firewall configurations also apply
to Remote Domains.
Once connection is established, there must be a Domain executing. In this process, a connection is reestablished
whenever a problem occurs. After finding the Domain executing, its correct name is checked, as well as the user login, if
necessary.
Similar to what happens with Elipse Power Studio's and Elipse Power Viewer's REC connections, communication
statistics of Remote Domain connections can be viewed on E3 Server's Statistics window, available via E3 Admin icon
on Windows Notification Area.

3.11.7 Disconnection
A Client Domain may not establish a connection to a Server Domain for several reasons, which might be:
· The Client or Server computer is not connected to a network
· The Server is not executing an E3 Server
· The Server's E3 Server does not contain the correct Domain, or the Domain was not started
· The Server Domain does not accept the user specified by the Client Domain
· The Client's or Server's E3 Server does not contain a Remote Domain license
· The Server's E3 Server version is an older one (2.5 or earlier)
· There is a firewall blocking the TCP/IP port used by REC, or the Client and Server TCP/IP ports do not match
· The Domain's alias does not exist in the Remote Domain configuration

When one of the previous situations occur, all Client links referencing the Domain are disconnected, as well as all
Application.GetObject methods referencing the Remote Domain fail, that is, cause script errors. As soon as this problem
is solved, Links must connect automatically. Application.GetObject methods, however, must be executed again.

3.12 Generating Logs in Elipse Power


Elipse Power stores all significant events of its operation in logs in ETL (Event Trace Log) format. These logs store
information about how Elipse Software systems work, such as computer's memory consumption and database
operations, among others. Log files are saved on the c:\eelogs\e3 folder, created during installation, as shown on the
next figure.

111 Domains
Elipse Power logs folder
The name of a log file informs its type and year, month, and day of creation. Main types are E3, PowerEngine, and
IOData, that last one recording communication data with devices.
These log files are managed by an Elipse Software tool called Elipse Event Log Viewer, available with Elipse Power
installation. With this tool, users can view these files and manage the space they occupy on disk, among other
configurations. For more information about Elipse Event Log Viewer, please check Elipse Event Log User's Manual.
Elipse Event Log Viewer can be opened using the following options:
· Via Windows Start menu
· Via Elipse Power Studio's Tools - Log Viewer menu
· Via Shortcuts - Log Viewer option of E3 Admin's contextual menu on Windows Notification Area

Domains 112
CHAPTER
Power Configuration Object
4
The Power Configuration object is essential to applications created in Elipse Power to work. By using this object,
users can perform an electrical modeling of a system, as well as use tools to automatically generate an application,
regarding data and Screen objects. This object also contains a set of configurations regarding the standardization of
Measurement types, Command types, voltage levels, Display colors, and Switch or Breaker colors.

4.1 Definition of Standards


Creating standards allows a significant reduction of engineering time, making it easy to develop new applications and
the expansion and maintenance of existing applications. The next topics present the different types of standards
available in the Power Configuration object, and how each one of them must be configured for the correct behavior of
an application.

4.1.1 Standards for Analog Measurements


The first concept of standardization of Elipse Power concerns the types of Analog Measurements. Measurement types
are the different types of existing Measurements in an application, such as Active Power, Line Voltage between Phases
A-B, Current in Phase A, and Oil Temperature, among others. A Measurement type can concatenate the displayed
quantity, such as "Active Power [W]" or "Temperature [°C]", with the meter location, such as "Phase A" or "Oil".
By using the concept of Measurement standard, users can reuse the configuration of the quantity unit being sampled,
such as "V", "°C", "W", "Wh", or "A", among others, in the power phase where it is being sampled and in the description
of the Measurement, such as "Active Three-phase Power". So, when users instance a Measurement in an application,
such as "Voltage in Generator's Terminal", this Measurement must only point to this standard to retrieve the
configurations adopted by the related standard. Thus, if users want to change the description of that Measurement, for
example, they only have to perform this in the standard, and all Measurements referring to this standard are
automatically updated.
Some standards are provided by Elipse Power installer, and they do not allow changing their names, Electrical Phases,
and Engineering Units. These native Elipse Power standards have a reserved prefix "*" and cannot be removed from
the list of standards. Some Measurements prefixed with "*" can be used by specific algorithms that are available in
Elipse Power, such as Power Flow, Topological Processor, and State Estimator, or by Elipse Power's Screen objects
Library, and therefore they were defined as native. The types of Analog Measurements can be configured at run time in
the object returned by the AnalogTypes property of the Power Configuration object. The next figure shows the Analog
tab, for creating and editing Analog Measurements standards.

Analog tab
This tab's toolbar contains the options Add , to create a new type of Analog Measurement, Remove , to exclude a
user-created Analog Measurement type, and Sort , to sort the visualization of the list of types of Analog
Measurements. The columns for each Analog Measurement standard are described on the next table.

113 Power Configuration Object


Columns for editing Analog Measurement standards
COLUMN DESCRIPTION
Name Standard's name. This column can only be edited in user-
created standards, and they cannot contain the reserved
character "*" as its prefix. Corresponds to the Name
property of the Analog Measurement Type object

Electrical Phase Electrical phase where this Measurement is being sampled


or this Command is acting. It allows the following values:
· -1 - epNone: This Measurement or Command is not
related to any phase on the electrical system
· 0 - epABC: This Measurement or Command relates to
three phases on the electrical system
· 1 - epA: This Measurement or Command relates to
phase A on the electrical circuit
· 2 - epB: This Measurement or Command relates to
phase B on the electrical circuit
· 3 - epC: This Measurement or Command relates to
phase C on the electrical circuit
· 4 - epNeutral: This Measurement or Command relates
to the neutral on the electrical circuit
· 5 - epAB: This Measurement or Command relates to
phases A and B on the electrical circuit
· 6 - epBC: This Measurement or Command relates to
phases B and C on the electrical circuit
· 7 - epCA: This Measurement or Command relates to
phases C and A on the electrical circuit
· 8 - epDevice: This Measurement or Command relates to
the same phases that the device is connected to
Corresponds to the Phase property of the Analog
Measurement Type object

Description Description of this Measurement type. This text can be


used to describe a Measurement shown in a Display, to
identify an alarm message, or to describe a Pen on a
Chart. Users can use expressions on this column.
Corresponds to the Caption property of the Analog
Measurement Type object

Unit Engineering unit for this Measurement type. Multipliers,


that is, Kilo, Mega, or Giga, among others, must not be
used, because these multipliers must be configured in the
Measurement's instance and not in its standard.
Corresponds to the Unit property of the Analog
Measurement Type object

Min. EU Minimum value of the engineering unit for this


Measurement type. Corresponds to the EuLow property of
the Analog Measurement Type object

Max. EU Maximum value of the engineering unit for this


Measurement type. Corresponds to the EuHigh property of
the Analog Measurement Type object

Power Configuration Object 114


COLUMN DESCRIPTION
Sorting An integer that can be used to sort, alternatively to
alphabetical order, Measurement types. This is useful for
sorting Measurements on a table for a specific
presentation order, such as Voltage before Active Power,
that is not alphabetical. This sorting mode is used if
PowerExplorer's SortMode property is configured to 1 -
smTypeSorting. Corresponds to the Order property of the
Analog Measurement Type object

NOTE
Standard Measurement types can only have their Description and Sorting columns changed.

4.1.2 Standards for Discrete Measurements


The standardization of Discrete Measurements follows the same concept introduced to standardize Analog
Measurements, but with one difference: Discrete Measurements need to transform values into something that has a
meaning for a system's operator. A typical example are values that inform the status of a Breaker, open or closed,
where the value collected by the automation system can be, for example, 0 (zero) or 1 (one).
From the point of view of a system's operator, 0 (zero) may not have any meaning, and as a consequence, they may
not be sure what is the device's current status. In addition, in the same automation system there can be different
devices from different manufacturers, and for one of them 0 (zero) means open, and for another one this value means
closed.
To solve this problem, Elipse Power provides an environment that allows users to define both the types of discrete
points in an application, such as Switches' status, Breakers' status, protection functions, and protection performance
indicators, among others, and to assign a meaning for each possible value displayed by a Discrete Measurement. The
types of Discrete Measurements can be configured at run time in the object returned by the DiscreteTypes property of
the Power Configuration object. The next figure displays the Discrete tab, to create and edit Discrete Measurement
standards.

Discrete tab

115 Power Configuration Object


The tab for setting up standards for Discrete Measurements is divided into three different areas, each one with a
different purpose. The first one, showed on the next figure, is used to create or edit new Discrete Measurement types,
such as Breaker Status or Reconnection Function, among others.

Area to edit Discrete Measurement types


This area's toolbar contais the options Add , to create a new type of Discrete Measurement, Remove , to exclude
a user-created Discrete Measurement type, and Sort , to sort the visualization of the list of types of Discrete
Measurements.
The columns for each type of Discrete Measurement are described on the next table.
Columns for editing Discrete Measurement standards
COLUMN DESCRIPTION
Name Standard's name. This field can only be edited in user-
created standards, and cannot contain the reserved
character * as its prefix. Corresponds to the Name
property of the Discrete Measurement Type object

Electrical Phase Electrical phase where this Measurement is being sampled


or this Command is acting. It allows the following values:
· -1 - epNone: This Measurement or Command is not
related to any phase on the electrical system
· 0 - epABC: This Measurement or Command relates to
three phases on the electrical system
· 1 - epA: This Measurement or Command relates to
phase A on the electrical circuit
· 2 - epB: This Measurement or Command relates to
phase B on the electrical circuit
· 3 - epC: This Measurement or Command relates to
phase C on the electrical circuit
· 4 - epNeutral: This Measurement or Command relates
to the neutral on the electrical circuit
· 5 - epAB: This Measurement or Command relates to
phases A and B on the electrical circuit
· 6 - epBC: This Measurement or Command relates to
phases B and C on the electrical circuit
· 7 - epCA: This Measurement or Command relates to
phases C and A on the electrical circuit
· 8 - epDevice: This Measurement or Command relates to
the same phases that the device is connected to
Corresponds to the Phase property of the Discrete
Measurement Type object

Power Configuration Object 116


COLUMN DESCRIPTION
Description Description of this Measurement's type. This text can be
used to describe a Measurement shown in a Display, to
identify an alarm message, or to describe a Pen on a
Chart. Users can use expressions on this column.
Corresponds to the Caption property of the Discrete
Measurement Type object

Sorting An integer that can be used to sort, alternatively to


alphabetical order, meter types. This number is useful for
sorting Measurements on a table for a specific
presentation order that is not alphabetical. This sorting
mode is used if PowerExplorer's SortMode property is
configured to 1 - smTypeSorting. Corresponds to the
Order property of the Discrete Measurement Type object

The second area can be used to register or select different types of Conversions that exist in an application.
Conversions relate to the automation system's building features and enable Elipse Power to support different ways of
interpreting field values. The next figure shows the area to create or edit Conversions.

Area to create or edit Conversions


Actions related to Conversions on tab's lower side
ACTION DESCRIPTION
New Adds a new Conversion to the Discrete Measurement
type selected on tab's upper side. Conversions can only
be created in Measurements with at least one Meaning
already created

Rename Renames the selected Conversion on the combo box.


Only user-created Conversions can be renamed

Remove Removes the selected Conversion on the combo box.


Only user-created Conversions can be removed

The third and last area is used to create or edit possible Statuses or Meanings of a Discrete Measurement, such as a
switch set as Open, Closed, Intermediate, or Invalid, as well as link them to the Source value, provided by a PLC, RTU, or
IED, among others, to accomplish a conversion at run time. Source values may vary according to the Conversion
selected on the second area, while Meanings and descriptions are fixed for all Conversions and only depend on the
type of Discrete Measurement. The next figure shows the area to create or edit Statuses or Meanings.

Area to create or edit Statuses or Meanings


The toolbar to create Meanings allows users to perform the actions listed on the next table.
Actions related to Statuses or Meanings on tab's lower side
COMMAND DESCRIPTION
Add Adds a Meaning to the list of possible statuses of a
Discrete Measurement

Remove Deletes a Meaning from the list of possible statuses of a


Discrete Measurement

Move up Moves a Meaning one position up on the list. This action


changes the value for this status in an application

117 Power Configuration Object


COMMAND DESCRIPTION
Move down Moves a Meaning one position down on the list. This
action changes the value for this status in an application

The columns for each Meaning are described on the next table.
Columns for editing Discrete Measurement Meanings
COLUMN DESCRIPTION
Meaning Sets a Meaning for each possible Status that a Discrete
Measurement can display in the field. Corresponds to the
Name property of the Semantic object

Description Status' description. This text may be used in Displays,


alarms, and Measurement tables to describe the Status of
a variable. Corresponds to the Caption property of the
Semantic object

Application Value Indicates the value that a Discrete Measurement has in an


application when it is in this Status. Its purpose is to
standardize discrete values, regardless of the
Conversions used. For example, Open Switch is always 0
(zero) in an application

Source Value The value that a Source, such as an I/O Tag, must display
to indicate that its Status is equal to the one registered in
the Meaning or Description column. NOTE: The only
value that must vary between Conversions is the Source
Value column, since Meaning and Application Value
columns are the same for all Conversions

NOTES
The Meaning column is editable and its value must obey the following rules:
· It must be unique
· It cannot be an empty String
· It cannot contain the special characters [ (left bracket), ] (right bracket), \ (backslash), / (slash mark), : (colon),
" (quotation marks), and ? (question mark)
· It cannot be one of the following reserved words: "True", "False", "Nothing", "Empty", or "Application"
· In case of existing applications, the value on this column is based on the value of the Description column, by
applying the necessary adjustments to satisfy these rules. If the Description column is not defined, a default value
"Semantics" is then created

4.1.3 Standards for Command Types


Command types must be registered on Power Configuration's Commands tab. Some examples of Command types are:
breaker's position, transformer's tap position, and switching protection's operation mode, among others.
As with the standardization of Statuses or Meanings of Discrete Measurements, each Command type can have one or
more Command Actions. Some examples of action requests are Up one tap position, Open switch, and Enable
recloser function. Command Types can be configured at run time in the object returned by the CommandTypes
property of the Power Configuration object. The next figure shows the tab to configure Command standards.

Power Configuration Object 118


Tab to configure Command standards
The tab to configure Command standards is divided into four distinct areas. The first one, presented on the next figure,
is used to create or edit the existent Command types in an application.

Area to configure Command types


This area's toolbar contains the options Add , to create a new type of Command and it allows adding Discrete
Commands as well as Step Commands, Remove , to exclude a user-defined type of Command, and Sort , which
sorts the visualization of the list of types of Commands.
The second area, called Conversions, is where users type the different writing values that each Command Action can
have. For example, the command to Open a Breaker may have to write the value "129" (TRIP-Pulse On), if executed via
DNP3 protocol, or else write the value "0" (Single Command), if this action is executed via IEC 870-5-104 protocol. The
next figure shows the area to create or edit Conversions.

Area to create or edit Command Conversions


Actions related to Conversions
ACTION DESCRIPTION
New Adds a new Conversion to the selected type of Command
on tab's upper area

Rename Renames the selected Conversion on the list box. Only


user-created Conversions can be renamed

Remove Removes the selected Conversion on the list box. Only


user-created Conversions can be removed

119 Power Configuration Object


The third area, shown on the next figure, allows users to create new Command Actions, which determine features for a
Command that are used on Command Units. This area also allows users to change values that can vary according to
the selected Conversion.

Area to create or configure Command Actions


This area's toolbar contains the options Add , to create a new Command Action, and Remove , to remove a user-
defined Command Action. Both tools are only accessible on user-defined Command types, without the prefix "*" in their
names.
The fields available for edition in the third area are described on the next table.
Fields for editing Command Actions
FIELD DESCRIPTION
Automatic Select Before Operate If True, whenever a Command object receives a call from
the Operate method, the first script to execute is the one
registered on the OnSelect event, and the second script is
the one registered on the OnOperate event. This option
corresponds to the AutoSelect property of the Conversion
object

Feedback Timeout (ms) Time, in milliseconds, that a Command's execution check


routine waits to determine whether this Command was
successful or not. This time must be sized according to
the communication link's quality and transport's delay.
This value is optional and must only be used if users need
to handle Command's execution errors. To check its
return value, use the OperateFeedbackTag,
CancelFeedbackTag, or SelectFeedbackTag properties
configured in the Command object. This option
corresponds to the FeedbackTimeout property of the
Conversion object

Maximum retries Indicates the number of Command's retry executions,


apart from the first try. A retry occurs while the limit
established in this property is not reached and the
Command Action was not successfully finished, canceled,
or aborted. This option corresponds to the MaxRetries
property of the Conversion object

Interval between retries (ms) Indicates the time, in milliseconds, between Command's
retry executions. If this value is equal to 0 (zero), a retry is
performed as fast as possible. This option corresponds
to the RetryPeriod property of the Conversion object

Name Command Action's name. This value can only be changed


for user-created Actions. This name is used in the
Command Unit object to create a link for Command
configurations. This option corresponds to the Name
property of the Semantic object

Description Command Action's description. This text can be used on


buttons to display the action it performs, such as "Open",
"Close", "Enable", or "Disable", among others. This option
corresponds to the Caption property of the Semantic
object

Power Configuration Object 120


FIELD DESCRIPTION
Operate Value Value that must be written to Command's
OperateWriteTag property when the Operate method is
called. This option corresponds to the OperateValue
property of the Conversion Values object

Operate Feedback Value that the OperateFeedbackTag property configured in


a Command object must display after executing the
Operate method. This value is optional and must only be
used if users need to handle execution errors in
Commands. This option corresponds to the
OperateFeedbackValue property of the Conversion Values
object

Select Value Value that must be written to Command's SelectWriteTag


property when the Select method is called. This property
must only be configured when a Command is a Select- or
Operate-type. This option corresponds to the SelectValue
property of the Conversion Values object

Select Feedback Value that the SelectFeedbackTag property configured in a


Command object must display after executing the Operate
method. This value is optional and must only be used if
users need to handle execution errors in Commands. This
option corresponds to the SelectFeedbackValue property
of the Conversion Values object

Cancel Value Value that must be written to Command's CancelWriteTag


property when the Cancel method is called. This property
must only be configured when a Command is a Select- or
Operate-type. This option corresponds to the
CancelValue property of the Conversion Values object

Cancel Feedback Value that the CancelFeedbackTag property configured in


a Command object must display after executing the
Cancel method. This value is optional and must only be
used if users need to handle execution errors in
Commands. This option corresponds to the
CancelFeedbackValue property of the Conversion Values
object

The fourth and last area, shown on the next figure, allows users to define scripts performed when the Operate, Select,
and Cancel methods are called in Command objects.

Area to define Command scripts


A description of the tools available in the area to create Command scripts are on the next table.
Toolbar for Command scripts
COMMAND DESCRIPTION
Add Adds a script to the selected event on the list box

Remove Removes a script from the selected event on the list box

AppBrowser Opens AppBrowser

Search Searches for words in a script

121 Power Configuration Object


COMMAND DESCRIPTION
Find Previous Finds the previous occurrence of a word

Find Next Finds the next occurrence of a word

Replace Replaces occurrences of a word

Compile Script Verifies scripts of the current event

Compile Conversion Scripts Verifies all scripts of the current Conversion

Compile Command Scripts Verifies all scripts of the current Command

The list box allows users to select an event to edit. The next table contains a description of all events available for
edition.
Available events on Commands
EVENT DESCRIPTION
OnOperate Defines what is executed when the Operate method,
available on Command's instance, is called. The most
basic task performed on this event is writing the value
OperateValue, configured on the Command Actions area,
to the OperateWriteTag property, configured on the
Command object

OnSelect Defines what is executed when the Select method,


available on Command's instance, is called. The most
basic task performed on this event is writing the value
SelectValue, configured on the Command Actions area,
to the SelectWriteTag property, configured on the
Command object

OnCancel Defines what is executed when the Cancel method,


available on Command's instance, is called. The most
basic task performed on this event is writing the value
CancelValue, configured on the Command Actions area,
to the CancelWriteTag property, configured on the
Command object

OnOperateFinished Event triggered when the OperateFeedbackTag property,


configured on the Command object, contains the same
value of the Operate Feedback field, configured on the
Command Actions area. This event also occurs in the
following situations: end of feedback's time-out, request
for canceling a Command, or a failure when executing the
Operate method. This event can be used to generate logs
and messages about operation statuses

OnSelectFinished Event triggered when the SelectFeedbackTag property,


configured on the Command object, contains the same
value of the Select Feedback field, configured on the
Command Actions area. This event also occurs in the
following situations: end of feedback's time-out, request
for canceling a Command, or a failure when executing the
Select method. This event can be used to generate logs
and messages about operation statuses

Power Configuration Object 122


EVENT DESCRIPTION
OnCancelFinished Event triggered when the CancelFeedbackTag property,
configured on the Command object, contains the same
value of the Cancel Feedback field, configured on the
Command Actions area. This event also occurs in the
following situations: end of feedback's time-out or when a
failure is detected when executing the Cancel method.
This event can be used to generate logs and messages
about operation statuses

Every event contains a set of parameters that allows a script to access values configured on the creation or
configuration area of Command Actions, as well as values passed by calling methods at run time. These parameters
are described on the next table.
Available parameters in scripts of Command's methods and events
PARAMETER DESCRIPTION
ActorID Provides the name of the user requesting the Command to
the script. This value must be passed as a parameter when
calling Command's Operate, Select, and Cancel methods

WriteValue This parameter provides the values configured on the


edition area of Command Actions to the OnOperate,
OnSelect, and OnCancel events:
· On the OnOperate event, this parameter contains the
value of the Operate Value field
· On the OnSelect event, this parameter contains the value
of the Select Value field
· On the OnCancel event, this parameter contains the value
of the Cancel Value field

FeedbackValue This parameter provides the values configured on the


edition area of Command Actions to the OnOperate,
OnSelect, and OnCancel events:
· On the OnOperate event, this parameter contains the
value of the Operate Feedback field
· On the OnSelect event, this parameter contains the value
of the Select Feedback field
· On the OnCancel event, this parameter contains the value
of the Cancel Feedback field

Failed A Boolean used to indicate a failure detection on event


scripts. This parameter can be configured on the
OnOperate, OnSelect, and OnCancel events, and can be
handled on the OnOperateFinished, OnSelectFinished, and
OnCancelFinished scripts

Canceled A Boolean available on the OnOperateFinished and


OnSelectFinished events to indicate that the end of a
Command was provoked by a call to the Cancel method

FeedbackError A Boolean available on the OnOperateFinished,


OnSelectFinished, and OnCancelFinished events to indicate
that the end of a Command was provoked by a time-out,
that is, FeedbackError is equal to True

ScriptError A Boolean available on the OnOperateFinished,


OnSelectFinished, and OnCancelFinished events to indicate
that a script error occurred

To access values from a Command's instance on event scripts, use the expression Application.GetObject, informing
which property to access. Example:

123 Power Configuration Object


Set Tag = Application.GetObject (OperateWriteTag)

4.1.4 Standards for Protection Types


Registration of Protection types must be performed on Power Configuration's Protections tab. Some Protections are
already provided by Elipse Power by default, such as Overcurrent Protection or Undervoltage Protection, among
others. In addition to the ones already existing, users can also create new Protections. The types of Protections can be
configured at run time in the object returned by the ProtectionTypes property of the Power Configuration object. The
next figure displays the tab to create and edit Protection standards.

Protections tab
This tab's toolbar contains the options Add , to create a new type of Protection, Remove , to remove a user-
defined Protection type, and Sort , which sorts the visualization of the list of Protection types.
The columns for each Protection standard are described on the next table.
Columns to edit Protection standards
COLUMN DESCRIPTION
Name Standard's name. This can only be edited on user-created
standards, which cannot have the reserved character "*"
as its prefix. Corresponds to the Name property of the
Protection Type object

Acronym A free text configuring an acronym for this Protection


type. This property can be changed even for Protections
automatically provided by Elipse Power. Corresponds to
the Acronym property of the Protection Type object

Description Description for this Protection type. This text can be used
to describe this Protection on a Display, to identify an
alarm message, or any other view. Corresponds to the
Caption property of the Protection Type object

Power Configuration Object 124


COLUMN DESCRIPTION
Sorting An integer used to sort, in a way other than
alphabetically, the Protection types. This number is useful
if Protections must be displayed on a table, but not
sorted out alphabetically. This sorting mode is used if
PowerExplorer's SortMode property is configured to 1 -
smTypeSorting. Corresponds to the Order property of
the Protection Type object

NOTE
Standard Protection types can only have their Acronym, Description, and Sorting columns changed.

4.1.5 Standards for Voltage Levels


The Voltages tab allows users to configure device colors based on their nominal voltages, that is, the BaseVoltage
property. These colors are accessible at run time in Terminals' VoltageColor properties, used by the Electrical Modeler
during edition, and can be also configured at run time in the object returned by the VoltageColors property of the
Power Configuration object. The (Default) level color is used when a device presents a voltage not found on its color
table. The tab to include voltage levels is displayed on the next figure.

Voltages tab
This tab's toolbar contains the options Add , to create a new voltage level, Remove , to remove a voltage level,
and Sort , which sorts the visualization of the list of voltage levels.
The available columns to edit voltage levels are described on the next table.
Columns to edit voltage levels
COLUMN DESCRIPTION
Nominal Voltage (kV) Value, in kV, of the registered voltage level. Corresponds
to the NominalVoltage property of the Voltage Color
object

Energized color Color referring to the registered voltage level, when a


Terminal is energized. Corresponds to the ColorEnergized
property of the Voltage Color object

Follow energized color When this option is selected, the de-energized color of
this voltage displays a darker shade of the selected color
in the Energized color option. Corresponds to the
FollowEnergized property of the Voltage Color object

De-energized color Color referring to the registered voltage level, when a


Terminal is not energized. This field can only be
configured if the Follow energized color option is not
selected. Corresponds to the ColorDeEnergized property
of the Voltage Color object

125 Power Configuration Object


4.1.6 Standards for Colors in Switches and Breakers Statuses
The Switches/Breakers tab allows users to configure colors returned, at run time, in the StateColor properties of
Switch and Breaker objects, according to their statuses. The tab to configure colors of Switches and Breakers is
displayed on the next figure.

Switches/Breakers tab
The columns available to edit colors of Switches and Breakers are described on the next table.
Editing columns for colors of Switches and Breakers
COLUMN DESCRIPTION
Switch / Breaker status Describes the status of a Switch or a Breaker. This is a
read-only column

Application Value Value displayed by the status meter of Switches and


Breakers when a device is in such status. This is a read-
only column

Color (good quality) Color displayed by a Switch or Breaker on the diagram


when a Measurement indicates its status with good
communication quality, that is, Tag's Quality property is
greater or equal to 192

Color (bad quality) Color displayed by a Switch or Breaker on the diagram


when a Measurement indicates its status with bad
communication quality, that is, Tag's Quality property is
less than 192

Colors of statuses and their respective qualities can be configured by script using the object returned by the
SwitchGearColors property of the Power Configuration object, according to the next table.
Configuration options of colors for Switch and Breaker statuses
STATUS QUALITY DEFAULT COLOR DESCRIPTION
Open Good Green or RGB(0, 255, 0) Corresponds to the
ColorOpenGood property of
the Status Colors for
Switches or Breakers object

Open Bad Dark green or RGB(0, 128, Corresponds to the


0) ColorOpenBad property of
the Status Colors for
Switches or Breakers object

Closed Good Red or RGB(255, 0, 0) Corresponds to the


ColorClosedGood property
of the Status Colors for
Switches or Breakers object

Closed Bad Maroon or RGB(128, 0, 0) Corresponds to the


ColorClosedBad property of
the Status Colors for
Switches or Breakers object

Power Configuration Object 126


STATUS QUALITY DEFAULT COLOR DESCRIPTION
Intermediate Good Yellow or RGB(255, 255, Corresponds to the
128) ColorIntermediateGood
property of the Status
Colors for Switches or
Breakers object

Intermediate Bad Olive or RGB(128, 128, 64) Corresponds to the


ColorIntermediateBad
property of the Status
Colors for Switches or
Breakers object

Invalid Good White or RGB(255, 255, 255) Corresponds to the


ColorInvalidGood property
of the Status Colors for
Switches or Breakers object

Invalid Bad Gray or RGB(128, 128, 128) Corresponds to the


ColorInvalidBad property of
the Status Colors for
Switches or Breakers object

4.1.7 Standards for Colors in Measurements


The Measurements tab allows users to configure colors returned, at run time, in the MeasurementColor properties of
Measurements and Measurement Sources, according to their statuses. This color table can be configured at run time in
the object returned by Power Configuration's MeasurementColors property. The tab to configure colors of
Measurements is displayed on the next figure.

Measurements tab
The columns available to edit Display colors are described on the next table.
Edition columns for colors of Measurement Displays
COLUMN DESCRIPTION
Measurement status Describes meter's status, which considers the following
possibilities: Normal (good quality), Not acked alarm,
Acked alarm, and Bad Quality. This is a read-only
property

Color Color displayed when a meter is in this status

Blink? Indicates whether a display must blink when a meter is in


this status

Colors for Measurement statuses and their blinking information can be configured by script using the object returned
by the MeasurementColors property of the Power Configuration object, according to the next tables.

127 Power Configuration Object


Configuration options for colors of Measurement statuses
STATUS DEFAULT COLOR DESCRIPTION
Normal (good quality) Yellow or RGB(255, 255, 0) Corresponds to the ColorNormal
property of the Measurement Colors
object

Not acked alarm Red or RGB(255, 0, 0) Corresponds to the ColorNAck


property of the Measurement Colors
object

Acked alarm Blue or RGB(0, 0, 255) Corresponds to the ColorAlarm


property of the Measurement Colors
object

Bad quality White or RGB(255, 255, 255) Corresponds to the ColorBad


property of the Measurement Colors
object

Blinking options for Measurement statuses


STATUS DEFAULT BLINKING DESCRIPTION
Normal (good quality) False Corresponds to the BlinkNormal
property of the Measurement Colors
object

Not acked alarm True Corresponds to the BlinkNAck


property of the Measurement Colors
object

Acked alarm False Corresponds to the BlinkAlarm


property of the Measurement Colors
object

Bad quality False Corresponds to the BlinkBad property


of the Measurement Colors object

4.2 Electrical Modeler


The first step in the process of creating a new application in Elipse Power is to identify all elements and devices that
comprise an electrical system to control. During this step, an application's programmer must gather all relevant
information about this system, its single-line diagram, names of all components of the electrical grid, and their
interconnections. The level of detail of such information depends on the modules of electrical analysis added to the
final Elipse Power application, and it may be more or less detailed according to user needs.
Elipse Power offers a complete design tool for electrical power grids. This tool was developed to offer users a unique
environment, which allows both viewing and registering devices that form an electrical system, their interconnections,
and their parameters. This tool is available to users on Power Configuration's Electrical Modeler tab, as shown on the
next figure.

Power Configuration Object 128


Tool to design and model an electrical system to control

NOTE
An Electrical Modeler generates a file in EDB format, containing all information about a system.

4.2.1 Toolbars
The Electrical Modeler contains toolbars that allow creating new electrical elements, as well as navigating through the
modeled system. The available toolbars are Alignment and Grid, General, Bays and Transmission Lines, and
Elements. A description of all options on these toolbars is available on the next tables.
Available options on Alignment and Grid toolbar
OPTION DESCRIPTION
Activate or Deactivate Grid Activates or deactivates a grid in the modeling
environment

Activate or Deactivate Align to Grid Activates or deactivates the alignment of objects relative
to the grid

Align Left Aligns objects to the left

Align Right Aligns objects to the right

Align Top Aligns objects by the top

Align Bottom Aligns objects by the bottom

Align Horizontal Center Aligns objects horizontally by the center

Align Vertical Center Aligns objects vertically by the center

Align to Grid Aligns objects to the grid

Available options on General toolbar


OPTION DESCRIPTION
Back Returns to the previous element in the navigation history
(BACKSPACE)

129 Power Configuration Object


OPTION DESCRIPTION
Forward Goes to the next element in the navigation history (ALT +
Right arrow)

System Diagram Shows model's System level

Select Enables the selection mode

Organize Diagram Automatically Groups elements symmetrically, to help visualization and


browsing

Locate Element Allows locating an element (CTRL + L). This search is


performed by the name of an element, as well as by its
partial name, displaying a list with all elements found.
When clicking OK or when selecting an element on this
list, this element is selected on the Electrical Model.
NOTE: The search for elements only considers the name
of an element, and not its full path

Show or Hide Description Shows or hides the name of devices on the modeling
screen

Area Zoom Applies a zoom to a specific area

Fit Fits the diagram to the drawing area (CTRL + 5 or CTRL


+ CLEAR). NOTE: The shortcut key for this option, on the
keypad, is available only when the NUM LOCK option is
disabled

Drag Allows moving the drawing area

Cable Editor Opens the Cable Editor window used on Feeders

Manage Schematic Views Allows creating or removing Schematic Views

Show Schematic Views Shows or hides Schematic View's thumbnails available on


the Electrical Model

Generate Schematic Views Generates Schematic Views automatically. NOTE: This


tool requires a specific license for its usage

Acknowledge Schematic View Layout Acknowledges the selected Schematic View layout, which
was changed by the syncing tool although the option to
preserve it was selected

Available options on Bays and Transmission Lines toolbar


OPTION DESCRIPTION
Create Bay with Selected Device(s) Creates a Bay with all selected devices

Add the Selected Devices to the Selected Bay Adds all selected devices to the selected Bay

Remove Selected Device(s) from Bay Removes all selected devices from a Bay

Create Transmission Line with the Selected Line Creates a Transmission Line with the selected Line
Segment(s) Segments

Add the Selected Line Segment(s) to the Selected Adds all Line Segments to the selected Transmission Line
Transmission Line
Remove Selected Line Segment(s) from Transmission Removes all selected Line Segments from a Transmission
Line Line

Available options on Elements toolbar


OPTION DESCRIPTION
Lock or Unlock Tool When activated, keeps the last selected tool active

Power Configuration Object 130


OPTION DESCRIPTION
Substation Inserts a Substation

Transmission Line Segment Inserts a Transmission Line (L key)

Feeder Inserts a Feeder

Wind Power Plant Inserts a Wind Power Plant

Photovoltaic Power Plant Inserts a Photovoltaic Power Plant

Jumper Inserts a Jumper (J key)

Branch Inserts a Branch (B key). NOTE: This element is not


available to Schematic Views

Node Inserts a Node

External Node Inserts an External Node. NOTE: This element can only
be inserted manually in Schematic Views

Tie Node Inserts a Tie Node. NOTE: This element exists in


Schematic Views

Breaker Inserts a Breaker. NOTE: This element is not available to


Photovoltaic Power Plants

Switch Inserts a Switch

Switch Fuse Inserts a Switch Fuse

Two-Winding Transformer Inserts a Two-Winding Transformer

Three-Winding Transformer Inserts a Three-Winding Transformer. NOTE: This


element is available to Substations and Photovoltaic
Power Plants and is not available to Feeders and Wind
Power Plants

Load Inserts a Load. NOTE: This element is only available to


Substations

Generator Inserts a Generator. NOTE: This element is available to


Substations and Feeders and is not available to Wind
Power Plants and Photovoltaic Power Plants

Reactor Inserts a Reactor. NOTE: This element is available to


Substations and Feeders and is not available to Wind
Power Plants and Photovoltaic Power Plants

Capacitor Inserts a Capacitor. NOTE: This element is available to


Substations and Feeders and is not available to Wind
Power Plants and Photovoltaic Power Plants

Busbar Inserts a Busbar. NOTE: This element is only available to


Substations

Distribution Transformer Inserts a Distribution Transformer. NOTE: This element is


only available to Feeders

Recloser Inserts a Recloser. NOTE: This element is not available to


Photovoltaic Power Plants

Voltage Regulator Inserts a Voltage Regulator. NOTE: This element is


available to Substations and Feeders, and it is not
available to Wind Power Plants and Photovoltaic Power
Plants

Wind Turbine Inserts a Wind Turbine. NOTE: This element is only


available to Wind Power Plants

131 Power Configuration Object


OPTION DESCRIPTION
Weather Station Inserts a Weather Station. NOTE: This element is
available to Wind Power Plants and Photovoltaic Power
Plants and it is not available to Substations and Feeders

Photovoltaic Array Inserts a Photovoltaic Array. NOTE: This element is


available to Photovoltaic Power Plants

Inverter Inserts an Inverter. NOTE: This element is only available


to Photovoltaic Power Plants

Junction Box Inserts a Junction Box. NOTE: This element is only


available to Photovoltaic Power Plants

Direct Current Jumper Inserts a Direct Current Jumper. NOTE: This element is
only available to Photovoltaic Power Plants

Direct Current Branch Inserts a Direct Current Branch. NOTE: This element is
only available to Photovoltaic Power Plants

Direct Current Node Inserts a Direct Current Node. NOTE: This element is
only available to Photovoltaic Power Plants

Convert Branch to Connector Converts the selected Branches to Connectors

Convert Connector to Branch Converts the selected Connectors to Branches

In addition to toolbars, the Electrical Modeler contains an auxiliary zoom tool, called Viewfinder. This tool makes it
easy to locate a portion of the Electrical Model when it is not completely visible on the drawing area.

Viewfinder tool
There are still tools available on the drawing area, when one or more objects are selected.
Available options on the drawing area
OPTION DESCRIPTION
Rotate Allows rotating the selected objects in 45-degree steps

Resize Allows resizing the selected objects

Move Busbar Allows moving the edges of Busbars, thus changing the
size and slope angle of these objects

When moving the mouse pointer over an object, it is highlighted. If the object contains one or more Terminals, they are
identified.

Power Configuration Object 132


Highlighted object

4.2.2 Shortcut Keys


For an easy navigation and creation of diagrams, Electrical Modeler provides a series of shortcut keys to some of its
tools or to frequently performed operations. The next table contains all shortcut keys available.
Shortcut keys to Electrical Modeler tools
SHORTCUT KEY DESCRIPTION
ALT + HOME Returns to System level

ALT + Right arrow Goes to the next element in the navigation history

B Inserts a Branch

BACKSPACE Returns to the previous element in the navigation history

Click the mouse wheel button Moves (Pan) the drawing area

CTRL + Zero (0) Fits all objects

CTRL + A Selects all objects

CTRL + Drag Copies the selected objects

CTRL + Right mouse button Area zoom

CTRL + Rotate mouse wheel More or less zoom

CTRL + Down arrow Moves the selected object down (short step)

CTRL + Left arrow Moves the selected object to the left (short step)

CTRL + Right arrow Moves the selected object to the right (short step)

CTRL + Up arrow Moves the selected object up (short step)

CTRL + Y Redoes the last operation

CTRL + Z Undoes the last operation

DELETE Removes the selected objects

Down arrow Moves the selected objects down

ESC Returns to Selection mode

F11 Decrements the StrokeThickness property from the


selected or currently edited Substation or Feeder

133 Power Configuration Object


SHORTCUT KEY DESCRIPTION
F12 Increments the StrokeThickness property from the
selected or currently edited Substation or Feeder

F2 Edits the name of the selected object(s)

F7 Decrements the size of Description fonts (names of


objects)

F8 Increments the size of Description fonts (names of


objects)

J Inserts a Jumper

L Inserts a Transmission Line Segment

Left arrow Moves the selected objects to the left

Right arrow Moves the selected objects to the right

SHIFT + Drag Moves the selected objects without complying to grid-


defined spacing

SHIFT + Double-click Selects all objects of the type clicked

SHIFT + Left arrow Rotates the selected objects counter-clockwise, in 45-


degree steps

SHIFT + Right arrow Rotates the selected objects clockwise, in 45-degree


steps

TAB Selects the next element, according to the creation order

Up arrow Moves the selected objects up

4.2.3 System
The most comprehensive level for viewing and editing available in the Electrical Modeler is the System level, where
users can create Substations, Feeders, and other elements that compose a wider vision of an electrical system, in
addition to define connections among these elements. Then, to edit Substations and Feeders created, double-click the
desired object. This screen can also be accessed by clicking System Diagram , when users are at another level of
edition, such as a Substation or Feeder. All properties of this object can be found on Elipse Power Reference and
Scripts Manual.

System diagram
When users perform a connection between a Substation and a Feeder at System level, this automatically creates an
External Node object inside each element: an External Node inside the Substation that represents the Feeder and an

Power Configuration Object 134


External Node inside the Feeder that represents the Substation. The same occurs if this connection is between two
Substations or two Feeders. The next figure represents the modeling of Substation SE2. On it users can see objects of
type External Node to represent Substation SE1 (LinkNode1) and to represent Feeder SE2_AL1 (LinkNode2).

Representation of Feeders

4.2.4 Substation
To insert a new Substation on the System level, click Substation and then click the drawing area. Properties of this
object can be checked on Elipse Power Reference and Scripts Manual.
To edit a Substation, double-click it on the System level to open a new screen and model a Substation's internal
elements. On Substation's modeling environment, users can insert all devices that compose a Substation and connect
them, thus enabling the configuration of these devices' electrical models, as well as their interconnections. The next
figure presents the modeling screen of a Substation.

A Substation inserted on the System level

4.2.5 Feeder
To insert a new Feeder on the System level, click Feeder and then click the drawing area. To connect a Feeder to a
Substation, click Jumper , select a Feeder, and then drag the mouse pointer to a Substation. The same operation can
be used to connect two Feeders. Properties of this object can be checked on Elipse Power Reference and Scripts
Manual.
135 Power Configuration Object
NOTE
A Feeder can be connected to more than one Substation. In this case, the first Substation to which a Feeder connects
is considered the parent Substation, that is, the Substation that feeds it. This configuration can be altered by changing
Feeder's Substation property.

To edit a Feeder, double-click it on the System level. Thus, a new screen is opened so that Feeder's internal elements
can be modeled. The next figure presents a Feeder's modeling screen.

Modeling screen of a Feeder

4.2.6 Wind Power Plant


To insert a new Wind Power Plant on the System level, click Wind Power Plant and then click the drawing area.
Properties of this object can be checked on Elipse Power Reference and Scripts Manual.
To edit a Wind Power Plant, double-click it on the System level to open a new screen and model a Wind Power Plant's
internal elements. On Wind Power Plant's modeling environment, users can insert all devices that compose a Wind
Power Plant and connect them, thus enabling the configuration of these devices' electrical models, as well as their
interconnections. The next figure presents the modeling screen of a Wind Power Plant.

A Wind Power Plant inserted on the System level

Power Configuration Object 136


4.2.7 Photovoltaic Power Plant
To insert a new Photovoltaic Power Plant on the System level, click Photovoltaic Power Plant and then click the
drawing area. Properties of this object can be checked on Elipse Power Reference and Scripts Manual.
To edit a Photovoltaic Power Plant, double-click it on the System level to open a new screen and model a Photovoltaic
Power Plant's internal elements. On Photovoltaic Power Plant's modeling environment, users can insert all devices that
compose a Photovoltaic Power Plant and connect them, thus enabling the configuration of these devices' electrical
models, as well as their interconnections. The next figure presents the modeling screen of a Photovoltaic Power Plant.

A Photovoltaic Power Plant inserted on the System level

4.2.8 Transmission Line Segment


Transmission Line Segments are used to connect two Substations. A Transmission Line is a group of one or more Line
Segments. To insert a new Transmission Line on a system, users must first insert a Line Segment. To do so, click
Transmission Line Segment , select a Substation, and then drag the mouse pointer to another Substation.
To insert a Transmission Line, select all desired Line Segments and click Create Transmission Line with the Selected
Line Segment(s) .

Line Segment and Transmission Line

137 Power Configuration Object


Line Segments and Transmission Lines can be only created and viewed at System level. Properties of these objects can
be checked on Elipse Power Reference and Scripts Manual.

4.2.9 Schematic Views


On large electrical systems, such as distribution networks, the amount of elements represented at System level as well
as on Substations and Feeders can become so large that it may affect their understanding. For this situation, Schematic
Views were created, which are drawing areas that only represent the most relevant elements from one or more
complex systems.
Elements represented on Schematic Views are called Virtual Objects, and they are a representation of a real object
belonging to a Substation or to a Feeder.

4.2.9.1 Profiles
Schematic Views are generated based on a pre-defined profile, called (default), or based on user-defined profiles. A
profile informs which types of devices must be part of a Schematic View, and in which situations they must be
considered.
The window on the next figure allows creating, removing, or editing filters. This window can be opened on the
Generation and Edition windows or on the Management window.

Schematic Profiles window


The Profile option displays a list of all existing Profiles. If this window is opened from the Schematic Views window, the
selected Profile is the first on the list, in alphabetical order. If this window was open from the Generate Schematic view
window or the edition window, the selected Profile is the same Profile selected on those windows.
The Add Profile option allows creating a new Profile. This option displays a window asking a name for the Profile,
which is added to the list of Profiles and then selected, and it is saved directly to the Electrical Model.

Add Profile window


If there is already a Profile with the informed name, a warning message is displayed to the user and the Profile is not
created, according to the next figure.

Power Configuration Object 138


Duplicated Profile name
The Remove Profile option allows removing the selected Profile, except the (default) Profile. A message is
displayed asking for user confirmation, according to the next figure.

Confirmation to remove a Profile


The Edit Profile option allows renaming a Profile, except the (default) Profile. This option displays a window so that
users can inform a new name. When opened, this windows is already displayed with the current Profile's name.

Rename Selected Profile window


The list of devices displays all types of available devices on an Electrical Modeler's Feeder. The Device type column
allows selecting which devices are part of the Profile, that is, which devices must be part of the Schematic View. The
Filter column allows informing in which cases that selected device must be added to the Schematic View. Only filters of
the selected devices can be edited. To edit a filter, click to open the window on the next figure.

Filter Definition window


Editing a filter varies according to the type of device, as not all devices contain the RemoteControlType and
HasSelfHealingControl properties. Click OK to convert information on this window to an expression displayed on the
Filter column on the Schematic Profiles window.

139 Power Configuration Object


Filtered device
Click Apply to save all configurations performed on the selected Profile, without closing that window. This window
allows saving all configurations of a Profile and then select other Profiles on the combo box to edit them. If a Profile is
edited and another Profile is selected without saving the changes on the first Profile, a warning message is displayed
informing that those changes must be saved or they are going to be lost.

Message of a modified Profile

4.2.9.2 Generating and Editing


To generate a Schematic View automatically, click Generate Schematic View on Electrical Modeler toolbar to open
the window on the next figure.

Power Configuration Object 140


Generate Schematic View window
The Profile option allows selecting a Profile to guide the generation of the Schematic View. The Edit Profile option
opens the Schematic Profiles window, to edit the selected Profile.
The Feeders column displays a list with all Feeders available on the Electrical Model. If there are pre-selected Feeders
on the Electrical Model when this window is opened, these ones are automatically selected on this list and the first one
selected is guaranteed to be visible. Feeders are displayed in alphabetical order.
The Forced devices list must contain all devices that are part of the Schematic View regardless of what is configured in
the Profile. The Add forced devices option allows including devices on this list. This option is only available when
there is at least one Feeder selected. When clicking this option, the window on the next figure is opened to select which
devices must be forced.

Forced Devices window

141 Power Configuration Object


Only devices that are part of the selected Feeders are displayed on this window, not including Connectors and
Branches already forced.
The Remove Forced Device option allows removing one or more forced devices. This option is only available if
there is at least one device selected on the list, and that removal is performed without asking users for confirmation.
The Keep Schematic View layout when synchronizing option configures whether the original layout must be
preserved or not when this Schematic View is synchronized.
The Enable organic pre-processing option allows generating a network diagram with a radial shape, instead of the
default semi-spiral shape. Selecting this option produces better results in diagrams with several interconnected
Feeders, while clearing this option produces better results in diagrams with a single Feeder.
The Include neighbor feeders option allows Feeders next to the selected Feeders for viewing to be included as well.
The Include Substation source breakers option allows an output Breaker or Recloser of the Feeder to be represented
in the Schematic View.
The One Schematic View for each Feeder and A single Schematic View options configure whether a Schematic View
must be generated for each Feeder or a single Schematic View representing all Feeders, respectively.
Click Generate to generate one or more Schematic Views, according to all configurations. This option is only available
if users select at least one Feeder. When clicking this option a consistency check is performed to verify if all forced
devices on the list belong to the selected Feeders. If a Feeder was selected and its devices were also selected, but later
this Feeder's selection was cleared, all forced devices in this case are not used when generating the Schematic View.
The message on the next figure is then displayed, according to the user-performed configurations.

Message about an unused device


When clicking Yes, all Schematic Views are generated and the forced devices not belonging to any Feeder are not
saved to any Schematic View. When clicking No, the generation of Schematic Views is canceled and this window is not
closed, so that users can fix this problem, by manually removing the objects or including the Feeders.
After creation, users can edit all properties of a Schematic View. Click Manage Schematic Views on the
management window to show the window on the next figure.

Power Configuration Object 142


Edit Schematic View window
On this window, users can edit the Profile used by a Schematic View, which Feeders are part of that View, which forced
devices are available, whether this Schematic View's layout must be preserved or not if it is synchronized, and whether
its organic pre-processing must be enabled or not. Also, users can edit the selected Profile by clicking Edit Profile .

4.2.9.3 Managing
Users can manage Schematic Views already generated or create new ones by using the Schematic Views window,
shown on the next figure.

Schematic Views window


For each Schematic View displayed on this list, users can define a name and a short name. The first column shows the
icon in cases when that Schematic View was synchronized and its layout must be user-acknowledged. The available
options on this window are presented on the next table.
Available options on Schematic Views window
OPTION DESCRIPTION
Add Schematic View Adds a new empty Schematic View

143 Power Configuration Object


OPTION DESCRIPTION
Remove Schematic View Removes the selected Schematic Views

Edit Schematic View Opens a window to edit the selected Schematic View

Synchronize Schematic View(s) Synchronizes the selected Schematic Views, as described


on topic Synchronizing

Acknowledge Schematic View Layout Acknowledges the selected Schematic View layout, which
was changed by the syncing tool although the option to
preserve it was selected, as described on topic Layout
Acknowledgment

The Edit profiles option allows editing profiles from Schematic Views, as described on topic Profiles.

4.2.9.4 Synchronizing
When a Schematic View is already generated to one or more Feeders, and these Feeders had changes such as
including or removing any device, users can sync Schematic Views to reflect the new status of that Feeder. This can be
performed by clicking Synchronize Schematic View(s) on the Management window.
If the selected Schematic View's option to Keep Schematic View layout when synchronizing is selected and the layout
cannot be preserved, the View is flagged with the icon on the management window as well as on its thumbnail.

Layout not preserved


If devices were included on the Feeder and they are part of the Schematic View after syncing, these devices are inserted
on the upper left corner of the drawing area, so that they are visible to users to set their position.

4.2.9.5 Layout Acknowledgment


Once all devices are set and the Schematic View syncing is correct from a user's point of view, users can sign to the
Electrical Modeler that this View was checked and it is correct. To do so, click Acknowledge Schematic View Layout
on the management window or on the Electrical Modeler toolbar.

4.2.10 Devices
Elipse Power's electrical modeler tool allows inserting a series of devices on Substation and Feeder models. These
devices are described on the next topics.

4.2.10.1 Breaker
Device that conducts and interrupts current in electrical circuits. Properties of this object can be checked on Elipse
Power Reference and Scripts Manual.

Power Configuration Object 144


4.2.10.2 Capacitor
Element representing a capacitor or a bank of capacitors. Properties of this object can be checked on Elipse Power
Reference and Scripts Manual.

4.2.10.3 Distribution Load


Element that represents a load concentrated on a distribution network. For example, a Distribution Transformer
connected to one or more consumers. Properties of this object can be checked on Elipse Power Reference and
Scripts Manual.

4.2.10.4 Distribution Transformer


Element that encompasses features of a concentrated load from a distribution network and a two-winding transformer,
needed to connect consumers in its secondary winding. Properties of this object can be checked on Elipse Power
Reference and Scripts Manual.

4.2.10.5 Generator
A synchronous machine that converts mechanical energy into electrical energy. Properties of this object can be checked
on Elipse Power Reference and Scripts Manual.

4.2.10.6 Inverter
A static converter of power that converts a photovoltaic generator's direct current into alternating current. Properties of
this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.10.7 Junction Box


A device in which photovoltaic subarrays, photovoltaic strings, or photovoltaic modules are connected in parallel and
also a device that stores protection or sectioning devices. Properties of this object can be checked on Elipse Power
Reference and Scripts Manual.

4.2.10.8 Load
Element representing a load concentrated in a power substation. Properties of this object can be checked on Elipse
Power Reference and Scripts Manual.

4.2.10.9 Photovoltaic Array


A set of photovoltaic modules or photovoltaic subarrays mechanically and electrically integrated, including its support
structure. Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.10.10 Reactor
Element representing a reactor or a bank of reactors. Properties of this object can be checked on Elipse Power
Reference and Scripts Manual.

4.2.10.11 Recloser
Device that automatically conducts and interrupts current in electrical circuits. Properties of this object can be checked
on Elipse Power Reference and Scripts Manual.

4.2.10.12 Switch
Device that opens or closes one or more electrical circuits. Properties of this object can be checked on Elipse Power
Reference and Scripts Manual.

4.2.10.13 Switch Fuse


Device that opens or closes one or more electrical circuits. This device has a fuse element that interrupts a circuit upon
the occurrence of an over-current that exceeds its operating limit. Properties of this object can be checked on Elipse
Power Reference and Scripts Manual.

145 Power Configuration Object


4.2.10.14 Three-Winding Transformer
Device composed of a magnetic core and three windings, capable of introducing a mutual coupling between three
circuits. Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.10.15 Two-Winding Transformer


Device comprising a magnetic core and two windings, capable of introducing a mutual coupling between two circuits.
Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.10.16 Voltage Regulator


Auto-Transformer with automatic tap control, which allows raising or lowering voltage on the load side, by keeping it
inside a range of pre-established values. Properties of this object can be checked on Elipse Power Reference and
Scripts Manual.

4.2.10.17 Weather Station


Element that groups several devices for measuring weather or meteorological conditions, such as wind speed and
direction, temperature, and rainfall. Properties of this object can be checked on Elipse Power Reference and Scripts
Manual.

4.2.10.18 Wind Turbine


A synchronous machine that converts mechanical energy into electrical energy. Properties of this object can be checked
on Elipse Power Reference and Scripts Manual.

4.2.11 Connection Elements


To allow modeling the interconnection among devices that comprise an electrical system, Elipse Power's modeling tool
provides a set of elements that make it easy to connect these devices. These elements are described on the next topics.

4.2.11.1 Branch
Conductor with significant impedance that models all cables composing a power distribution network (Feeders).
Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.11.2 Busbar Terminal


Conductor or group of conductors, with insignificant impedance that connects several devices in a Substation.
Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.11.3 Direct Current Branch


A conductor's branch that interconnects two points of a direct current network from a Photovoltaic Power Plant.
Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.11.4 Direct Current Jumper


A branch with null impedance that interconnects two points of a direct current network from a Photovoltaic Power Plant.
Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.11.5 Direct Current Node


A connection point for one or more Direct Current Jumpers or Direct Current Branches from a Photovoltaic Power Plant.
Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.2.11.6 External Node


Represents a connection point of a Substation or Feeder with an object external to the diagram, which belongs to
another Substation or Feeder. Properties of this object can be checked on Elipse Power Reference and Scripts
Manual.

4.2.11.7 Graphical Vertex


The Vertex tool must be used to change the path of Jumpers, Branches, and Transmission Lines. Properties of this
object can be checked on Elipse Power Reference and Scripts Manual.

Power Configuration Object 146


4.2.11.8 Jumper
Conductor with insignificant impedance that connects device terminals in Substations and Feeders. Properties of this
object can be checked on Elipse Power Reference and Scripts Manual.

4.2.11.9 Node
Represents a connection point among two or more objects. Properties of this object can be checked on Elipse Power
Reference and Scripts Manual.

4.2.11.10 Tie Node


Represents a connection point among objects that are represented on a Schematic View, but belong to different
Substations or Feeders. Properties of this object can be checked on Elipse Power Reference and Scripts Manual.

4.3 Tools
The Power Configuration object provides a series of tools to help building and maintaining an electrical system. To
access these tools, right-click the Power Configuration object and select the Electrical Model option.

4.3.1 Synchronize Data Objects


Once the modeling of the electrical system is performed on the Electrical Modeler, users can create Elipse Power's
native data objects automatically using the Synchronize Data Objects tool, available on Power Configuration's
Electrical Model contextual menu. For more information about this tool, please check chapter Synchronizing Data
Objects.

4.3.2 Synchronize Existing Data Objects


This tool is a particular case when synchronizing data objects, where only native objects that already exist in Elipse
Power are synchronized with the Electrical Model. Objects that were created in the Electrical Model are not imported
using this tool. For more information, please check topic Synchronize Existing Data Objects on chapter
Synchronizing Data Objects.

4.3.3 Import to Screen(s)


From the Electrical Modeler, users can also generate automatically all Screens that represent Feeders, Photovoltaic
Power Plants, Substations, Transmission Lines, or Wind Power Plants in an application, by using the Import to Screen(s)
tool. For more information, please check chapter Importing to Screens.

4.3.4 Synchronize External Database


If users have an independent database with the modeling of an electrical system, such as a modeling performed on a
commercial GIS (Geographic Information System) system, or there is already an Electrical Model, they can create a new
Electrical Model or sync that database to the existing Electrical Model, respectively. To do so, right-click the Power
Configuration object and select the Electrical Model - Synchronize External Data Base option.

147 Power Configuration Object


Synchronize External Data Base option
When selecting this option, this tool creates in the Electrical Model the elements that exist on the external database. If
these elements already exist, they are synced. If the external database was changed and some elements were removed,
these ones are removed from the Electrical Model. It is important to notice that existing objects in the Electrical Model
that do not come from the external database remain unchanged.
Changes are performed only on the Electrical Model (EDB) file. No changes are performed on Elipse Power's native
objects that were already synced.
To use this tool, users must have a specific DLL, customized for each client. This DLL is responsible for connecting to
the external database, for reading all information about the client's electrical model, and for creating this system. For
more information on how to purchase this DLL, please contact Elipse Software.

4.3.5 Statistics
To help on viewing Electrical Study licenses, the Power Configuration object contains a tool called Statistics, which
displays the counting of relevant objects for each Study license. To access this tool, right-click the Power Configuration
object and select the Electrical Model - Statistics option.

Power Configuration Object 148


Electrical Model - Statistics option
The window on the next figure is then displayed. This window only lists objects relevant to the calculation of licenses for
different Electrical Studies.

149 Power Configuration Object


Model Statistics window
For Power Flow licenses, the counting is displayed at the end of the table, on the Total inputs item.
For all other Electrical Studies, information appears detailed in the Load Shedding, State Estimator, Distribution
Load Modeling, and Self-Healing fields.

Power Configuration Object 150


CHAPTER
Synchronizing Data Objects
5
Elipse Power handles differently, although linked, the Electrical Modeler and application's data objects. While the
Electrical Modeler is stored on a file in EDB format and contains information and configuration about system's
components, data objects are stored on project files and allow adding a series of programmings to them, such as
scripts, Links to I/O Tags, Links to Screen objects, Alarms, and Historic objects, among others. After creating devices in
the Electrical Modeler, system's components can be imported to project files by right-clicking the Power Configuration
object and selecting the Electrical Model - Synchronize Data Objects option, as shown on the next figure.

Synchronize Data Objects option


The window on the next figure is opened. By default the Synchronize all Data Objects from the Electric Model option
is already selected, indicating that all objects are synced.

151 Synchronizing Data Objects


Data Objects Synchronization window
If users want to sync specific objects, deselect the Synchronize all Data Objects from the Electric Model option and
select the objects wanted on the Synchronize only the selected Data Objects group, according to the next figure.

Syncing only the selected objects


NOTES
· The OK option is only available if there is at least one item selected.
· The Transmission Lines item from the tree of objects groups Transmission Lines as well as Transmission Line
Segments.

The selected objects from the Electrical Modeler are read and this tool searches for equivalent native objects in Elipse
Power. When an object is found, its properties are updated.
By equivalent object users must understand it as an object with the same ID and type that is on the Electrical Modeler,
or else an object with the same type, same name, and ID equal to 0 (zero).
If an object is not found, then a new object is created. If this object is a Container- or Grouper-type (Feeders,
Photovoltaic Power Plants, Substations, Transmission Lines, or Wind Power Plants), users must define where to create it.
To do so, the window on the next figure is opened.

Synchronizing Data Objects 152


Creating objects during the synchronization of data objects
This window displays a list of already existing projects and folders on the Domain, to select a destination for the data
object to create. If needed, users can create a new folder or a new project, by using the New Folder or New Project
options, respectively.
The selection performed on this list is, initially, applied only to the object being created. If the Use the same path for
all objects option is selected, then all other objects, regardless of their type, that must be created have their location
as the selected one. If the Use the same path for all objects of this type option is selected, then this selection is only
valid for objects with the same type of the object created. If users want to create an object with a different type, this
window is displayed again.
If the Create a new project for each new object option is selected, then the entire configuration performed to select
an existing project is ignored, and for each new object to import a new project is then created. This project receives
the name of the object and it is automatically inserted in the Domain.
After finishing the synchronization process, all those objects that exist in Elipse Power and were not updated from the
Electrical Model, because they do not exist in the model anymore, have their IDs zeroed. No object is removed, only
their IDs in 0 (zero) indicates that this object has no corresponding object in the Electrical Model. This way, if objects
have user-defined configurations, nothing is lost.
Users can view objects created and changed using Organizer. Data objects that were created already have some basic
configurations, but allow inserting elements on them such as Measurements, Commands, Interlocks, Alarms, Storages,
Data Folders, Scripts, and in some cases other Elipse Power data objects.
All objects described on topic Devices of chapter Power Configuration Object have a corresponding Elipse Power's
native data object, except for Node, External Node, Tie Node, Bar Terminal, Connector, and Graphical Vertex objects.
Properties of devices can be checked on Elipse Power Reference and Scripts Manual.

153 Synchronizing Data Objects


Result of syncing data objects
NOTE
There may be cases where an object is moved from its place in the Electrical Model. For example, a Breaker that
belonged to a Substation and now belongs to another one, or objects that were grouped in a Bay and now are
grouped in another one. In these cases, when an object is equivalent but it is only out of its place, it is used in the
synchronization process and moved to its correct location.

5.1 Synchronizing Existing Data Objects


The goal of the Synchronization of Data Objects tool is to model all objects of the Electrical Model into native Elipse
Power objects, by changing their properties and creating non-existent objects in Elipse Power, if needed. An additional
tool is the Synchronize Existing Data Objects, which performs this same task, except that new objects are not created.
This tool only updates all properties of already existing objects in Elipse Power and zeroes the IDs of those objects
that do not have a corresponding object in the Electrical Model anymore.
To access this tool, right-click the Power Configuration object and select the Electrical Model - Synchronize Existing
Data Objects option, according to the next figure.

Synchronizing Data Objects 154


Synchronize Existing Data Objects option
NOTE
In case of objects that were moved from their places in the Electrical Model, the Synchronize Existing Data Objects
tool also tries to move these objects in Elipse Power. To do so, if the creation of a new Bay is needed, then it is
created.

5.2 SCADA Configuration


An Elipse Power's native object contains a data structure that allows configuring a device the way it exists in the field.
When an object is created, it contains some previously configured features, and allows configuring others.
The creation of Elipse Power's native data objects can be performed using the synchronize tool from an Electrical
Model or manually using Organizer. The allowed structure for each device is the following:
· Commands and Command Units
· Interlocks
· Measurement and Measurement Sources
· Protections
· Terminals, whose number varies according to object's type

5.2.1 Commands and Command Units


Commands that an object can contain must be created on the Commands folder of each object. To add this folder,
right-click the object and select the Add - Commands option.

155 Synchronizing Data Objects


Add - Commands option
There are two types of Commands that can be inserted on the Commands folder, a Step Command and a Discrete
Command. To insert a Command, right-click the Commands folder, select the Insert option, and then the type of
Command.

Synchronizing Data Objects 156


Option to insert a Discrete or Step Command
The available types of Commands are configured on the Power Configuration object, on the Commands tab, as
described on topic Standards for Command Types.
On Commands users can insert Command Units. By default, Discrete Commands are created containing a Command
Unit, and they can have as many Command Units as needed. On the other hand, Step Commands are created with two
Command Units and users are not allowed to insert other Command Units without removing the pre-existing ones. To
insert Command Units, right-click a Command and select the Insert - Command Unit option.

157 Synchronizing Data Objects


Insert - Command Unit option
The type of Command Unit is also defined on Power Configuration's Commands tab, and varies according the type of
Discrete or Step Command to which this Unit belongs.
For a Command to work correctly, some properties must be configured, according to the next table.
Properties that must be configured on Commands and Command Units
OBJECT PROPERTIES
Discrete Command · CommandType
· Conversion

Step Command · CommandType


· Conversion
· HighPosition
· LowPosition

Command Unit · CommandName


· SelectWriteTag
· SelectFeedbackTag
· OperateWriteTag
· OperateFeedbackTag
· CancelWriteTag
· CancelFeedbackTag

Properties of Discrete and Step Commands and also Command Units can be checked on Elipse Power Reference and
Scripts Manual.

Synchronizing Data Objects 158


5.2.2 Interlocks
Interlocks are intended to inform when there is a restriction to execute a Command. This restriction applies to all
Commands on the same level and on lower levels. For example, an Interlock created on a Bay allows all Commands
present on that Bay to be interlocked on devices. Likewise, an Interlock created on a Command Unit influences only that
Unit.
Interlocks must be created on the Interlocks folder. To insert this folder, right-click the object and select the Add -
Interlocks option.

Add - Interlocks option


To insert an Interlock, right-click the Interlocks folder and select the Insert - Interlock option.

159 Synchronizing Data Objects


Insert - Interlock option
Users can add several Interlocks in each folder, and only one of these Interlocks must be violated to trigger the
Interlock.
For an Interlock to work properly, the ComparisonOperator, ComparisonValue, and Measurement properties must
be configured.
Interlock properties can be checked on Elipse Power Reference and Scripts Manual.

5.2.3 Measurements and Measurement Sources


The Measurements an object can contain must be created on the Measurements folder or on each object's Terminals,
depending on where this information is coming from field devices. Some native objects are already created containing
this folder and a Measurement. Others, however, are created only with their Terminals.
To add a Measurements folder, right-click an object and select the Add - Measurements option.

Synchronizing Data Objects 160


Add - Measurements option
Once this folder exists, users can add several types of Measurements, Analog or Discrete. To do so, right-click the
Measurements folder, select the Insert option, and then select a type of Measurement, Analog or Discrete.

Option to insert an Analog or Discrete Measurement


161 Synchronizing Data Objects
Inserting Measurements must always consider the location where this Measurement is requested. For example, if in the
field on Breaker's Terminal 1 there is a current transducer, a Current's Analog Measurement must be added to
Breaker's Terminal 1 in the application. On the other hand, if in the field a Breaker may or may not be inserted in a rack,
a *BreakerRackPosition-type Measurement must be added to the application on Measurements folder to indicate
that status.
Inside a Measurement, whether it is Analog or Discrete, users can insert one or more Measurement Sources, indicating
how information is received by an application. These Sources can be of input-type or from an Electrical Study.
To insert a new Measurement Source, select a Measurement, right-click Add, and select the type of Measurement
Source.

Option to add a Measurement Source


The available types of Measurement Sources are presented on the next table.
Types of Measurement Sources
MEASUREMENT SOURCE DESCRIPTION
Operator Input source where its value is informed manually by an
operator of the electrical system

Scada Input source where its value is received by a


communication variable

CCLink Input source where its value is received by another


control center

Billing Input source where its value is received by a billing


system

Calculated Input source where its value is calculated

Database Input source where its value is received from a database's


table field. NOTE: It is application's responsibility to
configure a query and methods to receive this data from
a database

TopologyProcessor Source whose value comes from a Topology Processor-


type Electrical Study

Synchronizing Data Objects 162


MEASUREMENT SOURCE DESCRIPTION
PowerFlow Source whose value comes from a Power Flow-type
Electrical Study

StateEstimator Source whose value comes from a State Estimator-type


Electrical Study

LoadSchedding Source whose value comes from a Load Shedding-type


Electrical Study

DistLoadModeling Source whose value comes from a Distribution Load


Modelling-type Electrical Study

SelfHealing Source whose value comes from a Self-Healing-type


Electrical Study

ExternalReader Source whose value comes from an External Reader-type


Electrical Study

By default, every Measurement is created containing an Operator-type Measurement Source. For input Measurement
Sources, except for an Operator Source, users must configure which variable provides its values. This configuration is
performed on the Tag property of an Analog or Discrete Measurement.
For a Measurement to work properly, some properties must be configured, according to the next table.
Properties that must be configured on Measurements
OBJECT PROPERTIES
Analog Measurements · MeasurementType
· ActiveSource
· StudyInputSource
· UnitPrefix

Discrete Measurements · MeasurementType


· ActiveSource
· StudyInputSource

Properties of Analog and Discrete Measurements, and also of Measurement Sources, can be checked on Elipse Power
Reference and Scripts Manual.

5.2.4 Protections
All devices allow inserting the Protections folder, such as Substation, Feeder, Transmission Line, up to any device that
can be inserted on these objects.
To add this folder, right-click an object and select the Add - Protections option.

163 Synchronizing Data Objects


Add - Protections option
To insert a Protection, right-click the Protections folder and select the Insert - Protection option.

Synchronizing Data Objects 164


Insert - Protection option
When creating a new Protection, Elipse Power already created automatically the Measurements folder with Protection
Mode-type and Protection Operate-type Discrete Measurements. This location is the indicated one to create
Measurements related to this Protection, such as configurations, protection initialization, and protection profile, among
others.
In addition to the Measurements folder, users can create the Commands folder, where they can create Commands to
change the protection mode or change the protection profile, among others.
For a Protection to work properly, the ProtectionType and ElectricalPhase properties must be configured.
Protection properties can be checked on Elipse Power Reference and Scripts Manual.

5.2.5 Terminals
When an object is created, its Terminals are automatically created, whose number ranges from one to three according
to object's type. Inside each Terminal a Discrete Measurement of type *TerminalState is created, which indicates the
status of that Terminal.

165 Synchronizing Data Objects


Terminal object
Users are not allowed to remove Terminals from a native object nor insert new Terminals. Users are only allowed to
insert new Measurements and alarms inside existing Terminals, by using the Insert menu.

Option to insert an Analog or Discrete Measurement


Terminal properties can be checked on Elipse Power Reference and Scripts Manual.

Synchronizing Data Objects 166


CHAPTER
Drivers
6
Elipse Power allows communication with data acquisition devices, controllers, PLCs (Programmable Logic Controllers),
RTUs (Remote Terminal Units), or any other type of device, by using its own I/O Drivers or OPC Servers, according to
the type of device or communication needed.

NOTE
· Driver objects (I/O Driver, I/O Folder, I/O Tag, I/O Block, I/O Block Element, OPC Driver, OPC Tag Group, OPC
Folder, OPC Tag, OPC Block, OPC Block Element, OPC UA Driver, OPC UA Subscription, OPC UA Folder, OPC UA Tag,
OPC UA Block, and OPC UA Block Element) can be configured to work as Alarm Areas.
· All options of Driver's object views that are available via contextual menu, by using the right mouse button, are also
available by using the shortcut key SHIFT + F10, which corresponds to the application or menu key .
· The Properties Window of Driver objects in object Views can be opened by using the shortcut keys ALT + ENTER or
ALT + Double-click.

6.1 I/O Driver


An I/O Driver is an Elipse Power module that communicates with a certain device by using .dll files. These Drivers are
developed either by Elipse Software or by third-parties using a DDK (Driver Development Kit), supplied by Elipse
Software, using the C/C++ programming language. Each Driver implements a different family of devices or protocols,
according to the type of device or communication protocol. New Drivers are constantly developed by Elipse Software.
To insert an I/O Driver in a project, right-click a project's name in Explorer mode and select the Insert - I/O Driver
option. In Domain mode, right-click the Server objects - Drivers and OPC item, select the Insert I/O Driver In option,
and then a project's name.

Inserting an I/O Driver in Domain mode


The following window to locate a Driver is then opened.

167 Drivers
Locating Driver files
If a valid Driver is selected, Elipse Power Studio proceeds to open its configuration window. Right after that, the I/O
Tag Import window is displayed, if available.
When inserting a Driver in an application in Elipse Power Studio, an object View is then opened, according to the next
figure.

I/O Driver View


The available options on this View are described on the next table.
Available options for I/O Driver's View
OPTION DESCRIPTION
Add Adds a new I/O Folder, I/O Tag, or I/O Block to an I/O
Driver, a new I/O Tag or I/O Block to an I/O Folder or a
new I/O Block Element to an I/O Block

Remove Removes the selected item from this View

Driver Settings Opens this I/O Driver's extra settings window

Tag Browser Opens a window that enables importing I/O Tags directly
from this I/O Driver

Drivers 168
OPTION DESCRIPTION
Activate or Deactivate Communication Activates or deactivates communication with this I/O
Driver. The activate option is only available if the
DriverLocation property is configured

Tag Counting Displays the total number of I/O Tags in this I/O Driver

NOTES
· The Activate or Deactivate Communication option implies in a sufficient number of licenses for all I/O Tags and
I/O Block Elements available in an I/O Driver. If there is no sufficient licenses for all I/O Block Elements of an I/O
Block, the whole I/O Block does not communicate. Please check topic Licenses for more information about this
behavior.
· The Tag Counting option takes into account the number of I/O Tags plus the number of I/O Block Elements
available in an I/O Driver.

6.1.1 Configuration
To determine a Driver to use, click the DriverLocation property or right-click an I/O Driver and select the Browse DLL
option. A dialog box for selecting a .dll file that contains a Driver is displayed, according to the next figure.

Selecting a Driver
For more information on individual settings for each Driver, please refer to their respective help files, where
information on [P] parameter's configuration is available, as well as other properties available on Driver settings
window.

6.1.1.1 Communication Test


When configuring a Driver, users can perform a test procedure to check whether its values are correct and being
updated with no problems. When clicking an I/O Driver, the Activate Driver option can be used.
Thus, the specified Driver is loaded and its variable values can be viewed in each I/O Tag's Value field on its design
View. In case there is an I/O Tag with its AllowRead property set to False, or even with no value to be reported, this row
appears in gray.
When an I/O Tag contains communication errors, its row turns into red, and in case it displays no problems, its row
turns into blue. To interrupt this monitoring process, right-click an I/O Driver again and select the Deactivate Driver
option.

169 Drivers
6.1.2 How I/O Drivers Work
An I/O Server is an Elipse Power module responsible for communicating with a device. It is inside an I/O Server
process that Driver's DLL is loaded and communication with that device is then performed.
I/O Tags enable users to read or write a set of values, by using an I/O Driver where they are inserted. Users can also
use I/O Blocks to read more than one variable simultaneously. To access each I/O Block value, use an I/O Block Element,
which can be inserted in that object. These objects are discussed in the next topics.
By default, Elipse Power creates an I/O Server for each I/O Driver at run time. Based on each I/O Tag's scan time, its
Scan property, an I/O Driver periodically requests each I/O Tag value. Every time an I/O Tag value or quality is
modified, its value is then reported to an I/O Driver.
Each variable's cycle time check is performed sequentially. In case some variable's cycle time expires, an I/O Server then
keeps asking for its value, moving on to the next variable until the whole spreadsheet is complete, and then it returns to
the beginning for a new scan.
Users can reserve a smaller cycle time for variables that need to be updated more quickly, and a larger cycle time for
variables whose updating priorities are low. It is important to notice, however, that communication performance
depends on a lot of factors, including device type, communication interface type in use, baud rate, and error rate,
among others.
Whenever Elipse Power sends a request to set values to one or more variables, this request has a higher execution
priority, relative to an I/O Tag scan.
In case of an I/O Server failure, Elipse Power automatically restarts this module, to get back to work. On the other
hand, an I/O Server stops working in case there is no E3Run, Main or Standby, to receive its data.
When using the ShareServer property, users can share the same I/O Server among several I/O Drivers. The first I/O
Driver executing is responsible for starting communication procedures, such as opening a serial port or initializing a
communication interface. The next shared I/O Drivers then use the same I/O Server opened by the first one, which
allows sharing communication interfaces used by an I/O Driver.
This can be an advantage, because many communication devices such as modems, serial ports, and other interfaces,
allow just one connection, preventing simultaneous usage by more than one I/O Driver. When sharing I/O Drivers, users
can reuse the same connection for more than one object. Users must notice that settings for shared I/O Drivers must
be the same, for a proper working of I/O Driver sharing.
When a Domain is executing, users have access to I/O Driver's execution interface, named Driver Manager., on E3
Admin's contextual menu on Windows Notification Area, in the Server - Drivers option.

Access to Driver Manager


A Driver Manager allows users to view all I/O Drivers in execution, by displaying their properties. On this window users
can sort I/O Drivers by any column, by clicking a desired column's name. Users can also filter values on columns, except
for Read errors and Write errors columns, by clicking and then typing a filter for a column.

Drivers 170
Driver Manager
The available options on this window are described on the next table.
Available options for Driver Manager window
OPTION DESCRIPTION
Name Informs a Driver's name

Object(s) Informs an I/O Driver's name linked to a Driver

Read errors Displays the total number of this I/O Driver's readings,
the number of reading errors, and a percentage of errors
relative to the total number of readings

Write errors Displays the total number of this I/O Driver writings, the
number of writing errors, and a percentage of errors
relative to the total number of writings

Process Displays a process ID for this I/O Server in the operating


system

Status Displays the current I/O Driver status (configured,


starting, executing, finishing, finished, or in error). If an
I/O Driver is in error, this column displays an error
description

Shared Displays YES or NO, informing whether an I/O Driver is


shared or not

Log Displays a log status (enabled or disabled)

Path Informs a Driver's path in the operating system

Enable log Enables a Driver's log at run time, without reconfiguring


this application. Users can interrupt this recording
procedure by using the same option

Refresh Forces an update on displayed data

6.1.2.1 Using a Timestamp


Some devices and protocols allow users to send time information along with variable values. I/O Drivers for such
devices can also return clock information stored in each I/O Tag's TimeStamp property, with a resolution of one
millisecond.

171 Drivers
When a device does not support this type of information, or when a Driver is not prepared to handle it, this I/O Driver
inserts the current date and time into this timestamp, using computer's clock. With this timestamp, Elipse Power then
uses this information both for checking and storing alarms, and also for generating historic files.
In case of I/O Block Elements, the same timestamp is informed for all I/O Block Elements, since they were all checked at
the same time. If a Driver supports both I/O Block and I/O Tag variable readings, in case of I/O Block Elements
representing distinct events, users must use I/O Tags.
For more information on which devices have this feature, please contact Driver's manufacturer. For more information
on which Drivers or variable types inside devices use timestamps, please check Driver's help or contact Elipse
Software's technical support.

6.1.2.2 I/O Tags Reported by Events


I/O Tags reported by events can return more than one value at every reading or return no value at all.
I/O Tags reported by events aim to read data on demand, usually stored on a Driver until read by a reading operation.
They are generally used for reading events, mass memory data, and unsolicited messages received from a device.
Driver's documentation must specify which I/O Tags available to an application are reported by events.
The most common usage is to collect SOE (Sequence of Events). For example, on devices that store really fast variation
sequences of digital Tags in memory, or that store telemetry data in memory tables, this data can remain stored in
those memory tables, such as in the following figures.

Table with three events and a single data field

Table with three events and six data fields


For the first example, one I/O Tag is needed to read value A. The Time field is returned in I/O Tag's TimeStamp
property. For the second example, on the other hand, one I/O Block Tag with six I/O Block Elements, from A to F, is
needed, with the Time field once again returned in I/O Block's TimeStamp property.
In common I/O Tags, not reported by events, a scan time can be configured, which determines a period to read that
I/O Tag. At every reading operation, that I/O Tag returns a value or an I/O Tag, a block of values or an I/O Block Tag,
or else returns an error. To read all tables previously described, in this case, three reading operations are needed in
every table to read three events, that is, three table rows.
I/O Tags reported by events can also allow configuring a scan time. For these I/O Tags, however, every reading
operation can return a series of values or blocks of values, with their own quality and timestamp, that is, when using I/O
Tags reported by events to read those previous tables, users can get those three events, data from three rows of every
table, at once on a single reading operation, a single scan.
Reading values returned by I/O Tags reported by events is performed through I/O Tag's OnRead event. At every
reading operation that return values, an application triggers a series of OnRead events. For every returned value or
event, an application fills I/O Tag's properties (value, timestamp, and quality) with values from a specific event, and then
triggers an OnRead event.
In case a Driver does not have events or values to return, that reading operation reported by events, unlike common
I/O Tags, may not return any data nor generate any error, as if this operation had never occurred.
A scan time of I/O Tags reported by events can be usually configured with a low value, because CPU consumption, in
case there is no value to return, is usually irrelevant.
The TimeStamp property of these I/O Tags usually contains a device-provided value.

Drivers 172
NOTE
I/O Tags reported by events must be configured with their EnableDeadBand property disabled. This avoids that events
with very close values to be discarded by an application.

6.1.2.2.1 Recording Events to a Historic


The most common usage for I/O Tags reported by events is to store returned events to a Historic object. To do so,
follow these steps:
1. Create a Historic object with its scan time disabled, that is, its ScanTime property set to zero, and no dead band,
that is, its DeadBand property set to zero.
2. Link TimeStamp properties and values of an I/O Tag to this Historic. Other properties can be linked too, in case it is
important to store them.
3. Use Historic's WriteRecord method on I/O Tag's OnRead event.

This procedure ensures that every received value reported by event is stored sequentially on a linked Historic.

6.1.2.3 Pool of I/O Server Processes


In applications with hundreds of Drivers, all resources needed to execute I/O Server processes for each Driver may
consume operating system's capacity. In these cases, it may be necessary to enable the Pool of IOServer Processes on
Properties tab of a Domain configuration.
When this Pool is enabled, each I/O Server process can execute more than one Driver, then saving operating system's
resources and thus allowing an application to execute thousands of Drivers.
Only Drivers supporting the creation of new dynamic instances, that is, Drivers compiled with IOKit version 2.0.6 or
later, can be used in this Pool. If a Driver without support is added to this Pool, it is not executed, that is, it fails. For
these cases, configure I/O Driver's DisableIOServerPool property to True, so that it executes outside this Pool, in an
exclusive I/O Server process.
On the Properties tab of a Domain configuration, users can control the maximum number of I/O Server processes in
this Pool, as well as the maximum number of Drivers that execute on each I/O Server.
Behavior options for a Pool of I/O Server Processes
DRIVERS PER PROCESS MAXIMUM NUMBER OF PROCESSES POOL'S BEHAVIOR
0 M As application Drivers are activated, an
I/O Server process is created for each
Driver, up to the maximum number M.
After that, every new Driver activated is
added to Pool's I/O Driver that
contains less Drivers
N 0 As application Drivers are activated,
Elipse Power adds them to a Pool's
I/O Server process that has not
reached the maximum number N of
Drivers executing in it. If all Pool
processes reached their maximum
limit, then a new I/O Server is added
to that Pool

173 Drivers
DRIVERS PER PROCESS MAXIMUM NUMBER OF PROCESSES POOL'S BEHAVIOR
N M As application Drivers are activated,
Elipse Power adds them to a Pool's
I/O Server process that has not
reached the maximum number N of
Drivers executing in it. If all Pool
processes reached their maximum
limit, this behavior then depends on
the number of processes in that Pool,
and if the number of Pool processes is
less than the maximum M, then a new
process is added to that Pool.
Otherwise, a Driver is added to the
process with less Drivers executing.
NOTE: In this mode, the maximum
number of Drivers per process (N) can
be surpassed in case the total number
of application Drivers exceeds N * M

NOTES
· When grouping Drivers in the same I/O Server process, the isolation among these Drivers is lost. This way, if one
of these Drivers fails, that I/O Server is then closed and all Drivers executing in that I/O Server must be restarted.
· There is a limit on the number of Drivers that can execute in an I/O Server process. This limit depends on several
variables, such as operating system in use, amount of memory, threads, and resources that each specific Driver is
using. Usually, users are not supposed to add more than 100 Drivers in a single I/O Server, because that may
exceed operating system's limits.

6.1.3 I/O Folder


I/O Folders define groups and subfolders to organize variables. Each I/O Folder can be renamed as needed and new
I/O Folders can be inserted inside one another. To use this resource, follow this procedure:
1. In Organizer, right-click an I/O Driver and select the Insert - New Folder option.

Drivers 174
Inserting a new I/O Folder

6.1.4 I/O Tag


I/O Tags enable reading or writing a set of values using an I/O Driver. They are used to define information exchange
with acquisition devices, which consists in one independent variable.
An I/O Tag can be an analog variable, an input, an output, a counter, or a digital point, among others. Several digital
points can be grouped in an I/O Tag and accessed by their properties, such as data bits. I/O Tags are configured by a
series of N parameters, from N1 to N4, which vary according to the I/O Driver used. To use this resource, follow these
procedures:
1. Right-click an I/O Driver and select the Insert - I/O Tag option.

175 Drivers
Inserting an I/O Tag
2. A window is opened asking for the number of I/O Tags to create in this I/O Driver, as well as their names. This
name is auto-incremented and if this option remains blank, I/O Tags are created with a default name.

Adding I/O Tags


In case a device in use to collect data informs I/O Tag values that need to be converted, users can use I/O Tag scales,
which are basically a specification of a linear conversion between two different bases.
To do so, users must enable I/O Tag's EnableScaling property and inform DeviceLow and DeviceHigh parameters, via
their respective properties, which are respectively low and high limits of a device's data, and also inform EULow and
EUHigh parameters, via their respective properties, which are low and high data limits in engineering units.
Some of this object properties can be configured directly on Properties List, without creating scripts for this. More
information on this object's properties functionality can be found on Elipse Power Reference and Scripts Manual, in
their respective chapter.

6.1.5 I/O Block


I/O Blocks are used to define information exchange with an acquisition device, which consist of one or more variables,
as long as they are consecutive in an addressing inside an external device.

Drivers 176
Depending on the communication method used, users can save time in communication, thus obtaining a larger number
of updates at the same time interval, when compared to an I/O Tag. I/O Blocks are configured using a series of B
parameters, from B1 to B4, which vary according to the I/O Driver used, along with the Size property, which defines the
number of I/o Block Elements or indexes available in an I/O Block. To use this resource, follow these procedures:
1. Right-click an I/O Driver and select the Insert - I/O Block option.

Inserting an I/O Block


2. The window on the next figure is opened asking for the number of I/O Blocks to create in this I/O Driver, as well as
their names. This name is auto-incremented and if this option remains blank, I/O Blocks are created with a default
name.

Adding I/O Blocks


3. The dialog box on the next figure is displayed to determine the number of I/O Block Elements in this object. In this
option, users can indicate a mapping for all I/O Block Elements in an I/O Block or in a given I/O Block Element's
interval.

177 Drivers
Configuring a new I/O Block
4. Inform a size for this I/O Block and its mapping options.
5. Click OK.
6. If necessary, configure this object's properties.

Some properties in I/O Blocks can be configured using Properties List, and there is no need to create scripts for this.
To configure any property, locate it on Properties List and perform the necessary adjustments. For more information
on properties, please check the Elipse Power Reference and Scripts Manual.

6.1.6 I/O Block Element


I/O Block Elements represent links for every position in an I/O Block to use as if they were I/O Tags. I/O Block
Elements can freely point to each index inside an I/O Block. There can be two I/O Block Elements pointing to the same
index in an I/O Block, and also to more, less, or the same number of I/o Block Elements as the number of variables
declared in an I/O Block. To use this resource, follow this procedure:
1. Right-click an I/O Block and select the Insert - I/O Element option.

Inserting an I/O Block Element


In case of a device used to collect data informs I/O Tag values that need to be converted, users can use I/O Tag scales,
which are basically a specification of a linear conversion between two different bases.

Drivers 178
To do so, users must enable I/O Block Element's EnableScaling property and inform DeviceLow and DeviceHigh
parameters, via their respective properties, which are respectively low and high limits of a device's data, and also
inform EULow and EUHigh parameters, via their respective properties, which are low and high data limits in engineering
units.
Some of this object properties can be configured directly on Properties List, without creating scripts for this. More
information on this object's properties functionality can be found on Elipse Power Reference and Scripts Manual, in
its respective chapter.

6.2 OPC Server


In addition to an OPC client (OPC Driver), Elipse Power also works as an OPC Server DA (Data Access) 2.0x. This allows
Elipse Power to expose all existing objects in the executing Domain (I/O Tags, for example) to applications external to
Elipse Power. Some examples are Elipse SCADA, Elipse Power, which can be executing on another application as a
client, or an OPC client from another manufacturer, as long as this client implements the OPC DA 2.0x standard or
later.

NOTE
Elipse Power's OPC Server is an additional module since version 3.0, and it needs a specific license on a protection
device. Please contact Elipse Software for more information.

6.2.1 Features
To use Elipse Power's OPC Server, there is no need to any extra configurations, just execute a Domain so that any OPC
client can communicate with Elipse Power. To connect to an Elipse Power's OPC Server from any client, select the
server identified as Elipse.OPCSvr.1.
An OPC Server allows any client to easily import all Tag definitions to a Domain (the Browse function). Of course, the
available Tags are just objects that are part of a server, that is, Screen items (Elipse Power Viewer) are not accessible
using an OPC Server.
Because it is based on the same linking technology used by internal links among objects, Elipse Power's OPC Server
allows clients to use Tags that are mathematical expressions, and with transparent connection or disconnection during
execution.

6.2.2 Status Information


By using status information (a default OPC functionality), an OPC client can identify whether an E3 Server is currently with
no Domain, is in Standby mode, or is executing normally. Possible values for OPC statuses are the following:
· OPC_STATUS_RUNNING: Domain executing normally
· OPC_STATUS_SUSPENDED: Domain in Standby mode
· OPC_STATUS_NOCONFIG: Domain stopped or no Domain

6.2.3 Disconnection
For OPC clients that support a shutdown feature, a warning is always sent whenever a Domain is stopped or is in
Standby mode. After that warning, all OPC clients are disconnected.

6.3 OPC Driver


An OPC Driver is a module responsible for collecting data from external devices executing an OPC Server, which can
be supplied by any manufacturer. Tags can be imported to an OPC Driver inside Elipse Power, which in this case works
as an OPC client, or even created in Elipse Power. To use an OPC Driver, follow this procedure:
1. Right-click a project's name in Explorer and select the Insert - OPC Client Driver option. In Domain mode, right-
click the Server Objects - Drivers and OPC item, select the Insert OPC Client Driver In option, and then a
project's name.

179 Drivers
Inserting an OPC Driver
When inserting an OPC Driver in an application in Elipse Power Studio, this object's View is opened, according to the
next figure.

OPC Driver's View


The available options on this View are described on the next table.
Available options for OPC Driver's View
OPTION DESCRIPTION
Add Adds a new OPC Tag Group to an OPC Driver, an OPC
Tag, OPC Block, or OPC Folder to an OPC Tag Group, or
an OPC Block Element to an OPC Block

Remove Removes the selected item from this View

Select Server Selects an OPC Server

Activate or Deactivate Communication Activates or deactivates communication with this OPC


Driver. The activation option is only available if the
ServerId property is configured

Import Tags Imports Tags to this OPC Driver

Information About Server Displays a window with this OPC Driver's settings

Tag Counting Displays the total number of OPC Tags in this OPC Driver

Drivers 180
NOTES
· The Activate or Deactivate Communication option implies in a sufficient number of licenses for all OPC Tags
and OPC Block Elements available in an OPC Driver. If there is no sufficient licenses for all Elements of an OPC Block,
the whole OPC Block does not communicate. Please check topic Licenses for more information about this behavior.
· The Tag Counting option takes into account the number of OPC Tags plus the number of OPC Block Elements
available in an OPC Driver.

6.3.1 Configuration
An identification for other objects belonging to an OPC Driver can be inserted manually, or else automatically retrieved
from an OPC Server. To do so, open a Driver's Properties Window, by right-clicking it and then selecting the OPC
Driver tab.

OPC Driver tab


Type an Address and a Server ID and then click Select. The window on the next figure is then displayed.

Selecting an OPC Server

181 Drivers
The available options on the OPC Server search options item are described on the next table.
Available options for OPC Server search options item
OPTION DESCRIPTION
Use standard and registry enumerators Elipse Power tries to search for Driver specifications,
(recommended) either via Windows Registry or via standard OPC
enumerator (OPCENUM)

Use only the standard enumerator (OPCENUM service) Elipse Power tries to search for Driver specifications only
via standard OPC enumerator (OPCENUM)

Use only the registry enumerator Elipse Power tries to search for Driver specifications only
via Windows Registry

By clicking OK, Elipse Power Studio displays Driver's data, indicating paths and server's name. To activate OPC Driver
communication, click Activate Communication.

Activating OPC Driver


communication
When communication is activated, the Server Information and Import Tags options are enabled, and also the
Deactivate Communication option. To use these options, right-click an OPC Driver and select the preferred option.

Drivers 182
Enabled options when an OPC
Driver is active
The Server Information option shows a window with Driver configurations.

OPC Server information


By using the Import Tags option, users can import Tags to an OPC Driver. When this option is selected, the dialog box
on the next figure is displayed.

183 Drivers
Message referring to OPC Tag import
The available options on this dialog box are the following:
· Yes: When locating OPC Tags, Elipse Power automatically tries to detect which Tags are Block Tags and, in this
case, how many Elements they have. To do so, Elipse Power needs to read each Element's value, and depending
on the server and on the number of Tags, this can be a time-consuming task
· No: Elipse Power does not try to read OPC Tag values when performing this search. This operation is quicker, but
it does not create Block-type OPC Tags and their Elements automatically
· Cancel: Cancels this import operation

The Import OPC Tags window provides all resources displayed on the next figure.

Importing OPC Tags


The available options on this window are described on the next table.
Available options for Import OPC Tags window
OPTION DESCRIPTION
Item names Filters Tags using the name of these specified items.
Users can use wild cards, such as * (asterisk) or ?
(question mark)

Data type Filters Tags using a data type specified in this field, which
can be Integer, Long, Single, etc.

Drivers 184
OPTION DESCRIPTION
Access type Filters Tags using an access type specified in this field,
which can be Read only, Write only, and Read and
Write

Show only items with IDs not found in the current Filters Tags so that this application only shows items with
project IDs not found in a project

Current project Shows selected objects to add to the current project

OPC Server Shows available Tags in a server for import

To import Tags, select a Tag and drag it to an OPC Driver or OPC Group. To deactivate OPC Driver communication,
click Deactivate Communication.
Some OPC Driver properties can be configured using Properties List, without creating scripts for this. To configure any
property, locate it on Properties List and perform the necessary adjustments. For more information, please check the
Elipse Power Reference and Scripts Manual.

6.3.1.1 Functionality
Communication of Elipse Power's OPC client with an OPC server is performed by a separate process. This process,
when an OPC Driver is activated in Elipse Power Studio, executes on the current user logged in Windows. At run time,
on the other hand, this process is executed on the SYSTEM account. Some OPC servers may be sensitive to the account
they are executing on and, for this reason, it may be necessary to reconfigure this process to execute on a specific
user. To do so, follow these procedures:
1. Go to Start - Control Panel - Administrative Tools - Component Services menu or type dcomcnfg on Windows
command prompt.
2. Expand the DCOM Config item in Component Services - Computers - My Computer, right-click the E3OpcClient
item and select the Properties option.
3. Select the Identity tab, select the This user item, and fill in the account information.
4. Click OK and restart the computer to apply these settings.

6.3.2 OPC Tag Group


An OPC Tag Group object gathers a series of OPC Tags that share the same update parameters (scan time and dead
band). An OPC Tag Group is mandatory to create OPC Tags. To insert an OPC Tag Group, follow this procedure:
1. Right-click an OPC Driver and select the Insert - OPC Tag Group option.

185 Drivers
Inserting an OPC Tag Group
Some OPC Tag Group properties can be configured using Properties List, without creating scripts for this. To configure
any property, locate it on Properties List and perform the necessary adjustments. For more information on properties,
please check the Elipse Power Reference and Scripts Manual.

6.3.3 OPC Folder


An OPC Folder defines groups or subfolders for a better organization of variables. Each OPC Folder can be renamed
as needed, and new Folders can be inserted inside one another. If an OPC Folder is disabled at run time, its whole
content is deactivated. To use this resource, follow this procedure:
1. Right-click an OPC Group and select the Insert - New Folder option.

Drivers 186
Inserting a new OPC Folder

6.3.4 OPC Tag


An OPC Tag is an object to read or write values from a device. A Tag reading is performed automatically by an OPC
Server, with a scan time defined by an OPC Group where it is inserted. To use this resource, follow these procedures:
1. Right-click an OPC Group and select the Insert - OPC Tag option.

Inserting an OPC Tag

187 Drivers
2. A window is opened asking for a number of Tags to create in this Group, as well as their names. This name is auto-
incremented and if this option remains blank, Tags are created with a default name.

Adding OPC Tags


Some OPC Tag properties can be configured using Properties List, without creating scripts for this. To configure any
property, locate it on Properties List and perform the necessary adjustments. For more information on properties,
please check the Elipse Power Reference and Scripts Manual.

6.3.5 OPC Block


An OPC Block allows reading or writing a set of values. For Tag writing, users must set a new value to Tag's Value
property. A Tag reading is performed automatically by an OPC Server, with a scan time defined on its OPC Group. The
Size property determines the number of Tag Elements on a server. To use this resource, follow these procedures:
1. Right-click an OPC Group and select the Insert - OPC Block option.

Inserting an OPC Block


2. A window is opened asking for a number of Blocks to create in this Group, as well as their names. This name is
auto-incremented and if this option remains blank, Blocks are created with a default name.

Drivers 188
Adding OPC Blocks
3. A dialog box is displayed to determine the number of Block Elements in this object. In this option, users can
indicate a mapping for all Elements in this Block or inside a given Elements' interval.

Configuring the new Block


4. Inform a Block size and its mapping options.
5. Click OK.
6. If necessary, configure this object's properties.

Some OPC Block properties can be configured using Properties List, without creating scripts for this. To configure any
property, locate it on Properties List and perform the necessary adjustments. For more information on properties,
please check the Elipse Power Reference and Scripts Manual.

6.3.6 OPC Block Element


An OPC Block Element allows reading or writing one of the Elements of an OPC Block where it is inserted.
An OPC Block reads a data table, and this object is always linked to a position defined by its Index property. For
example, an OPC Block Element with an Index equal to five and inserted into an OPC Block with a size of 10, whose
data is read as on the following table would have its Value property equal to three.

Table 5 12 77 55 1 3 42 20 8 89

Index 0 1 2 3 4 5 6 7 8 9

NOTE
Elipse Power can create OPC Block Elements automatically. For more details, please check the Import Tags item on
the Configuration topic.

To use this resource, follow this procedure:


1. Right-click an OPC Block and select the Insert - OPC Block Element option.

189 Drivers
Inserting an OPC Block Element
Some OPC Block Element properties can be configured using Properties List, without creating scripts for this. To
configure any property, locate it on Properties List and perform the necessary adjustments. For more information on
properties, please check the Elipse Power Reference and Scripts Manual.

6.4 OPC UA Driver


An OPC UA Driver implements a communication with an OPC UA server that implements historical and real-time
readings, such as EPM. This object can be used as a data source for a Query object. To insert an OPC UA Driver in a
project, right-click this project's name in Explorer mode and select the Insert - OPC UA Driver option. In Domain
mode, right-click the Server objects - Drivers and OPC item, select the Insert OPC UA Driver In option and then a
project's name.

Drivers 190
Inserting an OPC UA Driver in Domain mode
Some properties of an OPC UA Driver can be configured using Properties List, without creating scripts for this. To
configure a property, locate it on Properties List and perform the required adjustments. For more information, please
check the Elipse Power Reference and Scripts Manual.

6.4.1 Configuration
Configuring an OPC UA Driver is similar to configuring an OPC Driver. To configure it, right-click this object and select
the Select Server item.

191 Drivers
Select server option
The following window is then displayed, allowing to select an OPC UA server on a local machine or on a network.

Local and network OPC UA servers

Drivers 192
For each OPC UA server, locally or on a network, endpoints are enumerated, which can use different protocols and
security modes. In addition, for each endpoint a server can also support different ways of identifying and authenticating
users.
Currently, Elipse Power allows a connection only using the Binary TCP mode. For this mode, Elipse Power supports
security modes defined by the OPC UA standard, with several combinations of security policies. For authentication,
Elipse Power only supports Anonymous and User and Password modes.

NOTE
The OPC UA Servers window lists all protocols and security modes, for user information. However, only Elipse Power
compatible modes can be selected.

When selecting an Elipse Power compatible endpoint, the EndPointURL, SecurityMode, and SecurityPolicy properties of
this object are automatically filled in.
If the UserName and Password properties of this object are left blank, Elipse Power uses an anonymous connection with
a server. Otherwise, Elipse Power sends these property values to a server, which must support that type of
authentication on the selected endpoint.
In this object users can configure several time-outs for an OPC UA connection. These time-out limits (the TimeoutCall,
TimeoutConnection, and TimeoutSession properties) are always in milliseconds and they must be set according to
communication performance, which may be limited by a server, by a network, by machines executing a client and a
server, and even by operations performed on a client. These settings must be performed on a case-by-case basis and
these property values are only suggestions.
In Elipse Power Studio, communication with a Driver can be activated by selecting the Activate Communication
option on object's contextual menu. Activation is performed automatically by Query objects when selecting servers,
Tags, or when performing a visualization of query results on the Visualize tab.

NOTE
The Activate or Deactivate Communication option implies in a sufficient number of licenses for all OPC UA Tags
and OPC UA Block Elements available in an OPC UA Driver. If there is no sufficient licenses for all Elements of an OPC
UA Block, the whole OPC UA Block does not communicate. Please check topic Licenses for more information about
this behavior. The activate option is only available if the EndPointURL is configured.

Notice that to edit Driver properties it may be necessary to deactivate communication. If communication is active in
Elipse Power Studio, then users can open a window with information about the selected server (by selecting the
Information About Server option on object's contextual menu). In case a connection is not established, for any
reason, this window displays question marks instead of server information.

6.4.2 OPC UA Subscription


An OPC UA Subscription object groups OPC UA Tags that share a scan time (the Scan property) and the possibility of
enabling or disabling the reading of all items at once (the Enable property). The existence of an OPC UA Subscription
object is mandatory to create OPC UA Tags. To insert an OPC UA Subscription object, follow this procedure:
1. Right-click an OPC UA Driver and select the Insert - OPC UA Subscription option.

193 Drivers
Inserting an OPC UA Subscription
Some properties of an OPC UA Subscription can be configured using the Properties List, without creating scripts for
this. If users want to configure any property, locate it on the Properties List and perform the settings. For more
information, please check Elipse Power Reference and Scripts Manual.

6.4.3 OPC UA Folder


An OPC UA Folder object defines groups or subdirectories, for a better organization of variables. Each OPC UA Folder
can be renamed as needed, and new Folders can be inserted inside each others. At run time, if an OPC UA Folder is
disabled, all its content is deactivated. To use this resource, follow this procedure:
1. Right-click an OPC UA Subscription object and select the Insert - Folder option.

Drivers 194
Inserting an OPC UA Folder

6.4.4 OPC UA Tag


An OPC UA Tag object is an object used to read or write values from a device. A Tag reading is performed
automatically by an OPC UA server, with a scan time defined on the OPC UA Subscription in which it is inserted. To use
this resource, follow these procedures:
1. Right-click an OPC UA Subscription object and select the Insert - OPC UA Tag option.

Inserting an OPC UA Tag

195 Drivers
2. A window is opened asking how many Tags must be created on the Subscription, and their names. This name is
auto-incremented and, if this option is left blank, these Tags are created with a default name.

Configuring the number of


Tags
Some properties of an OPC UA Tag can be configured using the Properties List, without creating scripts for this. If
users want to configure any property, locate it on the Properties List and perform the settings. For more information,
please check Elipse Power Reference and Scripts Manual.

6.4.5 OPC UA Block


An OPC UA Block object enables reading or writing a set of values. To perform a writing, users must set a new value to
the Value property. Reading a Tag is performed automatically by the OPC UA server with a scan time defined on the
OPC UA Subscription. The Size property determines the number of Elements of a Tag in a server.

NOTE
In its current version, Elipse Power only allows mapping one-dimensional arrays to Blocks, although OPC UA standard
supports n-dimensional arrays as data types.

To use this resource, follow these procedures:


1. Right-click an OPC UA Subscription and select the Insert - OPC UA Block option.

Inserting a OPC UA Block


2. A dialog box opens to indicate how many Blocks must be created on the Subscription, and their names. This name
is auto-incremented and, if this option is left blank, those Blocks are created with a default name.

Drivers 196
Configuring the number of
Blocks
3. A dialog box opens to determine the number of Block Elements in this object. In this option, users can indicate a
mapping of all Block Elements or only of a certain interval of Elements.

Configuring an OPC UA Block


4. Inform a Block size and its mapping options.
5. Click OK.
6. If needed, configure this object's properties.

Some properties of an OPC UA Block can be configured using the Properties List, without creating scripts for this. If
users want to configure any property, locate it on the Properties List and perform the settings. For more information
please check Elipse Power Reference and Scripts Manual.

6.4.6 OPC UA Block Element


An OPC UA Block Element object enables reading or writing of one of the OPC UA Block Elements where it is inserted.
An OPC UA Block reads a data table, and this object is always linked to the position defined by its Index property. To
use this resource, follow this procedure:
1. Right-click an OPC UA Block and select the Insert - OPC UA Block Element option.

197 Drivers
Inserting an OPC UA Block Element
Some properties of an OPC UA Block Element can be configured using the Properties List, without creating scripts for
this. If users want to configure any property, locate it on the Properties List and perform the settings. For more
information, please check Elipse Power Reference and Scripts Manual.

6.4.7 Query Object


To configure a Query object to retrieve data from an OPC UA server using an OPC UA Driver, follow these procedures:
1. Select an OPC UA Driver on Query's Define Database Server window.

Selecting an OPC UA Driver


2. The following window is then displayed, allowing a Query configuration.

Drivers 198
Fields tab
The available options on Fields tab are described on the following table.
Available options on Fields tab
OPTION DESCRIPTION
Raw Data This Query returns data as stored on a server, similar to
Storage's CompressedDataStartEndTime query. In this
mode, only one Tag can be retrieved at a time, also
returning this value's quality

Processed Data This Query returns aggregated data inside a time


interval, similar to Storage's SampledData and
CalculatedData queries. In this mode, several Tags can
be retrieved at once, although not returning this value's
quality. Several aggregation functions can be used, such
as average, maximum, interpolation, etc. Different
functions can be used for each Tag and one Tag can
appear several times in a Query, with different
aggregation functions. Elipse Power only lists standard
functions, without searching for server's specific functions
or filtering functions not supported by a server. This
Query may fail when selecting a function not supported
by an OPC UA server

Add Field Adds one or more Tags from an OPC UA server

Remove Field Removes the selected Tag from this Query

Refresh Forces an update on OPC UA Node Identifier (NodeId)


values

Id Type of OPC UA Node Identifier (NodeId) on a server

Columns Path of a Tag on an OPC UA server

199 Drivers
OPTION DESCRIPTION
Title Name of a Tag on an OPC UA server

Function Function used on this Tag. This column is only available


when the Processed Data option is selected

When clicking Add Field , the following window is then displayed, allowing to select the existent Tags on a server.

Selecting OPC UA Tags


The Variables and Visualize tabs have the same behavior described on Query chapter.

6.4.8 Certificates
During Elipse Power installation, a certificate relative to this instance of an Elipse Power OPC UA client is installed. This
certificate is needed whenever using a connection with a server whose security mode, the SecurityMode property, is not
equal to None, that is, a secure OPC UA connection.
This certificate can be found on CertificateStore/certs folder of Elipse Power installation, as a file called Elipse E3 UA
Client [xxx].der, where xxx is a random-generated code.
If this certificate is deleted, a new one is automatically generated whenever an OPC UA Driver tries to establish a
connection with a server.

NOTES
· Deleting a certificate may imply in updating OPC UA servers with a new certificate, or else a secure connection with
Elipse Power client may be denied.
· This certificate corresponds to a client's instance, not to an Elipse Power's OPC UA client, that is, it CANNOT be
copied from one machine to another. Every installation has its unique certificate.
· Elipse Power's OPC UA client accepts any valid server certificate, that is, no configuration is needed for an Elipse
Power client to accept a certain instance of an OPC UA server.

6.4.9 Limitations on Reading Data Types


An Elipse Power OPC UA Driver supports basic data types and one-dimensional arrays, as well as a few types of
structures defined by the OPC UA standard. The following data types of scalar values and arrays are supported:
· Fully-supported data types: SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Float, Double, Boolean,
String, DateTime, and ByteString
· Supported data types with limitations: DataValue (ignores timestamp and quality), LocalizedText (ignores
locale), QualifiedName (ignores NamespaceIndex), StatusCode (converted to SCode or HRESULT), Guid
(converted to text), ArrayQualifiedName, ArrayLocalizedText, Structure, ArrayStructure, ArrayDataValue,
Unknown, and ArrayUnknown (do not allow writings on the current version of Elipse Power)
· Supported data types converted to one-dimension arrays with a fixed size: These data types are returned as
arrays of Variants, where each one of these fields is an array item. If a field is another object, Variant contains
another array, and so on. Supported data types are ServerDiagnosticsSummaryDataType,

Drivers 200
SubscriptionDiagnosticsDataType, SessionSecurityDiagnosticsDataType, SessionDiagnosticsDataType,
ApplicationDescription, Argument, BuildInfo, ServiceCounterDataType, ExpandedNodeId, NodeId,
ServerStatusDataType, EUInformation, Range, TimeZoneDataType, StatusResult, ComplexNumberType,
DoubleComplexNumberType, XVType, RedundantServerDataType, SamplingIntervalDiagnosticsDataType,
EnumValueType, NetworkGroupDataType, and EndpointUrlListDataType

NOTE
Structures defined by specific servers, not compatible with OPC UA standard, are not read by Elipse Power.

In query fields, the text of Tag paths follows OPC UA standard for relative paths. Components of this path are the
following:
· / (slash mark): Indicates any hierarchical reference
· . (period): Indicates any aggregation reference
· [ns:]browse-name: A String that follows a slash mark or period specifies a browse name of an item. This name
can be prefixed with its Namespace index. If omitted, assumes an index of 0 (zero)
· & (ampersand, escape character): Inserts a reserved character in place. For example, an expression "&/Name" is
replaced by "/Name". Reserved characters are the following:
· / (slash mark)
· . (period)
· < (less than)
· > (greater than)
· : (colon)
· # (number sign)
· ! (exclamation point)
· & (ampersand)

A formal definition of an OPC UA path, in BNF notation, is the following:


<relative-path> ::= <reference-type> <browse-name>
<reference-type> ::= '/' | '.' | '<' ['#'] ['!']
<browse-name> '>'
<browse-name> ::= [<namespace-index> ':'] <name>
<namespace-index> ::= <digit> [<digit>]
<digit> ::= '0' | '1' | '2' | '3' | '4' | '5'
| '6' | '7' | '8' | '9'
<name> ::= (<name-char> | '&' <reserved-char>)
[<name>]
<reserved-char> ::= '/' | '.' | '<' | '>' | ':'
| '#' | '!' | '&'
<name-char> ::= All valid characters for a String,
except reserved characters

Elipse Power does not support OPC UA Node Identifiers (NodeIds) that do not belong to a server where Tag
browsing is performed (Gateway servers). These Tags, therefore, are not displayed on a window for selecting servers.
In addition, paths are always hierarchical and only slash mark (/) and period (.) reference types are supported (the
<browse-name> type is not supported).

6.5 Quality
Quality fields represent a quality status of an item's value. They are formed by a 16-bit word, in which the first eight bits
are defined as three bit fields, Quality, Substatus, and Limit.
The other eight bits of higher order are available for each manufacturer's usage. If these bits are used, default quality
bits are still used to indicate which deductions could be performed on returned data. So, it is a client's responsibility to
interpret quality's specific information field, to ensure that a server providing this information uses the same rules as a
client.

201 Drivers
Available options in the Quality field
QUALITY QUALITY FIELD DESCRIPTION
0 - 63 Bad This value cannot be used for the
reasons indicated in the Substatus
field

64 - 127 Uncertain This value's quality is uncertain for the


reasons indicated in the Substatus
field

128 - 191 (Reserved) Not used by the OPC standard

192 - 255 Good This value's quality is good

A server that does not support information on quality always returns 192 (Good). It is also acceptable that a server
simply returns 0 or 192 (Bad or Good) and always returns 0 (zero) for Substatus and Limit.

6.5.1 Substatus Field


This field's layout depends on the Quality field.
Substatus for BAD Quality
SUBSTATUS DESCRIPTION LIMIT
NO LIMIT LOW HIGH CONSTANT
Non-specific This value is bad, 0 1 2 3
but no specific
reason is known

Configuration There is some 4 5 6 7


Error specific
configuration
problem in the
server. For
example, this
specific item could
be deleted

Not Connected Input must be 8 9 10 11


logically
connected to
something, but it
is not. This quality
may reflect that no
value is available
at this time,
because this value
could not be
provided by its
data source

Device Failure A device failure 12 13 14 15


was detected

Sensor Failure A sensor failure 16 17 18 19


was detected (the
Limit field may
provide additional
information)

Drivers 202
SUBSTATUS DESCRIPTION LIMIT
NO LIMIT LOW HIGH CONSTANT
Last Known Value Communication 20 21 22 23
failed. However,
the last known
value is available.
Notice that this
value's age may
be determined by
the Timestamp
property

Communication Communication 24 25 26 27
Failure failed. There is no
last known value
available

Out of Service Block is off scan, 28 29 30 31


or locked

N/A Not used 32 - 63

Substatus for UNCERTAIN quality


SUBSTATUS DESCRIPTION LIMIT
NO LIMIT LOW HIGH CONSTANT
Non-specific There is no 64 065 066 067
specific reason

Last Usable Value A device providing 68 069 070 071


this value stopped
doing so. The
returned value
must be
considered as old.
Notice that this
differs from a Bad
value with
Substatus 5 (last
known value). That
status is
associated
specifically with a
detectable
communication
error on a
retrieved value.
This error is
associated with a
failure of some
external source
that would insert
something into
this value within an
acceptable period
of time. Notice
that this value's
age can be
determined by the
Timestamp
property

203 Drivers
SUBSTATUS DESCRIPTION LIMIT
NO LIMIT LOW HIGH CONSTANT
N/A Not used 72 - 79

Sensor Not Either this value is 80 81 82 83


Accurate stuck at one of
sensor's limits (in
which case the
Limit field must
be set to 1 or 2)
or this sensor is
otherwise known
to be out of
calibration via
some internal
diagnosis (in which
case the Limit
field must be zero)

Engineering Unit The returned value 84 85 86 87


Exceeded is outside the
limits defined for
this parameter.
Notice that in this
case the Limits
field indicates
which limit was
exceeded, but
does not
necessarily imply
that this value
cannot move
outside the
specified range

Sub-Normal This value is 88 89 90 91


derived from
multiple sources
and there is a
number smaller
than required of
good sources

N/A Not used 92 - 127

NOTE
Servers that do not support Substatus must return 0 (zero).

Substatus for GOOD Quality


SUBSTATUS DESCRIPTION LIMIT
NO LIMIT LOW HIGH CONSTANT
Non-specific This value is good. 192 193 194 195
There are no
special conditions

N/A Not used 196 - 215

Drivers 204
SUBSTATUS DESCRIPTION LIMIT
NO LIMIT LOW HIGH CONSTANT
Local Override Typically indicates 216 217 218 219
that an input was
disconnected and
a manually-
entered value was
forced

N/A Not used 220 - 255

NOTE
Servers that do not support Substatus for good quality must return 0 (zero).

6.5.2 Limit Field


The Limit field is valid regardless of Quality and Substatus fields. In some cases, such as a failure on a sensor, it may
provide diagnosis information.
Limit Field
SPECIFICATION DESCRIPTION
Not Limited This value is free to move up or down

Low Limit This value is limited at some lower limit

High Limit This value is limited at some higher limit

Constant This value is a constant and cannot move up or down

NOTE
Servers that do not support the Limit field must return 0 (zero).

205 Drivers
CHAPTER
Frames
7
A Frame object is used to organize and structure a project's interface, creating composed views for users inside Elipse
Power Viewer's or a browser's main window. Many times, an application requires only a main Screen, which is the
doorway to an application. From then on, users can browse other Screens, which replace the first one, unifying the
process view. However, more than one view in the same document or the same project are supported. This is useful
when an application uses a Screen that never changes, or has little changes, such as a menu, and another part that is a
Screen's browsing area. To use this resource, follow the next procedure.
1. Right-click a project's name in Explorer and select the Insert - Frame option. In Domain mode, right-click the View
- Viewer and Frames item, select the Insert Frame in option, and then the project's name.

Inserting a Frame in Domain mode


Frames have subdivisions, called Splitters, which can be inserted or removed from a Frame by right-clicking the
Design tab of the object's view. Initially, a Frame has one main Splitter, which can be further subdivided either
horizontally or vertically into two or more Splitters, and so on.
For each new pair of Splitters created by the Split Horizontally and Split Vertically options, there is always a Main
Splitter and a Secondary Splitter. Only a Main Splitter have values that explicitly define its position, and a Secondary
Splitter gets the remaining value.
So, when a Splitter is subdivided horizontally, its SplitDockPosition property gets the dockTop value. Likewise, if a
subdivision is vertical, this property gets the dockLeft value. A Secondary Splitter's property then gets the
dockRemaining value, which means it occupies the remaining space.
The Organizer's object icons identify the exact position of every Splitter.
Splitter positioning options
OPTION DESCRIPTION
dockBottom This Splitter is below the parent Splitter

dockTop This Splitter is above the parent Splitter

dockLeft This Splitter is on the left of the parent Splitter

dockRight This Splitter is on the right of the parent Splitter

dockRemaining This Splitter occupies the remaining space after


positioning its sibling Splitter

Every Splitter corresponds to a view of a Screen or Frame of a process, or to a URL (Universal Resource Locator). To use
this resource, execute the next procedures.

Frames 206
1. Right-click an open Frame and select one of the options, Split Horizontally or Split Vertically, according to
Splitter's type.

Inserting a Horizontal or
Vertical Splitter
2. To remove a Splitter, right-click an open Frame and select the Delete option.
3. Users can invert a Splitter's original selection, that is, turn a Main Splitter into a Secondary Splitter and vice versa,
using the same menu. In a Main Splitter, right-click a Frame and select the Set as Secondary Splitter option. In a
Secondary Splitter, select the Set as Main Splitter option. Splitters' SplitDockPosition property is automatically
configured to reflect this change.
4. With the Select Screen or Frame option, users can select a Screen or Frame to link to Splitter's SplitLink property,
via AppBrowser.
5. Users can insert as many Splitters as needed in a Frame.

Frame Splitters
207 Frames
6. To configure Frame Splitters, right-click the Organizer on a Splitter and select the Properties option.

Frame configurations
The available options are described on the next table.
Available options for Frame tab
OPTION DESCRIPTION
Screen or Frame Determines either a Screen or a Frame to be opened by a
Splitter. It is only enabled if a Splitter has no children. This
option is equivalent to the SplitLink property

Zoom Determines the zoom level in which the selected Screen


or Frame opens

Screen Alignment Determines the alignment of the selected Screen or


Frame relative to the visible area

Placing Determines Splitter's position on a Frame. This option is


equivalent to the SplitDockPosition property

Enable scrollbar in Initial Screen Enables displaying a scroll bar on the selected Screen or
Frame

Value Determines the value to attribute to a Frame. It is only


visually effective if modified in a Main Splitter. This option
is equivalent to the SplitValue property

NOTES
· All Frame options that are available via contextual menu, by using the right mouse button, are also available by
using the shortcut key SHIFT + F10, which corresponds to the application or menu key .
· The Properties Window of a Frame can be opened by using the shortcut keys ALT + ENTER or ALT + Double-click.

Some Frame or Splitter properties can be configured via Properties List, with no need for creating scripts. To configure
any property, locate it on Properties List and perform the necessary adjustments. For further information, please check
the Elipse Power Reference and Scripts Manual.

Frames 208
CHAPTER
Viewer
8
The Viewer is an object performing application viewing. With it, users can view Screens at run time, as well as
manipulate the application. A Viewer can execute from anywhere on the network with access to an E3 Server. It is not
necessary to copy the application to other Viewers, because Screens and resources are downloaded at run time as
needed. There can only be one Viewer per Domain.

Viewer in Domain mode


To create a Viewer in a project, follow these procedures:
1. Check if there is already a Viewer in the Domain, or insert a new one by right-clicking the project's name in
Explorer mode, and then selecting the Insert - Viewer option. In Domain mode, right-click the View - Viewer and
Frames item, select the Insert Viewer in option, and then the project's name.

NOTES
· The drawing quality of Screens can be modified, at run time, by using Elipse Power Viewer's contextual menu and
then selecting one of the options of the Quality (All Screens) menu. For more information, please check Viewer's
RenderQuality property on Elipse Power Reference and Scripts Manual.
· The alignment of Screens relative to the visible area can be modified, at run time, by using Elipse Power Viewer's
contextual menu and then selecting one of the options of the Alignment (All Screens) menu. For more information,
please check Viewer's ScreenAlignment property on Elipse Power Reference and Scripts Manual.

8.1 Configuration
The Properties Window allows specifying Viewer configurations, communication errors, creating Links, or scripts.

NOTE
The Properties Window of a Viewer can be opened by using the shortcut keys ALT + ENTER or ALT + Double-click.

209 Viewer
8.1.1 E3 Viewer Tab
On E3 Viewer tab, users can configure Viewer's title, Screen, and zoom, as well as other properties, as explained next.

E3 Viewer tab
Each option on E3 Viewer tab has a corresponding property. The available options are described on the next table.
Available options for E3 Viewer tab
OPTION DESCRIPTION
Title Determines Viewer's title. This option is equivalent to
Viewer's Caption property

Initial Screen or Frame Determines Viewer's initial Screen or Frame. Click so


that Elipse Power Studio opens AppBrowser, where users
can select the initial view Screen. This option is equivalent
to Viewer's InitialScreen property

Zoom Determines Viewer's zoom level. By selecting one of its


options, users can configure how a Viewer is initialized.
This option is equivalent to the zoom parameter of
Viewer's InitialScreen property

Screen Alignment Determines the alignment of the Screen relative to the


visible area. This option is equivalent to Viewer's
ScreenAlignment property

Enable scrollbar in Initial Screen Enables a scroll bar on the Screen informed in the Initial
Screen or Frame option

Show Zoom menu when right-clicking Enables displaying a Zoom menu with a right-click, at run
time. This option is equivalent to Viewer's
AllowContextMenu property. NOTE: In applications earlier
than version 5.1, this property's behavior is configured in
the EnableZoomMenu property, which was deprecated

Keep Screens loaded on memory Enables Viewer to keep the loaded Screens in memory.
This option is equivalent to Viewer's CacheEnable property

Viewer 210
OPTION DESCRIPTION
Inactivity time (minutes) Defines the maximum time, in minutes, to wait for a mouse
or keyboard event for the inactivity period. This option is
equivalent to Viewer's EnableInactivity property

Number of retries for user/password confirmation Establishes the number of times the login dialog box is
displayed, in addition to the first time. This option is
equivalent to Viewer's LoginRetries property

KeyPad Specify options to use Elipse KeyPad. Please check topic


Elipse KeyPad for more information about this option

NOTE
Selecting a value in the Screen Alignment option forces that alignment on the Screen to open, regardless of the
configuration in the Screen's ScreenAlignment property, in Viewer's ScreenAlignment property, or the configuration
executed on Viewer's contextual menu at run time. On this contextual menu, no items on the Alignment (This Screen)
menu is selected. In case one of the items of this contextual menu is selected on the opened Screen, the selected item
overwrites the value used in this option. The Alignment (All Screens) submenu, on the other hand, has one of its
items selected, but that item is only effective if users explicitly select the Use Default item of the Alignment (This
Screen) menu.

8.1.2 Settings Tab


Using the Settings tab, users can configure Viewer's window, title, and resolution.

Settings tab
Each option on the Settings tab has a corresponding property. The available options are described on the next table.

211 Viewer
Available options for Settings tab
OPTION DESCRIPTION
Start maximized, minimized, or windowed Determines how a Viewer's window starts. This option is
equivalent to Viewer's WindowStyle property, and the
available options are 0 - Maximized: Screen starts
maximized, 1 - Windowed: Windowed style, that is,
Screen's height and width are configurable, or 2 -
Minimized: Screen starts maximized

Disable task switching Disables window switching. This option is equivalent to


Viewer's DisableTaskSwitching property. This option can
be modified at run time by using the Frame's
SetDisableTaskSwitching method

Title bar Enables a title bar. This option is equivalent to Viewer's


TitleBar property

Close button Enables a close button. This option is equivalent to


Viewer's CloseButton property

Minimize button Enables a minimize button. This option is equivalent to


Viewer's MinimizeButton property

Maximize button Enables a maximize button. This option is equivalent to


Viewer's MaximizeButton property

Border Enables a border around Viewer's window. This option is


equivalent to VIewer's WindowBorder property

Sizing border Indicates if the window can be resized. This option only
works if the Border option is selected. This option is
equivalent to Viewer's WindowResizable property

Move window Indicates if the window can be moved. This option is


equivalent to Viewer's WIndowMovable property

Always on top Indicates if the window must be always on top of other


windows. This option is equivalent to Viewer's
WindowStayOnTop property

Small titlebar Enables a small title bar on the window. This option only
works if the Title bar option is selected. This option is
equivalent to Viewer's WindowSmallTitle property

Viewer resolution Selects a Screen resolution. Possible values are 640 x 480,
800 x 600, 1024 x 768, 1280 x 1024, 1600 x 1200, or
Automatic (based on the computer's current resolution)

Advanced Opens a window for advanced settings, described next

By clicking Advanced, the following window then opens.

Viewer 212
Advanced settings
The available options for this window are described on the next table.
Available options for Advanced settings window
OPTION DESCRIPTION
Screen resolution in pixels Allows users to select from the current computer's
resolution, or from any other user-defined resolution, in
pixels, in Horizontal and Vertical options

Deduction on Screen resolution, in pixels Allows users to select the deduction on Screen's
resolution from the current computer settings, or from
any other user-defined settings, in pixels, in Horizontal
and Vertical options

Monitor resolution in dots per inch (DPI) Allows users to select from the current computer's
resolution, or a user-defined resolution, in dots per inch
(DPI), in Horizontal and Vertical options

8.1.3 Communication Errors Tab


On an Elipse Power Viewer, users can view Tag communication errors when they are linked to Displays or Setpoints.
This is possible by configuring information on the Communication errors tab, available on Viewer properties.

213 Viewer
Communication errors tab
The available options for this tab are described on the next table.
Available options for Communication errors tab
OPTION DESCRIPTION
View communication errors Enables or disables the visualization of communication
errors

Text Contains the text to be displayed in the Setpoint, in case


of a bad value quality

Font color Contains the color used in Setpoint's text

Background color Color for a Setpoint's background. It is equivalent to


change the Setpoint's ForegroundColor property, but this
change is not performed effectively, because the value of
a Setpoint's property is not changed

8.2 Variables in Viewer


In a Viewer object, users can create Links to objects from Screens, as well as use them via scripts. Users can also insert
Counter, Demo, Internal, and Timer Tags in Viewer, in addition to Viewer Folders and Queries. By using the
AppBrowser, users can perform the following actions:
· Access a Viewer or one of its child objects from a Screen or a Screen control (Links or scripts)
· Viewer's child objects can access other Viewer's children, or Viewer itself (Links or scripts)
· A Viewer can access its own child objects (Links or scripts)

It is important to notice that a Link to a Viewer must use its real name, such as "Viewer1", and not simply "Application".
In scripts, users can still use Application, which is a property of all objects returning a Viewer.

8.3 _top Object


Whenever a Viewer is inserted in a project, it then provides a child Frame. This child Frame is called _top. To use this
resource, follow these procedures:
1. Click on View - Viewer and Frames - Viewer item to display the _top Frame.

Viewer 214
_top object
2. To configure all properties of this _top object, right-click it and select the Properties option.
3. This object contains the same functionality of a Frame's Splitter, and this functionality is described on chapters
Screens and Frames.

8.4 Viewer Folder


A Viewer Folder defines groups inside Viewer objects to organize Viewer Tags (Counter, Demo, Internal, and Timer)
and Queries. If needed, new Folders can be inserted into other Folders. To use this feature, follow this procedure:
1. Right-click the View - Viewer and Frames - Viewer item and select the Insert - Panel - Viewer Folder option.

Inserting a Viewer Folder

215 Viewer
CHAPTER
PowerExplorer
9
PowerExplorer is a tool developed to facilitate interaction between native and graphical object's functionality,
providing information about Measurements, Commands, and Protections on a single window.
This window is accessible using Viewer's GetPowerExplorer (creation and configuration) and ShowPowerExplorer
(visualization) methods. The resulting window can be seen on the next figures.

Analog tab

Discrete tab

PowerExplorer 216
Commands tab
PowerExplorer lists, as options, all Commands registered on the device, by using the default description and the
Semantics configured in the Power Configuration to generate these options.
A validation is performed in the configuration of each Command, so that only the ones correctly configured are
displayed to users, already considering the existence of Interlocks in the Command Units.
When clicking Select, Operate, or Cancel on the Commands tab, it is possible to send Select, Operate, or Cancel
Commands, respectively, to the selected Command Unit.
When clicking Interlocks, a window opens with a list of all Interlocks of the selected Command Unit, displaying
information such as status, condition, and value of the Interlocks linked to the Command Unit.

Interlocks

217 PowerExplorer
Protections tab
PowerExplorer points to a device's structure or to a specific Protection, assembling a list with all Measurements
contained in every terminal and in the Measurements folder, displaying this information with the Measurement's
description, unit, and semantics.
In addition, it informs which one of the registered Sources is currently used as active. When the Source type is equal to
Operator, there is also an option to allow changing these values. To do so, users must select the Measurement value
to change and then press the F2 key, or else double-click the Measurement value to inform the new value.

Editing an Operator-type source


The PowerExplorer window lists, as options, all Commands registered in the device, using the default description and
semantics configured in Power Configuration to generate these options.
A validation is performed when configuring every Command, so that only the ones correctly configured are displayed
to users, already considering the existence of Interlocks on Command Units.
When clicking Legend, at the bottom of the window, a dialog box is displayed with legends for the colors of
Measurement's status, according to the next figure.

PowerExplorer 218
Legend of Measurement's status

219 PowerExplorer
CHAPTER
Screens and Screen Objects
10
Screens are windows for monitoring processes. On each Screen users can insert objects to compose the operator's
interface with the system, called Screen Objects. Each application can have an unlimited number of Screens and Screen
objects.

10.1 Screen
A Screen is the basic object for interfacing with users, and it can contain several objects. Graphics inserted on a Screen
can be deleted, copied, moved, resized, grouped, or configured.
To insert a new Screen in a project, right-click the project's name in Explorer mode and select the Insert - Screen
option. In Domain mode, right-click the View - Screens item, select the Insert Screen in option, and then a project's
name.

Inserting a Screen in Domain mode


Whenever a new Screen is created, or when the Fit to Splitter option is selected on an existing Screen, the window on
the next figure is displayed to configure its size.

Configuring the size of a Screen

Screens and Screen Objects 220


Available options for Configuring Screen size window
OPTION DESCRIPTION
Choose the Splitter where the Screen must be opened Allows selecting the Splitter where this Screen is opened.
The only Splitters listed here are the ones whose Screens
linked to the SplitLink property are visible at run time

Set as initial Splitter's Screen Sets this Screen as the initial Splitter's Screen

Name Determines the name of this Screen

Width (pixels) Determines the width of this Screen, in pixels

Height (pixels) Determines the height of this Screen, in pixels

The Width and Height options are initially filled in with the size a Screen must have to be displayed in the selected
Splitter, with no need for scroll bars. If any of these values is negative, this means the Splitter is not visible at run time,
according to Elipse Power Viewer's configuration and the size of other Splitters.
Elipse Power Studio contains an editor for all objects that can be inserted on a Screen. The available objects are Arc,
Curved Polygon, Display, Ellipse, Figure, Freehand, Line, Microsoft Forms, Polygon, Rectangle, Round Rectangle, Scale,
SetPoint, and Text. Microsoft Forms objects are discussed in chapter ActiveX and all other objects are presented in
this chapter.

Screen
Users can configure Screen properties to determine size, color, and other behavior and appearance aspects, in
addition to many types of events. This object's standard measurement and coordinate system uses Himetric units, given
as 1/100 mm, and not in pixels.
All Screen properties can be configured via Properties List, with no need for creating scripts for that. To configure any
property, locate it on the Properties List and perform the necessary adjustments.

NOTES
· The drawing quality of a Screen can be modified, at run time, by using Elipse Power Viewer's contextual menu and
selecting one of the options of the Quality (This Screen) menu. For more information, please check Screen's
RenderQuality property on Elipse Power Reference and Scripts Manual.
· The alignment of a Screen relative to the visible area can be modified, at run time, by using Elipse Power Viewer's
contextual menu and selecting one of the options of the Alignment (This Screen) menu. For more information,
please check Screen's ScreenAlignment property on Elipse Power Reference and Scripts Manual.

221 Screens and Screen Objects


10.2 Toolbar
A Screen's Toolbar contains options that allow users to execute certain tasks quickly without using menus, such as
adding a Command Button. The next table contains the available options on a Screen's toolbar.
Available options on the toolbar of a Screen
OPTION DESCRIPTION
Select Enables a selection mode

Pan Enables using the pan feature on a Screen. NOTE: At run


time, this option is available only if a Screen's
ScreenAlignment property is defined as paCenter

Area Zoom Allows applying a zoom to a specific area of a Screen. To


do so, left-click the initial point and drag the mouse to
the final point. NOTE: At run time, this option is available
using the shortcut key CTRL + SHIFT + Left mouse button,
but only if a Screen's ScreenAlignment property is
configured as paCenter

Fit Toggles between resizing the Screen to fit in the visible


area and restoring the previous zoom level and scroll bar
position (CTRL + 5 or CTRL + CLEAR)

Rotate Enables a rotation mode

Tab Order Shows an identification for a browsing order among


objects

Edit Connection Points Allows editing connection points among objects. This
option is only enabled in XControl objects

Bring to Front Brings an object to the front inside a group (ALT +


HOME)

Send to Back Sends an object to the back inside a group (ALT + END)

Bring Forward Brings an object forward inside a group (ALT + PAGE UP)

Send Backward Sends an object backward inside a group (ALT + PAGE


DOWN)

Zoom Allows editing the level of zoom of a Screen

Layers Allows editing the layers of objects on a Screen

E3Alarm Inserts an E3Alarm-type object

E3Browser Inserts an E3Browser-type object

E3Chart Inserts an E3Chart-type object

Playback Inserts an E3Playback-type object

Line Inserts a Line-type object

Connector Inserts a Connector-type object

Rectangle Inserts a Rectangle-type object

Round Rectangle Inserts a Round Rectangle-type object

Ellipse Inserts an Ellipse-type object

Arc Inserts an Arc-type object

Freehand Inserts a Freehand-type object

Polygon Inserts a Polygon-type object

Curved Polygon Inserts a Curved Polygon-type object

Text Inserts a Text-type object

Screens and Screen Objects 222


OPTION DESCRIPTION
Display Inserts a Display-type object

SetPoint Inserts a SetPoint-type object

Picture Inserts a Picture-type object

Scale Inserts a Scale-type object

Group Groups a selection of objects

Ungroup Ungroups a selection of objects

Linear Slider Inserts a tool for linear sliding

Rotation Slider Inserts a tool for rotation sliding

Check Box Inserts a Check Box-type object

Option Button Inserts an Option Button-type object

Combo Box Inserts a Combo Box-type object

Command Button Inserts a Command Button-type object

Label Inserts a Label-type object

List Box Inserts a List Box-type object

Scroll Bar Inserts a Scroll Bar-type object

Spin Button Inserts a SpinButton-type object

Text Box Inserts a TextBox-type object

Toggle Button Inserts a Toggle Button-type object

Align Left Aligns two or more objects to each other, using as


reference the left coordinate of the last selected object

Align Right Aligns two or more objects to each other, using as


reference the right coordinate of the last selected object

Align Top Aligns two or more objects to each other, using as


reference the top coordinate of the last selected object

Align Bottom Aligns two or more objects to each other, using as


reference the bottom coordinate of the last selected
object

Align Horizontal Center Aligns two or more objects horizontally by the center to
each other, using as reference the last selected object

Align Vertical Center Aligns two or more objects vertically by the center to
each other, using as reference the last selected object

Same Width Applies the width of the last selected object to all other
selected objects

Same Height Applies the height of the last selected object to all other
selected objects

Same Size Applies the width and height of the last selected object to
all other selected objects

Center Horizontally Centers an object on a Screen, according to its horizontal


coordinates

Center Vertically Centers an object on a Screen, according to its vertical


coordinates

Space Across Applies the same horizontal distance to three or more


objects to each other

223 Screens and Screen Objects


OPTION DESCRIPTION
Space Down Applies the same vertical distance to three or more
objects to each other

Flip Horizontally Applies a horizontal reflection effect to the selected


objects

Flip Vertically Applies a vertical reflection effect to the selected objects

Grid Shows or hides the grid

Edit Grid Allows editing grid properties

Background Color Allows selecting a background color for a Screen or for a


Screen object from a list of pre-defined colors or create
a new custom color

Foreground Color Allows selecting a foreground color for a Screen or for a


Screen object from a list of pre-defined colors or create
a new custom color

Border Color Allows selecting a border color for a Screen object from
a list of pre-defined colors or create a new custom color

Border Style Allows selecting the type of border displayed by a Screen


object from a list of pre-defined styles. Possible values
for this option are Normal, Dash, Dot, DashDot,
DashDotDot, or No Border

Border Thickness Allows selecting a thickness for the border line of a


Screen object from a list of pre-defined thicknesses
between 0 (zero) and 2.5 millimeters

Fill Style Allows selecting a fill type displayed by a Screen or by a


Screen object, that is, how a match is performed between
background and foreground colors of an object

Object Shadow Applies a shadow to an object

Move Shadow Up Moves an object's shadow up

Move Shadow Down Moves an object's shadow down

Move Shadow Left Moves an object's shadow to the left

Move Shadow Right Moves an object's shadow to the right

Shadow Color Selects an object's shadow color

Font Determines a text's font

Font Size Determines a size for a text's font

Font Color Determines a color for a text's font

Bold Formats a text in bold

Italic Formats a text in italic

Underlined Formats a text in underline

Align Left Aligns a text to the left margin

Align to Center Aligns a text to the center

Align Right Aligns a text to the right margin

Refresh Domain and Run Viewer from Current Screen Refreshes the Domain, executes Elipse Power Viewer,
and displays the current Screen. This option is only
available if a Domain is executing, that is, after using the
Runs or Stops Domain option on the Default toolbar

Screens and Screen Objects 224


10.3 Screen Objects
The following objects can be inserted on a Screen:
· Primitives from the Graphic Editor (Lines, Circles, Rectangles, Polygons, etc.)
· ActiveX controls supplied by Elipse Software (E3Alarm, E3Browser, E3Chart, and E3Playback)
· ActiveX controls supplied by a third-party
· Non-vectorial images (BMP, JPG, GIF files, etc.)
· Vectorial images (WMF, EMF files, etc.)
· Default Windows controls (List, Combo Box, Scroll bar, etc.)
· ElipseX objects composed by any of the previous objects
· Viewer Folders, Queries, Counter, Demo, Internal, and Timer Tags

The primitives from the graphic editor available in Elipse Power Studio are listed on the next topics. They can be freely
rotated or resized, except for the Picture object. After creation, each object remains selected to edit its properties, if
needed.

10.3.1 Arc
Allows drawing arc-, cord-, or pie-shaped objects. To use this object, follow these procedures:
1. Select the Arc option on the toolbar of a Screen.
2. Click the Screen to establish the object's initial point then drag the mouse diagonally until the object reaches the
desired size and position.
3. In the two cutting edges, there are two points that indicate the object's angle. Drag them to open or close the
angle.
4. The initial style of the object is a pie. To change it to an arc or cord, go to the ArcStyle property on Properties List.

10.3.2 Connector
This object is used to connect two or more Screen objects by using a line. Screen objects that can be connected are
Arc, Curved Polygon, Ellipse, Freehand, Polygon, Rectangle, and Round Rectangle. When clicking the Connector
option on the toolbar of a Screen, the objects previously cited display their Connection Points, as in the next figure.

Connection Points of Screen objects


To connect two objects, click one of the Connection Points of the first object and then click one of the Connection Points
of the second one. When moving the mouse pointer over a Connection Point, its icon changes from to , indicating
which Point must be connected.
After creating a Connector, users can also disconnect its vertexes. To do so, drag the vertex away from the object's
Connection Point. To reconnect it, drag it near to a Connection Point until its icon changes to .
To create a connection among two or more Connection Points, keep the CTRL key pressed while selecting all Points.
To exclude a Connector, select it and press the DELETE key. If an object with a Connector is excluded, the Connector is
not excluded.
For information about Connectors inside XControls, please check the next topic.

10.3.2.1 Connectors in XControls


Connectors in Screen objects created inside XControls must have their Connection Points defined previously, by clicking
Edit Connection Points on the toolbar of a Screen. When selecting this tool and clicking a Connection Point, the
window on the next figure is then displayed.

225 Screens and Screen Objects


New Connection Point window
The available options on this window are described on the following table.
Available options on the New Connection Point window
OPTION DESCRIPTION
Connection Point name Allows defining a name for this Connection Point

Connected to Shows to which Connection Point of the Screen object the


XControl's Connection Point is connected

Use as object's "Anchor Point" Selects this Connection Point as the object's anchor point.
This anchor point can be changed when the XControl is
inserted on a Screen. Please check topic Anchor Point
for more information

To remove or edit a previously created Point, right-click this Point and select the Remove Connection Point or Edit
Connection Point options, according to the next figure. A Connection Point can also be excluded by clicking it with the
CTRL key pressed.

Removing or editing a Connection Point


If there is no Connection Point defined for Screen objects inserted in an XControl, there is no way to connect this
XControl to any other Screen object, when it is inserted on a Screen.

10.3.3 Curved Polygon


Allows drawing curved-sized polygons. To use this object, follow these procedures:
1. Select the Curved Polygon option on the toolbar of a Screen.
2. Click the Screen to establish the object's initial vertex and then drag the mouse in any direction as many times as
necessary to complete the drawing.
3. If users want to change the drawing direction, click it. To finish the drawing, double-click it.

10.3.4 Display
Allows creating an object that displays Tag values at run time. To use this object, follow these procedures:
1. Select the Display option on the toolbar of a Screen.
2. Click the Screen to create the object's origin vertex then drag the mouse diagonally to its final vertex.
3. Right-click the object to open its Properties Window. On the Item tab, select the Tag to link to the Display's Value
property.

Screens and Screen Objects 226


10.3.5 Ellipse
Allows drawing circles and ellipses. To use this object, follow these procedures:
1. Select the Ellipse option on the toolbar of a Screen.
2. Click the Screen to establish the object's initial point then drag the mouse diagonally until the object reaches the
desired size and position.

10.3.6 Freehand
Allows creating freehand drawings. To use this object, follow these procedures:
1. Select the Freehand option on the toolbar of a Screen.
2. Click the Screen to establish the object's initial vertex and then drag the mouse in any direction as many times as
necessary to complete the drawing.

10.3.7 Graphical Library


A graphical library is provided together with Elipse Power. This library contains all devices to use when creating
Screens, and it is capable of interacting with data objects. These objects contain information about the structure of
individual data objects, thus exploring various device's features.

10.3.7.1 General Parameters


Each Screen object contains different features and functionality that must be configured. Default properties are
described on the next table.
Default properties of Screen objects
PROPERTY DESCRIPTION
SourceObject A connection to the corresponding object configured on
a data server

Orientation Changes a device's rotation. The available options are 0:


Terminal 1 pointing to the right, 1: Terminal 1 pointing up,
2: Terminal 1 pointing to the left, or 3: Terminal 1 pointing
down. NOTE: Some devices may not display some of
these options

ShortNameColor Information on the color used in a device's name

ShowTerminalConnector Shows the Connector in a device's terminals

ShowShortName Shows the value of a device's ShortName property on a


Screen object

10.3.7.2 Devices
To insert any device, right-click anywhere on a Screen, select the Insert - powercontrols option, and then the desired
device.

10.3.7.2.1 Breaker
Connects to a Breaker-type device and informs its position, on or off, using colors and with a different graphical
position. In addition, it indicates the energized or de-energized status of terminals.

10.3.7.2.2 Bus Bar


Connects to a Bus Bar-type device and informs whether Terminal 1 is energized or not.

10.3.7.2.3 Capacitor
Connects to a Capacitor-type device and informs whether Terminal 1 is energized or not.

10.3.7.2.4 Distribution Load


Connects to a Distribution Load-type device and informs whether Terminal 1 is energized or not. In addition, it
informs the loading process of a load, by considering its nominal and apparent power in real-time.

227 Screens and Screen Objects


10.3.7.2.5 Distribution Transformer
Connects to a Distribution Transformer-type and informs whether Terminals 1 and 2 are energized or not. Also
informs whether a Distribution Transformer contains a tap and its position.

10.3.7.2.6 Generator
Connects to a Generator-type device and informs whether Terminal 1 is energized or not.

10.3.7.2.7 Inverter
Connects to an Inverter-type device.

10.3.7.2.8 Junction Box


Connects to a Junction Box-type device.

10.3.7.2.9 Line
There are two options for a connection among Elipse Power's graphical devices:
· EquivLine: Connects to a Terminal of any device and extracts its status, energized or not, and the active power.
With this information, it can animate that line and show the direction of power flow. This control contains a yellow
dot that must be pointing to the Terminal to which it is connected
· Connector: Connects directly to the property that provides the status of a device's Terminal, animating this line's
color. In addition, it connects to the graphical object and always moves with the device

10.3.7.2.10 Photovoltaic Array


Connects to a Photovoltaic Array-type device.

10.3.7.2.11 Reactor
Connects to a Reactor-type device and informs whether Terminal 1 is energized or not.

10.3.7.2.12 Substation Load


Connects to a Load-type device and informs whether Terminal 1 is energized or not.

10.3.7.2.13 Switch
Connects to a Switch-type device and informs its position, on or off, using colors and with a different graphical
position. In addition, it indicates the energized or de-energized status of Terminals.

10.3.7.2.14 Two and Three Winding Transformers


Connects to a Two-Winding Transformer-type or Three-Winding Transformer-type device and informs whether
Terminals 1, 2, or 3 are energized. It also informs whether that Transformer contains a tap and its position.

10.3.7.2.15 Weather Station


Connects to a Weather Station-type device.

10.3.7.2.16 Wind Turbine


Connects to a Wind Turbine-type device and informs whether Terminal 1 is energized or not.

10.3.7.3 PowerDisplay
A PowerDisplay object connects to an analog meter and extracts all information from its Measurement, such as value,
unit, and active source, among others. This object can connect to a specific Measurement Source or to the one
currently used as active.

10.3.7.3.1 Settings
A PowerDisplay object contains all settings described on the next table.

Screens and Screen Objects 228


PowerDisplay properties
PROPERTY DESCRIPTION
Measurement Connection with a Measurement to monitor

MeasurementSource Measurement Source used by this object:


· 0: Active Source
· 1: SCADA
· 2: Operator
· 3: Control Center
· 4: Billing
· 5: Calculated
· 6: Database
· 100: Topological Processor
· 101: Power Flow
· 102: State Estimator
· 103: Load Shedding
· 104: Distribution Load Modelling
· 105: Self-Healing
· 106: External Reader

Format Configures a format to use, allowing both integers and


decimal places

BorderStyle Determines a border style to apply to this object:


· 0: Normal
· 1: Dash
· 2: Dot
· 3: Dash, dot
· 4: Dash, dot, dot
· 5: Null

BorderColor Determines a border color to apply to this object

10.3.7.3.2 Visual Information


A PowerDisplay shows Measurement's value, respecting the selected format and Measurement's Source, as well as the
configured unit and prefix.

PowerDisplay
Graphically informs to which Measurement Source the PowerDisplay is currently connected (displayed as a tip over this
object):
· SCADA
· Operator
· Control Center
· Billing
· Calculated
· Database
· Topology Processor
· Power Flow
· State Estimator
· Load Shedding
· Distribution Load Modelling

229 Screens and Screen Objects


· Self-Healing
· External Reader

NOTE
When the icon appears on the left side of this object, this means that it is not connected to the Measurement
configured as device's Active Power Measurement (the ActiveSource property of Analog and Discrete
Measurements).

10.3.7.3.3 Operations
This object allows changing, at run time, the Source to which a PowerDisplay is currently connected, allowing users to
view the value of other Sources configured in a Measurement. To do so, click the control to display its contextual menu
and select the Measurement Source option to display a list of all available Sources. The first Source on this list is the
active Source and the current active Source is informed between parentheses. Notice that this control only shows
Sources available in a device. This functionality only shows the value of other Measurement Sources, not changing any
settings in data objects.

Measurement Sources
Select a Measurement Source to display it on the PowerDisplay.
When the configured Source's type is Operator, the Manual entry of values option is enabled. By selecting this option,
a new screen opens and users can change the value of this Source.

10.3.8 Line
Allows drawing straight lines, connecting two specified points during its creation. To use this object, follow these
procedures:
1. Select the Line option on the toolbar of a Screen.
2. Click the Screen to create the Line's origin and then drag the mouse until its desired final point.

10.3.9 Picture
This object allows displaying pictures stored in files, which may or may not belong to an application. A Picture can be
freely resized, but rotation and animation are only effective when working with a metafile converted to a symbol. The
following file formats are supported: Bitmap (.bmp), Graphics Interchange Format (.gif), Joint Photographic Experts Group
(.jpg), ICO File Format (.ico), Windows Metafile (.wmf), Enhanced Metafile (.emf), Portable Network Graphics (.png), and
Tagged Image File Format (.tif). To use this object, follow these procedures:
1. Select the Picture option on the toolbar of a Screen.
2. Click a Screen to create this object's origin vertex and drag the mouse pointer diagonally to its final vertex.
3. Elipse Power Studio opens a dialog box to select an image file, according to the next figure.

Screens and Screen Objects 230


Selecting an image file
4. Select a file and click Open to insert that picture on this Screen.

10.3.10 Polygon
Allows drawing straight-sized polygons. To use this object, follow these procedures:
1. Select the Polygon option on the toolbar of a Screen.
2. Click the Screen to establish the object's initial vertex and then drag the mouse in any direction as many times as
necessary to complete the drawing.
3. If users want to change the drawing direction, click it. To finish the drawing, double-click it.

10.3.11 Rectangle
Allows drawing rectangles, created from two vertexes. To use this object, follow these procedures:
1. Select the Rectangle option on the toolbar of a Screen.
2. Click the Screen to create the Rectangle's origin vertex then drag the mouse diagonally to its final vertex, until the
object reaches the desired size and position.

10.3.12 Round Rectangle


Allows drawing rectangles with rounded corners, created from two vertexes. To use this object, follow these
procedures:
1. Select the Round Rectangle option on the toolbar of a Screen.
2. Click the Screen to create the rectangle's origin vertex then drag the mouse diagonally to its final vertex, until the
object reaches the desired size and position.
3. On the object's upper left corner, there is a dot responsible for the rectangle's rounding factor. Drag it to its center
or to its edge to determine the curve of its vertexes.

10.3.13 Scale
Allows creating an object that draws rulers or scales of values. To use this object, follow these procedures:
1. Select the Scale option on the toolbar of a Screen.
2. Click the Screen to create the object's origin vertex then drag the mouse diagonally to its final vertex.

231 Screens and Screen Objects


10.3.14 SetPoint
This object works as an edit box in which contents are inserted to be attributed to associated Tags. To use this object,
follow these procedures:
1. Select the SetPoint option on the toolbar of a Screen.
2. Click the Screen to create the object's origin vertex then drag the mouse diagonally to its final vertex.
3. Right-click the object to open its Properties Window. On the Item tab, select the Tag to link to the SetPoint's Value
property.

10.3.15 Text
Allows creating a text to display on a Screen. To use this object, follow these procedures:
1. Select the Text option on the toolbar of a Screen.
2. Type the desired text and then press ENTER.
3. To change or type a text in this object, use its Value property.

10.4 General Configurations


Configurations on the next topics can be applied to a Screen or to its objects.

NOTE
· All options of a Screen and of Screen objects that are available via contextual menu (by using the right mouse
button) are also available by using the shortcut key SHIFT + F10, which corresponds to the application or menu key
.
· The Properties Window of Screens and Screen objects can be opened by using the shortcut keys ALT + ENTER or
ALT + Double-click.

10.4.1 Alignment
Allows users to align Screen objects among them or relative to a Screen. The available options for alignment are
described on the table Available options on the toolbar of a Screen.

NOTES
· The Horizontal Flip and Vertical Flip options have the following behavior:
· For multiple selections, each one of the objects is individually flipped
· The status of the buttons (pressed or not) changes according to the vertical or horizontal flipping of the objects,
but only if the reflection status is the same for all selected objects
· Buttons are disabled if the Screen is selected, or if there is no object selected
· Screen objects can be adjusted to the nearest pixel, which is known as a Snap to Pixel effect, by using the shortcut
key CTRL + Spacebar.

10.4.2 Anchor Point


An Anchor Point defines the coordinates that mark the starting point of an object. The anchor point is initially linked to
the object's coordinates.
To enable this option, right-click the object and select the Define Anchor Point option. The object then appears with
an icon next to it, from where it can be moved to any place on the Screen. When dragging the object with the new
anchor, the point that was defined is fixed to the grid points, and the object is displaced with the same proportions
relative to the anchor. This is viewed only if the Snap to Grid (Grid properties) option is enabled.

Screens and Screen Objects 232


Object with an
anchor point
NOTE
When using the shortcut key CTRL + Spacebar (the Snap to Pixel effect) on an object with its Define Anchor Point
option enabled, the object is then moved to the nearest pixel, disregarding the position of the anchor point. In case
of moving an object using the mouse, then the anchor point is positioned right on a pixel. To correct any
discrepancies in the object positioning, the shortcut key CTRL + Spacebar can be used right after releasing the mouse
button.

10.4.3 Animation
A feature that applies movement to an object at run time, which is available on the toolbar of a Screen. The available
types of movements are described next.

Linear Slider
The object receiving this feature performs linear movements according to the configuration of that object's properties.
To enable this option, follow these procedures:
1. Select an object on Screen and click Linear Slider .
2. With the mouse pointer, enable this object's orientation configurations.

Linear Slider
Rotation Slider
The object receiving this feature performs circular movements according to that object's rotation center and its angle.
To enable this option, follow these procedures:
1. Select an object on Screen and click Rotation Slider .
2. When the object is created, its default rotation center is defined as its center, with a 0 (zero) degree horizontal
inclination relative to that center. At that time, the vertexes of the selected object are indicated by small circles and
its center by two circumscribed circles.
3. When moving the mouse pointer over the center or vertexes, users can change the center by dragging or rotating
the object from one of its vertexes relative to the center.

233 Screens and Screen Objects


Rotation Slider

NOTE
For Picture-type Screen objects using the Bitmap file format, that is, files with a .bmp extension, the animation feature
is not available.

10.4.4 Apply Style


Applies the style configured as default in the Set Default Style option to previously created objects. To use this
resource, follow these procedures:
1. Select the object to which the default style must be applied.
2. Right-click it and select the Apply Style option.

10.4.5 Draw
Allows applying or editing information about background and foreground colors for Screens and Screen objects, and
information about borders for Screen objects. To use this resource, follow these procedures:
1. Insert or select an object, Screen or Screen object, with colors or borders to edit.
2. Change its properties according to the options available on the toolbar of a Screen.

The available options on this toolbar are described on the table Available options on the toolbar of a Screen. When
selecting the Fill Style option, the window displayed on the next figure is then opened.

Fill effects
The available options for this window are described on the next table.

Screens and Screen Objects 234


Available options for the Fill window
OPTION DESCRIPTION
Styles Shows all possible fill styles available for the selected
object

Foreground Color Shows the previously selected foreground color. It also


allows selecting a new color, which is equivalent of clicking

Background Color Shows the previously selected background color. It also


allows selecting a new color, which is equivalent of clicking

Sample Shows how the selected effect is applied to an object's


background and foreground colors

Opaque or Transparent When selecting the Transparent option, the gradient styles
with hatching effects do not display the object's
background color, only its foreground color, thus creating
a transparent effect in the object. By selecting the Opaque
option, this effect does not happen. NOTE: The
Transparent option is disabled for Screens

10.4.6 Fit
The Fit option allows toggling between two commands. The first command resizes the Screen to fit in the visible
area and the second command restores the previous zoom level and scroll bar position.

NOTE
This toggling is lost in the following cases:
· When moving a Screen's scroll bar
· When changing a Screen's zoom mode
· When changing a Screen's alignment mode at run time
· When changing a Screen's useful visible area

To keep the fitting of a Screen to the visible area, use the Full Screen option on the Zoom menu.

10.4.7 Grid
A set of horizontal and vertical lines that work as a reference for placing objects on a Screen. A grid is only viewed in
Elipse Power Studio, and not at run time.
In Elipse Power Studio, users can show or hide the grid via the Arrange - Grid menu or by clicking Grid on the
toolbar of a Screen.
Grid properties can be configured via the Arrange - Edit Grid menu or by selecting the Edit Grid option on the
toolbar of a Screen. When this option is selected, the following dialog box is displayed.

235 Screens and Screen Objects


Grid Properties window
The available options on this window are described on the next table.
Available options for Grid Properties window
OPTION DESCRIPTION
Dots Shows dots only at grid line intersections

Dotted lines Shows the whole grid line dotted

Snap to grid Aligns the mouse pointer to the grid line automatically

Height Determines the distance between horizontal grid lines, in


Himetric units

Width Determines the distance between vertical grid lines, in


Himetric units

Color Determines a color for grid lines

10.4.8 Group or Ungroup


Allows grouping more than one object into a single one, with specific properties. To use this feature, follow these
procedures:
1. Select on Screen the objects that are going to be part of the group.
2. Click Group to create a new object. This operation can be performed in cascade, and a group can contain any
objects, including other groups.
3. To undo this action, click Ungroup .
4. To edit an object contained in a group, right-click the object and then select the Edit Group option.

NOTES
· Users can adjust objects inside a group to the nearest pixel, which is known as a Snap to Pixel effect, by using the
shortcut key CTRL + Spacebar. In this case, that effect is applied to every object inside the group, and it can be
undone by using the shortcut key CTRL + Z.
· To leave the edition mode of a group of Screen objects, double-click the Screen's area outside the group.

10.4.9 Layers
Elipse Power offers a Screen architecture with up to 32 layers to insert objects. Each object can belong to one or more
layers, and the active Screen both in configuration time (in Elipse Power Studio) and at run time (in Elipse Power
Viewer) may have none, one, several, or all layers active. This allows the creation of applications with several forms of
monitoring, such as viewing a process only with its electrical system, only with its hydraulic system, or both. Users can
also control the appearance of layers depending on a certain level of zoom. The layer configuration is performed by
clicking Layers on the toolbar of a Screen. The available options are described on the next table.

Screens and Screen Objects 236


Available options for Layer configuration
OPTION DESCRIPTION
Layer Enables viewing the layer configured in the Screen's
Layer property

All Layers Shows all layers available in the project

No Layers No layer is shown

Edit Layers By using this option, users can configure individual


layers. This option opens a dialog box to configure the
layers

When the Edit Layers option is selected, the window on the next figure is displayed.

Layer Configuration window


The available options on this window are described on the next table.
Available options on the Layer Configuration window
OPTION DESCRIPTION
Add Layer Adds a new layer

Remove Layer Removes the selected layer

Layer Indicates the configured bit, from 1 (one) to 32, for the
selected layer

Name Determines the layer's name

Visible? Indicates whether this layer is visible on a Screen

Low zoom (%) Determines this layer's initial percentage of zoom

High zoom (%) Defines this layer's final percentage of zoom

Source Establishes a Link or a property that, once active


(different from zero), also displays this layer. The Zoom
and Source options are not exclusive, that is, they can be
activated when either conditions are active

Mask Represents a mask, in hexadecimal, of the bit configured


in Layer

When clicking the menu of the Layer property on the Properties List of a Screen, users can configure the layers
displayed on that Screen. This menu shows the layers configured on the Layer Configuration window and also the
options All Layers, equivalent to the value &hFFFFFFFF in hexadecimal, or No Layers, equivalent to the value &h0 in
hexadecimal, according to the next figure.

237 Screens and Screen Objects


Options for a Screen's Layer property
For more information, please check the Elipse Power Reference and Scripts Manual.

10.4.10 Lock
When this option is selected, Elipse Power Studio does not allow moving an object, thus avoiding unwanted
movements. After locking an object, the mouse displays a pointer with a locker when moving over that object.
1. To enable this option, right-click an object and select Lock .

Locked object
2. To disable this option, right-click the object again and select Unlock .

10.4.11 Object Overlaying


Allows editing the way two or more objects are overlayed. The available options for this configuration are described on
the table Available options on the toolbar of a Screen.

10.4.12 Pan
Allows moving the content of a Screen with scroll bars in Elipse Power Studio or in Elipse Power Viewer, at run time.
To use this feature in Elipse Power Studio, follow these procedures:
1. Select the Pan option on the toolbar of a Screen.
2. Click the Screen to drag it. The mouse pointer changes to the icon .

To use this feature in Elipse Power Viewer, follow this procedure:


1. Right-click Elipse Power Viewer and select the Pan option on the contextual menu.

Screens and Screen Objects 238


NOTES
· In Elipse Power Studio, as well as in Elipse Power Viewer, the Pan option is always available when using the
middle mouse button.
· In Elipse Power Viewer, that is, at run time, clicking Screen objects such as Buttons, Displays, and SetPoints, among
others, prevents using the Pan option, because Screen objects capture the mouse pointer's behavior. In these
cases, users must use the options available for the Pan option (middle mouse button or contextual menu) only on
Screen's area.

10.4.13 Rotate
Allows rotating a Screen object having as origin its center or at any other point on the Screen. To use this resource,
follow these procedures:
1. Select an object on Screen and click Rotate on the toolbar of a Screen.
2. Click one of its rotating vertexes, in green, and drag the object to the desired position.
3. If needed, change the object's rotation center, indicated by a green circle.

NOTE
· For Picture-type Screen objects using the Bitmap file format (files with a .bmp extension), the rotate feature is not
available.
· In case of changing the rotation center of a Screen object, its contextual menu starts displaying the Reset Rotation
Center option, which allows undoing that change and returning the object's rotation center to its default.

10.4.14 Set Default Style


Sets the options configured on shadow and drawing options on the toolbar of a Screen as the default for all other
Screen objects to create. To use this resource, follow these procedures:
1. Select the object to use as the template for the others.
2. Right-click the object and select the Set Default Style option.
3. When creating a new Screen object, this object's shadow and drawing configurations are used as the initial
configurations for the next objects.

10.4.15 Shadow
Allows applying or editing a shadow effect on a Screen object. To use this resource, follow these procedures:
1. Insert or select an object to apply a shadow.
2. Change its properties on the toolbar of the Screen, according to the options described on the table Available
options on the toolbar of a Screen.

10.4.16 Tab Order among Objects


Establishes a browsing order, via TAB key, among two or more objects at run time, that is, the order in which the
objects gain focus. To enable this option, follow these procedures:
1. Select a Screen and click Tab Order on the toolbar of a Screen.
2. Click the objects in the desired order. A number with the browsing order then appears on the upper left side of
each object.
3. When the Domain executes, navigation among these objects are then performed in that specified order.

239 Screens and Screen Objects


Tab order
To keep the initial order of the objects, follow these procedures:
1. After creating an object on a Screen, click Tab Order .
2. With the CTRL key pressed, click the second-to-last object.
3. Release the CTRL key and then click the last object, that is, the previously created object.

NOTE
The tab order is equivalent to the object's overlaying order, described on topic Object Overlaying.

10.4.17 Zoom
When editing a Screen, users can select the most appropriate and comfortable zoom level for edition. Zoom level is
available on the toolbar of a Screen and there are several levels, in addition to the Fit Width , Fit Height , Fit
Screen , and Fit options, according to the next figure.

Zoom menu
In addition to this Zoom menu, users can also change the zoom level via keyboard or mouse. To do so, please
check topic Shortcut Keys for a list with all available shortcut keys.

Screens and Screen Objects 240


NOTE
· When using CTRL + Mouse wheel (up or down) options, which respectively increases or decreases zoom, that zoom
focus is always relative to the mouse pointer's position.
· To simply toggle between any zoom mode and the Fit Screen mode, use the Fit option.

10.5 Color Formatting


In Color-type properties, changing a value can be performed using dialog boxes, such as the one displayed on the
next figure, available on Properties List by clicking . To select a color, select a pre-defined color on the Default tab
or inform a color using its components on the Customized tab.

Colors
The Other option allows users to select a color from anywhere on a screen, inside or outside Elipse Power Studio.
Click and then the intended color to capture it to the color window.
To customize a color, users can combine RGB (red, green, and blue components) or HSL (hue, saturation, and lightness
components) methodologies.

241 Screens and Screen Objects


Customized color
An RGB scale describes a color by mixing three primary colors, as follows:
· Red: Indicates the amount of primary red component in color composition
· Green: Indicates the amount of primary green component in color composition
· Blue: Indicates the amount of primary blue component in color composition

Each one of these three color elements can have an intensity degree that ranges from 0 (zero) to 255.
An HSL scale describes a color by mixing three primary components, as follows:
· Hue: Specifies a color distribution within the visible light spectrum
· Saturation: Indicates the intensity of a certain hue. A highly saturated hue has a more intense color, while a less
saturated hue seems grayer
· Lightness: Indicates the amount of light applied to a color. The higher the luminance, the lighter the color.
Conversely, the lower the luminance, the darker the color

These elements can also have their intensity degree ranging from 0 (zero) to 255. Thus, specify a value for each item,
according to the color tone, or else select the desired color directly with the mouse pointer on window scales.
A numerical value for each color is obtained using the next formula.
Red * 256 ^ 0 + Green * 256 ^ 1 + Blue * 256 ^ 2

Which is equivalent to:


Red * 1 + Green * 256 + Blue * 65536

Variables Red, Green, and Blue can assume values ranging from 0 (zero) to 255, according to the next examples.
· Black (0, 0, 0): 0 * 1 + 0 * 256 + 0 * 65536 = 0
· White (255, 255, 255): 255 * 1 + 255 * 256 + 255 * 65536 = 16777215
· Red (255, 0, 0): 255 * 1 + 0 * 256 + 0 * 65536 = 255
· Green (0, 255, 0): 0 * 1 + 255 * 256 + 0 * 65536 = 65280
· Blue (0, 0, 255): 0 * 1 + 0 * 256 + 255 * 65536 = 16711680

NOTE
Values stored on object properties referring to colors are numerical, calculated using the previously described
formula. The Find and Replace tool uses this stored value on its search process, and not the values formatted as
RGB, as displayed on the Properties List.

Screens and Screen Objects 242


10.6 Value Format
Using formats allows users to change how data is displayed, without changing the value behind them. A format is a text
that can be either edited manually or configured via format dialog box. Its usage is similar to formats used in
spreadsheets, following the same basic syntax, but with a few extensions. The following data types are supported:
· Number (decimal, scientific, hexadecimal, binary, or octal output)
· Text
· Boolean
· Date and Time (Gregorian calendar)

The objects that support formats must change their data types in their Value property, according to the intended
format type.

Value Format window


The following formats are available:
· General: There is no specific format. It is performed automatically, depending on data type
· Number: Presents integers and fractions, allowing users to define the number of decimals and the use of commas
to separate thousands. For numbers that are either too big or too small, use the Scientific format. The symbols
are the ones defined on Control Panel - Regional Configuration
· Date and Time: Presents numerical values (Gregorian format) for date and time, when they are valid
· Percent: Multiplies a number by 100 and adds the percent symbol to it, also defining the number of decimals
· Scientific: This format presents a number with a mantissa and an exponent, ideal for numbers of different
magnitudes, allowing users to select the number of decimals and formats
· Special: Allows formatting integers in non-decimal bases (hexadecimal, octal, or binary)

10.6.1 Other Formats


In the Other option, users can create any type of format, even one from the previous section, by typing a format code
(a text).
The text format is made of up to four fields separated by a semicolon. The first field is always applied when there is no
other field more appropriated for that value or data type. The second field is used for negative numerical values. The
third field is used whenever the numerical value is 0 (zero). Finally, the fourth field is used for Text-type values.
Whenever more than one field is defined, the previous field is considered, even if it is empty. In the event of an empty
field format, the formatted value is always an empty text. Notice how this differs from the General format, which is only
an empty format without field separators (semicolons).
To insert characters that are displayed by a format, users can place them between quotes or after a backslash. The
next table contains examples of input texts, which are valid for all format types.

243 Screens and Screen Objects


Text Input
FORMAT FORMATTED OUTPUT
"0#?" 0#?

\m\d\y mdy

Users can also create formats that contain only text, which can be combined with the use of different fields, as
described on the next table.
Format and Formatted Output
VALUE FORMAT FORMATTED OUTPUT
1 "Positive";"Negative";"Zero","Text" Positive

-1 "Positive";"Negative";"Zero","Text" Negative

0 "Positive";"Negative";"Zero","Text" Zero

"Abcd" "Positive";"Negative";"Zero","Text" Text

In addition, the characters that can be displayed directly without using quotation marks or slashes are $ (dollar sign), -
(dash), + (plus sign), / (slash mark), () (parentheses), : (colon), ! (exclamation point), ^ (caret), & (ampersand), ' (simple
quote to the left), ' (simple quote to the right), ~ (tilde), {} (braces), = (equal to), < (less than), and > (greater than).

NOTE
To display a backslash or double quotation marks in the formatted data, use \" or \\. When the text is between
quotation marks, the whole text is copied directly, so "\a" is displayed simply as \a.

Numerical formats accept three basic types of characters to define the number of displayed digits.
Numerical Formats
OPTION DESCRIPTION
0 (zero) Inserts the significant digit or 0 (zero) when there is none

# Inserts the significant digit

? Inserts the significant digit or a blank space when there is


none

The decimal separator defines how to display the fractional part of a number. A comma indicates that a value must be
divided by a thousand, for each comma, after the format's digits.
Regardless of Windows Region and Language configurations, dots and commas must be used on the format's text, to
indicate the thousands and decimal separators, but the formatted output complies with system's regional
configurations. The next table describes all available options.
Available options
DATA FORMAT FORMATTED OUTPUT
12000 #, 12

1234567 #,#.0 1,234,567.0

10.6.1.1 Date and Time Format


The syntax for date and time formats differs a little from spreadsheets, following the mode used by Windows region
and language configurations. Dates are numerical values where the integer part represents days since December 31st
1899 and the fractional part represents hours in day fractions.
The minimum year supported is 100 and the maximum is 9999, ensuring a resolution of at least one millisecond in the
whole interval. Names of months and week days, default day, month, and year sort order, and the date and time
separators are all used according to Windows region and language configurations. The next table contains examples
of values formatted using a date and time format.

Screens and Screen Objects 244


Date and time formats
DATA FORMAT FORMATTED OUTPUT
1234.56789 dd/MMMM/yyyy 18/may/1903

0.56789 hh:mm:ss.000 tt 01:37:45.696 PM

12.345678 hh\hmm\mss.000\s 296h17m46.667s

NOTE
Values stored in object properties referring to dates are numerical values, calculated using the previous formula. The
Find and Replace tool uses that stored value on the search process, and not the formatted date and time values
displayed on the Properties List.

10.6.1.2 Non-Decimal-Base Format


Formats for non-decimal bases always present the whole part of the formatted numerical value, and they are also not
sensitive to signs. As in decimal bases, if the number contains more digits than required in this format, these digits are
presented anyway.
Currently, these formats are limited to 32-bit numbers. In case the value's integer part exceeds this limit, this format
returns an error. The next table contains examples of values formatted using a non-decimal-base format.
Non-decimal-base formats
DATA FORMAT FORMATTED OUTPUT
255 "0x"XXX 0x0FF

12345 oooo\o 30071o

987 B 1111011011

12 BBBB - BBBB 0000 - 1100

10.6.1.3 Scientific Format


A number can be presented in scientific notation (mantissa and exponent) when after any digit there is an E+, E-, e-, or
e+, followed by digits to format the exponent. When using E+ or e+, the exponent is displayed with a sign, and when
using E- or e-, the sign appears only for negative exponents. The exponent always displays a digit, even if it is 0 (zero).
The number of digits right to the decimal place affects the displayed exponent. The next table contains examples of
values formatted using a scientific format.
Scientific formats
DATA FORMAT FORMATTED OUTPUT
1000 #E+00 1E+03

1000 ##e-00 10e02

10.6.1.4 Text Format


The @ character copies data values on the position where it appears. This format must appear in the fourth field (for
example, ;;;@) or directly when there is only one field. The next table contains examples of values formatted using a
text format.
Text formats
DATA FORMAT FORMATTED OUTPUT
Abc @@ Abc Abc

xyZ "Name: " \ " @ \ " Name: "xyZ"

245 Screens and Screen Objects


CHAPTER
Links
11
Links are connections performed between properties and objects, or among properties. Links make easier to create
animations and other types of common logic, thus minimizing the usage of scripts.
Users can open the Links tab by right-clicking an object and then selecting the Properties option. This tab displays all
object properties that can be connected, as well as the existing Link types and their sources.

Links tab
The available options on the Links tab are described on the next table.
Available options on the Links tab
OPTION DESCRIPTION
Properties Lists object properties that can be linked

Link Determines the type of Link of the selected property. For


common properties, the available Links are Simple, Bi-
directional, Digital, Analog, Table, Reverse, or Multiple.
There is also a link between ElipseX properties and
objects, which still cannot be modified. For more details,
please check chapter Libraries

Source In the simplest case, specifies the path to an object or


property. This path can be filled in by using AppBrowser,
which can be opened by clicking , on the right side of
this field. In general, this is an expression allowing logical
and arithmetical operations, as well as evaluating functions
for properties, objects, and constants

When specifying the source of a Link, its text appears in blue, in case it corresponds to a valid expression. If this
expression contains errors, as in non-existing object paths, or as in objects belonging to projects not loaded, its text
appears in red. In these cases, the Domain Verifier option informs the places that need corrections or revision. The
available types of Links are explained on the next topics.
The Source column may contain a reference to an existing context object in the upper hierarchy of the object where the
Link is created. The format of a reference of this type is @(Context)[.Path], where Context is the context's name (possible
values are available in the description of the Context method, in Elipse Power Reference and Scripts Manual), and
Path can be a path of an existing object in the lower hierarchy of the context object, or else a property of that object.
Context names are case insensitive.

Links 246
NOTE
When specifying an object's path in the Source field, this path must be delimited by brackets in the following cases:
· Contains any character that is not a letter (a-z | A-Z) when used as the first character of a Domain's name.
· Contains any character that is not a letter (a-z | A-Z), a number (0-9), or an underscore (_) when used after the first
character of a Domain's name.

11.1 Simple
In a Simple Link, the value in the Source column is copied to the property each time the first one is modified.

Simple Link
To use this resource, follow these procedures:
1. Right-click an object and select the Properties option.
2. Select the Links tab, click the Link column of a property, and then select the Simple Connection option.
3. In the Source column, click to indicate a property to create a reference or write down an expression in this
column.

11.2 Bi-directional
A Bi-directional Link is similar to a Simple Link. However, if there is a variation in this property, its value is copied to
the source, thus generating a bi-directional Link.

Bi-directional Link
To use this resource, follow these procedures:

247 Links
1. Right-click an object and select the Properties option.
2. Select the Links tab, click the Link column of a property, and then select the Bi-directional Connection option.
3. In the Source column, click to indicate a property to create a reference or write down an expression in this
column.

11.3 Digital
In a Digital Link, users can establish that, if a variable or expression in the Source column represents a digital or
Boolean value, its True or False status is mapped to certain values on the destination, including a blink option or
alternating values.

Digital Link
The available options for this Link are described on the next table.
Available options for a Digital Link
OPTION DESCRIPTION
Value <ON> Specifies a value assumed by a property when the
expression on the Source column returns True

Value <OFF> Specifies a value assumed by a property when the


expression on the Source column returns False

Blink <ON> When this option is enabled, the connected property


toggles between the values from the Value <ON> option
and the To value <ON> option if the expression on the
Source column returns True

Blink <OFF> When this option is enabled, the connected property


toggles between the values from the Value <OFF>
option and the To Value <OFF> option if the expression
on the Source column returns False

To value <ON> Specifies a value assumed by a property when the


expression on the Source column returns True and the
Blink option is enabled

To value <OFF> Specifies a value assumed by a property when the


expression on the Source column returns False and the
Blink option is enabled

To use this resource, follow these procedures:


1. Right-click an object and select the Properties option.
2. Select the Links tab, click the Link column, and then select the Digital Connection option.

Links 248
3. In the Source column, click to indicate a property to create a reference or write down an expression in this
column.

11.4 Analog
An Analog Link allows users to establish a conversion scale between a source and a destination variable. By using
these specified values, a linear scale is performed between property and source values.

Analog Link
The available options for this Link are described on the next table.
Available options for an Analog Link
OPTION DESCRIPTION
Value on Source Determines maximum and minimum values reached on
the source

Value on Property Determines maximum and minimum values reached on


the property

To use this resource, follow these procedures:


1. Right-click an object and select the Properties option.
2. Select the Links tab, click the Link column of a property, and then select the Analog Connection option.
3. In the Source column, click to indicate the property to create a reference or write down an expression in this
column.

11.5 Table
In a Table Link, users can establish a set of intervals based on the minimum and maximum source values and, for each
one of these values, a value to be assumed by a property. In addition, as in a Digital Link, users can specify a Blink
option and an alternative value.

249 Links
Table Link
The available options for this Link are described on the next table.
Available options for a Table Link
OPTION DESCRIPTION
Add Inserts a new row on the table

Remove Removes the selected row from the table

Min Specifies the minimum value on the source for a table


row

Max Specifies the maximum value on the source for a table


row

Value Specifies the value on the property to be assumed when


the source is inside the interval specified on the table
row

Blink Determines that when the source is inside the interval for
this table row, the property then alternates periodically
between the values specified by the Value and Value
<Blink Enabled> options

Value <Blink Enabled> Specifies an alternative value of the property to be


assumed when the source is inside the interval specified
on the table row, that is, when the Blink option is
enabled

To use this resource, follow these procedures:


1. Right-click an object and select the Properties option.
2. Select the Links tab, click the Link column of a property, and then select the Table Connection option.
3. Add rows to the table and configure the respective Min, Max, and Value options.
4. If users must alternate periodically among values, enable the Blink column and then configure the Value column.

11.6 Reverse
In a Reverse Link, every time a property's value is modified, this value is copied to the source, thus working conversely
to a Simple Link.

Links 250
Reverse Link
To use this resource, follow these procedures:
1. Right-click an object and select the Properties option.
2. Select the Links tab, click the Link column of a property, and then select the Reverse Connection option.
3. In the Source column, click to indicate a property to create a reference or write down an expression in this
column.

11.7 Multiple
In a Multiple Link, each row of a Link allows retrieving its value from a different source. The active source is selected
according to the Link's main source value.
Each row contains an interval, the Min and Max properties, and the source for that interval, the Source property, which
is a Simple Link.

Multiple Link
The available options for this Link are described on the next table.
Available options for a Multiple Link
OPTION DESCRIPTION
Add Inserts a new row on the table

Remove Removes the selected row from the table

251 Links
OPTION DESCRIPTION
Min Specifies the minimum value on the source for a table
row

Max Specifies the maximum value on the source for a table


row

Source Specifies the source to be linked to the property when


the value of the main source is between Min and Max
limits

Keep all active associations Keeps all table Links in Advise, or active, mode. This
option corresponds to the AdviseAll property

To use this resource, follow these procedures:


1. Right-click an object and select the Properties option.
2. Select the Links tab, click the Source column, and then select the Multiple Connection option.
3. Add rows to the table and then configure their respective Min., Max., and Source columns.

11.8 Link Edition


Elipse Power contains a tool to edit Links, named Edit Links. With it, users can edit one or more application Links
more quickly than using a traditional window.
To use this tool, right-click one or more objects and select the Edit links option.

Edit links option


The dialog box on the next figure is then displayed.

Links 252
Edit Links
The previous dialog box shows a list of Links, Link-type properties, and user events related to the selected objects and
their child objects. According to a row type, information to display on columns are described on the next table.
Available options for Edit Links window
OPTION DESCRIPTION
Object's name Determines object's name

Property / Event Determines the object's property that contains this Link

Connection Determines a Link type, Simple, Bi-directional, Digital,


Analog, Table, Reverse, or Multiple

Source Determines a Link's source

Options for Link-type properties


OPTION DESCRIPTION
Object's name Determines the name of the object that contains this
property

Property / Event Determines property's name

Connection It is always the same, Link

Source Determines property's value

Options for User events


OPTION DESCRIPTION
Object's name Determines the name of the object that contains this
event

Property / Event Determines the name of a user event

Connection Determines an event type, OnEvent, WhileEvent, or


OnValueChangeEvent

Source Expression related to this event

On the Edit Links dialog box, users can modify the following options:
· Links: Can be modified, except for object's name
· Link-type properties: Can be modified, except for object's name
· User events: Can be modified, except for object's name and event's name

By clicking Remove , users can remove the selected Link. The Show links properties window option determines
whether Link minidialogs are displayed when a row is selected. If this window is visible, then users can edit Link
properties. Its default value is enabled.

253 Links
NOTE
On the Edit Links window, users can keep a Link with an empty source. To do so, select the Source column and press
the DELETE key.

Editing properties of the selected Link


To edit user event properties, it is necessary to select a row containing the event and, on Connection column, click the
Edit option.

Editing user event properties


When clicking the Edit option, the dialog box on the next figure is displayed, thus allowing to edit the selected user
event.

Edit events window


The available options on this window are described on the next table.

Links 254
Available options for Edit Events window
OPTION DESCRIPTION
Property or expression Property or expression generating this event

Whenever the property/expression is true Indicates whether this is an etOnEvent- or an


etWhileEvent-type

Repeat event Indicates the cycle for event repetition in milliseconds,


that is, its periodicity while an expression generating it
remains true

Repeat every (ms) Value for a repetition interval, in milliseconds

Whenever the property/expression changes its value Indicates that this event is an etOnValueChangeEvent-
type,that is, this event occurs whenever the expression
that generates it changes its value

Treat disconnection as value change If there is a disconnection, it is handled as a value change

The Edit Links window allows using copy and paste features among property Links. The Copy Link option copies a Link
from the selected row and the Paste Link option pastes that Link to the selected row, replacing the previous Link.

Option to copy or paste a Link

11.9 Text-type Properties with Links


Some Text-type properties allow using expressions when used in Links, as follows:
· The expression must be enclosed in braces. If users need to display braces, these characters must be duplicated in
the text ("{{" at the beginning and "}}" at the end). Text outside braces are considered as literal.
· Property's text may have as many expressions as needed, provided that the opening braces of each expression
have their corresponding closing braces at the end of that expression.
· If an expression is invalid, at run time the Link displays the text "NULL". If the expression also contains literal text,
this text is displayed and the part relative to the invalid expression contains the text "NULL".
· The expression also supports the @(Context) format, where Context is a String with the name of a context
implemented by an object on the upper hierarchy of the current object. For a list with names of all available
contexts, please check the Context method on Elipse Power Reference and Scripts Manual.

Examples of Valid Expressions


Displays the text "Protection Mode: ", followed by the content of the DocString property.
Protection Mode: {DocString}

Displays the content of the Name property, followed by the text " - " and the content of the ShortName property
between braces.
{Name} - {{ShortName}}

255 Links
Displays the text "Area: ", followed by the content of the PathName property of the first object on the upper hierarchy
of the current object that implements the Area context.
Area: {@(Area).PathName}

Examples of Invalid Expressions


Displays the text "Protection Mode: NULL", because the name of the DocString property is wrong.
Protection Mode: {DocStrin}

Displays the content of the Name property, followed by the text " - NULL", because the number of braces at the
beginning and at the end of the ShortName property's expression does not match.
{Name} - {{ShortName}}}

Displays the text "Area: NULL", because context's name is wrong.


Area: {@(Arrea).PathName}

Links 256
CHAPTER
Libraries
12
Elipse Power contains tools that allow transforming any object or set of objects of an application into a user Library.
Libraries can be composed of frequently used objects and subsequently reused in another application.
Elipse Power provides two types of user Libraries: the Gallery, a Library of vector graphical symbols, which can be
freely used in applications, and a user Library tool called ElipseX. Using Libraries in Elipse Power is highly
recommended most of the time, due to the productivity gains they bring to applications. Some advantages of ElipseX
are the following:
· Reusing source code
· Reducing tests during development
· Creating default interfaces for developed objects
· Reducing development time of new projects
· Protecting project's content
· Ranking objects

Libraries in Organizer

12.1 Gallery
The Gallery can be accessed by clicking Gallery on the Default toolbar. This item contains a series of vector
graphical elements divided into categories, which can be dragged to Screens or to ElipseXs. The available types of
symbols are: 3D Pushbuttons, 3D ISA Symbols, Air Conditioning, Architecture, Arrows, ASHRAE (Controls and
Equipment), ASHRAE (Ducts), ASHRAE Piping, Basic Shapes, Blowers, Boilers, Buildings, Chemical, Computer Hardware,
Computer Keys, Containers, Controllers, Conveyor belts, Conveyor Misc, Conveyor Simple, Ducts, Electrical, Finishing,
Flexible Tubing, Flow Meters, Food, General Mfg, Heating, HVAC, Icons and Bitmaps, Industrial Misc, International
Symbols, ISA Symbols, Laboratory, Machining, Maps and Flags, Material Handling, Mining, Misc Pipes, Misc Symbols 1,
Misc Symbols 2, Mixers, Motors, Nature, Operator Interface, Panels, Pipes, Plant Facilities, Power, Process Cooling,
Process Heating, Pulp & Paper, Pumps, Safety, Scales, Segmented Pipes, Sensors, Tank Cutaways, Tanks, Textures,
Valves, Vehicles, Water & Wastewater, and Wire & Cable.
To use this feature, follow these procedures:
1. Click Gallery on the Default toolbar.
2. By selecting this window, users have access to sets of symbols, which are grouped in categories. Select a category
from the upper side of this window.
3. To insert an object from the symbol Library on a Screen, simply click an object and drag it to the Screen.
4. After inserted, that object can be freely edited and modified, according to the features described for image
objects, such as changing the fill color using the OverrideFillMode, OverrideFillColor, or OverrideLineColor
properties, with no need to transform the object into an Elipse Power graphical object.

257 Libraries
Gallery

12.2 User Library (ElipseX)


An ElipseX is an Elipse Power's object Library. In addition to drawings, an ElipseX can contain internal variables that
can be exported to an application, and also programming logic (scripts) that is available in all object's copies,
diminishing the need to repeat code in several parts of an application.
ElipseXs are encapsulated in a file with a .lib extension. Users can create all ElipseXs to use in a specific project in the
same Library file (.lib) or divide them among several files.
To create a new Library in Elipse Power, follow these procedures:
1. Select the File - New Project menu and click Next.
2. In the Type of Application option, select the E3 Object Library option.

Creating a user library (ElipseX)


3. Type a name for the Library and click Next.
4. Configure the specifications referring to the Domain.
5. Click Finish.

Within an ElipseX Library, three types of objects can be inserted: XControls, XFolders, and XObjects.

Libraries 258
The following items can be inserted in an XControl: drawing primitives (Straight lines, Rectangles, Circles, etc.), vector
graphical objects, including objects from the symbol Library (WMF, EMF, etc.), non-vector graphical objects (BMP, JPEG,
GIF, etc.), Elipse Power's ActiveX controls (E3Alarms, E3Browsers, E3Charts, and E3Playbacks), third-party ActiveX
controls, Queries, Alarm Filters, Line Printers, and other XControls.
An XFolder is an object that allows inserting child objects in its instances. Therefore, users can organize or create a
ranking of objects in an application. Users can insert in an XFolder instance items such as Data Folders, I/O Tags,
Queries, Alarm Filters, and instances of XFolders and XObjects.
An XObject can contain any type of non-graphical objects that are executed in an E3 Server, such as Databases, Alarm
Configurations, Formulas, Historics, Storages, Feeders, Photovoltaic Power Plants, Substations, Transmission Lines, Wind
Power Plants, Data Servers, I/O Drivers, and Alarms.

NOTE
The Properties Window of ElipseX objects in object Views can be opened by using the shortcut keys ALT + ENTER or
ALT + Double-click.

Within the same .lib file there may be any number of ElipseX components, either XControls, XFolders, or XObjects.
Users can also have several different Libraries within the same Domain.
Notice that for each ElipseX created in a Library two interfaces are internally created, one to declare the object's
properties, and another one to declare object's events. These interfaces have their names generated automatically,
adding a "D" prefix to that name (the event interface adds the "Events" suffix to this automatic name). If, for example,
an object's name is "XObject1", its property's interface is called "DXObject1" and its event's interface is called
"DXObject1Events". Any attempt to use these names in other classes in the same Library generates an error code
8002802D, which corresponds to Name already exists in the library.

12.2.1 XControls
An XControl defines a graphical interface to users, which can be composed of any Elipse Power object and its
purpose is to be easily multiplied by a project. Users can create an XControl by right-clicking the Object Library -
XControls item in Domain mode, select the Insert XControl in option, and then the name of the Library.

Design tab of an XControl

259 Libraries
Properties tab of an XControl
When inserting an XControl, this object's View is opened, composed by three tabs. In addition to the Scripts tab, which
is common to all objects, there is a Design tab, which is equivalent to a Screen where graphical objects previously
described can be inserted, and a Properties tab, where users can insert variables also known as XControl Properties.
These Properties are exported by the object and can be linked to a Tag or to another property when this object is
used in an application.
The variables to export can be inserted by pressing the INSERT key or by clicking Add and can be excluded by
pressing the DELETE key or by clicking Remove . The available options on the Properties tab are described on the
next table.
Available options for Properties tab
OPTION DESCRIPTION
Name Specifies the XControl's variable name

Type Determines the data type supported by this variable.


Notice that other data objects (XFolders and XObjects)
can be declared as data types. This way, users can create
a data object that contains another data object as a
Property. Data objects can work as a structure or as a
class in this case, as in the C/C++ programming
language. When specifying an object type, such as
DemoTag, IOTag, or XObject, this Property displays the
following behavior:
· If the ElipseX is inactive: This Property works as a
String, which specifies the path of the object instance of
the configured data type
· If the ElipseX is active: On writing, this Property works
the same way as the previous case. However, on
reading this Property returns the specified object, if it
exists. If the path does not point to an existing object at
the time, this Property returns Nothing
This options corresponds to the Type property of a
Property Definition object

Public Enables or disables the visibility of this variable outside


the Library, that is, determines whether this variable is
public or not. This option corresponds to the Public
property of a Property Definition object

Persistable Determines whether this variable is saved in the project or


not. This option corresponds to the Persistable property
of a Property Definition object

Retentive Determines whether this Property is retentive or not.


Regarding XControls, Properties cannot be retentive. This
option corresponds to the Retentive property of a
Property Definition object

Initial value Specifies the initial value of this variable. This option
corresponds to the DefaultValue of a Property Definition
object

Libraries 260
OPTION DESCRIPTION
Help text Variable declaration and documentation text. This option
corresponds to the HelpString of a Property Definition
object

NOTE
Notice that XFolders and XObjects can be declared as data types.

Editing graphical objects can be performed in the same way as when editing a Screen, with the same graphical features
and options.
Users can insert XControls on any Screen, or even within another XControl by right-clicking the destination Screen or
XControl and then selecting the Insert option, as shown on the next figure. From an XControl in development (inside a
Library), users can insert another XControl in it, by right-clicking the destination XControl and then selecting the Insert
option.

Inserting an XControl on a Screen


From this moment on, the XControl has a name within the Screen and is understood as a copy of the original definition.
Thus, users must define (if required) the values or Links this specific copy has in the context it is used. If this object's
size is altered on the Library's Design tab and registered again, users must use the Screen's Original Size contextual
menu to display that change.
When creating a Pump object, for example, which contains a Status Property that receives an external information
disclosing whether this pump is turned on or off by changing its color, after inserting this object on a Screen, Elipse
Power automatically renames this object to "Pump1".
Users can keep this name or rename it to another one. Then, users must inform which variable is linked to the Status
Property. Let's suppose that a certain I/O Tag represents the status of this pump. Therefore, a Link between the Status
Property and the referred Tag must be created. The same procedure must be performed for other instances (copies)
of the Pump object required in this project.

12.2.2 XFolders
An XFolder is a server object that allows organizing or creating a hierarchy of objects in the instances created. The
objects that can be inserted in an XFolder instance are the following:
· Data Folders
· I/O Tags
· Queries
· Alarm Filters

261 Libraries
· XFolder and XObject instances
· Alarms

NOTE
Users are not allowed to insert objects in an XFolder definition, only in its instances.

To create an XFolder, right-click the Objects Library - XFolders item in Domain mode, select the Insert XFolder in
option and then the name of the Library.

Properties tab of an XFolder


When inserting an XFolder, the View of this object is opened, where user can insert variables. These variables are
Properties to be exported by this object, which can be linked to a Tag or to any other property of an application when
this object is in use in an application.
The variables to export can be inserted by pressing the INSERT key or by clicking Add and excluded by pressing the
DELETE key or by clicking Remove . The available options on the Properties tab are described on the next table.
Available options for Properties tab
OPTION DESCRIPTION
Name Specifies the XFolder's variable name

Type Determines the data type supported by a variable. Notice


that other data objects (XFolders and XObjects) can be
declared as data types. This way, users can create a data
object that contains another data object as a Property.
Data objects can work as a structure or as a class in this
case, as in the C/C++ programming language. When
specifying an object type, such as DemoTag, IOTag, or
XObject, this Property displays the following behavior:
· In case the ElipseX is inactive: This Property works as
a String, which specifies the path of the object instance
of the configured data type
· In case the ElipseX is active: On writing, this Property
works the same way as the previous case. However, on
reading this Property returns the specified object, if it
exists. If the path does not point to an existing object at
the time, this Property returns Nothing
This option corresponds to the Type property of a
Property Definition object

Public Enables or disables the visibility of a variable outside the


Library, that is, determines whether a variable is public or
not. This option corresponds to the Public property of a
Property Definition object

Persistable Determines whether a variable is saved in the project or


not. This option corresponds to the Persistable property
of a Property Definition object

Retentive Determines whether this Property is retentive or not. This


option corresponds to the Retentive property of a
Property Definition object

Libraries 262
OPTION DESCRIPTION
Initial value Determines the initial value of a variable. This option
corresponds to the DefaultValue property of a Property
Definition object

Help text A text to declare and document a variable. This option


corresponds to the HelpString property of a Property
Definition object

Users can insert XFolders in any Data Server, by right-clicking the Data Server in Domain mode, selecting the Insert
option and then the name of the XFolder, as shown on the next figure. In Explorer mode, right-click the project's Data
Server, select the Insert option, and then the name of the XFolder.

Inserting an XFolder in Domain mode

12.2.3 XObjects
In addition to XControls and XFolders, users can create a data Library called XObject. With it, users can define a data
structure executed in the server. Such structure can perform calculations, Links, communications, alarm
acknowledgments, historical recordings, etc., regardless of a graphical interface (Elipse Power Viewer) opened or in
execution at that moment. To create an XObject, right-click the Objects Library - XObjects item in Domain mode,
select the Insert XObject in option, and then the name of the Library.

263 Libraries
Properties tab of an XObject
When inserting an XObject, the View of this object is opened, where users can insert variables. These variables are
Properties to be exported by the object, which can be linked to a Tag or any other property of an application when the
object is in use in an application.
The variables to export can be inserted by pressing the INSERT key or by clicking Add and excluded by pressing the
DELETE key or by clicking Remove . The available options on the Properties tab are described on the next table.
Available options for Properties tab
OPTION DESCRIPTION
Name Specifies the XObject's variable name

Type Determines the data type supported by a variable. Notice


that other data objects (XFolders and XObjects) can be
declared as data types. This way, users can create a data
object that contains another data object as a Property.
Data objects can work as a structure or as a class in this
case, as in the C/C++ programming language. When
specifying an object type, such as DemoTag, IOTag, or
XObject, this Property displays the following behavior:
· In case the ElipseX is inactive: This Property works as
a String, which specifies the path of the object instance
of the configured data type
· In case the ElipseX is active: On writing, this Property
works the same way as the previous case. However, on
reading this Property returns the specified object, if it
exists. If the path does not point to an existing object at
the time, this Property returns Nothing
This option corresponds to the Type property of a
Property Definition object

Public Enables or disables the visibility of a variable outside the


Library, that is, determines whether a variable is public or
not. This option corresponds to the Public property of a
Property Definition object

Persistable Determines whether a variable is saved in the project or


not. This option corresponds to the Persistable property
of a Property Definition object

Retentive Determines whether this Property is retentive or not. This


option corresponds to the Retentive property of a
Property Definition object

Initial value Determines the initial value of a variable. This option


corresponds to the DefaultValue property of a Property
Definition object

Help text A text to declare and document a variable. This option


corresponds to the HelpString property of a Property
Definition object

Libraries 264
Only Properties with simple data types (Variant, String, Date, Double, etc.) can be retentive (the View automatically
deselects the Retentive column if a Property's data type changes to an object type), and only XFolder and XObject
Properties can be retentive.

NOTE
Using retentive Properties in ElipseXs may increase the starting time of an application, and may also increase memory
consumed by E3Run process. These times vary depending on the number of XFolder and XObject instances, on the
number of retentive Properties on each XFolder or XObject, and on the number of these Properties that have their
value changed. If a Property never changes, its retentive value remains in zero.

In an XObject can be inserted any Elipse Power modules executed on the server, such as Databases, Alarm
Configurations, Formulas, Historics, Storages, Feeders, Photovoltaic Power Plants, Substations, Transmission Lines, Wind
Power Plants, Data Servers, I/O Tags, I/O Drivers, and Alarms.
This allows users to define as a Library a complex management system that can be easily replicated, as many times as
it is required in an application.

IMPORTANT
· XControls, XFolders, and XObjects can only communicate with the external world using Properties (or through
mouse and keyboard for XControls). This means that users cannot access internal data from an XControl, XFolder,
or XObject except within the object itself.
· Starting with version 5.0, users cannot insert Alarm Servers and Power Configurations in an XObject, which was
allowed in previous versions. Therefore, when opening applications created in earlier versions containing XObjects
with these objects, the Domain Verifier reports this situation as an error and does not allow the execution of these
objects.

Users can insert XObjects in any Data Server by right-clicking the Data Server in Domain mode, selecting the Insert
option and then the name of the XObject, as shown on the next figure. In Explorer mode, right-click the project's Data
Server, select the Insert option and then the name of the XObject.

265 Libraries
Inserting an XObject in Domain mode
Notice that even if Library files contain several XControls, XFolders, and XObjects, when trying to insert an instance
(copy), Elipse Power Studio shows for Screens only XControls, and for Data Servers only the available XFolders and
XObjects.

NOTE
Users must be careful to not delete an XControl, XFolder, or XObject Property that contains a Link. These Properties,
once deleted, do not appear in object's Properties List anymore, and therefore they cannot be edited. When the
Domain Verifier option is selected, a search for these Properties is performed and users are asked whether to
remove this Link or not.

Invalid property
Users can select not removing them, and then recreate the erased object with the Property to edit, remove only the
Property currently displayed, remove all Properties, or do not remove any Property.

Libraries 266
12.3 When to Create an ElipseX
Using Libraries is highly recommended due to the productivity gain they bring. Some advantages of ElipseXs are the
following:
· Reusing source code
· Reducing tests during development
· Creating default interfaces for developed objects
· Reducing development time for new projects
· Protecting project's content
· Ranking objects

Thus, using Libraries is recommended for most applications. However, there are some criteria to indicate the need to
build objects in Elipse Power:
· Repetition of use: If the same device or process is used more than once in the same project
· User knowledgeable procedures: Often, a process created by a specific company must be protected against
copies or changes. This is common in case of service integrators or machine manufacturers
· Use of controllers: A process controller, whose memory mapping is fixed, can be implemented with all available
functionality. The available flexibility for building and using objects in Elipse Power allows that only variables of
interest are used later, ignoring the other ones

NOTE
For examples on how to create ElipseXs and for more information on these objects, please check the Elipse Power
Reference and Scripts Manual.

267 Libraries
CHAPTER
Importing to Screens
13
To easily create operation Screens for electrical model objects, Elipse Power contains a tool capable of importing
objects from an electrical model to Screens, the Importer of Objects to Screens, which links these objects to their
respective data objects. This tool uses a set of graphical libraries, distributed with Elipse Power, capable of interacting
with data objects.
The main function of the Importer of Objects to Screens is to generate the first version of a Screen, because small
adjustments may be necessary. This tool does not implement functions for Screen syncing, therefore a second import
process using a Screen that already contains objects may result in duplicated data.
To access this tool, right-click the Power Configuration object and select the Electrical Model - Import to Screen(s)
option. The Import to Screens Wizard on the next figure is then opened.

Import to Screens window


This window displays a list of all objects present on the Electrical Model. Users can select one or more items. The
Screen column displays all Screens that are already linked to the listed data objects. Users cannot link a Screen to a
Schematic View, because there is no data object linked to a View.
If more than one item is selected for importing, only the Use Screen linked to Data Object or create automatically, if
necessary option is enabled. In this case, the linked Screen is used for importing the object from the electrical model, if
it exists in any project belonging to the Domain. If it does not exist in the Domain, or if there is no linked Screen, a new
Screen is then created.
If a single object is selected for importing, users can specify an already existing Screen on the application or create a
Screen manually, by selecting the Specify Screen option and clicking . The window on the next figure is then opened.

Importing to Screens 268


Screen selection window
There are also other settings that can be performed for importing to Screens, by clicking Preferences on the Import to
Screens window. The window on the next figure is then opened.

Import to Screens Preferences window


When the import process is performed, it calculates an adjustment factor for the size of Screen objects, so that they all
fit on a Screen's visible area. This way, if there is a very large Substation with many objects that is imported to a small
Screen, for example, all objects are created on the visible area, however their sizes are probably very reduced relative
to what is seen on the graphical library's definition. For this situation, the options on the General tab described next
are used.
· Do not resize the screen and adjust objects size: Does not resize the Screen and the size of all Screen objects is
adjusted to fit Screen's area. This option is selected by default to keep compatibility with versions earlier than
version 4.8

269 Importing to Screens


· Allow enlarging the Screen to keep objects with original size: Allows creating an object on the Screen with its
original size configured in the library and, for all objects created during the import process to remain visible, the
Screen's size is increased if necessary, keeping its original ratio
· Allows enlarging or shrinking the Screen to keep objects with original size: Resizes the Screen's area, keeping
the original size of Screen objects. If this option is selected and the Automatically remove all existing objects
option on the Existing Screens tab of the preferences window is not selected, the next dialog box is displayed. If
users click Yes, all Screen objects are removed and the import process continues. If users click No, the import
process is canceled so that users can perform an adequate configuration

Configuration error when importing to Screens

NOTES
· If users click Yes on the dialog box displayed on the previous figure, this option is used only at this moment and
not saved on the configuration of the Power Configuration object, what is saved is the configuration performed by
users on the Import to Screens window.
· Elipse Power contains a limit for Screen sizes of 524288 Himetric units. If an object is very large and the calculation
for a Screen size exceeds that limit, the Screen is adjusted up to that limit and objects remain smaller than their size
on the graphical library. This adjustment on a Screen size always respect the ratio between width and height of a
Screen.

The Synchronize the matching data object option forces a syncing on the selected data objects, ensuring that Screen
objects have a corresponding data object. If the import process is for a Container- or Grouper-type object (Feeders,
Photovoltaic Power Plants, Substations, Transmission Lines, or Wind Power Plants), this object's syncing is performed
from the selected object and also from all their children, before starting the import process to Screens. For Schematic
Views, this syncing is partial, that is, only for the object that is currently imported (specifically a Breaker or a Switch, in
addition to the parent object). In this case, this syncing is performed during the import process to a Screen of the
Schematic View. In both cases, before starting the import process, a syncing on the existing data objects on the
application is performed, to ensure that all data objects of the application still have a valid corresponding object in the
electrical model. Those that do not have a corresponding object have their IDs zeroed. For more information about this
syncing option for existing objects, please check topic Synchronizing Existing Data Objects.

NOTE
If these data objects were already imported, it is advisable to select this option.

The Create objects inside the Group option allows all Screen objects to be created inside a single group of controls,
whose suffix is informed in this option. Selecting this option disables the Warn that the Screen already has objects,
Automatically remove all existing objects, and Keep existing objects and rename new ones options, and also
enables the Remove automatically objects from the configured group option on the Existing Screens tab,
described next. This behavior allows that, in case of successive importing processes, only the objects created inside the
indicated group are removed automatically.

NOTE
The Create objects inside the Group option is deselected by default for applications created in versions earlier than
version 5.0 and it is selected by default for applications created in version 5.0 or later.

The Transferred branch must blink option allows configuring whether the transferred Branch must blink or only
indicate with the color of this transferred Branch in Schematic Views.

Importing to Screens 270


The New Screens tab allows settings relative to the creation of new Screens.

New Screens tab


On this tab, users can configure the following aspects:
· Prefix for Screen name: Allows selecting which prefix is used to compose the name of the Screens to create.
Names of Screens are generated by concatenating this prefix, which cannot be empty, with the object's name
· Fit Screen to Splitter: Allows selecting a Splitter among the ones on the application so that new Screens have their
size adjusted relative to that Splitter
· Screen's background color: Allows selecting the value of the BackgroundColor property of the Screens to create
· Destination for Screens of Substations, Feeders and Wind/Solar Power Plants and Destination for Screens of
Schematic Views: Allows selecting the project and folder where these Screens are created. If the import process is
for Substations, Feeders, Wind, or Solar Power Plants, users are only allowed to select between data object's
project or Power Configuration's project. If this data object syncing is not enabled, users are not allowed to close
this window with the option to create Screens on the selected data object's project. If the import process is for
Schematic Views, users can select between Power Configuration's project or a specific project, which must belong
to the Domain. In both cases, if a folder or folder path is informed, they are created if they do not exist, always
starting at the selected project's root

If the Screen used in the import process already exists and contains objects, this process may generate an overlapping.
Select the Existing Screens tab to perform the configuration relative to the import process to existing Screens.

271 Importing to Screens


Existing Screens tab
On this tab, users can configure the following aspects:
· Warn that the Screen already has objects: In this case there is a dialog box warning users that the import
process may generate an object overlapping. The duplicated objects can be any object inserted on a Screen, and
not only objects related to Elipse Power's importing to Screens. Therefore, if the Remove option is selected, for
example, all existing objects on a Screen are removed, regardless of their type

Warning about overlapping objects


· Automatically remove all existing objects: In this case all objects are deleted without any user confirmation
· Keep existing objects and rename new ones: Objects are kept and, in case their names are equal to the names
of the objects to create, these new objects have their names automatically incremented
· Remove automatically objects from the configured group: Automatically removes all objects created in the
group indicated in the Create objects inside the Group option on the General tab

These settings are saved on the Power Configuration object. If there are inconsistencies, such as if the selected Splitter
does not exist anymore or if the selected project does not belong to the Domain anymore, error messages are
displayed to inform users. After finishing these settings, click OK to start the import process.
If the Synchronize the matching data object option is selected, there is a check on data for the selected object. If this
data was already imported, there is only a syncing on this object. Otherwise, a window with configurations for data

Importing to Screens 272


import is then opened, and these settings must be performed before proceeding with the import process to Screens.
For more information about possible settings of data importer, please check topic Synchronizing Data Objects.
The Libraries tab allows settings relative to the usage of the available graphical library. Default is to use the
PowerControls.lib library by Elipse Software. However, if needed, users can use a customized library with graphical
objects.

Import to Screens Preferences window


By deselecting the Use default classes from PowerControls.lib library option, users can edit the list of objects and
classes and individually select other XControls for use on the import process. All settings are saved to the Power
Configuration object, even those settings that are not visible.
To configure classes for these objects, select the desired object and click . The window on the next figure is
displayed to select a new XControl.

Object classes window


According to the selected object, a check is performed to ensure that this selected new XControl meets the minimum
requirements for use with the Importer of Objects to Screens tool. For more information, please check topic
Customizing Libraries.
Every object found on the Electrical Model is mapped to a corresponding graphical object and linked to a data object,
therefore ready for use. Exceptions are the Bay object, which does not have a graphical representation, and the

273 Importing to Screens


Connector object when representing a jumper that, because it is only a connection with null resistivity among devices,
does not have a corresponding data object. This way, this Screen object is linked to one of the object's terminals to
which it is connected, allowing it to receive information from Power Flow and Topology Processor modules.
Users can also import objects directly to a specific Screen, if needed. To do so, right-click the desired Screen and
select the Import from Electrical Model option, as shown on the next figure.

Import from Electrical Model option


This Screen must belong to the Domain, otherwise this option appears disabled. If the Domain does not have a Power
Configuration object, if there is more than one object of this type, or if the object found does not have a configured
electrical model, users are informed via error messages and the Screen objects import process is canceled.

Error window when importing to Screens


If a Power Configuration object is found with a correctly configured electrical model, the window on the next figure is
then displayed, allowing users to select an object to import.

Importing to Screens 274


Object import to a Screen window
NOTE
Users are allowed to select a single object, which is imported to the Screen where this window was opened, but it is
not imported if that Screen was already used for importing other object and is linked to that object. The link to the
old object is not broken.

On the Import to Screens Preferences window, settings related to the graphical library can be set normally. When this
tool is opened from a Screen, the New Screens tab is not available.

Import to Screens Preferences window

275 Importing to Screens


After configuring the Importer of Objects to Screens, click OK to start the import process. The window on the next
figure shows the progress of the import process of objects.

Progress window when importing objects to Screens

13.1 Customizing Libraries


Elipse Power provides graphical objects that represent field devices, but a customization in existing objects, or even
the creation of new standards, is also allowed.
To do so, it is important to know the properties that must be part of this XControl, as well as their behavior. When
instantiating this object on a Screen, these properties are responsible for its basic operation, noticing that the Importer
of Objects to Screens is already capable of creating this object and configure its properties.
Properties of an XControl
PROPERTY DATA TYPE DESCRIPTION
SourceObject Type of object being created. For Receives a Link to a data object. By
example, to create a new XControl to using this property, an XControl has
represent a Breaker, this object's access to data, allowing to perform
type must be PowerBreaker animations on terminals and statuses,
and also accessing information about
Measurements and Commands

ShowTerminals Boolean An XControl must be programmed to


display the number of terminals
whenever this property is set to True.
PowerExplorer object configures this
property to True when it opens

Orientation Integer An XControl must be programmed to


have the following values:
· 0: Terminal 1 pointing to the right
· 1: Terminal 1 pointing up
· 2: Terminal 1 pointing to the left
· 3: Terminal 1 pointing down

ColorMode Integer An XControl must be programmed to


have the following values:
· 0: This object's color is defined by its
VoltageColor property
· 1: This object's color is defined by its
StrokeColor property, which by its
turn inherits the value of the
StrokeColor property from the
Substation or Feeder to which it
belongs

ObjectColor Color Receives the color that this object must


have in Elipse Power and also a Link
that defines this object's color at run
time. This runtime color may be
displayed as normal, if this object is
energized, or darker, if this object is
not energized

Importing to Screens 276


In addition to these settings, users must create connection points (Terminals) to a device. That is performed by using
the Edit Connection Points tool. Connection points must be named as "TerminalN", where N is a suffix starting at 1
(one) and that must be incremented up to the total amount of terminals. This configuration is important for Elipse
Power's Importer of Objects to Screens tool.
Objects with a single terminal, that is, Load, Distribution Load, Capacitor, Generator, Reactor, and Distribution
Transformer must have the SourceObject, Orientation, and ColorMode properties, in addition to a connection point
named Terminal1.
The Breaker, Switch, Switch Fuse, Voltage Regulator, Recloser, Two-Winding Transformer, and Three-Winding
Transformer objects must have the SourceObject, Orientation, ShowTerminals, and ColorMode properties, in
addition to 2 or 3 connection points, according to the object.
The BusBar object must only have the SourceObject and ColorMode properties, and it does not need any configured
connection point.
When importing objects to Elipse Power's Screens, the XControl defined for Node and BusBar Terminal objects is the
same. This object must only have the ObjectColor property and it must also have a terminal named "Terminal1".
The External Node object must have the SourceObject and ObjectColor properties, in addition to a terminal named
"Terminal1" on this object.
When a class selected for a certain object during the configuration of Elipse Power's importer of objects to Screens
tool does not follow one or more requirements for properties or terminals, the import process is interrupted and the
message on the next figure is displayed.

Error message when selecting improper classes to import


In case of selecting classes that do not follow one or more non-critical requirements of properties or terminals, the
import process is not interrupted, but the warning message on the next figure is displayed.

277 Importing to Screens


Warning message when selecting improper classes to import

NOTE
Selecting a custom class that does not follow one or more non-critical requirements for a device, when this device is
not used in the current electrical model, does not prevent the import process.

In both cases, the Import to Screens Preferences window highlights these classes to show which classes are improper,
according to the next figure.

Importing to Screens 278


Examples of custom classes
In the example of the previous figure, the Breaker class is named after a Breaker's default class but does not contain
the required properties, therefore the class name appears in red. The DistributionLoad1 class does not contain one
or more properties required for a Distribution Load, therefore the class name appears in red and bold. The Cap1
class, on the other hand, contains all properties required for a Capacitor, therefore it appears in bold to indicate a
custom class.

279 Importing to Screens


CHAPTER
ActiveX
14
ActiveX objects are COM-based (Component Object Model) software components that can be inserted into an
application to perform several tasks. These objects are developed in programming languages such as C/C++, Delphi,
and Visual Basic, among others.
Some ActiveX objects are automatically registered when Elipse Power is installed: E3Alarm, E3Browser, and E3Chart
(developed by Elipse Software); Microsoft Forms (developed by Microsoft); and Report (ActiveReports, developed by
Data Dynamics). E3Alarm, E3Browser, E3Chart, and Report objects have specific chapters further in this Manual.
Microsoft Forms objects are described in another topic on this chapter.

NOTE
For ActiveX objects not previously installed by Elipse Power, these objects must be installed in all computers where
an application is executed, specially on Remote Elipse Power Viewers.

In addition to these ones, users can insert any ActiveX object. To register an ActiveX in Elipse Power, follow these
procedures:
1. Open the Tools - Manage Active X menu. The following dialog box is then displayed.

ActiveX Control configuration window


Available options for ActiveX Control configuration window
OPTION DESCRIPTION
Registered controls in Windows List with all ActiveX controls registered in Windows and
that can be added to Elipse Power

Registered controls in Elipse Power List with all ActiveX controls already registered in Elipse
Power

Register Registers the selected control in Elipse Power. If this


control is not compatible with Elipse Power, a dialog box
is then displayed warning users about this incompatibility

Remove Removes the selected control from the Registered


controls in Elipse Power list, moving it back to the
Registered controls in Windows list. Controls with an
icon cannot be removed, only the ones with an icon

Browse Opens a dialog box to search for an ActiveX file

ActiveX 280
OPTION DESCRIPTION
Refresh Allows updating ActiveX controls on the Registered
controls in Windows list, which were registered after
opening this configuration window

Close Closes the ActiveX Control configuration window

2. Click Browse to open a dialog box and locate a file that contains an ActiveX.

Locating an ActiveX file


3. Select the file and then click Open.

There are two types of ActiveX objects: Graphical (used in application Screens) and Non-Graphical (perform any data
manipulation).
Graphical objects can be inserted on an application in three different ways:
· By selecting the appropriate object on the toolbar of a Screen
· By right-clicking a Screen object in Organizer and then selecting the Insert option
· By right-clicking a Screen and selecting the Insert option

281 ActiveX
Inserting a graphical object on a Screen
Non-graphical objects can be used on applications via scripts, and they are created with VBScript's CreateObject
standard method.

14.1 Microsoft Forms


To insert one of the Microsoft Forms previously registered in Elipse Power on an application, there are two options:
1. Right-click a Screen and select the Insert - MSForms option.
2. Select the intended object on the toolbar of that Screen and click the Screen to establish the object's initial point,
dragging the mouse diagonally until the object reaches the desired size and position.

The objects from Microsoft Forms library that are available in Elipse Power are described in the next sections.

14.1.1 Check Box


Indicates whether an option is selected or not, or even if it is partially selected. It allows multiple selections inside a
group. It is inserted on a Screen by selecting the icon.

14.1.2 Combo Box


Combines the functionality of a List Box and a Text box: with this object, users can either type the value directly, or
select an item from a pre-established list. It is inserted on a Screen by selecting the icon.

14.1.3 Command Button


Used to execute specific actions when pressed, such as opening a window, printing a report, etc. It is inserted on a
Screen by selecting the icon.

14.1.4 Label
Displays text messages that cannot be edited by the user, such as control descriptions or captions. It is inserted on a
Screen by selecting the icon.

14.1.5 List Box


Displays a list of items that users can choose one or more items. It is inserted on a Screen by selecting the icon.

14.1.6 Option Button


Indicates whether an option is selected or not. Unlike the Check Box, though, only one of these objects can be selected
at a time; in Elipse Power, this control must be performed manually, via scripts that set the remaining Option Button's
Value properties as 0 (zero) when one of them is clicked. It is inserted on a Screen by selecting the icon.

ActiveX 282
14.1.7 Scroll Bar
Facilitates navigation through a long list of items, or a big amount of information either horizontally or vertically. It is
inserted on a Screen by selecting the icon.

14.1.8 Spin Button


Used to increment or decrement values by using a pair of arrows. It is inserted on a Screen by selecting the icon.

14.1.9 Text Editor


Enables users to insert and edit texts. It is inserted on a Screen by selecting the icon.

14.1.10 Toggle Button


Allows users to set one of two states to another Screen object. It is inserted on a Screen by selecting the icon.

14.2 Elipse KeyPad


Elipse KeyPad is an ActiveX control developed by Elipse Software that allows using a virtual-floating keyboard in
applications developed with Elipse Power.
This control can be activated on Elipse Power Viewer by using Viewer's E3 Viewer tab.

Viewer's E3 Viewer tab


The available options on this tab are described on the next table.
Available options for Elipse KeyPad on E3 Viewer tab
OPTION DESCRIPTION
Show when a SetPoint gets focus This options always shows Elipse KeyPad when a SetPoint
object receives focus

Hide when pressing ENTER Enables hiding Elipse KeyPad when pressing the ENTER
key. This option is equivalent to control's AutoHideOnEnter
property

Hide when pressing ESC Enables hiding Elipse KeyPad when pressing the ESC key.
This option is equivalent to control's AutoHideOnEsc
property

283 ActiveX
In scripts, KeyPad can be opened when using Application's GetKeyPad method. For more information on the
functionality of this object's properties, please check the Elipse Power Reference and Scripts Manual.

ActiveX 284
CHAPTER
Data Server
15
Data Servers are objects responsible for executing system variables, such as Internal, Demo and Timer Tags, as well as
XFolder and XObject instances. To use this feature, follow this procedure:
1. Right-click the project in Organizer and then select the Insert Data Server in option.

Inserting a Data Server


NOTE
· Data Server objects (Data Folder, Counter Tag, Demo Tag, Internal Tag, and Timer Tag) can be configured to work
as Alarm Areas.
· All options of Data Server's object views that are available via contextual menu (by using the right mouse button)
are also available by using the shortcut key SHIFT + F10, which corresponds to the application or menu key .
· The Properties Window of Data Server objects in object views can be opened by using the shortcut keys ALT +
ENTER or ALT + Double-click.

15.1 Counter Tag


A Counter Tag is an object that counts time (in seconds) up to a pre-determined value, or even indefinitely. To use this
resource, follow this procedure:
1. Right-click a Data Server and select the Insert - Panel - Counter Tag option.

285 Data Server


Inserting a Counter Tag
2. The system opens up a window asking the number of Tags to create in the Server, as well as their names. This
name is auto-incremented; if this option remains blank, Tags are created with a default name.

Adding Counter Tags


Some Counter Tag properties can be configured using the Properties List, without creating scripts for this. To configure
any property, just locate it on the Properties List and perform the necessary adjustments.

15.2 Data Folder


A Data Folder defines groups to organize variables. If necessary, new Folders can be inserted into one another. To use
this resource, follow this procedure:
1. Right-click a Data Server and select the Insert - Panel - Data Folder option.

Data Server 286


Inserting a Data Folder

15.3 Demo Tag


A Demo Tag is an object that generates values according to a wave shape, and it is used to simulate values. It allows
generating defined waves or random values. To use this resource, follow these procedures:
1. Right-click a Data Server and select the Insert - Panel - Demo Tag option.

287 Data Server


Inserting a Demo Tag
2. The system opens up a window asking the number of Tags to create in the Server, as well as their names. This
name is auto-incremented; if this option remains blank, Tags are created with a default name.

Adding Demo Tags


Some Demo Tag properties can be configured using the Properties List, without creating scripts for this. To configure
any property, just locate it on the Properties List and perform the necessary adjustments.

15.4 Internal Tag


An Internal Tag is a general-purpose object, used to store values of any type, including numbers, texts, and even other
objects. To use this object, follow these procedures:
1. Right-click a Data Server and select the Insert - Panel - Internal Tag option.

Data Server 288


Inserting an Internal Tag
2. The system opens up a window asking the number of Tags to create in the Server, as well as their names. This
name are auto-incremented; if this option remains blank, Tags are created with a default name.

Adding Internal Tags


Some Internal Tag properties can be configured using the Properties List, without creating scripts for this. To configure
any property, just locate it on the Properties List and perform the necessary adjustments.

15.5 Line Printer


A Line Printer is an object that allows printing directly to a dot-matrix printer. To use this resource, follow these
procedures:
1. Right-click the Data Server object and select the Insert - Standard - Line Printer option.

289 Data Server


Inserting a Line Printer
2. To configure a Line Printer, right-click the object and select the Properties option. The window on the next figure is
displayed.

General tab
The available options on this tab are described on the next table.

Data Server 290


Available options on General tab
OPTION DESCRIPTION
Use Windows default printer Uses Windows default printer as output for the Line
Printer object. This option corresponds to the
UseDefaultPrinter property

Select an available printer Allows selecting a printer among all printers installed on
the operating system as output for the Line Printer object.
The PrinterName property is configured with the name of
the printer selected on this option

NOTES
· If users select the Select an available printer option, but do not select any printer on the corresponding Combo
Box, the Line Printer object does not allow printing and its PrinterStatus property is configured with the value 0
(zero, psUnknown).
· Windows default printer for the currently logged-in user may be different from the default printer used by E3
Server. Please check the Printer topic for more information.
· The Line Printer object can be inserted on a Screen, on a Viewer, on a Viewer Folder, or on a Data Folder.

For printing, use the Write method, passing as its argument the String wanted. This object has the MaxPendingLines
property, which controls the maximum number of pending lines for printing. If a call to the Write method exceeds the
value configured in this property, this method returns a script error and the exceeding String is discarded.

15.6 Timer Tag


A Timer Tag is an object used for counting time and scheduling activities that establishes a time schedule, with
repetitions, to execute certain actions. To use this object, follow these procedures:
1. Right-click a Data Server and select the Insert - Panel - Timer Tag option.

291 Data Server


Inserting a Timer Tag
2. The system opens up a window asking the number of Tags to create in the Server, as well as their names. This
name is auto-incremented; if this option remains blank, Tags are created with a default name.

Adding Timer Tags


Some Timer Tag properties can be configured using the Properties List, without creating scripts for this. To configure
any property, just locate it on the Properties List and perform the necessary adjustments.

Data Server 292


CHAPTER
Database
16
An Elipse Power Database is used to store project information regarding Historic objects, Formulas, Alarms, and
Storage and it supports Access, Oracle, SQL Server, PostgreSQL, and MySQL formats.
To use this feature, right-click the project's name in Explorer mode and select the Insert - Database option. In Domain
mode, right-click the Server objects - Databases option, select the Insert Database In option, and then the project's
name.

Inserting a Database in Domain mode


When users insert a Database in an application, some options regarding Data Server types are enabled, via
Configuration tab on Properties Window, or via SourceType property on the Properties List.
Some of this object's properties can be configured via Properties List, without creating scripts for this. To configure any
of these properties, locate it on the Properties List and perform the necessary adjustments. For more information on
properties of this object, please check the Elipse Power Reference and Scripts Manual.

NOTE
A Database object can be configured to work as an Alarm Area.

16.1 Access Format


Generates a database in Access or MDB (Microsoft Access Database) format, default database for Elipse Power. To use
this feature, follow these procedures:
1. Right-click the project's name in Explorer and select the Insert - Database option. In Domain mode, right-click the
Server objects - Databases item, select the Insert Database In option, and then the project's name. The object is
then created and its script edition window is opened.
2. To configure it, go to the Configuration tab on the Properties Window.

293 Database
Configuration for Databases in Access format
The available options on this tab are described on the next table.
Available options for the Configuration tab
OPTION DESCRIPTION
Database Selects the type of Database to use in this project.
Possible values for this option are 0: stAccess, 1: stOracle,
2: stSqlServer, 3: stPostgreSQL, or 4: stMySQL. This
option corresponds to the SourceType property of a
Database object

MDB file Name of a file in MDB format used in this project. NOTE:
This option accepts an absolute path as well as a path
relative to the Domain's current folder. The full path must
exist for this file in MDB format to be created or found
correctly

DB password Password of an Access database

User User of the database connected via Elipse Power. This


option corresponds to the UserName property of a
Database object

Password Password of the user performing the logon

Test Connection Tests the connection with an Access database

3. In the Database option, select the 0 - stAccess item.


4. Type a file name, whether it exists or not, in the MDB file option, according to the previous figure.
5. If necessary, configure the User, Password, and DB Password options according to Access definitions. These
options can remain blank and, in this case, the application assumes Elipse Power's default settings.
6. Click Test Connection to check whether these settings are correct and then click OK to save these settings.

Database 294
16.2 Oracle Format
Using Oracle as a Database server for Elipse Power is only possible when installing an Oracle server or client on the
computer where an E3 Server is executing. This installation must contain OCI (Oracle Call Interface) support and OLEDB
Provider for Oracle, required for communication between Elipse Power and Oracle. To install Oracle, please refer to
this product's documentation.
Accessing an Oracle database can be performed either by accessing it from Elipse Power or via scripts. Each one of
these procedures are explained on the next topics.

16.2.1 Accessing an Oracle Server via Elipse Power


To insert a new Database in Oracle format, follow these procedures:
1. Right-click the project's name in Explorer and select the Insert - Database option. In Domain mode, right-click the
Server objects - Databases item, select the Insert Database In option, and then the project's name. The object is
then created and its script edition window is opened.
2. To configure it, go to the Configuration tab on the Properties Window.

Configuration for Databases in Oracle format


The available options on this tab are described on the next table.
Available options for the Configuration tab
OPTION DESCRIPTION
Database Selects the type of Database to use in this project.
Possible values for this option are 0: stAccess, 1: stOracle,
2: stSqlServer, 3: stPostgreSQL, or 4: stMySQL. This
option corresponds to the SourceType property of a
Database object

Connection Allows selecting a local connection, if available, or typing


the name of a connection provided by a database
administrator

295 Database
OPTION DESCRIPTION
Use ADO Oracle drivers Allows using Oracle's ADO (ActiveX Data Objects)
interfaces, so that an Elipse Power Query object
recognizes a TIMESTAMP data type, enabled in the Use
TIMESTAMP type option. Then users can read records
from Oracle databases with a precision of milliseconds.
Please check the next note for more information. This
option corresponds to the OracleUseADODrivers property
of a Database object

Use TIMESTAMP type Allows using Oracle's TIMESTAMP data type, with a
precision of milliseconds and available since version 9.0.
If this option is disabled, uses a DATE data type, with a
precision of seconds. Please check the next note for
more information. This option corresponds to the
OracleEnableTimestamp property of a Database object

User User of the database connected via Elipse Power. This


option corresponds to the UserName property of a
Database object

Password Password of the user performing the logon

Test Connection Tests the connection with an Oracle server

NOTES
· Removing the selection of the Use ADO Oracle drivers option automatically removes the selection of the Use
TIMESTAMP type option.
· Applications created in versions earlier than version 5.0, when executed in version 5.0 or later or when loading a
Database object in Elipse Power Studio, automatically select the Use ADO Oracle drivers option if the Use
TIMESTAMP type option is selected.
· In Elipse Power Studio, users are asked if they want to save that change.
· When executing this application, that change persists only during the execution, returning to the previous status
until users save that change.

3. In the Database option, select the 1 - stOracle item.


4. If the Oracle server is local, the Connection option may remain blank, because Elipse Power automatically retrieves
this information. Otherwise, the connection is created using an Oracle client installed on the computer.
5. If necessary, configure the User and Password options according to Oracle settings. Such options may remain
blank and, in this case, the application assumes Elipse Power default configurations.
6. Click Test Connection to check whether these settings are correct and then click OK to save these settings.

When inserting a Database in an application, some options regarding the type of database are enabled, which is
responsible for managing and storing information about objects that use this service.

16.2.2 Accessing an Oracle Server via Scripts


Scripts are programming language modules that allow users to create source code, which allows great flexibility to
associate actions to specific events. Each item of an Elipse Power project has a list of previously linked events. So,
users can create programs that are executed whenever an event occurs.
Elipse Power uses VBScript (Visual Basic Script) in its scripts, and thus it can instantiate any system-registered ActiveX
object. To access a Database, the most commonly used ActiveX is ADO (ActiveX Data Object), which can be easily
handled in Elipse Power scripts.
1. First, users must create an ADO connection, which can be performed by using the next script.
Set DBConnection = CreateObject("ADODB.Connection")
DBConnection.Open "Provider=MSDAORA;_
DataSource=connectionOracle;User_
ID=UserID;Password=passwd"

Database 296
2. After creating a connection, users can execute a SQL command directly through that connection using the next
script.
DBConnection.Run _
"UPDATE Table SET name = 'John' WHERE id = 10"

3. Users can also view all records, which are returned as a Recordset object by using the next script.
Set Recordset = CreateObject("ADODB.Recordset")
Recordset.Source = "Table"
Recordset.ActiveConnection = DbConnection
Recordset.CursorType = 1 ' adOpenKeyset
Recordset.LockType = 3 ' adLockOptimistic
Recordset.Open

4. Then users can browse the returned table by using the MoveNext and MovePrevious commands, as well as many
other ADO commands. Users can also use a SQL query to handle specific parts of a table, by using the Source
property.

16.2.3 Technologies Used by Elipse Power for Accessing an Oracle


Server
Elipse Power uses ADO (ActiveX Data Object) and OCI (Oracle Call Interface) technologies to access an Oracle
database.
ADO is a technology used by E3Browser and E3Chart to retrieve data stored in a database. ADO is also widely used in
Elipse Power scripts for all types of operations with a database. It is a set of COM (Component Object Model) objects
created to access DBMS (Database Management Systems) information using OLE DB (Object Linking and Embedding), and
it is available when installing OLE DB Provider for Oracle (MSDAORA), and allows access to Oracle's native interface,
OCI.
OCI is used by Elipse Power's Database object to implement database services used by Historic objects, Formulas,
Alarms, and Storage. With OCI, users have direct access to functions of an Oracle server, making this process as
optimized as possible. It provides a default database access library and data retrieval functions as a DLL or LIB, which
can be linked to an application at run time.

16.2.4 Accessing an Oracle Server via Database Object


Elipse Power's Database object uses OCI (Oracle Call Interface) to communicate with an Oracle server, that is, it uses
the native form to improve communication performance with a database.
A good example on how Elipse Power's Database object communication with an Oracle server works is the Historic
object. First, data acquisition is performed by a Historic that, with this data, immediately sends it as a request to a
database. These requests can be for creating a table, creating indexes and keys, or adding data, among others. Elipse
Power's Database object contains a separated process specially designed to receive them. Depending on the type of
operation to perform, data is formatted and saved in a temporary file or in memory.
At the same time, a Database object has another process, responsible for retrieving requests and sending them to a
database as SQL commands, by using OCI.

297 Database
Communication between Elipse Power and Oracle

16.3 SQL Server Format


With this option, users can store data in a SQL Server database.

16.3.1 Accessing a SQL Server via Elipse Power


To insert a new Database in SQL Server format, follow these procedures:
1. Right-click the project's name in Explorer and select the Insert - Database option. In Domain mode, right-click the
Server objects - Databases item, select the Insert Database In option, and then the project's name. The object is
then created and its script edition window is opened.
2. To configure it, select the Configuration tab on the Properties Window.

Database 298
Configuration for Databases in SQL Server format
The available options on this tab are described on the next table.
Available options for the Configuration tab
OPTION DESCRIPTION
Database Selects the type of Database to use in this project. Possible
values for this option are 0: stAccess, 1: stOracle, 2:
stSqlServer, 3: stPostgreSQL, or 4: stMySQL. This option
corresponds to the SourceType property of a Database
object

Server Server name

Database Database name

Network Library Network library used by ADO. Possible values for this
option are 0: Default, 1: Named Pipes, 2: Winsock TCP/IP,
3: SPX/IPX, 4: Banyan Vines, or 5: Multi-Protocol (RCP). This
option corresponds to the MsSQLNetworkLibrary property
of a Database object

Provider Selects an OLE DB data provider for accessing an SQL


Server. Possible values for this option are 1: SQLOLEDB or
2: MSOLEDBSQL (default). Please check the next note for
more information. This option corresponds to the
MsSQLProvider property of a Database object

Change connection string This option allows changing the String to connect to a SQL
Server database. The following restrictions apply to this
option:
· Performed changes ARE NOT validated by Elipse
Power. Therefore, users are fully responsible for
configuring this customized String correctly

299 Database
OPTION DESCRIPTION
· If this option is not selected, Elipse Power uses a default
format to perform this connection
· This connection String accepts the {SERVER} macro,
which is replaced by server's name configured in the
Server option, and the {DB} macro, which is replaced by
database's name configured in the Database option
This option corresponds to the UseCustomConnectionString
property of a Database object and the edition field of the
connection String corresponds to the
CustomConnectionString property of a Database object

User User of the database connected via Elipse Power.


Depending on the type of object to use in a project, they
must have different kinds of permissions. This option
corresponds to the UserName property of a Database
object

Password Password of the user performing the logon

Test Connection Tests the connection with a SQL Server

NOTE
The option for an SQLOLEDB data provider is now deprecated by Microsoft and should not be used. However,
applications created in versions previous to version 6.0 keep working normally. In case of updating these applications
to version 6.0, Elipse Power automatically adds to the connection String the compatibility parameter
"DataTypeCompatibility=80".

3. In the Database option, select the 2 - stSqlServer item.


4. If necessary, configure the User and Password options according to SQL Server's definitions. These options may
remain blank and, in this case, an application assumes Elipse Power's default settings.
5. Click Test Connection to check whether these settings are correct and then click OK to save these settings.

16.3.2 Example of Access to a SQL Server


To illustrate access to SQL Server, let's create a Historic recording data with a scan time of one second. These
procedures are shown next.
1. Create a Demo Tag. This Tag's settings do not need to be changed.
2. Double-click the Database object to open SQL Server's setup window. These parameters must be changed to
match the available settings during SQL Server's installation.
3. Perform all configurations needed on this window, such as server's name, user, password, and database.
4. After executing this configuration, configure the Historic object to access this database. To do so, create a Field in
the Historic and insert the Demo Tag created previously, which is used to send different values to the database.

A Historic object and its settings


5. Open the Properties Windows of this Historic and specify both a database server and a table name. Other settings
must remain unchanged. This table retrieves data from Elipse Power and also views SQL Server Management
Studio usage, which is a client used for queries to a SQL Server.

Database 300
6. Once Historic is configured, users must create a table structure in the database server. To do so, click Create DB
Structure . A message confirming the creation of this table structure is displayed. In case of any error, users
must locate the problem.
7. To view this Historic in action, saving data to a SQL Server, create a Screen, insert an E3Browser, and configure it to
access the database server, as previously explained in the Historic, and configure this E3Browser to be
automatically updated every 10 seconds, for example.
8. After these configurations, execute the project. After some time, the E3Browser starts displaying data sent to this
server.
9. Users can consolidate data to display in Elipse Power and stored in the server by using an E3Browser's Query
object and SQL Server Management Studio. To do so, create different queries on the database and edit them
both in the Query object and in SQL Server Management Studio. These results must be the same if the Domain is
stopped, or similar if the Domain is executing. This difference is due to constant database updates when a Domain
is executing. To edit queries in a Query object, enable the Enable SQL customization option on the SQL tab.

16.3.3 Using ADODB to Access a SQL Server via Script


To access a SQL Server via scripts, use an ADODB connection. A connection String for this type of database is defined
according to the next template.
DRIVER={SQL Server};SERVER=server;UID=login_id;PWD=password;

Using this type of access must be restricted to cases when there is no other solution. Elipse Power provides features
that aim at minimizing database access via script. However, on some circumstances this feature may be necessary.

16.4 PostgreSQL Format


To insert a new Database in PostgreSQL format, follow these procedures:
1. Right-click the project's name in Explorer and select the Insert - Database option. In Domain mode, right-click the
Server objects - Databases item, select the Insert Database In option, and then the project's name. The object is
then created and its script edition window is opened.
2. To configure it, go to the Configuration tab on the Properties Window.

Configuration for Databases in PostgreSQL format

301 Database
The available options on this tab are described on the next table.
Available options for the Configuration tab
OPTION DESCRIPTION
Database Selects the type of Database to use in this project.
Possible values for this option are 0: stAccess, 1: stOracle,
2: stSqlServer, 3: stPostgreSQL, or 4: stMySQL. This
option corresponds to the SourceType property of a
Database object

Server Allows selecting a PostgreSQL server. This option


corresponds to the Server property of the Connection to
a PostgreSQL object

Database Name of a database for connection. This option


corresponds to the Database property of the Connection
to a PostgreSQL object

Port TCP/IP port used when connecting. The default value for
this option is 5432. This option corresponds to the Port
property of the Connection to a PostgreSQL object

User User of the database connected via Elipse Power. This


option corresponds to the Login property of the
Connection to a PostgreSQL object

Password Password of the user performing the logon. This option


corresponds to the Password property of the Connection
to a PostgreSQL object

Test Connection Tests the connection with a PostgreSQL server

NOTES
The minimum version of PostgreSQL server supported by Elipse Power is 10.

3. In the Database option, select the 4 - stPostgreSQL item.


4. Configure the Server option with the name of a PostgreSQL server.
5. If needed, configure the User and Password options according to the settings of a PostgreSQL server.
6. Click Test Connection to check whether these settings are correct and then click OK to save these settings.

When inserting a Database in an application, some options regarding the type of database server are enabled, which is
responsible for managing and storing information about objects that use this service.

16.5 MySQL Format


To insert a new Database in MySQL format, follow these procedures:
1. Right-click the project's name in Explorer and select the Insert - Database option. In Domain mode, right-click the
Server objects - Databases item, select the Insert Database In option, and then the project's name. The object is
then created and its script edition window is opened.
2. To configure it, go to the Configuration tab on the Properties Window.

Database 302
Configuration for Databases in MySQL format
The available options on this tab are described on the next table.
Available options for the Configuration tab
OPTION DESCRIPTION
Database Selects the type of Database to use in this project.
Possible values for this option are 0: stAccess, 1: stOracle,
2: stSqlServer, 3: stPostgreSQL, or 4: stMySQL. This
option corresponds to the SourceType property of a
Database object

Server Allows selecting a MySQL server. This option corresponds


to the Server property of the Connection to a MySQL
object

Database Name of a database for connection. This option


corresponds to the Database property of the Connection
to a MySQL object

Port TCP/IP port used when connecting. The default value for
this option is 3306. This option corresponds to the Port
property of the Connection to a MySQL object

User User of the database connected via Elipse Power. This


option corresponds to the Login property of the
Connection to a MySQL object

Password Password of the user performing the logon. This option


corresponds to the Password property of the Connection
to a MySQL object

Test Connection Tests the connection with a MySQL server

303 Database
NOTES
The minimum version of MySQL server supported by Elipse Power is 8.0.11.

3. In the Database option, select the 4 - stMySQL item.


4. Configure the Server option with the name of a MySQL server.
5. If needed, configure the User and Password options according to the settings of a MySQL server.
6. Click Test Connection to check whether these settings are correct and then click OK to save these settings.

When inserting a Database in an application, some options regarding the type of database server are enabled, which is
responsible for managing and storing information about objects that use this service.

16.6 Elipse Power Objects and Permissions


Users must configure permissions on a database to use Elipse Power objects in a project. These permissions are listed
on the next table.
Available options for permissions
OBJECT PERMISSION
Formula Full permission

User historic Reading and querying existing tables

Historic Full permission

Storage Full permission

Alarm Server Full permission

Regarding permissions, a Full permission expression means users are granted permission to:
· Create or remove existing tables
· Create indexes and keys
· Create and execute stored procedures and functions
· Insert and exclude data from tables already created
· Perform queries on resulting tables

Users do not need to be Administrators to have full permission on any object.

Database 304
CHAPTER
Queries
17
A Query object helps in the process of defining Database queries of an application. Every time an E3Browser or a
Report object searches for data on a Database, users must send a command, so that they know which data is needed
for that object. Therefore, every time an application needs to store or retrieve data from a Database, commands are
sent in SQL (Structured Query Language) format. A Query features a friendly interface that allows building queries in a
graphical form and an immediate preview of the generated SQL code. A Query allows showing data from the last N
days, hours or months, final and initial date, and queries.
The Query wizard is responsible for creating a text that builds a filter or query, and users have no need to know details
such as dates. To use this feature, follow these procedures:
1. Right-click a project's Screen and select the Insert - Standard - Query option.

NOTE
When creating a Report or an E3Browser object, a Query object is automatically added to these objects. However,
users can also insert this object on a Data Folder, on a Screen, on a Viewer, or on a Viewer Folder. For more details,
please check the corresponding chapters.

2. Before defining a Query, users must inform a Database Server that this Query uses to retrieve data. To do so,
select a server on the Server Name combo box.

Defining a Database Server


Setting up a Query depends on the object to which it is linked.

305 Queries
Query settings
To check which settings are required for a Query, please check chapters Report and E3Browser.
Some of the properties of a Query can be configured using the Properties List, without creating scripts for this. To
configure any property, locate it on the Properties List and perform the necessary adjustments. For more information,
please check the Elipse Power Reference and Scripts Manual.

17.1 Creating a Query


When creating an E3Browser or a Report in a project, a Query is automatically inserted as a child object, named
"Query1". To use this feature, follow these procedures:
1. When right-clicking a Query and selecting the Configure option, the window on the next figure is then displayed
asking for an application's Database Server.

Definition of a Database Server in a Query


2. After defining a Database server, a new window is then displayed with all tables found on that Database, allowing
their selection.

Queries 306
Adding a table
3. Select all tables to use in this query and then click OK.
4. After defining all tables, the Query's definition window is displayed containing the Fields, Variables, Visualize, and
SQL tabs, according to the next figure.

Query setup
These tabs are described on the next topics.

307 Queries
17.1.1 Fields Tab
This tab displays all fields from tables used in a Query. When clicking , users can select other tables for this Query.

Inserting a table
To select all table fields to use in a Query, select the first item on the list box, which corresponds to an asterisk
character (*). To add a specific field, simply select its corresponding check box.

Selecting fields from a table


Due to performance issues, it is important to add to a Query only fields that are really interesting for analysis.
On the columns' area, the selected fields are displayed according to the next figure.

Columns' area
Each column displays properties for each field on the selected table or tables, according to the next table.
Available options to configure columns
OPTION DESCRIPTION
Columns Shows the name of the selected columns. When clicking
the combo box of each row, users can redefine that
column

Title Allows defining a new name for this column, also known
as an alias

Queries 308
OPTION DESCRIPTION
Table Shows the name of a table that this field belongs to

Show Enables or disables this field

Ordering Allows sorting the values. Possible values are No sorting,


Ascending (lesser values first), and Descending (greater
values first)

Order Defines a priority when more than one field is sorted

Group by Allows data to be grouped at each new value of the


current field

Function Allows defining a function to be executed for this field

Filter Defines query's criteria, such as date intervals

When defining a filter, the window on the next figure is displayed, allowing users to define a type of comparison and a
value to compare.

Filter Definition window


A comparison data type can be defined when clicking the corresponding combo box, and then selecting one of the
types on the list box.

309 Queries
Settings to define a data type
A comparison value can be a constant, such as 123, 45, or "ABCD", or else a user-defined variable. To create a variable,
inform any variable name using one of the the next formats.
· <% %> if this value is a number
· '<% %>' if this value is a String
· #<% %># if this value is a date

The value of a variable can be defined on the Variables tab or via script by using the SetVariableValue method.

17.1.2 Variables Tab


This tab allows defining default values for user-defined variables. These variables may also have their values changed
at run time by using the SetVariableValue method.

Queries 310
Variables tab
The columns of this tab are described on the next table.
Available options for the Variables tab
OPTION DESCRIPTION
Name The name of a user-defined variable

Value A combo box where a value's data type can be defined.


The available options are Empty, NULL, Boolean, Char,
Byte, Integer, Word, Long, Dword, Currency, Single,
Double, Date, Decimal, and String

17.1.3 Visualize Tab


This tab displays a preview of Query results when clicking . Users can also define a maximum number of records to
retrieve, to display results faster.

311 Queries
Visualize tab

17.1.4 SQL Tab


This tab displays the resulting SQL syntax of all settings performed on the Fields and Variables tabs. Users can edit a
query directly by selecting the Enable SQL customization option.

SQL tab
When deselecting the Enable SQL customization option, all changes are lost and this Query returns to the options
selected on the Fields, Variables and Visualize tabs.

Queries 312
Warning when disabling SQL customization

17.2 Using Query Filters via Scripts


To setup and confirm whether a Query is correct is only one of the steps to use it. Runtime usage and modifications on
filter values for a Query can be checked in the next script. The SetVariableValue method is responsible for configuring a
Query, according to values passed via script.
Set query = Screen.Item("E3Browser1").Item("Query1")
Query.SetVariableValue "IniDate", _
Application.GetObject("Data.InternalTag1").Value
Query.SetVariableValue "FinalDate", _
Application.GetObject("DataFH.InternalTag2").Value
Screen.Item("E3Browser1").Requery()

The Requery method allows new Query parameters to be really used, as a new Query is executed by respecting these
new values.

17.3 Using Query Recordsets via Scripts


Another interesting usage of Queries is when working with Recordsets. After executing a Query, users can capture the
corresponding Recordset and then work with records row by row or execute new Queries, for example. In the next
command line:
RS = InitialScreen.E3Browser1.Query1.GetADORecordset()

The RS variable assumes all features of a Recordset. The advantage of using this feature is that if database properties
change, there is no need to adjust every script that uses this database.

313 Queries
CHAPTER
Alarms
18
Elipse Power provides a set of objects that allows users to monitor alarms in an application. With them, users can
specify and manage alarms and events of variables from a process. Alarm conditions can be managed in several
sources. This system is formed by a centralizing object, an Alarm Server, and one or more configuration objects,
named Alarm Configuration. The next topics contain detailed information about these objects.

18.1 Alarm Configuration


An Alarm Configuration object is where Areas are inserted and organized. To insert this object in a project, follow this
procedure:
1. Right-click the project's name in Explorer mode and select the Insert - Alarm Configuration In option. In Domain
mode, right-click the Server Objects - Alarms item, select the Insert Alarm Configuration In option, and then the
project's name.

Inserting an Alarm Configuration object

NOTES
· All options of Alarm Configuration's and Alarm Area's object views that are available via contextual menu, by using
the right mouse button, are also available by using the shortcut key SHIFT + F10, which corresponds to the
application or menu key .
· The Properties Window of Alarm Configuration and Alarm Area objects in object views can be opened by using the
shortcut keys ALT + ENTER or ALT + Double-click.

18.1.1 Alarm Areas


Alarm Areas allow grouping a set of Alarm Sources, as well as other Areas. This makes managing, operating, and
monitoring a set of related alarm sources easier, such as:
· Filtering a visible set of alarms in the Summary
· Enabling or disabling a set of Alarm Sources
· Acknowledging a set of Alarm Sources
· Checking the number of active or unacknowledged Alarms of a set of Alarm Sources

Alarms 314
If needed, new Areas can be inserted within others. To insert this object, follow this procedure:
1. Right-click the Alarm Configuration object or an Area object in Explorer mode and select the Insert - Area option.
In Domain mode, right-click the Alarm Configuration object and select the Insert - Area item.

Inserting an Alarm Area


Some properties of this object can be configured in the Properties List, without scripts. To configure any property,
locate it on the Properties List and proceed with the necessary adjustments. More information on the functionality of
this object's properties can be found on the Elipse Power Reference and Scripts Manual, in its respective chapter.

18.1.1.1 Server Objects as Alarm Areas


Server objects have the possibility of behaving as Alarm Areas. These objects have an additional tab, Alarms Area,
where this behavior can be enabled and configured. The next figure shows that tab on an I/O Driver.

315 Alarms
Alarms Area tab
The available options on this tab are described on the next table.
Available options on the Alarms Area tab
OPTION DESCRIPTION
Work as Alarms Area Enables or disables an Alarm Area behavior for a Server
object. This option corresponds to the IsAlarmArea
property of an object

Check alarms Enables or disables Alarm check on an object. This option


corresponds to the AlarmVerify property of an object

User fields Please check topic User Fields Settings for more
information

Other information about the functionality of this object's properties can be found on Elipse Power Reference and
Scripts Manual, in its respective chapter.

18.2 Alarm Filter


An Alarm Filter object allows specifying Alarm Filters just like an E3Alarm, except that it does not have a graphical
representation that can be displayed on a Screen. Instead, the result of this filtering can be consumed through several
Alarm counters or through the Collection of Events.

NOTES
· An Alarm Filter object can be inserted on a Screen, on a Viewer, on a Viewer Folder, or on a Data Folder.
· Alarms cannot be acknowledged using an Alarm Filter.

To insert this object on a Screen, for example, follow this procedure:


1. Right-click a Screen and select the Insert - Standard - Alarm Filter option.

Alarms 316
Insert - Standard - Alarm Filter option
Some properties of this object can be configured on the Properties List, without creating scripts for this. If users need
to configure a property, locate it on the Properties List and perform the necessary adjustments.

18.2.1 Configuration
To configure an Alarm Filter, right-click this object and select the Properties option.

317 Alarms
18.2.1.1 Connections Tab
The Connections tab allows managing Alarm Filter connections with local or remote Alarm Servers.

Connections tab
The available options on this tab are described on the next table.
Available options on the Connections tab
OPTION DESCRIPTION
Add Connection Adds a new Connection to an Alarm Filter. This option
corresponds to the Add method of the Collection of
Connections

Remove Connection Removes the selected Connection. This option


corresponds to the Remove method of the Collection of
Connections. NOTE: The Connection created automatically
with an object cannot be removed

Connection Name Name of this Connection. Press the F2 key to edit this
name. This option corresponds to the ConnectionName
property of a Connection object on the Collection of
Connections

Server Name Friendly name to identify a Domain from the selected


Alarm Server. This option corresponds to the
DomainName property of a Connection object on the
Collection of Connections

Alarm Server Name of an Alarm Server, which can be a local Domain or


a Remote Domain. This option corresponds to the
AlarmServer property of a Connection object on the
Collection of Connections. Click to select an Alarm
Server using AppBrowser

Connection Filter Name of a Filter that contains the configuration of the


Alarm Filter, defined on the Filters tab. This option
corresponds to the FilterConnection property of a
Connection object on the Collection of Connections

Alarms 318
18.2.1.2 Filters Tab
The Filters tab allows managing Filters from an Alarm Filter.

Filters tab
The available options on this tab are described on the next table.
Available options on the Filters tab
OPTION DESCRIPTION
Filters Option with the currently available Filters

Configure Opens a configuration window for the selected Filter,


described next

Add Adds a new Filter to the Collection of Filters. This option


corresponds to the Add method of the Collection of
Filters

Remove Removes the selected Filter. This option corresponds to


the Remove method of the Collection of Filters. NOTE: The
Filter created automatically with an object cannot be
removed

When clicking Configure, the window on the next figure is opened to configure the selected Filter.

319 Alarms
Properties of the selected Filter
The available options on this window are described on the next table.
Available options on the properties window of a Filter
OPTION DESCRIPTION
Name Name of this Filter. This option corresponds to the
FilterName property of a Filter object from the Collection
of Filters

Filter by Alarm Area Determines a Filter by Alarm Area. If users want to use a
Filter, specify it in this option or leave it blank. This option
is equivalent to the AreaFilter property of a Filter object
from the Collection of Filters

Simple Area Filter If the Filter by Alarm Area option is not blank, this
option is enabled and, if selected, filtering by Area is
based only on matching the initial part of a name.
Otherwise, it considers the entire name of an Area. This
option is equivalent to the SimpleAreaFilter property of a
Filter object from the Collection of Filters

Use custom filter Allows informing a custom Filter for Alarms. This option
corresponds to the CustomFilter property of a Filter
object from the Collection of Filters

Filter not sensitive to accentuation If the Use custom filter option is not blank, this option is
enabled and, if selected, ignores diacritic characters in
the expression of that custom Filter. Otherwise, diacritic
characters are considered in the search. This option is
equivalent to the IgnoreDiacritics property of a Filter
object from the Collection of Filters

Filter by type Enables the type of Filter applied to an Alarm. Available


options are Only alarms, Only events, or Alarms and
events. This option is equivalent to the FilterType property
of a Filter object from the Collection of Filters

Alarms 320
OPTION DESCRIPTION
Filter by severity Enables or disables viewing severity degrees. Available
options are Critical, High, Medium, or Low. This option
is equivalent, respectively, to the ShowCriticalPriority,
ShowHighPriority, ShowMediumPriority, and
ShowLowPriority properties of a Filter object from the
Collection of Filters

18.2.1.3 Ordering Tab


The Ordering tab allows configuring the default sort order of Alarms. When more than one sorting Field is used, the
subsequent Fields allow sorting among Alarms that have the same value or values for the previous Field or Fields.

Ordering tab
The available options on this tab are described on the next table.
Available options on the Ordering tab
OPTION DESCRIPTION
By field Sorts the Alarms according to the specified Field. This
option is equivalent to the PrimarySortField property of an
Alarm Filter object. Default sort order is performed using
the InTime Field, in descending order

Then by Sorts the Alarms starting at the item specified in the By


field option. The next item is sorted based on the
specification indicated in Then by options. These options
are equivalent to the SecondarySortField , ThirdSortField ,
and FourthSortField properties of an Alarm Filter object,
respectively

Ascending Sorts the Alarm Fields in ascending order. These options


are equivalent to the PrimarySortAscending,
SecondarySortAscending, ThirdSortAscending, and
FourthSortAscending properties of an Alarm Filter object
set to True, respectively

Descending Sorts the Alarm Fields in descending order. These options


are equivalent to the PrimarySortAscending,
SecondarySortAscending, ThirdSortAscending, and
FourthSortAscending properties of an Alarm Filter object
set to False, respectively

321 Alarms
18.3 Alarm Server
An Alarm Server object centralizes all Alarms in a project. In it, users can find the total number of active Alarms in an
application, acknowledged or not. This object is also responsible for reporting Alarm Events to all connected Elipse
Power Viewers, as well as sending these Events to a database, if necessary.
An application can only have one object of this type, and its presence is mandatory to perform an Alarm verification. To
insert an Alarm Server, follow this procedure:
1. Right-click the project's name in Explorer mode and select the Insert - Alarm Server In option. In Domain mode,
right-click the Server objects - Alarms item, select the Insert Alarm Server In option, and then the project's name.

Inserting an Alarm Server in Domain mode

18.3.1 Configurations for Alarm Table Generation


To specify configurations for an Alarm Server, right-click this object and select the Properties option.
On the Configuration tab, users can specify Database settings and determine Fields to generate an Alarm table.

Alarms 322
Configuration tab
The available options on this tab are described on the next table.
Available options for the Configuration tab
OPTION DESCRIPTION
Store alarms on a database Enables or disables storing Alarm data on a database.
This option is equivalent to the Logging property of an
Alarm Server object

Database Server Defines which Database server stores Alarm data. This
option is equivalent to the DataSource property of an
Alarm Server object

Table name Defines the name of an Alarm table. This option is


equivalent to the TableName property of an Alarm Server
object

Discard data from the main table Enables or disables discarding data from the main table.
Data is considered old according to the Discard data
older than option. This option is equivalent to the
EnableDiscard property of an Alarm Server object

Discard data older than Determines a time interval, in minutes, hours, days, or
months, during which data is kept on the main table. If
data is older than the interval on this option, it is
discarded. This option is equivalent to the DiscardInterval
property of an Alarm Server object and the option to
select a time unit for this interval is equivalent to the
DiscardTimeUnit property of an Alarm Server object

Perform discard every Performs an Alarm verification, according to the period


specified in this option, in minutes, hours, days, or
months. This option is equivalent to the VerificationInterval
property of an Alarm Server object and the option to
select a time unit for this interval is equivalent to the
VerificationUnit property of an Alarm Server object

323 Alarms
OPTION DESCRIPTION
Move discarded data to the backup table Enables or disables storing discarded data on a
secondary or backup table. This option is equivalent to
the EnableBackupTable property of an Alarm Server object

Discard from backup data older than Determines a maximum time interval, in minutes, hours,
days, or months, for data on the backup table until it is
discarded, regardless of the time data remains on the
main table. For example, to keep data for 24 months on
the main table and six more months on the backup table,
this option's value must be 30 months. This interval must
be longer than the one configured in the Discard data
older than option of the main table. This option is
equivalent to the BackupDiscardInterval property of an
Alarm Server object and the option to select a time unit
for this interval is equivalent to the BackupDiscardTimeUnit
property of an Alarm Server object

Fields Determines which Alarm's Event Fields are added to the


Alarm table, and in which order those columns are
displayed

Create table Generates an Alarm table on the specified Database

Exclude suppressed alarms from alarm counters Enables or disables excluding suppressed Alarms from
Alarm counters. This option is equivalent to the
ExcludeSuppressedAlarmsOnCounters property of an Alarm
Server object

The available Fields on the Alarm Server to generate an Alarm table are described on the next table.
Available fields for Alarm Field tables
FIELD DESCRIPTION
Acked Informs whether an Alarm was acknowledged or not.
Possible values for this Field are 0: Not acknowledged or
1: Acknowledged

AckRequired Determines an automatic acknowledgment for this Alarm.


Possible values for this Field are 0: Automatic
acknowledgment or 1: Manual acknowledgment

AckTime Stores Elipse Power's date and time at the moment an


Alarm is acknowledged, or zero (12/30/1899) while it is not
acknowledged. For Alarms that do not require
acknowledgment, this Field assumes Elipse Power's
timestamp at the moment this Alarm becomes active

AckTimeDbl Corresponds to the AckTime Field as a number in Double


format. This Field is used to easily store date and time
data types on Oracle or SQL Server databases

AckTimeMS Corresponds to the AckTime Field as a value in


milliseconds. This Field is used to easily store date and
time data types on Oracle databases

ActiveSource Active Measurement Source of an object. For E3, this value


is always equal to -1 (minus one). For Elipse Power, please
check E3Alarm's CustomFilter property for possible values
of this Field

ActorID Name of the operator who acknowledged this Alarm.


Possible values for this Field are the following:
· The user logged on Elipse Power Viewer when
acknowledgment happened on E3Alarm or "No user" if
there is no user logged in

Alarms 324
FIELD DESCRIPTION
· "System", when acknowledgment is automatic, that is, for
Alarms that do not require acknowledgment
· A name passed via script, such as when using Alarm
Server's AckArea, AckAllAlarms, or LogTrackingEvent, or
Alarm Source's Ack methods
This Field's default size is 50 characters

AlarmArea For Alarm Events, this is the name of the Area this Alarm
Source belongs to. For other Events, such as when using
Alarm Server's LogTrackingEvent method, it can be a user-
defined text. This Field's default size is 100 characters

AlarmSourceName Stores Alarm Source's name. This Field's default size is 100
characters

AllowShelving Indicates whether this Event can be shelved or not

ChangeMask Not used and its value is always equal to 0 (zero)

ConditionActive Indicates whether this Alarm Source is in alarm. Possible


values for this Field are 0: Inactive condition or 1: Active
condition

ConditionName Name of this condition, if it is an Alarm Event. Possible


values for this Field are DeadBand: Dead-Band-type Alarm
Source, Digital: Digital-type Alarm Source, Level: Analog-
type Alarm Source, or RateOfChange: Rate-Of-Change-
type Alarm Source. For Events that are not Alarms, such as
when using Alarm Server's LogTrackingEvent method, this
value is always an empty String. This Field's default size is
100 characters

Cookie Value associated to this Alarm Source, used internally by


an Alarm Server

CurrentValue Determines Alarm Source's value, converted to Double, at


the time of the Event. For other Events, such as when using
Alarm Server's LogTrackingEvent method, this value is
always zero (0)

Deleted Determines whether this Alarm was removed. An Alarm can


only be removed if its Unbound Field is set to True

E3TimeStamp Date and time of the computer at the time of this Event

Enabled Determines whether Alarm check is enabled or not.


Possible values for this Field are 0: Alarm Source's check
disabled or 1: Alarm Source's check enabled

EventCategory Category of this Event. For Alarms, possible values for this
Field are DeadBand: Dead-Band-type Alarm Source,
Digital: Digital-type Alarm Source, Level: Analog-type
Alarm Source, or RateOfChange: Rate-Of-Change-type
Alarm Source. For other Events, such as when using Alarm
Server's LogTrackingEvent method, it may assume user-
defined values. This Field's default size is 100 characters

EventCLSID Unique identifier for an Alarm's lifetime. When a new Alarm


occurs on a Source, a new identifier is then generated.
Thus, this Alarm keeps the same identifier on the database
while it is still on the list of active and unacknowledged
Alarms

EventTime Date and time of a Tag value linked to the Alarm Source at
the time of this Event

325 Alarms
FIELD DESCRIPTION
EventTimeDbl Corresponds to the EventTime Field as a value in Double
format. This Field is used to easily store date and time
data types on Oracle or SQL Server databases

EventTimeMS Corresponds to the EventTime Field as a value in


milliseconds. This Field is used to easily store date and
time data types on Oracle databases

EventTimeUTC Corresponds to the EventTime Field relative to Greenwich


time. This Field is kept in Elipse Power for compatibility
reasons

EventType Type of an Event. For Alarm Events, it is always equal to


"Condition". For other Events, it can be a user-defined text,
such as when using Alarm Server's LogTrackingEvent
method ("Tracking", "Simple"). This Field's default size is
100 characters

FormattedValue Shows an Alarm Source's formatted value that is stored for


the Event. This Field's default size is 100 characters. NOTE:
This is a read-only Field

FullAlarmSourceName Stores an Alarm Source's full path, including Areas, Alarm


Configuration, and possible Folders where it might be
inserted. For example,
"Folder1.AlarmConfig1.Area1.AlarmSource1". This Field's
default size is 100 characters

InTime Stores value's date and time, at the moment it enters an


alarm condition

InTimeDbl Corresponds to the InTime Field as a number in Double


format. This Field is used to easily store date and time
data types on Oracle or SQL Server databases

InTimeMS Corresponds to the InTime Field as a value in


milliseconds. This Field is used to easily store date and
time data types on Oracle databases

Message Text configured on an Alarm Source or specified by


another Event, such as when using Alarm Server's
LogTrackingEvent method. This Field's default size is 200
characters

OutTime Stores value's date and time at the moment it leaves an


alarm condition or zero (12/30/1899) if this Alarm has not
left its active condition yet

OutTimeDbl Corresponds to the OutTime Field as a number in Double


format. This Field is used to easily store date and time
data types on Oracle or SQL Server databases

OutTimeMS Corresponds to the OutTime Field as a value in


milliseconds. This Field is used to easily store date and
time data types on Oracle databases

Quality Quality of an Alarm Source's value at the moment of an


Event. Possible values for this Field are 0 - 63: Bad quality,
64 - 127: Uncertain quality, 128 - 191: Undefined value, or
192 - 255: Good quality. If this Event is not an Alarm, such
as when using Alarm Server's LogTrackingEvent method,
this Field is equal to an empty String. This Field's default
size is 50 characters

Alarms 326
FIELD DESCRIPTION
SequentialNumber Stores a sequential index of the order in which an Alarm
Event was generated. This index ranges between 0 (zero)
and 2147483647. Whenever a Domain is stopped, this
index is zeroed, therefore this Field must not be used as a
general sorter of Alarms, but rather as a tie-breaking
criteria if there are two records with the same timestamp

Severity Severity value configured on an Alarm Source. Possible


values for this Field are -2: Critical, 0: High, 1: Medium, or
2: Low. This Field can also assume another user-defined
value if it is an Event, such as when using Alarm Server's
LogTrackingEvent method. This Field's default size is 20
characters

ShelveActorID Name of the operator who shelved this Event. Please check
the ActorID Field for more information about the content
of this Field

ShelveCount Number of times this Event was shelved

Shelved Indicates whether this Event was shelved or not

ShelvedOutTime Stores the date and time of the moment this Event is
unshelved

ShelvedTime Stores the date and time of the moment this Event is
shelved

ShelveDuration Time, in minutes, this Event remained shelved

ShelveMaxCount Maximum number of times this Event can be shelved

ShelveMaxDuration Maximum time, in minutes, this Event can remain shelved

ShelveReason Reason why this Event was shelved. This Field's limit size is
150 characters

Source For Alarm Events, it informs an expression used to evaluate


alarm conditions. This Field's default size is 100 characters

SubConditionName Name of a Sub-condition, if it is an Alarm Event. Possible


values for this Field are DB: Dead Band Alarm, DIG: Digital
Alarm, RC: Rate Of Change Alarm, LOLO: Analog Alarm in
LoLo range, LO: Analog Alarm in Lo range, HI: Analog
Alarm in Hi range, or HIHI: Analog Alarm in HiHi range. If
this Event is not an Alarm, such as when using Alarm
Server's LogTrackingEvent method, this Field is always an
empty String. This Field's default size is 100 characters. For
Discrete-type Alarm Sources, this Field assumes the name
of a user-defined Sub-condition on the Discrete tab of this
Alarm's properties

Suppressed Indicates whether this Alarm was suppressed by shelving


or by design

SuppressedTime Date and time when this Alarm was suppressed by shelving
or by design

Unbound Indicates whether this Alarm is not linked to an Alarm


Source

User Fields These are user-defined Fields. These Fields are configured
on Alarm Server's User fields tab

327 Alarms
NOTES
· To monitor Alarms, users must have an Alarm Server configured in the Domain.
· EventTimeMS, InTimeMS, OutTimeMS, and AckTimeMS Fields are not available in an E3Alarm, because in this
object users can view milliseconds using the format options of date and time columns.
· Changing the size of Text-type Fields to a value less than the current size, in Fields that already have data, may lead
to truncation or loss of this data.

After defining all these configurations, an application starts inserting and storing information on the Alarm table,
according to Field specifications. When clicking Create Table, Elipse Power Studio generates an Alarm's data table
according to these specifications, and informs whether this table was successfully generated.

Message from an Alarm Server


The structure of an Alarm table is similar to a Historic object, composed by a definitions table, a main table, and an
optional backup table.

Fields table
Fields generated on this table are explained on topic Table Settings of Historic chapter.
By using Alarm Server's configuration window, users can specify a Database Server used to store Alarms. A Database
Server, a DBServer object, is an Elipse Power module that must be inserted in an application.

Alarms 328
18.3.2 User Fields Settings
The User fields tab allows adding arbitrary values to Alarm Events.

User fields tab


The available options on this tab are described on the next table.
Available options on the User fields tab
OPTION DESCRIPTION
Name Specifies this Field's name

Type Specifies this Field's type. Available options are 0: String,


1: Integer, 2: Double, or 3: DateTime

Size Specifies this Field's size

Source Specifies this Alarm's data source

Propagate? Forces an immediate update on all Alarms that inherit


this User Field's value, whenever it receives a forced
value or if its Link changes

Add User Field Adds a User Field to the end of this list

Remove User Field Removes the last User Field from this list

User Fields can only be included to or excluded from the end of this list. Excluding User Fields from this list reflects on
all Alarm Areas and Sources related to this Alarm Server, but only if the removed Fields were not configured with a
forced value or a Link. Otherwise, these Fields still appear on Alarm Areas and Sources. The next figure shows an
Analog Alarm with User Fields inherited from an Alarm Server.

329 Alarms
Inherited User Fields
User Fields can be copied and pasted between objects. To do so, configure the User Fields, right-click the object and
select the Copy User Fields option. Then, right-click the destination object and select the Paste User Fields option,
according to the next figure.

Options to copy and


paste User Fields

NOTES
· Whenever an object contains forced values in User Fields, that is, values not inherited from upper Areas, a message
is displayed asking for confirmation to overwrite these values.
· For more information about the behavior of a User Field from Alarm Areas and Sources, in Elipse Power Studio
and at run time, please check the Link, Value, and ValueSource properties on Elipse Power Reference and Scripts
Manual.

Alarms 330
18.4 Alarm Sources
All information relative to Alarm conditions is defined in Alarm Sources, as well as the types of Events that must be
generated for each condition. Alarm Sources always contain an alarm expression or a data source, whose value can be
checked according to several available conditions. The available Sources are Analog Alarm, Dead band Alarm,
Digital Alarm, Discrete Alarm, and Rate-of-Change Alarm.

NOTE
An Alarm Source object can be created inside any Server object.

To insert this object, follow this procedure:


1. Right-click the Server object in Explorer mode and select the Insert - Alarm option (Analog, Dead Band, Digital,
Discrete, or Rate of Change). In Domain mode, select an object in Server objects item and then select the Insert -
Alarm option (Analog, Dead Band, Digital, Discrete, or Rate of Change).

Inserting an Alarm Source


Some of these object's properties can be configured on the Properties List, without scripts. To configure any property,
locate it on the Properties List and proceed with the necessary adjustments. More information on the functionality of
this object's properties can be found on the Elipse Power Reference and Scripts Manual.
In each Alarm Sub-condition, users can configure its limits, an Event-related message, its severity, as well as the need
for acknowledging this Event or not.

331 Alarms
Alarm Sources
On the Properties window of any Alarm Source, select the Source tab to display the window on the next figure.

Source tab
The available options on this tab are described on the next table.
Available options on the Source tab
OPTION DESCRIPTION
Data source An expression that must be evaluated to determine
whether this Alarm can occur or not. This option
corresponds to the Source property of all Alarm Source
objects

Handle this alarm as an event Indicates that this is an Event-type Alarm, that is, when
activated, it is acknowledged by the "System" user. This
option corresponds to the Event property of all Alarm
Source objects

Double Acknowledgment Indicates that this Alarm can be acknowledged when


active and when inactive. This option corresponds to the
DoubleAckRequired property of all Alarm Source objects

Select the Suppression tab to display the window on the next figure.

Alarms 332
Suppression tab
The available options on this tab are described on the next table
Available options on the Suppression tab
OPTION DESCRIPTION
Alarm suppression condition An expression that must be evaluated to determine if this
Alarm can be suppressed by shelving or by design

Treat suppressed alarms as events Indicates that this Alarm suppressed by shelving or by
design must be treated as an Event. This option
corresponds to the SuppressedAsEvent property of all
Alarm Source objects

Exclude suppressed alarms from alarm counters Ignores Alarms suppressed by shelving or by design
from an Alarm Area in the general Alarm counters. This
option corresponds to the
ExcludeSuppressedOnAreaCounters property of all Alarm
Source objects

All Alarm Sources have the general properties described on the next table.
General properties of Alarm Sources
PROPERTY DESCRIPTION
Message Text This message is stored in Alarm Event's Message Field
while it is active, that is, it can be viewed on an E3Alarm
or stored on a database. This message text is limited to
200 characters

Severity Indicates the severity of an Alarm, that is, Critical, Low,


Medium, or High. The Severity Field is used for building
Filters and for sorting messages

Need Ack Indicates whether this Alarm must be acknowledged by an


operator to be removed from an E3Alarm's Alarm list, or
if it is automatically acknowledged when a variable leaves
an alarm condition

Return Message This message is stored in the Alarm Event's Message


Field when it is inactive, that is, it can be viewed on an
E3Alarm or stored on a database

There are several types of Alarm Sources that can be inserted into Server objects. The available options are described
on the next topics.

333 Alarms
18.4.1 Analog Alarm
Allows monitoring an analog variable by specifying up to four alarm levels, which are LoLo (Very Low), Lo (Low), Hi
(High), and HiHi (Very High).

Analog tab
The available options on this tab are described on the next table.
Available options for the Analog tab
OPTION DESCRIPTION
Subcondition Name of this Alarm's Sub-condition. Available options are
LoLo, Lo, Hi, or HiHi

Enabled? Enables checking the selected Alarm's Sub-condition

Limit Indicates a level in which this Alarm's Sub-condition is


triggered

Message Text Allows specifying a text displayed to users when this


Alarm's Sub-condition is active

Severity Determines a severity for this Alarm's Sub-condition.


Available options are Critical, High, Medium, or Low

Need Ack? Enables or disables the acknowledgment of this Alarm's


Sub-condition

Event? Enables or disables handling this Alarm's Sub-condition


as an Event

Allow shelving? Enables or disables shelving this Alarm's Sub-condition

Shelve maximum duration Maximum time, in minutes, this Alarm's Sub-condition can
remain shelved. Default value of this option is 60, that is,
one hour

Maximum shelve count Maximum number of times this Alarm's Sub-condition can
be shelved. Default value of this option is 0 (zero), that is,
no limit

Delay (ms) Specifies a delay time, in milliseconds. When this value is


equal to 0 (zero, default), no delay is applied

Deadband Enables a dead band, which is a feature used to avoid a


variable, when oscillating around an alarm's limit, to
generate an unnecessary number of messages

Return message Allows specifying a text displayed to users when this


Alarm is not in an active condition

Alarms 334
18.4.2 Dead-band Alarm
Allows monitoring an analog variable by specifying a maximum difference limit or a dead band value, relative to a
reference value or a setpoint.

Dead Band
This type of Alarm is indicated when a reference or setpoint varies, and also when users want to avoid an unnecessary
number of Alarms for small oscillations in the monitored variable.

Dead band tab


The available options on this tab are described on the next table.

335 Alarms
Available options for the Dead band tab
OPTION DESCRIPTION
Enable Enables a dead band

Setpoint A Link to a reference variable, so that users can monitor a


difference relative to a monitored variable

Value Indicates the difference between the monitored variable


and the setpoint, from which this Alarm must be
indicated. It must be informed in engineering units of the
monitored variable

Message text Allows specifying a text displayed to users when this


Alarm is in an active condition

Severity Specifies an Alarm level's severity. Available options are


Critical, High, Medium, or Low

Need Ack Enables or disables Alarm acknowledgment

Delay (ms) Specifies a delay time, in milliseconds. When this value is


equal to 0 (zero, default), no delay is applied

Return message Allows specifying a text displayed to users when this


Alarm is not in an active condition

Allow shelving Enables or disables shelving this Alarm

Maximum shelving time Maximum time, in minutes, this Alarm can remain shelved.
Default value of this option is 60, that is, one hour

Maximum shelve count Maximum number of times this Alarm can be shelved.
Default value of this option is 0 (zero), that is, no limit

18.4.3 Digital Alarm


Allows monitoring a digital variable by specifying whether this alarm is rising, in -1 (minus one) or True, or falling, in 0
(zero) or False.

Digital tab
The available options on this tab are described on the next table.
Available options for the Digital tab
OPTION DESCRIPTION
Enable Enables a Digital Alarm

Alarms 336
OPTION DESCRIPTION
Value Determines a Boolean value for this Alarm, that is, True
or False

Message text Allows specifying a text displayed to users when this


Alarm is in an active condition

Severity Specifies an Alarm level's severity. Available options are


Critical, High, Medium, or Low

Need Ack Enables or disables Alarm acknowledgment

Delay (ms) Specifies a delay time, in milliseconds. When this value is


equal to 0 (zero, default), no delay is applied

Return message Allows specifying a text displayed to users when this


Alarm is not in an active condition

Allow shelving Enables or disables shelving this Alarm

Maximum shelving time Maximum time, in minutes, this Alarm can remain shelved.
Default value of this options is 60, that is, one hour

Maximum shelve count Maximum number of times this Alarm can be shelved.
Default value of this option is 0 (zero), that is, no limit

18.4.4 Discrete Alarm


Allows monitoring a variable by specifying multiple sub-conditions.

Discrete tab
The available options on this tab are described on the next table.
Available options for the Discrete tab
OPTION DESCRIPTION
Add Subcondition Adds a new Sub-condition to this Alarm

Remove Subcondition Removes the selected Sub-condition

Map all subconditions Allows mapping and syncing Alarm Sub-conditions from
semantics available in the source object. This feature is
currently supported only by Elipse Power server objects,
therefore this option remains disabled by default in E3

Name Sub-condition's name

Enabled Enables or disables this Sub-condition

Description Sub-condition's description

337 Alarms
OPTION DESCRIPTION
Value A value evaluated to determine whether this Alarm
occurs or not

Message text Message displayed when this Sub-condition is active

Type Sub-condition's behavior. Available options are 0: Alarm,


1: Event, or 2: Return

Severity Sub-condition's severity type. Available options are -2:


Critical, 0: High, 1: Medium, or 2: Low

Need Ack? Indicates whether this Sub-condition needs


acknowledgment or not

Allow shelving? Enables or disables shelving this Alarm's Sub-condition

Shelve maximum duration Maximum time, in minutes, this Alarm's Sub-condition


can remain shelved. Default value of this option is 60,
that is, one hour

Maximum shelve count Maximum number of times this Alarm's Sub-condition


can be shelved. Default value of this option is 0 (zero),
that is, no limit

Delay (ms) Specifies a delay time, in milliseconds. When this value is


equal to 0 (zero, default), no delay is applied

Return message Allows specifying a text displayed to users when this


Alarm is not in an active condition

18.4.5 Rate-of-Change Alarm


Used to monitor quick variations in a process variable. A Rate-of-Change Alarm Source uses its values specified in
variable's units per second.

Rate of Change tab


The available options on this tab are described on the next table.
Available options for the Rate of Change tab
OPTION DESCRIPTION
Enable Enables a Rate-of-Change Alarm

Alarms 338
OPTION DESCRIPTION
Change/second Indicates the percentage of the monitored variable that
can vary per second. This value is calculated based on
each variable's reading interval, using the formula ROC =
(Current Value - Previous Value) / (Current Instant -
Previous Instant). If this rate of change is greater than
the specified rate, it is considered in an alarm status

Message text Allows specifying a text displayed to users when this


Alarm is in an active condition

Severity Specifies an Alarm level's severity. Available options are


Critical, High, Medium, or Low

Need Ack Enables or disables Alarm acknowledgment

Delay (ms) Specifies a delay time, in milliseconds. When this value is


equal to 0 (zero, default), no delay is applied

Return message Allows specifying a text message displayed to users when


this Alarm returns to its normal status

Allow shelving Enables or disables shelving this Alarm

Maximum shelving time Maximum time, in minutes, this Alarm can remain shelved.
Default value of this option is 60, that is, one hour

Maximum shelve count Maximum number of times this Alarm can be shelved.
Default value of this option is 0 (zero), that is, no limit

339 Alarms
CHAPTER
E3Alarm
19
An E3Alarm monitors active or unacknowledged Alarms in an application. With this object, users can check the status of
Alarms, as well as acknowledge them manually.

E3Alarm
To use this object, follow this procedure:
1. Right-click a Screen or the working area and select the Insert - E3Alarm option or click E3Alarm on the toolbar
of that Screen.

Inserting an E3Alarm on a Screen


Some of this object's properties can be configured via Properties List, without creating scripts for this. To configure any
property, just locate it on the Properties List and perform the necessary adjustments.

E3Alarm 340
19.1 Settings
To configure an E3Alarm, right-click this object and select the Properties option.

19.1.1 Connections Tab


The Connections tab allows configuring one or more connections to local or remote Alarm Servers.

Connections tab
The available options on this tab are described on the next table.
Available options on the Connections tab
OPTION DESCRIPTION
Add Connection Adds a new Connection to an E3Alarm. This option
corresponds to the Add method of the Collection of
Connections

Remove Connection Removes the selected Connection. This option


corresponds to the Remove method of the Collection of
Connections. NOTE: The Connection created automatically
with an E3Alarm cannot be removed

Connection Name Name of this Connection. Press the F2 key to edit this
name. This option corresponds to Connection's
ConnectionName property on the Collection of
Connections

Domain Friendly name to identify the Domain of the selected


Alarm Server. This option corresponds to Connection's
DomainName property on the Collection of Connections

Alarm Server Name of an Alarm Server, which can be on a local


Domain as well as on a remote Domain. This option
corresponds to Connection's AlarmServer property on the
Collection of Connections. Click to select an Alarm
Server using AppBrowser

Connection filter Name of a Filter that contains settings for Alarm Filters,
defined on the Filters tab. This option corresponds to
Connection's FilterConnection property on the Collection
of Connections

Users can access a remote Alarm Server by simply filling Connection's AlarmServer property of E3Alarm's Collection of
Connections with data for remote Domain and Alarm Server, in the format DOMAIN:SERVER, where SERVER is the

341 E3Alarm
name of the remote Alarm Server and DOMAIN is the name of a Remote Domain that contains it. To configure a
Remote Domain, please check topic Remote Domain on the Domains chapter.

19.1.2 Filters Tab


The Filters tab allows managing E3Alarm Filters.

Filters tab
The available options on this tab are described on the next table.
Available options on the Filters tab
OPTION DESCRIPTION
Filters Option with all currently available Filters

Configure Opens the configuration window for the selected Filter,


described on the configuration topic of an Alarm Filter

Add Adds a new Filter to the Collection of Filters. This option


corresponds to the Add method of the Collection of
Filters

Remove Removes the selected Filter. This option corresponds to


the Remove method of the Collection of Filters. NOTE: The
Filter created automatically with an E3Alarm cannot be
removed

19.1.3 Columns Tab


On the Columns tab, users can select Fields to view on an E3Alarm. Fields displayed in the Available Fields and
Selected Fields lists are generated by an Alarm Server. For more information, please check the Alarm Fields table on
topic Configurations for Alarm Table Generation of Alarms chapter.

E3Alarm 342
Columns tab

NOTE
The icon on the first column of an E3Alarm can be displayed or hidden by configuring the ShowIcon property as True
or False, respectively.

The Available Fields list displays all Alarm Source Fields. By clicking Add, users can add each Field individually to an
E3Alarm. By clicking Properties, users can configure this Alarm Field's properties.

Column Properties window


The available options on this window are described on the next table.
Available options for Column Properties window
OPTION DESCRIPTION
Visible Indicates whether this column is visible or not. This option
corresponds to the Visible property of a Field object from
the Collection of Fields of an E3Alarm

Width (pixels) Specifies a column's width, in pixels. Default width of


E3Alarm's columns is 80 pixels. This option corresponds
to the Width property of a Field object from the Collection
of Fields of an E3Alarm

343 E3Alarm
OPTION DESCRIPTION
Format Specifies a format used by this E3Alarm's column. Elipse
Power's default format is used here, except for Severity,
Active Condition, Need Ack, Acknowledged, and
Enabled fields, whose format examples can be checked
on the next tables. For more information, please check
topic Value Format. This option corresponds to the
Format property of a Field object from the Collection of
Fields of an E3Alarm

Rename to Renames this column's title

Allow acknowledgement Configures Alarm acknowledgment when users click a


configured column's row. The available options are Never:
This Alarm is not acknowledged (default), On click: This
Alarm is acknowledged when users click a configured
column's row, or On double-click: This Alarm is
acknowledged when users double-click a configured
column's row. NOTE: If this Alarm can be acknowledged,
the mouse pointer then changes to at run time,
whenever it is over an unacknowledged Alarm row. This
option corresponds to the AckOnClick property of a Field
object from a Collection of Fields of an E3Alarm

This column never blinks Enables or disables a column-blinking effect. This option
corresponds to the AllowBlink property of a Field object
from a Collection of Fields of an E3Alarm

Format for the Severity Field


DATA FORMAT FORMATTED OUTPUT
Critical Severity "H";"L";"C" C

High Severity ;;; High

Medium Severity "H";"M";"L" M

Low Severity ;;; Low

Format for Active Condition, Need Ack, Acknowledged, and Enabled Fields
DATA FORMAT FORMATTED OUTPUT
True "OK";"Not OK" OK

False "OK";"Not OK" Not OK

True "AAA" AAA

False "AAA" No

True ; Yes

False ; No

To remove any unwanted Field, select it and click Remove.

19.1.4 Sorting Tab


On the Sorting tab, users can configure default Alarm's sort order. When using more than one sort Field, subsequent
Fields allow a sort order among Alarms whose value is the same for the previous Field or Fields.

E3Alarm 344
Sorting Tab
The available options on this tab are described on the next table.
Available options for the Sorting tab
OPTION DESCRIPTION
By field Sorts Alarms according to a specified Field. This option is
equivalent to the PrimarySortField property of an E3Alarm
object

Then by Sorts Alarms starting at the item specified in the By field


option. The next item is then sorted as specified in the
Then by options. These options are equivalent to the
SecondarySortField, ThirdSortField, and FourthSortField
properties of an E3Alarm object, respectively

Ascending Sorts Alarm Fields in ascending order. These options are


equivalent to the PrimarySortAscending,
SecondarySortAscending, ThirdSortAscending, and
FourthSortAscending properties of an E3Alarm object set
to True, respectively

Descending Sorts Alarm Fields in descending order. These options


are equivalent to the PrimarySortAscending,
SecondarySortAscending, ThirdSortAscending, and
FourthSortAscending properties of an E3Alarm object set
to False, respectively

NOTES
· Default sort order is performed by the InTime Field, in descending order.
· If the BannerMode property is set to True, the displayed alarm depends on the sort configuration performed on this
tab.

19.1.5 Colors Tab


On the Colors tab, users can define colors for acknowledging Alarms on an E3Alarm. Users can configure colors for
each type of Alarm or by severity.

345 E3Alarm
Colors tab
Click to select a color for the selected type of Alarm. The window on the next figure is then displayed.

Selected Alarm colors


The available options on this window are described on the next table.
Available options on the Colors window
OPTION DESCRIPTION
Background color Specifies this Alarm's background color. This option
corresponds to the BackgroundColor property of an
Alarm Color object

Text color Specifies this Alarm's text color. This option corresponds
to the TextColor property of an Alarm Color object

Don't blink When this option is selected, this Alarm's text does not
blink. This option corresponds to the BlinkMode property
of an Alarm Color object configured with the value 0
(zero)

Blink toggling background and text When this option is selected, text and background colors
alternate. This option corresponds to the BlinkMode
property of an Alarm Color object configured with the
value 1 (one)

E3Alarm 346
OPTION DESCRIPTION
Blink erasing text When this option is selected, text color alternates
between the colors selected for text and for background.
This option corresponds to the BlinkMode property of an
Alarm Color object configured with the value 2 (two)

Blink text changing color to When this option is selected, text color alternates
between the color selected in the Text color option and
the color selected in this option. This option corresponds
to the BlinkMode property of an Alarm Color object
configured with the value 3 (three) and the selected color
corresponds to the TextColor2 property of an Alarm
Color object

Users can also select colors by severity for each type of Alarm.

Alarm colors by severity


Click to redefine colors for only one type of severity, in the selected type of Alarm. The window on the next figure is
then displayed.

Colors by severity
The available options on this window are described on the next table.

347 E3Alarm
Available options for the Colors by severity window
OPTION DESCRIPTION
Override background color Determines an Alarm's background color only for the
selected severity. If this option is not selected, the
selected color in the Background color option of the
selected type of Alarm remains active. This option
corresponds to the OverrideBackgroundColor property of
an Alarm Color object

Override text color Determines an Alarm's text color only for the selected
severity. If this option is not selected, the selected color in
the Text color option of the selected type of Alarm
remains active. This option corresponds to the
OverrideTextColor property of an Alarm Color object

Override blinking Redefines a blinking option for an Alarm text and


background for the selected severity. If this option is not
selected, the selected option in the selected type of Alarm
remains active, as described on the Available options on
Colors window table. This option corresponds to the
OverrideBlinkMode property of an Alarm Color object

Each item on the Configure alarm colors list corresponds to an E3Alarm property that returns an Alarm Color object,
according to the next table.
Properties corresponding to the configurations of Alarm colors
ITEM PROPERTY
Active Alarm ColorActiveAlarm

Acknowledged Alarm ColorAckedAlarm

Unacknowledged Alarm ColorNAckAlarm

Active Event ColorActiveEvent

The properties described on the previous table are indexed, that is, when using them, users can specify an index that
indicates which severity can be configured. Possible values for the indexes of these properties are -2: Critical severity, 0:
High severity, 1: Medium severity, 2: Low severity, or -1: Global Alarm configuration, that is, configures values to use in
case the severity does not override them.

NOTE
The ColorActiveAlarm, ColorAckedAlarm, ColorNAckAlarm, and ColorActiveEvent properties are only available via script.
The object returned by any of these properties can be configured using the SetConfig method.

E3Alarm 348
19.1.6 Font Tab
On the Font tab, users can configure a font for an E3Alarm's header and rows.

Font tab
The available options refer to font type, size, and effects.

NOTE
This tab's name appears in the configured Windows language, and not necessarily in Elipse Power's current
language.

19.2 Runtime Behavior


An E3Alarm contains a series of features that only apply at run time. These features are explained on the next topics.

NOTE
All options of an E3Alarm at run time that are available via contextual menu, by using the right mouse button, are also
available by using the shortcut key SHIFT + F10, which corresponds to the application or menu key .

349 E3Alarm
19.2.1 Viewing Alarms
At run time, system Alarms can be viewed on an E3Alarm.

E3Alarm at run time


Among the Alarms that meet the configured Filters, active or unacknowledged ones are displayed on an E3Alarm.
Usually, these Alarms can be divided in the following cases:
· If Alarm Source's Need Ack option is set to False, this Alarm is considered acknowledged since its activation, with
no need to acknowledge it. In this case, this Alarm is visible until it leaves its active condition
· If Alarm Source's Need Ack option is set to True, users can acknowledge this Alarm either before or after its
variable leaves this Alarm's condition. In both cases, this Alarm only leaves E3Alarm list when both conditions are
met

The BannerMode property, when set to True, allows viewing only a single alarm message on an E3Alarm object. The
displayed message depends on the configuration performed on the Sorting tab.

19.2.2 Alarm Acknowledgement


In its default configuration, whenever users right-click an E3Alarm, a contextual menu with the ACK Alarms and Delete
unbound alarms options is then displayed. By selecting the first option, the dialog box on the next figure is displayed.

Options on the Alarms dialog box


The available options on this dialog box are displayed on the next table.
Available options for the Alarm and Event Acknowledgment dialog box
OPTION DESCRIPTION
Only the selected events Only selected Alarms are acknowledged

All events of the current filter All visible Alarms on this E3Alarm are acknowledged

E3Alarm 350
OPTION DESCRIPTION
All events in the system All Alarms in a Domain are acknowledged

The Only selected events option is only available if there are Alarms selected on this E3Alarm. Users can acknowledge
this Alarm, and in this case a new record is inserted on the database indicating this acknowledgment, and the
corresponding row on this E3Alarm indicates that it was acknowledged. This option is disabled if the AllowAckSelected
property is set to False.
The All events of the current filter option is only available if there are visible Alarms on this E3Alarm. Users can select
this option without clicking any Alarm. To do so, click any area on this E3Alarm and the Acknowledgment window is then
displayed. When clicking it, the acknowledgment dialog box appears. This option is disabled if the AllowAckCurrentFilter
property is set to False.
The All events in the system option is always available, even if there is no visible Alarm on this E3Alarm. This option is
disabled if the AllowAckAll property is set to False.

By selecting the second option, Delete unbound alarms, the dialog box on the next figure is displayed.

Deleting unbound Alarms


For this option, the only item available is All events in the system, that is, all Alarms not linked to an Alarm Source are
removed. This contextual menu option of an E3Alarm is disabled if the AllowDeleteUnboundAlarms property is set to
False.

NOTE
An Alarm is considered unbound when it is present on Alarm Summary but its Alarm Source was deactivated.
Unbounded Alarms can occur in some situations, such as when changing an Alarm Source's name, when using the
Deactivate method on an Alarm Source on a script, or when removing an Alarm Source.

Alarm acknowledgment can also be performed by clicking or double-clicking an Alarm's row. To do so, specify in the
properties of a column, on E3Alarm's Properties Window, Columns tab, Properties option, the way to acknowledge
this Alarm at run time, by clicking or double-clicking its column.

19.2.3 Alarm Suppression


Alarm Suppression in Elipse Power can be configured according to the options described next.

Suppression by Design
In suppression by design, which is defined in ANSI ISA 18.2 standard, when an Alarm changes from inactive to active, it
is simply ignored, there is no visual indication nor a database record. For this change to be registered, configure the
Alarm Source's SuppressedAsEvent property to True. In this case, an Event with the Fields Suppressed in True and
SuppressedTime with the timestamp of the moment of change are stored on the database.
If an Alarm is active and the suppression condition changes from False to True, that Alarm leaves the active condition,
keeping its initial values but with the Fields Suppressed in True and SuppressedTime with the timestamp of the
moment of change. If the Alarm Source's SuppressedAsEvent property is set to True, the Alarm becomes an Event, that is,
the EventType Field changes to "Event" and all other Fields keep their initial values, but with the Fields Suppressed in
True and SuppressedTime with the timestamp of the moment of change. If the Alarm is active and the suppression
condition changes from True to False, the Alarm is generated with the timestamp of the moment of change.

351 E3Alarm
Alarms suppressed by design keep being counted on general counters. To change this behavior, configure the Alarm
Source's ExcludeSuppressedOnAreaCounters property to True.

NOTE
Alarms suppressed by condition always behave as Alarms that do not need acknowledgment.

Suppression by Shelving
Suppression by shelving allows an operator to temporarily remove Alarms from the current Summary. This allows an
operator to manage visible Alarms, silencing them while fixing a problem or focusing on more important Alarms.
In their standard configuration, Alarm shelving options are Shelve Alarms and Unshelve Alarms, available on
E3Alarm's contextual menu. These options are not available if the AllowShelveAlarms property is configured to False.
Selecting the Shelve Alarms option displays the dialog box of the next figure.

Alarm shelving
The available options on this dialog box are described on the next table.
Available options on the Alarms dialog box
OPTION DESCRIPTION
Only the selected events Only the selected Alarms are shelved

All events of the current filter All visible Alarms on this E3Alarm are shelved

All events in the system All Alarms in the Domain are shelved

Shelve duration Duration of this Alarm shelving, in minutes

Reason Reason for shelving this Alarm

The Only the selected events option is only available if there are Alarms selected on the E3Alarm. Users can shelve an
Alarm, and in this case a new record is inserted on the database indicating that shelving, and on the E3Alarm the
corresponding row indicates that this Alarm was shelved.
The All events of the current filter option is only available if there are visible Alarms on the E3Alarm. Users can use
this option without clicking any Alarm. To do so, click any E3Alarm area to display the shelving window. By clicking this
window, the shelving dialog box is displayed.
The All events in the system option is always available, even if there are no visible Alarms on the E3Alarm.
Selecting the Unshelve Alarms option displays the dialog box on the next next figure.

E3Alarm 352
Unshelving alarms
For this option, the available items are the same ones of the Shelve Alarms option.

NOTE
If an Alarm is unshelved by an operator, this Alarm returns to the Summary as an acknowledged Alarm. If it is
automatically unshelved, that is, after the expiration of that shelve's duration time, this Alarm returns as
unacknowledged.

19.2.4 Column Sort Order


On default settings, users can sort Alarms by clicking E3Alarm's column headers. When clicking a column's header, the
associated Field is then configured as its primary sort Field. When clicking it again, its primary sort Field, ascending or
descending, is then reversed.
When clicking a column's header with the SHIFT key pressed, its associated Field is then configured as its secondary
sort Field. When clicking it again with the SHIFT key pressed, its secondary sort Field is then reversed.
The EnableSortMarker property allows displaying or hiding an indication of ascending or descending sort order
when clicking a column's header.
For more information about this behavior, please check E3Alarm's EnableSortMarker, PrimarySortAscending,
PrimarySortField, SecondarySortAscending, SecondarySortField, ThirdSortAscending, ThirdSortField, FourthSortAscending,
FourthSortField, and BannerMode properties on the Elipse Power Reference and Scripts Manual.

Sorting example

19.2.5 Status of Connections


Starting with version 4.7, an E3Alarm allows viewing the status of Connections configured on the Connections tab. To
enable that status bar, configure E3Alarm's ShowConnectionStatusBar property on Properties List. The next figure
displays a status bar enabled.

353 E3Alarm
E3Alarm's status bar for Connections
The following E3Alarm properties can be configured to control the behavior of a status bar:
· ShowConnectionStatusBar: Displays or hides the status bar
· ConnectionStatusBarColor: Specifies a background color for the status bar
· PictureConnected: Path to an image file with an icon representing a successful Connection. Default for E3Alarm is
displaying the icon
· PictureNotConnected: Path to an image file with an icon representing a failed Connection. Default for E3Alarm is
displaying the icon
· PictureUnknown: Path to an image file with an icon representing an unknown Connection. Default for E3Alarm is
displaying the icon

NOTE
The unknown status indicates that an E3Alarm did not receive a confirmation from the Alarm Server that this
Connection was successful. This is the default status for versions earlier than 4.7.

E3Alarm 354
CHAPTER
Storage
20
A Storage is an alternative module for historic data recording. With this module, users can transform production data,
processes, and other collections into management information. This module allows collecting a great amount of
information via OPC servers, Drivers by Elipse Software, databases in general, or even text files and data stored in
commercial databases, such as SQL Server and Oracle, by user-defined historic objects in a compact and efficient way.
Information storage follows a logic that data is only stored when there is a significant, user-defined, variation. The
analysis of these variations is performed by the BoxCar/BackSlope algorithm, which allows, depending on the
configured dead bands, a significant data compression with full recovery of useful information.
Data recovering in Elipse Power environment can be performed by a standard query tool, which allows users to
graphically assemble a query structure, similar to Access or SQL Server, or even editing SQL queries directly. Extracted
data can be viewed as a table (E3Browser) or as a chart (E3Chart), or even as a report that can be viewed on screen
(using Report's PrintPreview method), printed directly on paper, or exported to several different formats, such as PDF,
HTML, TXT, CSV, TIFF, and GIF, among others.
Storage's main function is to allow recording data in a compact way. With this tool, users can recover, with great
accuracy, all changes in process variables, thus occupying less space on a database. Some examples are shown on
next topics.

Uncompressed Chart
Processed information contains several points.

Uncompressed chart
Compressed Chart
Information is virtually the same as the previous one, but with fewer points.

355 Storage
Compressed chart
Storage recording is performed as follows:
· After defining a table in Storage properties, this table is generated by clicking Create Table and data is stored
using these definitions. If a Tag quality varies, data is also stored
· Data is not stored if this variation occurs in a time interval less than the minimum time interval programmed in the
MinRecTime field

To insert this tool in Elipse Power, follow this procedure:


1. Right-click the project's name in Explorer mode and select the Insert - Storage option. In Domain mode, right-
click the Server objects - Databases item, select the Insert Storage In option, and then the project's name.

Inserting a Storage in Domain mode


If necessary, configure this object's properties. Some of its properties can be configured using the Properties List,
without creating scripts for this. For more information, please check the Elipse Power Reference and Scripts Manual.

Storage 356
NOTE
A Storage object can be configured to work as an Alarm Area.

20.1 Configuration
When opening a Storage's View, the available options for configuration are the ones displayed on the next figure.

Storage's View window


To add a Storage Field, users can drag and drop a Tag or property from Organizer, select the Add option on the
toolbar, or right-click the Fields item and select the Insert - Storage Field option.

NOTE
Storage's licenses are checked only when an application is executed and consider only active Storage Fields in that
application, not the existing number of Storage Fields on the database.

For further querying on data, every search is performed on the Tag path or on the property being stored, as defined
on the Source column. The Name column is only used in case the Source column contains an expression, such as
Driver1.Tag1 + Driver1.Tag2. Therefore, if expressions are not used on the Source column, there is no need to care
about a Storage Field's name. The available options on this window are described on the next table.
Available options on a Storage's View
OPTION DESCRIPTION
Add Adds Storage Fields to a Storage table

Remove Deletes the selected Storage Field from a Storage table

Create DB Structure Generates the structure on a database

Please check topic Storage Field for more information about the available options on Storage's View relative to Fields
that can be inserted in the Fields object.

20.1.1 Creating an Empty Storage


A Storage object can be created without configuring its Fields. To do so, provide its DBServer and TableName
properties during creation. This configuration allows creating a query-only Storage, which is very useful when accessing
data generated by external applications. Some restrictions apply in this situation:
· Although a Storage is activated as usual, it does not generate tables nor changes its indexes
· The Create Table option on Properties Window, the Create DB Structure option of its contextual menu, and the
option on Storage's toolbar returns an error message, indicating that a database structure cannot be created
because there are no Fields defined
· An empty Storage is listed on a Query's Server Name combo box as usual
· There is no need for Storage licenses when querying external data, only for writing data

20.2 Table Configuration


To access the configurations of the table used by a Storage, right-click this object in Organizer and select the
Properties option to open the window on the next figure.

357 Storage
Storage tab
Each option on the Storage tab has a corresponding property. The available options on this tab are described on the
next table.
Available options on the Storage tab
OPTION DESCRIPTION
Database Server Defines a Database server. This option is equivalent to
Storage's DbServer property

Table name Defines a table name. This option is equivalent to


Storage's TableName property

Discard data from the main table Enables or disables discarding data from the main table.
Data is considered old according to the Discard data
older than option. This option is equivalent to Storage's
EnableDiscard property

Discard data older than Determines a time interval, in minutes, hours, days, or
months, during which data is kept on the main table. If
data is older than the interval on this option, it is
discarded. This option is equivalent to Storage's
DiscardInterval property and the option to select a time
unit for this interval is equivalent to Storage's
DiscardTimeUnit property

Perform discard every Determines a discard interval, in minutes, hours, days, or


months, for old data on a table. This option is equivalent
to Storage's VerificationUnit property

Move discarded data to the backup table Enables or disables storing discarded data on the
secondary or backup table. This option is equivalent to
Storage's EnableBackupTable property

Storage 358
OPTION DESCRIPTION
Discard from backup data older than Determines a maximum time interval, in minutes, hours,
days, or months, for data on the backup table until it is
discarded, regardless of the time data remains on the
main table. For example, to keep data for 24 months on
the main table and six more months on the backup table,
this option's value must be 30 months. This interval must
be longer than the one configured in the Discard data
older than option of the main table. This option is
equivalent to Storage's BackupDiscardInterval property
and the option to select a time unit for this interval is
equivalent to Storage's BackupDiscardTimeUnit
property

Create Table Generates this table structure on the Database. This


option is also available by right-clicking a Storage object
in Organizer and selecting the Create DB Structure
option

After defining all table configurations, click Create Table. This action creates a table structure on the database.
The table structure of a Storage is similar to a Historic table, with a table of definitions, a main data table, and a
backup table, if selected. For users to identify externally that it is a compressed table, check if the _Fields table was
created.

_Fields table
This table contains the Fields described on the next table.
Fields on the _Fields table
FIELD DESCRIPTION
FieldDeadBand Dead band

FieldDeadBandUnit Dead band unit, as a percentage of the previous value or


as a percentage of engineering limits (a fixed value)

FieldDescription Field's description

FieldEU Engineering unit

FieldHighEng Tag's higher limit

FieldID Index of a Field registered on a Storage

FieldLowEng Tag's lower limit

FieldMaxRecTime When this time expires, data must be stored automatically

359 Storage
FIELD DESCRIPTION
FieldMinRecTime Minimum variation time to store data

FieldName Field's name

FieldQuality Field's quality

FieldScanTimeMs Scan time that must be used to rebuild Tag's chart, in


milliseconds

FieldSize Field's size

FieldSource Link used by this Field to obtain its values

FieldType Field's data type

FieldVARTYPE Field's native data type. Possible values are 0: Undefined,


3: Integer, 5: Double, 8: Text, or 11: Bit

Storage implementation allows users to not worry about how data is stored on tables. However, for a better
understanding on how this module works, and also to allow access to other programs, the format of a table is
explained next.
Options for table management described in the previous item actually apply to three table sets generated by a
Storage, according to the Table Name option.
This happens because, for every type of stored magnitude, a set of tables is automatically generated: a set for analog
Tags, another one for texts, and one more set for digital Tags. This way, every Storage can manage up to seven tables,
if users specify that three types of Tags must be stored:
· <TableName>_Fields
· <TableName>
· <TableName>_Text
· <TableName>_Bit
· <TableName>_Backup
· <TableName>_Text_Backup
· <TableName>_Dig_Backup

The _Fields table contains a description of Fields to store, which usually store the same information defined in
Storage's Fields configuration, in addition to link an automatic index to each Field. All other tables have a fixed format:
· E3TimeStamp: Field that stores date and time of a Tag variation. If the communication protocol supports sending
time information, this Field contains a device's timestamp
· Quality: Contains information about point's quality (Bad, Uncertain, or Good), according to its usage in Elipse
Power and also according to OPC standards
· Index: Creates a relationship between the stored Field and its respective name stored on the _Fields table
· Value: Stored value. For an analog table it is a Double-type Field, or a real number. For a digital table it is an
integer number, and for a text table is a variable-sized NVARCHAR Field, as specified in the StringFieldSize Field

20.2.1 Execution
When starting the execution of an application and receiving the first value notification for each one of the stored
variables, a Storage stores this value obtained with Bad quality, and right after that with the sent quality, if it is Good.
This occurs because when performing a query, users view that an interruption in Storage happened.
After that, as new values are obtained for variables, an algorithm for record checking interprets this sequence and
decides whether each point must be stored or not. This algorithm, known as BoxCar/BackSlope, creates two variation
bands (whose amplitude is given by this variable's dead band) of a stored point. The horizontal band (BoxCar) defines
a common dead band verification. A second diagonal band (BackSlope) defines a variation upwards or downwards the
dead band.
Therefore, if this variable is in a descending or ascending continuous derivative, it is only necessary to store the initial
and final points on this straight line. So, an analog variable is only recorded if its value violates both horizontal and
diagonal bands, or if there were a quality change, that is, this device was turned on or off.

Storage 360
Example of a BoxCar/BackSlope algorithm
This verification, however, only occurs for analog Fields. For digital and text Fields, a simple change in value or in
quality is needed, such as a loss of communication, to store them.

20.2.2 Internal Query Tools


A Query tool provides an easy way to perform queries to data from a Storage.
When users start configuring a Query in an application that contains a Storage, this object is added to the list of
available databases for queries. This is because Storage acts as a new data provider, making it easy for users to
search for data on temporal tables.
However, users can also perform queries directly on the original database, according to the table formats previously
mentioned. The disadvantage of this procedure is that this query process is more complex.
Therefore, once a Storage is selected as a data provider for a Query, its configuration interface presents some
differences, as seen on the next figure.

361 Storage
Query window of a Storage
The available options on the Fields tab are described on the next table.
Available options on the Fields tab
OPTION DESCRIPTION
Functions Allows selecting a function to consolidate data. Please
check the next table for more information about the
available functions in this option

Select fields to query Allows selecting a Field or Fields to view on the resulting
Query

Columns Allows selecting the Field corresponding to each result's


column, according to the selection in the previous option

Title Allows specifying a title for the selected column

Filter Allows specifying a filter for data returned by a Query's


column. For more information about the format of a filter,
please check topic Usage

Include BAD quality Allows indicating whether data with bad quality is
included in the result. This option corresponds to Query's
IgnoreQuality property linked to the Storage

The available functions to consolidate data in the Functions option are described on the next table.
Available functions to consolidate data
FUNCTION DESCRIPTION
LastValue Returns the last stored data on the database

Storage 362
FUNCTION DESCRIPTION
ArchivedValue Returns a stored value relative to a certain time instant
defined in the TimeStamp variable. The type of relation,
defined in Query's FunctionSubType property, can be
Previous, a value stored immediately before the
provided timestamp, Interpolated, a value calculated
based on previous and next values, Next, a value stored
immediately after the timestamp, or ExactTime, a value
stored at the exact instant provided by the timestamp

TagAttribute Returns a Tag's attribute, defined in Query's


FunctionSubType property. The available options are
FieldDescription, the meaning or description of a Tag,
FieldSource, the path of a stored Tag, FieldType, a data
type, FieldEU, the engineering unit, FieldLowEng, lower
engineering limit, FieldHighEng, higher engineering limit,
FieldDeadBand, a dead band for recording,
FieldDeadBandUnit, a dead band's unit (in absolute or
percentage values), FieldMinRecTime, a minimum time
for recording (variations shorter than this interval are
discarded), FieldMaxRecTime, a maximum time for
recording (no variation in these intervals forces a
recording), FieldSize, a Field's size, FieldVARTYPE, a
Field's native data type, or FieldScanTimeMs, a scan time
used to rebuild a Tag's chart

CompressedDataNValues Returns, for a single Tag, N values defined in the


NumVals variable, stored based on an initial instant,
defined in the StartTime variable

CompressedDataStartEndTime Returns, for a single Tag, the values stored between the
interval defined in the StartTime and EndTime variables

SampledData Returns, for one or more Tags, the interpolated values,


that is, estimated between the instants defined in the
StartTime and EndTime variables, at fixed intervals defined
by the TimeInterval variable

CalculatedData Returns, for one or more Tags, the result of mathematical


operations applied to data between the instants defined
in the StartTime and EndTime variables, at fixed intervals
defined by the TimeInterval variable. The available types
of calculations are Total, Minimum, Maximum,
StandardDeviation, Range, Average, or Mean

NOTES
· Only the SampledData and CalculatedData functions allow selecting more than one Field. All other functions
require a selection of a single Field.
· Functions that allow defining variables on the Variables tab can also define those variables at run time by using
Query's SetVariableValue method. The only function that does not define variables is TagAttribute.
· For more information on how the Variables and Visualize tabs work, please check topic Creating a Query.
· For more information about the values returned by the FieldType and FieldVARTYPE options of the TagAttribute
function, please check table Fields on the _Fields table.

20.2.3 Usage
If the selected function in the Functions option on the Fields tab allows specifying variables, then users must inform
the value of those variables on the Variables tab or by using Query's SetVariableValue method at run time, according
to the next example.
Set Chart = Screen.Item("E3Chart1")
Set Query = Chart.Item("Query1")
Query.SetVariableValue "StartTime", Chart.IniDate

363 Storage
Query.SetVariableValue "EndTime", Chart.EndDate
Query.SetVariableValue "TimeInterval",_
rs.Fields("SampleInterval").Value
Chart.Queries.UpdateData()

In addition to variables, users can also define a specific filter for each column returned by a Query on the Filter column
of the Fields tab. To specify, for example, that a certain column must return only values greater than or equal to 1
(one) and less than 5 (five), fill in the Filter column with the expression ">= 1 and < 5".

20.2.4 External Query Tools


When users are developing an external application using programming languages such as Java, Visual Basic, or C++,
and they want to retrieve data stored by a Storage, then they can perform calls to Stored Procedures, which are
created by a Storage on a database. The Stored Procedures that correspond to Query options are described on the
next table.
Available options for queries
QUERY FUNCTION STORED PROCEDURE
LastValue E3LastValueEx

ArchivedValue E3ArchiveEx, E3ArchiveInterpolate

CompressedDataNValues E3NCompDataEx

CompressedDataStartEndTime E3CompDataEx

SampledData E3SampledData

CalculatedData E3CalculatedData

Stored Procedures that use Date-type parameters receive them as a Float (floating point) number, instead of a
DateTime. This allows increasing Elipse Power precision, because using a DateTime format allows a maximum
precision of 3 ms, while a Float type allows 1 ms precision.
To easily pass parameters, users can add a user function to a database that converts DateTime values into Float
values, according to the next example.
CREATE FUNCTION E3GETFLOATVALUE(@dDate datetime)
RETURNS FLOAT AS
BEGIN
RETURN CAST(@dDate AS float)
END

The next topics contain information about the Stored Procedures created by a Storage.

NOTE
The Stored Procedure E3RawData, which returns data without aggregations, is not available as an option in the
Functions item on the Fields tab of the Query associated to a Storage.

20.2.4.1 E3ArchiveEx
Returns a stored value relative to an instant, as exposed in the ArchivedValue function. This is only used for Previous
(0), Next (2), and ExactTime (3) subtypes. Its formal description is the following:
E3ArchiveEx(
@iSubType int,
@strTableName VARCHAR(100),
@strAliasName VARCHAR(100),
@dDate float,
@strFilter VARCHAR(500),
@bQuality int)

Where:
· @iSubType: Function's subtype. Possible values are 0: Previous, 2: Next, or 3: Exact instant
· @strTableName: Name of a table to query
· @strAliasName: Title for the FieldValue column
· @dDate: Instant in time for the search, in Float format

Storage 364
· @strFilter: Filter options for the value
· @bQuality: If different from 0 (zero), only includes Tags with Good quality

This Stored Procedure returns a single result row with E3TimeStamp, Quality, and FieldValue columns.

20.2.4.2 E3ArchiveInterpolate
Returns points immediately before and after an instant, as exposed in the ArchivedValue function, but only for the
Interpolated subtype. Its formal description is the following:
E3ArchiveInterpolate(
@strTableName VARCHAR(100),
@dDate float,
@strFilter VARCHAR(500),
@type int,
@bQuality int)

Where:
· @strTableName: Name of a table to query
· @dDate: Instant in time for the search, in Float format
· @strFilter: Filter options for the value
· @type: Data type. Possible values are 0: String, 1: Bit or Integer, or 2: Analog
· @bQuality: If different from 0 (zero), only includes Tags with Good quality

This Stored Procedure returns a single result row with E3TimeStamp and FieldValue columns.

20.2.4.3 E3CalculatedData
This is equivalent to the CalculatedData function. Its formal description is the following:
E3CalculatedData(
@iSubType int,
@strTableName VARCHAR(100),
@iModMin int,
@dStartDate float,
@dEndDate float,
@strWhere VARCHAR(4000),
@type int,
@bQuality int)

Where:
· @iSubType: Calculation subtype. Possible values are 0: Total, 1: Minimum, 2: Maximum, 3: Standard deviation, 4:
Range, 5: Average, and 6: Mean
· @strTableName: Name of a table to query
· @iModMin: Time interval, in seconds, that this Stored Procedure must use to perform aggregations and
groupings
· @dStartDate: An initial date, in Float format
· @dEndDate: An ending date, in Float format
· @strWhere: Filter options for the value
· @type: Data type. Possible values are 0: String, 1: Bit or Integer, or 2: Analog
· @bQuality: If different from 0 (zero), only includes Tags with Good quality

This Stored Procedure returns its results with E3TimeStamp and FieldValue columns.

20.2.4.4 E3CompDataEx
This is equivalent to the CompressedDataStartEndTime function. Its formal description is the following:
E3CompDataEx(
@strTableName VARCHAR(100),
@dStartDate float,
@dEndDate float,
@strFilter VARCHAR(500),
@strOrder VARCHAR(100),
@bQuality int)

365 Storage
Where:
· @strTableName: Name of a table to query
· @dStartDate: An initial date, in Float format
· @dEndDate: An ending date, in Float format
· @strFilter: Filter options for the value
· @strOrder: Options to order results by a field different from E3TimeStamp
· @bQuality: If different from 0 (zero), only includes Tags with Good quality

This Stored Procedure returns all values found in the specified interval, with E3TimeStamp, Quality, and FieldValue
columns.

20.2.4.5 E3LastValueEx
Returns the last value of a certain Tag stored on the database. Its formal description is the following:
E3LastValueEx(
@strTableName VARCHAR(100),
@strFilter VARCHAR(500),
@bQuality int)

Where:
· @strTableName: Name of a table to query
· @strFilter: Filter options for the value
· @bQuality: If different from 0 (zero), only includes Tags with Good quality

This Stored Procedure returns a single result row with E3TimeStamp, Quality, and FieldValue columns.

20.2.4.6 E3NCompDataEx
This is equivalent to the CompressedDataNValues function. Its formal description is the following:
E3NCompDataEx(
@strTableName VARCHAR(100),
@dDate float,
@iNValues int,
@strFilter VARCHAR(500),
@strOrder VARCHAR(100),
@bQuality int)

Where:
· @strTableName: Name of a table to query
· @dDate: Instant in time for the search, in Float format
· @iNValues: The number of values to return
· @strFilter: Filter options for the value
· @strOrder: Options to order results by a field different from E3TimeStamp
· @bQuality: If different from 0 (zero), only includes Tags with Good quality

This Stored Procedure returns all requested values, if found, with E3TimeStamp, Quality, and FieldValue columns.

20.2.4.7 E3RawData
Returns values from a table without aggregations. Its formal description is the following:
E3RawData(
@strTable NVARCHAR(100),
@dStartDate float,
@dEndDate float,
@strFilter NVARCHAR(4000),
@strOrder NVARCHAR(100))

Where:
· @strTable: Name of a table to query

Storage 366
· @dStartDate: An initial date, in Float format
· @dEndDate: An ending date, in Float format
· @strFilter: Filter options for the value
· @strOrder: Options to order results by a field different from E3TimeStamp

This Stored Procedure returns its results with E3TimeStamp, Quality, and FieldValue columns.

NOTE
This Stored Procedure is not available as an option in the Functions item on the Fields tab of the Query associated
to the Storage.

20.2.4.8 E3SampledData
This is equivalent to the SampledData function. Its formal description is the following:
E3SampledData(
@strTable VARCHAR(100),
@iModMin int,
@dStartDate float,
@dEndDate float,
@strWhere VARCHAR(4000),
@type int,
@bQuality int)

Where:
· @strTable: Name of a table to query
· @iModMin: Interval in seconds to interpolate each value within this interval
· @dStartDate: An initial date, in Float format
· @dEndDate: An ending date, in Float format
· @strWhere: Filter options for the value
· @type: Data type. Possible values are 0: String, 1: Bit or Integer, or 2: Analog
· @bQuality: If different from 0 (zero), only includes Tags with Good quality

This Stored Procedure returns its results with E3TimeStamp and FieldValue columns.

20.3 Fields Object


A Fields object represents a collection of Fields of a Storage on a table. This object is created automatically when
adding a Storage in an application.
To insert new Fields, right-click the Fields object and select the Insert - Storage Field option. To remove a Field, right-
click it and select the Delete option.

NOTES
· In applications created before version 5.0 of Elipse Power, the Fields property of a Storage is a collection that
supports the Item method to access the available Fields. Starting with version 5.0, this property also returns a Fields
object, and therefore the way to access Fields is different for both ways. The next example shows the correct way to
use it as an object and as a collection in a script.
· Applications saved in version 5.0 convert Storage objects from a collection format to an object and CANNOT be
opened in previous versions anymore.

To access the collection of Storage Fields as a collection, as well as an object, use the formats described in the next
example.
'This application contains an object called Storage1
'which contains a Field called Field1
'To access this Field as a collection,
'use the next syntax
Set collectionField = Application.GetObject("Storage1").Fields.Item("Field1")
'To access the same Field as an object,
'use the next syntax
Set nativeField = Application.GetObject("Storage1.Fields.Field1")

367 Storage
Please check the next topic, Storage Field, for more information about the properties of the existing Storage Fields in a
Fields object.

20.4 Storage Field


A Storage Field object represents a Field on the Storage table on a database. The available options to configure a
Storage Field are described on the next table.
Available options for Storage Fields
OPTION DESCRIPTION
Name Determines the name of a Storage Field on a Storage's
table. This option corresponds to Storage Field's Name
property

Source Determines a data source linked to a Storage Field. This


is a read-only option and corresponds to Storage Field's
Link property

Type Determines this Storage Field's data type on a Storage


table. Possible values for this option are 0:
eStorageDouble, 1: eStorageBit, 2: eStorageText, or 3:
eStorageInteger. If this value changes to eStorageBit,
eStorageText, or eStorageInteger, the MinRecTime,
MaxRectTime, Scan, Dead band, and Unit options
remain disabled. This option corresponds to Storage
Field's Type property

MinRecTime Minimum difference, in milliseconds, between timestamps


of any two records with the same quality, that is, the
minimum time to store new data. This option
corresponds to Storage Field's MinRecTime property

MaxRecTime Maximum difference, in seconds, between timestamps of


two consecutive records, that is, the maximum time
without recording any data. After this time, data is
considered old and then stored. This option corresponds
to Storage Field's MaxRecTime property

Scan Scan time of a Storage Field, that is, how often a Tag's
value is sent back to data compression algorithm. If this
value is equal to 0 (zero), this column remains disabled
and shows the value defined in MaxRecTime, in
milliseconds. This option corresponds to Storage Field's
ScanTime property

Dead band Dead band used to calculate data compression


algorithm. Indicates the precision users are willing to
loose in each Storage Field to store. This option
corresponds to Storage Field's DeadBand property

Unit Unit for the Dead band option. This value can be
specified in absolute units or as a percentage of Tag's
current value. This option corresponds to Storage Field's
DeadBandUnit property

Storage 368
CHAPTER
Historic
21
Historics are modules responsible for storing application data on a database. They allow storing process data for
future analysis. Users can create as many Historic files as needed, each one with different Tags or expressions. Each
Historic can either create or use an independent table on a database, whose storage can be defined by Time or by
Event. By using the CacheSize property, users can define the number of records sent to a database in a single
operation. The DBServer property defines a Database Server used by a Historic object. To use this feature, follow
these procedures:
1. Right-click the project's name in Explorer mode and select the Insert - Historic option. In Domain mode, right-
click the Server objects - Databases item, select the Insert Historic in item, and then the project's name.

Inserting a Historic in Domain mode

2. When the Historic View is opened, the configuration options on the next figure are displayed.

Historic object
The available options on this View's toolbar are described on the next table.

369 Historic
Available options on the toolbar of a Historic View
OPTION DESCRIPTION
Add Adds an Indexes or PrimaryKey object if the Historic is
selected, a Historic Field to a Historic table if the Fields
object is selected, an Index Field if the Indexes object is
selected, and a Primary Key Field if the PrimaryKey
object is selected

Remove Removes the selected Indexes, PrimaryKey, Historic Field,


Historic Index, or Primary Key Field objects in the Historic

Create DB Structure Generates a structure on the Database

Fetch Fields from Original Table Retrieves Historic Fields from the original table. Please
check topic Table Settings for more information

Do Not Link Historic with Pre-Existing Table Keeps this Historic object without a direct link to an
existing table. Please check topic Table Settings for
more information

Link Historic with Pre-Existing Table Links this Historic object to an existing table. Please
check topic Table Settings for more information

Please check topic Historic Field for more information on the available options on the Historic View relative to Fields
that can be inserted in the Fields object. Check topic Indexes Object for more information about the Indexes that
can be inserted in a Historic and topic PrimaryKey Object for more information about the Primary Keys that can be
inserted in a Historic.

3. Open Historic's Properties Window. To do so, right-click this object and select the Properties option. Some of this
object's properties can be configured by using the Properties List, without creating scripts for this. To configure any
property, locate it on the Properties List and perform the necessary adjustments. More information about this
object's properties functionality can be found on Elipse Power Reference and Scripts Manual on the chapter
referring to Historic object.

NOTES
· A Historic object can be configured to work as an Alarm Area.
· Historic objects created in version 5.0 or later cannot be opened in earlier versions.
· Historic objects created in versions earlier than 5.0 can be opened normally in version 5.0 or later but, when saved,
they CANNOT be opened in earlier versions anymore.

21.1 Settings
When inserting a Historic object in a project, the E3TimeStamp Field is automatically created in the Fields object. This
Field shows the date and time in which this value was retrieved, different from a Tag's timestamp. Remember that this is
a read-only Field and users can link a Tag to this Field. If there is no Link, this Field uses the operating system's current
time for recording.

NOTE
Using the operating system's current time to store an E3TimeStamp Field is only available when the table is created
by the Historic. In case of using an existing table, users must link a Demo-type Tag with its Type property configured
as 3 - Current Time so that this Field stores the correct date and time.

To create a table in a Historic object, users must create its Fields previously, by clicking Add on Historic's toolbar or
by right-clicking the Fields object and selecting the Insert - Historic Field option. To remove a Field, select it and click
Remove on Historic's toolbar or else right-click a Field and select the Delete option. The confirmation message of
the next figure is then displayed.

Historic 370
Message to confirm the removal of a Field from a table

NOTE
Historic Fields can be reordered in a Historic View by dragging a Field to a new position. This operation affects the
index of a Field in the collection of Fields returned by the Fields object, that is, when using the Item method.

Please check topic Historic Field for more information about the properties of a Historic Field object.

21.1.1 Table Settings


After defining all previous options, users must configure information for a Historic object's table and then generate its
structure on a Database. To do so, right-click a Historic object, select the Properties option, and then select the
Historic tab, according to the next figure.

Historic tab
Each option on the Historic tab contains a corresponding property. The available options on this tab are described on
the next table.
Available options on the Historic tab
OPTION DESCRIPTION
Database Server Defines a Database server. This option is equivalent to
the DbServer property of a Historic

371 Historic
OPTION DESCRIPTION
Table name Determines a table name. This option is equivalent to the
TableName property of a Historic

Interval between records (ms) Determines a time interval variation in milliseconds, that
is, how often Historic data is stored on a table. This
option is equivalent to the ScanTime property of a
Historic

Discard data from the main table Enables or disables discarding data from the main table.
Data is considered old according to the Discard data
older than option. This option is equivalent to the
EnableDiscard property of a Historic

Discard data older than Determines a time interval, in minutes, hours, days, or
months, during which data is kept on the main table. If
table's data is older than the interval on this option, it is
discarded. This option is equivalent to the
DiscardInterval property of a Historic and the option to
select a time unit for this interval is equivalent to the
DiscardTimeUnit property of a Historic

Perform discard every Determines a discard interval, in minutes, hours, days, or


months, for old data on a table. This option is equivalent
to the VerificationUnit property of a Historic

Move discarded data to the backup table Enables or disables storing discarded data on a backup
table. This option is equivalent to the EnableBackupTable
property of a Historic

Discard from backup data older than Determines a maximum time interval, in minutes, hours,
days, or months, for data on a backup table until it is
discarded, regardless of the time data remains on the
main table. For example, to keep data for 24 months on
the main table and six more months on the backup table,
this option's value must be 30 months. This interval must
be always longer than the one configured in the Discard
data older than option of the main table. This option is
equivalent to the BackupDiscardInterval property of a
Historic and the option to select a time unit for this
interval is equivalent to the BackupDiscardTimeUnit
property of a Historic

Create Table Generates this table's structure on the Database. This


option is also available by right-clicking a Historic object
in Organizer and selecting the Create DB Structure
option

When clicking Create Table, Elipse Power Studio displays the dialog box on the next figure.

Message from Elipse Power Studio


When the Create Table option is used, the table specified on this Historic object is then generated, and also a _Fields
table. This table contains information about each Field stored on a Historic object.

Historic 372
Fields table
The available fields on the _Fields table of a Historic object are described on the next table.
Fields of a Historic's _Fields table
FIELD DESCRIPTION
FieldDeadBand Dead band

FieldDeadBandUnit Unit used by a dead band, in absolute values or in


percentage

FieldDescription Field's description

FieldEU Engineering unit

FieldHighEng Tag's upper limit

FieldID Index of a Field stored on a Historic object

FiledLowEng Tag's lower limit

FieldMaxRecTime After this time expires, data must be stored automatically

FieldMinRecTime Minimum value for a time variation to store data

FieldName Historic's Field name

FieldQuality Field's quality type. Available options are 0: No quality,


1: Method previous to 1.21 version (in which 0:
Uncertain quality and 1: Good quality), or 2: Tag's real
quality

FieldScanTimeMs Scan time used to rebuild a Tag's chart, in milliseconds

FieldSize Field's size

FieldSource Link used by this Field to retrieve its values

FieldType Field's data type

FieldVARTYPE Field's native data type (0: Undefined, 3: Integer, 5:


Double, 8: Text, or 11: Bit)

The Link Historic with Pre-Existing Table option links a Historic to an existing table on a Database. When this
option is enabled, Elipse Power Studio opens a dialog box to specify which tables are linked to the current Historic
object, according to the next figure.

373 Historic
Selecting a table to link to a Historic
After selecting a table and clicking OK, Elipse Power Studio displays the message on the next figure.

Removing a link from a Historic table


By clicking Cancel, Fields configured on this table keep their current configuration. However, by clicking OK, all Fields,
Indexes, and Primary Keys defined on a Historic object are replaced by data from the selected table.
When this item is used, two other options are enabled, Do Not Link Historic with Pre-Existing Table and Fetch
Fields from Original Table .
When the Do Not Link Historic with Pre-Existing Table option is enabled, Elipse Power Studio shows the
message on the next figure.

Turning a Historic into a user-created Historic


By clicking Cancel, this table keeps its current configurations. However, by clicking OK, this table is restarted with its
initial Fields, in which there is only a default Field enabled, that is, E3TimeStamp.

Historic 374
A Historic after enabling the Do Not Link Historic with Pre-Existing Table option
The Fetch Fields from Original Table option, on the other hand, recovers data from a Historic linked to an existing
table, which were removed.

A Historic using the Fetch Fields from Original Table option

21.2 Fields Object


The Fields object represents a collection of Fields of a Historic on a table. This object is created automatically when
adding a Historic to an application, and contains a Field called E3TimeStamp, which represents the timestamp when
the record's value was retrieved.
To insert new Fields, right-click the Fields object and select the Insert - Historic Field option or select the Fields object
and click Add - Historic Field on Historic's toolbar. To remove a Field, right-click the Field and select the Delete
option or select a Field and click Remove on Historic's toolbar.

NOTE
· The E3TimeStamp Field is a read-only Field and cannot be removed from the Fields object.
· Users can drag and drop Historic Fields from one Historic to another. However, the PrimaryKey property of a
Historic Field is not persisted when copying this Field inside the same Historic, because this property is an
information belonging to the Historic and not to the Field.
· In applications created before version 5.0 of Elipse Power, the Fields property of a Historic is a standard
collection, which supports the Item method to access the available Fields. Starting with version 5.0, this property
also returns a Fields object, native to Elipse Power, and therefore the way to access Fields is different for both
ways. The next example shows the correct way to use it as a native object and as a collection in a script.
· Applications saved in version 5.0 convert Historic objects from the collection format to a native object and
CANNOT be opened in previous versions anymore.

To access the collection of Historic Fields available as a collection as well as a native object, use the formats described
in the next example.
'This application contains an object called Hist1
'that contains a Field called Field1.
'To access this Field as a collection,
'use the following syntax:
Set collectionField = Application.GetObject("Hist1").Fields.Item("Field1")
'To access the same Field as a native object,

375 Historic
'use the following syntax:
Set nativeField = Application.GetObject("Hist1.Fields.Field1")

Please check topic Historic Field for more information about the properties of the existing Historic Fields in the Fields
object.

21.2.1 Historic Field


A Historic Field object represents a Field on the Historic's table on a database, according to the next figure.

Historic Fields
The available options to configure a Historic Field are described on the next table.
Available options for Historic Fields
OPTION DESCRIPTION
Name Name of this Historic Field on the Historic's table. This
option corresponds to the Name property of a Historic
Field

Primary Key Indicates whether this Historic Field is used when defining
a Primary Key on the Historic's table. This option
corresponds to the PrimaryKey property of a Historic
Field. Please check topic Primary Key Field for more
information. Selecting this option automatically creates a
PrimaryKey object and its respective Primary Key Field
object. Clearing the selection of this option removes the
Primary Key Field object but keeps the PrimaryKey object

Type Data type of this Historic Field on the Historic's table.


Possible values for this option are 0: fdText, 1:
fdInteger, 2: fdDouble, or 3: fdDateTime. This option
corresponds to the Type property of a Historic Field

Source Data source of this Historic Field on the Historic's table.


This option corresponds to the Link property of a
Historic Field

Size Size of this Historic Field on the Historic's table. This


option corresponds to the Size property of a Historic
Field

NOTE
The Field and Order options are not available for edition on Historic Fields. These options are only available for
Index Field and Primary Key Field objects.

21.3 Indexes Object


An Indexes object represents a collection of Indexes of a Historic on a database table, which improves the
performance of queries that use this Index. Indexes are used to find records with a specific value on a column quickly.
Without an Index, a Database must start with the first record and then read the whole table until it finds all relevant
records. The larger the table, the higher the cost of this operation. If a table contains an Index for those columns, the

Historic 376
Database can quickly retrieve a position to search through the data file without traversing the whole table, thus
optimizing access to records.
All types of columns of a table can be indexed. Using Indexes on relevant columns is the best way to improve a table's
performance. The maximum number of Indexes per table and the maximum size of an Index is defined by the storage
mechanism of the Database Server. Users can create Indexes on multiple columns, which can be considered as ordered
arrays containing values created by concatenating values from indexed columns.
To insert an Indexes object on a Historic, right-click a Historic and select the Add - Indexes option. Please check topic
Historic Index for more information about the Indexes that can be inserted in this object and check topic Index Field
for more information about the Fields that can be inserted in Indexes.

21.3.1 Historic Index


A Historic Index object represents an Index of a Historic on a database table. To insert a Historic Index object,
right-click the Indexes object and select the Insert - Historic Index option or select the Indexes object and click Add
- Historic Index on Historic's toolbar. Please check topic Index Field for more information about the Fields that can be
inserted in this object.

21.3.2 Index Field


An Index Field object represents a Field on a Historic Index. To insert an Index Field object, right-click a Historic
Index object and select the Insert - Index Field option or select a Historic Index object and click Add - Index Field
on Historic's toolbar. When inserting an Index Field, the window on the next figure is opened to select the Fields not yet
selected on the Historic table. If there is only one Field deselected, the window on the next figure is not displayed and
that Field is added automatically. If there is no Field deselected, a Field is then created with an empty Field column and
an Order column with an foAscending value.

Window to select a Field for the Index


An Index Field, after inserted, can only have its Field and Order changed. The Field column, which corresponds to the
Field property of this object, allows selecting the Historic Field that is part of this Index and the Order column, which
corresponds to the Order property of this object, allows changing the sort order of this Field in the Index, whether it is
ascending (foAscending) or descending (foDescending), according to the next figure.

Configuration of Index Fields


When updating the name of a Historic Field in the Fields object, the Field object of the corresponding Index Field is
updated automatically. When removing a Historic Field from the Fields object, the window on the next figure is
displayed, asking for a confirmation for this operation. If users click Yes, the Historic Field and the Index Field are
removed, in addition to the corresponding data on the database table.

377 Historic
Confirmation to remove a Historic Field

21.4 PrimaryKey Object


A PrimaryKey object represents a collection of Fields that identifies uniquely every record on a table. As in a table's
main index, a Primary Key is used to link data among tables. Some examples of primary keys are client codes, social
security numbers, etc. After defining a Field as a table's Primary Key, the Database itself makes sure that no duplicated
data is inserted in this Field. For example, if users try to add an order with the same number of an existing order, that
record is not added and an error message is displayed. There are two types of Primary Keys, Simple and Compound.
A Simple Primary Key is a Field that identifies uniquely each record of a table. A Compound Primary Key can be
formed by the combination of two or more Fields of a table. There may be cases in which a single Field cannot work as
a Primary Key because it contains repeated values. In addition, a table can only have one Primary Key, whether it is
simple or compound, that is, users cannot define two or more Fields from a table so that each one of them be a
separate Primary Key. However, this is not the case of a compound Primary Key, where two or more Fields are
combined to form a table's unique Primary Key.
When selecting Fields for a Primary Key, please consider the following details:
· No duplicated or null values are allowed
· If there is no unique identifier for a certain table, users can use a Field that generates records sequentially

To insert a PrimaryKey object in a Historic, right-click the Historic and select the Add - PrimaryKey option. Please check
topic Primary Key Field for more information about Fields that can be inserted in this object.

21.4.1 Primary Key Field


A Primary Key Field object represents a Field in a Historic's Primary Key. To insert a Primary Key Field object, right-
click a PrimaryKey object and select the Insert - Primary Key Field or select a PrimaryKey object and click Add -
Primary Key Field on Historic's toolbar. When inserting a Primary Key Field, the window on the next figure is opened
to select the Fields not yet selected on the Historic table. If there is only one Field deselected on the Historic table, the
window on the next figure is not displayed and that Field is added automatically. If there is no Field deselected, a Field
is then created with an empty Field column and an Order column with an foAscending value.

Window to select a Field for the Primary Key


A Primary Key Field, after inserted, can only have its Field and Order columns changed. The Field column, which
corresponds to the Field property of this object, allows selecting the Historic Field that is part of this Primary Key and
the Order column, which corresponds to the Order property of this object, allows changing the sort order of this Field
in the Primary Key, whether it is ascending (foAscending) or descending (foDescending), according to the next figure.

Historic 378
Configuration of Primary Key Fields
When updating the name of a Historic Field in the Fields object, the Field column of the corresponding Primary Key
Field is updated automatically. When removing a Historic Field from the Fields object, the window on the next figure is
displayed, asking for a confirmation for this operation. If users click Yes, the Historic Field and the Primary Key Field are
removed, in addition to the corresponding data on the database table.

Confirmation to exclude a Historic Field

379 Historic
CHAPTER
E3Browser
22
An E3Browser is an ActiveX control used for viewing data stored on a database. Users can configure queries using
several types of filters on data and assign colors for each column, among other settings. This object is used to view
historical data, alarms, or any existing table on a database.

E3Browser
To use this feature, follow these procedures:
1. Insert an E3Browser in the project, by right-clicking the working area and then selecting the Insert - E3Browser
item.

Inserting an E3Browser on a Screen

E3Browser 380
2. An E3Browser uses a Query object to help users in the process of defining queries on an application database. For
more information, please check chapter Query.
3. If needed, configure E3Browser properties. Some of the properties of this object can be configured using the
Properties List, without creating scripts for this. To configure any property, locate it on the Properties List and
perform the necessary adjustments. Other information about this object's functionality can be found on the Elipse
Power Reference and Scripts Manual, in its corresponding chapter.

22.1 E3Browser's Query Object


A Query is an Elipse Power object that helps users in the process of defining queries on an application database.
Every time an E3Browser retrieves data from a database, users must send a command to know which data is needed
for that object. Therefore, every time an Elipse Power application needs to store or retrieve data from a database,
these commands are sent in SQL (Structured Query Language) format.

Query in an E3Browser object


A Query presents a friendly interface, allowing users to build queries in a graphical form and immediately displaying
the generated SQL code.

NOTE
An E3Browser cannot load Queries located on a server.

The Query tab shows all available fields in a Query. These fields can be accessed by clicking Configure, which opens a
wizard to configure that Query.

Query tab
For more information on Queries, please check the Query chapter.

381 E3Browser
22.2 Other Settings
All available settings in an E3Browser are described on the next topics.

22.2.1 Style Tab


By using the Style tab, users can define the appearance of cell divisions (grid) and dimensions of rows and columns.

Style tab
The available options on the Style tab have a corresponding property. The available properties are described on the
next table.
Available options for the Style tab
OPTION DESCRIPTION
Grid style Specifies E3Browser's grid style. Possible values for this
option are No grid lines , Only horizontal grid lines
, Only vertical grid lines , or Horizontal and
vertical grid lines (default). This option is equivalent to
E3Browser's GridLinesType property

Header height Specifies E3Browser's header height, in pixels. This option


is equivalent to E3Browser's FixedRowHeight property

First column width Specifies the width of the first column on a table. This
option is equivalent to E3Browser's FixedColumnWidth
property

Row height Specifies the height of the remaining rows on a table. This
option is equivalent to E3Browser's RowHeight property

Columns width Specifies the width of table columns. This option is


equivalent to E3Browser's ColumnWidth property

22.2.2 Options Tab


On the Options tab, inform a time interval in which data is stored and updated in an E3Browser. This update occurs in
milliseconds (ms). Users can also select the option to not update data, causing records to remain unchanged. In the
option to select a type, inform which type of selection is performed on a table.

E3Browser 382
Options tab
The available options on the Options tab have a corresponding property. The available properties are described on
the next table.
Available options for the Options tab
OPTION DESCRIPTION
Choose refresh type Determines a time interval, in milliseconds, in which data
is updated. The available options are Don't refresh,
which is equivalent to configuring this option in 0 (zero),
or Refresh every (ms). This value must be greater than
1000 ms. This option is equivalent to E3Browser's
RefreshTime property

Choose selection type Specifies a type of selection on E3Browser's table. The


available options are Select cell or Select row. This
option is equivalent to E3Browser's SelectRow property

22.2.3 Colors Tab


The Colors tab specifies E3Browser colors referring to its columns and cells. To change the color of any available
options, select this option and click to open a dialog box for editing colors.

Colors tab
The available options on this tab correspond to the properties described on the next table.

383 E3Browser
Properties corresponding to the options on the Colors tab
OPTION DESCRIPTION
E3Browser background color This option corresponds to E3Browser's GridBkColor
property

Grid line color This option corresponds to E3Browser's GridLineColor


property

Header text color This option corresponds to E3Browser's FixedTextColor


property

Header background color This option corresponds to E3Browser's FixedBkColor


property

Status bar text color This option corresponds to E3Browser's ToolbarForeColor


property

Status bar background color This option corresponds to E3Browser's ToolbarBkColor


property

Cell text color This option corresponds to E3Browser's TextColor


property

Cell background color This option corresponds to E3Browser's TextBkColor


property

Cell tip text color This option corresponds to E3Browser's TitleTipTextColor


property

Cell tip background color This option corresponds to E3Browser's TitleTipBkColor


property

NOTE
This tab's name appears in the configured Windows language, and not necessarily in Elipse Power's current
language.

22.2.4 Font Tab


On the Font tab, users can define E3Browser's font specifications.

Font tab
The available options are relative to font type, size, and effects.

E3Browser 384
NOTE
This tab's name appears in the configured Windows language, and not necessarily in Elipse Power's current
language.

385 E3Browser
CHAPTER
E3Chart
23
An E3Chart is an ActiveX component specially created to work with Elipse Power. With it, users can display charts with
Tags varying in real-time, as well as historic data stored on a database.
An E3Chart is formed by several collections. A collection is a special object that manages a set of similar objects. An
E3Chart contains the following collections:
· Collection of Axes: Manages the Axes of an E3Chart, where different scales linked to Pen's data can be configured
· Collection of Pens: Manages a set of Pens created to manipulate data sequences represented on an E3Chart
· Collection of Legend Columns: Manages the columns of an E3Chart's Legend, where information about Pens is
then displayed
· Collection of Queries: Manages queries containing information about Pens, such as charts displaying historical
data already stored on a database

To use E3Chart features, follow these procedures:


1. Right-click a Screen and select the Insert - E3Chart option.

Inserting an E3Chart on a Screen

2. If necessary, configure E3Chart properties. Some properties of this object can be configured using the Properties
List, without creating scripts. To configure any property, locate it on Properties window and perform the necessary
adjustments. For more information on E3Chart properties, please check the Elipse Power Reference and Scripts
Manual.

23.1 Settings
To configure an E3Chart, right-click it and select the Properties option to open its Properties Window. The next topics
describe the available options on this window's tabs.

E3Chart 386
23.1.1 Item, Position, and General Tabs
On the Item tab, users can view the name of an object and assign a description to it.

Item tab
Each option on the Item tab has a corresponding property. The available options on this tab are described on the next
table.
Available options on the Item tab
OPTION DESCRIPTION
Name Determines this object's name. This option is equivalent
to E3Chart's Name property

Documentation A free text that enables documenting this object's


features and functionality by a developer. This option is
equivalent to E3Chart's DocString property

The Position tab specifies an E3Chart's position on a Screen.

Position tab
Each option on the Position tab has an equivalent property. The available options on this tab are described on the
next table.

387 E3Chart
Available options on the Position tab
OPTION DESCRIPTION
X Defines this object's left horizontal coordinate, in Himetric
units. This option is equivalent to E3Chart's X property

Y Defines this object's upper vertical coordinate, in Himetric


units. This option is equivalent to E3Chart's Y property

Width Determines this object's width. This option is equivalent to


E3Chart's Width property

Height Determines this object's height. This option is equivalent


to E3Chart's Height property

On the General tab, users can specify E3Chart's style and appearance.

General tab
Each option on the General tab has a corresponding property. The available options on this tab are described on the
next table.
Available options on the General tab
OPTION DESCRIPTION
Show title Displays this chart's title. This option is equivalent to
E3Chart's Title property

Show title with color Determines a color for the text of this chart's title. This
option is equivalent to E3Chart's TitleColor property

Show border Enables or disables an external border on this E3Chart,


when the visualization of scales is disabled. This option is
equivalent to E3Chart's ShowBorder property

Paint the chart's background with Determines this chart's background color. This option is
equivalent to E3Chart's BackColor property

Paint the grid's background with Determines a background color for the grid. This option
is equivalent to E3Chart's GridBkColor property

Refresh rate (seconds) Determines an interval between drawing updates in this


chart. This option is equivalent to E3Chart's RefreshTime
property

23.1.2 Axis Tab


The Axis Collection object represents a set of Axes on an E3Chart. Axes are scales outlining an E3Chart's grid.
The Axis tab allows adding or removing Axes of an Axes Collection, as well as configure their properties individually.

E3Chart 388
Axis tab
When an E3Chart is created, the Horizontal, Vertical, and Automatic Axes are automatically created. These are default
Axes and they cannot be removed. Click Add to create a new Axis on a chart and open a setup window, which allows
determining this Axis' properties. This window contains the tabs described next, and it can also be opened by clicking
Configure.

NOTES
· The Automatic Axis is a vertical Axis that groups and plots all Automatic-type Pens. Whenever an operation
available on an E3Chart's contextual menu is applied (zoom, move, fit, etc.), this Axis updates all scales. This
automatic Axis is created invisible by default and becomes visible only when used or when configured explicitly on
the Axis' Properties Window.
· When an Automatic-type Pen does not receive valid data, this Pen uses the default Vertical Axis.
· In case all Pens are using the default Automatic Axis, the default Vertical Axis is hidden.
· The default Automatic Axis works with the default Horizontal Axis, therefore user-created horizontal Axes cannot be
used for Automatic-type Pens.

General Tab
This tab contains information that identifies an Axis.

389 E3Chart
General tab
Each option on the General tab contains an equivalent property or method. The available options are described on the
next table.
Available options on the General tab
OPTION DESCRIPTION
Name Determines Axis' name. This option is equivalent to Axis'
Name property

Position Determines Axis' position on a chart. The available


options are at the top, at the bottom, to the left, or to
the right. This option is equivalent to Axis' Position
property

Mirror axis Shows this Axis on both sides of a chart, creating a mirror
effect. This option is equivalent to Axis' Mirror property

Axis title Determines Axis' title. This option is equivalent to Axis'


Title property

Use engineering unit as axis title Allows using the engineering unit of the selected Pen as
this Axis' title, overriding the text configured in the Axis
title option. This option is equivalent to Axis'
UsePenEUAsTitle property and is only available for
Automatic-type Axes

E3Chart 390
OPTION DESCRIPTION
Axis color Specifies a color for the scale. This option is equivalent to
Axis' Color property

Visible Enables Axis' visibility on a chart. This option is equivalent


to Axis' Visible property

Display text in axis' color Determines if Axis' text color has the same color defined
in the Axis color option. If this option is disabled, the
Axis' text color is the color defined in E3Chart's ForeColor
property. This option is equivalent to Axis' EnableTextColor
property

Scale in pen color Determines that a scale is drawn with the same color of
the selected Pen. This options is equivalent to Axis'
EnableScaleColor property and is only available for
Automatic-type Axes

Grid line color Determines a color for grid lines. This option is equivalent
to Axis' GridColor property

Line style Determines a style for chart's grid lines. This option is
equivalent to Axis' GridStyle property

Show grid lines Enables viewing grid lines. This option is equivalent to
Axis' ShowGrid property

Tick spacing Determines an interval between scale ticks, if the


Automatic option is disabled. If this scale is not
numerical, users can select a time unit to which this
interval refers. This option is equivalent to Axis'
SetTickSpacing method

Automatic Automatically selects an interval between scale ticks. This


option is equivalent to Axis' SetTickSpacing method, with 0
(zero) as a value for its interval

Number of subticks Determines the number of subticks between scale ticks.


This option is equivalent to Axis' MinorTicks property

Click Apply to view all changes applied to this tab and click OK to save them.

Scale Tab
This tab defines settings for an Axis' scale.

391 E3Chart
Scale tab
Each option on the Scale tab contains a corresponding method or property. The available options are described on
the next table.
Available options on the Scale tab
OPTION DESCRIPTION
Numeric scale Defines this Axis as a numeric scale. This option is
equivalent to Axis' ScaleType property. Configuration
options for numerical scales are Minimum: Determines
the minimum value of a numeric scale. This option is
equivalent to Axis' SetMinMax method or Maximum:
Determines the maximum value of a scale. This option is
equivalent to Axis' SetMinMax method. NOTE: The
configurations of this option are overwritten at run time
for Automatic-type Axes by the values from the server

Show latest data (Real-time) Shows a time interval to display on this Axis, always
relative to the current time. This option is equivalent to
Axis' SetRealTimePeriod method

Time interval (Historical data) Specifies a fixed time interval. Configuration options are
From: Initial timestamp for this interval, To: Final
timestamp for this interval, or Select: Select a time
interval. This option is equivalent to Axis' SetHistoricPeriod
method

Invert scale Inverts the values on the selected scale. This option is
equivalent to Axis' Inverse property

E3Chart 392
OPTION DESCRIPTION
Formatting Specifies a format for Axis' values, which can be either
Automatic or Customize. This option is equivalent to
Axis' Format property. For more information about
formats, please check topic Value Format

Click Apply to view all changes applied to this tab and click OK to save them.

Visual Reference Tab


This tab defines visual information for reference lines and bands of an Axis.

Visual Reference tab


Each option on the Visual Reference tab contains a corresponding property. The available options on this tab are
described on the next table.
Available options on the Visual Reference tab
OPTION DESCRIPTION
Reference value Defines a value used as a reference for the line. This value
refers to the x or y axis, depending on whether the scale
is vertical or horizontal. This option corresponds to Axis'
ReferenceLineValue property

Line color Defines a color for the reference line. This option
corresponds to Axis' ReferenceLineColor property

393 E3Chart
OPTION DESCRIPTION
Dash style Defines a dash style for the reference line. Possible values
for this option are Solid, Dashed, Dotted, Dash-Dot,
and Dash-Dot-Dot. This option corresponds to Axis'
ReferenceLineStyle property

Line thickness Defines a thickness for the reference line. Possible values
for this option range from 0 (zero) to 11 pixels. This
option corresponds to Axis' ReferenceLineWidth property

Visible Indicates whether the reference line is visible or not. This


option corresponds to Axis' ReferenceLineVisible property

Upper value Defines an upper value for the reference band. This
option corresponds to Axis' NormalBandHighValue
property

Lower value Defines a lower value for the reference band. This option
corresponds to Axis' NormalBandLowValue property

Background color Defines a color for the reference band. This option
corresponds to Axis' NormalBandColor property

Visible Indicates whether the reference band is visible or not.


This option corresponds to Axis' NormalBandVisible
property

Click Apply to view all changes performed on this tab and click OK to save them. The next figure shows a visual
reference configured on the Vertical Axis with the following values:
· Reference value: 0 (zero)
· Line color: Black (RGB(0, 0, 0))
· Dash style: Solid
· Line thickness: 2 (two) pixels
· Upper value: 50
· Lower value: -50
· Background color: Silver (RGB(192, 192, 192))

Usage example of a visual reference

E3Chart 394
23.1.3 Pens Tab
The Pen Collection object represents a set of Pens on an E3Chart. Each Pen is configured to display data according to
the configuration executed on the Data tab of the Properties Window.
The Pens tab allows adding or removing Pens from the Collection of Pens, as well as configuring their main properties,
individually or through Pen's multiple selection.

Pens tab
The available options on the Pens tab are described on the next table.
Available options on the Pens tab
OPTION DESCRIPTION
Add Pen Adds a Pen. Displays a menu to select a type of Pen to
create. The available options are Realtime , Historic
, Historic and Realtime , or Automatic

Remove Pen Removes the selected Pens

Properties Opens the selected Pen's Properties Window. This


operation is only allowed if only one Pen is selected

Move Pen up Moves the selected Pen one position up. This operation is
only allowed if only one Pen is selected

Move Pen down Moves the selected Pen one position down. This
operation is only allowed if only one Pen is selected

NOTE
To use Automatic-type Pens, there is no need to create or configure a Query. Real-time and historical data are
automatically returned on demand by the server, according to the period of time defined in the horizontal axis.

The list of E3Chart Pens allows copying and pasting Pens on the same E3Chart, as well as among different E3Charts.
Right-click a Pen, or the selected Pens in case of a multiple selection, and select the Copy (CTRL + C) option. On the
destination E3Chart, open the Properties Window and, on the Pens tab, right-click the list of Pens and select the Paste
(CTRL + V) option. The Cut (CTRL + X) option is also available. If the destination E3Chart already contains a Pen with
the same name of the one currently copied, its name is automatically incremented.

NOTE
All options of the selected Pens that are available via contextual menu (by using the right mouse button) are also
available by using the shortcut key SHIFT + F10, which corresponds to the application or menu key .

395 E3Chart
Some Pen properties can be directly configured on the list displayed on the Pens tab. On the Style column, when
clicking , the window on the next figure is then displayed.

Pen style
The available options on this window are described on the next table.
Available options on the Pen Style window
OPTION DESCRIPTION
Main color Defines a Pen's line color. This option is equivalent to
Pen's Color property

Background Color Defines a background color used on an Area-type Pen.


This option is equivalent to Pen's BkColor property

Drawing style Defines a Pen's drawing type. The available options are
Lines, Points, Lines and Points, or Area. This option is
equivalent to Pen's PenType property

Dash style Defines a Pen's line type. The available options are Solid,
Dashed, Dotted, Dash-Dot, Dash-Dot-Dot, or No Line.
This option is equivalent to Pen's PenLineStyle property

Line thickness Defines a line width. This option is equivalent to Pen's


Width property

Sample Displays an example of how a Pen is drawn on an E3Chart

Right-click a Pen and select the Configure Pen option or select a Pen and click on the toolbar to open the
Properties Window. This window contains the tabs described next.

General Tab
This tab contains information that identifies a Pen in an E3Chart.

E3Chart 396
General tab
Each option on the General tab has a corresponding property. The available options are described on the next table.
Available options on the General tab
OPTION DESCRIPTION
Pen name Indicates a Pen's name. This option is equivalent to Pen's
Name property

Main color Determines a Pen's line color. This option is equivalent to


Pen's Color property

Visible Indicates a Pen's visibility status on a chart. This option is


equivalent to Pen's Visible property

Engineering Unit Indicates the engineering unit used by a Pen. This option
is equivalent to Pen's EU property

Data Tab
This tab contains information according to a Pen's type.

397 E3Chart
Data tab
Each option on the Data tab has a corresponding property. The available options are described on the next table.
Available options on the Data tab
OPTION DESCRIPTION
Pen type Determines the type of Pen in use. This option is
equivalent to Pen's DataSourceType property

Vertical axis link Name of a Link used to plot data on a vertical scale. This
option is equivalent to Pen's YLink property

Horizontal axis link Name of a Link used to plot data on a horizontal scale.
This option is equivalent to Pen's XLink property

Number of samples kept in memory Specifies the number of samples in real-time Pens. This
option is equivalent to Pen's BufferSize property

Use TimeStamp Enables or disables a timestamp. A timestamp is a time


value that accompanies a Tag value, indicating the
moment when this value was changed. This option is
equivalent to Pen's UseTimeStamp property. If this option
is enabled, the Horizontal axis link option remains
inactive

Local query Determines a Query linked to this E3Chart that is used on


Axis data. This option is equivalent to Pen's QueryName
property

External query Determines an external query, that is, data received from
a query outside this E3Chart

E3Chart 398
OPTION DESCRIPTION
Vertical axis field Name of a Query field used to plot data on a vertical
scale. This option is equivalent to Pen's YField property

Horizontal axis field Name of a Query field used to plot data on a horizontal
scale. This option is equivalent to Pen's XField property

Use automatic query Indicates whether this Pen must use an automatic query.
An automatic query is not used if E3Chart uses a user-
customized SQL code, if it is using a Storage, or if it
contains several tables. This option is equivalent to Pen's
AutoQuery property

Vertical axis Specifies a vertical Axis. This option is equivalent to Pen's


ScaleY property

Horizontal Axis Specifies a horizontal Axis. This option is equivalent to


Pen's ScaleX property

Use automatic axes When this option is selected, this Pen is plotted using an
automatic Axis, which receives the maximum and
minimum limits of configurations of a Tag's engineering
unit on the server. NOTE: This option is only available for
Automatic-type Pens and, when selected, disables the
Vertical axis and Horizontal Axis options

Style Tab
This tab specifies a Pen's style.

399 E3Chart
Style tab
Each option on the Style tab has a corresponding property. The available options are described on the next table.
Available options on the Style tab
OPTION DESCRIPTION
Drawing style Specifies a Pen's drawing type. This option is equivalent
to Pen's PenType property

Dash style Specifies a Pen's dash style. This option is equivalent to


Pen's PenLineStyle property

Line thickness Determines a line thickness, in pixels. This option is


equivalent to Pen's Width property

Background Color Specifies a line's background color. This option is


equivalent to Pen's BkColor property

Documentation Specifies a documentation that can be displayed on this


Legend. This option is equivalent to Pen's DocString
property

Enable high alarm Enables a check on a high alarm. This option is equivalent
to Pen's EnableHighLimit property. Its text box enables
users to establish a limit for this alarm. This option is
equivalent to Pen's HighLimit property

Enable low alarm Enables a check on a low alarm. This option is equivalent
to Pen's EnableLowLimit property. Its text box enables
users to establish a limit for this alarm. This option is
equivalent to Pen's LowLimit property

E3Chart 400
OPTION DESCRIPTION
Alarm color This Pen's color when in alarm. This option is equivalent
to Pen's LimitPenColor property

Alarm background color This Pen's background color when in alarm. This option is
equivalent to Pen's LimitPenBkColor property

The appearance of a Pen, according to its configured options, can be viewed on the following figures.

Analog connection mode between points

Digital connection mode between points


The way a Pen is displayed when considering its scan appears in green, and when it is disabled appears in blue.

401 E3Chart
Display mode of a Pen considering the scan
Connection Type Tab
This tab defines a connection style between historical and real-time parts of a Pen.

Connection Type tab

E3Chart 402
The available options on the Connection Type tab are described on the following table.
Available options on the Connection Type tab
OPTION DESCRIPTION
Use automatic connection type Enables an automatic mode of connection of points of a
Pen. This option is only available for Pens of type
Automatic. This option is equivalent to Pen's
EnableAutoPlotMode property. Please check the next note
for more information about this option's behavior

Digital or Analog Defines the way points between historical and real-time
parts are connected. This option is equivalent to Pen's
DigitalData property. Available options are Digital, where
its drawing is always based on horizontal and vertical
straight lines, suggesting instantaneous variation, or
Analog, where its drawing seeks a straight line joining
each point on the chart. This option is not available when
the Use automatic connection type option is selected

Value used for scan (ms) Defines the expected reading time of a real-time Pen's
Tag. If this value is equal to 0 (zero), an E3Chart draws
only points actually received from a source (Tag). For
values different from 0 (zero), an E3Chart can create
virtual points while not receiving a value from its source
and the scan time is exceeded. This option is equivalent
to Pen's ScanValue property

Show bad quality points Defines whether bad quality points are displayed. This
option is equivalent to Pen's ShowBadPoints property

Maximum interval to connect historic to real-time Specifies a limit time to consider for a visual connection
data (s) between historical and real-time parts of a Historic and
Realtime-type of Pen. This option is equivalent to Pen's
MaxGapTime property

Highlight line when MaxGapTime is being used Highlights a connection line between historical and real-
time parts. This option is equivalent to Pen's
HighlightMaxGapTime property

Color of the line with MaxGapTime Specifies a color for a connection line. This option is
equivalent to Pen's MaxGapTimeColor property

Style of the line with MaxGapTime Specifies a style for a connection line. This option is
equivalent to Pen's MaxGapTimeStyle property

NOTE
The Use automatic connection type option is disabled for Real Time-, Historic-, and Historic and Realtime-type
Pens. This option is enabled by default for Automatic-type Pens, indicating that data is received unchanged from a
server. Users can force this connection type to Digital or Analog by clearing the selection of this option.

Statistical Data
This tab enables statistical data calculations.

403 E3Chart
Statistical Data tab
Each option on the Statistical Data tab has a corresponding property. The available options are displayed on the next
table.
Available options on the Statistical Data tab
OPTION DESCRIPTION
Calculate statistical data Enables statistical data calculation. This option is
equivalent to Pen's EnableCalc property

Show average line Displays an average line for statistical data. This option is
equivalent to Pen's ShowAverage property. Please check
the note further on this topic for more information about
this option

Show minimum and maximum Displays minimum and maximum values for statistical
data. This option is equivalent to Pen's ShowMinMax
property

NOTE
The average calculated by the Show average line option is not a simple harmonic mean, but a weighted harmonic
mean relative to the time interval of statistical data.

23.1.4 Legend Tab


A Legend is used to display Pens visible in a chart and information about them, such as color, name, and status,
among others.

E3Chart 404
A Legend object at run time
The Legend tab allows users to configure information referring to a Legend object and its Columns.

Properties of a Legend object


Some options on the Legend tab have a corresponding property or method. The available options on this tab are
described on the next table.
Available options on the Legend tab
OPTION DESCRIPTION
Show legend Enables viewing a Legend. The combo box near this
option defines the position of the Legend, which can be
at the top, to the left, at the bottom (default), and to
the right. This option is equivalent to Legend's Visible
property, and the option to select the Legend's position
is equivalent to Legend's LegendPos property

Size (pixels) Determines the size of the Legend, in pixels. This can be
a height or a width, depending on the position. The other
dimension follows E3Chart's position. This option is
equivalent to Legend's Size property

405 E3Chart
OPTION DESCRIPTION
More settings Click this option to open the Legend Configurations
window, described later on this topic

Column configuration List with all available Columns for viewing on a Legend.
Please check the table Available options on the Column
configuration list to verify the available Columns on this
list

Column ordering List with all Columns selected on the Column


configuration list in the order they appear on the
Legend

Move up and Move down Switches the Column's position on the Legend. These
options are equivalent to Legend's ChangeColumnPos
method

The available options on the Column configuration list are described on the next table.
Available options on the Column configuration list
OPTION DESCRIPTION
Visible? Indicates whether this Column is visible on a Legend.
Selecting this option automatically adds that Column to
the Column ordering list. Likewise, removing the
selection from this option removes that Column from the
Column ordering list

Name Internal name of a Column, which can be used directly by


Legend's InsertColumn (in the Col parameter), Item, and
RemoveColumn methods. For a more detailed description
of these names, please check the Available options to
identify Columns table, later on this topic

Description Descriptive text of a Column

Column Title Determines a Column's title. This option is equivalent to


the Caption property of a Legend's Column

Width (px) Defines the initial width of a Column, in pixels. This option
is equivalent to the Width property of a Legend's Column

Alignment Determines the text alignment of a Legend's Column. The


available options are 0: Left (default), 1: Right, or 2:
Center. This option is equivalent to the TextAlign property
of a Legend's Column

Formatting Determines the display format of the selected Column's


content. This option is equivalent to the Format property
of a Legend's Column

The values of the Name column on the Column configuration list are described on the next table. The value described
on the Name column, as well as the value described on the Value column, can be used on Legend's InsertColumn, Item,
and RemoveColumn methods.
Available options to identify Columns
NAME VALUE DESCRIPTION
Name 0 Displays a Pen's name

TagX 1 Displays the name of a Tag linked to


X Axis

TagY 2 Displays the name of a Tag linked to


Y Axis

E3Chart 406
NAME VALUE DESCRIPTION
TagXValue 3 Displays the value of a search on X
Axis

TagYValue 4 Displays the value of a search on Y


Axis

Description 5 Displays the description from Pen's


DocString property

Color 6 Displays a Pen's color

Status 7 Displays the current status of a Pen

ScaleX 8 Displays the name of the X Axis linked


to a Pen

ScaleY 9 Displays the name of the Y Axis linked


to a Pen

AverageY 10 Displays the average value of a Pen in


an interval

MinY 11 Displays the minimum value of a Pen


in an interval

MaxY 12 Displays the maximum value of a Pen


in an interval

XBegin 13 Displays the initial position of a cursor

XEnd 14 Displays the final position of a cursor

DiffX 15 Displays the difference between initial


and final cursors

DiffY 16 Displays the difference on Y Axis


between initial and final interpolated
points

YBegin 17 Displays the interpolated point where


the initial cursor meets a Pen

YEnd 18 Displays the interpolated point where


the final cursor meets a Pen

EU 19 Displays the engineering unit used by


a Pen

ScaleYMax 20 Displays the maximum value of a


vertical scale

ScaleYMin 21 Displays the minimum value of a


vertical scale

When clicking More settings, the Legend Configurations window is displayed, according to the next figure.

407 E3Chart
Legend Configurations window
The available options on the General tab of this window are described on the next table.
Available options on the General tab
OPTION DESCRIPTION
Font Allows configuring name, style, and size of a Column's
font. This option is equivalent to Legend's Font property

Show Legend background Enables viewing a background color for a Legend,


configured on the Background color option. If this option
is disabled, the Legend appears with the color configured
on the Paint the chart's background with option of the
General tab. If that option is disabled, the Legend
appears with the color of the object below the E3Chart.
This option is equivalent to Legend's ShowBackground
property

Background color Allows configuring a background color for a Legend. This


option is equivalent to Legend's BackColor property

Border style Allows configuring a border style for a Legend. This


option is equivalent to Legend's BorderStyle property

Show text using the pen color Enables using a Pen's color for a Legend's text. This
option is equivalent to Legend's EnableTextColor property

Show text using the following color Allows configuring a color for a Legend's text. This option
is equivalent to Legend's TextColor property

The next figure shows the Columns tab of the Legend Configurations window.

E3Chart 408
Columns tab
The available options on the Columns tab of this window are described on the next table.
Available options on the Columns tab
OPTION DESCRIPTION
Show column titles Enables a header for a Legend. This option is equivalent
to Legend's ShowHeader property

Columns background color Defines a background color for header columns of a


Legend. This option is equivalent to Legend's
HeaderBackColor property

Columns border style Defines a border style for header columns of a Legend.
this option is equivalent to Legend's HeaderBorderStyle
property

Columns text color Defines a text color for header columns of a Legend. This
property is equivalent to Legend's HeaderTextColor
property

23.1.5 Queries Tab


Queries are used to display Historic values on an E3Chart. On Queries tab, users can add or remove Queries, as well
as configure them.

Queries tab
The available options on the Queries tab are described on the next table.

409 E3Chart
Available options on the Queries tab
OPTION DESCRIPTION
Queries Shows the selected Query for edition

Configure Configures the selected Query

Add Adds a new Query. For more information on Queries,


please check the Queries chapter

Remove Removes the selected Query

NOTE
When clicking Add or Configure, a dialog box is opened to specify a Database Server that stores this Query.
Procedures to define a Query can be found on Queries chapter.

23.1.6 Font Tab


On Font tab, users can configure E3Chart's header and row fonts.

Font tab
The available options on the Font tab are relative to font type, size, and effects.

NOTE
This tab's name always appears in the configured Windows language, and not necessarily in Elipse Power's current
language.

23.2 Usage Examples


The next topics show some examples on how to use an E3Chart.

23.2.1 Enabling and Disabling Pens


The following example shows how to enable or disable Pen's data connection on an E3Chart, according to the
following procedures.
1. Create an E3Chart on a Screen.
2. Open E3Chart's Properties Window and select the Pens tab. Create a new Realtime-type Pen and link it to a Demo
Tag on the Vertical Axis.
3. Create two Command Buttons on this Screen. On the first Command Button, type "Disable Pen" in its Caption
property.
4. Open this Command Button's Properties Window and select the Scripts tab. On the Click event, type the next script.
Sub CommandButton1_Click()
Set Pen1= Screen.Item("E3Chart1").Pens.Item("Pen1")

E3Chart 410
Pen1.Disconnect()
End Sub

5. On the second Command Button, type "Enable Pen" in its Caption property.
6. Open this Command Button's Properties Window and select the Scripts tab. On the Click event, type the next script.
Sub CommandButton2_Click()
Set Pen1= Screen.Item("E3Chart1").Pens.Item("Pen1")
Pen1.Connect()
End Sub

7. Execute this project and check its results.

23.2.2 Updating a Historic E3Chart with Data from the Last Hour
The following example shows how to update an E3Chart with historical data from the last hour. For this example, users
must have a Query to a previously created table on a database.
1. Create an E3Chart on a Screen.
2. Open this E3Chart's Properties Window and select the Axis tab. Click the Configure option of the Horizontal Axis
and, on the Scale tab, select the Time Interval (Historic Data) option.
3. Select the Queries tab and click Add. Elipse Power Studio opens a dialog box to indicate the name of a database
server where this query's table is stored.
4. Select a database server on this dialog box and click OK. Elipse Power Studio opens this Query's configuration
window.
5. On the historical table, select the E3TimeStamp field and any other data field to display on this chart.
6. In the E3TimeStamp field, create a filter according to the specification on the next figure.

Filter for the E3TimeStamp field


7. After creating a filter based on the previous specification, click OK.
8. Create a new Pen. Open this Pen's Properties Window and, on the Data tab, Pen Type item, select the Historic
option using the Query and indicate the configured Query field.
9. In the Vertical Axis Field item, indicate a field from the table. In the Horizontal Axis Field item, indicate the
E3TimeStamp field. Click OK.
10. Create a new Command Button on this Screen and, in its Caption property, type the expression "Update Historical
E3Chart".
11. Select the Scripts tab of this Command Button and, on its Click event, type the next script.
Sub CommandButton3_Click()
Set Chart = Screen.Item("E3Chart1")
Query.SetVariableValue "Start", Now – 1 / 24
Query.SetVariableValue "End", Now
Chart.HorScaleBegin = Now – 1 / 24
Chart.HorScaleEnd = Now
Chart.Queries.UpdateData()
End Sub

12. Execute this project and check its results.

411 E3Chart
23.2.3 Enabling or Disabling a Pen Visualization
The following example shows how to enable or disable a Pen's visualization on an E3chart, according to the following
procedures.
1. Create an E3Chart on a Screen.
2. Open this E3Chart's Properties Window and select the Pens tab. Create a new Realtime-type Pen and link it to a
Demo Tag on the Vertical Axis.
3. Create two Command Buttons on this Screen. On the first one, change its Caption property to "Disable Pen
Visualization".
4. Open this Command Button's Properties Window and select the Scripts tab. On the Click event, type the next script.
Sub CommandButton1_Click()
Set Pen1= Screen.Item("E3Chart1").Pens.Item("Pen1")
Pen1.Visible = False
End Sub

5. On the second Command Button, change its Caption property to "Enable Pen Visualization".
6. Open this Command Button's Properties Window and select the Scripts tab. On the Click event, type the next script.
Sub CommandButton2_Click()
Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1")
Pen1.Visible = True
End Sub

7. Execute this project and check its results.

23.2.4 Creating a Pen via Scripts


The following example shows how to create a Pen via script, according to the following procedures.
1. Create an E3Chart on a Screen.
2. Create a Command Button on this Screen. In its Caption property, type "Create Pen".
3. Open this Command Button's Properties Window and select the Scripts tab. Type the next script on its Click event.
Sub Text1_Click()
Set E3Chart1 = Screen.Item("E3Chart1")
MsgBox "Click OK to create a Pen"
Set Pen = E3Chart1.Pens.AddPen("Pen1")
Pen.DataSourceType = 0 ' Real-time
Pen.VerDataSource = "Data.DemoTag1"
Pen.UseTimeStamp = True ' At x uses timestamp
Pen.Color = RGB(255, 0, 0)
Pen.DocString = "test"
MsgBox "Click OK to connect"
Pen.Connect() ' Starts retrieving data
MsgBox "Click OK to fit"
E3Chart1.FitPen(0)
MsgBox "Click OK to disconnect"
Pen.Disconnect() ' Stops retrieving data
MsgBox "Click OK to remove this Pen"
E3Chart1.Pens.Remove(Pen.Name)
End Sub

4. Execute this project and check its results.

23.3 Specific Runtime Behavior


An E3Chart contains a series of features only available at run time. They are described on the next topics.

23.3.1 Mouse Pointer Options


Click a chart's legend to resize its columns. To do so, select a column and drag it.

E3Chart 412
23.3.2 Contextual Menu Options
Right-click an E3Chart to open the contextual menu shown on the next figure.

E3Chart's contextual menu


options at run time
The available options on this contextual menu are described on the next table.
Available options for E3Chart's contextual menu at run time
OPTION DESCRIPTION
Zoom box Sets the mouse pointer in zoom mode by selected area.
This option is available in XY numerical scale and fixed-
scale charts

Drag Sets the mouse pointer in drag mode

Move horizontally Sets the mouse pointer in horizontal drag mode only

Search Sets the mouse pointer in value search mode on Pen's


data

Interval Search Enables an option to search for time intervals

Zoom out Decreases zoom for the whole Axis

Zoom in Increases zoom for the whole Axis

Fit All Fits the selected Pen on both Axes

Fit vertically Fits the selected Pen only on the Vertical Axis

Fit horizontally Fits the selected Pen only on the Horizontal Axis

Fit pen Fits the selected Pen or all existing Pens

23.3.3 Search Option


This option allows searching Pen's point values. These values are displayed on a legend using the XTagValue and
YTagValue columns.

413 E3Chart
Search option

NOTE
For more information on the XTagValue and YTagValue columns, please check topic Legend Tab.

23.3.4 Interval Search Option


This mode displays two cursors that define an interval for statistical calculations. Cursor values are displayed on the
BeginX, BeginY, EndX, and EndY columns. To change a cursor position, left-click it and then drag it to the desired
position.

Interval Search option

23.3.5 Legend Status Column


The Legend Status column displays the current status of each Pen. The content of that message is formed by an error
information, if available, and information about the current status of a Pen, such as the number of points. The next two

E3Chart 414
tables show all possible error and information messages for Realtime- and Historic-type Pens. If a Pen's type is
Historic and Realtime, then the final message is a combination of real time and historical parts. In case there are error
messages, the column's row is displayed in red while that error persists.
Status messages for the real time part
MESSAGE MEANING
Error: Real time data disconnected There is no connection from Pen's real time part. Check
(YLink = 'Tag Name') (XLink = 'Tag Name') Tag names in Pen's YLink and XLink properties

Info: Real time n pts Displays the total number of points on the real time part

Status messages for the historical part


MESSAGE MEANING
Info: Query Name waiting Waiting for query initialization. This means that some
query's change or update request was detected

Info: Query Name initializing This query is starting. At this time there is a validation of
Pen fields

Error: Query Name: Initialization fail Before loading query data, an E3Chart must have
information about which fields are available on its query,
to perform a link between these fields and the XField and
YField properties. Thus, a failure occurred when retrieving
these fields, which might be a network or SQL syntax
error

Error: Field not found (XField = 'Field Name') The field informed in the XField property was not found
on this query. Check if this field is selected on query's
edition screen or on the SQL code

Error: Field not found (YField = 'Field Name') The field informed in the YField property was not found
on the query. Check if this field is selected on query's
edition screen or on the SQL code

Error: 'Query Name' 'Error Message' Indicates that there is an error on this query, and data
cannot be retrieved. Possible messages displayed in Error
Message are described on the next table

Info: n pts Displays the total number of points on the historical part

Info: loading Indicates that query data is still loading from a server

Error: Invalid query (QueryName = 'Query Name') The query indicated by Pen's QueryName property was
not found by this E3Chart

Specific messages for query failures


MESSAGE MEANING
Failed when adding data Cannot load data into memory

Failure when creating query Cannot create a query

Error when executing query Cannot execute a query

Failure when retrieving data from server Cannot retrieve query results from a server

Failure when retrieving number of records from server Cannot retrieve query's total number of existing records
from a server

Failure when positioning cursor at the beginning Cannot move cursor to the first query record

Cursor is busy Query records are not available for retrieval from a
server

Failure when retrieving data from server Cannot retrieve query records from a server

415 E3Chart
MESSAGE MEANING
Unknown error There was an unexpected error when retrieving query
data from a server

E3Chart 416
CHAPTER
TrendAnalysis
24
TrendAnalysis is a tool to display historical data that uses Tags provided by the automatic history service of Elipse
Power. The main features of a TrendAnalysis are the following:
· Capacity for large amounts of data
· Clear view of the time scale for any level of zoom
· Scroll and zoom by scale or by area
· Search for previous values, nearest values, or interpolated values
· Displays updated automatically
· View the quality of a point and indication of points with null values
· Permanent fitting of Pens by axis

This tool is accessible using the Elipse Power Viewer methods GetTrendAnalysis, to create and configure, and
ShowTrendAnalysis, to view. The resulting window can be viewed on the next figures.

Displays tab

417 TrendAnalysis
Bookmarks tab

Connections tab
The configuration options of the tabs available on the TrendAnalysis window are described on the next topics.

24.1 Displays Tab


This tab displays Pens corresponding to data available on the Connections tab. The available options when right-
clicking a Display are described on the next table.

TrendAnalysis 418
Available options on the contextual menu of a Display
OPTION DESCRIPTION
Select Columns Allows selecting which columns are displayed for Pens

Auto Update Enables or disables the auto-update mode

Show Gridlines Shows or hides grid lines on Pens area

Show Min/Max Points Shows or hides minimum and maximum points of Pens

Show Local Legend Shows a legend with the name of the Pen and its
respective color

Interpolate Uses interpolation to draw a Display

When selecting the Select Columns option, the window on the next figure is displayed.

Legend window
The available options on this window are described on the next table.
Available options on the Legend window
OPTION DESCRIPTION
Available Available columns for viewing. Please check the next table
for more information about these columns

Add Moves the selected column to the Selected list

Remove Removes the selected column from the Selected list

Up Moves the selected column one position up on the


Selected list

Down Moves the selected column one position down on the


Selected list

Selected Columns selected for viewing

The available columns for viewing are described on the next table.
Columns available for viewing
COLUMN DESCRIPTION
Average (Period) Average of the period queried

Average (Visible) Average of the visible period on a Display

EU Engineering unit of a Pen's value

419 TrendAnalysis
COLUMN DESCRIPTION
Last Query Duration Elapsed time of the last query, in milliseconds

Last Query Status Status of the last query

Max (Period) Maximum value of a Pen in the period queried

Max (Visible) Maximum value of a Pen in the visible period of the


Display

Min (Period) Minimum value of a Pen in the period queried

Min (Visible) Minimum value of a Pen in the visible period of the


Display

Pen Source Source Tag of a Pen's data

Period End Time Final date and time of the period queried

Period End Value Final interpolated value of the period queried

Period Start Time Initial date and time of the period queried

Period Start Value Initial interpolated value of the period queried

Period Time Span Time interval of the period queried

Period Value Span Value interval of the period queried

Points Received Total number of points received from the Pen

Quality Quality of a Pen's value in the search point

Timestamp Timestamp of a Pen's value in the search point

Value Pen's value in the search point

Vertical Scale Max Maximum value of the Vertical Scale

Vertical Scale Min Minimum value of the Vertical Scale

Vertical Scale Title Title of the Vertical Scale

The columns EU, Quality, Timestamp, and Value correspond, respectively, to the properties EU, Quality, TimeStamp,
and Value of search points in Pens. If there are no search points defined, these columns display an indication of "No
Search Point". On the other hand, the columns Average, Max, and Min correspond, respectively, to the average,
maximum, and minimum values of the interval of values requested for the Tags.

NOTES
· To reorder the columns of a Legend, use the Up or Down options.
· The available options for columns of a Legend, including their width, only apply to the selected Display.
· The value of the Average column is based on data that, in very small zoom levels, may be compressed, therefore it
can change the value effectively calculated.

Each Pen has a check box, which indicates whether they are visible on a Display, an icon with a color, and a name. When
right-clicking a Pen, users can select the options described on the next table.
Available options on the contextual menu of a Pen
OPTION DESCRIPTION
Bring to Front Moves the selected Pen one position up in the overlay
order of Pens. The available options are Bring to Front:
Moves the selected Pen to the first position or Bring
Forward: Moves the selected Pen one position up

TrendAnalysis 420
OPTION DESCRIPTION
Send to Back Moves the selected Pen one position down in the overlay
order of Pens. The available options are Send to Back:
Moves the selected Pen to the last position or Send
Backward: Moves the selected Pen one position down

Fit Fits the Pen from the selected Display on both vertical
and horizontal axes

Edit Allows editing information about the selected Pen

Show Details Shows a window with detailed information about a Pen

Delete Pen Removes the selected Pen from the Display

NOTES
· When deselecting the check box near a Pen, that Pen stops receiving real-time data.
· Clicking the color icon of a Pen opens the Windows standard dialog box for selecting colors.

When selecting the Edit option on the contextual menu of a Pen, the window on the next figure is displayed.

Edit window
The available options on this window are described on the next table.
Available options on the Edit window
OPTION DESCRIPTION
Title Allows changing the title of a Pen

Connection Allows selecting the type of connection of a Pen. Possible


values are Discrete or Continuous

Line type Allows selecting the type of line of a Pen. Possible values
are None: No line, only dots, Solid: Solid line, Area:
Draws the Pen's area, Dash: Dashed line, Dash Dot: Line
with dash-dot, or Dash Dot Dot: Line with dash-dot-dot

Point type Allows selecting the type of points of a Pen. Possible


values are None: No indication of points, Circle, Square,
Triangle, or Diamond

421 TrendAnalysis
OPTION DESCRIPTION
Line width Allows configuring the width of the drawing line of a Pen

Type Allows configuring the type of connection. Possible values


are Don't connect bad points: Does not connect points
with bad quality, Connect until bad: Connects points until
quality turns bad, or Ignore bad: Ignores points with bad
quality

Scan (ms) Allows configuring the scan time of a Pen

NOTE
The Line type and Point type options cannot be configured simultaneously with the value None.

When clicking the Show Details option on the contextual menu of a Pen, the window on the next figure is displayed.

Details window
The available options on this window are described on the next table.
Available options on the Details window
OPTION DESCRIPTION
Connection Shows the name of a Pen's connection

Source Shows a Pen's data source. For remote Tags, the format
of this option is the same as described on topic Link
Syntax

Status Shows the status of the last query of a Pen

Duration Shows the duration time of the last query of a Pen

Points received Shows the number of points received during the last
query of a Pen

Users can also edit vertical, Numeric, and horizontal, Time, Scales of a Display. To do so, right-click a Scale and select
the Edit option. The next figures show the available options for each Scale.

TrendAnalysis 422
Numeric Scale window
The available options on this window are described on the next table.
Available options on the Numeric Scale window
OPTION DESCRIPTION
Title Title of the Vertical Scale

Show Title Enables or disables viewing the Vertical Scale

Top Maximum value of the Vertical Scale

Bottom Minimum value of the Vertical Scale

Show gridlines Enables or disables viewing Vertical Scale grid lines


relative to Time Scale

Digital axis scale Adjusts the Vertical Scale for viewing digital or discrete
variables

Auto fit When selecting this option, Pens using this Vertical Scale
are permanently adjusted to the visible period. In this
mode, users cannot drag the Vertical Scale

Time Scale window


The available options on this window are described on the next table.

423 TrendAnalysis
Available options on the Time Scale window
OPTION DESCRIPTION
Begin Initial date and time displayed on the Time Scale

End Final date and time displayed on the Time Scale

Show gridlines Shows or hides grid lines relative to the Time Scale

NOTE
To add or remove Numeric Scales, use the and options near the respective Scale. Users cannot remove the
original Numeric Scale, nor add or remove the Scale Time. To create new Time Scales, add a new Display.

24.2 Bookmarks Tab


The Bookmarks tab allows adding a bookmark to a certain period of time of a Pen. To do so, right-click the tab's area
and selected the New Bookmark option to open the window on the next figure.

Bookmark window
The available options on this window are described on the next table.
Available options on the Bookmark window
OPTION DESCRIPTION
Name Name of a bookmark

Begin Initial date and time of a bookmark

End Final date and time of a bookmark

NOTE
Users can also add a bookmark by right-clicking a Display area and selecting the Select Period option. After selecting
a period of time, right-click this period's area and select the Add Bookmark option.

When right-clicking a Bookmark, users can select the options described on the next table.
Available options on the contextual menu of a Bookmark
OPTION DESCRIPTION
Apply to Apply this Bookmark to a specific Display

Apply to All Ungrouped Apply this Bookmark to all Display that are not part of a
group

Edit Allows editing the selected Bookmark

Delete Removes the selected Bookmark

New Bookmark Allows adding a new Bookmark

TrendAnalysis 424
24.3 Connections Tab
The Connections tab shows the connection with Elipse Power and the available Tags for use on Displays. To add a
Pen, drag it to the Display area or right-click a Tag and select the Insert option.

NOTE
Viewers from versions prior to version 6.5 do not have access to remote Tags.

24.4 Display Area


The title bar of a Display contains an icon representing the reproduction mode of that Display, which is playing or
paused .
When in play mode, the Time Scale moves toward the future, allowing users to follows real-time values. Moving the
Time Scale to the past or applying a zoom does not change the Scale's movement direction.
When Displays are grouped, only one of the Displays is in play mode and the other Displays on the group copy that
movement. When removing a paused Display from a group, that Display stops its movement. If a Display is added to a
moving group, this Display also starts to move.
Grouping Displays is used to link Time Scales among Displays. All Time Scales of a group contain the same zoom
factor, but with different periods. This allows comparing different periods through a search, such as comparing a
certain month to the previous month.
To create a group of Displays, click the icon on the title bar of the Displays. To remove a Display from a group,
click the icon on the title bar of the Display.
When grouped, all Displays share the same reproduction mode. Click the icon to play and the icon to pause
reproduction. The Search, Zoom, and Select modes are executed in all Displays of a group, according to the relation
among periods.
When right-clicking the area of a Display, users can select the options described on the next table.
Available options on the contextual menu of a Display area
OPTION DESCRIPTION
Select Allows selecting a specific Pen from a Display

Pan Allows dragging the Time and Numeric Scales without


changing the zoom factor

Select Period Allows selecting a specific period of time

Zoom Allows plotting a specific area of a Display. Possible


values in this option are Zoom XY: Plots a region both on
vertical and horizontal axes, Zoom X: Plots a region only
on the horizontal axis, or Zoom Y: Plots a region only on
the vertical axis

Search Allows viewing values from Pen points or executing an


interpolation. Possible values in this option are described
on table Available options on the Search mode

Go To Allows adjusting the Time Scale to pre-determined


periods. Possible values for this option are Last Day,
Last Hour, Last Half Hour, Last 10 Minutes, or Now

Zoom Back Moves back to the previously selected zoom level, if


available

Fit Fits the Pens from the selected Display inside the selected
period of time

Show Gridlines Enables viewing grid lines on the plot area of a Display

Copy Image Copies the current Display area to Windows Clipboard as


an image in PNG format

Export to CSV Exports the content of a Display to a file in CSV (Comma-


Separated Values) format. Clicking this option opens the
Export window, described later

425 TrendAnalysis
OPTION DESCRIPTION
Edit Allows editing a Display. Clicking this option opens the
edition window, described later

Add Display Allows adding a new Display. Possible values for this
option are At the Top, On the Right, On the Left, or At
the Bottom

Options Allows configuring several options of a Display. Clicking


this option opens the Options window, described later

Available options on the Search mode


OPTION DESCRIPTION
Previous Top Panel Allows viewing the timestamp, the value, and the name of
a point before the mouse pointer

Interpolated Top Panel Allows viewing the timestamp, the value, and the name of
an interpolated point relative to the point before and
after the mouse pointer

Interpolated Label Allows viewing the value of an interpolated point relative


to the point before and after the mouse pointer

Nearest Label Allows viewing the value of the point nearest to the
mouse pointer

Keep Last Search Point Allows the mouse pointer to remain fixed on the screen
during a search

Insert Search Point Inserts a search point on the screen center, using the last
search configuration from the current session or using
the Nearest Label mode if no search was performed

When clicking Export to CSV, the window on the next figure is displayed.

Export window
The available options on this window are described on the next table.
Available options on the Export window
OPTION DESCRIPTION
File Allows indicating an output file for exporting. Click to
select an output directory

Begin Allows selecting a date and time to start exporting

TrendAnalysis 426
OPTION DESCRIPTION
End Allows selecting a date and time to finish exporting

Include quality Allows including a Pen's quality on export

Include milliseconds Allows including milliseconds in the indicated periods

When clicking Edit, the window on the next figure is displayed.

Edit window of a Display


The available options on this window are described on the next table.
Available options on the edition window of a Display
OPTION DESCRIPTION
Title Title of a Display

Auto update Enables or disables the auto update mode

Minimum interval (ms) Minimum updated interval, in milliseconds. The minimum


accepted value in this options is two seconds, or 2000 ms

Interpolate (using cubic spline) Uses a cubic spline interpolation to draw a Display

Show local legend Shows or hides a legend with the Pen's name and its
respective color

Show min./max. points Shows or hides the maximum and minimum points on a
Display

Show Gridlines Shows or hides the grid lines on a Display

When clicking Options, the window on the next figure is displayed.

427 TrendAnalysis
Options window
The available options on this window are described on the next table.
Available options on the Options window
OPTION DESCRIPTION
Color theme Allows selecting a color theme for a Display. Possible
values are Light or Dark

Show pen selection Shows the highlighted Pen on a Display

Visual scaling Allows configuring the scale of visual elements on


TrendAnalysis. Possible values for this option range from
50% to 500% and the default value is 100%

Position Allows selecting the position to show the task panel with
the Displays, Bookmarks, and Connections tabs.
Possible values are At the Top, At the Bottom, On the
Left, or On the Right

Show Task Panel Shows or hides the task panel

UTC offset (s) Allows indicating a time offset, in seconds, to the time of
Pens on a Display

Use local time (offset not used) Uses the local time, ignoring the UTC offset (s) option

Horizontal and Vertical Guide Lines are part of a set of functionality that helps an analyst in the process of visually
analyzing data. The main function of Guide Lines is to help the visual identification of periods in which data exceeds the
limits defined by the Lines.
To add a Horizontal Guide Line, right-click the area of a Display and select the Add Horizontal Guide Line option. To
move a Horizontal Guide Line, click and drag it to the desired position. To edit it, right-click the Guide Line and select
the Edit option to show the window on the next figure.

TrendAnalysis 428
Window to edit a Horizontal Guide Line
The available options on this window are described on the next table.
Available options on the Edit window of a Horizontal Guide Line
OPTION DESCRIPTION
Value Value of the Guide Line's position relative to the Vertical
Scale

Line width Line's width, in pixels

Color Color of a Guide Line. Click Edit Color to select a color


on the Windows default color selection window

Line transparency Level of transparency of a Guide Line, as a percentage.


Possible values range from 10% to 100%

Line type Type of line. Possible values are Solid: Solid line, Dash:
Dashed line, Dash Dot: Line with dashes and dots, Dash
Dot Dot: Line with dashes, dots and dots, and Dot Dot
Dot: Dotted line

To add a Vertical Guide Line, right-click the area of a Display and select the Add Vertical Guide Line option. To move
a Vertical Guide Line, click and drag it to the desired position. To edit it, right-click the Guide Line and select the Edit
option to show the window on the next figure.

Window to edit a Vertical Guide Line


The available options on this window are described on the next table.

429 TrendAnalysis
Available options on the Edit window of a Vertical Guide Line
OPTION DESCRIPTION
Value Value of the Guide Line's position relative to the
Horizontal or Time Scale

Line width Line's width, in pixels

Color Color of a Guide Line. Click Edit Color to select a color


on the Windows default color selection window

Line transparency Level of transparency of a Guide Line, as a percentage.


Possible values range from 10% to 100%

Line type Type of line. Possible values are Solid: Solid line, Dash:
Dashed line, Dash Dot: Line with dashes and dots, Dash
Dot Dot: Line with dashes, dots and dots, and Dot Dot
Dot: Dotted line

Both Horizontal and Vertical Guide Lines can be copied and pasted on other Displays. To do so, right-click a Guide Line
and select the Copy Guide Line option. Then, right-click the desired Display and select either the Paste Horizontal
Guide Line option or the Paste Vertical Guide Line option. To remove a Guide Line, right-click it and select the
Remove Guide Line option. To lock a Horizontal or Vertical Guide Line in a certain position, right-click it and select the
Lock Guide Line Position option.
Users can also add a Horizontal Guide Line linked to a Pen. To do so, right-click a Pen and select the Add Associated
Horizontal Guide Line option. In this case, the Guide Line moves automatically to the average, minimum, or maximum
value of the linked Pen. The window to edit this type of Guide Line, available in the contextual menu's Edit option,
contains an extra Type option, shown on the next figure.

Window to edit a Horizontal Guide Line linked to a Pen


The available options for the Horizontal Guide Line linked to a Pen are Minimum: The Guide Line moves automatically
with the minimum value, Average: The Guide Line moves automatically with the average value, or Maximum: The Guide
Line moves automatically with the maximum value.

NOTES
· The drawing width of Horizontal and Vertical Guide Lines is independent from the screen resolution of the current
device.
· The value of the Average option corresponds to the average of values effectively shown on a Display, which may be
different from the average of values requested for the Tags.

Each Display can contain one or more Plot Areas. A Plot Area groups Pens and Vertical Scales in the same Display. All
Plot Areas use the same Time Axis, which is unique for a Display.

TrendAnalysis 430
When the mouse pointer is over a Display's area, the and options are shown below the legend and allow,
respectively, adding or removing a Plot Area. The add option stacks a new Plot Area on the Display and the remove
option deletes the top Plot Area of a Display. Pens and Axes linked to a Plot Area are also removed.

NOTES
· If users want to keep the Pens used on a Plot Area, drag them to another Plot Area or to another Display before
removing them.
· Plot Areas, by default, are removed in reverse order of insertion when using the option. To remove a specific
Plot Area, right-click the Area and select the Delete Plot Area option.

24.5 Keyboard Shortcuts


The next table contains the available shortcut keys on TrendAnalysis.
Available shortcut keys on TrendAnalysis
SHORTCUT KEY DESCRIPTION
0 (zero) Fits the selected axis, vertical or horizontal

Application or menu key Opens the contextual menu of the selected item on the
Displays, Bookmarks, and Connections tabs

CTRL + 0 (zero) Fits the horizontal and vertical axes

CTRL + DELETE Removes a search point from a Display

CTRL + F6 Browse through the pens of the selected vertical axis

CTRL + G Displays or hides the grid of a Display

CTRL + INS Inserts a search point on the center of the screen, using
the last search configuration from the current session or
using the Nearest Label mode if no search was
performed

CTRL + K Allows the mouse pointer to remain fixed on the screen


during a search

CTRL + Left arrow Moves the search point to the left

CTRL + Minus sign (-) Executes a zoom out operation on the time axis

CTRL + Plus sign (+) Executes a zoom in operation on the time axis

CTRL + Right arrow Moves the search point to the right

CTRL + T Displays or hides the Task Panel

CTRL + TAB Toggles the focus between the Task Panel and the
Displays

CTRL + Z Executes a zoom back operation, when available

DELETE Removes a plot area if there is no Vertical Scale


selected. Otherwise, removes the Vertical Scale from the
associated area

Down arrow Moves down the selected axis

END Moves to the current period of time

ENTER Selects the current Display or pen on the Task Panel

ESC Clears the current selection

F5 Updates all connections on the Connections tab

F6 Allows selecting axes individually

F11 Displays or hides the Task Panel

H Displays or hides the Display selected on the Task Panel

431 TrendAnalysis
SHORTCUT KEY DESCRIPTION
INS Adds a plot are if there is no Vertical Scale selected.
Otherwise, adds a new Vertical Scale to the associated
area

L Adds or removes the group from a Display

Left arrow Moves to the previous point on the time scale

Minus sign (-) Executes a zoom out operation on the selected vertical
axis

Mouse wheel Scrolls the Display area vertically or horizontally

PAGE DOWN Changes the time scale of a chart to larger units, such as
from hours to minutes

PAGE UP Changes the time scale of a chart to smaller units, such


as from minutes to hours

Plus sign (+) Executes a zoom in operation on the selected vertical


axis

Right arrow Moves to the next point on the time scale

SHIFT + TAB Browse through the Displays, counterclockwise

Space bar Plays or pauses a Display

TAB Browse through the Displays, clockwise

Up arrow Moves up the selected axis

TrendAnalysis 432
CHAPTER
E3Playback
25
A playback tool aims to facilitate post-operations, specially analyzing occurrences. Its need is justified because it allows
users to view variations of events and analog points in real time, by using its monitoring screens in a past time, which
can be, in some cases, complicated only by observing reports on events and analog values.
It is important to notice that a playback is a tool that permits an expert operator that knows the process to clearly
interpret facts. It is not the scope of a playback to automatically identify a solution or a cause of an occurrence.
A practical example of playback usage may be the following:
A user, when starting a working shift, is informed of a severe occurrence that happened at night, around 3:15 AM. Then this
user can open on a playback tool a screen that contains the point that generated this event and other related points, just by
moving a clock to 3:10 AM and clicking Play. When observing an animated screen with historical data, this user easily
monitors the general status of this process, by moving back and forth freely in time until a perfect understanding of what
caused that occurrence.

25.1 E3Playback Object


An E3Playback, a playback tool by Elipse Software, is an ActiveX that executes inside Elipse Power Viewer or
WebViewer and allows viewing application Screens using historical data stored on databases.
E3Playback retrieves Tags referenced on these Screens from a database, as well as other Links between an Elipse
Power Viewer and a server (such as Viewer Tags with Links to server objects), and displays values, animations,
statuses, and charts according to information available on a database and a defined period of playback.

25.2 User Interface


E3Playback's user interface is divided into six parts:
· Toolbar
· Timeline
· Bookmarks
· Screen Area
· Event List
· Tag List

25.2.1 Toolbar
The Playback Toolbar gathers all main commands to operate an E3Playback.

Playback toolbar
This toolbar contains the options described on the next table.
Available options on the Playback toolbar
OPTION ACTION
Play (backward) Starts playing data at the current playback time,
moving the clock back according to the current
playback speed

Pause Freezes playback clock at the current time

Play Starts playing data at the current playback time,


moving the clock forward according to the current
playback speed

Stop Interrupts playback, data Tags and alarms are


removed from Screens, and no new query is
performed on its database

433 E3Playback
OPTION ACTION
Slower Slows down playback speed in half. Minimum value
is 1/1024x, that is, moves forward approximately
one millisecond of data at every second

Normal Speed Sets playback speed to its normal value (1x)

Faster Doubles playback speed. Maximum value is 1024x,


that is, at every second playback clock moves
forward 1024 seconds (approximately 17 minutes)
Allows selecting a playback speed
Speed Selector

Current Date and Time Displays current playback clock's date and time,
and allows selecting a new date

Show or Hide Timeline Shows or hides E3Playback's Timeline window

Show or Hide Tag List Shows or hides E3Playback's Tag window

Show or Hide Event List Shows or hides E3Playback's Event window

Start or Stop Video Recording Allows generating a video (in AVI format) capturing
the entire playback area during a certain period of
time, or until users stop recording

Capture E3Playback Screen Allows capturing playback Screen area. Captured


Screens can be saved to a BMP file or copied to the
Clipboard

When selecting the Video Recording tool, the window on the next figure is displayed.

Recording options window


The available options on this window are described on the next table.

E3Playback 434
Available options for Recording options window
OPTION DESCRIPTION
Save video as Displays path and name of a video file to save. Click to
browse computer folders

Maximum recording time Allows defining a total recording time. If it is set to


Undefined, recording only stops if E3Playback video
recording option is clicked. The Time (s) option allows
pre-defining a maximum recording time, in seconds (in this
case recording is automatically stopped at the end of the
selected time)

Frames per second Configures the number of frames captured at every


second of this recording process

Show mouse cursor in recording When this option is enabled, the mouse pointer appears in
the recorded video. Default value for this option is
disabled. The recorded mouse pointer in this video is the
one configured as Windows default. Animated mouse
pointers are not animated in this video. In this case, the
first frame of this animation is always displayed

Compressor Video compressor used on the recording process. All


compressors installed on the computer are listed, if
supported by E3Playback

Compression quality Configures compression rate, which affects the final quality
of this video, and therefore the size of the resulting file

Frame interval at each keyframe Configures the number of frames at each key frame

Configure (compressor) Opens a new window with specific settings for the selected
compressor

About Opens a new window with information about the selected


compressor

Record audio Enables audio recording. Default value of this option is


disabled

Device Lists all audio devices installed and enabled on the


computer that can be used on audio recording

Format Displays information about the audio format currently


selected

Attributes Displays information about attributes of the currently


selected audio format

Configure (audio) Displays a window allowing to change the recording


format and audio attributes

Show summary when finish recording Enables or disables a window displayed when the
recording process is finished

25.2.2 Timeline
A Timeline allows visually tracking down and controlling playback clock.

Timeline
The options for this component are described on the next table.

435 E3Playback
Available options on the Timeline
OPTION DESCRIPTION
Ruler Displays a time line. Users can move this time line from
side to side by clicking and dragging the mouse pointer.
Zoom is controlled by the mouse wheel. Moving it up is
equivalent to zooming in. Moving it down is equivalent to
zooming out. Users must first click time line's background
before trying to zoom in or out. When pressing the CTRL
key, a zoom operation is performed three times faster

Cursor Marks the current position of playback clock. When


playback is in Pause mode, users can drag the cursor from
side to side, changing playback clock while dragging the
cursor. It is always visible on the time line

Query Bar Displays periods of time that already have loaded data:
· A light green line means that, on this period, data is fully
loaded
· A dark green line indicates that data from this period is
currently loading
· A light yellow line indicates that this period contains
some loaded data. New database queries are needed if
the cursor is moved over that period
· A light gray line indicates that the period contains no
loaded data yet. To load data from that period, move
playback cursor over it

Data Bar Indicates with a blue dot each moment when there is a
playback event

General Zoom Bar Displays the period of data currently displayed on the
Timeline, compared to the total period of data available
for playback

In case a Tag's Display chart in Timeline option is selected on the Event List or Tag List, a visual representation of
this Tag is displayed on the left side of the chart. This representation varies according to Tag's data type:
· String: Displays text boxes with Tag names
· Boolean or Digital: Displays a status chart of a Tag, where Tag's value is drawn over a bottom line (Off or False)
or over a top line (On or True). Chart's line remains dotted on periods where Tag quality is bad
· Double, Integer, or Analog: Displays a line chart with Tag values. Chart's scale (bottom and top) is calculated
automatically according to Tag values already retrieved by E3Playback on a database. As in a digital chart, chart's
line remains dotted on periods where Tag quality is bad. This line can be interpolated or in steps, depending on a
Tag supporting (Storage) or not (Historic) interpolation

Display chart in Timeline


Every Tag added to a Timeline contains an automatically defined color, which can be changed by using the Change
color option on its contextual menu. This option opens the system's Color dialog box, allowing to select a new color or
customize the selected color.

E3Playback 436
25.2.3 Bookmarks
Bookmarks are used to highlight occurrences on E3Playback's time line.

Bookmarks
Available options on the Bookmarks toolbar
OPTION ACTION
Adds a Bookmark on the Selected Timestamp Adds a name to a bookmark on the time line, at the
selected date and time

Edits the Selected Bookmark Allows editing the selected bookmark, also changing
date and time, name, or description

Removes the Bookmark Removes the selected bookmark from the time line

Removes All Bookmarks Removes all bookmarks created on the time line

Moves to the Previous Bookmark Selects a bookmark immediately ahead on the time line
and on the event list, simultaneously

Moves to the Next Bookmark Selects the next bookmark on the time line and on the
event list, simultaneously

By clicking Add or Edit , the following window is then displayed.

Add/Edit Bookmark window


The available options on this window are described on the next table.
Available options on the Add/Edit Bookmark window
OPTION DESCRIPTION
Date/time/ms Allows selecting a bookmark's date and time, including
milliseconds. These fields are already filled in with the
selected date and time on the time line

Name Allows selecting a bookmark's name

Comments Allows informing an additional comment for this


bookmark

When creating a bookmark, it is displayed on the Timeline, as in the next figure, and also on the Event List.

437 E3Playback
Timeline with bookmarks

25.2.4 Screen Area


This is the area where application Screens are displayed. The Screen initially displayed is the one configured in
E3Playback's InitialScreen property. If this property is left blank, then Viewer's initial Screen is used.

Screen Area
A Screen Area works as an Elipse Power Viewer inside E3Playback. Screens are always opened in Fit zoom. Users can
freely browse application Screens.
There are some restrictions and comments regarding Screen behavior inside E3Playback:
· Screens work as if they were inside a Read-Only Elipse Power Viewer, that is, users are not allowed to send
commands and values to an E3 Server. This guarantees that operations performed on E3Playback do not interfere
with an application in real time
· Users are not allowed to access server objects using the Application.GetObject method. If this method is called in
a script, it fails by aborting this script
· Due to several access limitations to a server, script errors occurred inside E3Playback do not generate an error
message, and scripts are silently aborted
· An E3Playback emulates a real Elipse Power Viewer. To do so, a new copy of a Viewer object and its Tags are
created for use with E3Playback. If any specific Elipse Power Viewer behavior must be enabled or disabled inside
E3Playback, users can test Viewer's IsPlaybackMode property
· There is a complete isolation among Screens executing inside an E3Playback and what is outside
· An E3Playback handles new Frames created by an application as new tabs on top of the Screen Area. Each tab's
title is the name of the Frame or Screen that was opened

E3Playback 438
Frames opened on E3Playback tabs
· All Links referring to server objects are captured by an E3Playback, and start receiving historical data according to
the current playback clock. This includes not only Links created on displayed Screens, but also on Links available on
Viewer Tags
· Links created among Viewer objects (for example, a Display showing a Demo Tag value internal to that Viewer)
work normally, without any playback interference
· An E3Chart only works inside an E3Playback if it is configured with historical Pens. Real-time Pens are disabled
inside E3Playback (they do not receive any data)
· An E3Alarm displays an alarm summary according to what is stored on database's alarm table
· An E3Browser works normally, as database queries are allowed inside an E3Playback

NOTE
Data displayed on an E3Browser are always the CURRENT data from a database, that is, an E3Playback does not try
to emulate a database status at a period of time in the past.

25.2.5 Event List


An Event List displays a chronological sequence of playback events, which allows an event-by-event browsing. A
playback event can be:
· A change on a Tag value
· A change on an alarm status

Event List
Columns on this window are described on the next table.
Columns on the Event List
COLUMN DESCRIPTION
Date/time Displays this event's date and time, as stored on the
database

439 E3Playback
COLUMN DESCRIPTION
Tag Path Displays the Tag's or alarm source's path that generated
this event, or the Bookmark's name

Event If this event is a change on a Tag value, displays this new


value. If quality is not Good (192), it is displayed before
the value (for example, "Bad(20); 45.433"). If this event is a
change on an alarm status, displays the sub-condition's
name (HI, HIHI, LO, LOLO, etc.) and alarm's description.
If this alarm is (or was) acknowledged, displays an "ACK"
text at the beginning, with the operator's name inside
parentheses. If it is a Bookmark, this field displays its
associated comment

The Event List's toolbar contains the options described on the next table.
Options on the Event List's toolbar
OPTION ACTION
Previous Event Places the playback clock at an event previous to the
selected one on this list, skipping events with a
timestamp equal to the current timestamp

Next Event Places the playback clock at the next event with a
timestamp greater than the current timestamp

Filter Events Turns an event filter on or off. When turning a filter on,
only events from the current selected Tag or alarm
source are displayed on the event list. Bookmarks are
always displayed, even if a filter is on

Filter Bookmarks Displays only Bookmarks that were created

When right-clicking an event, a contextual menu is displayed with the options described on the next table.
Options for an event's contextual menu
OPTION DESCRIPTION
Show or Remove chart on Timeline Adds or removes a visual representation of this Tag on
the Timeline window

Show only events from this tag or Show all events Filters events on the Event list to display only the selected
Tag. Selecting this option again displays all events

25.2.6 Tag List


A Tag List displays Tags currently in use for playback.

Tag List
Columns on this window are described on the next table.
E3Playback 440
Columns on the Tag List
COLUMN DESCRIPTION
Tag Path Displays a Tag's path

Table Displays the name of a database table that contains Tag's


data

Status Indicates whether this Tag was found on the database

Value Displays a Tag's value on the current playback date and


time

Date/time Displays a Tag's current timestamp. If this Tag supports


interpolation (only for analog points stored on a
Storage), then the timestamp is equal to the current
playback time. If not, the timestamp is from the last event
with a timestamp less or equal to the current playback
time

Quality Displays a Tag's quality (OPC standard) on the current


playback time. When quality is equal to 192, displays only
a "Good" text

Previous Event Displays the timestamp of the previous event of this Tag
on the database. If this Tag does not support
interpolation, the previous event is always equal to Tag's
current timestamp. If this Tag supports interpolation, the
previous event is the last timestamp stored on the
database before the current playback time

Next Event Displays the timestamp of the next event of this Tag

NOTE
A Tag List can also help to determine which Tags need to be written to a database, to allow a full playback of a
Screen, by simply checking Tags with a forbidden icon.

When right-clicking a Tag, a contextual menu is then displayed with the same options described on topic Event List,
except in case of Tags marked with the icon, in which this contextual menu appears disabled.

25.3 Playback Database


An E3Playback automatically detects which Tags and alarms are stored on a database. This process of detecting a
database is known as Assembling. After a database is assembled, E3Playback uses this collected information to query
stored data, according to Tags displayed on Screen, and according to the current playback clock.

25.3.1 Database Assembling


A Database Assembling is always performed when an E3Playback is activated. Information about database structure
collected during this assembling process is kept while the playback section is active. The steps of a database
assembling process can be summarized as:
1. Enumerate all database tables.
2. Check which one of these tables have the corresponding _Fields table. For example, when Elipse Power generates
an alarm table named E3Alarms, it also generates a table with a description of fields on the alarm table
(E3Alarm_Fields).
3. Analyze fields from each table, as well as the contents of its corresponding _Fields table to determine its table
type. An E3Playback recognizes three types of tables:
· Storage: This table must have E3TimeStamp, FieldID, Quality, and FieldValue fields
· Alarms: This table must have EventTime (or EventTimeDbl), ConditionActive, Acked, AckRequired, and
FullAlarmSourceName fields
· Historic: This table must have E3TimeStamp field, and must not have been recognized as a Storage or Alarms
table

441 E3Playback
4. If this table is a Storage-type, the _Fields table is scanned to determine which Tags are stored on it. A Tag's path is
determined by table's FieldName field. The field that provides timestamp data is always E3TimeStamp. Each
Storage can have up to three data tables, one for each data type:
· Strings: Table name is <Table>_String
· Bit/Digital: Table name is <Table>_Bit
· Double/Analog: Table name is <Table>
5. If this table is a Historic-type, the _Fields table is scanned to determine which Tags are stored on it. A Tag's path
on this case is determined by table's FieldSource field. The field that provides timestamp data is always
E3TimeStamp.
6. If this table is an Alarm-type, the _Fields table is scanned to determine user's alarm field names, if they exist. The
field that provides timestamp data is EventTime, optionally combined with EventTimeMS field, if it exists, or
EventTimeDbl field. This last one has priority because it represents milliseconds with higher precision.
7. After all data tables and Tag paths are detected, a simple query is then performed on each one of these tables to
determine the oldest and newest date stored on this table. This allows determining date intervals where playback is
allowed.

NOTES
· A valid date interval is not updated during a playback process, then new data added to a database after a
database assembling process is only available if playback window is closed and opened again.
· In Demo mode (or with an Elipse Power Studio license), the allowed playback period is restricted to the last six
hours of data stored on a database.

25.3.2 Playback Queries


The amount of playback data available can be huge, depending on the application. For a smoother Screen browsing,
an E3Playback performs database queries in short periods of time, called Slices.
Each playback data slice contains a fixed width of one day. Whenever the clock is positioned on a certain date and
time, an E3Playback creates or finds out the time slice that contains the current date and time. Each data slice contains
the following information:
· Period of time of that slice (starting and ending date and time)
· A list of Tags that already have their data loaded on that slice
· For each Tag stored on a slice, the following data is kept:
· The last event of the Tag previous to the beginning of that slice
· All Tag events inside that slice's interval
· The next Tag event after that slice's ending
· The alarm summary at the moment of that slice's beginning
· All alarm events that occurred during that slice's interval
· The next alarm event of each Alarm Source after that slice's ending

When a playback clock is moved over a time slice, an E3Playback analyzes if all necessary Tags are already loaded on
that slice, as well as if all alarm information is already loaded. If some data is missing, then an asynchronous query is
generated to load necessary data from a database. A playback query is composed of the following parameters:
· Period to search for (starting and ending date and time)
· Set of Tags to search for (this may be an empty set). For each Tag it must return:
· The last event prior to the beginning of that query
· All events occurred during that query's period
· The next event that occurred after the query's period
· Alarm information that must be searched for, which can be zero or more of the following options:
· Previous alarm summary (status of each Alarm Source at the beginning of query's date and time)
· Alarm events on that period
· Next alarm summary (next event of each Alarm Source after the ending of that period's date and time)

E3Playback 442
To execute a query on playback data, usually several database queries are needed. A playback data server performs
these queries asynchronously and on a separate thread, collects data, and only returns them when all queries are
finished.
When a playback query is completed, data is immediately added to its corresponding slice and E3Playback
automatically triggers queries to update adjacent slices. This way, while the playback clock is moving forward, data
queries are performed, and when the playback clock moves on to the next slice it is almost certain that it already
contains all data loaded.
In case the playback clock is in Play mode and between a slice without data or with incomplete data, an E3Playback
remains temporarily paused waiting for queries of that slice to be completed.
An E3Playback also tries to minimize database access, getting information from Last Previous Event, Next Event
After, Previous Summary, and Next Summary fields to avoid querying this data again. For example:
· If a query to a Tag did not return the next event after that query's period, this means that this Tag does not have
any event after that query's ending date and time, and therefore this Tag does not need to be queried on the next
time slices
· If a query returned a previous summary, alarm events on that period, and the next summary for a slice, it can
calculate the previous summary of the next slice simply by combining the previous summary and events occurred
during the current slice. This way, there is no need to query a database for the previous summary of the next slice

25.4 Configuring Elipse Power Database Objects


This section explains how Elipse Power Studio objects must be configured so that data stored on a database can be
used by an E3Playback.

25.4.1 Storage
The only recommendation for a Storage is that the Source column must not contain expressions, because they cannot
be used on a playback.
Elipse Power already creates automatically on Storage tables the necessary indexes to optimize E3Playback queries.

25.4.2 Alarms
To perform an alarm playback, follow these procedures:
1. Enable or configure alarm recording on disk.
2. Select the following fields for recording (mandatory):
· EventTime (plus EventTimeMS) or EventTimeDbl
· FullAlarmSourceName
· ConditionActive
· Acked
· AckRequired
3. It is also recommended to select the following fields for recording:
· InTime (plus InTimeMS) or InTimeDbl
· OutTime (plus OutTimeMS) or OutTimeDbl
· AckTime (plus AckTimeMS) or AckTimeDbl
· Area
· ActorID
· Enabled
· EventCategory
· EventType
· Message
· Severity
· Source
· SubConditionName
· CurrentValue

443 E3Playback
Selecting fields
Elipse Power automatically creates on alarm tables the necessary indexes to optimize playback queries.

25.4.3 Historics
The Historic's file format is not appropriate for playback, because normally many duplicated data is stored. Playback
queries have an extra work to eliminate duplicated data from each Tag and find out only value-changing events, which
may demand long sequential queries on a Historic table. It is recommended to use a Storage whenever possible. If
Historic data is indispensable on playback, users must follow these recommendations:
· Configure the UserTable property to False (if this property remains in True, the _Fields table of this Historic is not
generated, and this Historic is not recognized by playback)
· Place each Tag on a separate field (do not use expressions on field's source, for example)
· Create an index for the E3TimeStamp field. Without this index, Historic queries get slow, turning playback
impracticable
· Use tables with a few fields and, if possible, add an individual index for each field (mainly for fields with little
variation)
· Configure the CompressedTable property to True and use the DeadBand property on this Historic

The next figure shows how to configure an index for the E3TimeStamp field.

Defining an index for the E3TimeStamp field

E3Playback 444
25.4.4 Licenses
Elipse Software provides two playback packages, according to its tools:
· Basic Playback
· Advanced Playback: This is a Basic Playback plus Video Recording and Screen Capture tools

Each one of these packages is dimensioned according to the number of points (Tags and Alarm Sources) stored on a
database. For example, a Basic Playback 1000 allows performing a playback on a database with up to 1,000 points. If
a database contains more points than the available licenses, a database assembling process fails and an error
message is then displayed, indicating that there are no available licenses to execute a playback.
An Elipse Power Studio license includes an Advanced Playback license with no limit on points, although it is limited to
the last six hours of data stored on a database. This allows an application developer to test playback without
purchasing licenses for this.
In Demo mode (when there is no protection device), a playback also works in Advanced mode without a limitation on
points, although limited to display only the last six hours of data stored on a database, relative to the current server
time.

IMPORTANT
If a protection device is a Master- (Elipse Power Studio + Runtime) or Runtime only-type, playback is only available
if there are licenses programmed on this protection device. For more information about limitations of Elipse Power's
Demo mode, please check topic Limitations of Demonstration Mode.

445 E3Playback
CHAPTER
Formulas
26
Formulas are modules that store and transfer sets of values to specific groups of variables, to create predefined
settings. They are composed of Templates, Units, and Value Sets.
Formulas can be used to ease industrial processes. For example, a beverage factory produces several types of juice,
each type with a different recipe. In this case, Templates represent juice flavors (orange, grape, tangerine, etc.). Units
represent tanks where this juice is produced. Value Sets are the type and amount of products in each juice (for
example, 50 g of sugar, 1500 l of water, fruit pulp, etc.). To use this feature, follow this procedure:
1. Right-click the project's name in Organizer and select the Insert - Formula option.

Inserting a Formula
NOTE
A Formula object can be configured to work as an Alarm Area.

26.1 Settings
When creating a Formula, a window for configuring a Database and a table to use is displayed. Without it, users cannot
create Units and Value Sets.

Formulas 446
Database and table configuration window
The available options on this window are described on the next table.
Available options for Database Configuration window
OPTION DESCRIPTION
Database Specifies the Database Server that manages data
configured in this Formula. This field is equivalent to the
Formula's DBServer property

Table Specifies the name of the table where Formula data is


stored. This field is equivalent to the Formula's
TableName property

Maximum size for Unit fields Specifies the maximum size for Unit fields on the
Database table. Default value of this field is 200. This field
is equivalent to the Formula's DataSourceSize property

Maximum size for Value fields Specifies the maximum size for Value fields on the
Database table. Default value of this field is 200. This field
is equivalent to the Formula's ValueSize property

If users want to configure these items later, or even reconfigure them, select the Configure Database option on
Formula's contextual menu.

447 Formulas
Configuring a Database

26.2 Templates
The first tab on Formula's view is called Templates. Templates define which data types can be stored in each Formula's
variable and their restrictions.

Templates tab
The available options on this tab are described on the next table.
Available options for Templates tab
OPTION DESCRIPTION
Name Defines Template's name

Type Defines Template's type

Formulas 448
OPTION DESCRIPTION
Restrictions Determines Template's restrictions

The toolbar on Template's view contains the Add option, to create a new Template, and the Remove option, to
delete the selected Template.
When clicking Restrictions , the window on the next figure is then displayed.

Editing restrictions
Restrictions allow users to enable or disable value changes at run time or to define limits for these changes. The
available options on this window are described on the next table.
Available options for Restriction Configuration window
OPTION DESCRIPTION
Unrestricted Limit Users can change any value in this Template. It is
represented on Template tab by the letter U

Restricted Limit Users cannot change Template's value. It is represented


on Template tab by the letter R

Absolute Limit Fixed values are defined as limits, corresponding to


Template's minimum and maximum values. It is
represented on Template tab by the letter A (and
minimum and maximum values configured in that field)

Percent Limit A percentage value above or below a predefined value.


For example, by placing these limits between 20% and
30% for a value of 100, the allowed values vary between
80 and 130. It is represented on Template tab by the
letter P (and the values configured in that field)

Diff limit Fixed values above or below a predefined value. For


example, by placing these limits between 10% and 50%
for a value of 50, the allowed values vary between 40 and
100. It is represented on Template tab by the letter D
(and the values configured in that field)

449 Formulas
26.3 Units
The second tab on Formula's view is called Units. Units define Tags linked to Formula Templates. Users can create
several Units, that is, several Tag groups that can receive Formula values.

Units tab
The available options on this tab are displayed on the next table.
Available options for Units tab
OPTION DESCRIPTION
Name Specifies Template's name

Unit Specifies a Tag to link to this Unit

This view's toolbar contains the Add option, to create a new Unit, the Remove option, to delete the selected Unit,
and the Rename option, to rename the selected Unit. For each new Unit, the window on the next figure is displayed
to define a name.

Adding a Unit

26.4 Value Sets


The third tab on Formula's view is called Values. Value Sets are values transferred to Tags, that is, to Units.

Values tab
The available options on this tab are described on the next table.
Available options for Values tab
OPTION DESCRIPTION
Name Determines Template's name

Value Determines field values for Value Sets

This view's toolbar contains the Add option, to create a new Value Set, the Remove option, to delete the selected
Value Set, and the Rename option, to rename the selected Value Set.

Formulas 450
26.5 Creating a Formula
Instructions
This exercise creates a Formula object to store Value Sets to produce a certain part. This part contains three
measurement units: External Diameter, Internal Diameter, and Height. This Formula stores values for two different
machines that produce these parts.

26.5.1 Procedures
1. Insert a Formula object in the application.
2. Configure a Database and a table. Use an existing Database on this project, and name this table as "Production".

Configuring a Database and a table


3. Create three Templates in this Formula:
· External Diameter: With an absolute value restriction between 50 and 80
· Internal Diameter: With a difference value restriction of 10 and 10
· Height: With a restricted limit

Templates
4. The next step defines Units relative to this Formula. Before creating these Units, however, users must create Tags
for this Formula. To do so, insert a Folder named "Formula" on a Data Server, and inside it two other Folders
named "Engine1" and "Engine2". Inside these Folders, create three Internal Tags for each one.

451 Formulas
Creating Tags
5. Create two Units in this Formula, named "Engine1" and "Engine2". Link each field on these Units to the previously
created Tags.

Linking Tags to Formula Units


6. Define all Value Sets to load later into Tags. Create four Value Sets, named from "Model1" to "Model4", and type
their values as on the next figure.

Configuring Value Sets


7. Create a new Screen named "Formulas".
8. Create six SetPoint objects on this Screen, which must be linked to each Tag in this Formula, and adjust this Screen's
size to the size of these objects. This Screen should look like the next figure.

Formulas 452
Formula screen

NOTE
Sometimes an error may occur on a Screen that makes images disappear. To solve this issue, disable the Hide MS-
DOS extensions for registered files option. This option is available on Windows Explorer.

9. Create a button on this Screen with a "Load values" caption. This button displays a dialog box with existing values
and Units to which these values can be loaded, and users can select any option. To do so, create the following
script in this button.
Sub CommandButton1_Click()
Application.LoadFormulaDlg_
"Formula1", "Machine1, "Machine2",_
"Model1, Model2, Model3, Model4"
End Sub

Where Formula1 is Formula's name and LoadFormulaDlg is a Viewer method. When executing this method, the dialog
box on the next figure is displayed.

LoadFormulaDlg method's dialog box

453 Formulas
10. On the window to the right, there are two Units created in this Formula, as well as Value Sets. The Silent Mode
option prevents users from overriding values saved on disk, which are loaded to Tags.
11. Using this button, users can check the application working with Formulas and Tags receiving values from disk. This
is one method for loading values from a Formula, but there are also methods in which users do not need to select
values or Units on a dialog box.
12. Now create a SetPoint on this Screen and a button with an "OK" caption. Along with this SetPoint, place a Label with
a "Model:" caption. On this button, users must create the next script.
Sub CommandButton2_Click()
Application.LoadFormulaValues_
"Formula1", "Engine1", "Model1"
Screen.Item("Text16").Value
End Sub

Where Text16 is the name of the last SetPoint inserted on this Screen. This command loads a Value Set specified in this
SetPoint to Engine1 Unit. When executed, this method then searches for a Value Set on disk. If found, this method
loads it according to restriction patterns defined in Formula's Template. Fields with open restrictions may have their
values changed by users. If users do not want to be warned about changed values in loaded fields, they must use the
silent mode.

Value change
However, there is an alternative, Viewer's LoadFormulaValuesQuiet method. Users opt by the Silent mode on a Screen,
by using a Check Box for this.
1. Create a Check Box on this Screen.
2. Place a Label on it, with a "Silent" caption.
3. Return to the OK button script, and change it to the following code.
Sub CommandButton2_Click()
If Screen.Item("CheckBox1").Value = True Then
Application.LoadFormulaValuesQuiet_
"Formula1", "Engine1", "Model1"
Application.LoadFormulaValuesQuiet_
"Formula1", "Engine1", "Model2"
Application.LoadFormulaValuesQuiet_
"Formula1", "Engine1", "Model3"
Application.LoadFormulaValuesQuiet_
"Formula1", "Engine1", "Model4"
Else
Application.LoadFormulaValues_
"Formula1", "Engine1", "Model1"
Application.LoadFormulaValues_
"Formula1", "Engine1", "Model2"
Application.LoadFormulaValues
"Formula1", "Engine1", "Model3"
Application.LoadFormulaValues_
"Formula1", "Engine1", "Model4"
End If
End Sub

Where CheckBox1 is Check Box's name. This uses the LoadFormulaValuesQuiet method if this object is enabled.
Otherwise, the LoadFormulaValues method is used.

Formulas 454
4. Repeat the previous procedures, from creating a SetPoint for items of Engine2, by modifying all required scripts.
After finishing these changes, this Screen should look like the next figure.

Final Screen for this Formula


5. Execute this application and check its results.

455 Formulas
CHAPTER
Reports
27
A Report is an ActiveX component named ActiveReport, which allows viewing and printing instant values of system
variables and data stored on a Database (Alarms, Historics, Queries, and Formulas). This data can be printed either in
text or graphical format, and this later format is performed by using an E3Chart object.

NOTES
· The Report object IS NOT available on 64-bit versions of Elipse Power. However, a Report can be edited on 32-bit
versions of Elipse Power Studio, which is available on 64-bit installations.
· A 32-bit Elipse Power Viewer connected to a 64-bit Server prints a Report normally.

To use a Report, follow the next procedures.


1. Right-click the Organizer and select the Insert Report in option.

Inserting a Report
2. If needed, configure this object's properties.

27.1 Query Object


This object allows specifying a data source from a database to view on it. After creating a Report in a project, it then
creates a Query object. For more information about this object, please check the Query chapter.

27.2 Components
A Report contains several Sections. Each Report Section contains a group of controls that are processed and printed at
the same time, as a single unit.

Reports 456
Report Sections
A Report defines types of Sections, which are explained on the next topics.

27.2.1 Detail
A Detail Section is the Report's body, which prints once for each record on its data source.

27.2.2 Group Header and Group Footer


A Report may have multiple nested groups. Each group has a Header Section and a Footer Section. A Header Section
prints before any Detail Section in a group. A Footer Section prints after all Detail Sections in a group. Group Sections
are inserted immediately before and after a Detail Section. The number of times a group Section can print depends on
how data is grouped. A Report starts a new group (Header, Detail, and Footer) for each change on data gathered in
that group.

27.2.3 Page Footer


A Page Footer Section prints only once at the bottom of each Report's page. It is used to print page totals, number of
pages, page titles, or any other information that needs to be printed once at the bottom of each page.

27.2.4 Page Header


A Page Header Section prints only once at the top of each Report's page. It is the first Section printed on a page,
except when this page contains a Report Header Section. It is used to print page totals, number of pages, page titles,
or any other information that needs to be printed once at the top of each page.

27.2.5 Report Footer


A Report Footer Section prints at Report's end. It is used to print a report sum, grand totals, or any other information
that needs to be printed only once at Report's end.

27.2.6 Report Header


A Report may have a Report Header Section that is printed at Report's beginning. It is generally used to print report
titles, sum tables, charts, and any other information required to appear only once at Report's beginning.

457 Reports
NOTE
A Report Header Section can extend for multiple pages. To do so, insert a Page Break object in its content.

27.3 Settings
A Report contains several objects that can be added to it and are available using its toolbar. A contextual menu is
displayed when right-clicking a Report. Options on this menu vary according to where a mouse click is performed.
On the Report area, only the Insert and Delete Section options are enabled, as shown on the next figure.

Report area menu


On an object inside a Report, only the Insert, Delete, Cut, Copy, Paste, Bring to Front, Send to Back, Align, and
Format Border options are enabled, as shown on the next figure.

Report object menu


On more than one object selected in a Report, all menu options are enabled, as described on the next table.
Available options for a Report's contextual menu
OPTION DESCRIPTION
Insert Allows inserting a new Report component. The available
options are Group Header/Footer: Adds a new pair of
group headers or footers in a Report, Page
Header/Footer: Adds a new pair of page headers or
footers, or Report Header/Footer: Adds a new pair of
headers or footers in a Report

Delete and Delete Section Deletes the selected Section, object, or group. This option
is not applied to a Report's Detail Section

Reorder Groups Reorganizes the selected groups. This option is valid


when several Section groups (pairs of headers or footers)
are added to a Report. This option is not applied to a
Report's Detail Section

Cut Cuts the selected object, group, or Section

Reports 458
OPTION DESCRIPTION
Copy Copies the selected object, group, or Section

Paste Pastes an object, group, or Section in the current Report's


Section

Bring to Front The selected object, group, or Section is sent to the first
position in the layer order

Send to Back The selected object, group, or Section is sent to the last
position in the layer order

Align Aligns the selected object, group, or Section. The


available options are Lefts: Left alignment, Centers:
Center alignment, Rights: Right alignment, Tops: Top
alignment, Middles: Middle alignment, Bottoms:
Alignment at the same height, To grid: Alignment
according to the grid, or Center in Section: Center
alignment in this Section

Size Specifies the size of the selected object, group, or


Section. The available options are Make same width:
Same width, Make same Height: Same height, or Make
same size: Same size

Horizontal Spacing Specifies the object's horizontal spacing in a Report. The


available options are Make Equal: Same spacing among
all objects, Increase: Increases object's spacing in one
step, or Decrease: Decreases object's spacing in one step

Vertical Spacing Specifies object's vertical spacing. The available options


are Make Equal: Same spacing among all objects,
Increase: Increases object's spacing in one step, or
Decrease: Decreases object's spacing in one step

Format Border Specifies the format of an object's border in a Report.


For a Frame object, the name of this option is Format
Pane Border

Properties Shows a Properties Window. This option is only available


for SetPoint, E3Chart, and Frame objects

Split Horizontally Splits the selected panel horizontally. This option is only
available for a Frame object

Split Vertically Splits the selected panel vertically. This option is only
available for a Frame object

Delete Pane Deletes the selected panel. This option is only available
for a Frame object

When the Format Border or Format Pane Border option is selected, the dialog box on the next figure is shown.

459 Reports
Border options for objects
The available options on this dialog box are described on the next table.
Available options for object borders
OPTION DESCRIPTION
Presets Specifies the style of an object's external border

Line Styles Specifies the style of an object's border line

Preview Previews object's settings

Color Specifies a color for an object's border

Shadow Enables or disables an object's shadow

By using a Report toolbar, users have access to all features described in the next topics.

27.3.1 Preview
By using this option, users can view how a Report is printed. So, users can check settings such as margins and figures,
among others.

Reports 460
Report's printing preview
The available options on this window are described on the next table.
Printing Preview settings
OPTION DESCRIPTION
Table of Contents Displays a table with a Report's content
Prints this Report by opening a printer settings
Print dialog box

Copy Copies the selected content

Find Searches for a specific text in a Report

Single Page Views this Report one page at a time

Multiple Pages Views this Report as multiple pages

Zoom Out Performs a zoom out on this page

Zoom In Performs a zoom in on this page

Allows selecting a zoom percentage on this page


Zoom Percentage

Previous Page and Next Page Moves to the previous or next page, respectively

27.3.2 Report Settings


By using this option, it is possible to configure Report specifications, such as page, printer, grid, and style.
The Page Setup option sets up specifications referring to Report's page.

461 Reports
Report's Page Setup
The available options are described on the next table.
Available options for Page Setup
OPTION DESCRIPTION
Top Margin Specifies page's top margin

Bottom Margin Specifies page's bottom margin

Left Margin Specifies page's left margin

Right Margin Specifies page's right margin

Gutter Specifies page margin

Mirror Margins Enables or disables page's mirror margin

The Printer Settings option sets up specifications referring to Report's printing.

Reports 462
Report's Printer Settings
The available options are described on the next table.
Available options for Printer Settings
OPTION DESCRIPTION
Paper Size Specifies paper size

Width Specifies paper width

Height Specifies paper height

Orientation Specifies paper orientation in a printer. The available


options are Printer Default: Settings according to a
default printer, Portrait: Vertical page layout, or
Landscape: Horizontal page layout

Collate Sorts the printing process

Duplex Duplicates the printing process

PaperBin Specifies settings and type of paper for the printing


process

The Grid Settings option specifies settings referring to Report's grids.

463 Reports
Report's Grid Settings
The available options are described on the next table.
Available options for Grid Settings
OPTION DESCRIPTION
Show Grid Enables or disables a grid

Align Controls to Grid Enables or disables the alignment of controls in a grid

Grid Columns Specifies the number of columns in a grid

Grid Rows Specifies the number of rows in a grid

Ruler Units Specifies the ruler's unit type. The available options are
Inches or Centimeters

The Styles option specifies settings referring to Report's style.

Reports 464
Report's Styles
The available options are described on the next table.
Available options for Styles
OPTION DESCRIPTION
New / Delete / List Specifies a Report's style. Users can insert a new style by
clicking New, delete a style by clicking Delete, or use an
existing styles on this list

Font / Colors / Misc Specifies settings for a Report's style, such as fonts,
background and foreground colors, and orientation,
among others

27.3.3 Script Editor


The Script Editor is used to create scripts in Elipse Power Reports. The language used to create scripts in a Report is
Active Scripting, which interacts with Visual Basic. When Script Editor window is open, it provides methods and events
for Report's objects and components. To use this feature, click Script Editor , which is available on the Report's
toolbar.

Script Editor

465 Reports
In the Object option, users must specify an object to create a script and in the Events option, a Report's event in which
this action occurs.

27.3.4 Load RPX File


Imports a Report configuration from an external file.

27.3.5 Save as RPX File


Exports a Report configuration to an external file.

27.3.6 Objects
This section contains information about objects that can be used in a Report.

27.3.6.1 Bar Code


A Bar Code object allows generating a picture that converts a sequence of numbers and characters into a bar code.
This bar code is either a numerical or alphanumerical representation, used to facilitate different processes. This
representation is decoded using scanners, pens, or optical reading devices.

Bar Code
After inserted on a Report, this object is named as "BarCode".

27.3.6.2 Check Box


A Check Box object inserts data into a Report, which may or may not be bound to a Database. Its value is a Boolean.

Check Box
After inserted on a Report, this object is named as "CheckBox".

27.3.6.3 E3Chart
An E3Chart object is an ActiveX component used to show a chart displaying Tags varying in real time, and also to show
historical data stored on a Database.

E3Chart

NOTE
An E3Chart cannot be added to a Report's Detail Section.

There are some functional differences between an E3Chart in an application and on a Report. In an application, an
E3Chart is capable of displaying charts with either real time, historical, or mixed data. On a Report, on the other hand,
an E3Chart is not capable of using real time or mixed data, only historical data.

Reports 466
Notice that no Report object can be externally accessed, that is, when users create a Report via application, its
properties and its object's properties are not accessible via application scripts. To do so, changes in these objects,
including E3Chart, can only be performed directly in Elipse Power Studio, or in Report's own scripts.
For more information on this object, please check the E3Chart chapter.

27.3.6.4 Ellipse
An Ellipse object allows users to draw circles and ellipses, by using all of its width or height, and by defining the center
of a circle in the center of a rectangle.

Ellipse
After inserted on a Report, this object is named as "Shape".

27.3.6.5 Frame
A Frame object is composed by rows and columns where texts or charts are inserted. Report Frames are used to
organize and display information. Users can also use frames to create page layouts, or to create animated text, charts,
or tables as in an HTML page.

Frame
After inserted on a Report, this object is named as "Frame".

27.3.6.6 Line
A Line object links two given points. It allows drawing straight lines, by specifying two points during its creation or in
polygons.

Line
After inserted on a Report, this object is named as "Line".

27.3.6.7 Page Break


A Page Break object is a point where a page finishes and another one starts in a Report. For example, users can force
a page break to ensure that a chapter title always begins on a new page. If users work with documents having several
pages and manually insert page breaks, it may be necessary to frequently reinsert them as this document is edited.
Users can also prevent a page break in a paragraph or in a table row, or else ensure that a page break is not inserted
between two paragraphs, such as between a title and the next paragraph.

467 Reports
Page Break

27.3.6.8 Picture
A Picture object allows users to display images stored in files, whether these files are external files or application's
resource files.

Picture
After inserted on a Report, this object is named as "Image".

27.3.6.9 Rectangle
A Rectangle object allows drawing rectangles, by using all of object's width or height. It is created from two vertexes.

Rectangle
After inserted on a Report, this object is named as "Shape".

27.3.6.10 Round Rectangle


A Round Rectangle object is a rectangle created from two vertexes, with round corners based on a rounding factor.
When inserted or edited, it displays a small point next to its upper left corner, which allows modifying its rounding
factor.

Round Rectangle
After inserted on a Report, this object is named as "Shape".

27.3.6.11 SetPoint
A SetPoint object is used to insert data from a Database in a Report. This data is indicated using the DataField
property.

SetPoint
After inserted on a Report, this object is named as "Field".

Reports 468
27.3.6.11.1 Usage Example
The following example shows the daily average of a query field in the Report. To do so, follow these procedures:
1. Insert a new GroupHeader/Footer in the Report.
2. Configure the GroupHeader's DataField property to "=Day(E3TimeStamp)". This specifies that the average
calculation is performed on a daily basis.
3. Insert a SetPoint in the GroupHeader with the DataField property equal to "=Day(E3TimeStamp)".
4. Insert a SetPoint in the GroupFooter with the DataField property equal to the field name where the average is
calculated.
5. Configure the following GroupHeader's SetPoint properties:
· SummaryFunc: 1 - ddSFAvg
· SummaryGroup: GroupHeader1
· SummaryRunning: 1 - ddSRGroup
· SummaryType: 3 - ddSMSubTotal

27.3.6.12 Text
A Text object enables creating a text. When defining its area on a Report, users can type the desired text directly,
which also accepts multiple lines.

Label
After inserted on a Report, this object is named as "Label".

27.4 Creating a Report in Elipse Power


This example shows how to create a Report in Elipse Power to extract data from a Historic object.

27.4.1 Defining Areas


A default Report, created when a new Report is added to a project, contains the following areas:
· Page Header: Area shown in all Report pages, as a header
· Detail Area: Area repeated as many times as required, it is Report's body
· Page Footer: Page footer works in the same way as a Page Header

There are two types of Areas:


· Report Header/Footer: Areas that are printed only once, regardless of the number of pages of a Report. This
area appears as a Report's opening or closing
· Group Header/Footer: A group is used to divide a Report in equal sets of values of the same variable. This area
repeats whenever a group is displayed. In the example shown here, no construction of this type is used. These
areas always encompass a detail area

These two areas can be accessed by right-clicking a Report and then selecting the Insert option.

27.4.2 Query Setup


To extract data from a Database, users must configure a Report's query. There may be many different queries for the
same Report, but only one can be active at a specific moment. To do so, follow these procedures:
1. Configure the DataSource property with the name of a Database where this query is executed. In this case,
"DBServer".
2. Specify the Table property with a query table, which in this case is "Data".
3. Configure the Name property to keep its original name, that is, "Query1".

469 Reports
27.4.3 Fields Setup
In this example, four temperatures are created and stored on a Historic object, and this Report focuses on these
temperatures. In this case, all values read from this Historic object are printed using this Report.
To read data from a Database, the ideal area is the Detail Area, as it is automatically repeated as many times as
required. This way, five SetPoint objects must be inserted in this area. These SetPoints can be linked to a SetPoint that is
configured using its DataField property. Here, the following values are used:
· Field1: E3Timestamp
· Field2: Temperature1 (as configured on the Database)
· Field3: Temperature2

27.4.4 Preview
Users can view this Report by clicking Preview Report , available in its edition area.
To do so, users must point out the project's Database server to the MDB file in the folder where this example was
saved.

27.5 Usage Examples


The next sections contain some examples of using Report's features.

27.5.1 Setting Up a Bitmap Path When Printing


To use this feature, write the following script on the OnFormat event of a PageHeader or ReportHeader Section.
Sub OnFormat
Report.Sections("ReportHeader").Controls("Image2").Figure = _
LoadFigure("c:\mail\test.bmp")
End Sub

27.5.2 Setting Up a Bar Code Value Within Detail Section


To use this feature, write the following script on the OnFormat event of a Detail Section.
Sub OnFormat
Report.Sections("Detail").Controls("BarCode1")._
Caption = Right(Report.Field("E3TimeStamp"), 8)
End Sub

27.5.3 Capturing a Screen and Generating a Print Preview


To use this feature, type the following script.
Sub Rect_Click()
'Calling this method can also be performed
'by using Application.CaptureScreen()
Screen.Frame.CaptureScreen("c:\mail\test.bmp")
Application.LoadReport("[Report3]").PrintPreview()
End Sub

27.5.4 Generating an Export Menu


To use this feature, write the following script.
Sub Rectangle3_Click()
Set report = Application.LoadReport("[Report3]")
Select Case _
Application.SelectMenu("PDF|Excel|HTML|RTF|Text|_
TIFF|Text(CSV)")
Case 1
Report.Export "PDF", "c:\mail\reports\report.pdf"
MsgBox "Exported to PDF!"
Case 2
Report.Export "EXCEL", "c:\mail\reports\report.xls"
MsgBox "Exported to XLS!"
Case 3
Report.Export "HTML", "c:\mail\reports\report.html"
MsgBox "Exported to HTML!"
Case 4
Report.Export "RTF", "c:\mail\reports\report.rtf"
MsgBox "Exported to RTF!"
Case 5

Reports 470
Report.Export "TEXT", "c:\mail\reports\report.txt"
MsgBox "Exported to Text (CSV)!"
Case 6
Report.Export "TIFF", "c:\mail\reports\report.tiff"
MsgBox "Exported to TIFF!"
Case 7
Set reportFilter = report.GetExportFilter("TEXT")
reportFilter.FileName="c:\mail\reports\_
report2.txt"
reportFilter.TextDelimiter = ","
report.Export reportFilter
MsgBox "Exported to TXT using a filter!"
End Select
End Sub

27.5.5 How to Create Reports Displaying Page N of M


To create a Report in which each page prints an indication of Page N of M, where N is the current page and M is the
total number of pages, create two Texts and two SetPoints.
These two Texts correspond to Page and of texts, which must be inserted in the Caption property. Those two SetPoints
correspond to N and M values, with the following properties:

Field N
· Name: txtPageNumber
· SummaryGroup: GroupHeader1
· SummaryRunning: 1 - ddSRGroup
· SummaryType: 4 - ddSMPageCount

Field M
· Name: txtPageCount
· SummaryGroup: GroupHeader1
· SummaryType: 4 - ddSMPageCount

27.5.6 How to Create Reports Printing Only Value Average at Every


Five Minutes
To do so, users must create a new group in the Report. This group has a Header and a Footer Section. The general
layout is the following:
· PageHeader: Contains column titles
· GroupHeader: Remains empty, but its DataField property is equal to "CLng(E3TimeStamp*288)", because the
E3TimeStamp field is the date and time of data in Gregorian format, days since 1/1/1900, where its integer part is
the number of days and its fractional part is the hours and minutes. Multiplying by 288 corresponds to a total of
five minutes since 1/1/1900. The CLng function converts a 32-bit integer and deletes its fractional part, so that
intermediate minutes and seconds do not display. This group is then printed each time this number changes, that
is, every five minutes. Check the NewColumn and NewPage properties, which must be set to 0: ddNPNone
· Detail: Contains SetPoints for table fields. Its Visible property must be set to False, so that each data acquisition
that composes a five-minutes average is calculated, although not printed
· GroupFooter: Contains the following fields, representing SetPoint's average:
· DataField: Names of table fields, such as in Detail Section
· SummaryFunc: 1 - ddSFAvg
· SummaryRunning: 1 - ddSRGroup
· SummaryType: 1 - ddSGrandTotal

The only exception is for the Date/Time field, which is a standard SetPoint with its DataField property set to
"=CLng(E3TimeStamp*288)/288".
· ReportFooter: Blank or any other value

If this query is between 00:00 of one day and another one, its result is composed by 288 printed rows with an average
of fields at every five minutes.

471 Reports
CHAPTER
Security
28
By using this option, users can control access to Domains, Elipse Power Viewers, Screens, and Alarms based on a list
of users and groups. Depending on these configured options, an application either grants or denies access to
registered users.
Access permissions are configured per user or per groups of users. Groups can be created to contain only users, or
other groups as well. To access configurations for users and groups, select the File - Users menu.
If the application does not have any user configured as administrator, the window on the next figure is then displayed,
indicating the need to create at least one user of that type.

Warning about the lack of an administrator user


Click OK to open the window to create users, described on the next topic, and fill in all requested data. This user is
created with the This user is an administrator option already configured. Click OK to confirm the creation of this user
and to open the window on the next figure.

Users and Groups window


The columns on the area of properties of the selected user or group can be shown or hidden by right-clicking the title
area of columns and selecting the desired columns. By default, the list of users or groups is sorted by the name of the

Security 472
user or group as they are created. To change this order, click a column to turn it the primary sorting column. Click that
column again to reverse the sorting order, ascending or descending. The next topics describe the available options on
this window.

28.1 Users
The Users item allows configuring information referring to users who have access or not to an application. The
available options in this item are described on the next table.
Available options on the Users item
OPTION DESCRIPTION
New Creates a new user

Edit Edits the properties of the selected user

Remove Removes the selected user

When clicking New, the window on the next figure is displayed.

Add User window


The available options on this window are described on the next table.
Available options on the Add User window
OPTION DESCRIPTION
Name Name of this user

Full name Full name of this user

Authentication kind Indicates the type of authentication of this user. The


available options are E3 Authentication: This user is
created in the current Domain or Windows
Authentication: Allows adding a user from a Windows
network domain. NOTE: When selecting the Windows
Authentication option, all other options on this window
are disabled, except the Name option

Password Password of this user. Please check the next note

Confirm password Confirmation of the password of this user. Please check


the next note

When selecting a user and clicking Edit, the options to edit the selected user are displayed on the tabs of the next
figures.

473 Security
User Information tab
On the User Information tab, in addition to the options already described on the Add User window, users can indicate
whether a user is an administrator by selecting the This user is an administrator option and change the current
password by clicking Change Password. In this case, the window on the next figure is then opened.

Change User Password window

NOTES
· In case of editing an existing user, changing the Password field implies in deleting the content of the Retype
password field and vice versa, but only in the first time users edit any of these fields.
· Whenever users change their password, a logout is performed from all sessions where these users were logged in,
except from the session where this password change was performed.

On the Groups tab, shown on the next figure, users can inform to which groups of users this user must belong. To do
so, select a group on the Available groups list and click Add to move this group to the Belongs to list. To remove a
group from that list, click Remove. To change the order in which the groups appear on that list, and therefore change
the order in which the inheritance of security properties of a group are applied to a user, use the Move Up and Move
Down options.

Security 474
Groups tab
On the Security Properties tab, shown on the next table, users can specify several properties related to a user's
security.

475 Security
Security Properties tab
The available options on this tab are described on the next table.

NOTE
The (Inherited) indication in the available options of this window means that the value of that option is inherited from
the group that a user belongs to or inherited from the system. The (By default) indication means that the value is the
default for that option.

Available options on the Security Properties tab


OPTION DESCRIPTION
Disallow password change Indicates that this user cannot change their password.
This change can only be performed by an administrator

Allow changing expired password Allows this user to immediately change their expired
password

Password expiration Indicates whether this user's password has an expiration


time. Before this time is over, a dialog box is displayed
indicating how many days are left for expiration and
offering an option to change the password. After that
period, the password expires and must be changed.
Defining this value as 0 (zero) allows this user's password
to expire at the end of the current day. NOTE: If this
option is enabled, configure in the Days to expire item a
time period for this password to expire and, if the
configured value is equal to 0 (zero), it is advisable to
disable the Minimum password age option

Security 476
OPTION DESCRIPTION
Minimum password age Indicates whether there is a minimum time in days for this
user's password be used before changing it. The value of
the Minimum age in days item must be between 1 (one)
and 730. Defining this value as 0 (zero) allows this user to
change their password immediately. NOTE: If the
Password expiration option is configured, the value of
this option cannot exceed the value configured in the
Days to expire item

Minimum password length Indicates whether this user's password must have a
minimum size of characters. If this option is enabled,
configure in the Minimum characters item a minimum
value of characters for a password

Alphanumeric password Indicates whether this user's password must contain


letters and numbers

Minimum numeric characters in password Indicates whether this user's password must have a
minimum number of numeric characters. If this option is
enabled, configure in the Minimum numeric characters
item a minimum value of numeric characters for a
password

Minimum letters in password Indicates whether this user's password must have a
minimum number of letters. If this option is enabled,
configure in the Minimum letters item a minimum
number of letters for a password

Minimum special characters in password Indicates whether this user's password must have a
minimum number of special characters. If this option is
enabled, configure in the Minimum special characters
item a minimum number of special characters for a
password

Uppercase and lowercase characters Indicates whether this user's password must contain
uppercase and lowercase characters

Ignore case in passwords Indicates that the validation of this user's password is
performed by not differentiating uppercase and
lowercase letters. Enabling this option is not
recommended

Password history Indicates whether the last passwords of this user are
stored and cannot be used. If this option is enabled,
configure in the Number of passwords item how many
passwords must be stored. After reaching the value
indicated in this item, the oldest password is discarded
and can be used again

Account disabled Indicates whether this user's account is disabled

Account blocked Indicates whether this user's account is blocked. This


option is enabled automatically if the password expires
or if this user types a wrong password several times

Force password change Indicates that this user must change their password when
executing the next login

On the Permissions tab, shown on the next figure, users can specify the permissions of this user for Domains, Elipse
Power Viewers, Screens, and Alarms. A permission check consists on an information a user has about a command that
acts upon a specific object.

477 Security
Permissions tab
For each security item there is a series of permissions that can be configured for each user. The available options are
described on the next tables.

NOTE
Administrator users have all permissions enabled by default and this behavior cannot be changed. Therefore, the
available options on the security items Domain, Viewer, Screens, and Alarms always show the Allowed status for
this type of user.

Available options for Domains


OPTION DESCRIPTION
Run Domain Enables executing a Domain

Stop Domain Stops a Domain

Edit Domain Enables editing a Domain

Run as a service Enables executing a Domain as a service

Configure user/groups Enables configuring users and groups of users

Remote Domain access Enables remote access to a Domain

Remote Domain write access Enables remote writing access to a Domain

Write to runtime properties from Studio Enables writing to the column of property values on
WatchWindow at run time

NOTE
Starting with version 6.0, applications created with previous versions are opened in Elipse Power Studio with the
permission Write to runtime properties from Studio disabled by default.

Security 478
Available options for Elipse Power Viewers
OPTION DESCRIPTION
Server write access Enables writing access to a server

Available options for Screens


OPTION DESCRIPTION
Open Screen Enables opening Screens

Available options for Alarms


OPTION DESCRIPTION
Alarm acknowledgment Enables acknowledging alarms

Delete unbound alarms Enables removing alarms not linked to Alarm Sources

Shelve/Unshelve alarms Enables shelving and unshelving alarms

Each item on a list of permissions can be configured with one of the statuses on the next table.
Options for a list of permissions
STATUS DESCRIPTION
Allowed The selected command on this list of permissions is
granted to the selected user or group, ignoring all
groups to which they belong

Not Allowed The selected command on this list of permissions is not


granted to the selected user or group, ignoring all
groups to which they belong

Allowed by this Group The selected command on this list of permissions is


granted to the selected user or group, if it is granted on
groups to which the selected user or group belongs

Not Allowed by this Group The selected command on this list of permissions is not
granted to the selected user or group, if it is not granted
to at least one of all groups to which the selected user
or group belongs

Not Informed The selected user or group uses the definitions from the
groups to which they belong and there is nothing
informed on those groups, therefore the command is
granted

NOTE
To configure all possible statuses for each security item on the permissions list, use the following options:
· Right-click an item or use the shortcut key SHIFT + F10, which corresponds to the application or menu key , to
select one of the options, Allow Command, Deny Command, or Inherit Group Permissions.
· Double-click an item or use the space bar to toggle between Allowed, Not Allowed, or Not Informed statuses.

For Screens, this configuration of permissions can be performed by Screen specifically. For Alarms, this configuration
can be performed by Area.

NOTE
In an application, all users have access to its initial Screen. In case users want that application to always start
displaying a dialog box for user login, create a user with no specific permission for its initial Screen. Thus, every time
this application starts, it asks for a user login, and after that it displays its initial Screen.

479 Security
As for anonymous user permissions, users must notice the following situations:
· If there are no users at all, a permission check is not enabled, or there is no user with restrictions for a certain
operation, then a user identification is not required, that is, users can log in as anonymous
· If there are users in an application, a permission check is enabled, and at least one user cannot execute a certain
operation, then this operation requires a user identification, that is, users cannot log in as anonymous

NOTE
Name and description of these restriction options can be viewed using the Legend option.

In case there is any restriction to execute, stop, edit a Domain, or to configure users or groups, users must be logged
in Elipse Power. To do so, use the File - Login or File - Logout menus.
The Login option opens a dialog box for logging in Elipse Power Studio. Users remain logged in until another login
or logout is performed.
The Logout option executes a log out from Elipse Power Studio. In case no user is logged in, this option is then
disabled.

NOTES
· It is not allowed to remove all administrator users from a Domain.
· It is not possible to deselect the This is an administrator user option from all users of a Domain.
· Administrators can always change their passwords, even after the end of the expiration time.
· Administrators are not prevented from executing a login when their accounts are disabled or blocked.
· If there is no administrator configured in a Domain, such as when opening an old application that has no registered
administrator, editing users remains disabled until an administrator is added.
· Non-administrator users do not have permission to edit administrator users or to promote themselves or other
users to administrators.

When performing a user's login, by using Viewer's Login method or by using the File - Login menu, the dialog box on
the next figure is then opened.

Login window
If the Windows authentication mode is selected, the User name and Password fields are disabled and filled in with the
name and password of the user currently logged in the network domain. To select another user belonging to a network
domain, click Other user. If the E3 authentication mode is selected, fill in information about a user and a password for
an Elipse Power Domain's user in the User name and Password fields, respectively.
When the This user is an administrator option is enabled for a given user, this user can, at run time, change all
configurations displayed on the Users tab.
These privileges can be configured via script using Viewer's UserAdministration method, which enables a user's dialog
box at run time.

Security 480
NOTE
Only administrators and users with the Configure user/groups permission enabled have access to Viewer's
UserAdministration method.

When selecting a user and clicking Remove, the application shows a message box asking to confirm whether users
want to remove that user or not.

28.2 Groups
The Groups item allows configuring information about groups. Each group defines certain features shared by all its
members. A group can also belong to other groups. However, a group cannot belong to another group that already
belongs to this one, that is, creating a circular reference. The available options on this item are described on the next
table.
Available options on the Groups item
OPTION DESCRIPTION
New Creates a new group

Edit Edits the properties of the selected group

Remove Removes the selected group

When clicking New, the window on the next figure is displayed.

Add Group window


The available options on this window are described on the next table.
Available options on the Add Group window
OPTION DESCRIPTION
Group name Name of this group

Authentication kind Indicates the type of authentication of this group. The


available options are E3 Authentication: This group is
created in the current Domain or Windows
Authentication: Allows selecting a group of users from a
Windows network domain, so that users already
registered can log in an application

Selecting the Windows Authentication item in the Authentication kind option enables the Browse option, which
opens the window on the next figure.

481 Security
Find Windows Groups window
On this window, type the name of a Windows domain and click Find to perform a search. On the list of groups found
on that domain, select a group and click OK to add that group to the Group name option on the Add Group window.
When selecting a group and clicking Edit, the options to edit the selected group are displayed. These options
correspond to the same options available on the User Information, Groups, Security Properties, and Permissions
tabs of a user, but applied to groups.
When clicking Remove, the application shows a dialog box asking to confirm whether users want to remove that group
or not.
Groups can also belong to other groups, thus sharing their configurations. To do so, the Available groups list displays
all groups available in an application that may contain the selected group, and the Belongs to list displays a list of
groups to which the selected group belongs. To add a group to another specific group, follow these procedures:
1. Select a group to add to another group.
2. On the Available groups list, select a group to which this group must belong.
3. Click Add to add this group, which then appears on the Belongs to list.
4. To remove a group, select it on the Belongs to list and click Remove.

NOTES
Users must notice the hierarchy between users and groups. If a certain option is disabled for a user, but that same
option is enabled in a group, then the user's option is enforced, who has this item disabled. A group option is only
respected if the same user option is set as neutral or inherited.

28.3 File Protection


Protects the content of a project or library file against unauthorized edition, viewing, or execution. To use this resource,
follow these procedures:
1. Right-click the project's or library's name in Explorer and then select the Protection option. In Domain mode,
right-click the project's or library's name, in the Settings - Files item, and then select the Protection option.
2. The window on the next figure is then displayed.

Security 482
File Protection window
The types of protections available on this window are Studio Protection and Execution Protection.
A Studio Protection protects a file against unauthorized changes and views. This resource is used to prevent a given
library or project from accidental changes, or developer's exclusive procedures from being copied. The Add
protection option allows users to configure a protection password for an application, according to the next figure.

Add protection
The Change password option changes Elipse Power Studio's protection password for a file, according to the next
figure.

483 Security
Change password
The Remove protection option removes a file's edition protection. To do so, click it, type a password, and click OK for
the application to open a dialog box informing whether this action was executed successfully.
An Execution Protection is used to protect a file against unauthorized execution. To do so, users must ask for a
protection device-recorded password, which is performed by Elipse Software. This protects a developer against
project's unauthorized copies, for example. To do so, when asking for an E3 Server's license, users must provide that
execution password. This process is performed after purchasing a server.
The Add protection option allows configuring a protection password for an application, according to the next figure.

Add protection
The Change password option changes an execution's protection password for a file, according to the next figure.

Change password
The Remove protection option removes an execution protection from a file. To do so, click it, type a password, and
click OK for the application to open a dialog box informing whether this action was executed successfully.
When a project or library file is opened in Elipse Power Studio, it displays a gray icon , with a lock indicating that
this file is protected and its content is not available. To access this file's content, right-click this project or library and
select the Open with a password option. After typing a password, and the application granting access to its content,
this icon becomes colorful , indicating file accessibility.
The content of protected project or library files is encrypted. Whenever a project is protected, the DocString and
Domain properties are blocked.

Security 484
IMPORTANT
All implemented protections cannot be bypassed in case of a password loss. So, when protecting a file, store this
password in a safe place. This guarantees that files are available whenever they are needed.

485 Security
CHAPTER
Elipse Power Viewer and WebViewer
29
An Elipse Power Viewer is an Elipse Power's viewing environment. In this environment, users can watch the execution
of applications created in Elipse Power Studio.
A WebViewer is an ActiveX component that allows Internet Explorer to behave as an Elipse Power Viewer, which
enables viewing and controlling Elipse Power applications via Internet. Thus, users can view and interact with a plant
floor process by using Internet Explorer, which can be installed in any computer on a network with access to E3 Server.
After installed, a WebViewer works exactly as an Elipse Power Viewer, downloading an application, such as Screens
and bitmaps, to the local computer. All Elipse Power Viewer functionality, such as E3Chart and E3Alarm, is supported
by a WebViewer.

A WebViewer executing (viewing an application)

NOTE
Both Elipse Power Viewer and WebViewer accept the same zoom options described on topic Zoom of chapter
Screen and Screen Objects. In addition, the drawing quality of Screens can be modified, at run time, by using both
Elipse Power Viewer's and WebViewer's contextual menu, and then selecting one of the options of the Quality (all
screens) menu. For more information, please check Viewer's RenderQuality property on Elipse Power Reference and
Scripts Manual.

29.1 Viewer Only (Read-Only Mode)


A Viewer Only mode, Read-Only or restricted access mode, is a way of controlling access from an Elipse Power
Viewer to a server (Domain), as opposed to a Viewer Control mode, which has no access restrictions.
By using user permission settings, on chapter Security, and according to the type of Elipse Power Viewer license in
use, on chapter Domains, a server then determines whether an Elipse Power Viewer is in Control (normal) or Only
(restricted) mode. When in Only mode, several restrictions apply to actions that can be written to a server. This mode
blocks, by a script error or by generating an error message, the following items:
· General writings to server's object properties via Elipse Power Viewer Links
· General writings to server's object properties via Elipse Power Viewer scripts
· Viewer's SetValue and ToggleValue methods, including Load and Toggle Value Picks
· Calling server's object methods via Elipse Power Viewer scripts (please check for exceptions further on this topic)
· User administration via Elipse Power Viewer, by using Viewer's UserAdministration method

Elipse Power Viewer and WebViewer 486


· Acknowledging alarms via E3Alarm
· Using Viewer's LoadFormulaDlg, LoadFormulaValues, and LoadFormulaValuesQuiet methods

The following items remain allowed in this mode:


· Reading server's object properties, via Links or scripts
· Calling methods considered non-restricted for server objects via Viewer scripts:
· Item (all objects)
· Refresh (OPC Group)
· FindUnit, FindValue, GetValueData, and GetUnitData (Formula)
· GetAlarm (Alarm Source)
· GetE3QueryFields, GetADORecordset, and GetAsyncADORecordSet (Query)
· GetObject (ServerApplication)
· Changes in the Advise status of server Tags
· Changing user's own password, by using Viewer's ChangePassword method

29.1.1 Changes in Elipse Power Viewer Mode


For users to have access to Elipse Power in Read-Only mode, at least one of these conditions must be true:
· The license in use must be a Viewer Only type
· A logged-on user with no permission to access a Writing access to the server item

It is worth noticing that in case there is no user logged on an Elipse Power Viewer, that is, an anonymous user, access
restrictions apply as long as one or more users have this restriction.
Thus, every time a user changes, Elipse Power Viewer's access mode can be changed, and consequently the
IsReadOnly property, according to the result of a combination between what is permitted by the license in use and the
permission of the logged-on user.
Changing access mode can also happen in case there is an Elipse Power Viewer reconnection, since it can trigger
either a license change, from Viewer Control to Viewer Only or vice versa, or a change in permissions of the logged-
on user.
In case there is any user with a blocked writing access to a server when Elipse Power Viewer opens, they enter this
application automatically in Read-Only mode, regardless of the license in use, since an anonymous user always assume
the maximum configured restriction.

29.2 Elipse Power Viewer Execution


The way to execute an Elipse Power Viewer is via local server, via intranet server, or via Internet server. The next topics
contain more details about each one of them.

29.2.1 Via Elipse Power


An Elipse Power Viewer can be executed using the Default toolbar, using the following options:
· Saves and Runs the Domain : Saves all settings of projects and libraries, executes a Domain, and then executes
an Elipse Power Viewer
· Runs or Stops Domain : Starts or stops the execution of the current Domain
· Refresh Domain : Updates the current Domain
· Runs or Stops Elipse Power Viewer : Executes or stops the execution of the current Elipse Power Viewer

When an Elipse Power Viewer is executed, the application shows the window on the next figure, indicating a
connection status.

487 Elipse Power Viewer and WebViewer


Elipse Power Viewer connection status
Whenever loosing a server connection, Elipse Power then tries to reconnect automatically, according to server's
configurations. To determine which server performs a connection in case of an Elipse Power Viewer failure, users must
configure the Servers option, configured via E3 Admin, as explained in chapter Domains.

29.2.2 Via Command Line


An Elipse Power Viewer can be accessed via command line in this way:
Viewer [server_name] [options]

The server_name argument stands for the name of a computer where an E3 Server is executing. If this argument not
informed, a dialog box is displayed asking about an application's server path, as when executing an Elipse Power
Viewer from Windows Start menu, as shown in the next topic.
Configuration options for this command prompt are the following:
· -screen or /screen: Allows users to inform a valid initial Screen, different from the initial Screen configured in a
Domain
Viewer [server_name] –screen <screen_name>

· -noping or /noping: Discards the need to perform a ping command to a server before attempting to connect (a
direct connection attempt)
Viewer [server_name] –noping

· -readonly or /readonly: Allows users to specify whether an Elipse Power Viewer tries to connect in Read-Only
mode. When it is performed, an Elipse Power Viewer always uses a Viewer Only license
Viewer [server_name] -readonly

· -cachepath or /cachepath: Allows users to specify a directory to save Elipse Power Viewer's cache. If it is
omitted, Windows' default temporary directory is used, that is, the TEMP environment variable
Viewer [server_name] –cachepath <directory>

· -useservers or /useservers: This option enables an Elipse Power Viewer to try to connect only to servers
specified on the command prompt. If this option is not present, its default behavior, Elipse Power Viewer can try
to discover alternative servers in case it cannot connect to servers passed as parameters on the command
prompt. This option works only on a local network, therefore it must be informed in case a server that an Elipse
Power Viewer is trying to access is outside the local network
Viewer [server_name] –useservers

· -params: Allows users to specify Elipse Power Viewer's initialization parameters. This option cannot be specified
immediately before a list of servers. Values passed to this option can be retrieved via script using Viewer's Params
property
Viewer -params <Name1>=<Value1> [<Name2>=<Value2>] ...

· -help: Displays a dialog box with usage examples of an Elipse Power Viewer's command prompt options, as in
the next figure

Elipse Power Viewer and WebViewer 488


An Elipse Power Viewer's help dialog box

29.2.3 Via Windows Start Menu


To execute a client application, users can access an Elipse Power Viewer, available on Windows Start menu. Elipse
Power then shows the dialog box on the next figure, so that users can inform an application's server path.

489 Elipse Power Viewer and WebViewer


Starting Elipse Power Viewer window
If E3 Server is on the same computer as Elipse Power Viewer, select the Local Server option. If they are on different
computers, select the Network Server option and inform either a name or an IP address of the computer executing E3
Server. If E3 Server is available in a port other than the default (6515), inform this port number in the Network Server
option right after the IP address, separated by a colon. To connect in Read-Only mode, select the Start Viewer in
read-only mode option.

29.3 Elipse Power Viewer Logs


Elipse Power generates logs in ETL (Event Trace Log) format. These log files are managed by an Elipse Software tool
called Elipse Event Log Viewer, available with Elipse Power installation. With this tool, users can view files and manage
the space they occupy on disk, among other tasks. For more information on Elipse Event Log Viewer, please check
Elipse Event Log User's Manual. Elipse Event Log Viewer can be opened in these ways:
· Using Windows Start menu
· Using Elipse Power Studio's Tools - Log Viewer menu
· Using Shortcuts - Log Viewer item of E3 Admin's contextual menu on Windows Notification Area

29.4 Executing WebViewer


During WebViewer installation, files e3web.asp, e3web2.asp, docwrite.asp, docwrite2.asp, and e3downloader.cab
become available for user configuration. These files are located on the same directory where Elipse Power was
installed, on the web folder.
· e3web.asp and docwrite.asp: Responsible for loading and starting E3Downloader ActiveX
· e3downloader.cab: ActiveX sent to a client computer that executes the installation of e3webviewer-x86-enu.exe
· e3web2.asp and docwrite2.asp: Responsible for loading and starting WebViewer's ActiveX, displaying the
application executed on client computer's Internet Explorer

The docwrite2.asp page is initially configured as if E3 Server and the web server are executing on the same computer.
However, users can change this page's source code to meet their needs. To do so, change the following line on
docwrite2.asp file:
var Domain = getDomain();

To the following code:


var Domain = "IIS server's external IP";

If users want to inform a valid initial Screen, different from the one configured in the Domain, they must change the
Screen parameter on docwrite2.asp file, typing in the Screen_Name value a valid application's Screen name, as in the
next example.
<param name="Screen" value="Screen_Name">

If users want to inform whether a ping command to a server must occur before trying a connection, they must change
the Ping parameter on docwrite2.asp file. Its value can be either "True" or "False", as in the next example.
<param name="Ping" value="True">

Elipse Power Viewer and WebViewer 490


If this line is omitted, a ping command is executed.
If users want to specify a directory to save Elipse Power Viewer's cache, they must change the CachePath parameter
on docwrite2.asp file. If it is omitted, then Windows' default temporary directory is used, that is, the TEMP environment
variable, as in the next example.
<param name="CachePath" value="Cache_Directory">

If users want WebViewer to search for other servers on a network if it cannot connect to a server specified in the
Domain parameter, they must change the UseServers parameter on docwrite2.asp file. If this parameter is not informed,
WebViewer tries to connect only to the server specified by the Domain parameter, which is its standard behavior (a
"True" value). Changing this value to "False" only works for servers and WebViewers on the same network, as in the
next example.
<param name="UseServers" value="False">

WebViewer's configuration to open in Read-Only mode is performed via StartReadOnly parameter, with values "True"
or "False", on docwrite2.asp file. If this item does not exist, then it assumes a "False" value, a behavior compatible with
previous versions, as in the next example.
<param name="StartReadOnly" value="False">

In both cases, this configuration is only effective when opening WebViewer. If this parameter is changed at run time,
WebViewer's connection or reconnection is not affected at all.
If users want to navigate to a page other than the default after loading WebViewer, they must change the value
attribute of the URLToLoad parameter on docwrite.asp file to a new address, as in the next example.
<param name="URLToLoad" value="URL">

If this line is omitted, the e3web2.asp page is then loaded.


If users want to specify whether WebViewer installer must or must not install Control Pad ActiveX from MS Forms, they
must change the InstallACP parameter on docwrite.asp file with values "True" or "False", respectively. If this item does
not exist, it assumes a "True" value, that is, the ActiveX Control Pad is installed, as in the next example.
<param name="InstallACP" value="True">

NOTE
If the InstallACP parameter is configured to "False", application Screens using MS Forms may display errors during
their loading process, if MS Forms objects were not previously installed by another application, such as Microsoft
Office.

Both servers and WebViewer can execute on the same computer or on different computers. The next topics show how
these situations apply.

29.4.1 Internet Information Services


To view on the Internet, as well as on an Intranet or a local computer, users must install and configure IIS (Internet
Information Services), or another Internet server.
IIS is supplied along with Windows. To install and configure it, follow these procedures:
1. On Windows 10 or later, click the Start menu, select Settings, and then click Apps.
2. On Apps & features, click Optional features.
3. Click More Windows features.

491 Elipse Power Viewer and WebViewer


Windows Features window
4. Locate the Internet Information Services item on the list and click to expand all its sub-items.
5. Select, at least, the following options and click OK.
· Web Management Tools
· IIS Management Console
· IIS Management Scripts and Tools
· IIS Management Service
· World Wide Web Services
· Application Development Features
· ASP
· ISAPI Extensions
· ISAPI Filters
· Common Http Features
· Default Document
· HTTP Redirection
· Static Content
· Security
· Basic Authentication
· Request Filtering

6. IIS then start its installation process.


7. Wait for this process to finish to configure IIS.

After installing IIS, files e3web.asp, e3web2.asp, docwrite.asp, docwrite2.asp, and e3downloader.cab must be copied to
c:\inetpub\wwwroot. This folder is created during IIS installation. Apart from .asp files, WebViewer's installer must
also be copied to this folder. This installer, e3webviewer-x86-enu.exe, is used when a client computer accesses a server
for the first time, in case Elipse Power was not previously installed on that computer. This file can be downloaded from
Elipse Software's website.
IIS still needs to be configured to work correctly. Configuration is different in case IIS and E3 Server are on the same
computer or on different computers. To configure it, please check Elipse Power Installation Guide.

Elipse Power Viewer and WebViewer 492


29.4.2 Viewing on a Client Application
If a server is using a web server, such as IIS, type this server's address or IP on Internet Explorer's address bar, such as
http://servername/virtual_directory or http://192.0.0.21/virtual_directory, where virtual_directory is a directory created
during IIS configuration, according to Elipse Power Installation Guide.
During server's first access, Internet Explorer starts the installation of the component, in case it was not previously
installed, as stated at the beginning of this chapter. This component is signed by Elipse Software and users must
accept that installation to start its configuration.

WebViewer Installation
After installation, WebViewer opens in Internet Explorer, and viewing a server's application. In the next access, it is not
necessary to install components and connection is faster.

NOTE
Client's version must match server's version. For this, the installer (e3webviewer-x86-enu.exe) on the server must
always be the later version.

493 Elipse Power Viewer and WebViewer


CHAPTER
Hot-Standby
30
Hot-Standby is a feature that allows implementing a fail-over concept in a supervisory system. This concept consists in
a possibility of having two servers, main and backup, one acting as a contingency of the other, that is, if a main server
fails, a backup server immediately starts executing, with no losses in this process. This is known as a server in Standby
mode.
Thus, Elipse Power Hot-Standby tool aims at allowing a server to remain in a standby status, waiting for a possible
failure of another server, an active server. Switching to an active server can be manual or automatic.
A manual switching is activated via E3 Admin menu on Windows Notification Area of the standby computer, in the
Server - Activate option. An automatic switching occurs when a server in Standby mode detects that a main server is
not executing anymore. A server can assume one of the following statuses:
· Server under Maintenance: This status is indicated in Domain server's settings. A server under maintenance does
not participate in any Domain event
· Active Server: Only one server can be active in a Domain at a certain time. An active server is the one executing
the application (E3 Admin)
· Standby Server: Only one server can be in Standby mode in a Domain at a certain time. A server in Standby
mode executes E3 Admin in Standby mode, and an application remains loaded, only waiting for a command to
start operating. A backup server monitors an active server, and if it is not answering, the server in Standby mode
is then activated
· Inactive Server: A server switches to inactive when it is declared in a Domain, but it is neither selected as the main
nor as the backup server. Even when inactive, this server monitors changes in a Domain file, and it may switch to an
Active or Standby status if the Domain is reconfigured

IMPORTANT
To execute a redundant application in Elipse Power, all servers must execute the same product version, and also
must have a local updated copy of Domain files, that is, .prj and .lib files, among others. A .dom file, however, is
automatically synced by E3 Server, that is, changes made to a .dom file on one server are automatically copied to this
.dom file on other Domain servers. To do so, a .dom file must exist at the same path on all servers.

Hot-Standby uses a REC connection, therefore it only works if E3 Server is started up on all computers involved in this
communication.
If an Elipse Power Studio user or a Hot-Standby user is also an administrator of a remote computer executing E3
Server, they can remotely control this service by using services.msc, via the Action - Connect to another computer
option.

30.1 Configuring
The settings to implement Hot-Standby are the following:
1. Locate the path of the Domain files, that is, .dom, .prj, and .lib files, among others, on the main computer and copy
that folder to the computer in Standby mode. In case a different path to the Domain files were set in the Root
folder for Domain files option on the Servers tab, users must use that path when copying those files.
2. Database files must be handled differently. For more information, please check topic Using Databases with Hot-
Standby.
3. Go to the E3 Admin icon on Windows Notification Area, and select the Domain - Options option.

Hot-Standby 494
Domain - Options menu
4. On the Servers tab, add the main and backup servers. Configure the Server Name and Network address options,
as described on topic Servers Tab. For example:
· Server name: Server1
· Network address: \\Computer1

5. On the Hot-Standby tab, select the Enable option. In the Main server option, select the project's main server, and
in the Backup server option, select the project's backup server. Elipse Power searches for a main server in
alphabetical order.
6. Define the PING addresses to check network integrity option, as described on item PING addresses to check
network integrity of topic Domains - Configuration - Hot-Standby Tab.
7. Enable the Activate backup server on local failure option, as described on item Activate backup server on local
failure of topic Domains - Configuration - Hot-Standby Tab.
8. Click OK to confirm these settings.
9. When starting Elipse Power, an icon represented by a yellow spinning bar is shown on Windows Notification
Area of all computers configured in Hot-Standby, indicating that Domains are currently loading. After a few
seconds, Elipse Power recognizes the main computer and indicates that status on Windows Notification Area with
an icon represented by a green arrow . This icon specifies that this computer is currently executing. The
computer in Standby mode displays an icon represented by two yellow bars , indicating that it is in Standby
mode.

30.2 Executing a Redundant Domain


To execute a redundant Domain, start one of its servers; the other servers are automatically started by this first server.
To start a Domain, create a shortcut to E3 Admin using the next command line.
E3Admin.exe –start <Domain_Path>

This server starts the Domain servers, and then it is automatically closed. A Domain can be also started via Elipse
Power Studio. To do so, open the Domain and click .

30.3 Stopping a Redundant Domain


A Domain can be stopped by any of its servers, via E3 Admin icon on Windows Notification Area. Select the
Domain - Stop option, and then Active and Standby servers finish the E3Run process. A Domain can be restarted by
selecting the Domain - Run option. If users select the Domain - Close option, the Domain is stopped and then
closed, and E3 Servers are available to execute other Domains.

IMPORTANT
These options to stop and close a Domain AFFECT ALL DOMAIN SERVERS, not only the server executing this
command.

495 Hot-Standby
30.4 Stopping One of the Domain Servers
The correct way of stopping one of the Domain servers is by selecting it as in Maintenance mode, on Servers tab of
Domain - Options settings. If the active server is in Maintenance mode, the server in Standby mode then switches
to the active status. To set that server back into the Domain, deselect the Maintenance mode option of that server.

30.5 Switch Time Between Servers


The default time interval for a backup server to take over when the active server fails is 15 seconds. However, users can
configure this time using the Time to activate backup server item, as described on topic Hot-Standby Tab.
This time interval allows the previous server to finish the application, in case of a network-only failure. This configured
time directly affects the ping time-out among servers. If it is too low, such as switching every one second and a ping
timeout of 160 ms, there may be some spontaneous server switches, caused by minor network failures.

30.6 Elipse Power Viewer Reconnection


When there is a server switch, the Elipse Power Viewers start the reconnection process by trying to connect to the
backup and to the active server, alternately. Users have the option to wait for the end of the reconnection process to
the current Elipse Power Viewer, cancel the reconnection, and then close the Elipse Power Viewer, or open a new
Elipse Power Viewer session with the new server.

30.7 Using Databases with Hot-Standby


Users can have two servers executing separately in the same application. One of them remains active, while the other
one remains in Standby mode, waiting for a possible failure.
Hot-Standby ensures application continuity, but when using a database, users must also ensure continuous access to
that database.
There are two ways to solve this problem. In the first one, both applications access the same database. Users enable
database access in the application, setting up a Database object on both servers, Main and Standby, with the same
location parameters of the database on the network. To ensure system's continuity, it is important that the database be
on a separate computer, accessible by both servers.
In the second way, data recording is performed on different databases. In this case, users must have two databases
executing locally on both servers. Thus, users can ensure that access to these databases is always available, because
the computer executing the application also executes the database.
An interesting option in this case is syncing between different databases of the main and secondary application.
Database's EnableSynchronization property enables this feature in an application. When it is active, all data stored on
the main database is updated on the database in Standby mode almost instantly.

NOTE
If the main application cannot send data to a server in Standby mode, then data remains stored on local disk for
sending it later, when communication between these two computers is reestablished, ensuring that tables generated
by the application are the same.

Hot-Standby 496
CHAPTER
Advanced Settings
31
There are certain Elipse Power configurations that can be performed directly in Windows Registry, although this
procedure is not advisable. Elipse Software has a tool called E3 Tweak, which performs registry settings using a
graphical interface. For more information, please check E3 Tweak User's Manual. E3 Tweak can be opened using these
shortcuts:
· Via Windows Start menu
· Via Tools - E3 Tweak menu in Elipse Power Studio
· Via Shortcuts - E3 Tweak item of E3 Admin's contextual menu on Windows Notification Area

497 Advanced Settings


CHAPTER
E3DataAccess Library
32
Aiming to meet the demands of developing applications that can view and change data from an E3 or Elipse Power
server, Elipse Software developed a COM object as a library called E3DataAccess. By using the events, methods, and
properties provided by this object, any application written in Visual Basic, Delphi, or .NET, among other languages,
which supports COM objects can create a communication interface with E3 or Elipse Power. An important detail is that
each instance of E3DataAccess Library can only be connected to one E3 or Elipse Power server at a time.
When instantiating an E3DataAccess object, users can monitor the Server property, which defines the E3 or Elipse
Power server this instance is connected or trying to connect. After connecting, users have access to synchronous
methods to read and write Tags, search data using queries, and receive change events from Links, described on the
next topics.

32.1 Events
OnValueChanged(Path, Timestamp, Quality, Value)
The parameters of this events are the following:
· Path: Path to the monitored property
· Timestamp: Timestamp of the property referenced in the Path parameter
· Quality: Quality of the property referenced in the Path parameter
· Value: Value of the property referenced in the Path parameter

This event can be captured by any application instantiating this library. From the moment the RegisterCallback method
is used, the COM object starts sending change notifications to the property passed in the Path parameter. For this
object to be able to receive these notifications, users must create it with the prototype declared next.
Public Sub OnValueChanged(ByVal link As String, ByVal TimeStamp As Object, ByVal Quality As
Short, ByVal Value As Object)

Then users must add a handler to that event in the COM object. In Visual Basic, this is performed according to the next
prototype.
AddHandler(e3.OnValueChanged, New
E3DataAccessLib._IE3DataAccessManagerEvents_OnValueChangedEventHandler(AddressOf OnValueChanged))

Thus, whenever an event is generated by the E3DataAccess Library, the application receives a call from the
OnValueChanged method showing the changed property's Link, the timestamp of the change, the quality, and the new
value.

32.2 Methods
This topic contains the available methods in the E3DataAccess Library.

BatchRegisterCallback(PathCollection)
This method is used to monitor changes occurred in any property of a collection of objects instantiated in an E3 or
Elipse Power server. From the moment these Links are registered, the application starts receiving notifications of
changes in the monitored values. The PathCollection parameter must provide the paths to object properties to monitor,
separated by commas, such as "Data1.DemoTag1.Value,Data1.DemoTag2.Value". This method returns True if the Links
were registered correctly or False if the Links could not be registered.

BatchUnregisterCallback(PathCollection)
This method is used to remove Links passed as the parameter of a list of monitoring, allowing an application to stop
receiving change events for those Links. The PathCollection parameter must provide the paths to object properties to
remove from the list of monitoring, separated by commas, such as "Data1.DemoTag1.Value,Data1.DemoTag2.Value".
This method returns True if the Links were correctly removed from the list of monitoring or False if the Links could not
be removed from the list of monitoring.

E3DataAccess Library 498


ClearCallbacks()
This method removes all registered Links. Returns True if this operation was successful or False if it could not remove
all Links.

Connect()
This method connects to the server or servers listed in the Server property.

Disconnect()
This method performs a disconnection from the currently connected server.

ExecuteQuery(Path, Names, Values, QueryResult)


This method executes a Query and returns its results, if any. The Path parameter indicates the path to a Query object to
execute in the E3 or Elipse Power server, such as "Data.Query1". The Names parameter is an array with names of
variables to configure in the Query referenced in the Path parameter. The Values parameter is an array with values of
variables referenced by the Names parameter. The QueryResult parameter is a variable that receives a matrix with the
values returned by the Query referenced in the Path parameter. This method returns True if the Query was correctly
executed and False if the Query specified in the Path parameter could not be found or executed.

GetValue(Path, Timestamp, Quality, Val)


This method returns the value of an object's property in an E3 or Elipse Power server. The Path parameter provides
the path to an object to monitor. The Timestamp parameter is a variable that receives a Link's timestamp referenced by
the Path parameter. The Quality parameter is a variable that receives the quality of a Link's value referenced by the Path
parameter. The Val parameter is a variable that receives the value of a Link referenced by the Path parameter. This
method returns True if the Link was found and the values returned correctly or False if the Link was not found and the
values could not be retrieved.

Login(Login, Password)
This method executes a login on the E3 or Elipse Power server using the user name and password indicated in the
Login and Password parameters, respectively. This method returns True if the login was successful or False in case of
error.

Logout()
This method performs a logout from the E3 or Elipse Power server of the user indicated in the Login method.

ReadValue(Path, Timestamp, Quality, Val)


This method reads the value of an object's property in an E3 or Elipse Power server. The Path parameter provides the
path to an object to read. The Timestamp parameter is a variable that receives the timestamp of the Link referenced by
the Path parameter. The Quality parameter is a variable that receives the quality of the Link's value referenced by the
Path parameter. The Val parameter is a variable that receives the Link's value referenced by the Path parameter. This
method returns True if that reading was successful or False if the Link was not found or could not return its value.

RegisterCallback(Path)
This method is used to monitor changes occurred in any property of an object instantiated in the E3 or Elipse Power
server. From the moment this Link is registered, the application starts receiving notifications of variations in the
monitored value. The Path parameter provides the path to an object's property to monitor, such as
"Data1.DemoTag1.Value". This method returns True if the Link was correctly registered or False if the Link could not be
registered.

ResetCommSettings()
This methods configures all connection properties of an E3DataAccess object to their default values.

SetValue(Path, Timestamp, Quality, Val)


This method configures the value of an object's property in an E3 or Elipse Power server. The Path parameter provides
the path to an object to change. The Timestamp parameter provides the Link's timestamp referenced by the Path

499 E3DataAccess Library


parameter. The Quality parameter provides the quality of Link's value referenced by the Path parameter. The Val
parameter provides the Link's value referenced by the Path parameter. This method returns True if the Link was found
and its values configured correctly or False if the Link was not found and its values could not be configured correctly.

UnregisterCallback(Path)
This method is used to remove the Link passed as a parameter from the list of monitoring, allowing an application to
stop receiving change events for that Link. The Path parameter provides the path to the property to remove from the
list of monitoring, such as "Data1.DemoTag1.Value". This method returns True if the Link was removed correctly from
the list of monitoring or False if the Link could not be removed from the list of monitoring.

WriteValue(Path, Timestamp, Quality, Val)


This method writes a value to an object's property in an E3 or Elipse Power server. The Path parameter provides the
path to an object to write. The Timestamp parameter is a timestamp for the Link referenced by the Path parameter. The
Quality parameter is the quality of the value for the Link referenced by the Path parameter. The Val parameter is the
value for the Link referenced by the Path parameter. This method returns True if that writing was successful or False if
the Link could not be found or the value cannot be written.

32.3 Properties
The available properties in the E3DataAccess Library are described next.

ActiveServer
This is a read-only property and returns the name of the current active server.

AutoConnect
This property configures whether a user does not explicitly controls connection and disconnection (True) or a user
explicitly controls connection and disconnection (False).

ConnectionState
This is a read-only property and returns the status of a connection. Possible values for this property are 0:
Disconnected, 1: Connecting, 2: Connected, or 3: Disconnecting.

ConnectionTimeoutMs
This property indicates the maximum time to connect to a server.

DomainState
This is a read-only property and returns the status of a Domain. Possible values for this property are 0: Unknown, 1:
In Hot-Standby, 2: Stopped, or 3: Executing.

HeartBeatCheckMs
This property indicates an interval, in milliseconds, between heartbeat messages to the server. This value must be
greater than the value in the HeartBeatMs property, typically double the time.

HeartBeatMs
This property indicates the maximum time, in milliseconds, to send a heartbeat message to the server. Configuring
this property as 0 (zero) disables sending a heartbeat message (not recommended).

IsReadOnly
This is a read-only property and indicates whether the connection to a Domain is read-only.

PingTimeoutMs
This property indicates the maximum waiting time for a ping command. Configuring this property as 0 (zero) disables
the ping command.

E3DataAccess Library 500


Server
This property indicates the name of the E3 or Elipse Power server or servers to connect. For more than one server,
separate values using commas.

StartReadOnly
This property configures whether the connection with the server starts in read-only mode or not.

User
This is a read-only property and indicates the name of the user currently logged in the E3 or Elipse Power server.

501 E3DataAccess Library


CHAPTER
Frequently Asked Questions
33
This chapter aims to answer frequently asked questions about Elipse Power. There are also errors that may occur and
their solutions.

33.1 Alarms
There was an error in the number of columns of a CSV file when importing an Alarm of type
<typename>. Would you like to proceed the import of the other Alarms, ignoring these errors?

POSSIBLE CAUSES
A CSV file with Alarms to import contains an error in its columns of the indicated type. Alarm files must always contain
the minimum number of columns expected, according to every type. Extra columns are skipped. To know the correct
way to create a CSV file for Alarms, please check topic Generating a CSV File Manually, on Elipse Power Studio
chapter.

SOLUTION
Possible answers to that question in the error message are the following:
· Yes: This process of importing Alarms inside this CSV file proceeds, ignoring only this error about the number of
columns. The Alarm whose columns are incorrect is not imported
· Yes (All): This process of importing Alarms proceeds, ignoring all subsequent Alarms with errors in the number of
columns that may exist in that CSV file
· No: The process of importing stops, but Alarms already imported are preserved

To prevent this error, this CSV file must be created according to recommendations on chapter Alarms.

IMPORTANT
Although Tag and Alarm files have the same extension (.csv), internally they are different. Hence, an Alarm file is not
suited for Tags and vice versa.

I created a CSV file manually, containing an Alarm configuration. How can I import it?
Check Region and Language configurations on Windows Settings, and make sure the decimal separator is the same
used in this CSV file. TIP: create an Alarm in Elipse Power and use the export tool, using the resulting file as a template
for generating new Alarms.

How can I display an E3TimeStamp field with milliseconds in E3Browser and in E3Alarm?
Use the Others format, and type "MM/dd/yyyy HH:mm:ss.000". This configuration for an E3Browser is performed on
the Data Source tab, on the Format column of each Field. For an E3Alarm, such configuration is performed on the
Columns tab, by clicking Properties on each Field.

The following error message appears: "Impossible to create alarm signatures on the Alarm Server
with filter. Error code: (0x800706F7)". What does that mean?
The name of this Alarm Server is not specified in the E3Alarm, or it is not correct. For an E3Alarm to capture and
display active Alarms, users must configure the name of an Alarm Server to access. To do so, change the value of the
Alarm Server column of the desired Connection on the Connections tab of E3Alarm's properties window, or use the
Properties List and select the AlarmServer property.

How can I delete Tags linked to Alarms and Areas on an Alarm Configuration object?
· To delete a Tag linked to an Alarm: Select this Tag with the mouse and press the DELETE key
· To delete an Alarm: Select this Alarm with the mouse and press the DELETE key
· To delete an Area: Select this Area and press the DELETE key

Frequently Asked Questions 502


How to display "Critical", "High", "Medium", and "Low" messages in an Alarm's Severity field
instead of values -2 (minus two), 0 (zero), 1 (one), and 2 (two) in a SQL query?
The SQL syntax for every database supported by Elipse Power is the following:
· Access:
SELECT InTime, OutTime, Message, FormattedValue,
IIF(Severity = "-2", "Critical",
IIF(Severity = "0", "High",
IIF(Severity = "1", "Medium", "Low")))
AS Severity FROM Alarms;

· SQL Server:
SELECT InTime, OutTime, Message, FormattedValue,
Severity = CASE Severity
WHEN -2 THEN 'Critical'
WHEN 0 THEN 'High'
WHEN 1 THEN 'Medium'
WHEN 2 THEN 'Low' END
FROM Alarms;

· Oracle:
SELECT InTime, OutTime, Message, FormattedValue,
DECODE(Severity, -2, 'Critical', 0, 'High', 1, 'Medium', 2, 'Low')
Severity FROM Alarms;

· MySQL or PostgreSQL:
SELECT InTime, OutTime, Message, FormattedValue,
CASE WHEN Severity = '-2' THEN 'Critical'
WHEN Severity = '0' THEN 'High'
WHEN Severity = '1' THEN 'Medium'
WHEN Severity = '2' THEN 'Low' END
AS Severity FROM Alarms;

33.2 Data Server


The Retentive property of an Internal Tag is not working, because it does not save the last value
when stopping a Domain. What can be wrong?
The Retentive property is not aimed to do this. It is only useful in Hot-Standby applications, to keep an Internal Tag
value when there is a server switching.

How to save the value of an Internal Tag when stopping a Domain?


By using Data Server's Save method.

How do I display the current system date and time on a Screen in my application?
Create a CurrentTime-type Demo Tag and link it to a Display on this Screen. A date and time format can be configured
on the Formatting tab of a Display properties window.

How do I create a timer in Elipse Power?


By using a Square-type Demo Tag. This Tag must have its Enabled property set to False and its Period property set to
twice the limit time, in milliseconds. By setting True to its Enabled property starts counting time. To execute any script at
the end of this timer, create an event linked to this Demo Tag's Value property, which is executed when that property
changes its value. In this script, users must also disable that Demo Tag, that is, set its Enabled property to False, so that
it stops changing. It is recommended to use Demo Tag's Reset property before setting its Enabled property to True.

33.3 Domains and Projects


What happens to events generated by an E3 Server while a Domain is not executing?
As long as the event recording is enabled, E3 Server logs the generated events on an internal event list, in memory.
This list is emptied in the following situations:
· If there is an E3Run executing locally, that is, the E3 Server is in the Hot state, the events of this list are sent to the
E3Run for recording on the Database. If the recording works, the recorded events are removed from the list
· If there is another E3 Server executing in Hot state on the Domain, messages are sent to that E3 Server

503 Frequently Asked Questions


· If the Domain is closed, all messages not yet stored are discarded

I have used E3 Admin via command line and an error has been displayed. Why has this happened?
Sometimes, when using E3 Admin via command line, users may wrongly configure a parameter, which throws an error
message. The following error messages can be displayed:
· The Domain could not be opened because the file 'filename.dom' is read-only
· This message appears when the Domain file is read-only
· The options are not valid or the Domain name is incorrect. Check the informed options and whether the
Domain exists
· This message appears when a non-existing option or Domain name is informed, or the Domain file is not found,
probably because an invalid Domain path name was informed
· The Domain name was not informed
· This message appears when the viewer or start options are used without a Domain name. For more
information, please check chapter Domains

How two or more users can work at the same time on the same Domain?
Creating a Domain via network, several users can open it on different computers and work on it at the same time.
Changes made by one users are visible to the other ones, as soon as they open the specific changed object or as soon
as they update the changed project or Library.

What is the effect of clicking Update on the project menu?


All project objects are updated. For example, if several users are working at the same time on the Domain, changes
saved by one user are visible to the other ones, as soon as they open the specific changed object or when they update
the changed project or Library.

33.4 Elipse Power Viewer


I cannot connect a remote Elipse Power Viewer to a Server. Why is this happening?

POSSIBLE CAUSE
There is a firewall blocking access to this Server.

SOLUTION
Users must unblock all ports used by Elipse Power. The procedure to unblock a port on Windows Firewall is described
next.

NOTE
The default port used by Elipse Power is 6515, but this behavior can be changed according to topic Elipse Power
Viewer and WebViewer - Elipse Power Viewer Execution - Via Start Menu.

1. On Windows 10 or later, click the Start menu, select Settings, click Network & Internet, and then click Ethernet.
2. Click Windows Firewall.
3. Click Advanced settings.
4. Right-click the Outbound Rules item and select the New Rule option.
5. On the Rule Type window, select the Port item and click Next.
6. On the Protocol and Ports window, select the TCP option and, on Specific remote ports item, type the number of
a port to unblock and click Next.
7. On the Action window, select the Allow the connection item and click Next.
8. On the Profile window, leave the Domain, Private, and Public options selected and click Next.
9. On the Name window, type a name and a description, optional, for this port and click Finish to save these changes
and close this window.

Frequently Asked Questions 504


I cannot open a remote Elipse Power Viewer using Internet Explorer. Why is this happening?

POSSIBLE CAUSES
· An Elipse Power Viewer is not installed in the remote computer
· There is a firewall blocking access to this server

SOLUTION
Users can install an Elipse Power Viewer on the remote computer or else copy Elipse Power Viewer's installation file
to Server's folder c:\inetpub\wwwroot. Thus, every time there is an attempt to open an Elipse Power Viewer using
Internet Explorer on a remote computer where an Elipse Power Viewer is not installed, the installation process starts
immediately.

33.5 E3Alarm
Alarms do not display in an E3Alarm. Why is this happening?

POSSIBLE CAUSES
To check an E3Alarm configuration, verify whether the Server name is correctly configured. Another possibility is the
existence of more than one Alarm Server in a Domain, which can cause trouble. Another error situation would be a
Filter configured for a non-existent Alarm Area.

SOLUTION
Make sure that there is only one Alarm Server in this Domain, and that all Alarms are correctly configured. Also check if
this configured Area exists.

How can I create a Filter for two or more Areas in an E3Alarm?


First, group these Areas into a main Area. Then, use names with the same characters at the beginning, such as
ALM1MEC, ALM1ELE, ALM2MEC, or ALM2ELE.

How do I acknowledge Alarms with a double-click?


Enable the Acknowledge Alarm option, located in the properties of the desired column in an E3Alarm, on the
Columns tab.

33.6 E3Browser
How to limit the number of records to display on an E3Browser?
This item can be configured in E3Browser's Query. Enable the Return a maximum of ... records option, specifying the
maximum number of records to return. Another option is to optimize this Query by using filters to narrow the period of
time, the number of columns or records involved, among other options. For this, please check chapter Query.

33.7 E3Chart
Is it possible not plotting a Tag value when its quality is bad, in a historical E3Chart?
Yes. By using scripts, users can configure an E3Chart like this:
Set Pen = Screen.Item("E3Chart1").Pens
Pen.Item("Pen Name").ShowBadPoints = False

Notice, however, that this solution is only valid for historical values. At run time, this value is always plotted, regardless
of Tag quality.

33.8 Historic
How to disable recording of historic records by scan?
Configure the Interval between records (ms) option on the Historic tab of Historic's properties window with a value
of 0 (zero). If users want to perform this by script, the property's name is ScanTime. Thus, values are not recorded
automatically, forcing a recording via script using the WriteRecord method.

505 Frequently Asked Questions


33.9 I/O Drivers
What do I have to do to use bits of an I/O Tag?
To use bits of an I/O Tag, users must enable I/O Tag's UseBitFields property.

How is the counting process of Block Tags and bits of Tags in Elipse Power?
The counting process considers I/O Tags and the size of Block Tags. Bits are not part of this counting process.

What is the easiest way to perform a blink in the color of a Screen object when there is an I/O
error?
Create a Digital Link between this object's ForegroundColor property and the expression TagName.Quality < 192, with
its blink option enabled. The Quality property represents the status of Tag's value quality, in OPC standard, and it may
vary from 0 (zero) to 255, and that quality is good only above 192.

How can I display I/O errors on Screen?


By enabling Viewer's View communication errors option, on the Communication Errors tab.

How can I change the default color of I/O errors in SetPoints and Displays?
Go to Viewer's properties window and change that color on the Communication Errors tab.

33.10 Libraries
When opening a Screen, there is a message declaring that an object cannot be correctly loaded

POSSIBLE CAUSE
An XControl of a Library that was being used inside this Screen was deleted, or else a Library that contains this
XControl was removed from a Domain.

SOLUTION
In the first case, if this XControl was deleted, there is no way to recover it. To fix this error, remove the ElipseX object
that is inside a Screen. In the Organizer, users can see an exclamation point over object's icon. On a Screen there is a
black square with an X inside it. In the second case, add this Library to a Domain.

When opening a Screen, there is an error message declaring that an ActiveX library cannot be
opened

POSSIBLE CAUSE
Some ActiveX objects used on that Screen were not registered and added to this computer.

SOLUTION
Register and add this ActiveX object by using the Add ActiveX option, available on the Tools menu. For this, users
must have an OCX file that contains this library.

When inserting an ActiveX control on a Screen, an error 80040112 occurred. What does it mean?

POSSIBLE CAUSE
This error indicates that the inserted ActiveX control is not licensed in this computer. During the instantiation process,
this control searches Windows Registry for its license key (HKEY_CLASSES_ROOT\Licenses) and, in case it does not
find it, returns this error. There are development license keys for ActiveX controls, as well as run time license keys.

SOLUTION
To solve this problem, users must purchase a license for this ActiveX control and register it in this computer.

Frequently Asked Questions 506


I have two Libraries in a Domain, but I cannot use them at the same time. When I register one, the
other one stops working. How can I solve this problem?
Probably, one of these Libraries was created as a copy of the other one, and thus both have the same ID. Therefore,
users must remove one of them from this Domain.

33.11 Line Printer


The Line Printer object has a configured printer but, when printing using an Elipse Power Viewer,
that printer does not print. Why is this happening?

POSSIBLE CAUSE
Elipse Power Viewer has no access to the printer configured in the Line Printer object.

SOLUTION
Please make sure that Elipse Power Viewer has access to the configured printer. This situation usually occurs in remote
Elipse Power Viewers with no access to printers installed on a server.

33.12 Links
How to create an Expression Tag in Elipse Power?
Linking an Internal Tag's Value property to this expression. This expression can be simple and may contain arithmetical
and logical operators involving constants and other Tags.

How can I change the color of an object when moving the mouse pointer over it?
Creating a Digital Link between object's ForegroundColor and MouseOver properties. The MouseOver property has a
Boolean type, and assumes a True value when the mouse pointer is over this object and False when the mouse pointer
is outside this object's area.

How can I create a multilingual application?


One way is creating an Internal Tag in Viewer for each String and link these Tags to these properties to translate, or
use Tags on scripts in case of using the Msgbox method. Then, create a table with all application Strings, where the first
column is the name of an Internal Tag created in Viewer, and each subsequent column contains a String corresponding
to a language. This table can be created in Access, for example. When opening Viewer and defining a language, load
Viewer's Internal Tags with a table of Strings corresponding to the selected language. This can be performed using a
Query object on a Screen, as in the next script.
Sub Screen1_OnPreShow(Arg)
Set rs = Item("Query1").GetADORecordset()
rs.MoveFirst
For i = 1 To rs.RecordCount
Application.Item(rs.Fields("TagName").Value).Value = _
rs.Fields(Arg).Value
' Arg is a parameter passed to the Screen
' containing the name of the column
' referring to the chosen language
rs.MoveNext
Next
End Sub

Another way is creating a Table Link in all properties with translatable content, using the same source for all Links. For
each value range of this Link, place a String referring to a different language. The source can be an Internal Tag whose
value can be defined when opening Viewer. In case of using the MsgBox method, use the same Tag as a condition to
choose which String is used.

33.13 Oracle Databases


This is a list of all possible errors that may occur when testing a connection to this type of Database.

Error = ORA-01017: invalid username/password; logon denied

507 Frequently Asked Questions


POSSIBLE CAUSE
Message generated on application log when password or user name is wrong.

SOLUTION
Check if this user exists and if password is correct.

Error = ORA-12154: TNS: could not resolve the connect identifier specified

POSSIBLE CAUSE
This client connection was not found.

SOLUTION
Check if this connection exists on the computer and if it is working using one of the network utilities provided by Oracle.

Error = ORA-02264: name already used by an existing constraint

POSSIBLE CAUSE
There is already a Database object with this name.

SOLUTION
To prevent this error, create and configure different index or primary key names in Elipse Power.

Error = ORA-01403: no data found

POSSIBLE CAUSE
This message is generated when an internal Elipse Power Query searches for Database objects and does not find
them. For example, a Historic table does not exist, thus it must be created.

SOLUTION
This is considered an error only if it persists on application logs.

Error = ORA-00001: unique constraint (SYSTEM.E3INDEX) violated

POSSIBLE CAUSE
Whenever there is an attempt to write a record where a field defined as the primary key has a duplicated value, this
writing is refused and this message is displayed. Note that a key name is displayed, in this case, SYSTEM.E3INDEX key,
as User.KeyName. Depending on the project, this error is expected, but most of the time it is important to check if this
key is adequate. These two cases illustrate that situation:
· Power Measurement Systems: Aiming to store all data from a single day, routines used for collecting admit
upper and lower tolerances in their timestamps for the collecting process. Thus, some records must be written
more than once. In this case, this error is expected
· Alarm maintenance: For this case, there may have been more than one error per second on an application. If the
E3TimeStamp field is used as a primary key, there may have been losses of some alarm occurrences, which may
lead to a misinterpretation of events. In this case, rethinking a primary key can be the adequate solution

SOLUTION
There are two ways to solve this issue:
1. Users must create a unique index for these key fields.
2. Users must check that application, so that it does not send repeated key values for recording.

Frequently Asked Questions 508


33.14 Overlaying Animations in Objects
I created a Rotation or Translation Animation on a Screen, but I decided to change it, creating a
new Animation. However, when executing this application, this object appeared as the initial
Animation, not as the current one. Why is this happening?

POSSIBLE CAUSE
This new Animation was created without removing the old one.

SOLUTION
To solve this issue, follow these procedures:
1. Right-click the desired object and select the Remove animation option.
2. Apply the new Animation.

NOTE
Do not try to remove an Animation from an object using the Organizer, because this action removes the object itself.

33.15 Remote Domains


How do Remote Domain licenses work?
The E3 Server executing the Client Domain, as well as the one executing the Server Domain, must have a specific license
for Remote Domains. When this license exists, the E3 Server executing as Server Domain starts accepting an unlimited
number of external connections from other Domains. Likewise, in case of a Client E3 Server, users can establish an
unlimited number of connections. For more information about limitations of Elipse Power's Demo mode, please check
topic Limitations of Demonstration Mode.

What happens when communication between a Client and a Server Domain drops?
When an error situation happens, all Links from the client application referring the Domain are disconnected. Displays,
for example, show an I/O error message, according to Elipse Power Viewer settings, as well as all
Application.GetObject methods referring the Remote Domain fail, that is, cause script errors. When this problem is
solved, Links should reconnect automatically. However, Application.GetObject methods must be executed again.

A Client Domain can view Alarms from other Remote Domains?


Yes, users can view and acknowledge alarms in Remote Domains by using, in E3Alarm's AlarmServer property, the
syntax REMOTE_DOMAIN:ALARM_SERVER, where REMOTE_DOMAIN is an alias given to a Remote Domain on the
Remote Domains tab of Domain configuration and ALARM_SERVER is the name of an Alarm Server.

A Client Domain can open Screens from other Remote Domains?


No, it cannot.

A Client Domain can use users from other Remote Domains?


No, it cannot.

A Domain can connect to several other Domains?


Yes, it can, as seen on the next figure.

509 Frequently Asked Questions


Connecting one Domain to several other Domains

A Domain can connect to a Domain in Hot-Standby?


Yes, it can. Consider the architecture of the next figure.

Frequently Asked Questions 510


Connecting one Domain to a Domain in Hot-Standby
By using Remote Domains this architecture is possible. There is an I/O Domain, in Hot-Standby, communicating with
devices. This data is read by another Domain, also in Hot-Standby, which would be the server for client computers
(Elipse Power Viewers).

An E3 Server can be configured as Server and Client Remote Domain at the same time?
No, it cannot. This may cause circular links, that is, A » B » C » A, where Domain A has Domain B as its Client, Domain
B has Domain C as its Client, and Domain C has Domain A as its Client.
Even if these Links are not circular, Link writings, or other synchronous operations, may cause deadlocks among E3
Servers. To prevent this situation, it is advisable to change the application so that a Domain works only as a Client or as
a Server, but never as Client and Server at the same time.

Remote Domains can be configured in computers that do not belong to a Microsoft network
domain?
That depends. The Domain file is always opened by the E3 Server, which executes exclusively in the SYSTEM account.
Thus, users must open a sharing for the SYSTEM user, which arrives on the other computer as a Null Session message.
This Null Session can be configured to be accepted as an anonymous user. Therefore, configure an anonymous user
sharing according to the articles Configuring Remote Domains in machines that are not part of a Microsoft network
domain and Configuring Remote Domains in machines that are not part of a Microsoft network domain (Windows
XP/Windows XP).
However, there is an incompatibility identified in Windows 7 or later. To prevent this situation, it is advisable that the
files of the remote application be copied and pasted on the same folder on the local computer. On Remote Domain
settings, configure the Domain File field to point to the copied Domain, which is on the same Elipse Power Studio
computer. The Main server field must be configured with the name of the remote computer. This way, users can user
AppBrowser to create all Links via Elipse Power Studio and, when the application is executed, these values are
retrieved from the remote computer.

Windows DCOM protocol is used by Elipse Power for communication between Remote Domains
and Elipse Power Viewer?
No, these interactions use REC protocol, Elipse Software's proprietary protocol.

511 Frequently Asked Questions


What is REC protocol? How can I view data traffic in Elipse Power's log?
REC is a protocol developed by Elipse Software for communication between different Elipse Power modules. REC
packets have no fixed size. The amount of data passing through this protocol can be viewed on the same Elipse Power
logs and it is indicated by the amount of data, in KB, sent or received.

What are the necessary configurations for REC protocol to work?


1. Elipse Power server must be executing on the destination computer.
2. Firewalls on the destination and local computers must allow TCP/IP connections on port 6515.
3. Connection parameters (time-out, ping, and heartbeat) must be compatible with network's speed, reliability, and
latency between the local computer and the destination computer.

What is a heartbeat? Where it is configured? What is its impact on a system?


A heartbeat is a mechanism through which a Client Domain sends periodic messages to check whether a Server
Domain's connection is active, and waits for a response.
To configure a heartbeat time, the Domain must first be loaded. After loading the Domain, right-click E3 Admin icon on
Windows Notification Area and select the Domain - Options option. On E3 Admin - Domain Configuration window,
select the Remote Domains tab. Select a server, click Advanced, and configure the Heartbeat interval (ms) field.
When the double of this interval is reached without the Client receiving a message from the Server, the system
understands that the Server failed or is offline, and forces an immediate disconnection. If both ping and heartbeat are
turned off simultaneously, a Remote Domain connection failure becomes harder to detect, when the Server fails. In
these cases, it may take 40 seconds or longer before a Client Domain indicates that the connection was lost. It is
advisable that both Domains remain turned on whenever possible.

What can be done if an excessive amount of ping errors are occurring on the network?
If this happens, please check the quality and performance of the network and follow the instructions of article Network
settings in Elipse E3 for networks with high latency, low bandwidth and/or packet loss. However, please notice that the
default configuration of Remote Domains, and REC protocol in general, is not adequate for WAN (Wide Area Network)
networks, only for LAN (Large Area Network) networks.

What are synchronous and asynchronous calls? Which one is the best alternative in terms of
performance?
In a synchronous communication, both sender and receiver must remain in sync, and a request is only answered after
receiving a response for a writing or a request. In an asynchronous communication, on the other hand, data is sent
intermittently and does not depend on the result of any request to start the next request.
When a synchronous call is generated, the process awaits indefinitely for a response to that call. When an
asynchronous call is generated, on the other hand, no return is expected.
For example, consider an architecture of Remote Domains where there is an Operation Center connecting to several
Remote Domains. If one of the Domains is locked and a synchronous call is triggered to that Domain, the whole
Operation Center locks.
To prevent that situation, configure the Call time-out (ms) option, available in Elipse Power since version 4.6,
individually for each Remote Domain connection. If a synchronous call takes longer than this time-out value, the channel
is closed and unlocks the process that triggered that call.

33.16 Reports
How can I add the current date and time on an Elipse Power Report?
There are at least two alternatives to solve this:
· Add a Text object on the Page Header Section and on the Page Header Section's OnFormat event, type the
following script (Label1 is Text's name):
Report.Sections("PageHeader").Controls("Label1")._
Caption = Now

· Create a CurrentTime-type Demo Tag. On Report's header or footer, users must insert a SetPoint object and, in
the DataField property, type Tag's full name, such as "Data.DemoTag1.Value". Configure the desired date format.

Frequently Asked Questions 512


This can be performed by right-clicking an object and setting its properties, or else directly typing a format in the
OutputFormat property, in the Properties List. An example of date format is "MM/dd/yyyy hh:mm:ss".

I have a Report that displays a Query result with a filter by date. When this Report is generated, its
Query does not return all values configured via script for these variables. How can I solve this
problem?
Check, in the script that configures or accesses this Report, if after configuring these values for Query variables a
LoadReport method was not triggered, since this method loads a Report with all settings performed in Elipse Power
Studio. Use only once the LoadReport method in a script, loading a Report to a variable, by using the Set command.

How can I correctly execute a Report that uses the CopyConfig method to copy all configurations of
an E3Chart on a Screen to it?
The CopyConfig method does not copy values of query variables, this must be performed using scripts inside a chart.
Pens configured in an E3Chart on Screen are of type Real.

How can I create a filter by date on a Report?


Create a SQL query in a Report filtering by start and final date. On a Screen that generates this Report, users must
execute the configured SQL query, passing the start and final date values. The script of a button on the Screen where
this Report is generated, for example, can be implemented this way:
StartDate = CDate(Screen.Item("StartDateText").Value)
EndDate = CDate(Screen.Item("EndDateText").Value)
Set Report1 = Application.LoadReport("Report1")
Set Query = Report1.Item("Query1")
Query.SetVariableValue "StartDate", (StartDate)
Query.SetVariableValue "EndDate", (EndDate)
Report1.PrintPreview()

How to display dates used as a filter on a Query of a Report's Page Header?


First, add two SetPoints on Page Header, one to display the start date and another one to display the end date, and
create a script that passes those values loaded on Screen SetPoints, and transferred to that Query, to these two
SetPoints. The script to be created on the Page Header object, on Report's OnBeforePrint event, can be as follows:
Set data = Application.GetFrame().Screen
Report.Sections("PageHeader").Controls("Field5").Text = _
data.Item("StartDateText").Value
Report.Sections("PageHeader").Controls("Field6").Text = _
data.Item("EndDateText").Value

Then, link two Internal Tags to Screen's SetPoints where dates are specified. Link these Tags to Report's SetPoints.

How do I print two Reports on distinct printers?


Create the following script on Report's OnReportStart event:
Sub OnReportStart
Report.Printer.DeviceName = "Printer Name"
End Sub

How do I use an OnError script event to display an error message when printing a Report fails?
Report's OnError event does not allow executing scripts inside it, having only internal purposes. This means that users
cannot change this error message, nor execute any other procedure on this event.

33.17 Screen Objects


I cannot rotate a picture inserted using the Gallery. Why is this happening?
Users must convert it to a symbol. This allows using commands and options available to native Elipse Power objects,
such as using a Rotation.

33.18 SQL Server Databases


This is a list of all possible errors that may occur when testing a connection to this Database:

513 Frequently Asked Questions


ErrorLocal = Open Connection ErrorError #0x80004005 Description:[DBNETLIB]
[ConnectionOpen(Connection()).]SQL Server does not exist or access denied. (Source: Microsoft
OLE DB Provider for SQL Server) (SQL State: 08001)(NativeError:17)

POSSIBLE CAUSE
Wrong Server name on a Database Server configuration, or this user has no access to that database.

SOLUTION
Check the server name and if this user has permission to connect to that database.

ErrorLocal = Open Connection ErrorError #0x80040E4D Description: Login failed for user
'WrongUser'.(Source: Microsoft OLE DB Provider for SQL Server) (SQL State: 42000)(NativeError:
18456)

POSSIBLE CAUSE
Wrong user name or password.

SOLUTION
Use an user registered on that database or check the password used.

ErrorLocal = ExecuteSql ErrorError #0x80040E14 Description: There is already an object named


'E3Index' in the database. (Source: Microsoft OLE DB Provider for SQL Server) (SQL State: 42000)
(NativeError: 1750)

POSSIBLE CAUSE
There is already an object (table, key, or index, among others) on this Database with the same name.

SOLUTION
Change this object's name.

33.19 Stored Procedure


How do I execute a Stored Procedure in Elipse Power?
The easiest way is by creating a Query in Elipse Power with the command to execute the Stored Procedure and
passing, if necessary, values to it. The command that must be configured on this Query is the following:
Exec StoredProcedureName <%var1%>, <%var2%>, ...

Where the syntax of variables must be the < (less than) character, the % (percent) character, the name of the variable,
the % character again, and finally the > (greater than) character. Values var1 and var2 are the variables the Stored
Procedure is waiting for, such as start and end dates. If the Stored Procedure is not waiting for any variable, create the
SQL command without variables. To execute this Query, use the Execute method.

NOTE
Elipse Power Query's CursorLocation property must be configured as 1 - clClient.

33.20 Tab Order


What is the relationship between creation order of objects on a Screen and their tab order at run
time?
When creating a new object on a Screen, it receives the first position in tab order, and it is sorted in descending order
relative to the other Screen objects. For more information about this issue, please check topic Tab Order among
Objects.

Frequently Asked Questions 514


Headquarters Branch in Taiwan
Rua Mostardeiro, 322/Cj. 902, 1001 e 1002 9F., No.12, Beiping 2nd St., Sanmin Dist.
90430-000 — Porto Alegre — RS 807 — Kaohsiung City — Taiwan
Phone: (+55 51) 3346-4699 Phone: (+886 7) 323-8468
Fax: (+55 51) 3222-6226 Fax: (+886 7) 323-9656
E-mail: [email protected] E-mail: [email protected]

Check our website for information about a representative in your city or country

www.elipse.com.br
kb.elipse.com.br
forum.elipse.com.br
www.youtube.com/elipsesoftware
[email protected]

Gartner, Cool Vendors in Brazil 2014, April 2014.


Gartner does not endorse any vendor, product or service depicted in its
research publications, and does not advise technology users to select only
those vendors with the highest ratings. Gartner research publications
consist of the opinions of Gartner’s research organization and should not
be construed as statements of fact. Gartner disclaims all warranties,
expressed or implied, with respect to this research, including any warranties
of merchantability of fitness for a particular purpose.

You might also like