Sei sulla pagina 1di 195

Elipse Power Tutorial

© 2011 Elipse Software Ltda. All rights reserved.


19/05/2011 - Version 3.5
Table of Contents
1 Presentation 6
1.1 The Training 6
2 Starting the Application 8
2.1 Files 9
2.2 Elipse Power Studio 9
2.3 Running a Domain 11
2.4 Exercises 11
2.5 Notes 15
3 Electrical Modeler 16
3.1 Exercises 16
3.2 Notes 29
4 Importing Data Objects 30
4.1 Importing 30
4.2 Notes 33
5 Measurement Templates 34
5.1 Analog Measurement Templates 34
5.2 Discrete Measurement Templates 34
5.3 Voltage Colors 36
5.4 Notes 37
6 Creating Measurements 38
6.1 Exercises 38
6.2 Notes 43
7 Operation Diagram 44
7.1 Elipse Power Libraries 44
7.2 Frames 44
7.3 Screens 47
7.4 Importing Screen Objects 49
7.5 Screen Navigation 51
7.6 XPowerDisplay 52
7.7 Notes 54
8 Command Templates 55
8.1 Notes 57
9 Creating Commands 58
9.1 Interlocks 62
9.2 Notes 64
10 Communication 65
10.1 Exercises 65
10.2 Notes 82
11 Alarms 83
11.1 Alarm Server 83
11.2 Alarm Configuration 83
11.3 E3Alarm 87
11.4 Exercises 88
11.5 Notes 94
12 Security 95
12.1 Users 95
12.2 Groups 96
12.3 Permissions 96
12.4 Protection 98
12.5 Exercises 99
12.6 Notes 101
13 Data Storage 102
13.1 Database 102
13.2 Alarm Server 104
13.3 Storage 104
13.4 Notes 109
14 Query 110
14.1 Creating a Query 110
14.2 E3Browser 112
14.3 Exercises 113
14.4 Notes 121
15 Reports 122
15.1 Report Objects 124
15.2 Alarm Report 125
15.3 Notes 127
16 Data Server 128
16.1 Rules for Naming Tags 129
16.2 Exercises 129
16.3 Notes 131
17 Links 132
17.1 Link Types 132
17.2 Boolean Values 136
17.3 Exercises 137
17.4 Notes 139
18 Screen Objects 140
18.1 Exercises 140
18.2 Notes 142
19 Scripts 143
19.1 Defining Scripts 143
19.2 Events 151
19.3 Methods 153
19.4 Properties 154
19.5 Exercises 154
19.6 Notes 156
20 E3Chart 157
20.1 Pen Configuration 158
20.2 Exercises 159
20.3 Notes 165
21 ElipseX Libraries 166
21.1 Creating User Libraries 167
21.2 When to Create an ElipseX 169
21.3 Elipse Power Libraries 170
21.4 Customizing 170
21.5 Importing Screens 171
21.6 Exercises 171
21.7 Additional Exercises 176
21.8 Notes 177
22 Hot-Standby 178
22.1 Hot-Standby Settings 178
22.2 Exercises 181
22.3 Notes 183
23 Remote Domains 184
23.1 Configuration in Studio 184
23.2 Sharing the Server Domain Folder 184
23.3 Licenses 189
23.4 Link Syntax 190
23.5 Local Alias 190
23.6 Access Permissions 191
23.7 Exercises 191
23.8 Notes 194
CAPÍTULO

1
Presentation

Since its foundation in 1986, Elipse Software has been developing powerful computational
tools to create industrial and power management systems.

Headquartered in Porto Alegre, with branches in São Paulo, Curitiba, Belo Horizonte, United
States, and Taiwan, Elipse is a Brazilian company with an expressive share in the foreign
market, working in countries like Germany, Russia, Sweden, Argentina, and Chile, among
others.

During all those years of expertise, we developed a large number of solutions for power
generation, transmission, and distribution areas, providing products to create systems like
control centers, telemetry, automation of substations, protection supervisory, automation of
transformers, protocol converters, and load shedding.

Elipse Power is a complete platform to create and develop applications with supervisory,
control, analysis, and management functions of electrical systems, it can be used for small
applications, like automating a single substation, as well as large applications, like EMS (
Energy Management System) or DMS (Distribution Management System) systems.

The whole experience acquired with power sector, together with the new concept of Smart
Grids, was used to develop a specific product for the electrical power market.

1.1 The Training


The learning sequence being used in this tutorial reflects what we at Elipse Software consider
a set of the best practices in the development of supervisory and control applications for
power systems.

This tutorial follows a hypothetical application, which presents the most important resources
of Elipse Power software. This hypothetical application does not cover all development
possibilities offered by this tool. However, the amount of quality information presented in this
first contact with the software is enough to learn how to use it with autonomy to create
applications.

The training sequence is the following:

· Creating a Domain in Elipse Power

· Electrical Modeling of the system

· Importing Electrical Models

· Standardizing the types of Analog Measurements

6 Presentation
· Standardizing the types of Discrete Measurements

· Standardizing colors in the application

· Creating Analog and Discrete Measurements in Elipse Power

· Creating Commands in Elipse Power

· Communication

· Alarms

· Security

· Data storage

· Database queries

· Reports

· Links

· Screen objects

· Scripts

· Charts

· Libraries

· Hot-Standby

· Remote Domains

Your feedback is very important for us. At the end of the training course, you will be asked to
evaluate several aspects of the training course, just like the quality and the amount of
information transmitted in lessons and about the tutorial, the instructor's work and the
quality of our facilities. Any suggestions are welcomed by the development team of this
tutorial.

Elipse Software wishes you an excellent training course and a good experience with Elipse
Power!

Presentation 7
CAPÍTULO

2
Starting the Application

After installing the software, your computer will have a program group called Elipse Power,
and the icon to access Elipse Power Studio. When Elipse Power is launched, the system
opens a dialog box with the following options:

Elipse Power initial dialog box

The available options are:

Available options in the Elipse Power initial dialog box

OPÇÃO DESCRIÇÃO
Start E3 Studio Starts Elipse Power Studio, but does not open any Domain.

Create a new Domain Creates a new Domain using the Elipse Power Application Wizard. It
asks for the name and path of the new Domain.

Open an existing Opens an existing Domain among the last edited ones. By clicking
Domain Other files, you can browse for a Domain on a specific directory.

8 Starting the Applic ation


2.1 Files
Elipse Power works with three types of project files, described on the next sections.

2.1.1 Projects
Projects contain object definitions, Tags, Screens and other application components. .prj files
are created using the Standard Application and Blank Application options. The first option
creates a pre-configured project with some basic objects and a project creation wizard, while
the second option creates an empty project, which can be implemented by the user.

2.1.2 Libraries
Libraries contain object definitions created by the user (ElipseX) to use in projects. These
libraries can be reused in different projects and maintain a link with the application. This
means, if the user modifies the library, all objects of this library are automatically updated in
all projects.

2.1.3 Domain Configuration


It stores four types of information: configuration options; a list of .prj and .lib files; server
configurations, which runs the Domain, and security configurations (users and permissions).
Without this file, a project cannot be executed in Elipse Power, as shown later in this tutorial.

2.2 Elipse Power Studio

Starting the Applic ation 9


2.2.1 Organizer
The Organizer allows you to view the application as a whole, in a simple and organized way. It
helps editing and configuring all objects involved in the system using a hierarchical options
tree. It has two viewing modes, Domain and Explorer.

Organizer

The Domain mode shows only information about open objects belonging to the Domain. This
information is divided into four groups: Settings, Objects Library, View, and Server Objects.

The Explorer mode shows all projects and libraries currently open in Elipse Power Studio,
whether they belong to the Domain or not. The objects are shown inside the project or library
they belong to, sorted out alphabetically.

2.2.2 Properties List


The Properties List is a window that shows all the properties of the object in use, allowing its
configuration in a simple and fast way. Whenever a property is configured in the Properties
List, its value does not change automatically, except if you build an association (this is shown
further in this tutorial). The Properties List can be accessed using the View - Properties List
menu or the equivalent button in the Toolbar.

10 Starting the Applic ation


Properties List

2.3 Running a Domain


To execute or view a project in Elipse Power, it is necessary to start the Domain. For this, these
are the existing buttons in Elipse Power Studio:

· Execute application: Saves all project and library configurations, and executes the
Viewer

· Run or stop Domain: Starts or stops Domain execution

· Execute or stop Power Viewer: Executes or stops Viewer execution

2.4 Exercises

2.4.1 Domain
To create a new application in Elipse Power, you must first create a Domain, which is
responsible for gathering all application projects.

1. Execute Elipse Power Studio (Start - Programs - Elipse Software - Elipse Power - Elipse Power
Studio), select the Create a new Domain option, and press the OK button. The Application
Wizard is opened, and it helps you to create a new Domain.

Starting the Applic ation 11


Application Wizard

2. Click Next. The following screen appears:

Application type

3. Select the Standard application option. After indicating the directory where the application
must be saved and its name (according to the previous figure), click the Next button. The
following screen appears:

12 Starting the Applic ation


Domain

4. Click Next again. The following screen appears:

Viewer resolution

5. Configure the screen resolution and click Next.

6. Answer No to the question "Do you want to install an I/O driver?". Click Next.

7. Answer Yes to the question "Do you want to store data in a database?". Keep the suggested
filename, the database will be changed to SQL later. Click Next.

8. Answer Yes to the question "Do you want an Alarm Server in your application?" and check
the Store alarm events in the database. Click Next.

9. At last, the following screen appears:

Starting the Applic ation 13


Finishing the Wizard

10.Click Finish. Elipse Power Studio is then opened.

Elipse Power Studio

With these procedures, the new Domain is ready to be configured.

14 Starting the Applic ation


2.5 Notes

Starting the Applic ation 15


CAPÍTULO

3
Electrical Modeler

The Elipse Power provides a complete tool for drawing and modeling electric power networks.
This tool was developed to offer to the user a unique environment, which allows viewing, as
well as registering devices of the power system, their interconnections and parameters.
Hierarchical Levels

To make it easy to navigate and create diagrams and model parameters, the tool provides
three distinct hierarchical levels. They are:

· Screen for viewing and editing the system: this screen is the most comprehensive level
provided by the modeling tool.

· Screen for viewing and editing substations: in this level, you can insert all devices forming a
substation, just like breakers, transformers, generators, capacitors, reactors, and bars.

· Screen for viewing and editing feeders: in this level, you can insert all devices forming a
feeder, just like breakers, switches, switch fuses, transformers, generators, capacitors, and
reactors.

3.1 Exercises

16 Elec tric al Modeler


3.1.1 Electrical Model
The next step to develop the application is creating an electrical model of the system to
supervise. The example presented on this Tutorial is formed by two voltage lowering
substations, both connected to a feeder, which unifilar diagram is presented on the next
figure.

Electrical model of the system

1. To perform the modeling of this substation in Elipse Power Studio, select the
PowerConfiguration object in the Organizer, according to the figure below.

PowerConfig object

2. Double-click the selected object and load it. Select the Electrical Modeler tab, according to
the figure below.

Elec tric al Modeler 17


Electrical Modeler

3. Click the modeling area (the white one). A dialog box appears asking where to save the file
storing the electrical model created in Elipse Power. Select the directory and file name,
according to the figure below.

Electrical model file

4. Click Open. The Elipse Power Studio should present a development environment similar to
the figure below.

18 Elec tric al Modeler


Development environment

3.1.2 Substation
First, let's create and configure a Substation.

1. Select the tool Substation and click the drawing area. A Substation is inserted in the
system, according to the figure below.

Insert Substation

2. Select the Substation and change its Name property to SE1.

3. Double-click the Substation. This opens the modeling environment of the Substation. Let's
model the Electrical Bay presented on the figure below, composed by an Electrical
Generator and a Breaker. Before starting to model, activate the grid and the alignment

Elec tric al Modeler 19


of the elements relative to the grid .

Generator

4. To model the Bay, first select the tool Generator , and click the drawing area. Rename
the Generator to GEN. Change the BaseVoltage property of the device to 69kV. Rotate the
inserted object so that it looks like the figure below.

GEN

5. Select the tool Breaker and insert a Breaker into the model. Rename it to 5201. Next,
select the tool Connector . Connect the device terminals according to the figure below.

Breaker

6. Select the tool Graphical Vertex , click the Connector and place the Vertex so that it
looks like the figure below.

20 Elec tric al Modeler


Graphical Vertex

7. Select all devices of the modeling area and click the icon . This creates an Electrical Bay
containing these elements. Select the Bay (the hatched area) and rename it to SYSTEM.
The model should look like the figure below.

Bay

8. Select the tool Busbar , and insert a bar under the Bay SYSTEM. Rename the bar to
BARRA_69k. Also insert a new Breaker, renaming it to 5202. Connect both Breakers to the
Bar. The model should look like the figure below.

Busbar

3.1.3 Breaker
Now, let's create the low and high voltage Breakers of the Transformer.

1. Insert two Breakers, configuring their names as 5203 and 5204, respectively. Selecting the
tool Two-Winding Transformer , create the Transformer T1. Change the ConnectionType2
property to WyeGrounded, the NominalApparentPower property to 15 MVA, and the
BaseVoltage2 property to 13,8 kV. The Breaker 5203, from the high voltage module, must be

Elec tric al Modeler 21


connected to the bar BARRA_69k and to the Terminal 1 of the Transformer T1. The
Breaker 5204, on the other hand, must be connected to the Terminal 2 of the Transformer,
according to the figure below.

Two-Winding Transformer

2. Insert a new Busbar, naming it Barra_13_8k. Connect the Breaker 5204 to it.

3. Insert two other Breakers named 5205 and 5206, connecting them to that new Busbar.

4. With the tool Capacitor , insert a Capacitor named C1 and connect it to the Breaker
5205.

Capacitor

With this, we finished the configuration of the Substation SE1, and from now on let's create
and configure the second Substation.

22 Elec tric al Modeler


3.1.4 Substation SE2

1. Move back to the level System by using the button. Insert a new Substation, naming it
SE2.

Substation SE2

2. Open the new Substation by double-clicking its symbol.

3. Insert two Breakers named 5207 and 5208, two Busbars named Barra_69k and
Barra_13_8k, and finally a Two-Winding Transformer named T2.

4. In the Transformer, change the ConnectionType2 property to WyeGrounded, the


NominalApparentPower property to 15 MVA, and the BaseVoltage2 property to 13,8 kV.
Place and connect these components according to the figure below.

After finishing the configuration of the Substation SE2, let's create the Feeders.

Elec tric al Modeler 23


3.1.5 Feeders

1. Return to the level System by using the button. Select the tool Feeder , and insert
two Feeders named SE1_AL1 and SE2_AL1.

Feeders

Before configuring the Feeders, let's create the interconnections between Substations and
Feeders.

1. With the tool Connector , connect the elements according to the figure below.

2. Open the Substation SE1 and connect the Breaker 5206 to the Feeder SE1_AL1. Make
the connection according to the figure below.

3. Now open the Substation SE2 and connect the Breaker 5208 to the Feeder SE2_AL1.
Make the connection according to the figure below.

24 Elec tric al Modeler


After finishing this interconnection, let's configure the Feeders.

3.1.6 Feeder Configuration

1. Back to the level System by clicking the button, open the Feeder SE1_AL1. You will have
two elements connected to this Feeder, the Substation SE1 and the Feeder SE2_AL1.

2. With the tool Switch , insert a Switch named 3101. Change the NormalState and State
properties to 0 – ssOpen. Also insert a Load, by using the tool Distribution Load . Name
that Load as LOAD_1. This time, instead of using Connectors between components, let's
use the tool Branch . Insert Branches B1-B2, B2-B3, and B3-B4, according to the
figure below.

3. Define the length (in meters) of each Branch by configuring their Length property. For the
Branch B1-B2, specify 5000. For B2-B3 and B3-B4, specify 500 for each one.

4. Return to the level System by clicking the button. Open the Feeder SE2_AL1. Just like
in Feeder SE1_AL1, in the Feeder SE2_AL1 are displayed the elements to which it has
connections, the Substation SE2 and the Feeder SE1_AL1. Insert a Load by using the tool
Distribution Load . Name that Load as LOAD_2. With the tool Branch , insert the
Branches B1-B2 and B2-B3, according to the figure below.

Elec tric al Modeler 25


5. Define the length (in meters) of each Branch by configuring their Length property. For the
Branch B1-B2, specify 500 and, for B2-B3, 5000. Now that we finished the configuration of
Substations and Feeders, let's create the connection between both Substations.

3.1.7 Transmission Line

1. Return to the level System by clicking the button. With the tool Transmission Line ,
insert a Transmission Line between Substations SE1 and SE2. Name this Line as
LT_SE1_SE2. The model should look line the figure below.

2. Inside the Substation SE1, connect the Breaker 5202 to the Transmission Line
LT_SE1_SE2, according to the figure below. Use the tool Graphical Vertex to set the
connection between the Breaker and the Transmission Line.

3. Repeat this procedure in the Substation SE2, connecting the Breaker 5207 to the
Transmission Line LT_SE1_SE2.

26 Elec tric al Modeler


So, we finished the system modeling. The final model of Substations and Feeders can be seen
on the figures below.

Elec tric al Modeler 27


28 Elec tric al Modeler
3.2 Notes

Elec tric al Modeler 29


CAPÍTULO

4
Importing Data Objects

Elipse Power deals with the Electrical Model and data objects of an application separately.
While the Electrical Model is stored on an XPD file and has information about system
components and their connectivity, data objects are stored on PRJ files, and allow adding a
series of programming to them, just like scripts, links to I/O Tags, Alarms, Historics, etc.

4.1 Importing
After registering in the Electrical Modeler, the system components can be imported to PRJ files
using an import tool.

1. To import the electrical model created in the previous chapter, select the
PowerConfiguration object and right-click it, selecting the option Electrical Model - Import
Data Objects, according to the figure below.

Import Data Objects

2. The following window is then opened.

30 Importing Data Objec ts


Creating Objects

3. Select the option Create a new project for each new object and click OK. A new *.prj file is
automatically created for each Substation, Feeder, and Transmission Line in the same
directory of the Domain, with the same name of the objects created in the Electrical
Modeler. The figure below shows how the Elipse Power object tree looks like after
importing.

Importing Data Objec ts 31


Elipse Power objects

For each component created in the Electrical Modeler (*.xpd file), an equivalent data object is
created in the project file. Data objects instantiated in the *.prj file allows creating and linking
components such as Measurements, Commands, Alarms, Historics, Animations, and Screen
objects, according to the next chapters.

32 Importing Data Objec ts


4.2 Notes

Importing Data Objec ts 33


CAPÍTULO

5
Measurement Templates

In the next development phase of the application, you must define the measurement
templates. There are two types of templates available, Analog and Discrete.

5.1 Analog Measurement Templates


In the next example, let's create templates of the Analog Measurements used in the
application. The first step is to identify all measurements needed, and then register them all.
You can start that analysis by using a map I/O points.

With this list of analog measurements, you access the Analog tab, in the PowerConfiguration
object. There you have all Analog Measurements registered in the system. To register a new
one, you must click the Add button and configure the Name, Electrical Phase, Description,
and Unit properties of this Measurement. Create the Measurement Oil Temperature,
according to the following configuration.

· Name: TOL

· Electrical Phase: -1 - epNone

· Description: Oil Temperature

· Unit: °C

· Sort Out: 1000

The result should look like the figure below.

Analog Measurement

5.2 Discrete Measurement Templates


Similar to Analog Measurements, there are also Discrete Measurements. Such measurements
describe a discrete behavior for values received from field, allowing to apply directly in the
measurement a conversion between the value received from the field to a semantics and a
default value inside the application. In addition to this, it is possible to keep several
conversions for the same measurement, thus allowing to use that measurement with
different devices.

34 Measurement Templates
Let's configure a measurement to represent the Local or Remote status of a Switch.

1. This is done by accessing the Discrete tab in the PowerConfiguration object and clicking the
Add button. Next, let's fill in the Name, Electrical Phase, Description, and Sort Out
properties, and the conversions in the following way:

Add Discrete Measurement

· Name: LR

· Electrical Phase: -1 - epNone

· Description: Local/Remote Switch

· Sort Out: 1000

Conversions

· Conversions: let's use the Default conversion, and create the semantics needed.

2. Create a new semantics by using the button, configuring the Description field as
"Remote", Application Value as 0, and Source Value as 0.

3. Create a new semantics by using the button, configuring the Description field as "Local",
Application Value as 1, and Source Value as 1.

At the end, you will have the following configuration:

Measurement Templates 35
Configuration of the Discrete Measurement

5.3 Voltage Colors


You must register the voltages to use in the application, as well as their associated colors. For
this, access the Voltages tab, in the PowerConfiguration object.

Voltage Colors

These colors can be changed any time while editing, and then all devices associated to that
voltage automatically receive the new color.

36 Measurement Templates
5.4 Notes

Measurement Templates 37
CAPÍTULO

6
Creating Measurements

In the next development phase of the application, you must define the measurements to use.
There are two types of measurements available, Analog and Discrete.

6.1 Exercises
Now, let's perform the configuration of each system device. The first step is to select the
device in the Organizer. Then, each one of the meters is added and configured.

6.1.1 Analog Measurements


In this exercise, let's add Analog Measurements in the Breaker 5201, which belongs to the
Bay System of the Substation SE1. For this exercise, let's use only Measurement Sources of
type Operator through the whole application, where data is entered by the user, with no need
to configure any I/O Driver. As a tip, all Measurements configured must already have their
Measurement Sources of type Operator set to some value, allowing that, when running the
application, there are loaded values.

1. Select the folder Terminal2 of the Breaker 5201, in the Bay System.

Breaker 5201 of the Bay


System

2. Access the contextual menu of the Terminal2, by right-clicking it, and select the option
Insert - Analog Measurement.

38 Creating Measurements
Insert Analog Measurement

3. Select the Measurement you just created (named AnalogMeasurement1) and change
the following properties:

· Name: IA

· ActiveSource: 2 - stOperator

· MeasurementType: *CurrentA (by using the combo box)

· UnitPrefix: 0 - upNone

Properties of the Measurement

4. Select the Measurement Source, of type Operator, configure the data type of the Value
property as Double, and configure a value for this property.

5. Following the same previous steps, let's create a new Analog Measurement called TOL of
type TOL (Oil Temperature) in Measurement of the Transformer T1.

Creating Measurements 39
6.1.2 Discrete Measurements
Now, let's configure the Discrete Measurements in the Breaker 5201. The first Measurement
to configure is the Position of the Local/Remote Switch.

1. Select the folder Measurements of the Breaker 5201.

2. Accessing its contextual menu, select the option Insert - Discrete Measurement.

Insert Discrete Measurement

3. Configure the Discrete Measurement the following way:

· Name: LR

· ActiveSource: 2 - stOperator

· MeasurementType: LR (by using the combo box)

Properties of the Measurement LR

NOTE: As in the Analog Measurement, you have the option to insert a Measurement Source of

40 Creating Measurements
type SCADA and associate it to an I/O Tag.

4. Repeat the creation of the Discrete Measurement LR for all Breakers.

5. In the Breaker, access the Measurement BreakerPosition in the folder Measurements


to receive its value from the Operator source. For that, change the ActiveSource property to
Operator.

6. Access the Measurement Source of type Operator of BreakerPosition and configure


the value type to Integer.

Configure the type of value

7. Repeat the configuration of the Measurement BreakerPosition for all Breakers.

8. Access the Switch 3101 of SE_AL1 using the Organizer.

Switch 3101

9. In the Switch 3101, access the Measurement SwitchPosition to receive its value from
the Operator source. For that, change the ActiveSource property to Operator.

Creating Measurements 41
10.Access the Measurement Source of type Operator of SwitchPosition and configure the
type of value to Integer.

42 Creating Measurements
6.2 Notes

Creating Measurements 43
CAPÍTULO

7
Operation Diagram

After configuring the data structure, you can start developing the operation diagram of the
Substations. In order to make it easy to create operation Screens, the Elipse Power allows the
diagram of the electrical model, created in the PowerConfiguration object, to be used as the
basis to import all devices to a Screen in a *.prj file. This tool uses a set of graphical libraries,
capable of interacting with the data object and it is distributed alongside with Elipse Power.
The main function of the Screen Importer is to generate the first version of the Screen, because
some small adjustments might be needed.

7.1 Elipse Power Libraries


Before starting any programming, you must add the graphical libraries used by Elipse Power
when creating the operation Screens.

1. Copy the files PowerControls.lib and PowerDisplay.lib, available in the subdirectory


DemoPower of the directory where Elipse Power was installed, to the same directory of
your Domain file.

2. In Studio, access the menu File - Open Project and select the file PowerControls.lib in the
same directory of your application. You will be asked if you want to add that Library to the
active Domain, so answer yes. Follow the same procedure for the file PowerDisplay.lib.

7.2 Frames
The Frame is the object that organizes and structures the interface, creating composed views
for the user inside the main Viewer window or inside an internet browser.

In the Frame, you can create Splitters to view different screens at the same time. Each Splitter
can also show an URL, an Excel spreadsheet, a Word document, or a PDF file.

The disposition of Splitters inside the Frame can be horizontal or vertical. Other Splitters can
be inserted inside each other. For each pair of Splitters created by the Split Horizontal and
Split Vertical options, there is always a Main Splitter and a Secondary Splitter. Only the former
has values explicitly defining its position, the latter will only get the remaining values.

The first step is assemble the structure where Screens are presented to the operator. For this,
let's create a Frame containing three distinct areas:

· Upper area containing a menu Screen, with all navigating functionalities of the system. This
Screen is fixed

· Lower area containing a summary of current active alarms. This Screen is fixed

44 Operation Diagram
· Central area containing the operation Screens

To create that structure, follow these steps:

1. Select the Viewer and Frames object and create a new Frame in the project
Elipse_Power_Tutorial.prj.

Insert Frame

2. Right-click the Frame area and create a horizontal splitter.

3. Select the upper splitter and configure the following properties:

· Name: Menu_Area

· SplitDockPosition: 1 - dockTop

· SplitValue: 10%

Properties of Menu_Area

4. On the lower area, create a horizontal splitter, selecting the central splitter. This one must

Operation Diagram 45
have the following configuration:

· Name: Central_Area

· SplitDockPosition: 1 - dockTop

· SplitValue: 92%

Properties of Central_Area

5. Select the lower splitter and rename it as Alarm_Area.

Properties of Alarm_Area

6. Configure this Frame1 just created as the initial Screen of the Viewer object. For this, right-
click the Viewer object and access its properties. In the E3 Viewer tab, configure the Initial
Screen or Frame field to "Frame1".

46 Operation Diagram
Viewer properties

At this time, the structure of Screen presentation has been just created. Let's create the
Screens to view on each part.

7.3 Screens
The Screen is the basic interface object with the user. The following objects can be inserted
into it:

· Primitive shapes of the graphical editor (straight lines, circles, rectangles, polygons, etc.)

· ActiveX controls supplied by Elipse (E3 Alarm, E3Chart, E3Browser)

· ActiveX controls supplied by other vendors

· Non-vector images (BMP, JPG, GIF, etc.)

· Vector images (WMF and EMF files, etc.)

· Standard Windows controls (Lists, Text editors, Selection Lists, etc.)

· Elipse Power graphical libraries (XControls) composed of any of the above objects

A Screen uses the Himetric standard for measuring size and coordinates, which is given in
1/100 mm and not in pixels. In this system, if a positive value is added to x, the x coordinate
moves to the right. When we add a positive value in y, the y coordinate lowers, which is the
data origin for the upper left corner of the Screen.

Operation Diagram 47
Screens can be opened in Full-Screen mode, occupying all the Viewer area, or as Typical
Screens, occupying only the height and the width size of the coordinates..

Design tab of the Screen

First, let's create the Menu and Alarm Screens.

1. Access the Screens object and add a new Screen in the project Elipse_Power_Tutorial.prj.

Insert Screen

2. With the Wizard for creating Screens, define the name of the Screen as Menu_Screen,
configure it to be opened in the Splitter called Menu_Area and check the option Set as
initial Splitter's Screen.

48 Operation Diagram
Configuring the size of the Screen

3. Create a Screen called Alarm_Screen, configuring it to be opened on the Splitter


Alarm_Area.

4. Configure the background color of these Screens as you wish.

7.4 Importing Screen Objects


In this step, let's transform the building of the electrical modeler into application Screens.

1. Select the PowerConfiguration object and, by right-clicking it, select the option Electrical
Model - Import Screen objects.

Import Screen objects

2. In the opened window, select the Substation SE1 and the project SE1, choosing the option
New Screen.

Operation Diagram 49
Importing Screen objects

3. The Wizard for creating Screens is started. The following configurations must be performed:

· Configure the Splitter where the Screen must be opened as the Splitter named
Central_Area. At this time the width and height are automatically filled in, based
on the previous configuration

· Check the option Set as initial Splitter's Screen

· Name: SE1_Screen

50 Operation Diagram
Configuring the size of the Screen

4. After clicking OK, the Wizard finishes the Screen configuration and returns to the Screen
import interface. At this time you must confirm the Substation and the Screen where it is
going to be imported and click OK.

5. Repeat this procedure to import SE1_AL1, SE2, and SE2_AL1, creating a new Screen for
each import in its respective project.

6. Check the imported Screen, and confirm that the devices are on the same position created
in the electrical model, as well as the link with the data object is ready. Check mainly the
SourceObject and Orientation properties, which are responsible for linking the Screen
object to the data object, and also to what direction the Terminal 1 of the device is pointing
to, respectively.

7.5 Screen Navigation


Let's use an object already made for navigating through Screens. On the second part, we learn
how to customize this object.

1. Copy the file Tutorial_Power.lib to the same directory of your Domain file.

2. In Studio, access the menu File - Open Project and select the file Tutorial_Power.lib on the
same directory of your application. You will be asked if you want to add this Library to the
active Domain, then answer yes.

3. On Menu_Screen, insert an object xcOpenScreen. Change the following properties:

· Caption: SE1

· StrScreen: SE1_Screen

· strFrame: Central_Area

4. Repeat the previous procedure for each Screen of the application.

Operation Diagram 51
5. Execute the application and test its new functionalities.

7.6 XPowerDisplay
Using the XPowerDisplay library, let's add Displays containing Measurements on the
operation Screen. This object displays the value, formatting and measurement unit, allowing
to select which Measurement Source to use.

1. On SE1_Screen add, next to the Breaker 5201, an XPowerDisplay object. For this, right-
click anywhere on the Screen area, and choose the option Insert - XPowerDisplay.

Insert XPowerDisplay

2. Select the object just created.

XPowerDisplay object

3. Configure the Measurement property with the path of the Measurement IA, present in the
Terminal 2 of the Breaker 5201 in the Bay System.

52 Operation Diagram
Propriedade Measurement

4. Add the XPowerDisplay object to all Measurements you want, placing them next to the
device containing that information. At this time, you can run the application and check its
functionality.

Operation Diagram 53
7.7 Notes

54 Operation Diagram
CAPÍTULO

8
Command Templates

All Commands are also centralized on a single place, making it easy to configure them. The tool
to create these Commands is in the Commands tab of the PowerConfiguration object.

In this example, let's configure the command for opening and closing Breakers. For this, you
must gather information about name, description and value to sent to I/O points. Let's create
a Command called LR.

1. Click the button and choose the option Discrete Command. Configure the following
properties:

· Name: LR

· Electrical Phase: 1 - epNone

· Description: Local/Remote Command

· Sort Out: 1000

2. Create the Command Units by using the button, according to the figure below.

Command Templates 55
Command Units

56 Command Templates
8.1 Notes

Command Templates 57
CAPÍTULO

9
Creating Commands

Now let's configure a Command to change the position of a Breaker, sending commands to
open or close it. Let's add the Command in the Breaker 5201, following these steps:

1. Select the Breaker 5201, in the Bay System and access its contextual menu, selecting the
option Adicionar Commands.

Add Commands

2. Select the folder Commands and, using its contextual menu, add a Discrete Command.

58 Creating Commands
Insert Discrete Command

3. This Command just added must have the following properties changed:

· Name: cmdBreakerPosition

· CommandType: *BreakerPosition (by using the combo box)

· Conversion: (default)

Command properties

4. In case of the Breaker Command, let's use two units, one for sending a command to open,
and another one for sending a command to close. Locate the CommandUnit1.

Creating Commands 59
Command Unit

5. Access the CommandUnit1 and change the following properties:

· Name: Open

· CommandName: Open (by using the combo box)

· OperateWriteTag: SE1.System.[5201].Measurements.BreakerPosition.Operator.Value
(using the AppBrowser)

Properties of the Command Unit

6. Access the object cmdBreakerPosition using its contextual menu and choose the
option Inserir - Unidade de Comando.

60 Creating Commands
Insert Command Unit

7. This new Command Units must have the following configuration:

· Name: Close

· CommandName: Close (chosen using the combo box)

· OperateWriteTag: SE1.System.[5201].Measurements.BreakerPosition.Operator.Value
(using the AppBrowser)

8. Select the folder Commands and, using its contextual menu, add a Discrete Command.

9. This Command just added must have the following properties changed:

· Name: cmdLR

· CommandType: LR (using the combo box)

· Conversion: (default)

10.Configure two Command Units for the LR command, Remote and Local, linked to SE1.
System.[5201].Measurements.LR.Operator.Value and to their respective CommandName.

11.After performing these settings, you can send commands to the system. To test these
commands, let's execute the application and, using the operation Screen, access the
devices. When right-clicking them, a menu with options is opened, where you can choose
Commands and the command type to send.

12.Repeat these command configurations for all Breakers.

Creating Commands 61
9.1 Interlocks
You can also add an interlock warning programming to the Commands, the Interlocks. The aim
of an interlock is to inform the system operator that a certain Command is blocked, and it use
is configured by the application. By definition, the interlock does not block the Command, only
informs that it is blocked. With this information, the application may simply warn the
operator, as well as block the Commands.

In this example, let's configure the Command Unit for opening the position command of the
Breaker 5201, so that it informs that the Command cannot be sent in case the Breaker is
already opened. For this, let's follow these steps:

1. Add a group of Interlocks using the contextual menu of the Unit Open of the Command
cmdBreakerPosition, by choosing the option Add Interlocks.

Add Interlocks

2. Select the folder Interlocks just created and, using its contextual menu, choose the option
Insert - Interlock.

Insert Interlock

62 Creating Commands
3. In this object, let's change the following properties:

· Name: Intertravamento_Abrir

· ComparisonOperator: 0 - coEqualTo

· ComparisonValue: 0

· Measurement: SE1.System.[5201].Measurements.BreakerPosition

Properties of the Interlock

4. For the Close Interlock you must follow the same steps, changing the value of the
ComparisonValue property to 1.

As soon as this configuration is finished, you can access in the Screen objects information
about which Interlocks exist in each device, as well as its current status. For this, at run time,
just click the device and choose the options of Commands and Interlocks.

Creating Commands 63
9.2 Notes

64 Creating Commands
CAPÍTULO

10Communication

Elipse Power allows communication with data acquisition devices, controllers, PLCs
(Programmable Logic Controllers), RTUs (Remote Terminal Units), or any another type of
device, by using I/O Drivers or OPC Servers, according to the type of device or the type of the
appropriate communication. I/O Drivers and OPC servers work in this case as the variable
servers, that is, they provide information from external world to Elipse Power, so that process
supervisory can be performed. The involved variables in the process are known as Tags and can
be of various types, according to the intended use.

10.1 Exercises
The exercises about communication are made under instructor guidance, because every place
where this course happens may count on different devices to illustrate this chapter.
Nevertheless, we can show the procedure for I/O Tag configuration, using an Elipse Driver.

10.1.1 Driver IEC 61850


1. Right-click the folder Drivers and OPC and choose Insert I/O Driver in - Elipse_Power_Tutorial.
prj.

2. Select the driver file (IEC61850.dll) in the dialog box opened for selecting files.

3. The configuration interface is opened automatically or by using the Driver settings button, in
the Driver toolbar.

Communic ation 65
Settings window of the Driver

4. In the IEC61850 Device Config tab, you must add a new Server. Click the Add button.

5. In the Comtrade/Commands tab, check the option Use Single Tag Command Alias. This
options tells the Driver to create, during the Tag Browsing process, a single Tag for sending
commands. If this option is unchecked, the default is a block with five elements.

66 Communic ation
Comtrade/Commands tab

6. Change the name of the Driver object to DriverIEC61850.

10.1.1.1 Tag Browser

NOTE: To retrieve Tags, you must have the configuration file or have the device connected.

1. In case the Tag Browser dialog box does not open automatically, use the button.

2. In the Tag Browser window, select the folder Online, then the item IED00001 (name of the
server added). In the dialog box, click Yes.

Dialog box

3. Select the Tags you want and drag them to the left.

Communic ation 67
Simulator: current in phases

68 Communic ation
Simulator: state of switches (Obj1CSWI1 and Obj2XSWI1)

Close the window after selecting the folders.

To execute commands in the Switch, you must enable writing in the Operate Tag. Locate the
Tag and select the Writing option.

Writing of the Operate Tag

10.1.2 Driver IEC 104 Master/Slave


Let's configure two Drivers in the application, a Slave and a Master. The Slave Driver simulates
values of an equipment, and the Master Driver accesses these values.

10.1.2.1 Slave

1. Right-click the folder Drivers and OPC and choose Insert I/O Driver in - Elipse_Power_Tutorial.
prj.

2. Select the driver file (IEC870.dll) in the dialog box opened for selecting files.

3. The next window is opened:

Communic ation 69
Extra configurations

4. Select, in the Protocol field, the option IEC 870-5-104 SLAVE.

5. In the Setup tab, choose in the Option List of the Physical Layer property the physical
interface to use, in this case Ethernet.

Physical layer

70 Communic ation
6. Configure the time the Driver waits for a response from the device in the Timeout field. The
default is 1000 ms.

7. After choosing the option Physical Layer, all other tabs are disabled, just configure the
chosen interface, Ethernet.

8. Select the option Listen for connections on port and configure it with port 2404.

10.1.2.1.1 Tag Browser

1. In case the Tag Browser dialog box does not open automatically, open it using the
button.

2. In the Tag Browser window, drag the I/O Block IO.IOKitEvent from folder General to the
left. This Block returns information about connection status.

Tag Browser

3. Close the window after selecting the variables needed.

10.1.2.1.2 I/O Tags

1. Insert an I/O Block of size 4 named CommandIndication.

2. This Block receives information about a Single Command for address 101. Configure
parameters N and B of the Block to 1, 4, 45, 101.

3. The next three Tags are of type Read Event from Cache (N2 = 5), the N3 parameter indicates
the data type to send to the Master and the N4 parameter is the address of the variable.
Communic ation 71
· SinglePoint (Address 101): 1, 5, 1, 101

· DoublePoint (Address 102): 1, 5, 3, 102

· Step (Address 103): 1, 5, 5, 103

Tags of DriverSlave

4. In the toolbar of the Driver, choose the item Activate Communication to test configurations.

5. Write values to Tags SinglePoint, DoublePoint, and Step.

10.1.2.2 Master

1. Right-click the folder Drivers and OPC and choose Insert I/O Driver in - Elipse_Power_Tutorial.
prj.

2. Select the driver file (IEC870.dll) in the dialog box opened for selecting files.

3. The next window is opened:

IEC 870-5-104 Master

4. Selecione, no campo Protocol, a opção IEC 870-5-104 MASTER.

72 Communic ation
5. Na aba Setup, escolha na lista de opções da propriedade Physical Layer a interface física
que será utilizada, no caso Ethernet.

6. Configure o tempo que o Driver aguardará uma resposta do equipamento no campo


Timeout. O padrão é 1000 ms.

7. Após a escolha da opção Physical Layer, todas as outras abas serão desabilitadas, sendo
necessário apenas configurar a interface escolhida.

8. Na aba Ethernet, digite no campo IP o valor 127.0.0.1 e em Port o valor 2404.

10.1.2.2.1 Tag Browser

1. In case the Tag Browser dialog box does not open automatically, open it using the
button.

2. In the Tag Browser window, drag the I/O Block IO.IOKitEvent from folder General to the
left.

3. Close the window after selecting the variables needed.

10.1.2.2.2 I/O Tags

1. Right-click the Driver and access the option Insert - I/O Tag or click the Add button on the
Driver toolbar.

2. The first Tag to insert is a general Tag to control the station, the SlaveState, which
indicates whether the slave is connected or not.

3. Configure parameters from N1/B1 to N4/B4, according to the Driver manual (1, 992, 0, 0).

Tag SlaveState

4. Next, insert a Block of size 8, named ReadEventLog. This Tag returns a log of all ASDUs
received by the slave.

5. Configure the N parameters of the Block ReadEventLog to 1, 99, 0, 0.

6. The next three Tags are of type Read Event from Cache (N2 = 5), the N3 parameter indicates
the data type to read and the N4 its address.

· SinglePoint (Address 101): 1, 5, 1, 101

· DoublePoint (Address 102): 1, 5, 3, 102

· Step (Address 103): 1, 5, 5, 103

Communic ation 73
7. Tags Execute and Select are command sent by the master, where the Execute
command must be sent to confirm the execution of the previously selected command, using
the Select command.

Tags of the Master Driver

8. Set the scan time for each Tag according to your needs.

10.1.3 Driver DNP Master/Slave


Let's configure two Drivers in the application, a Slave and a Master. The Slave Driver simulates
values of an equipment, and the Master Driver accesses these values.

10.1.3.1 Slave

1. Right-click the folder Drivers and OPC and choose Insert I/O Driver in - Elipse_Power_Tutorial.
prj.

2. Select the driver file (DNPSlave.dll) in the dialog box opened for selecting files.

3. The next window is opened:

74 Communic ation
Driver DNP Slave

4. In the DNP tab, define the address in the item My DNP Address. The default is 1.

5. In the Setup tab, choose in the Option List of the Physical Layer property the physical
interface to use, which in this case is Ethernet.

6. Configure the time the Driver waits for an answer from the device in the Timeout field. The
default is 1000 ms.

7. After choosing the option Physical Layer, all other tabs are disabled, you only have to
configure the chosen interface. From now on, the Driver is configured to access the physical
layer.

8. In the Ethernet tab, select the option Listen for connections on port and specify the port. The
default DPN port is 20000.

Communic ation 75
Ethernet tab

9. Rename the Driver object to DriverSlave.

10.1.3.1.1 Tag Browser

1. In case the Tag Browser dialog box does not open automatically, open it using the
button.

2. In the Tag Browser window, drag the I/O Block IO.IOKitEvent from folder General to the
left. This Block returns information about the connection status.

76 Communic ation
Tag Browser

3. Close the window after selecting the variables needed.

10.1.3.1.2 I/O Tags

1. Right-click the Driver and access the option Insert - I/O Tag or click the Add button in the
Driver toolbar.

2. First, let's insert a Tag for reading a 32-bit analog output in the address 5. For this you must
configure the Tag with the following N parameters: 0, 1, 4001, 5.

3. Now let's insert a Tag for reading a 32-bit analog input in the address 0. For this you must
configure the Tag with the following N parameters: 0, 2, 3002, 0.

Tag DriverSlave

Communic ation 77
10.1.3.2 Master

1. Right-click the folder Drivers and OPC and choose Insert I/O Driver in - Elipse_Power_Tutorial.
prj.

2. Select the driver file (DNPMaster.dll) in the dialog box opened for selecting files.

3. The next window is opened:

Driver DNP Master

4. In the DNP tab, you can choose and configure some parameters like:

· Perform Class 0 Integrity On Startup: Performs a Class 0 request when starting the
Driver, which gets the whole device database, updating all Tags. Event Tags, in this
case, have the TimeStamp property as the time of data reception, and the Quality
property is 216.

· Enable Unsolicited on Startup: Indicates if the Driver must send the command for
enabling unsolicited messages when starting communication.

· Scan for Events Every X ms: Sends a reading command of Class 1, 2, or 3 to check if there
are events on the device. Indicate the time interval to repeat the command.

· Perform Class 0 Integrity every X ms: Performs a Class 0 request cyclically, just to check
the Driver database, only verifying if the device database is identical. The default time
for this is 10 or 15 minutes.

5. Configure the Default Slave Address field with the address of DriverSlave, 1.

78 Communic ation
6. In the Setup tab, choose in the option list of the Physical Layer property the physical
interface to use, in this case use Ethernet.

7. Configure the time the Driver waits for a device answer in the Timeout field. The default is
1000 ms.

8. In the Ethernet tab, define the IP address, in this case the local IP is 127.0.0.1, and in the
item Port define the port to connect, which must be equal to the configured port of the Slave
(20000).

Ethernet tab

9. Rename the Driver object to DriverMaster.

10.1.3.2.1 Tag Browser

1. In case the Tag Browser dialog box does not open automatically, open it using the
button.

2. In the Tag Browser window, drag the I/O Block IO.IOKitEvent from folder General to the
left. This Block returns information about the connection status.

3. Inside the folder DNP, drag Tags SlaveActive and SlaveOnOff. The Tag
SlaveActive checks the Slave status and SlaveOnOff allows turning the Slave off, to
interrupt the communication.

Communic ation 79
Tag Browser

4. Close the window after selecting the variables needed.

10.1.3.2.2 I/O Tags

1. Right-click the Driver and access the option Insert - I/O Tag or click the Add button in the
Driver toolbar.

2. First, let's insert a Tag for reading a 32-bit analog output in the address 5. For this you must
configure the Tag with the following N parameters: 0, 2, 4001, 5.

3. Now let's insert a Tag for reading a 32-bit analog input in the address 0. For this you must
configure the Tag with the following N parameters: 0, 1, 3002, 0.

Tag DriverMaster

80 Communic ation
10.1.3.3 Activating Communication

1. To test communication, you must first activate the DriverSlave, by clicking the
Activate/deactivate communication in the toolbar.

Activate/deactivate communication

2. For each existing Tag in this Driver, write an initial value.

3. Next, activate the communication of the DriverMaster. In the Reading Tag should
appear the typed value in the DriverSlave.

Communication activated

Communic ation 81
10.2 Notes

82 Communic ation
CAPÍTULO

11Alarms

The Elipse Power Alarm module basically consists of two units whose functionality is logically
connected:

· Alarm Server: Organizes the way events and alarms are handled

· Alarm Configuration: The object responsible for creating and configuring alarm sources

11.1 Alarm Server


The Alarm Server object centralizes all object alarms. There you can find the total active
alarms of the application (acknowledged or not). It is also responsible for reporting alarm
events for all connected Viewers, as well as sending these events to Databases.

IMPORTANT: A Domain can only have one Alarm Server object, and its presence is mandatory
for alarm verification.

Using the Configuration tab, you can specify if the alarms are stored on the Database. Alarms
can be viewed in an E3Alarm or in an E3Browser, Screen objects seen later on this Tutorial.

11.2 Alarm Configuration


The Alarm Configuration object is where alarm sources are created. To insert this object in a
project, right-click the Organizer, choose the Insert - Alarm Configuration option, and then the
name of the project.

11.2.1 Area
The Area object allows grouping a set of Alarm Sources, as well as other Alarm Areas. This
facilitates the management, operation, and monitoring of a set of related alarms, allowing, for
example:

· Filtering the visible alarm set in the summary

· Enabling or disabling a set of Alarm Sources

· Acknowledging a set of Alarm Sources

Alarms 83
· Checking the amount of active or unacknowledged alarms of a set of Alarms Sources

In case you need it, new Areas can be inserted inside other areas.

11.2.2 Alarm Sources


Alarm Sources define all information relative to alarm conditions. In every Alarm Source you
can configure its limits, the message relative to the event, its severity, as well as the need of
acknowledging this event or not. All Alarm Sources have the following general properties:

PROPERTY DESCRIPTION
Message text This is the text linked to that alarm condition,
which appears in the viewing object (E3
Alarm), Database, etc. It may contain up to
255 characters.

Severity This indicates the severity of the alarm. It


may be Low, Medium, or High. Severity is
used for filtering and sorting messages.

Need Ack This indicates that the alarm must be


acknowledged by the operator in order to be
removed from the alarm list in an E3Alarm, or
if it is automatically acknowledged when the
variable leaves an alarm condition.

Return message Whenever an Alarm Source leaves the alarm


condition, this message is displayed on
viewing objects.

There are several types of Alarm Sources that can be inserted into an Alarm Area.

84 Alarms
11.2.2.1 Analog

Allows monitoring analog variables, by specifying up to four alarm levels, which are LOLO (very
low), LO (low), HI (high), and HIHI (very high).

Analog Alarm Source

11.2.2.2 Digital

Allows monitoring a digital variable (or expression), by specifying an alarm when in a rising
edge (in -1 or True) or in a falling edge (in 0 or False).

Digital Alarm Source

Alarms 85
11.2.2.3 Dead Band

Allows monitoring an analog variable by specifying a maximum difference limit (dead band
value), relative to a reference value (Setpoint).

Dead Band Alarm Source

11.2.2.4 Rate of Change

Allows monitoring really fast variations in a process variable. The Rate of Change Alarm Source
uses its values specified in variable units per second.

Rate of Change Alarm Source

86 Alarms
11.3 E3Alarm
The E3Alarm object is a tool for monitoring active or unacknowledged alarms in a system. By
using this object, you can verify alarm status in the system, as well as acknowledging them
manually. To use this object, right-click the working area, and then select the Insert - E3Alarm
option.

E3Alarm

In the General tab of the properties of an E3Alarm, you can specify information regarding the
Alarm Server and its filters.

General tab

Alarms 87
11.4 Exercises
Let's add an Alarm Summary in the application.

11.4.1 Alarm Summary


1. Add an E3Alarm object filling the whole are of the Alarm_Screen.

2. Access the properties of this object and, in the General tab, configure the name of the Alarm
Server as AlarmServer1. Change the option Filter by type to Alarms and events.

E3Alarm properties

11.4.2 Power Alarms


In this example, let's add two Alarm Sources, one Digital, linked to the Breaker position, and
one Analog, linked to the Current of Phase A.

1. Select the Measurement BreakerPosition in the folder Measurement of the Breaker


5201 in the Bay System, right-click it and select the option Insert - Digital Alarm.

88 Alarms
Insert Digital Alarm

2. Right-click the Alarm, select the option Properties and, on the opened screen, choose the
Digital tab and configure it as follows:

· Digital Alarm: check it

· Value: 0 (first you must change the data type to Integer)

· Message text: Breaker 5201 Open

· Return message: Breaker 5201 Closed

Properties of the Digital Alarm

Let's insert an Alarm of type Analog, to monitor the behavior of Current in Phase A. For this,

Alarms 89
follow these steps:

1. Select Measurement IA in the folder Terminal2 of Breaker 5201 in Bay System, right-click
it and select the option Insert - Analog Alarm.

Insert Analog Alarm

2. Right-click the Alarm just created, select the option Properties and, in the opened window,
choose the Analog tab, configuring it as follows:

· HI: check this option

· HIHI: check this option

· Hi Limit and HiHi Limit: configure them with real values

· Hi - Message text: Breaker 5201 with High Current

· HiHi - Message text: Breaker 5201 with Very High Current

· Return message: Breaker 5201 with Normal Current

Properties of the Analog Alarm

90 Alarms
11.4.2.1 Default Link

An alternative to configure alarm messages is using a Default Link. This way, configuration
becomes easier, allowing the Source, after configured, to be simply copied and its alarm limits
configured.

In the following example, let's configure a Digital Alarm Source, where the Area name is the full
path of the Measurement and as messages for the Alarm the following structure:
SE_Name.[BAY_Name].Device_Name.Location – Measurement_Description –
Measurement_Semantics

Onde:

· SE_Name: name of the Substation where the Measurement is

· Bay_Name: name of the Bay where the Device with the Measurement is. In case it is
not in a Bay, nothing is displayed

· Device_Name: name of the device

· Location: Measurement location, if it is in Terminal 1, 2, 3, or in folder Measurements

· Measurement_Description: uses the description in the PowerConfiguration object for


this type of Measurement

· Measurement_Semantics: uses the semantics corresponding to the value received


from field

For this, you must create three Simple Links in the Alarm Source.

1. Access the Links tab of the Alarm Source, right-click it and choose the option Properties.

2. Create a Simple Link in the AreaNameOverride property, configuring Parent.PathName


as the Source.

3. In the DigitalMessageText and DigitalReturnMessageText properties, you must also create a


Simple Link pointing to Parent.Parent.PathName & " - " & Parent.
Caption & " - " & Parent.ValueCaption.

4. After configuration, Links should be similar to the ones displayed in the next figure.

Alarms 91
Links of the Digital Alarm

For the Analog Alarm Source, you have the same structure for the Area name. For the alarm
messages, however, let's use this structure:
SE_Name.[Bay_Name].Device_Name.Location - Measurement_Description - Measurement_State

Where all fields are similar to the Digital Alarm, except for Measurement_State, which
informs if the alarm is in LOLO, LO, HI, or HIHI.

1. Access the Links tab of the Alarm Source, by right-clicking it and choosing the option
Properties.

2. Then create a Simple Link in the AreaNameOverride property, configuring Parent.


PathName as the Source.

3. In the HIHIMessageText, HIMessageText, LOLOMessageText, LevelReturnMessageText, and


LOMessageText properties, you must also create a Simple Link pointing to Parent.
Parent.PathName & " - " & Parent.Caption & " - Very High",
configuring its state as Very High, High, Very Low, Low, or Normal, according to your needs.

92 Alarms
Links of the Analog Alarm

Alarms 93
11.5 Notes

94 Alarms
CAPÍTULO

12Security

Elipse Power has access control to Screens, Alarms and Domains on a list of users, where each
name has a password and a login name. Depending on the configured options, system allows
access to registered users or unlimited access to project Screens.

12.1 Users
When using the Users option, you can configure information referring to users who have access
to the system or not. To use this resource, it is necessary to access the File - Users menu and
click the Users tab.

Users tab

Sec urity 95
IMPORTANT: After configuring security, only listed users will have access to the system.

12.2 Groups
The Groups option allows creating groups whose features are common to all of its members
(users). A group can also belong to other groups, but a group cannot belong to a group that
belongs to itself, that is, a circular reference. To use this resource, it is necessary to access
the Files - Users menu and select the Groups tab.

Groups tab

12.3 Permissions
The Permissions tab allows configuring user permissions and groups for Screens, Alarms,
Domains, and the Viewer. A permission check consists of information that the member of the
group has about a command that acts upon a specific object.

For example, User1 has permission to use Open command on the Screen1 object. Each
group member can deny or enforce a command permission, regardless on the group they
belong to. This way, they will not take into account information about the group. They can also
decide to always use information defined for the group. If group information is conflicting, the
following order is used: Deny > Enforce > Indifferent.

96 Sec urity
Permissions tab

Sec urity 97
12.4 Protection
Elipse Power has a protection tool for projects and libraries. Using this item, you can protect
file content against non-authorized editing, viewing, and execution. To use this resource, right-
click the project name in the Organizer and select the Protection option.

File protection

This option has two protection types, Edition and Execution.

· Edition Protection: It protects a file against non-authorized changes or views. This resource
is used to prevent a certain library or object from accidental changes, or restricted
procedures from a developer from being copied. Elipse Power has a control over editing
these project or library files.

· Execution Protection: This option is used to protect a file against non-authorized execution.
For this, it is necessary to request the recording of a protection password in the hardkey,
which is performed by Elipse Software. This protects non-authorized copies of the project,
for example.

98 Sec urity
When a .lib or .prj file is opened in Elipse Power Studio, it starts showing a gray icon with a
padlock indicating that it is protected and this content cannot be accessed. To access file
content, right-click the icon and select Open with password. After typing the password and the
system has granted access, the icon becomes colorful , indicating the accessibility of the
file.

IMPORTANT: The implemented protections cannot be undone in case of password loss.


Therefore, when protecting a certain file, you must keep the password in a safe place. This
guarantees that you will be able to use this file when needed.

12.5 Exercises
Let's see how to configure users in an Elipse Power Domain and how this resource can be used
to inhibit or grant access to Screens, controls, alarms, etc.

12.5.1 Users
1. In the File menu, select the option Users.

File - Users menu

2. Access the Groups tab and create two user groups, called Administrators and Operators.

3. In the Users tab, create three users. Be careful with upper and lower case on the user
names.

Sec urity 99
User data

4. Configure one of the users to belong to the Administrator group and the other two to belong
to the Operators group.

12.5.2 Permissions
1. On the Permissions tab, select the option Groups. Block one Screen for the Operators group.

2. In user permissions, grant access to one of the users in the Operators group to the blocked
Screen for that group.

12.5.3 Login
1. In the Menu_Screen, insert an XControl xcLogin from the library Tutorial_Power.

2. Execute the application and test its functionalities.

100 Sec urity


12.6 Notes

Sec urity 101


CAPÍTULO

13Data Storage

Data Storage in Elipse Power is used to keep project information using Historics, Formulas,
and Alarms. It has support to MDB (Microsoft Access), Oracle, and Microsoft SQL Server.

13.1 Database
1. First, let's configure the access to the SQL Server database. By using the Organizer, access
the contextual menu of the folder Databases, choosing the option Insert Database in -
Elipse_Power_Tutorial.prj.

Insert Database

2. Select the object just created, Database1 and, using its contextual menu, access its
properties. In the window opened, the following configuration must be performed:

· Database: 2 - stSqlServer

· Server: .\SqlExpress

· Database: ElipsePower_Training

· Network Library: 0 - Default

· User: provided by the database manager

102 Data Storage


· Password: provided by the database manager

Properties of the Database

3. Click the Test Connection button. If all configurations are correct, the following message is
displayed:

Successful connection

NOTE: These configurations are only valid for training at Elipse Software. If this is not your
situation, please use the configurations provided by the database manager.

Data Storage 103


13.2 Alarm Server
1. Access the properties of the Alarm Server to configure it to record data on disk, by filling in
the following fields:

Properties of the Alarm Server

2. Click the Fields button and select all information you want.

3. Click the Create table button. With this configuration, Elipse Power already has access to
the configured database, also allowing to record alarms on the Alarms table of the
database.

13.3 Storage
The Storage is a historian module of Elipse Power developed to improve database usage,
making an information to be stored occupying the least possible space.

There is a whole set of specific functionalities for this module, like pre-built queries and data
compression algorithms, among others. Using this tool, you can recover all changes in process
variables, thus occupying the minimum space on database.

Using a Storage is strongly recommended for processes where the goal of recording is to follow
trends, which need to keep essential information to the process. Through a widely spread
mathematical algorithm, the Storage can provide relevant information of a certain process,
occupying less space on disk than data recorded by a periodical Historic.

104 Data Storage


On processes where data must be precise, like measurements used for input billing (water,
power, or gas), or processes where data must be summed on a period, using conventional
Historics is recommended.

13.3.1 Functionality
Storage recording is performed the following way:

· After defining the table, data is recorded according to these configurations. If there is a
variation on the quality of the Tag, data is also recorded.

· Data is not recorded only if the variation occurred on a period less than the minimum
programmed.

As new data is obtained to the variables, an algorithm for record checking interprets the
sequence and decides whether each point is stored or not.

This checking, however, only occurs for analog fields. For text and digital fields, any value or
quality change is enough for recording.

For each type of magnitude stored, a set of tables is generated, one for analog Tags, another
one for texts, and a third one for digital Tags. This way, each Storage can manage up to seven
tables (backup), in case you specify that three Tag types must be stored:
<TableName>_Fields
<TableName>
<TableName>_Text
<TableName>_Bit

13.3.2 Configuration
When the Storage is created on the Screen, a list of definitions for recording fields is displayed.

Storage fields

For further queries on data, all searches are performed using the Tag or property path being
stored (the Source field). The Name property is only used in case the Source field contains an
expression. Thus, if expressions are not used in the Source field, there is no need to worry
about the name.

Let's create a Storage object and configure it to store system information.

1. Insert a Storage object in the project elipse_power_tutorial.prj. This is done by accessing


the contextual menu of the Database object and choosing the option Insert Storage in.
Change its name to StoragePower.

Data Storage 105


Insert Storage

With the Storage created, let's add information to store. Let's add the variables corresponding
to the position of Breakers and Switches, in addition to the oil temperature in the
Transformer.

2. On the object StoragePower, insert a field and select the Value property of the
Measurement BreakerPosition of the Switch 5201, present in the Bay System of the
Substation SE1. The configuration must be performed the following way:

· Source: SE1.System.[5201].Measurements.BreakerPosition.Value

· Type: 3 - Integer

Storage fields

3. The same procedure must be performed with the other position measurements of the
Breaker and Switch position.

4. Now, let's configure the information of oil temperature of the Transformer to be stored.
Let's add a new field in the Storage, pointing to that measurement:

· Source: SE1.T1.Terminal1.TOL.Value

· Type: 0 - Double

106 Data Storage


Storage field

As soon as all fields are created, let's perform the configurations of what database and what
table will be used for recording this data.

5. Access the properties of the object StoragePower and configure the following options in
the Storage tab:

· Banco de Dados: BancoDados1

· Nome da Tabela: MedidasPower

Storage properties

6. Click Create Table. The window below should be displayed:

Data Storage 107


Structure successfully created

108 Data Storage


13.4 Notes

Data Storage 109


CAPÍTULO

14Query

The Query object helps in the process of defining queries in the application's Database. Every
time Elipse Power needs to search for data in the Database, it is necessary to send a
command in order to know which data is needed for that object. For this search, every time
that an application needs to record or to search for stored data in a Database, commands in
SQL (Structured Query Language) format are sent to the database.

The Query presents a friendly interface that allows constructing SQL queries using a graphical
interface and the immediate results of the generated SQL code. The Query allows showing the
last data from n days, hours or months, initial or ending date and queries, depending on the
implemented filter.

The Query Configuration Wizard is responsible for creating the text that makes the filter or the
query, but it is not necessary for the user to know implementation details such as dates, etc.
To use this resource, right-click the project Screen and select the Insert - Query option.

NOTE: When a Report, an E3Chart, or an E3Browser object is created, a Query object is


automatically added to it. However, you can insert a Query into a Data Folder or onto a
Screen and also use its data via scripts.

14.1 Creating a Query


1. Defining a Query starts when the user selects the Database Server where the Query
retrieves data.

Defining the Database Server

2. After defining the Database, a new window is opened with the tables that were found,
allowing their selection.

110 Query
Selecting tables

3. Select the tables which are part of the Query and click the Add button.

4. In the Fields tab, you can add fields returned by the Query, as well as define filters and
sorting.

5. In the Variables tab, the variables created for filters are displayed.

6. In the Visualize tab, you can preview the Query.

7. In the SQL tab, you can view and edit SQL code.

Window for configuring the Query

The previous window can be accessed by right-clicking the Query object and selecting the

Query 111
option Configure.

14.1.1 Creating and Accessing Variables


In the configuration window of the Query, you can add filters directly into the fields. These
filters can be formed by variables defined by script, using the SetVariableValue method of the
Query. The way to declare variables depends on the data type they represent, as follows:

· Number: <%Variable_Name%>

· String: '<%Variable_Name%>'

· Date and time: #<%Variable_Name%>#

14.2 E3Browser
An E3Browser is an ActiveX control (developed by Elipse Software) used to view data stored in
a Database generated by Elipse Power or by any other software. You can configure Queries
using filters of several data types and set colors for each column, among other settings. This
object is used for viewing Historics, Alarms or every existing table in the Database.

E3Browser

To use this resource, insert an E3Browser in the project by right-clicking the working area and
selecting the option Insert - E3Browser.

112 Query
Insert E3Browser

An E3Browser uses the Query object to help the user in the process of defining queries on the
application database.

14.3 Exercises
Let's view alarm data stored in the Database as a table, using an E3Browser.Let's create a
Screen to view alarms stored in the database.

1. Insert a new Screen in the project Elipse_Power_Project called Event_Screen to be


opened in the Central_Area.

2. Insert a navigation button in the Menu_Screen to open that Screen.

3. Configure the Screen color as you want.

14.3.1 E3Browser

1. Insert an E3Browser on Event_Screen.

2. To configure data displayed by the E3Browser, double-click it and select the Query tab.

3. Select Query1 and click the Configure button.

Query 113
Query tab

4. Select the Database containing the table to query.

5. Choose the Alarms table.

6. Select all fields in the Alarms table.

Alarms table

7. Access the Visualize tab and click the Execute Query button to check the Query result.

Execute Query

8. Click the OK button. After this step is finished, all fields listed in the Query are available in
the E3Browser. Configure each field with the color, formatting, and size you want.

114 Query
Query configuration

14.3.2 Query Filters


Many times, accessing the whole table content becomes impossible due to the amount of
stored data, number of fields, or number of records. In these cases you must apply filters in
the Historic.

1. In the Event_Screen, access the Query object of the E3Browser. This can be done by
double-clicking the object in the Organizer or by the Query tab of the E3Browser.

E3Browser Query

2. In the Filter column of the E3TimeStamp field, click the button.

3. For the user choose a starting and ending date, you must create query variables. Configure
the filter according to the following figure.

Query 115
Configuring the filter

4. Type an initial value for the variables created in the Variables tab.

Query variables

5. Access the Visualize tab and click the Execute Query button to check the Query result.
Make sure the filter was applied and click the OK button.

6. In the Event_Screen, insert an xcQueryFilter object from the library Power_Tutorial.

7. In the Query property of the inserted object, link the Query object of the E3Browser.

8. Execute the application and test its functionalities.

14.3.3 Pen Group


The PenGroup Library is formed by two main objects, the first one is the graphical interface,
Chart, and the other one is a data component called PenStorage.

The PenStorage object allows retrieving the content of up to 50 different Historics, storing
information about all associated Tags in tables, in an Access or SQL Server database. The user
may add other Tags by inserting information directly on these tables.

The Chart object is where the chart is plotted, and it is formed by an E3Chart object and a
toolbar with the most common functionalities of the library.

The user may freely change these objects, according to their needs.

116 Query
14.3.3.1 SQL Server Database

To use this library with a SQL Server database, follow these steps:

1. In SQL Server 2000, 2005, or 2008, open the SQL Server Management Studio Express (SSMSE).

2. Click Open . Select the .sql file of the corresponding version.

Selecting the .sql file

Query 117
SQL Server Management Studio

3. Click Execute . Then check if the message "DBCC execution completed" appears
at the bottom of SSMSE window.

4. Check if the PenDB database appears on the list of databases.

14.3.3.2 Files

1. Copy the PenGroup.lib and PenGroup.prj files to the directory of your project.

2. Open the PenGroup.lib and PenGroup.prj files using the Elipse Power Studio and add them
to the Domain.

14.3.3.3 Configuration

1. Configure the PenDB object to point to the SQL Server database.

2. Set the PenGroupScreen in the Central_Area Splitter.

3. In the Menu_Screen, insert a navigation button to open the PenGroupScreen.

4. In the data server PenGroupData, select the object PenStorage1 and configure the
HistPath01 property with the name of the Storage object, Storage1.

118 Query
14.3.3.4 Execution

1. Execute the application and login as a user who belongs to the Administrators group.

2. Access the PenGroupScreen and click the Update Tag Configuration (Atualizar
Configuração de Tags) button.

Update Tag configuration

3. A confirmation message appears. Click Yes (Sim).

Creating a list of Tags

4. Check if the list with all variables was filled in.

5. Create a new group named as you want.

Create new group (Novo Grupo de Penas)

5. Select a variable and insert it in the group just created.

Selecting a variable

Query 119
6. Test the PenGroup tools as you wish.

120 Query
14.4 Notes

Query 121
CAPÍTULO

15Reports

A Report is an ActiveX component called ActiveReport, which allows viewing and printing
snapshots of system variable values and data stored in the Database (Alarms, Historic
Queries, and Formulas). To use a Report, right-click the item View - Reports of the Organizer, in
Domain mode, and select the option Insert Report in, and then the name of the project.

The report also uses a Query object. This object allows specifying the origin of data from a
Database to be displayed in a Report.

A Report contains several sections. Each Report section contains a group of controls,
processed and printed at the same time, as if they were a single unit.

Report sections

A Report is structured the following way:

Report Structure

SECTION DESCRIPTION
Report Header This section prints at the beginning of the
Report. It is used to print Report headings,
sum tables, charts, or any other information
that needs to appear only at the beginning of
the Report.

122 Reports
Report Footer This section prints at the end of the Report. It
is used to print a Report sum, grand totals, or
any another information that needs to be
printed once at the end of the Report.

Page Header This section prints on top of each Report


page. It is the first section printed on the
page, except when this page contains a
Report Header section. It is used to print
column headings, page numbers, page titles,
or any other information that needs to be
printed at the beginning of each page.

Page Footer This section prints once at the bottom of


each page of the Report. It is used to print
page totals, page numbers, or any another
information that needs to be printed once at
the bottom of each page.

Detail This section is the body of the Report that


prints once for each record of the data
source.

Group Header, Group Footer A Report can have multiple nested groups.
Each group has a Header section and a Footer
section. The Header section prints before
any Detail section in the group. The Footer
section prints after the Detail section of the
group.

The Report toolbar has three configuration items that allow editing, viewing the Report, and
creating scripts. These items are:

· Preview Report: By using this option, you can preview the Report. Thus it is possible to
check margin settings, figures, etc.

· Report Settings: With these settings, you can configure Page Settings, Preview Settings,
Grid Settings, and Report Style.

· Script Editor: By using this option, you can edit scripts for the Report. In the Object field,
it is necessary to specify the object where you want to create the script, and in the Events
field, the Report event where the action takes place.

Reports 123
15.1 Report Objects
The Report tool has several specific objects that can be used, which can be accessed on the
Report toolbar.

Report toolbar

Using the Report toolbar, you can access the following available resources for this option:

· Line: Basic straight line object that connects any two points. It allows you to draw
straight lines, by specifying two points when creating it or in polygons.

· Rectangle: This object allows you to draw a rectangle, using all the width and height of
the object. It is created with at least two vertices.

· Round Rectangle: This object is created by using two vertices and with the option of
rounding the edges by a rounding factor. When inserted or edited, it shows a small point
next to the upper left edge of the object, which allows modifying the rounding factor.

· Ellipse: This object allows circle and ellipse drawing, using all the width and height and
defining the center of the circle in the center of the rectangle.

· Picture: This object allows displaying images stored inside or outside the application
file.

· Text: It allows creating text labels. When defining the area on the Screen, you can
directly type the text, which also accepts multiple lines.

· Setpoint: By using a Setpoint object, you can link it to a table field in the Database. This
field is specified in the DataField property.

· BarCode: It allows generating a figure that converts a sequence of numbers and


characters into a barcode. This code is a numerical or alphanumerical representation, used
to facilitate different processes. This code is recognized by scanners and optical reading
devices.

· Page Break: It marks where a page finishes and another one starts on the Report. For
example, you can force a page break to be sure that a chapter title always starts in a new
page.

· Table: It is an object composed by rows and columns, where text or charts are inserted.
Tables in Reports are used to organize and present information. You can also use tables to
create page layouts.

· E3Chart: This object is used to view Report data on a graphic format. For further

124 Reports
information on this object, please refer to E3Chart's specific chapter.

· / Bring to Front / Send to Back: Using these buttons, you can bring an object to the
front or send it to the back of another object. When choosing the Bring to Front or Send to
Back options, the selected object is placed on the first or last position of layer order,
respectively.

· Load RPX File: Imports the Report configuration from an external file.

· Save as RPX File: Exports the Report configuration to an external file.

NOTE: The Printer option in E3 icon on Windows Notification Area displays the list of printers
found either locally or remotely, and allows you to choose one to be used by the E3 Server.

15.2 Alarm Report


1. Insert a new Report in the project, called AlarmReport.

2. Configure the Query of the Report to retrieve fields from the alarm table. Rename the fields
in the Title column.

3. Check the Query results and click OK.

4. Add two Text objects in the PageHeader section of the Report. In the Caption property of the
first Text type "Elipse Software Ltda - Elipse Power Studio Training", and in the Caption
property of the second Text type "Alarm Report".

5. For each field chosen in the Query, insert new Text objects in the PageHeader section and
configure them with field names. These are the column titles.

6. In the Detail section, insert a Data Field for each field, aligning it with its respective Text. In
the DataField and Text properties, type exactly the title of the column configured in the
Query.

7. To preview the Report, press the Generate Report button of the Report.

15.2.1 Page Numbering


Using data fields from an Elipse Power Report is very flexible, the configuration of the function
to execute is performed in the Setpoint. For example, to create in the PageFooter section an
indication like "Page 1 of 12", follow these procedures:

1. Insert two Texts, "Page" and "of".

2. Between these Texts, insert a Setpoint and configure it to display the number of the current
page.

· SummaryType: 4 - ddSMPageCount

Reports 125
· SummaryRunning: 2 - ddSRAll

3. After the Text "of", insert a Setpoint and configure it to display the total amount of pages.

· SummaryType: 4 - ddSMPageCount

· SummaryRunning: 0 - None

15.2.2 Viewing a Report


To view a Report at run time:

1. Insert a Command Button with the text "Report" at the bottom of the Event_Screen.

2. In the Click event, create a Print Report Pick.

3. In Print Report, select AlarmReport.

4. In the option Output, choose the item Screen.

Print Report Pick

126 Reports
15.3 Notes

Reports 127
CAPÍTULO

16Data Server

The Data Server is the module responsible for executing and managing Tags and objects that
are not directly involved with the communication. By using an internal Data Server you can
configure Internal and Simulation Tags, in addition to inserting XObjects, which are data
objects from ElipseX libraries (see more later on this chapter). Below there are some objects
that can be inserted into a data server.

Objects which can be inserted into Data Servers

OBJECT DESCRIPTION
Counter Tag Object that counts time (in seconds) up to a
pre-determined value, or performs a certain
count indefinitely.

Demo Tag It is an object that generates values


according to a wave form. It is used for
simulating values. It allows generating
defined curves or random values.

Internal Tag A generic purpose object, used for storing


values of any type, including numbers, texts,
and other objects.

Timer Tag Object for counting time and scheduling


activities. Establishes certain periods of time
(with repetitions) to execute actions.

Data Folder It defines groups and subdirectories for


organizing information. New folders may be
inserted inside others, if needed.

NOTE: Objects inserted in the Data Server are executed by the E3 Server; therefore, they will
be present in the Server. This information shows how Elipse Power works.

128 Data Server


16.1 Rules for Naming Tags
There are some details you must consider when naming Tags:

· The name of a Tag cannot be formed only by numbers

· The name of a Tag cannot contain logical and arithmetical operators like / * + -

· The name of the variable cannot contain reserved characters such as / ? . , { }


[ ] º - , etc. These characters are replaced by an underscore character. Thus, the
system applies the Brackets Rule.

16.1.1 Brackets Rule


When you refer to a script object or while using it in a Link, the following rules apply:

· If the first character is not a letter or an underscore character, the name must be inside
brackets.

· If some of the characters (from the second on) are not letters, numbers or an underscore
character, the name must also be inside brackets.

· If there are special characters (for example, diacritical marks), the name must be inside
brackets.

16.2 Exercises

16.2.1 System Time


To get the current system time, you must create a Demo Tag which accesses this information.

1. In the Data folder, insert a Demo Tag named Clock. Configure the Type property of the
Demo Tag to 3 - CurrentTime.

16.2.2 Simulation of Values


Let's create a variable to simulate the oil temperature of the Transformer.

1. In the Data folder, insert a Demo Tag and configure the following properties:

· Name: T1_TOL

· DocString: Oil Temperature of the Transformer

· Type: 0 - Random

Data Server 129


2. Select the Analog Measurement TOL (Oil Temperature) of the Terminal 1 of the Transformer
T1. Right-click the Measurement TOL just created and choose the option Add Scada.

Add Scada

3. In the added SCADA Source, associate the Demo Tag T1_TOL of the folder Data.

Associate Demo Tag

4. Now the TOL Measurement has an option to display the value coming from Operator or
SCADA. Change the ActiveSource property to 1 - stScada.

130 Data Server


16.3 Notes

Data Server 131


CAPÍTULO

17Links

Links (or Connections) are associations made between properties and objects or even
between properties. Links make creating animations and other types of common logics easier,
minimizing the use of scripts.

By using the Link tab of the Properties window, you have access to all available object
properties and to all possible link types for these properties.

Links

You can link an object or create an expression. When creating an expression or associating an
object or property to the Source field, the text will appear in blue, in case this object
corresponds to an existing or loaded item in Elipse Power Studio. If the item does not exist, or
does not belong to an existing module in the domain, the text will appear in red, and this item
will be shown as an error, until it is corrected or excluded with the Verify Domain option.

17.1 Link Types

132 Links
17.1.1 Simple Link
In a Simple Link, the value of the Source field is copied to the property every time the first one
is modified.

Simple Link

17.1.2 Bidirectional Link


A Bidirectional Link is similar to a Simple Link, except that in case there is a variation in the
property, its value is copied to the Source field, thus generating a change in both ways.

Bidirectional Link

Links 133
17.1.3 Digital Link
In a Digital Link, when the variable or the expression of the Source field is a digital property, its
True and False status are connected with certain values in the destination, including the Blink
option (value toggling).

Digital Link

17.1.4 Analog Link


The Analog Link allows establishing a conversion scale between the source and the
destination variable. Through the four specified values, a linear scale is made between the
property and source values.

Analog Link

134 Links
17.1.5 Table Link
You can establish conditions between the variable, its values and the destination. In the
table, you will specify minimum and maximum values, and values for the property referring to
these conditions.

Table Link

17.1.6 Reverse Link


The Reverse Link is a unidirectional link from the object to the source.

Reverse Link

Links 135
17.1.7 Link Editing
Elipse Power has a tool for link editing, called Edit Links. Thus, you can change one or more
links made in the application faster than you would in the usual window. To access this tool,
right-click one or more objects and select the Edit links option.

Link editing

17.2 Boolean Values


In VBScript, 0 equals False and any other value different from 0 is True. Take, for example, a Tag
representing a digital input or output, and whose its values are 0 and 1. When using Tag values
for links with Boolean type properties, Elipse Power considers the following:

TAG VBSCRIPT
0 False

1 True

When using the NOT command, Elipse Power considers:

TAG NOT TAG VBSCRIPT


0 -1 True

1 -2 True

136 Links
Therefore, NOT of 1 is not False because its value is not equal to 0. In case you want to use the
NOT command, first convert the Tag value to a Boolean using the CBool method:

TAG CBOOL(TAG) NOT CBOOL(TAG)


0 False True

1 True False

CBool method

Another option would be working with the Bit00 property of the Tag, which is already a Boolean
property, instead of working with the Value property of the Tag.

Bit00 property

17.3 Exercises

17.3.1 System Time


1. On Menu_Screen, insert a new Display in the corner of the Screen to show the current
time.

2. Access the object properties and select the Format tab. Define the format as Time, and in
the Type item, choose 13:06:03. This formatting displays hours, minutes, and seconds.

3. To view the settings made on the previous exercise, access the Value property of the
Display and choose the Date option.

System time

4. Access the properties of the Display showing the system time, by right-clicking it, and select
the Links tab.

5. In the Value property, search in the Source column, with the AppBrowser, the Demo Tag

Links 137
Clock (Server - Data). On the right, select the Value property and click the Paste button.
Information goes from Tag to Display, therefore it is a Simple Link (Property <- Source).

138 Links
17.4 Notes

Links 139
CAPÍTULO

18Screen Objects

Screen Objects are graphical elements that can be inserted into Screens in order to create a
visual interface to processes. They can be created from the Objects toolbar or menu.

Once you have selected the object that you want to create, just keep the left mouse button
pressed on the Screen area while moving the mouse (a dotted rectangle shows the object size
and form). When you release the left mouse button, the object is placed inside the specified
area.

18.1 Exercises

18.1.1 Image Resources


All figures used in this application are saved on a folder inside the main project, so that there
are no concerns about figure paths when executing the application on another computer.

1. Right-click Resources and choose the Insert Resources in option.

2. Choose all figures you want.

18.1.2 Initial Screen


1. To place a figure as a background, drag the bitmap from Resouces to the PictureFile
property of the Screen. This makes Elipse Power use the inserted resource instead of the
image file (which is external to the application).

2. Configure the FillStyle property to 12 - bkPicture, to enable a background figure.

3. To choose the best position for the figure, you can change the PicturePosition property.

4. Create a Text object with the text "Enter", and another one with the text "Quit".

TIP:To edit an existing text on the Screen, right-click it and select Edit Text.

5. In the center of the Screen, place the text "Elipse Power Training".

140 Sc reen Objec ts


TIP: Use the Center Horizontally and Center Vertically buttons.

6. Right under the text "Elipse Power Training", insert a second text with the message "Elipse
Software Ltd".

7. Change, in the properties of the Viewer object, the initial application Screen to
InitialScreen.

Sc reen Objec ts 141


18.2 Notes

142 Sc reen Objec ts


CAPÍTULO

19Scripts

Scripts are pieces of source code (programming) with which you can create procedures linked
to specific events, allowing great flexibility in the development and use of applications. All
scripts are linked to events, and every Elipse Power object has a list of previously defined
events; also, it is possible to define new user events.

According to the concepts of object-oriented programming languages, Properties define


attributes of an object, just like the appearance of a screen control or the initial value of an
object when starting the application.

NOTE: Until now we have been working only with Elipse Power properties. We already know
some Elipse Power properties, and also that there are two ways to modify them: by using the
Properties window or by using Links.

Methods are previously defined functions, which execute certain actions on object properties
calling these actions. Some examples of these methods are the functions that modify the
screen visibility (Hide or Activate methods), that write to Tags (Write or WriteEx), among
others. In object-oriented programming languages, to work on a property you must create
methods. In Elipse Power, every method must have defined which event is linked to it,
because Elipse Power scripts are event-oriented.

Events are occurrences related to an object that can be handled in order to perform an action
(a method).

19.1 Defining Scripts


The language that Elipse Power Studio uses for its scripts is VBScript, a subset of the Visual
Basic language developed by Microsoft. VBScript has a fast, light and portable interpreter,
developed for use in internet browsers that uses ActiveX Controls, Automation Servers, and
Java Applets. Scripts are always linked to events of a specific object. However, to facilitate and
increase development speed, Elipse Power already incorporates some common actions that
could be handled by scripts via assistants (wizards) named Picks. You can define that a certain
event executes a script, a Pick or a combination of them, in a sequence defined while creating
the script (in Elipse Power Studio).

Sc ripts 143
19.1.1 Getting References to Objects
One of the most important features when working with Elipse Power scripts is to consider a
separation among processes that are executed in the server and the ones executed in the
client interface (Viewer). To work with scripts, you can manipulate:

· Server objects through the server

· Server objects through Viewer

· Viewer objects through the same Viewer

However, you cannot directly manipulate:

· Viewer objects through the server directly (it is only possible by creating events in the
Viewer connected to variables that are in the server)

· Viewer objects from another Viewer (it is only possible by creating events connected to
variables that are in the server)

Such limitations exist due to the fact that, by definition, each Viewer station works
independently from the server and vice-versa. Therefore all activities, no matter if they
happen on the server or on the viewer, need to be coordinated either in an asynchronous way
or by using events to operate harmoniously.

Due to this independence, in order to create a script, first you must get a correct reference to
the objects that you want to manipulate, that is, you must first find the object on the various
Elipse Power modules.

It is worth repeating that, to edit a script, the user must use the AppBrowser, which allows
copying to the script the full path of a method or property, helping on the script creation.

For example, to manipulate the value of an I/O Tag, the path is Server - Driver - Folder (if it
exists) -Tag. If the object manipulates a button on the Screen the path is Viewer - Frame (if it
exists) - Screen - Button.

Basically there are three script source locations, according to the methodology to access
objects:

· Server (E3 Server)

· Screens and Frames (E3 Viewer)

· ElipseX (libraries): they can be either XObjects (run on server) or XControls (run on Viewer)

Each one of these locations handles differently the way a script must deal with data access.
The only useful tool for all those accesses is the AppBrowser.

144 Sc ripts
19.1.2 Picks
Picks implement a friendly way to perform common procedures in scripts, saving time while
writing scripts. Among them there are actions like Screen toggling or value attributions, which
are common when creating projects.

19.1.2.1 Run Scripts

It allows editing a custom script executed whenever a certain event occurs.

Pick Run Script

Sc ripts 145
19.1.2.2 Open Screen

Opens a certain Screen or Frame.

Pick Open Screen

146 Sc ripts
19.1.2.3 Open Modal Screen

Opens a modal Screen.

Pick Open Modal Screen

Sc ripts 147
19.1.2.4 Run Application

Launches a specific program.

Pick Run Application

148 Sc ripts
19.1.2.5 Load Value

Loads a certain value into a Tag.

Pick Load Value

Sc ripts 149
19.1.2.6 Toggle Value

Allows toggling a Tag value. If the Tag's value is equal to Value1, then the Tag receives
Value2. If the Tag's value is equal to Value2, then the Tag receives Value1. If the Tag
value is equal to neither Value1 nor Value2, then the Tag receives Value1.

Pick Toggle Value

150 Sc ripts
19.1.2.7 Print Report

Allows printing a Report to a Screen or to a printer.

Pick Print Report

19.2 Events
Events are occurrences related to an object that trigger programmed actions. There are
basically two types of events, Physical (or external) and Internal.

Physical events are, for example, any keyboard or mouse actions. In this case, the important
information would be the pressed key or the cursor position and the button status. Internal
events are, for example, the temperature change of a room from 10 to 11 Celsius degrees.

In Elipse Power, there is a list of available events sorted by object, starting by standard
events, present in all objects. These events can be accessed using the Scripts tab, which can
be searched by using the object properties to which you want to write a script.

Sc ripts 151
Event list

19.2.1 User-Defined Events


Although Elipse Power comes with an extensive variety of events, sometimes a user needs to
create a specific event for an application. An example of user-defined events is to perform a
calculation (or a more complex task) in an object, when the generated event comes from
another Tag or property.

You can create user-defined events using the option Create new event in the event list or using
the Create user event . button.

152 Sc ripts
Create user event

19.3 Methods
Methods are procedures that can be executed by objects. For example, a Screen object has a
method to open it (Open) and another one to close it (Close). Because they are encapsulated,
that is, stored inside objects, a method call must always declare to which object it is referring.

Many pre-defined methods have parameters, which can (or must) be passed in the method
call. For this, VBScript has a rule that must be obeyed. If the method is used in an attribution,
its parameters must be enclosed in parenthesis. The parenthesis used when declaring
methods in this tutorial only serve as an indication to differentiate from properties. In scripts,
you must follow this rule.

AppBrowser

Sc ripts 153
19.4 Properties
All objects have Properties, which store information regarding its features. For example, a
Rectangle object has the Name property, which contains its name, and the Width and Height
properties, for its width and height respectively, among others. To access these properties,
use the same specifications described in the previous section, but select the Properties
folder.

19.5 Exercises

19.5.1 Open a Screen


Let's implement navigation between application Screens. The Initial_Screen must call
Frame1 and each button in Menu_Screen must open its respective Screen in the central
area of the Frame or in full screen.

1. On the Initial_Screen, select the text "Enter" and switch to the Scripts tab.

2. In the Click event, create a new script of type Open Screen.

Pick Open Screen

3. In the Open Screen field, select Frame1.

4. Leave the In Frame option empty or select _Top. This makes the Screen or Frame to be
opened in full screen.

19.5.2 Quit the Application


In the Initial_Screen you can close the application when clicking the text "Quit".

1. In the Initial_Screen, create a new Pick of type Script in the text "Quit".

Pick Script

2. To insert comments in a script, start a line with apostrophe. Type:


'Quit the application

3. In the next line, use the AppBrowser and search for the Exit method of the Viewer. Press the

154 Sc ripts
Paste button.
'Quit the application
Application.Exit

4. Configure the application to start by Initial_Screen in the Viewer properties.

5. Execute the application and test its new functionalities.

Sc ripts 155
19.6 Notes

156 Sc ripts
CAPÍTULO

20E3Chart

An E3Chart is an ActiveX component specially created to work alongside Elipse Power. With it,
you can display charts with Tags varying in real time and also display historic data stored in a
Database.

Each data sequence is represented by Pens on an E3Chart. For each Pen, there are linked data,
which can either be Tags or Query fields. You can create several axes with different scales to
be linked to Pen data.

E3Chart

To insert this object on the Screen, right-click the screen and select the option Insert - E3Chart.

E3Chart 157
20.1 Pen Configuration
The Pen Collection object represents a set of Pens contained in an E3Chart. Each Pen is
configured to show real time or historic data coming from a Query. By using the Pens tab, you
can configure the number and the type of Pens to be created in the Pens Collection. Accessing
this tab and clicking the Add button, a new Pen is created in the E3Chart.

Pen properties

20.1.1 Real Time Pen


To configure a Pen as Real Time, select the Realtime option on the Data tab of the Pen
properties, available in the Pen Type item. After that, define the Tags in the Vertical axis link
and Horizontal axis link options.

158 E3Chart
20.1.2 Historic Pen
The Query object is also used to show historic values in an E3Chart. By using the Queries tab
you can add, delete, or configure Queries. To create a Historic Pen, it is necessary that the
Query be previously created. For this, in the Data tab of the Pen properties, select the Historic
option, available in the Pen Type item and define the Query. Then define the Query fields in
the Vertical axis field and Horizontal axis field items.

20.1.3 Real Time and Historic Pen


To configure a Pen as both Realtime and Historic at the same time, go to Data tab of the Pen
properties, and select the item Realtime & Historic in the Pen Type option. This Pen type is
used when you want to have old data and current Tag values in the same Pen.

20.2 Exercises
Let's create two charts, one for real time data and another one for historical data.

1. Insert a new Screen in the application called Chart_Screen, opened in the


Central_Area.

2. Configure the background color of the Screen as you want.

20.2.1 Real Time Chart


1. Add an E3Chart object in the Chart_Screen and access its properties.

2. Select the Pens tab, click and choose the option Real Time.

3. In the Pen just created, configure the following properties:

· Vertical Axis Link: SE1.T1.Terminal1.TOL.Value

· Vertical Axis: VerticalAxis

· Horizontal Axis: HorizontalAxis

E3Chart 159
Add Real Time Pen

4. Execute the application and access the Chart_Screen.

20.2.2 Legend
You can also configure legends in this Chart. In this exercise, let's configure the legend to
display information about the configured Pens.

1. Access the Chart properties and select the Legend tab, enabling the check box Display
Legend.

2. Configure the position and size of the Legend as you want.

3. Select the following available columns:

· Pen Color

· Pen Name

· Value of tag X

· Value of tag Y

160 E3Chart
Legend properties

4. In the area of the selected columns, choose the column Value of tag X and click the
Properties button.

5. In the window that opens, access the Format field and fills it with the value MM/dd/yy H:
mm:ss.

Column properties

6. Execute the application and check the functionality of the Legend. As a tip, right-click the
chart area and choose the option Search. With it, you can select points on the chart and
check the values of the selected point on the legend.

20.2.3 Historic Chart


In this chart, let's use as a data source the one registered by the Storage object, displaying as
a chart the way the Transformer oil temperature behaved during the last day.

1. Add a new E3Chart object in the Chart_Screen, rename it to Historic_Chart and


access its properties.

2. Select the Queries tab and click Add. In the opened window select the option Storage1.

E3Chart 161
The following Screen is then opened:

Add Query

3. In this window, select the option SampledData in the Functions field.

4. In the area for selecting fields, select the field SE1.T1.Terminal1.TOL.Value.

5. The Variables tab displays three variables to fill in. Let's fill in fixed values just to check
values returned by the Query. Then let's configure the application to configure values for
these variables at run time.

6. Access the Visualize tab and check the returned values.

7. After configuring the Query, let's configure the Pens to plot. For this, access the Pens tab.

8. Using the button, let's add a new Pen of type Historic.

9. Let's configure the Pen just created as follows:

· Query: Query1

· Vertical Axis Field: Se1.T1.Terminal1.TOL.value

· Horizontal Axis Field: E3TimeStamp

162 E3Chart
Pen of type Historic

10.Let's configure the date interval to display in the E3Chart. For this, access the Axes tab and
choose the option Horizontal Axis, then click Configure. In the opened window, select the
Scale tab.

11.In the opened window, select the option Time interval (historic) and choose the time
interval to display.

E3Chart 163
Axis properties

20.2.4 Filter Configuration


Now you have a configured chart. Your next step is to configure the application to provide
values to Query variables, always configuring the Query to display values from the last day.

1. Let's add a script in the OnPreShow event of the Chart_Screen.

OnPreShow event

2. Create the following script, using the AppBrowser. The first line of the script creates and
loads to the local variable called query the object Query1 of E3Chart1. The other lines
configure Query variables.
Set query = Item("Historic_Chart").Item("Query1")
query.SetVariableValue "StartTime", now - 1
query.SetVariableValue "EndTime", now
query.SetVariableValue "TimeInterval", 60

3. Execute the application and access the Chart_Screen. Check the loaded data.

164 E3Chart
20.3 Notes

E3Chart 165
CAPÍTULO

21ElipseX Libraries

Elipse Power has tools that allow transforming any object or set of objects of your applications
into a user library. The concept of user libraries (called ElipseX) comes from object-oriented
programming languages, where several components can be shared among projects without
the need to develop each object again. Using Elipse Power libraries is highly recommended
due to the productivity they bring to your application. Some of ElipseX advantages are:

· Code reuse

· Test minimization during development

· Standard interface creation for developed objects

· Reduced time when developing new projects

· Protection for project content

Using libraries is recommended in most applications.

Object Libraries

166 ElipseX Libraries


21.1 Creating User Libraries
ElipseX objects may contain, in addition to drawings, internal variables that can be exported
to the application, and programming logics (scripts) that are present in all object copies,
diminishing the need for repeating code in several parts of the application.

To create a new library in Elipse Power, follow these procedures:

1. Access the File menu, select the New Project item and click Next.

2. In the Application Type option, select the E3 Object Library option.

Application Wizard

3. Determine the library name and the folder where to save it, and click Next.

4. Set the specifications referring to the Domain.

5. Click Finish.

There are two types of objects that can be inserted inside an ElipseX library: XControl
graphical objects and XObject data objects.

All available items can be inserted into XControls for Screens. Among these items are
primitive drawings, graphical vector objects, including objects of the symbol library (WMF,
EMF, etc.), non-vector graphical objects (BMP, JPEG, GIF, etc.), Elipse Power ActiveX controls
(E3Chart, E3Browser, E3Alarm), XControls made by third-parties and other ActiveX controls.

Data libraries can contain any type of non-graphical objects, which are executed in E3 Servers.

ElipseX Libraries 167


You can insert the following objects in the XObject: I/O Drivers, Data Servers, Databases,
Formulas, Alarm Configurations, Alarm Servers, COM objects, other XObjects, among other
objects.

In the same .lib file, there may be any number of ElipseX components, whether they are
XControls or XObjects. You can also have many different libraries (several .lib files) in the same
Domain.

21.1.1 XControl
An XControl defines a graphical interface for the user, which can be composed of any Elipse
Power objects, intended to be easily multiplied by your project. You can create an XControl by
right-clicking the .lib file created in the Domain (Organizer - Explorer) or in Object Libraries,
XControl, and choose the Insert - XControl option.

XControl

To insert an XControl, you can see that in the lower part of the screen there are three tabs,
Design, Properties, and Scripts. In the Properties tab, you can insert properties that are
exported by the object. These properties can be linked to a Tag or to any other property when
the object is used in a project. In the Design tab, which is equivalent to a Screen, you can insert
the previously described graphical objects.

The exported properties (XProperties) can be inserted with the INS key or using the button,
and excluded using the button. The available options are:

Available options in XControls

OPTION DESCRIPTION
Name Determines the XControl's property name.

Type Determines the data type supported by the


property.

Public Enables or disables the visibility of the


properties outside the library, that is,

168 ElipseX Libraries


determines if the property is public or not.

Initial Value Determines the initial value of the property.

Help text Text of the property declaration and


documentation.

You can notice that other Data objects (XObjects) can be declared as a Type. This allows you to
control the whole functionality of an object, so that the maintenance of a library will become
easier.

The graphical object edition has the same graphical resources and options as Screen editing.
You can insert XControls in any Screen or even inside another XControl, by right-clicking the
destination Screen or XControl and choosing the Insert option.

From this moment on, the XControl has a name inside the Screen, and it is considered as a
copy of the original definition. Thus, you must define (if needed) values or links that this
specific copy has in this context.

21.1.2 XObject
In addition to graphical objects, you can also create a data library, called XObject. With that
library, you can define a data structure to be executed in the server. Such structure can
perform calculations, links, communications, alarm checking, historic recording, etc., which
do not depend on any open graphical interface (Viewer) or on any execution at that moment.
To create an XObject, right-click the .lib file in the Organizer and choose the Insert - XObject
option.

The available options for XObject properties are the same as for XControls, as previously
mentioned. Besides XProperties, any Elipse Power module can be inserted into an XObject to
be executed on the server. To get the complete list of XProperties, just press the button
defining the object type and check the list of available options. This allows you to define a
complex management system as a library that can be easily replicated as many times as
needed in your application.

You can insert XObjects in any Data Server by right-clicking the Data Server and choosing the
Insert option. Even if your library file has several XControls and XObjects, when trying to insert
a library, Elipse Power Studio only shows XControls for Screens and XObjects for Data Servers.

21.2 When to Create an ElipseX


There are some criteria which indicate the need to build objects in Elipse Power:

· Repetition in use: if a device or process is used more than once on the same projects.

· Known user procedures: often, a process created by a certain company must be copy-
protected. This is common in case of service integrators or machine manufacturers.

ElipseX Libraries 169


· Using controllers: a process controller, whose memory mapping is fixed, can be
implemented with all available functions. The available flexibility for building and using
Elipse Power objects allows you to use the variables you want, ignoring the others.

NOTE: It is not possible to copy a library and use both files (the original and the copy) in the
same Domain. For example, you cannot copy the .lib file and then split it into two new files.

21.3 Elipse Power Libraries


Elipse Power already provides objects used for creating Screens, having tools to help on those
tasks. However, in some situations, you may have to change or add features to these objects,
mainly in situations where specific behaviors are needed.

21.4 Customizing
This way, you can customize Screen objects, setting the needs for each application. Generally,
the procedure is basically to create a new Screen library, insert the default Elipse Power
object, and then add information to it.

This procedure demands some precautions. In addition to adapting to new behaviors, you
must expose all properties of the original object that need to be configured in this new object.

The minimum configuration needed is as follows:

· SourceObject: create this property in the customized XControl, this one must receive the
connection with the device to control. Internally, you must create a Link between the
original object and this property.

· Terminals: using the tool Edit Connection Points , create the points referring to
terminals. The name must be Terminal1 and incrementing the suffix according to the
number of terminals. This configuration is important for the Screen import tool of Elipse
Power.

As a recommended configuration, depending on your needs, create the following properties,


and their respective Links with properties in the original object.

· Orientation

· ShowTerminals

Then you can add new configurations, as well as new control properties.

170 ElipseX Libraries


21.5 Importing Screens
Operation Screens can be imported using these new object definitions. For this, in the import
window, you must access the Advanced button and perform this configuration.

21.6 Exercises
In this exercise, let's add the forced ventilation information in the Transformers. Full
development involves creating one more Discrete Measurement template, adding this
template to the Transformer, changing the library Transf2W, and then importing the operation
Screen.

21.6.1 Creating Templates


1. Create a new Discrete Template with the following configurations:

· Name: ForcedVentilation

· Description: Forced Ventilation

· Semantics:

DESCRIPTION APPLICATION VALUE SOURCE VALUE


Turned off 0 0

Turned on 1 1

21.6.2 Creating Measurements


1. Create, in the folder Measurements of the Transformer TR1 of SE1, a Discrete
Measurement with the following configurations:

· Name: Ventilator

· MeasurementType: ForcedVentilation

· ActiveSource: 2 - Operator

2. In the Measurement Source of type Operator, configure the Value property to type Integer,
with value 0.

ElipseX Libraries 171


21.6.3 Creating Screen Controls
The first step is to create a new library, and then configure it. After finishing the customization,
the appearance of the control is the following:

Transformer

1. Create a new .lib file, using the Application Wizard. For this, access the File menu, choosing
the option New Project.

2. In the open window, click Next and choose the option Object Library, defining its name as
LIBPowerCustom and choosing where to save the file. Click Next.

3. In the new window, choose the option Add to the current Domain and click Next.

4. Now just click Finish.

At this moment, the new library file was created and added to the active Domain. Now le'ts
create the customized transformer.

1. Let's create a new user library of type XControl in LIBPowerCustom, renaming it to


TransformerCustom.

2. In this object, let's add an object of type Transf2W, placing it as you wish.

3. After that, let's choose a figure and a position to display when the object has the forced
ventilation turned on. Select the figure CoolFanAnimationFrame1, which is in Blowers in the
Elipse Power Gallery.

4. Place the figure as you wish.

5. Create the following properties in TransformerCustom:

· SourceObject: configuring its type to PowerTransformer2

· Orientation: configuring its type to Integer

· ShowTerminals: configuring its type to Boolean

172 ElipseX Libraries


· ShowFan: configuring its type to Boolean

6. In the instance of the object Transf2W, let's create a link between the SourceObject
property of this object and the property of the same name created in the previous item.

7. The same procedure must be performed with the Orientation and ShowTerminals properties
.

Properties of the Transformer

8. To control visibility of the ventilator, let's create a Bidirectional Connection from the Visible
property of the ventilator image to the ShowFan property.

9. The last step is to create connection points for this new transformer. For this, click the Edit
Connection Points button, and in the Terminal 1 add a new connection point named
Terminal1. The same procedure must be performed with Terminal 2, only renaming it to
Terminal2.

10.Done! At this time you have a custom library. You can add any type of information in this
customization, according to the needs of your application.

After finishing the library settings, let's import the new operation Screen.

1. Access the object PowerConfig and, in its contextual menu, the option Electrical Model -
Import Screen Objects. The following screen is opened:

ElipseX Libraries 173


Import Screen objects

2. In this screen, click the Advanced button and configure the screen that opens to use the
library TransformerCustom to the object Two Winding Transformer.

Advanced settings

3. Click OK and return to the previous screen. In this screen, let's continue with the
configuration of what object to import and in what Screen to create it. Let's create a new
Screen to receive this importing.

4. Click New Screen and make the following configurations:

174 ElipseX Libraries


Configuring the size of the screen

5. When clicking OK, you return to the previous screen. Just select SE1 and the previously
created Screen and press OK.

Importing Screen objects

6. At this time you have a new Screen using a custom library, and all you have to do is create a
button to access it.

ElipseX Libraries 175


21.7 Additional Exercises
Create a Command Template and configure it, to allow turning on or off the forced ventilation
of the Transformer.

176 ElipseX Libraries


21.8 Notes

ElipseX Libraries 177


CAPÍTULO

22Hot-Standby

The Hot-Standby allows the implementation of the failover concept in a supervisory system,
that is: two servers (main and backup) acting in contingency mode; if the main server fails, a
backup server immediately takes over, without stopping the running processes. This backup
server is known as a Standby server.

When starting the execution of the Elipse Power configured for a Hot-Standby system, there is
an icon in the Windows Notification Area represented by a yellow circulating bar ,
indicating that Domains are loading. After a few seconds, Elipse Power recognizes the main
server and indicates this action by an icon represented by a green arrow . This icon means
the server is executing. The Standby server remains with an icon represented by two yellow
bars , indicating that it is in standby mode.

22.1 Hot-Standby Settings


This section contains configurations for Elipse Power servers in Hot-Standby mode.

22.1.1 Files
Domain files must be at the same location of the main and backup servers. For example, if the
Domain and other files (.lib, .prj, etc.) of the main server are at C:\Project1, in the Standby
server the project must be copied to that path, that is, C:\Project1.

22.1.2 Servers
The servers (main and backup) must be listed on the Servers tab of the Domain options.

1. To access Domain configurations, click the E3 Admin icon in the Windows Notification
Area and select the Domain - Options menu.

178 Hot-Standby
Domain - Options menu

2. Server may have any name in the Server name field. In the Network address field type the
computer name on the network. For example, Server name as Server1 and Network
address as \\server1.

Servers tab

Hot-Standby 179
22.1.3 Configuration Options
In the Options tab, the Enable item must be checked, and in the selected Main server and
Backup server options, one of the previously registered servers in the Servers tab.

Options tab

The items described on the next sections must also be configured.

22.1.4 Integrity Ping


The Integrity Ping is a third network entity (the others are the main and backup server) used to
determine if the network is active. If it is not possible to access neither the integrity address
nor the backup server, the main server assumes that its network interface has problems and
immediately terminates the Domain execution. If the Standby server successfully accesses
the integrity address but not the Hot server (main), it assumes that the Hot server has
problems and takes over the Domain execution.

180 Hot-Standby
22.1.5 Local Failure
Local failures are detected and reported by the application using the Application.
ReportFailure method. You can enable automatic server switching when a local failure is
reported on the main server. Server switching is only performed if the backup server has no
failures.

22.1.6 Database
When working with databases and Hot-Standby, there are basically two structure options:

· Both applications access the same database on the network. The Hot server stores data on
this database.

· There are two databases running locally, on both servers (main and backup). In this case,
you enable the EnableSynchronization property of the Database object, so all data recorded
on the main database are also updated on the Standby database.

If the main application cannot send data to the Standby server, these data remain stored
locally on disk, for sending later (when communication between computers is reestablished),
ensuring that tables generated by the application are equal.

22.1.7 Retentive
The Retentive property determines if a value must be stored in case of switching the active
server. Thus, when the Standby server executes, the value is the same as the Hot server
stopped. If this property is False, the value is set to the initial value as soon as the Domain is
executed or a switching of the active server occurs.

22.2 Exercises

22.2.1 Database Syncing


1. In the Database object, change the EnableSynchronization property to True.

22.2.2 Standby Application


1. Copy the folder of the application to the computer which is the Standby server.

2. In the Standby server, open the application in Elipse Power Studio and configure the
Database to the local SQL Server.

Hot-Standby 181
22.2.3 Hot-Standby Configuration

1. From the Hot or Standby computer, click the E3 Admin icon in the Windows Notification
Area and select the Domain - Options menu.

2. In the Servers tab, add two servers informing any name and the name of the computer on
the network.

3. In the Options tab, enable Hot-Standby and choose one server as main and the other as
backup.

4. Inform as the integrity ping the IP of a third computer on the network.

5. Check the option Activate backup server on local failure.

6. Execute the application and test its functionalities.

182 Hot-Standby
22.3 Notes

Hot-Standby 183
CAPÍTULO

23Remote Domains

The Remote Domains configuration establishes that different servers and Viewers can
communicate, where one application is for sending data and the other one for receiving it. The
Domain sending data is called the Server Domain. The Domain using this data is called the
Client Domain. A Domain configured as the Client Domain can also work as a Server Domain at
the same time, and vice versa.

NOTE: Remote Domains are not available in Demo mode.

With Remote Domain configurations, the Client Domain can access objects from the Server
Domain in two ways: by using scripts or via links. For the connection between Domains to
occur, all E3 Servers involved must be running the same version of Elipse Power.

NOTE: the associated REC connection port and possible firewall configurations also apply to
Remote Domains.

23.1 Configuration in Studio


In Elipse Power Studio, to fetch the existing objects in the application of the Remote Domain,
you can use the AppBrowser normally, as long as the full path of the Domain file is correctly
specified in the remote server.

Another possibility is to keep a copy of the Remote Domain on the client machine, and type
the path of this copy in the Domain File field. This way, Elipse Power Studio uses the local copy
to determine which objects exist, allowing it to work offline.

23.2 Sharing the Server Domain Folder


Since version 3.0, where Remote Domains became available, the E3 Server will always run as a
service in the SYSTEM account. Services using the SYSTEM account start at the system context
with no credentials, that is, no user authentication or password. If these services, running
without a Microsoft network domain, wish to access network resources, they will have their
access denied, because of a lack of credentials and for using a null session.

184 Remote Domains


23.2.1 General Configurations
The following configurations must be performed in the machine running the Server Domain.

1. If the machine uses Windows 2000, 2003, or Vista, access the Control Panel Administrative
Tools - Local Security Policy.

2. In the next window, access Local Policies - Security Options.

3. Disable the option Network Access: Restrict anonymous Access to Named Pipes and Shares.

Security options

If the Server Domain machine uses Windows XP, the configuration must be performed directly
on Windows Registry. In this case, follows these procedures:

1. Access the key


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters.

2. Create the variable RestrictNullSessAccess, of type DWORD, and set its value to 0.

Remote Domains 185


Variable RestrictNullSessAccess

The configuration using Windows Registry can also be performed in Windows 2000, 2003, and
Vista. According to Microsoft, the key RestrictNullSessAccess specifies if the server
limits the access to the system by users logged in with no username and password
authentication. Possible values are:

· 0: Access without authentication is allowed and all users have access to shared resources.

· 1: Does not allow access without authentication. Users without authentication can only
access directories listed on the variable NullSessionShares.

In any case, you must restart the machine to apply the changes. Besides, you must configure
sharing and NTFS to accept access from anonymous users (ANONYMOUS LOGON) or network
users (NETWORK). This is done with these steps:

1. Select the folder containing the Server Domain, which must be shared.

2. Right-click it and select the option Properties.

3. In the Sharing tab, click the Permissions button.

186 Remote Domains


Folder properties

4. Add the NETWORK user or the ANONYMOUS LOGON user, allowing reading access to that
folder, and then click OK.

Remote Domains 187


Add user

5. Access the Security tab, and add again the NETWORK or ANONYMOUS LOGON user (the same
one added on the Sharing tab), then click OK.

188 Remote Domains


Security tab

NOTE: For the communication between machines to work correctly at run time, the firewall
must either be correctly configured or disabled.

23.2.2 Security Tab


In some cases, the Security tab may not be visible, along with the Sharing tab, in the folder
properties. This occurs because in some Windows versions, like XP, for example, running
without belonging to a Microsoft network domain, the simplified sharing mode is enabled by
default. In this case, you must change the sharing mode using the variable ForceGuest in
the registry key, in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA. This
variable must be set to 0.

23.3 Licenses
The E3 Server running the Client Domain, as well as the one running the Server Domain, must
have specific Remote Domain licenses. When this license exists, the E3 Server running the
Server Domain accepts an unlimited number of external connections from other Domains.
Likewise, in case of an E3 Server running a Client Domain, it is possible to establish an
unlimited number of connections.

Remote Domains 189


23.4 Link Syntax
The access to objects from another Domain is performed by using an alias (Domain Name),
which must precede the full path of each object, separated by a colon. For example, DOMAIN:
PATH, where DOMAIN is the alias given to that connection with the Remote Domain, and
PATH is the full path of an object or property of that Domain. For example, Driver1.Tag1
+ Remote:Driver2.Tag1 * 2.

23.5 Local Alias


A Local Alias is a tool from Elipse Power which makes sure the application working as a server
of a Remote Domain is correctly configured for an easy, fast, and reliable migration from a
project to a remote application.

This tool allows creating a Remote Domain in the local application that points back to itself,
that is, it points to the local Domain and machine.

Local alias

When configuring an application, you must associate all Screen objects and scripts using the
added Remote Domain.

Association through the Remote Domain

190 Remote Domains


Thus, links of all Screen objects are directed to Tags and data objects of the local application,
but via Remote Domain.

23.6 Access Permissions


Access to objects of a Remote Domain can be limited to the Read-Only mode. When this
happens, the same types of access limitations for a Viewer Only are applied. For this, you must
use the user configuration in the Remote writing access to the Domain permission, in the
security item Domain. With this, it may be necessary that the connection with the Remote
Domain specify a certain user to have full access to the objects of the Domain.

23.7 Exercises

23.7.1 Remote Domain


1. Access the Domain options using the E3 Admin icon in the Windows Notification Area.

2. In the Remote Domains tab, insert a Domain and configure the following properties:

· Domain Name: Remote1

· Domain File: path of the Remote Domain file. This path must be a network sharing
which allows accessing this file or a local copy

· Main server: name of the remote computer on the network

Remote Domains 191


Remote Domains tab

3. Configure a second Remote Domain, repeating the previous steps.

4. Click the Apply button and finish the configuration clicking OK.

5. Check in the Organizer the Remote Domain and its projects.

Remote Domain projects

192 Remote Domains


6. Create a new Screen in the application called Remote_Screen.

7. On the Menu_Screen, create a navigation button to the Remote_Screen.

8. Create a Display or Setpoint for each information you want and associate them using the
Remote Domain path.

9. On the Remote_Screen, insert an E3Alarm object and configure the AlarmServer


property to an Alarm Server in the Remote Domain.

Alarm Server

10.Insert a new E3Alarm for the second Remote Domain.

11.Execute the application and test its functionalities.

Remote Domains 193


23.8 Notes

194 Remote Domains


Headquarter Branch MG
Rua 24 de Outubro, 353 - 10 andar Av. do Contorno, 6594- 17º andar Sala 01
90510-002 Porto Alegre RS 30110-044 Belo Horizonte - MG
Phone: (51) 3346-4699 Phone: (31) 3555-3366
Fax: (51) 3222-6226 Fax: (31) 3555-3399
E-mail: elipse@elipse.com.br E-mail: elipse-mg@elipse.com.br

Branch SP Branch PR
Rua dos Pinheiros, 870 - Conj. 141/142 Av. Sete de Setembro, 4698/1705
05422-001 São Paulo - SP 80240-000 Curitiba - PR
Phone: (11) 3061-2828 Phone: (41) 3342-0120
Fax: (11) 3061-2828 Fax: (41) 3342-0120
E-mail: elipse-sp@elipse.com.br E-mail: elipse-pr@elipse.com.br

USA Taiwan
40190 Jarvis Gray Lane 26F.-10, No.3, Zihciang 3rd Rd., Lingya District
Avon - NC - USA 27915 802 Kaohsiung City Taiwan
Phone: (252) 995-6885 Phone: +886-7-5666587
Fax: (252) 995-5686 Fax: +886-7-5666582
E-mail: info@elipse-software.com E-mail: evan@elipse.com.br

Germany
D-67714 Waldfischbach Deutschland
Phone: +49 (0) 6333 4439
Fax: +49 (0) 6333 2790045
E-mail: elipse@elipse.de

Check our website for information about a


representative in your city or country.

w w w .elipse.c om.br
elipse@elipse.c om.br

Potrebbero piacerti anche